@charset "utf-8";

/* ========== ページの土台となる設定 ========== */
html {
  height: 100%;
}

body {
  min-height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
 font-family: "yu-gothic-pr6n", sans-serif;
font-weight: 400;
font-style: normal; 
  background-color: #FFFFFF; /* 背景のベース色 */
  overflow-y: scroll; /* 縦スクロールを常に有効にする */
  overflow-x: hidden; /* 横スクロールは禁止 */
  -webkit-overflow-scrolling: touch; /* iOSでの慣性スクロールを有効に */
}

/* 固定背景用のスタイル */
.bg-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: -1;
  background-image: url('../images/background.png');
  background-size: cover;
  background-position: center;
}

/* コンテンツを囲むラッパー用のスタイル */
.content-wrapper {
  position: relative;
  z-index: 1;
  padding-top: 80px; /* 固定ヘッダーの高さ分 */
  background-color: transparent;
}
/* ========== 土台の設定ここまで ========== */


html{ 
	/*オートスクロール＝滑らかにページ内を動く*/
	scroll-behavior: smooth;
}
img {
	display: block;
	border: none;
}

h1 {
	color: var(--black, #252849);
	font-family: futura-pt, sans-serif;
	font-size: 48px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}

h2 {
	margin: 0;
	color: var(--black, #252849);
	font-family: futura-pt, sans-serif;
	font-size: 140px;
	font-style: normal;
	font-weight: 300;
	line-height: normal;
}

h3 {
	margin: 0;
	color: var(--black, #252849);
	font-family: yu-gothic-pr6n;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
}

h4 {
	margin: 0;
	color: var(--black, #252849);
	font-family: yu-gothic-pr6n;
	font-size: 24px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
}

p {
	color: var(--black, #252849);
	font-family: yu-gothic-pr6n;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 200%;
	/* 32px */
}

table {
	/* width: 70%; */
	padding: 32px;
	border: 1px #252849 solid;
	border-collapse: collapse;
	border-spacing: 0px;
}

td,
th {
	padding: 24px;
	border: 1px #d5d0de solid;
	text-align: left;
}

table,
th,
td {
	border-left: none;
	border-right: none;
	color: var(--black, #252849);
	font-family: yu-gothic-pr6n;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;

}


th {
	color: #9b99b4;
	text-align: right;
	color: var(--black, #252849);
	font-family: futura-pt, sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}

ul {
	/* width: 500px; */
	padding: 10px;
	margin: 5px auto 100px;
	color: #363636;
	list-style: inside decimal;
}

ul {
	list-style-type: disc;
}


.header {
	width: 100%;
	text-align: center;
	position: fixed;
	z-index: 1000;
	/* レイヤーの順番を最前面に */
	display: flex;
	/* margin: 8px 56px; */
	/* border: 1px solid red; */
	justify-content: space-between;
	/* 左右にスペースを配分 */
}
/* PCではハンバーガーを非表示 */
.hamburger {
  display: none;
}
.logo-link {
    display: flex; /* ロゴのリンクをFlexアイテムとして扱う */
text-decoration: none; /* リンクの下線を消す */
}
.logo {
	display: flex;
	align-items: center;
	text-align: left;
	gap: 16px;
	margin-left: 16px;
}

.logo p {
	color: #26284A;
	font-family: futura-pt, sans-serif;
	font-size: 24px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}

.logo img {
	display: block;
	/* ブロック要素として表示 */
	width: auto;
	/* 画像の幅 */
	height: 40px;
	/* 画像の高さを自動調整 */
}

.menu {
	align-items: flex-end;
	text-align: right;
	justify-content: flex-end;
}

nav {
	display: flex;
	/* Flexboxを使用 */
	justify-content: flex-end;
	/* メニュー項目を右寄せ */
	align-items: center;
	/* 垂直方向に中央揃え */
	height: 80px;
	/* ナビゲーションの高さ */
	margin-right: 16px;
}

nav ul {
	display: flex;
	/* リスト項目を横並びに */
	list-style: none;
	/* デフォルトのリストスタイルを削除 */
	align-items: center;
	padding: 0;
	/* パディングをリセット */
	margin: 0;
	/* マージンをリセット */
}

nav li {
	margin: 0 16px;
}

nav li a {
	text-decoration: none;
	/* 下線を削除 */
	color: #26284A;
	font-family: futura-pt, sans-serif;
	font-size: 24px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}

nav li a img {
	display: block;
	width: 28px;
	height: auto;
	transition: transform 0.3s;
}

.icon {
	display: block;
	width: 28px;  /* 画像の幅 */
	height: 28px; /* 画像の高さ */
	background-size: contain;
	background-repeat: no-repeat;
}

/* 通常時の背景画像 */
.insta {
	background-image: url("../images/insta.png");
}

.mail {
	background-image: url('../images/mail.png');
}


/* ホバー時の背景画像 */
.insta:hover {
	background-image: url('../images/insta-hover.png');
}

.mail:hover {
	background-image: url('../images/mail-hover.png');
}
/* m6のアイコンのスタイル */
#menu li a.icon.mail {
	display: block;
	width: 28px;  /* アイコンの幅 */
	height: 28px; /* アイコンの高さ */
	background-image: url('./images/mail.png');
	background-size: contain; /* 画像を要素のサイズに合わせて表示 */
	background-repeat: no-repeat; /* 画像が繰り返されないように */
	background-position: center; /* 画像を要素の中央に配置 */
	/* 上下の余白を調整（必要に応じて） */
	margin: 0;
}
nav li a:hover {
	color: #0ad8d5;
	/* ホバー時のテキストの色 */
}


/*--------- レイアウト ---------*/
* {
	margin: 0;
	padding: 0;
}

/* section about */
#Contact {
	width: auto;
	margin: 160px 4%;
	padding: 4% 8% 12%;
	text-align: center;
	
	flex-shrink: 0;
	border-radius: 34px;
	background: linear-gradient(99deg, rgba(255, 255, 255, 0.24) 0%, rgba(255, 255, 255, 0.15) 100%);

	/* 影ガラス */
	box-shadow: 0px 0px 11.4px 0px rgba(166, 161, 197, 0.25);
	backdrop-filter: blur(15px);
}

.Contact_text {
	margin: 0 auto;
	padding: 6% 12%;
	gap: 10%;
}


.contact-form-container {
	border: 1px solid var(--, #ff0a0a);
}

.contact-form {
	display: flex;
	flex-direction: column;
}

.contact-form label {
	margin: 20px 0 5px;
	text-align: left;
}

.contact-form input,
.contact-form textarea {
	margin-bottom: 15px;
	padding: 10px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 16px;
	width: 100%;
	box-sizing: border-box;
}

.contact-form button {
	width: 200px;
	padding: 10px;
	display: flex;
	justify-content: center;
	align-items: center;

	border-radius: 57px;
	border: 1px solid rgba(255, 255, 255, 0.50);
	background: #26284A;
/* 影ガラス */
box-shadow: 0px 0px 11.4px 0px rgba(166, 161, 197, 0.25);
backdrop-filter: blur(15px);
	color: white;
	border: none;
	border-radius: 4px;
	font-size: 16px;
	cursor: pointer;
}

.contact-form button:hover {
	background-color: #ffffff;
	color: #26284a;
}
.button{
	display: flex;
	text-align: center;
	justify-content: center;
	margin-top: 4%;
}
.footer {
	width: 100%;
	height: 80px;
	text-align: right;
	background-image: url('../images/footer.png');
}

.footer p {
	padding: 40px 40px 16px;
	color: var(--black, #252849);
	font-family: futura-pt, sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 200;
	line-height: normal;
}



/* ----------------------------------
  ここからスマホ向けのスタイル
---------------------------------- */
@media screen and (max-width: 768px) {
/* PC用のメニュー(.menu)を非表示に */
  .menu {
    display: none;
  }
  /* ハンバーガーボタンを表示させる */
  .hamburger {
    display: block; /* 表示に切り替え */
    position: relative;
    width: 30px;
    height: 24px;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 100; /* メニューより手前に */
     margin: 4%;
  }

  .hamburger_bar {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #252849;
    transition: transform 0.3s, top 0.3s;
  }
  .hamburger_bar:nth-of-type(1) { top: 0; }
  .hamburger_bar:nth-of-type(2) { top: 10px; }
  .hamburger_bar:nth-of-type(3) { top: 20px; }

  /* ▼ is-activeクラスが付いた時のスタイル ▼ */

  /* is-activeになった.menuを表示させる */
  .menu.is-active {
    display: block; /* 非表示だったメニューを表示 */
    position: fixed;
    top: 0;
    left: 0;
 	width: 100%;
    height: 100vh; /* 画面全体の高さ */
    background-color: rgba(255, 255, 255, 0.95);
    z-index: 50;
  }

  .menu.is-active ul {
    display: flex;
    flex-direction: column; /* メニューを縦並びに */
    align-items: center;
    justify-content: flex-start;
    height: 100%;
    gap: 20px;
	margin-top: 150px;

  }
.menu.is-active a {
    font-size: 20px;
}
  /* ハンバーガーがアクティブになったら「×」印に */
  .hamburger.is-active .hamburger_bar:nth-of-type(1) {
    top: 10px;
    transform: rotate(45deg);
  }
  .hamburger.is-active .hamburger_bar:nth-of-type(2) {
    opacity: 0; /* 真ん中の線を消す */
  }
  .hamburger.is-active .hamburger_bar:nth-of-type(3) {
    top: 10px;
    transform: rotate(-45deg);
  }

  /* 基本的な設定 */

  body {
    /* bodyは他に指定がないのでそのままでOK */
    font-size: 14px; /* 10pxは小さすぎるので14pxくらいがおすすめ */
  }
	img {
    max-width: 100%;
    height: auto;
  }
	h2 {
		margin: 0;
		color: var(--black, #252849);
		font-family: futura-pt, sans-serif;
		font-size: 64px;
		font-style: normal;
		font-weight: 300;
		line-height: normal;
	}
	p {
		color: var(--black, #252849);
		font-family: yu-gothic-pr6n;
		font-size: 14px;
		font-style: normal;
		font-weight: 500;
		line-height: 200%;
		/* 32px */
	}
table, th, td {
    font-size: 14px;
}
  /* ヘッダー */
  .header {
    /* display: flex; はPCと同じなので書かなくてOK */
    align-items: center;
  }

  nav li a {
    font-size: 14px; /* メニューの文字サイズ調整 */
  }

#Contact {
	width: auto;
	margin: 60px 4%;
}
}