@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: -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;
	overflow-x: hidden; */
	/* 横スクロールを防止 */
	/* -webkit-overflow-scrolling: touch; ← iOSのスクロール問題を解決するおまじない */
/* } */
/* body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1; 
  width: 100%;
  height: 100vh;
  background-image: url('../images/background.png');
  background-size: cover;
  background-position: center;
} */
 /* 固定背景用のスタイル */
/* .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を正しく機能させるため */
  /* z-index: 1; */
  /* background-color: transparent; 背景が透けて見えるように */
/* } */
/* html{  */
	/*オートスクロール＝滑らかにページ内を動く*/
	/* scroll-behavior: smooth;
} */

/* ========== ページの土台となる設定 ========== */
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;
}

/* 以下、h1, h2, .header などの既存のスタイルが続く... */
img {
	display: block;
	border: none;
	/* vertical-align: bottom; */
}

h1 {
	color: var(--black, #252849);
	font-family: futura-pt, sans-serif;
font-style: normal;
	/* 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-style: normal;
font-weight: 300;
	/* 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-style: normal;
	/* 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;
	/* 左右にスペースを配分 */
}
.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* PCではハンバーガーを非表示 */
.hamburger {
  display: none;
}
.logo-link {
  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-style: normal;
	/* font-family: futura-pt, sans-serif; */
	font-size: 24px;
	font-weight: 400;
}

.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-style: normal;
	/* font-family: futura-pt, sans-serif; */
	font-size: 24px;
	font-weight: 400;
}

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;
}

#main-view {
	margin-top: 100px;
}

.image-container {
	margin-top: 40px;
	position: relative;
	/* 相対位置を指定 */
	width: 100%;
	/* コンテナの幅を指定 */
	height: 1000px;
	/* コンテナの高さを指定 */
}

.main-img img {
	height: 80%;
	margin-left: auto;
}

.aurora01 {
	width: 567px;
	height: 322px;
	flex-shrink: 0;
	background: url(../images/aurora01.png) top center no-repeat;
	background-attachment: fixed;
	background-size: cover;
	position: absolute;
	/* 絶対位置を指定 */
	top: 200px;
	left: 0;
	z-index: 1;
	/* 背景画像のレイヤー順 */
}

.aurora02 {
	width: 500px;
	height: 320px;
	flex-shrink: 0;
	background: url(../images/aurora02.png) top center no-repeat;
	background-attachment: fixed;
	background-size: cover;
	position: absolute;
	/* 絶対位置を指定 */
	top: 800px;
	right: 0px;
	z-index: 2;
	/* オーバーレイ画像のレイヤー順 */
}

.main-visual_left {
	margin: 4%;
}

.main-visual_left h1 {
	margin-bottom: 24px;
	color: var(--black, #252849);
	font-family: futura-pt, sans-serif;
font-style: normal;
font-weight: 300;
	/* font-family: futura-pt, sans-serif; */
	font-size: 96px;
}

.main-visual_left p {
	margin-left: 8px;
	color: var(--black, #252849);
	/* font-family: yu-gothic-pr6n; */
	font-size: 20px;
	font-style: normal;
	font-weight: 500;
	line-height: 289%;
	/* 46.24px */
}


/* section about */
#top-about {
	width: auto;
	margin-top: 160px;
}

#top-about img {
	width: 1300px;
}

.about_text {
	display: flex;
	margin: 0 auto;
	padding: 6% 12%;
	gap: 10%;
}

.about_right {
	display: flex;
	flex-direction: column;
	/* 子要素を縦に並べる */
	align-items: flex-end;
	/* 右揃えにする */
	width: 100%;
	/* 親要素の幅を指定 */
	margin-top: 40px;
	gap: 40px;
}

.about_right h3 {
	color: var(--black, #252849);
	/* font-family: yu-gothic-pr6n; */
	font-size: 38px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	margin-right: auto;
}


/* section works */
#top-works {
	display: flex;
	flex-direction: column;
	/* 子要素を縦に並べる */
	align-items: center;
	margin: 12% 8%;
}

#top-works h2 {
	display: block;
	text-align: center
}

.top-works_contents {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: center;
	margin: 40px 0;
}

.top-works_contents img {
	width: 500px;
}

.works_contents {
	padding: 32px;
}

.works_contents h3 {
	padding: 8px;
	color: var(--black, #252849);
	font-family: futura-pt, sans-serif;
font-style: normal;
	/* font-family: futura-pt, sans-serif; */
	font-size: 16px;
	font-weight: 400;
}

.works_contents h4 span{
	font-family: futura-pt, sans-serif;
font-style: normal;
font-weight: 400;
}

.works_contents h4 {
	padding-left: 2%;
	font-size: 24px;
}

#top-works a {
	display: block;
	text-align: center;
}


/* section news */
#news {
	display: flex;
	margin: 0 auto;
	padding: 6% 12%;
	/* width: 100%; */
	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);
	/* dropshadow */
}

.news_left {
	margin-right: 80px;
}

.news_right {
	display: flex;
	flex-direction: column;
	/* 子要素を縦に並べる */
	align-items: flex-end;
	/* 右揃えにする */
	width: 100%;
	/* 親要素の幅を指定 */
	margin-top: 40px;
	gap: 40px;
}

/* section movken */
#movken {
	display: flex;
	margin: 8%;
}

.movken_right {
	display: flex;
	flex-direction: column;
	/* 子要素を縦に並べる */
	align-items: left;
	/* 右揃えにする */
	width: 100%;
	/* 親要素の幅を指定 */
	padding: 4%;
	gap: 20px;
}

.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-size: 16px;
	font-family: futura-pt, sans-serif;
font-style: normal;
font-weight: 200;
}

.view-more a{
	display: flex;
	justify-content: center;
	/* 左右中央 */
	align-items: center;
	/* 上下中央 */
	width: 200px;
	height: 56px;
	flex-shrink: 0;
	border-radius: 57px;
	border: 1px solid rgba(255, 255, 255, 0.50);
	background: linear-gradient(95deg, rgba(255, 255, 255, 0.30) 0%, rgba(255, 255, 255, 0.10) 100%);
	
	/* 影ガラス */
	box-shadow: 0px 0px 11.4px 0px rgba(166, 161, 197, 0.25);
	backdrop-filter: blur(15px);
font-family: futura-pt, sans-serif;
font-style: normal;
font-weight: 400;
	font-size: 16px;

	border-bottom: none;
	text-decoration: none;
	color: var(--black, #252849);
	font-family: futura-pt, sans-serif;
font-style: normal;
font-weight: 400;
	font-size: 14px;
	line-height: 56px;
}

.view-more a:hover {
	border-radius: 57px;

	border: 1px solid rgba(255, 255, 255, 0.50);
	background: linear-gradient(95deg, rgba(255, 255, 255, 0.30) 0%, rgba(255, 255, 255, 0.10) 100%);
	box-shadow: 0px 0px 3.8px 0px rgba(166, 161, 197, 0.25) inset;

	border-bottom: none;
	text-decoration: none;
	color: var(--black, #0ad8d5);
font-family: futura-pt, sans-serif;
font-style: normal;
font-weight: 400;
	font-size: 14px;
	line-height: 56px;
}

/* ----------------------------------
  ここからスマホ向けのスタイル
---------------------------------- */
@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; */
		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; /* メニューの文字サイズ調整 */
  }


  /* メインビュー */
  #main-view {
    margin-top: 100px; /* 上の余白を少し詰める */
  }
  .main-visual_left h1 {
    font-size: 48px; /* PCの96pxから変更（具体的に指定） */
    line-height: 1.2; /* 行間も調整 */
  }
  .main-img img {
    height: auto;
    width: 100%; /* 横幅いっぱいに表示する場合 */
    margin-left: 0; /* PC用の右寄せをリセット */
  }
  .main-visual_left p {
    font-size: 14px; /* PCの20pxから変更 */
    line-height: 1.8;
	margin-left: 0px;
  }
	.image-container {
		margin-top: 40px;
		position: relative;
		/* 相対位置を指定 */
		width: 100%;
		/* コンテナの幅を指定 */
		height: 400px;
		/* コンテナの高さを指定 */
	}
	.aurora01 {
		width: 200px;
		height: 120px;
		flex-shrink: 0;
		background: url(../images/aurora01.png) top center no-repeat;
		background-attachment: fixed;
		background-size: cover;
		position: absolute;
		/* 絶対位置を指定 */
		top: 60px;
		left: 0;
		z-index: 1;
		/* 背景画像のレイヤー順 */
	}
	
	.aurora02 {
		width: 180px;
		height: 120px;
		flex-shrink: 0;
		background: url(../images/aurora02.png) top center no-repeat;
		background-attachment: fixed;
		background-size: cover;
		position: absolute;
		/* 絶対位置を指定 */
		top: 240px;
		right: 0px;
		z-index: 2;
		/* オーバーレイ画像のレイヤー順 */
	}
  /* Aboutセクション */
	#top-about {
		width: auto;
		margin-top: 10px;
	}
	
	/* #top-about img {
		width: 1300px;
	} */
	
  .about_text {
    flex-direction: column; /* 横並びを縦並びにする */
    padding: 6% 8%; /* 横の余白を調整 */
  }
  .about_right h3 {
    font-size: 20px; /* PCの48pxから変更 */
  }
	.about_right {
		display: flex;
		flex-direction: column;
		/* 子要素を縦に並べる */
		align-items: flex-end;
		/* 右揃えにする */
		width: 100%;
		/* 親要素の幅を指定 */
		margin-top: 10px;
		gap: 14px;
	}

  /* Worksセクション */
  #top-works {
    margin: 28% 5%; /* 横の余白を調整 */
  }
  .top-works_contents img {
    width: 100%; /* 画像を画面幅に合わせる */
    height: auto;
  }
  .works_contents {
    padding: 16px 0; /* 余白を調整 */
  }


  /* Newsセクション */
  #news {
    flex-direction: column; /* 横並びを縦並びにする */
    padding: 16% 8%;
  }
  .news_left {
    margin-right: 0;
    margin-bottom: 20px; /* 下に余白を追加 */
  }
	.news_right {
		display: flex;
		flex-direction: column;
		/* 子要素を縦に並べる */
		align-items: flex-end;
		/* 右揃えにする */
		width: 100%;
		/* 親要素の幅を指定 */
		margin-top: 4px;
		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;
		}
  
		#movken {
			display: flex;
			flex-direction: column;
			margin: 8%;
		}
		
		.movken_right {
			display: flex;
			flex-direction: column;
			/* 子要素を縦に並べる */
			align-items: left;
			/* 右揃えにする */
			width: 100%;
			/* 親要素の幅を指定 */
			padding: 0%;
			gap: 10px;
		}

}