@charset "utf-8";



:root{
	letter-spacing: .8px;
}


.inr--entry{
	padding-left: 0;
	padding-right: 0;
}

body{ font-size: 14px;}




/*  ===============================
			GLOBAL
===============================
container
header
navi
footer
other
*/



/* header
===============================
Ghdr
*/



/* footer
===============================
Gftr
*/

.Gftr{
	padding-bottom: 4rem;
}

.Gftr_link{
	margin-top: 2rem;
}

.Gftr_copy{
	font-size: 11px;
}

/*  ===============================
		  block , element
===============================*/


/* sec
===============================
.sec
.sec_hdr
.sec_ttl
.sec_body
.sec_ftr
*/

.sec,
.sec.formArea:first-child:last-child{
	padding: 100px 0;
}
	.main > .sec:first-child{
		padding-top: 50px;
	}
	.main > .sec:last-child{
		padding-bottom: 140px;
	}

	.sec--note{
		padding-top: 3rem;
	}

	.sec--goods{
		padding-bottom: 0;
	}

.sec_hdr{
	margin-bottom: 3.5rem;
}
	.sec_hdr--tieup{
		margin-bottom: min(3.5rem,12vw);
	}

.sec_ttl{
	margin-bottom: 0;
}


	.sec_ttl--reception {
		font-size: 17px;
		text-align: center;
	}





.sec_ttlImg{}




/* btn
===============================
*/



.btn--white{
	padding: 1em 2em;
	font-size: 14px;
}
	.btn--white .en{
		font-size: 11px;
		font-weight: 500;
	}


/* loading
===============================
*/

.loading{}


.loading_starsImg{
	max-width: 1000px;
}

.loading_front{
	width: 50%;
	max-width: 450px;
}


/* bg_obj
===============================
*/


.bg_obj--left {
	right: calc(100vw - 20%);
}

.bg_obj--right {
	left: calc(100vw - 20%);
}





/* clouds
===============================
*/

.sec_cloud{
	width: calc( 1px * var(--w) * 0.95);
}
.sec_cloudImg{
	scale: .75;
}


.sec_clouds--left .sec_cloud{  left:  calc( var(--w) * -1px * 1.2 );}
.sec_clouds--right .sec_cloud{ right: calc( var(--w) * -1px * 1.2);}



/* mv
===============================
*/

.mv,
.mv_pic,
.mv_img{
	height: 100svh;
	min-height: 100svh;
}




.mv{
	overflow: hidden;
	position: relative;
	z-index: 0;
}
	.mv.is-animation::after{
		height: 15svh;
		max-height: 120px;
	}

.mv_img{
	max-width: none;
	object-fit: cover;
	object-position: center;
}

.mv_ttl{
	top: 25svh;
}

.mv_ttlImg{
	width: 80%;
	max-width: 450px;
}


.mv_label{
	left: 0;
	overflow-wrap: normal;
	word-break: keep-all;
	font-size: 12px;
}





/* schedule
===============================
*/

.schedule{}

.schedule--ticket{
	padding: 2rem;
}



.schedule_img{
	height: calc( 100% / 2 );
}


.schedule_list{
	margin-bottom: 5rem;
}

.schedule_date{
	margin-bottom: 1rem;
}
.schedule_hall{
	padding-bottom: 1rem;
}

.schedule_item:not(:first-child){
	padding-top: 1rem;
}


.schedule_texts{
	padding-bottom: 2.5rem;
	font-size: min( 22px , 3.8vw );
}

.schedule_text--en{
	font-size: min( 17px , 3.6vw);
}


.schedule_notes{
	margin-top: 2.5rem;
	font-size: min( 13px , 3.2vw );
}
	.schedule_notes--en{
		font-size: min( 12px , 3vw );
	}

	.schedule_note{
	margin-top: 0.6em;
}
	.schedule_note--en{
	}


.schedule_soldout{
	padding: .8em 1.5em;
	font-size: min( 7.5vw , 34px );
}




/* more以下 */

.schedule_time{
	font-size: 12px;
}

.schedule_anchor{
	font-size: 12px;
}

.schedule_anchorImg{
	width: 14px;
}


/* reception */

.reception_boxies{
	text-align: center;
}

.reception_box--main{
	margin-top: 3rem;
}

.reception_texts{
	margin-bottom: 2rem;
	font-size: 14px;
}

.reception_dl{
	margin-bottom: 3rem;
}

.reception_dt{
	font-size: 13px;
	font-weight: 400;
}

.reception_dd{
	font-size: 12px;
}

.reception_dd--min{
	font-size: 11px;
}

.reception_notes{
	margin-bottom: 2rem;
	font-size: 11px;
}

.reception_note{}


.reception_btns{
	justify-content: center;
}

.reception_btn{
	font-size: 13px;
}

.reception_ftr{
	margin-top: 5em;
	font-weight: normal;
}


/* goods
===============================
*/


.goods_ttl{
	font-size: 17px;
}

.goods_notes{
	margin-top: 0.5em;
	font-size: 12px;
}

	.goods_notes--details{
		margin-top: 3.5em;
	}

.goods_texts--en{
	margin-top: 3em;
	font-size: 14px;
}

.goods_btns{
	margin-top: 50px;
}


.goods_dl{
	margin-top: 50px;
}

.goods_term{
	font-size: 16px;
}

.goods_desc{
	margin-top: 1.2em;
	font-size: 18px;
}

.goods_desc--en{
	margin-top: 1em;
	font-size: 14px;
}

.goods_pic{
	margin-top: 50px;
}

/* info
===============================
*/

.info{
	padding: 4rem 1.5rem;
}

.info_hdr{
	margin-bottom: 3rem;
}

.info_heading{
	font-size: 16px;
}

.info_heading--en{
	margin-top: 1rem;
	font-size: 12px;
}

.info_item{
	padding: 3rem 1rem;
}

.info_ttl{
	font-size: 16px;
}

.info_ttl .en{
	font-size: 13px;
}

.info_texts{
	font-size: 13px;
}

.info_texts--en{
	font-size: 12px;
}

.info_ftrText{
	font-size: 14px;
}

.info_ftrText--en{
	font-size: 13px;
}