@charset "utf-8";



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

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



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

.Ghdr{
	padding: 2vh 0 0 3vw;
}


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



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


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

.sec,
.snowCover_wrap > .sec{
	padding-left: 34px;
	padding-right: 34px;
}




.sec{
	padding-top: 80px;
	padding-bottom: 80px;
}
	.main > .sec:first-child{
		padding-top: 80px;
	}
	.snowCover_wrap > .sec{
		padding-top: 20px;
		padding-bottom: 40px; /* 隙間埋める */
	}


.sec_hdr{}
	.sec_hdr::after{
		margin-bottom: min(4rem,10vw);
	}



/* btn
===============================
*/
.btn{}
	.btn--link{
		font-size: min(14px,3vw);
	}

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



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

.mv{}
.mv_img{
	object-position: center;
}


/* release
===============================
*/
.release_ttl{
	font-size: min( 49px , 10vw);
}



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

.campaign_texts{
	margin-bottom: 80px;
	padding: 0 30px;
}
.campaign_texts::after{
	width: 120%;
	height: calc( 100% + 2rem);
	margin-left: auto;
	margin-right: auto;
	border-radius: 50%;
	top: 0;
	left: -10%;
	right: 0;
}
.campaign_text{
	padding-top: 1rem;
	padding-bottom: 1rem;
	text-align: left;
	font-size: min(17px,3.4vw);
	line-height: 1.4;
}

.campaign_text.serif strong{
	margin-top: 1.5rem;
	font-size: 1.5em;
}

.campaign_text.serif strong+br+strong{
	margin-top: 0;
}



.campaign_text.serif .st01{
	margin-top: 0;
	font-size: 1.1em;
	line-height: 1.2;
}
.campaign_text.serif .st02{
	font-size: 1.1em;
	line-height: 1.2;
}
.campaign_text.serif .st03{
	display: inline;
	margin-top: 0;
	font-size: 1.2em;
	line-height: 1.2;
}
.campaign_text.serif .st04{
	font-size: 1.1em;
	line-height: 1.2;
}
.campaign_text.serif .st05{
	margin-top: 0.3rem;
	margin-bottom: 0;
	font-size: 1.1em;
	line-height: 1.2;
}
.campaign_text.serif .st06{
	margin-top: 1.2rem;
	line-height: 1.2;
	font-size: 1.2em;
}
.campaign_text.serif .st07{
	margin-bottom: 0;
	line-height: 1.2;
	font-size: 1.2em;

}
.campaign_text.serif .st08{
	margin-top: 0;
	font-size: 1.1em;
}
.campaign_text.serif .st09{
	line-height: 1.2;
	font-size: 1.1em;
}

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

.goods_ttl{
	font-size: min(17px,4.3vw);
}

.goods_img{
	max-width: 100%;
}

.goods_pic{
	max-width: 420px;
	margin-left: auto;
	margin-right: auto;
}


/* apply
===============================
*/


.apply{
	margin-top: 4rem;
}

.apply_hdr{
	flex-wrap: wrap;
	text-align: left;
	margin-bottom: 1rem;
}

.apply_ttl,
.apply_hdr_text{
	text-align: left;
}

.apply_ttl{
	display: inline-block;
	width: auto;
	margin-right: 0;
	margin-bottom: 1rem;
	padding: .5em .8em;
	font-size: min(17px,4.2vw);
}
.apply_hdr_text{
	width: 100%;
	font-size: min(15px,3.4vw);
	font-weight: 700;
}
	.apply_hdr_text--mail{
		font-size: min(18px , 6vw);
	}

.apply_texts{
	font-size: min(15px,3.4vw);
}

.apply_anchor::after{
	border-bottom: 1.4em solid #FFF;
}

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

.step{
	padding: 0 0 0 1.2em;
	border-left-width: 7px;
}
	.step:first-child{
		margin-top: 3rem
	}

.step_num{}
.step_ttl{
	letter-spacing: 0;
	font-size: min(16px,3.6vw);
}
.step_texts{

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



/* form , formArea
===============================
*/

body > .formArea{
	padding-left: 20px;
	padding-right: 20px;
}


.formArea_inr{
	padding-top: 1.5rem;
}
.formArea_ttl{
	font-size: min( 22px , 5.4vw);
}
.form_message{
	font-size: min( 14px , 3.2vw );
}

.form_dl{
	margin-top: 3rem;
	padding: 0 20px;
	font-size: min( 22px , 4vw);
	font-weight: 500;
}

	.form_dl--confirm{
		flex-direction: column;
	}


.form_dl--confirm .form_term,
.form_dl--confirm .form_desc{
	width: 100%;
	text-align: center;
}

.form_term{
	margin-bottom: 0.5rem;
}

.form_desc{
	margin-bottom: 3rem;
}

.form_term--short,
.form_desc--short{
	width: 80%;
}

.form_desc > label + p{
	font-size: min( 14px , 3.2vw );
}

.form_btns{
	width: 80%;
}




.form input[type="text"],
.form input[type="email"] {
    padding: 1em;
}


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

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

.note{
	padding: 2rem;
}

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

.lyric_texts{
	font-size: min( 18px , 4vw);
}
.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);
}

/* info_list
===============================
*/

.info_list{}
.info_term{
	width: 7em;
	font-size: min( 3.3vw , 14px);
}
.info_desc{
	font-size: min( 3.5vw , 18px);
	font-weight: 500;
}
.info_aside{
	font-size: min( 2.5vw , 13px);
	font-weight: 200;
}

/* radio
===============================
*/

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



/* snowCover
===============================
*/

.snowCover::before,
.snowCover::after{
	animation-duration: 25s ease;
}

.Gftr .snowCover{
	height: 150vw;
}
.Gftr .snowCover::before{}


/* Gftr */
@keyframes gftrSnowUp {
	from{ transform: translateY(60px); top: 0}
	to{   transform: translateY(60px); top: -90px;}
}
@keyframes gftr_wrapSnowUp {
	from{ top: 0}
	to{ top: -200px}
}
