@charset "utf-8";



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


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



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



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

.Gftr_link{
	margin-top: 2rem;
}

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


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

.sec{
	padding-bottom: 30px;
}
	.main > .sec:first-child{
		padding-top: 50px;
	}
	.main > .sec:last-child{
		padding-bottom: 120px;
	}

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

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

.sec_ttl{
	display: flex;
	justify-content: center;
}
.sec_ttlImg{
	width: 110%;
	max-width: 480px;
}

	.sec_ttlImg--lyric{
		width: 150%;
		max-width: 561px;
	}

	.sec_ttlImg--tieup{
		max-width: 560px;
	}

.sec_body{
	/* padding: 2em 0; */
}


/* subSec
===============================
*/


.subSec{
	padding-top: 5rem;
	padding-bottom: 4rem;
	text-align: center;
}

.subSec_hdr{
	margin-bottom: 4rem;
}

.subSec_ttl{
	line-height: 2;
	font-size: 1.5em;
}

.subSec_body{
	text-align: center;
}



/* texts & notes
===============================
*/

.notes ,
.texts{
	text-align: left;
}

.notes{
	line-height: 1.8;
}






/* btn
===============================
*/
.btn{
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	font-weight: 400;
	font-size: 16px;
}

	.btn--click{
		padding: 1rem .8rem;
		font-size: min( 16px , 4vw);
	}

	.btn--long{
		max-width: 323px;
	}


/* label
===============================
*/

.label{
	font-size: 16px;
	margin-right: 0;
}

.label--big{
    padding: 0.4em 2em;
	line-height: 2;
	background: url(../images/bg_entry_ttlBig.png) center /100% 100% no-repeat;
}


/* marker
===============================
*/

.marker {
	background-size: auto 5px;
}



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

.loading{}
.loading_ttlImg{
	width: 90%;
}

.loading_starsImg{
	max-width: 1000px;
}

.loading_movingBorder{
	--h: 1;
}

.loading_movingBorder img{
	height: 10vw;
	min-height: auto;
}



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


.obj_item{
	max-width: 200vw;
}

.obj_img{
	width: auto;
	max-width: none;
	height: calc( var(--h) * 0.75);
	transition-duration: .8s;
}

.obj_item--right .obj_img.is-active{
	translate: 200% 0;
}

.obj_item--left .obj_img.is-active{
	translate: -200% 0;
}



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

.mv{
	overflow: hidden;
	position: relative;
	z-index: 0;
}

/* .mv::after{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	background: linear-gradient(215deg, rgba(0,0,0,0) 0% ,rgba(0,0,0,0) 50% ,rgba(0,0,0,.5) 75% ,  rgba(0,0,0,.8) 100% );
	z-index: 1;
} */


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

.pop{
	font-size: 16px;
	font-weight: 500;
	left: 0;
	bottom: 2vh;
	margin-left: auto;
	margin-right: auto;
	z-index: 2;
	text-align: center;
}

.pop_item{
	padding: 1rem 0;
	line-height: 1;
}

.pop_img{
	width: 100vh;
}

/* release
===============================
*/
.release_pic{
	/* margin-bottom: 3rem; */
}

.release_ttl{
	font-size: min( 22px , 5vw);
	padding: 4rem 0;
	font-weight: 500;
}





/* campaign
===============================
*/

.campaign_ttl{
	font-size: min( 2rem , 5vw );
	margin: 5rem 0 1.5rem;
}
	/* .campaign_ttl::before{
		min-height: 40px;
		min-width: 40px;
	} */

/* .campaign_ttl--jkt{
	font-size: min( 2rem , 4.7vw );
	line-height: 1.2;
} */

.campaign_texts{
	padding: 0;
	font-weight: 500;
}

.campaign_text{
	/* font-size: min( 14px , 2.75vw ); */
	line-height: 1.8;
}


.campaign_note{
	font-size: min( 12px , 2.5vw );
}

.campaign_btn{
	padding: 1em 3rem;
	font-size: 12px;
}



/* entry
===============================
*/

.entry_list{
	padding-top: 8rem;
}

.entry_item{
	display: block;
	margin-top: 8rem;
}

	.entry_item:last-child{
		padding-bottom: 0;
	}


.entry_texts{
	margin-top: 1em;
	font-size: 18px;
	font-weight: 500;
}

.entry_text--long{
	font-size: 16px;
	font-weight: 600;
}


.entry_notes{
	padding: 0;
	font-size: 13px;
}

.entry_note--strong{
	font-size: 14px;
	font-weight: 400;
}


/* step
===============================
*/

.step{
	/* margin: 1rem 0.8em 3rem; */
}
	.step:first-child{
		/* margin-top: 3rem */
	}

.step_body--01{
	display: block;
}

.step_body{
	font-size: 16px;
}


.step_list{
	padding: 0;
}

.step_item{
	display: block;
	padding: 3rem 0 3.5rem;
}

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

	.step_num{
	/* margin-bottom: 1rem; */
	font-size: min(20px,4.2vw);
}

.step_ttl{
	letter-spacing: 0;
	margin: 0;
}

.step_body{
	padding: 2rem 0 0;
}
.step_texts{
	font-size: min(16px,4vw);
}

.step_text{}

.step_notes{
	padding-top: 1.5em;
	padding-bottom: 0;
	font-size: 13px;
}

.step_note:not(:first-child){
	margin-top: .5em;
}



.step_btns{
	margin-top: 2.5rem;
}



/* step
===============================
*/

.contact{
	display: block;
	margin-top: 9rem;
}

.contact_list{
	justify-content: center;
}

.contact_term{
	margin-bottom: 1em;
}

.contact_desc{}

.contact_anchor{
	font-size: 18px;
}

.contact_notes{
	font-size: 13px;
}

.contact_note{
	margin-top: 0;
}






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





/* confirm時 */

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


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




/* note , modal
===============================
*/

.note_sec_ttl{
	width: 100%;
	max-width: 350px;
}

.note{
	padding: 2rem;
}

.note_ttl--big{
	margin-bottom: 3rem;
}

.note ul,
.note_text{
	font-size: min( 14px , 3vw );
}



.modal_content{
	width: 100%;
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}
.modal_content,
.modal_inr{
	min-height: 80vh
}


.closeBtn_wrap {
	top: -2vh;
	right: 0;
}

.closeBtn{
	width: 10vw;
	height: 10vw;
}

.closeBtn::before, .closeBtn::after{
	position: absolute;
    top: -50%;
	width: 10vw;
}





/* lyric
===============================
*/

.lyric_texts{
	font-size: min( 12px , 3vw);
}
.lyric_text{}


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

.tieup_picWrap{
	margin-bottom: 3rem;
}
.tieup_movieWrap{
	margin-bottom: 3rem;
}

.tieup_phrase{
	font-size: min( 3.2vw , 14px);
}

.tieup_strong{
	font-size: min( 4vw , 17px);
}

.tieup_info{
	margin: 5rem 0 3rem;
}

.tieup_info_copy{
	font-size: min( 2.5vw , 13px);
}

.tieup_text{
	font-size: min( 18px , 3.9vw);
}

.tieup_text--sub{
	font-size: min( 17px , 3.7vw);
}

