@charset "utf-8";



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


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

body{ font-size: 14px;}



/* label */
.label{
	line-height: 2.8;
}

	.label--campaign{
		font-weight: 500;
		letter-spacing: 1px;
	}

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



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



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

.Gftr{
	padding-top: 6rem;
	padding-bottom: 4rem;
}

.Gftr_link{
	margin-top: 2rem;
}

.Gftr_copy{
	font-size: 11px;
}

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


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

.sec{
	--bodyPosition: 120px;
	--verticalPadding: 70PX;
	position: relative;
	padding: var(--verticalPadding) 0;
	opacity: 0;
}

.sec_inr{
	padding-top: 40px;
	padding-bottom: 60px;
}


	.sec_inr--campaign{
		padding-bottom: 0;
	}

	.sec_inr--contact{
		padding-top: 80px;
		padding-bottom: 0;
	}


.chipBox::before{
	--sideOffset: clamp( -60px , 6vw , 20px );

}

.sec_hdr{
	margin-top: -50px;
}

.sec_ttl{
	--sideOffset: 10px;
}

.sec_label{
	width: 180px;
	top: 50px;
	left: 30px;
	line-height: 1.5;
	font-size: 13px;
}

	.sec_label{
		width: calc( 100% - ( 30px * 2 ) );
	}

	.sec--toRight .sec_label{
		left: auto;
		right: 30px;
	}


.sec_label

.sec_body{}

.sec_ftr{
	margin-top: 4rem;
}





/* subSec
===============================
-- share
-- line

.subSec
.subSec_inr
.subSec_hdr
.subSec_ttl
.subSec_body
.subSec_ftr
*/


.subSec{
	padding-bottom: 0;
}
	.page--entry .subSec{
		padding-top: 30px;
	}
.subSec_inr{
	padding: 14rem 4rem 8rem;
}

	.page--entry .subSec_inr{
		padding: 9rem 2rem 8rem;
	}


.subSec_hdr{}

	.page--entry .subSec_hdr{
		margin-bottom: 1em;
	}

	.subSec_ttl{}

.subSec_label{
	top: 20px;
	font-size: 12px;
	letter-spacing: 3px;
	line-height: 2.5;
}

.subSec_body{}
.subSec_ftr{}


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

.loading{}


.loading_starsImg{
	max-width: 1000px;
}

.loading_front{}


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


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

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






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

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




.mv{}

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

.mv_texts{
	left: 1.5rem;
	bottom: 6rem;
}

.mv_text{
	font-size: clamp( 14px , 4vw , 24px );
}

	.mv_text--ja{
		font-size: clamp( 11px , 3vw , 14px );
	}



.mv_label{
	overflow-wrap: normal;
	word-break: keep-all;
}





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

.schedule{}

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



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


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

.schedule_list{
	margin-bottom: 5rem;
}


.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{
	}



.release_caption{
	margin-top: 3rem;
	font-size: 23px;
	font-weight: 400;
}





/* campaign */

.campaign_texts{
	justify-content: flex-start;
	font-size: min(3.3vw,13px);
}

.campaign_text{
	text-align: left;
}



/* entry */

.entry_item{
	margin-top: 4rem;
}

.entry_ttl{
	line-height: 2;
}

.entry_texts{
	margin-top: 2.5rem;
	font-size: 16px;
	line-height: 1.6;
}
	.entry_texts--ftr{
		margin-top: 0;
		font-size: 13px;
	}

.entry_notes{
	margin-top: 2.5rem;
	text-align: left;
}

.entry_ftr{
	margin-top: 6rem;
}


/* step */
.step{
	margin-top: 8rem;
}

.step_ttl{
	font-size: 16px;
}

.step_item{
	display: block;
	margin: 6rem 0;
}

.step_item:last-child{
	margin-bottom: 0;
}

.step_num{
	width: auto;
    text-align: center;
}

.step_body{
	padding-left: 0;
	text-align: left;
}

.step_texts{
	margin-top: 3rem;
	font-weight: 600;
}

.step_text{}

.step_notes{
	font-weight: 400;
	line-height: 1.8;
}

.step_btnWrap .btn {
	margin: auto;
}


/* contact */

.contact{}

.contact_notes{
	font-size: 11px;
	font-weight: 300;
}




/* form
===============================
*/

.form{}
.form_list{}
.form_item{}

.form_flex{
	display: block;
}

.form_term:not(.form_term--long),
.form_desc:not(.form_desc--long){
	width: 100%;
}

.form_desc:not(.form_desc--long){
	padding-left: 0;
}

.form_term{
	margin-bottom: 0.5em;
}


.form_btns{
	margin-top: 3em;
}

.form_btn{}




/* confirm時 */

.entry--confirm .form_term,
.entry--confirm .form_desc{
	text-align: center;
}


.entry--confirm .form_item--full{
	/* アップロードのブロックを想定 */
	margin-top: 4em;
}



/* tieup
===============================
*/

.tieup_img{
	width: 100%;
}



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

.loading_ttl{
	width: 26vw;
	margin-top: -37vw;
}