@charset "utf-8";



:root{
	--commonSidePadding: min(8vw, 40px);
	letter-spacing: .8px;
}


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



/* menu
===============================
Gnavi
*/

.Gnavi{
	/* translate: 100% 0; */
	flex-wrap: wrap;
	padding: 15px;
}

.Gnavi_list{
	display: block;
	width: 100%;
	margin-top: 20px;
	padding: 0;
}

.Gnavi_list:not(.is-active){
	height: 0;
	margin-top: 0;
}


.Gnavi_btn{}

.Gnavi_logo{
	text-align: left;
}

.Gnavi_item{
	color: #fff;
	border-bottom: 1px solid var(--primaryColor);
	background-color: #fff;
	scale: 0 1;
	transform-origin: left;
	transition: all .3s ease .1s, color .2s ease 0s;
}

.Gnavi_item:last-child{
	border-bottom: 0;
}


.Gnavi_item.is-active{
	color: var(--primaryColor);
	scale: 1;
	transition: .5s ease , color .8s .3s;
}


.Gnavi_item{}

.Gnavi_anchor{
	display: block;
	width: 100%;
}




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

.Gftr_link{
	margin-top: 2rem;
}


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


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

.sec{
	padding-top: 8rem;
}
	.sec--entry{
		padding-top: 2em;
	}

.sec_hdr{
	padding-left: 0;
	padding-right: 0;
}

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


.sec_body{
	--verticalPadding: 2rem;
}



/* centerLine
===============================
*/

.centerLine_item{
	margin: 0 .5em;
	color: var(--lineColor);
}




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

	.btn--click{}

	.btn--long{}


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

.label{
	width: 100%;
	white-space: nowrap;
	text-align: center;
}

/* hamberger
===============================
*/

.hamberger {
	--w: 50px;
	--h: 50px;

	/* position: fixed; */
	right: 0;
	top: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;

	width: var(--w);
	height: var(--h);
	z-index: 5;
}




.hamberger::before,
.hamberger::after,
.humberger_bar{
	width: 60%;
	height: 2px;
	background-color: #FFF;
}

.hamberger::before,
.hamberger::after{
	content: "";
	display: block;
}

.humberger_bar{
	margin: 8px 0;
}





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

.loading{}
.loading_ttlImg{
	width: 90%;
	max-width: 350px;
}

.loading_starsImg{
	max-width: 1000px;
}

.loading_movingBorder{
	--h: 1;
}

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



/* hero
===============================
*/

.pop_ttl{
	margin-top: 20px;
}


.hero_img{
	object-fit: contain;
}


/* pop */

.pop{
	width: 100%;
}

.pop_ttlImg{
	margin-bottom: 10px;
}

.pop_lead{
	position: absolute;
	bottom: 15svh;
	width: 100%;
	margin-left: 0;
	text-align: center;
}

.scrollGuide {
	left: 0;
	animation: blink 1.8s 0s infinite;
}

.scrollGuide_text {
	margin-top: -5px;
}


@keyframes blink {
	0%{
		opacity: 0;
	}
	20%{
		opacity: 1;
	}
}

/* release
===============================
*/

.release {}


/* releaseThumbs */


.releaseThumb_item:not(:first-child){
	margin-top: 60px;
}

.releaseThumb_ttl{
	display: flex;
}

.releaseThumb_notes{
	margin-top: 1em;
}


/* bluray */
.bluray_list{}


.bluray_list--pc{
	display: none;
}


/* details disc */
.release_details{
	margin: 5rem 0;
}

.disc_item{
	--verticalPadding: 1.2em;
}


.disc_songImg{
	width: 40px;
}

.disc_songText{
	font-size: 28px;
	line-height: 1;
}

.disc_songDetails{
	display: inline-block;
	margin-top: 0.8em;
	margin-left: 0;
	font-size: 12px;
	line-height: 1.2;
}



.disc_texts{
	font-size: 18px;
}


/* special
===============================
*/

.special{}
.special_ttl{
	font-size: 20px;
}

.special_texts,
.special_notes{
	text-align: left;
}

.special_texts{
	font-size: 15px;
}

.special_notes{
	margin-top: 1em;
	font-size: 11px;
}


.special_list{
	grid-template: auto / 1fr 1fr;
	gap: 40px 15px;
}

.special_name{
	font-size: 14px;
}

.special_desc{
	font-size: 12px;
}

.special_thumb{
	margin-top: 15px;
}

.special_btns{
	margin-top: 20px;
	font-size: 13px;
}

.special_btn{
	padding: .6em 1em;
}

.special_notes--list{
	line-height: 1.6;
}

.special_note--list{
	text-indent: -1em;
	padding-left: 1em;
}

.special_ftr{
	margin-top: 40px;
}





/* privileges
===============================
*/

.privileges{
	padding-top: 8rem;
}


.privilegesDetail{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column-reverse;
}

.privilegesDetail_texts{
	margin-left: 0;
	font-size: 15px;
	line-height: 1.6;
}

.privilegesDetail_pic{
	margin-top: 50px;
}

.privilegesDetail_caption{
	text-align: center;
}


.privilegesList_list{
	margin-top: 60px;
}

.privilegesList_item:not(:first-child){
	margin-top: 40px;
}



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

.campaign_texts{
	text-align: left;
}

.campaign_btn{
	font-size: 14px;
}


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

.entry{
	padding-bottom: 0;
}

.entry_texts{
	font-size: 16px;
}

	.entry_text--strong{
		font-size: 20px;
	}

	.entry_text--long{
		font-size: 15px;
	}

.entry_notes{
	text-align: left;
	font-size: 12px;
}



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

.step{
	padding: 40px 20px;
}

.step_item{
	padding: 2.5em 0;
	display: block;
}

.step_body--flex{
	display: block;
}

.step_num{
	text-align: center;
}

.step_texts{
	margin-top: 1em;
	line-height: 1.6;
	font-size: 16px;
}

.step_texts--step{

}

.step_notes{
	text-align: left;
}

.step_note{
	margin-top: 0.5em;
}

.step_btns{
	margin-top: 1.5em;
}


/* contact
===============================
*/

.contact_texts{
	font-size: min(14px,3.3vw);
}

.contact_notes{
	text-align: left;
}

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

.form{
	padding-left:  20px;
	padding-right: 20px;
}
.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;
}

input{
	line-height: 1;
}

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

.tieup_ttl{
	font-size: 19px;
}

.tieup_text{
	font-size: 17px;
	line-height: 1.6;
}



.tieup_small--sp{
	display: block;
	margin-top: 1.5em;
	font-size: 13px;
}



/* sns_item
===============================
*/

.sns_list{

}