@charset "utf-8";

/* head {
	display: none;
} */
html,
body {
	width: 100%;
	padding: 0px;
	margin: 0 auto;
	font-weight: normal;
	font-style: normal;
	text-decoration: none;
	background-color: #FFFFFF;
	background-image: url('../images/background.png');
	background-size: cover;
	background-attachment: fixed;
	font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", Verdana, "ＭＳ Ｐゴシック", "MS P Gothic" Helvetica, sans-serif;
	font-family: "yu-gothic-pr6n", sans-serif;
	font-weight: 400;
font-style: normal; 
	overflow-x: hidden;
	/* 横スクロールを防止 */
}
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, sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
}

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

p {
	color: var(--black, #252849);
	font-family: yu-gothic-pr6n, sans-serif;
	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, sans-serif;
	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 news */
#news {
	display: flex;
	margin: 0 auto;
	margin-top: 160px;
	padding: 4%;
}

.news_title p {
	margin: 8px;
}

.news_title {
	margin: 4%;
}
.news_titl h2 {
	color: var(--black, #252849);
	font-family: futura-pt, sans-serif;
	font-size: 96px;
	font-style: normal;
	font-weight: 300;
	line-height: normal;
}
.news_right {
	display: flex;
	flex-direction: column;
	/* 子要素を縦に並べる */
	align-items: flex-end;
	/* 右揃えにする */
	width: 100%;
	/* 親要素の幅を指定 */
	margin: 4%;
	margin-top: 80px;
	gap: 40px;
}

.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: 100px;
		font-style: normal;
		font-weight: 300;
		line-height: normal;
	}
	p {
		color: var(--black, #252849);
		font-family: yu-gothic-pr6n, sans-serif;
		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; /* メニューの文字サイズ調整 */
  }

 /* Newsセクション */
  #news {
    flex-direction: column; /* 横並びを縦並びにする */
    padding: 0 8%;
	margin-top: 60px;
  }
.news_title {
	margin: 0;
}
  .news_title h2 {
	font-size: 64px
  }
	.news_title p {
	margin: 0;
  }
   #news table {
    width: 100%;                  /* ← これがあることを確認 */
    box-sizing: border-box;       /* ← この行を追加 */
    border: none;
    border-top: 1px solid #d5d0de;
    border-bottom: 1px solid #d5d0de;
  }
  .news_left {
    margin-right: 0;
    margin-bottom: 20px; /* 下に余白を追加 */
  }
	.news_right {
		display: flex;
		flex-direction: column;
		/* 子要素を縦に並べる */
		align-items: flex-end;
		/* 右揃えにする */
		width: 100%;
		/* 親要素の幅を指定 */
		margin: 20px 0;
		gap: 40px;
	}
	  /* 【修正点】テーブル自体の外枠を消す */
		#news table {
			border: none; /* 元の枠をリセット */
			border-top: 1px solid #d5d0de;    /* 新しい上線 */
			border-bottom: 1px solid #d5d0de; /* 新しい下線 */
		}
	
		/* 各セルの設定 */
		#news th,
		#news td {
			display: block;
			width: 100%;
			text-align: left;
			border: none;
			padding: 0;
		}
	
		/* 行の設定 */
		#news tr {
			display: block;
			padding: 16px 0;
			/* 中間の区切り線 */
			border-bottom: 1px solid #d5d0de;
		}
	
		/* テーブルの一番下の線と重複するので、最後の行の線だけ消す */
		#news tr:last-child {
			border-bottom: none;
		}
	
		/* 日付の下の余白 */
		#news th {
			padding-bottom: 8px;
		}

}