@charset "utf-8";



/*  ===============================
			ROOT
===============================*/

/* variable
===============================
	--bigInrMaxW -
	--cntInrMaxW - pc時inrのmaxwidth inr
*/



/* 1200px < window */
:root{
	--windowMinW: 1024px;
	--windowMaxW: none;
	--cntInrMaxW: 960px;
	--bigInrMaxW: 1200px;
	--secBodyWidth: 960px;

	/* js */
	--cntWidth: ;
	--windowWidth: ;


	--commonSidePadding: 40px;
	--sans-serif: 'Noto Sans JP', sans-serif;
	--serif: 'Noto Serif JP' , serif;

	font-family: var(--sans-serif);
	color: #FFF;
	letter-spacing: 1px;

	--accentColor: #F0CEC6;
	--darkAccentColor: #B4DF2E;
	--darkTextColor: #4B4B4B;

	counter-reset: campaignIndex 1;
}



html,
body,
.loading{
	max-width: var(--windowMaxW);
	min-width: var(--windowMinW);
}

.Ghdr,
.mv,
.main{
	min-width: var(--windowMinW);
}


.inr{
	max-width: var(--cntInrMaxW);
	margin-left: auto;
	margin-right: auto;
}

.inr--mid{
	padding-right: 40px;
	padding-left: 40px;
}

.inr--big{
	max-width: var(--bigInrMaxW);
	margin-left: auto;
	margin-right: auto;
}





/* window = 1025px ~ 1199px */
@media screen and (min-width: 1025px) and (max-width: 1199px) {
	:root{
		--windowMinW: 1024px;
		--windowMaxW: 100%;
		--cntInrMaxW: 960px;
		--bigInrMaxW: 1200px;
	}
}

/* window = 769px ~ 1024px */
@media screen and (min-width: 769px) and (max-width: 1024px) {
	:root{
		--windowMinW: 1024px;
		--windowMaxW: 100%;
		--cntInrMaxW: 960px;
		--bigInrMaxW: 1200px;
	}
}

/* window < 768px */
@media screen and (max-width: 768px) {
	:root{
		--windowMinW: none;
		--windowMaxW: 100%;
		--cntInrMaxW: 480px;
		--bigInrMaxW: 100%;
	}

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



/* init */

body{
	position: relative;
	background: #000037;
	overflow-x: hidden;
}



/* fade init */

.sec{
	opacity: 0;
}
.fade.is-show,
.sec.is-show{
	animation: fadeInToTop 1s forwards;
	will-change: opacity , transform , animation;
}




/*  ===============================
	animation & transition
===============================*/


/* clip-to-right
===============================
*/


.clip-to-right{
    clip-path: inset(0 100% 0 0);
    transition: .5s cubic-bezier(0.37, 0, 0.63, 1);
    transition-property: clip-path;
}

	.mv .clip-to-right{
		transition-delay: .3s;
	}


	.mv.is-active .clip-to-right,
	.sec.is-show .clip-to-right{
			clip-path: inset(0);
	}


 /* scale-in-center
===============================

*/


/* show animation */
.scale-in-center.is-active{
	opacity: 1;
	clip-path: ellipse( 0 0 at center);
	-webkit-animation: scale-in-center 2s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	animation: scale-in-center 2s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}


 @keyframes scale-in-center {
from{
	clip-path: ellipse( 0 0 at center);
}
to{
	clip-path: ellipse( 200vh 200vh at center);
}

}



.animation_blink{
	opacity: 0;
	animation: blinkOpacity 2s linear 0s infinite;
}

@keyframes blinkOpacity {
	0.0%,
	2.9%,
	4.0%,
	6.9%,
	8.0%,
	100%{
		opacity: 1;
	}
	3.0%,
	3.5%,
	7.0%,
	7.5%{
		opacity: 0;
	}
}




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


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

.Gftr{
	position: relative;
	overflow: hidden;
	padding-top: 2rem;
	padding-bottom: 2rem;
	color: #0F0F0F;
	font-family: 'EB Garamond' , serif;
	background-color: #fff;
	z-index: 1;
}
.Gftr_inr{
	position: relative;
	z-index: 0;
}
.Gftr_sns{

}
.Gftr_anchor{
	font-size: 18px;
	font-weight: 500;
	text-decoration: none
}

.Gftr_link{
	margin-top: 3rem;
	text-align: center;
}

.Gftr_copy{
	margin-top: 2rem;
	text-align: center;
	font-size: 13px;
	font-weight: 800;
}





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


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

.sec,
.sec.formArea:first-child:last-child{
	position: relative;
	padding: 6rem 1.375rem;
	z-index: 10;
}
	.main > .sec:first-child{
		padding-top: 200px;
	}
	.main > .sec:last-child{
		padding-bottom: 200px;
	}


	.sec--note{
		padding: 0;
	}



.sec_hdr{
	margin: 0 auto 5rem;
	text-align: center;
}
	.sec_hdr--dark::after{
		border-color: var(--darkAccentColor);
	}
	.sec_hdr--note{
		margin-bottom: 0 !important;
		text-align: center;
	}
	.sec_hdr--note::after{
		display: none;
	}


.sec_inr{
	margin-left: auto;
	margin-right: auto;
}


.sec_ttl{
	position: relative;
	text-align: center;
	display: inline-block;
	width: auto;
	margin: auto;
	z-index: 9;
}


.sec_ttlImg{}


.sec_body{}
.sec_ftr{}



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

.btn{
	display: inline-block;
	min-width: 20em;
	padding: 2.5em 0;
	text-align: center;
	font-weight: bold;
	background: url(../images/btn.png) no-repeat center /contain;
	transition: .3s;
	caret-color: transparent;
	cursor: pointer;
}

.btn_wrap--dl{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

.btn--invalid{
	cursor: default;
}

@media screen and (min-width:769px) {
	.btn:not(.btn--invalid):hover{
		filter: brightness(.8);
	}
}

.btn--short{
	width: auto;
	min-width: 11em;
	background-image: url(../images/btn--short.png);
}

.btn--invalid{
	filter: grayscale(1);
}


	.closeBtn::after,
	.closeBtn::before{
		height: 2px;
	}


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

.label{
	display: inline-block;
	padding: .5em .8em;
	background-color: #37BEF0;
	color: #0f0f0f;
	font-size: 17px;
	font-weight: bold;
	line-height: 1;
}



/* logo
===============================
*/

.logo{
	position: absolute;
	width: auto;
	left: 0;
	right: 0;
	margin: auto;
	text-align: center;
}
.logoImg{
	width: auto;
	height: 100%;
}


/* bg_obj , bg_stardust
===============================
*/


.bg_obj_wrap {
	position: absolute;
	overflow: hidden;
	width: 100%;
	max-width: 1920px;
	left: 0;
	right: 0;
	/* height = js */
	margin: 0 auto;
}

@media screen and ( min-width: 1200px ) {

	.bg_obj_wrap::before,
	.bg_obj_wrap::after{
		content: "";
		position: absolute;
		display: block;
		width: 1920px;
		height: 100%;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;

		z-index: 2;
	}

	.bg_obj_wrap::before{
		background: linear-gradient( to left , #00003700 95% , #000037 100%);
	}

	.bg_obj_wrap::after{
		background: linear-gradient( to right , #00003700 95% , #000037 100%);
	}

}

.bg_obj {

	/**
	*
	* @param cntWidth    - #mainのwidth jsでリサイズイベントがあると書き換わる
	* @param cntInrMaxW  - .inrのwidth
	* @param cntPadding  - cntInrMaxW から secBodyWidthを引いたinrの余白部分
	* @param sidePadding - cntWidth から cntWidthを引き端からcntInrMaxW両脇のoffset
	* @param sideOffset  - 要素の位置する逆側の側面からの距離px cntPaddingも含む
	* @param areaWidth   - objの表示領域の幅
	*
	*/

	--cntPadding: calc((var(--cntInrMaxW) - var(--secBodyWidth)) / 2);
	--sidePadding: calc((var(--cntWidth) - var(--cntInrMaxW)) / 2);
	--sideOffset: calc(var(--cntWidth) - var(--sidePadding) - var(--cntPadding));
	--width: min(var(--sidePadding), var(--padding));

	width: var(--width);
	height: 100%;
	min-width: 240px;
	max-width: 400px;

	position: absolute;
	z-index: 1;

}



.bg_obj_progress {
	display: none;
}

	.bg_obj--left {
	right: var(--sideOffset);
	}

	.bg_obj--right {
	left: var(--sideOffset);
	}

  @media screen and ( max-width: 1200px ) and ( min-width: 769px ) {
	.bg_obj--left {left:;}
	.bg_obj--right {right:;}
  }


.bg_stardust{
	position: absolute;
	height: 40vw;
	min-height: 320px;
	max-height: 600px;
	scale: 1;
	z-index: -1;
	filter: brightness(.7);
}


.bg_stardust--left{
	text-align: left;
	left: -20vw;
}

.bg_stardust--right{
	right: -20vw;
}





.bg_stardust_img{
	text-align: right;
	height: 100%;
	width: auto;
	max-width: none;
}




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

.mv{
	position: relative;
	height: 100vh;
	background-color: #000;
	z-index: 9;
	opacity: 0;
}

.mv_img{
	object-fit: cover;
	object-position: top center;
	max-width: 100%;
	height: 100vh;
	transition: 1s ease;
}



.pop{
	position: absolute;
	left: 20px;
	bottom: 20px;
}



.pop_item{
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	text-align: center;
	opacity: 0;
	transition: .5s;
}

.mv_logo--eve{
	height: 12vh;
	top: 9%;
	transition: .5s linear .8s;
}
.mv_logo--title{
	height: 8vh;
	top: 36%;
	transition: .5s linear 1.0s;
}

.mv_release{
	height: 12.5vh;
	top: 53%;
	transition: .5s linear 1.2s;
}
.mv_text{
	height: 4.55vh;
	top: 79%;
	left: 6%;
	transition: .5s linear 1.4s;
}

.mv_logoImg--eve{
	transform: rotate(-3deg)
}
.mv_logoImg--title{
	transform: rotate(7deg)
}



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

.release{
	max-width: 487px;
	margin-right: auto;
	margin-left: auto;
}

.release_pic{
	margin-bottom: 2rem;
	text-align: center;
}

.release_img{
	max-width: 443px;
}

.release_ttl{
	font-family: var(--serif);
	margin-bottom: 4rem;
	text-align: center;
	font-size: 27px;
	font-weight: 700;
}

.release_ftr{
	text-align: center;
}
.release_btn{

}




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

.campaign{
	margin-top: 100px;
}

@media screen and (min-width:769px) {
	.campaign{
		padding: 0 2.5rem;
	}
}

.campaign_hr{
	color: #555;
}

.campaign_leads{
	font-weight: 400;
	line-height: 2;
	text-align: center;
	font-size: 18px;
}

.campaign_lead{}


/*  */
.campaign_ttl{
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: var(--serif);
	font-weight: 600;
	color: #96DCFA;
	font-size: 38px;
	letter-spacing: 1px;
}

.campaign_ttl::before{
	content: "";
	display: inline-block;
	width:  2em;
	height: 2em;
	margin-right: .5em;
	background: center /contain no-repeat;
}

.campaign_ttl--1::before{
	background-image: url(../images/ttl--campaign_1.png);
}
.campaign_ttl--2::before{
	background-image: url(../images/ttl--campaign_2.png);
}


.campaign_texts{
	position: relative;
	margin-top: 40px;
	z-index: 15;
	font-weight: 300;
}


.campaign_text{
	position: relative;
	line-height: 1.8;
	font-size: 14px;
	font-weight: 300;
	z-index: 15;
}

.campaign_text--dl{
	text-align: center;
}


.campaign_text strong{
	position: relative;
	display: inline-block;
	padding: 0 .5rem;

	font-weight: 700;
	font-size: 1.1em;
	transition: .5s;
	z-index: 15;
}



.campaign_note{
	font-size: 12px;
	font-weight: 300;
}

.campaign_note--dl{
	text-align: center;
}


.campaign_btns{
	margin-top: 40px;
	text-align: center;
}

.campaign_btns + .campaign_btns{
	margin-top: 0;
}

.campaign_btn:not(:first-child){
	margin-left: 1rem;
}

.campaign_invalidText{
	text-align: center;
}



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

.goods{
	margin: 80px 0;
}
.goods_hdr{}


.goods_ttl{
	text-align: center;
	font-size: 21px;
	font-weight: 600;
	margin-bottom: 1.5rem;
}

.goods_pics{
	display: flex;
	justify-content: center;
}

.goods_pic{
	text-align: center;
	margin: 1.5rem 1rem;
}

.goods_img{
	width: auto;
	max-width: 324px;
}
.goods_pic_text{
	margin-top: 1.5rem;
	line-height: 1.6;
	font-size: 1rem;
	font-weight: 300;
}

.goods_list{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	margin: 60px auto 0;
}

.goods_list--short{
	max-width: 680px;
}


.goods_term{
	margin-top: 2rem;
	font-size: 17px;
}

.goods_desc{
	font-size: 22px;
	line-height: 1.6;
}

@media screen and (min-width:769px) {
	.goods_term{
		max-width: 20%;
	}

	.goods_term--short{
		max-width: 30%;
	}

	.goods_desc{
		margin-top: 2rem;
		padding-left: 1rem;
		width: 100%;
		max-width: 80%;
	}

	.goods_desc--short{
		max-width: 70%;
	}

	.goods_term:nth-child(1),
	.goods_desc:nth-child(2){
		margin-top: 0;
	}

}


.goods_anchor{
	position: relative;
	transition: .5s;
	padding: 0 .5rem;
	z-index: 15;
}

	.goods_anchor::after{
		content: "";
		position: absolute;
		width: 100%;
		height: 1.6em;
		top: 0;
		left: 0;
		right: 0;
		z-index: -1;
		display: inline-block;
		border-bottom: 1px solid;
		transition: .8s;
		border-radius: 2px;
	}

	.goods_anchor--mail{}
		.goods_anchor--mail::after{
			top: .1em;
			border-top-color: #FFF;
		}


	@media screen and (min-width:769px) {
		.goods_anchor:hover{
			color: #000;
		}

		.goods_anchor:hover::after{
			border-top: 1.6em solid #FFF;
		}
	}


.goods_ftr{
	margin-top: 3rem;
	line-height: 2;
	text-align: center;
}

.goods_ftr_texts{
	font-size: 14px;
	font-weight: 300;
}

.goods_ftr_text{
	background: linear-gradient( to bottom , rgba(0,56,134,.8) , rgba(紫のrgb , .8) , rgba(ピンクのrgb , .8));
}




/* howto
===============================
*/

.howto{}

.howto a{
	text-decoration: underline;
	transition: .3s;
	color: #37BEF0
}
.howto  a:hover{ color: red}

	.howto--mail{
		margin-top: 10rem;
	}

.howto_hdr{
	display: flex;
	align-items: center;
	margin-bottom: 1rem;
	flex-wrap: wrap;
}
.howto_ttl{
	margin-right: 1rem;
	color: #37BEF0;
	font-size: 24px;
	font-weight: bold;
}
.howto_hdr_text{
	font-size: 22px;
	font-weight: bold;
}
.howto_texts{
	text-align-last: left;
	line-height: 1.8;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: .5px;
}
.howto_text{
	margin-bottom: .5rem;
}

.howto_ftr{
	display: block;
	margin-top: 6rem;
	text-align: center;
}

.howto_ftr_text{
	font-size: 14px;
	font-weight: 300;
}

.howto_btn{
	width: 100%;
	max-width: 344px;}


.howto_step{}

.howto--modal{}





/* cautions */
.cautions{
	padding: 1rem 1.5rem;
	border: 1px solid #555;
}

.cautions_term{
	font-weight: 400;
	margin-bottom: .5em;
}
.cautions_desc{
	padding-left: 1em;
	text-indent: -1em;

	color: #FFF;
	font-weight: 300;
	font-size: 13px;
	line-height: 2;
}

.cautions_text{
}


.campaign_sec--modal{
	margin-top: 0;
	padding: 0 6rem;
}


.campaign_hdr--modal{
	margin-bottom: 2.5rem;
	font-weight: 700;
}

.campaign_ttl--modal{
	margin-bottom: .3em;
	font-size: 28px;
	line-height: 1.6;
	color: #37BEF0;
	text-align: center;
}

.campaign_subTtl--modal{
	font-size: 1.25rem;
	font-weight: 500;
	color: #FFF;
	text-align: center;
}

.campaign_body--modal{
	margin-top: 5rem;
	color: #FFF;
}



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

.step_wrap{}

.step{
	margin: 4rem 1em 5rem;
	padding: .5rem 0;
	line-height: 2;
}




.step_num{
	margin-bottom: 1.5rem;
	line-height: 1;
	font-size: 24px;
	font-weight: 900;
}

.step_ttl{
	margin-bottom: 1.5rem;
	font-size: 16px;
	font-weight: 500;
}

.step_texts{
	font-size: 15px;
}

.step_text,
.step_note{
	padding-left: 1em;
}

.step_text{
	text-indent: -1em;
	font-weight: 300;
}

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


.step_note{
	font-size: 14px;
	font-weight: 200;
}






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

.formArea{
	color: #000;
	padding: 0 40px 2rem;
}

	.formArea a{
		text-decoration: underline;
		transition: .3s;
	}
	.formArea  a:hover{ color: red}


.formArea_inr{
	position: relative;
	padding: 5rem 0;

}

.formArea_inr::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	min-height: 50px;
	background-color: rgba(255,255,255,.85);
	z-index: -2;
}


.formArea_hdr{}
.formArea_ttl{
	text-align: center;
	font-size: 33px;
	font-weight: 900;
}
.formArea_body{}

@media screen and (min-width:769px) {
	.formArea_body{
		width: 780px;
		margin-left: auto;
		margin-right: auto;
	}	
}

.form.disabled{
	opacity: 0.3;
	caret-color: transparent;
}

.form_message{
	margin-top: 2rem;
	font-size: 1.2rem;
	text-align: center;
	padding: 0 20px;
}

.form_error{
	color: #C80000
}

.form_dl{
	margin: 4em 0;
	font-size: 22px;
	font-weight: bold;
}

.form_dl--confirm{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.form_term{
	margin-bottom: 1.5rem;
}
.form_desc{
	margin-bottom: 4rem;
}

.form_dl--confirm .form_term{
	width: 30%;
}
.form_dl--confirm .form_desc{
	width: 70%;
}


.form_term--short,
.form_desc--short{
	max-width: 350px;
	margin-left: auto;
	margin-right: auto;
}

.form_desc > label {
	display: block;
	background-color: #fff;
}

.form_desc > label + p,
.rim1_fileUploadedName{
	margin-top: 1rem;
	text-align: center;
	font-size: 17px;
	font-weight: normal;
	color: #707070;
}




.form_btns{
	max-width: 350px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.form_btn{
	margin-top: 1rem;
}

.form_btn:first-child{
	margin-top: 0;
}


.form input[type="text"],
.form input[type="email"]{
	padding: 1em;
	line-height: 1.4;
	background-color: #fff;
	border: 1px solid #707070;
}



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



.note{
	display: none;
	padding: 3rem 2rem;
	background-color: rgba(255,255,255,.85);
	color: #000;
}
.note.is-active{ display: block;}

.note_ttl{
	margin-bottom: 1rem;
	font-size: 18px;
}
	.note_ttl--big{
		margin-bottom: 3.5rem;
		font-size: 26px;
		text-align: center;
	}
	.note_ttl--big strong{
		font-weight: 500;
	}


.note_text,
.note ul{
	margin-bottom: 2rem;
	font-size: 1rem;
	line-height: 1.6;
}

.note li{
	margin-bottom: .2rem;
	text-indent: -1rem;
	padding-left: 1rem
}


/* modal */

.modal_wrap{
	padding: 0 20px;
}

.modal_content{
	width: 100%;
	max-width: 1024px;
	padding-left: 20px;
	padding-right: 20px;
	min-height: 70vh;

}

.modal_inr{
	min-height: 70vh;
}

.closeBtn_wrap {
	position: absolute;
	right: 20px;
	top: -80px;
}


.modal_cnt:not(.is-active){
	display: none;
}




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

.lyric{
	font-size: 16px;
	font-weight: 300;
	line-height: 2;
}
.lyric_texts{
	text-align: center;
}

.lyric_text{
	margin-bottom: 2rem;
	text-align: center;
}



/* accordion */


.rim1_accordionUi{
	--accordionColor: #37BEF0;
	--accordionBgColor: transparent;
	--hoverColor: #FFF;
	--hoverBgColor: #37BEF0;

	position: relative;
	margin-left: auto;
	margin-right: auto;
	color: var(--accordionColor);
	background-color: var(--accordionBgColor);
	font-size: 14px;
	font-weight: 100;
	transition: .5s;
	display: flex;
	flex-direction: column;
	max-width: 350px;
	cursor: pointer;
}

	.rim1_accordionUi::before{
		content: "・・・";
		display: inline-block;
		line-height: 1;
		color: var(--accordionColor);
	}


	.rim1_accordionUi::after{
		content: "";
		position: absolute;
		display: inline-block;
		width: 4rem;
		height: 1px;
		left: 0;
		right: 0;
		margin: auto;
		bottom: 1px;
		box-shadow: 0 1px 0 0 var(--accordionColor);
		transition: .5s;
	}

@media screen and (min-width:769px) {
	.rim1_accordionUi:hover{
		color: var(--hoverColor);
		background-color: var(--hoverBgColor);
		padding: 1rem 2rem;
	}

	.rim1_accordionUi:hover::before{ color: var(--hoverColor)}
	.rim1_accordionUi:hover::after{ box-shadow: none}
}


	.rim1_accordionUi.is-active,
	.rim1_accordionUi.is-active::before,
	.rim1_accordionUi.is-active::after{
		display: block;
		max-height: 0;
		opacity: 0;
		visibility: hidden;
		transition: all 1s, max-height 1s ease-out .8s;
	}


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

.tieup{}

.tieup_picWrap{
	max-width: 788px;
	margin: 0 auto 80px;
	text-align: center;
}
.tieup_img{
	width: auto;
}
.tieup_pic_caption{
	margin-top: 0.5rem;
	font-size: 14px;
	font-weight: 200;
	text-align: left;
}

.tieup_movieWrap{
	margin-bottom: 80px;
	max-width: 788px;
}
.tieup_texts{
	line-height: 2;
}
.tieup_phrase{
	margin-bottom: 2em;
	font-weight: 300;
}
.tieup_ttl{
	color: #BE0027;
	font-size: 1.25rem;
	font-weight: 700;
}
.tieup_text{
	font-size: 1.1875rem;
	font-weight: 600;
}
.tieup_text--sub{
	font-size: 1rem;
	font-weight: 200;
}
.tieup_strong{
	font-weight: 700;
}
.tieup_info{
	margin: 100px auto 60px;
	padding: 40px 0;
	border: 1px solid #fff;
	border-width: 1px 0
}
.tieup_info_ftr{
}
.tieup_info_copy{
	font-weight: 200;
	font-size: 14px;
}

.tieup_ftr{
	margin-top: 5rem;
	text-align: center;
}
.tieup_btn{}

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

.info_list{
	display: flex;
	flex-wrap: wrap;
}
.info_term{
	width: 100px;
	font-size: 14px;
	font-weight: 100;
}
.info_desc{
	width: calc(100% - 100px);
	font-size: 19px;
	font-weight: 400;
}

.info_term,
.info_desc{
	margin-bottom: 2rem;
}

.info_aside{
	font-size: 17px;
	font-weight: 200;
}


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

.radio{}
.radio_lead{
	margin-bottom: 60px;
	font-size: 20px;
	line-height: 2;
}
.radio_btn_wrap{
	margin-bottom: 60px;
	text-align: center;
}
.radio_btn{
}
.radio_picWrap{

}
.radio_img{

}




/* sns_list
===============================
*/
.sns_list{
	display: flex;
	justify-content: center;
}
.sns_item{
	width: 2.625rem;
	height: 2.625rem;
	margin-left: 1.5rem;
}
	.sns_item:first-child{
		margin-left: 0;
	}
.sns_anchor{
	position: relative;
	display: flex;
	height: 100%;
	justify-content: center;
	align-items: center;
	text-align: center;
	z-index: 1;
}

.sns_anchor::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #37BEF0;
	transform: rotate(45deg);
	z-index: 0;
}

@media screen and (min-width:769px) {
	.sns_anchor:hover{
		opacity: .8;
	}
}

.sns_img{
	position: relative;
	z-index: 1;
	fill: #0F0F0F;
	width: auto;
}





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


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

/* init */
/* 読み込み用svg */
.star_wrap{
	display: none;
}

.main:not(.is-active),
.Gftr:not(.is-active){
	display: none;
}

/* op 0 */

.loading,
.loading_ttl,
.loading_stardust,
.loading .star_svg{
	/* init anime */
	opacity: 0;
}



.loading{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #000037;
	z-index: 100;
}
.loading_ttl{
	position: absolute;
	top:  50%;
	left: 50%;
	transform: translate( -50% , -50% );
	margin: auto;
	z-index: 100;

}

.loading_stardust{
	position: absolute;
	z-index: 1;
	--scale: 1;

}

.loading_stardustImg{
	width: auto;
	max-width: none;
}

.loading_stardust--topLeft{
	bottom: calc( 50% * var(--scale) * 1 );
	right:  calc( 50% * var(--scale) * 1 );
	transform: translate( calc( 10%  * var(--scale) * 1 ) , calc( 25% * var(--scale) * 1 ));
}
.loading_stardust--topRight{
	bottom: calc( 50% * var(--scale) * 1 );
	left:   calc( 50% * var(--scale) * 1 );
	transform: translate( calc( 10%  * var(--scale) * 1 ) , calc( -10% * var(--scale) * 1 ));
	rotate: 30deg;
}
.loading_stardust--bottomLeft{
	top:   calc( 50% * var(--scale) * 1 );
	right: calc( 50% * var(--scale) * 1 );
	transform: translate( calc( 10% * var(--scale) * 1 ) , calc( -5% * var(--scale) * 1 ));
	rotate: -200deg;
	scale: calc( 1.05 * var(--scale) );
}
.loading_stardust--bottomRight{
	top:  calc( 50% * var(--scale) * 1 );
	left: calc( 50% * var(--scale) * 1 );
	transform: translate( calc( -10% * var(--scale) * 1 ) , calc( -30% * var(--scale) * 1 ));
}
@media screen and (min-width:1500px) {
	.loading_stardust{
		--scale: 1.2;
	}

	.loading_stardustImg{
		scale: var(--scale);
	}
}

	.star_svg{
		position: absolute;
		width: 30px;
		transform-origin: center;
		z-index: 1;
		filter: brightness(.7)
	}

	.star_use{
		transform-origin: center;
	}

	.loading .star_svg{
		position: absolute;
		bottom: 50%;
		right:  50%;
		width: 800px;
		filter: brightness(1);
	}

	.star_svg--blue{   fill: #6DDDF5;}
	.star_svg--pink{   fill: #C66DF5;}
	.star_svg--gray{   fill: #8686A0;}
	.star_svg--white{  fill: #ECECF0;}
	.star_svg--yellow{ fill: #AC9F5C;}







/* controls */

.loading_control {
	position: fixed;
	display: flex;
	top: 1em;
	right: 2em;
	cursor: pointer;
	transition: 1s;
	opacity: 0;
	z-index: 1000;
}

.loading_btn {
	margin-right: 1rem;
	padding: 0.5em 0.8em;
	color: #fff;
	background: #37BEF0;
}

.loading:not(.debug) .loading_pause {
	display: none;
}

.loading:not(.debug) .loading_play {
	display: none;
}






.btn--movie{
	background-color: #EEE;
}

.btn--photo{
	background-color: #DEE;
}


.dlFileList{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
}

.dlFileList_item{
	position: relative;
}

.dlFileList_item:checked + img{
	box-shadow: 0 0 3px 2px #999 inset;
}

.dlFileList_img{
	object-fit: cover;
}

/* チェックボックスデザイン */
input[type="checkbox"] {
	cursor: pointer;
	padding-left: 30px;/*label手前にチェックボックス用の余白を開ける*/
	vertical-align: middle;
	position: absolute;
	left: 0;
	bottom: 10px;
}
input[type="checkbox"]::before,
input[type="checkbox"]::after {
	content: "";
	display: block; 
	position: absolute;
	z-index: 1;
}
input[type="checkbox"]::before {
	background-color: #fff;
	border-radius: 0%;
	border: 1px solid #666464;
	width: 20px;/*チェックボックスの横幅*/
	height: 20px;/*チェックボックスの縦幅*/
	transform: translateY(-50%);
	top: 50%;
	left: 5px;
}
input[type="checkbox"]::after {
	border-bottom: 3px solid #666464;/*チェックの太さ*/
	border-left: 3px solid #666464;/*チェックの太さ*/
	opacity: 0;/*チェック前は非表示*/
	height: 6px;/*チェックの高さ*/
	width: 11px;/*チェックの横幅*/
	transform: rotate(-45deg);
	top:  2px;/*チェック時の位置調整*/
	left: 10px;/*チェック時の位置調整*/
}
input[type="checkbox"]:checked::after {
	opacity: 1;/*チェック後表示*/
}


.fixedSqareAspedctRatio_wrap{
	position: relative;
	width: 100%;
	margin: 0 auto;
}

.fixedSqareAspedctRatio_wrap::before {
	content: "";
	display: block;
	padding-top: 100%;
}

.fixedSqareAspedctRatio {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto;
}



