@charset "UTF-8";
/* CSS Document */



.header {
  position: relative;
  z-index: 10;
}


/* =============================

	トップの共通見出し

================================*/
.top-h{
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	font-style: normal;
	font-size: clamp(3.2rem, 4vw, 5rem);
	text-align: center;
	margin: 0 0 50px;
}
.top-h small{
	font-size: 1.3rem;
	display: block;
}

/* =============================

	トップでのスタイル上書き

================================*/

/*
ヘッダーを上部に固定FVの上に載せる
テキストカラーを白に
*/
.header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: transparent;
  color: #fff;
}


/*下線を消す*/
.header-inner{
	border-bottom: none;
}

/*ハンバーガーのスタイリング*/
.overlayMenuBtn span {
	position: relative;
	display: block;
	width: 43px;
	height: 1px;
	border-radius: 3px;
	background-color: #FFF;
	/*transition: .4s;*/
  }

/* =============================

	ファーストビュー（FV）要素とスライドショー

================================*/

.fv{
	width: 100vw;
	height: 100vh;
	background: rgba(0,0,0,0.3);
}

.slideshow {
	position: relative;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
}
.slideshow::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 2;
}

.slide {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	opacity: 0;
	transform: scale(1.1); /* 少し拡大した状態から */
	transition:
		opacity 2.5s ease,
		transform 10s ease; /* ゆっくりズームアウト */
}
.slide.is-active {
	opacity: 1;
	transform: scale(1); /* ズームアウト */
	z-index: 1;
}




/* =============================

	ふわっとフェードインロゴ

================================*/
.logo-intro {
	position: fixed;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 15;
	pointer-events: none;
}
/*ふわっとロゴ背景の黒ベタ*/
.logo-bg {
	position: absolute;
	inset: 0;
	background: radial-gradient(circle, #111 0%, #000 70%);
	opacity: 1;
	animation: bgFadeOut 5s ease forwards;/*アニメーション時間*/
}
@keyframes bgFadeOut {
  0%   { opacity: 1; }
  70%  { opacity: 1; }
  100% { opacity: 0; }
}
/*ふわっとロゴ*/
.logo-intro img {
	position: relative;
	z-index: 1;
	opacity: 0;
	animation: logoFade 4.5s ease forwards;
	animation-delay: .4s;
	width: 248px;
	max-width: 50%;
}

@keyframes logoFade {
	0% {
		opacity: 0;
		/*transform: scale(0.95);*/
	}
	20% {
		opacity: 1;
		/*transform: scale(1);*/
	}
	60% {
		opacity: 1;
		filter: blur(0);
	}
	100% {
		opacity: 0;
		/*transform: scale(1.02);*/
		filter: blur(4px);
	}
}

/* 2回目以降は非表示 */
.no-logo-intro .logo-intro {
  display: none;
}


/* ==================================

	ファーストビューのキャッチコピー

=====================================*/
.fv-catch {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 6;           /* ロゴより下、背景より上 */
	pointer-events: none;
}
.fv-catch img {
	width: 420px;
	max-width: 80%;
	animation: none;
	/*animation: catchFadeIn 1.8s ease forwards;*/
	/*animation-delay: 5.0s;*/ /* ← ロゴ演出が終わった頃 */
	opacity: 0;
}
@keyframes catchFadeIn {
  from { opacity: 0; transform: translateY(3px); }
  to   { opacity: 1; transform: translateY(0); }
}

.has-logo-intro .fv-catch img {
  animation: catchFadeIn 1.8s ease forwards;
  animation-delay: 4s;
}

.no-logo-intro .fv-catch img {
  animation: catchFadeIn 1.2s ease forwards;
  animation-delay: .4s;
}




/* ==================================

	スクロールふわふわボタン

=====================================*/
.scroll-btn{
	position: absolute;
	width: 70px;
	bottom: 40px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 4;
}
.scroll-btn-aroww{
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 15px;
	animation: floating 3s ease-in-out infinite;
}
@keyframes floating {
  0%   { transform: translate( -50%, 12px); }
  50%  { transform: translate( -50%, 22px); }
  100% { transform: translate( -50%, 12px); }
}




/* ==================================

	Section／導入テキスト

=====================================*/
.top-intro{
	padding: 10%;
	
}
.top-intro p{
	margin: 0.5em 0;
	line-height: 2;
}
.top-intro p.small{
	color: #707070;
	font-size: 1.2rem;
	font-feature-settings: "palt" 1;
}

@media (min-width:768px){
	.top-intro{
		text-align: center;
		padding: 7%;
	}
	.top-intro p{
		line-height: 2;
	}
}

.intro-yt{
	max-width: 600px;
	margin: 50px auto 0;
}

/*--------------------------------------
お知らせ
--------------------------------------*/

.top-news{
	margin-top: 70px;
}
.bracket-box .inner{
	padding: 30px 30px 30px;
}
.top-news h2{
	font-size: 2rem;
	margin: 0 0 1em 0;
	font-family: "Noto Serif JP", serif;
	font-weight: 300;
	text-align: center;
}

.top-news dl{
	font-size: 1.4rem;
	text-align: left;
}
.top-news dl dt{
	font-weight: 300;
}
.top-news dl dd{
	line-height: 1.6;
	margin: 2px 0;
}
.top-news dl dd p{
	line-height: 1.6;
	margin: 0;
}

.top-news dl dd + dt{
	margin-top: 1.5em;
}
.top-news a{
	color: #1558d6;
	text-decoration: underline;
}

@media (min-width:768px){
	.top-news{
		max-width: 900px;
		margin: 70px auto 0;
	}
	.top-news .inner{
		display: flex;
		align-items: center;
		padding: 30px 8%;
		gap: 0 10%;
	}
	.top-news .inner h2{
		margin: 0;

	}
	.top-news .inner dl{
		font-size: 1.5rem;
		flex: 1;

	}
}

/* ==================================

	Section／時代で探す

=====================================*/

.by-period{
	padding: 15% 7% 15%;
	background: rgba(235,235,235,1.00);
}
.by-period ul{
	display: flex;
	flex-wrap: wrap;
	gap: 30px 6%;
	max-width: 1200px;/*最大幅*/
	margin: 0 auto;
}
.by-period ul li{
	flex-basis: 47%;
	line-height: 1.4;
	-webkit-box-shadow: 0px 0px 10px rgba(0,0,0,0.30);
	box-shadow: 0px 0px 10px rgba(0,0,0,0.30);
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	font-style: normal;
	background: #FFF;
}
.by-period ul li .inner{
	padding: 5% 5%;
	height: 7em;
	display: flex;
	flex-wrap: wrap;
	align-content: space-between;
}
.by-period ul li p{
	font-size: clamp(10px, 5vw, 2.2rem);
	flex-basis: 100%;
}
.by-period ul li .en{
	font-size: clamp( 1rem, 0.5vw, 1.2rem);
	color: #707070;
}
@media (min-width:768px){
	.by-period ul{
		flex-wrap: nowrap;
		justify-content: space-between;
		gap: 30px 5%;
	}
	.by-period ul li p{
		font-size: 2.4rem;
	}
	.by-period ul li .en{
		font-size: 1.2rem;
	}
}


body{
	background-image:url("../image/gbws.jpg");
	background-size: cover;
	background-position: center center;
}


/* ==================================

	Section／カテゴリーで探す

=====================================*/
.by-category{
	padding: 15% 5% 15%;
}
.by-category ul{
	display: flex;
	flex-direction: column;
	gap: 15px 0;
	max-width: 1200px;/*最大幅*/
	margin: 0 auto;
}

.by-category li{
	border: 1px solid #565656;
	border-radius: 5px;
	font-size: 1.6rem;
	line-height: 1.2;
	background: #FFF;
}
.by-category li span{
	font-size: 1.2rem;
}
.by-category li a{
	display: flex;
	align-items: center;
	padding: 3% 7%;
	gap: 0 7%;
}
.by-category li img{
	width: 60px;
}
@media (min-width:620px){
	.by-category ul{
		flex-direction: row;
		flex-wrap: wrap;
		gap: 15px 2%;
	}
	.by-category li{
		flex-basis: 49%;
	}
}
@media (min-width:1000px){
	.by-category ul{
		gap: 15px 2%;
	}
	.by-category li{
		flex-basis: 32%;
	}
}




/*もっと読み込むボタン〜読み込み中〜全て読み込みました*/
#load-more-button,
#loading-message{
	width: 100%;
	text-align: center;
	border: 1px solid #C5C5C5;
	padding: 15px;
	margin: 25px 0;
}
/*ボタンのみホバー*/
#load-more-button:hover{
	background-color: #E1DED9;
}




