* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: "Noto Sans JP", sans-serif;

}

body {
	background: #000;
}


img{
	width:100%;vertical-align: middle;
}


span.txbr{display: inline-block;}

p.indent {
	padding-left:1em;
	text-indent:-1em;
}

.vert{color:#1a6b6d;}
.lavande{color:#886d93;}

/*------------------------------------------
全体のフェード
------------------------------------------*/
.fadeIn {
	opacity: 0;
	transition: 1s;
}
.fadeIn.is-show {
	opacity: 1;
}

.fadeIn_up {
	opacity: 0;
	transform: translate(0, 10px);
	transition: 1s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}


.fadeIn_up_late {
	opacity: 0;
	transform: translate(0, 20px);
	transition: 1s;
}
.fadeIn_up_late.is-show {
	transform: translate(0, 0);
	opacity: 1;
}



.fadeIn_left {
  opacity: 0;
  transform: translate(-20px, 0);
  transition: 1s;
}
.fadeIn_left.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

/*---------------------------------
　リンク
-----------------------------------*/
a.txt_line_link {
	box-shadow: inset 0 0 0 0 #da007f;
	color: #fff;
	padding:3px 8px 3px 8px;
	margin:10px 0;

	transition: color .3s ease-in-out, box-shadow .3s ease-in-out;

	background-color:#000;
	text-decoration:none;
	display:inline-block;
}

/*---------------------------------
　ホバーアニメーション可能なデバイスのみに適用
-----------------------------------*/
@media (any-hover: hover) {
	a.txt_line_link:hover {
		color: #fff;
		box-shadow: inset 250px 0 0 0 #da007f;
	}
}


/*---------------------------------
	　 -------------
	　|   > link    |　←これ
	　 -------------
-----------------------------------*/

.kashima_link{
	display:inline-block;

	position: relative;
	text-decoration: none;
	color: #000;

	background-color:#fff;
	padding:20px 40px 20px 20px;
	border:1px solid #CCC;

	width:100%;max-width:400px;

}


.kashima_link .material-symbols-outlined{
	transition:transform .3s ease;
	vertical-align: bottom;
	line-height: 1;
}




/*---------------------------------
　ホバーアニメーション可能なデバイスのみに適用
-----------------------------------*/
@media (any-hover: hover) {
	.kashima_link:hover::before  {transform: translateX(5px);}

	.kashima_link:hover .material-symbols-outlined{
		transform:translateX(5px);
	}

}


/*------------------------------------------
見出し
------------------------------------------*/
h2.s_title{color:#000;font-size:100%;font-size:clamp(20px, 4vw, 24px);margin-top:-20px;font-family: "Noto Serif JP", serif;}


h3{font-weight:bold;margin-top:20px;padding-bottom:5px;margin-bottom:5px;}
h3.brue{color:#4989c8;border-bottom:1px solid #4989c8;}
h3.green{color:#007f5b;border-bottom:1px solid #007f5b;}
h3.pink{color:#f16681;border-bottom:1px solid #f16681;}
h3.rose{color:#da007f;border-bottom:1px solid #da007f;}
span.pink{color:#f16681;}


.bg_text {width:100%;max-width:700px;aspect-ratio: 1000 / 95;}
.bg_outline{background:url("../img/bg_text_outline.webp") left / contain no-repeat;}


.bg_info{background:url("../img/bg_text_info.webp") left / contain no-repeat;}
.bg_access{background:url("../img/bg_text_access.webp") left / contain no-repeat;}
.bg_ticket{background:url("../img/bg_text_ticket.webp") left / contain no-repeat;}


.bg_playguide{background:url("../img/bg_text_playguide.webp") left / contain no-repeat;}
.bg_collection{background:url("../img/bg_text_collection.webp") left / contain no-repeat;}
.bg_event{background:url("../img/bg_text_event.webp") left / contain no-repeat;}
.bg_contact{background:url("../img/bg_text_contact.webp") left / contain no-repeat;}


/*---------------------------------
　テキスト
-----------------------------------*/
.bold{font-weight:bold;}


.btn {
	background: #000;
	padding: 12px 20px;
	color: white;
	text-decoration: none;
	border-radius: 9999px;
	display: inline-block;
	transition: 0.2s;
}

.btn:hover{
	opacity:0.5;

}

/* セクション */
.section {
	padding: 40px 20px;
	max-width: 1100px;
	margin: auto;
}

.section h2 {
	margin-bottom: 20px;
}

.text{color:#555;}
/* グリッド */

.grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}


.bg_check{
	background: #F5F7FA;
	background: url("../img/bg_check.webp");padding: 50px 0;
}


.bg_white{
	background: #f1eee7;
	width:95%;max-width:1200px;margin:0 auto 50px auto;padding:50px;box-sizing:border-box;color:#000;
}



/*----------------------------
　トップに戻るボタン
-----------------------------*/
.right_icon{
	display: none;
}

.pagetop {
	position: fixed;
	bottom: 0px;
	right: 0px;
	z-index:99;
	font-weight:bold;
}

.pagetop a {
	display: block;
	text-align: left;
	text-decoration: none;
	padding: 0;
	color:#FFFFFF;
	transition: all 0.3s;
}

.pagetop a:hover  {
	/*color: #ffff00;
	padding:0 10px 0 0;*/
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.6;
	/*transform: rotateZ( 360deg );*/
}


/*------右下チケットボタン-----*/
.pageticket {
	position: fixed;
	bottom: 50px;
	right: 0px;
	z-index:99;
	font-weight:bold;
	max-width:140px;
}


.pageticket a {
	display: block;
	text-align: left;
	text-decoration: none;
	padding: 0;
	color:#FFFFFF;
	transition: all 0.3s;

}

.pageticket a:hover  {
	color: #ffff00;
	/*right: 10px;*/
	opacity: 0.6;
	/*transform: rotate(-5deg) scale(1.2);*/
	padding:0 0 0 0;
	/*filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.6;*/
}

/*------トップに戻るボタン-----*/



/*---------------------------------
　main
-----------------------------------*/

	.spot_bg{
		background: url(../img/bg_spot.svg) center top;
		background-repeat: no-repeat;

		background-color:#000;

	}

	.main{
		position:relative;
		z-index:2;
		margin-bottom:-70px;
	}

	.main_inner{width:100%;max-width:1000px;margin:0 auto;position: relative; aspect-ratio: 1000 / 1401; position: relative;}

	.main_fr{
		position: absolute;left:50%;
	}

	.main_jp{
		position: absolute;bottom:80px;left:50%;max-width:800px;
	}
	.main_img{
		position: absolute;top: 0;left:50%;left:calc(50% + 4px);width:100%;
	}

	@media (max-width: 770px) {

		.spot_bg{
			background-size:cover;
		}

		.main{
			margin-top:10px;
			padding-bottom:60px;
		}

		.main_img{
			width:calc(100% + 20px);margin-top:-10px;left:calc(50% + 2px);
		}

		.main_jp{
			bottom:20px;
		}
	}

	@media (max-width: 540px) {

		.main{
			margin-top:15px;
			padding-bottom:90px;
		}

		.main_img{
			width:calc(100% + 40px);margin-top:-10px;left:calc(50% + 0px);
		}

		.main_jp{
			bottom:-15px;
		}
	}

	@media (max-width: 440px) {


		.main{
			margin-top:30px;
			padding-bottom:90px;
		}

		.main_img{
			width:calc(100% + 30px);margin-top:-8px;left:calc(50% + -6px);
		}

		.main_fr{
			width:95%;
		}

		.main_jp{
			bottom:-10px;
		}
	}

	@media (max-width: 375px) {
		.main_img{
			left:calc(50% + -7px);
		}
	}

#main_day{background-color:#da007f;}
#main_day_grid{display:grid;grid-template-columns:1fr 1fr;padding:20px;box-sizing:border-box;width:100%;max-width:1050px;margin:0 auto;gap:50px;}
#main_day_grid img{max-width:500px;}
/*---------------------------------
　アクセス
-----------------------------------*/
#access{}

#access_grid{
	display:grid;grid-template-columns:minmax(auto, 400px) 1fr;gap:20px;
}

#access_left{padding-top:1.5em;}
#access_left iframe{border:1px solid #CCC;}
#access_right{}
#googlemap{border:1px solid #ccc;height:450px;}

#parking_grid{
	display:grid;grid-template-columns:auto 1fr;gap:20px;
	width:100%;max-width:850px;
}

#parking_right{
	padding-top:1em;
}
.parking_indent{
	padding-left:1em;
}

/*---------------------------------
　チケット
-----------------------------------*/
#ticket_table{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;margin-top:1em;background-color:#000;border:1px solid #000;}
#ticket_table div{padding:10px;box-sizing:border-box;}
.ticket_blue{background-color:#D7D5E6;color:#000;}
.ticket_white{background-color:#FFF;}
.ticket_yellow{background-color:#FFF;}

.ticket_pc { display:none; }
.ticket_sp { display:block; }

#sale{font-size:1.2em;font-weight:bold;color:#DE0A8C;}

@media (max-width: 768px) {
	#ticket_table{display:grid;grid-template-columns:auto 1fr;gap:1px;margin-top:1em;}
	.ticket_pc { display:block; }
	.ticket_sp { display:none; }

	.ticket_line{grid-column: 1 / -1;background-color:#c0bcdb;}
}

/*---------------------------------
　コレクション
-----------------------------------*/
.note{
	margin-top:20px;
	background-image: linear-gradient(180deg, #ccc 1px, transparent 1px); /* 罫線の色と太さ  */
	background-size: 100% 2.5em;
	line-height: 2.5em;
	padding-bottom: 1px;
	color:#007f5b;
}

.small{font-size:0.8em;}

#art01_grid{display:grid;grid-template-columns:280fr 534fr;gap:8px 20px;width:100%;max-width:800px;margin:20px auto;}
#art02_grid{display:grid;grid-template-columns:333fr 398fr;gap:8px 20px;width:100%;max-width:750px;margin:20px auto;}
#art03_grid{display:grid;grid-template-columns:267fr 320fr;gap:8px 20px;width:100%;max-width:600px;margin:20px auto;}
#art04_grid{display:grid;grid-template-columns:165fr 148fr;gap:8px 20px;width:100%;max-width:600px;margin:20px auto;}

@media (max-width: 480px) {

	#art01_grid div{
		width: fit-content;margin:0 auto;
	}

	#art01_grid{
		grid-template-columns:1fr;
	}

	#art01_grid div:nth-child(2){order:2;}
	#art01_grid div:nth-child(3){order:1;}
	#art01_grid div:nth-child(4){order:3;}

	#art01{max-width:220px;display:block;margin:0 auto;}
	#art02{max-width:300px;display:block;margin:0 auto;}


	#art02_grid{grid-template-columns:1fr;}
	#art02_grid div{width: fit-content;margin:0 auto;}
	#art02_grid img{max-width:230px;}

	#art02_grid div:nth-child(2){order:2;}
	#art02_grid div:nth-child(3){order:1;}
	#art02_grid div:nth-child(4){order:3;}

}

@media (max-width: 390px) {
	#art01{max-width:auto;}
}
/*----------------------------
　イベント
-----------------------------*/

.event_grid{
	display:grid;
	grid-template-columns:max-content auto 1fr;gap:4px 2px;
}

.event_grid div:nth-child(3n+1){
	text-align:justify;
	text-align-last:justify;
}

.event_grid div.one_line{
	grid-column: 1 / -1;
	text-align:auto;
	text-align-last:auto;
}



/*---------------------
　コラボ
-----------------------*/
.bg_collabo{
	background: #fff;border-radius:20px;
	width:95%;max-width:1200px;margin:0 auto 50px auto;padding:50px;box-sizing:border-box;color:#000;
}

#buffet_title{background-color:#FFF;color:#4fa0a4;font-weight:bold;font-size:1.4em;}
#buffet_sub_title{border-bottom:1px dotted #4fa0a4;margin:10px 0;}

#buffet_grid{display:grid;grid-template-columns: minmax(0, 450px) minmax(0, 1fr);grid-template-rows: auto 1fr;gap:20px;width:100%;}
#buffet_day{color:#1a6b6d;font-weight:bold;margin: 0;}
#buffet_table table{height:100%;}
#buffet_table table,#buffet_table td,#buffet_table th {
	border-collapse: collapse;
	border:1px solid #333;
	padding:10px;
}

#buffet_table th{
	background-color:#e3f2f2;
}

#buffet_photo { grid-area: 1 / 1 / 3 / 2; }
#buffet_day { grid-area: 1 / 2 / 2 / 3; }
#buffet_table { grid-area: 2 / 2 / 3 / 3; }


@media (max-width: 1000px) {
	#buffet_title,#buffet_sub_title{font-size:1.2em;}
	#buffet_grid{
		grid-template-columns:1fr 1fr;grid-template-rows: auto 1fr;gap:10px;
	}

	#buffet_table table,#buffet_table td,#buffet_table th {padding:5px;}

	#buffet_photo { order:2;grid-area: 2 / 1 / 3 / 2; }
	#buffet_day { order:1;grid-area: 1 / 1 / 2 / 3; }
}


@media (max-width: 768px) {
	.bg_collabo{width:90%;padding:30px;}

	#buffet_grid{
		grid-template-columns:1fr;grid-template-rows: auto auto auto;width:100%;margin:0 auto;
	}

	#buffet_table table,#buffet_table td,#buffet_table th {padding:5px;}
	#buffet_photo { order:2;grid-area: 2 / 1 / 3 / 2; }
	#buffet_day { order:1;grid-area: 1 / 1 / 2 / 2; }
	#buffet_table { grid-area: 3 / 1 / 4 / 2; }

	#buffet_photo img{max-width:500px;margin:0 auto;display:block;}
	#buffet_table table{height:auto;max-width:500px;margin:0 auto;}
}


@media (max-width: 375px) {
	.bg_collabo{width:90%;padding:30px 20px;}
}



/*----------------------------
　フッター
-----------------------------*/


footer{
	background:#000;color:#FFF;
	padding: 30px;
}

#sponsor{
	display:grid;
	grid-template-columns:50px auto;
	width: fit-content;margin:0 auto;
	gap:15px 0;
}

.footer {
	text-align: center;
	margin-top: 40px;
}

	#toi{background-color:#FFF;border-radius:20px;margin:20px auto;width:95%;max-width:1024px;color:#000;padding:20px;}
	#toi_grid{display:grid;grid-template-columns:1fr;gap:0;}
	#toi_grid div{display:grid;grid-template-columns:auto 1fr;gap:7px;}

	#footer_copy{font-size:0.8em;text-align:center;}

	@media (max-width: 768px) {
		#toi_grid div{grid-template-columns:auto;gap:0px;}
		#toi_grid div div:first-child {font-weight:bold;padding-top:10px;}
	}

	@media (min-width: 0px) and (max-width: 450px) {
		#footer_copy{font-size:0.7em;line-height:1.8em;}
	}

/*---------------------------------
　トップページ以外のheader
-----------------------------------*/
@media (max-width: 1024px) {

	#main_day_grid{width:95%;gap:5%;}

	/*---------------------------------
	　アクセス
	-----------------------------------*/

	#access_grid{grid-template-columns:1fr;}
	#access_left{order:1;padding-top:0em;}
	#access_right{}
	#googlemap{border:1px solid #ccc;height:350px;}


	#parking_grid{
		grid-template-columns:1fr 1fr;
		place-content: center;
		place-items: center;

	}

	#parking_right{padding-top:0;}

	.parking_indent{
		padding-left:0em;
	}


}


/* レスポンシブ */
@media (max-width: 768px) {




	.bg_white{
		background: #f1eee7;
		width:90%;padding:30px;
	}


	/*---------------------------------
	　アクセス
	-----------------------------------*/
	#parking_grid{
		grid-template-columns:1fr;
	}



	/*---------------------------------
	　トップページ以外のheader
	-----------------------------------*/
	#sub_header a img{
		padding:10px;
	}


}


/*:::::PC|TAB表示:::::*/
@media (min-width: 769px) {
 /*メイン画像をPCスマホで切り替え表示させる時用*/
.original_pc { display:inline-block; }
.original_sp { display:none;}
} /* //@media PC|TAB*/

/*:::::SP表示:::::*/
@media (min-width: 0px) and (max-width: 768px) {

	 /*メイン画像をPCスマホで切り替え表示させる時用*/
	.original_pc { display:none; }
	.original_sp { display:inline-block; }

}/* //@media SP */

/* SNS */
#s-share{
	display:flex;align-items: flex-start;
	margin:0 auto;
	margin-top:50px;
	padding-bottom:1em;
	text-align:center;
	max-width:320px;
}

.s-share-btn{padding:2px;flex:1;}
.fb_iframe_widget > span {
	vertical-align: baseline !important;
}

