@charset "utf-8";

/* font
================================================== */
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&family=Noto+Sans:wght@100..900&family=Roboto:wght@100..900&display=swap');

/* root
================================================== */
:root{
	/* font-size */
	--default-font-size:14px;
	--contents-font-size:16px;
	
	/* line-height */
	--default-line-height:1.8;
	--heading-line-height:1.5;
	--sub-line-height:1.5;
	
	/* color */
	--default-color:#000;
	--notes-color:#888;
	--notice-color:#C20114;
	--breadcrumb-color:#888;
	--breadcrumb-active-color:#EEE;
	
	/* border */
	--default-border:#000;
	--table-border:rgba(0,0,0,0.36);
	--tracklist-border:rgba(0,0,0,0.18);
	
	/* background */
	--default-background:#FFF;
	--header-background:#000;
	--footer-background:#000;
	--sub-background:transparent;
	--content-background:transparent;
	--title-background:rgba(0,0,0,0.08);
	--box-background:rgba(0,0,0,0.08);
	--breadcrumb-background:rgba(0,0,0,0.08);
	
	/* button */
	--button-font-size:18px;
	--button-color:#FFF;
	--button-line-height:1.5;
	--button-background:linear-gradient(#B9F2D2,#00AA79);
	--nolink-color:rgba(255,255,255,0.8);
	--nolink-background:linear-gradient(#E4E4E4,#969696);
	--cancel-color:#FFF;
	--cancel-background:linear-gradient(#E4E4E4,#969696);
	
	/* form */
	--form-font-size:18px;
	--form-color:#000;
	--form-line-height:1.5;
	--form-input-background:rgba(0,0,0,0.16);
	--form-box-text:#000;
	--form-box-background:rgba(0,0,0,0.16);
	--form-select-arrow:#000;
	
	/* error */
	--error-color:#FFF;
	--error-background:rgba(141,8,1,0.6);
	
	/* language */
	--lang-en:'Noto Sans';
	--lang-jp:'Noto Sans JP';
	--lang-ko:'Noto Sans KR';
	--lang-chs:'Noto Sans SC';
	--lang-cht:'Noto Sans TC';
}
@media screen and (max-width:767px){
	:root{
		--contents-font-size:14px;
		--button-font-size:16px;
	}
}

/* reset
================================================== */
*:where(:not(iframe,img,svg):not(svg *)){all:unset;display:revert;}
*,*::before,*::after{box-sizing:border-box;}
body{position:relative;width:100%;font-size:var(--default-font-size);line-height:var(--default-line-height);color:var(--default-color);font-family:'Noto Sans JP',sans-serif;font-weight:400;font-feature-settings:'palt';-webkit-text-size-adjust:100%;}
footer,header,main,section,picture{display:block;}
table{border-collapse:collapse;border-spacing:0;}
ol,ul{list-style:none;}
img{width:100%;height:auto;vertical-align:top;}
a{margin:0;padding:0;color:#000;vertical-align:bottom;background:transparent;cursor:pointer;}
a:link,a:visited,a:hover,a:active{text-decoration:none;}

/* language
================================================== */
:lang(en){font-family:var(--lang-en),sans-serif;}
:lang(ja){font-family:var(--lang-jp),sans-serif;}
:lang(ko){font-family:var(--lang-ko),sans-serif;}
:lang(zh-cmn-Hans){font-family:var(--lang-chs),sans-serif;}
:lang(zh-cmn-Hant){font-family:var(--lang-cht),sans-serif;}

/*
#langEn{
	font-family:var(--lang-en),sans-serif;
}
#langJa{
	font-family:var(--lang-en),var(--lang-jp),sans-serif;
}
#langKo{
	font-family:var(--lang-en),var(--lang-ko),sans-serif;
}
#langChs{
	font-family:var(--lang-en),var(--lang-chs),sans-serif;
}
#langCht{
	font-family:var(--lang-en),var(--lang-cht),sans-serif;
}
#langJa .langJa{
	font-family:var(--lang-jp);
}
#langKo .langKo{
	font-family:var(--lang-ko);
}
#langChs .langChs{
	font-family:var(--lang-chs);
}
#langCht .langCht{
	font-family:var(--lang-cht);
}
*/

/* XG
================================================== */
body{
	background:url(../image/noise.gif) repeat center top / 500px;
}

/* header, footer
-------------------------------------------------- */
.logo{
	width:fit-content;
	height:35px;
	margin:0 auto;
	line-height:1;
}
.logo a{
	display:block;
	width:100%;
	height:35px;
	transition:0.3s;
}
.logo img{
	width:auto;
	height:100%;
}
@media screen and (max-width:767px){
	.logo,
	.logo a{
		height:31px;
	}
}
@media screen and (min-width:768px){
	.logo a:hover{
		opacity:0.7;
	}
}

/* header
-------------------------------------------------- */
header{
	padding:15px min(6vw,30px) 14px;
	background:var(--header-background);
}

/* language */
.langNav{
	position:absolute;
	top:20px;
	right:20px;
	font-size:11px;
	color:#FFF;
	font-family:Lato;
	font-weight:400;
	letter-spacing:0;
	z-index:110000;
}
.langNavButton,
.langMenu li{
	display:flex;
	justify-content:center;
	align-items:center;
	height:24px;
	border-radius:12px;
	background:#2E2E2E;
	cursor:pointer;
}
.langNavButton{
	width:48px;
}
.langNavButton span{
	width:100%;
	display:block;
	text-align:center;
}
.langMenu{
	position:absolute;
	top:0;
	left:-110px;
	width:102px;
}
.langMenu ul{
	display:grid;
	row-gap:4px;
}
.langMenu li{
	width:100%;
}
.switch_bg{
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
	display:none;
	background-color:hsla(0,0%,42.7%,.12);
	-webkit-backdrop-filter:blur(15px);
	backdrop-filter:blur(15px);
	z-index:100000;
}
.switch_bg.selected{
	display:block;
}
@media screen and (max-width:767px){
	header{
		padding-top:14px;
		padding-bottom:13px;
	}
	.langNav{
		top:17px;
		right:12px;
	}
}

/* footer
-------------------------------------------------- */
footer{
	padding:35px min(4.8vw,30px);
	background:var(--footer-background);
}
footer .official{
	width:fit-content;
	margin:24px auto 35px;
}
footer .official a{
	display:flex;
	justify-content:center;
	align-items:center;
	column-gap:8px;
	width:100%;
	height:44px;
	padding:0 50px;
	font-size:13px;
	color:#FFF;
	font-family:Lato;
	font-weight:900;
	border:1px solid #FFF;
	border-radius:22px;
	transition:0.3s;
}
footer .official span{
	display:block;
	padding-top:2px;
}
footer .official img{
	width:12px;
	height:auto;
}
footer .sns{
	display:grid;
	grid-template-columns:repeat(5,auto);
	align-items:center;
	column-gap:22px;
	width:fit-content;
	height:24px;
	margin:0 auto;
}
footer .sns li img{
	display:block;
	height:24px;
}
footer .sns li:nth-of-type(5) img{
	width:28px;
	height:auto;
}
footer .sns a img{
	transition:0.3s;
}
@media screen and (max-width:767px){
	footer{
		padding-top:25px;
		padding-bottom:25px;
	}
	footer .official{
		margin-top:22px;
		margin-bottom:25px;
	}
	footer .sns{
		column-gap:28px;
		height:20px;
	}
	footer .sns li img{
		height:20px;
	}
	footer .sns li:nth-of-type(5) img{
		width:24px;
	}
}
@media screen and (min-width:768px){
	footer .official a:hover{
		opacity:0.7;
	}
	footer .sns a:hover img{
		transform:scale(1.2);
	}
}

/* common
-------------------------------------------------- */
.mobile{
	display:none;
}
.main{
	background:var(--sub-background);
}
.contents{
	max-width:960px;
	margin:0 auto;
	padding:0 min(6vw,30px);
}
.inner+.inner{
	margin-top:49px;
	padding-top:48px;
	border-top:1px solid var(--table-border);
}
.heading{
	line-height:var(--heading-line-height);
	text-align:center;
}
.heading:lang(en){
	font-size:42px;
	font-family:Lato;
	font-weight:100;
}
.heading{
	font-size:34px;
	font-weight:300;
}
.main .heading{
	font-size:22px;
	font-weight:700;
}
.main .heading:lang(en){font-family:var(--lang-en),sans-serif;}
.main .heading:lang(ja){font-family:var(--lang-jn),sans-serif;}
.main .heading:lang(ko){font-family:var(--lang-ko),sans-serif;}
.main .heading:lang(zh-cmn-Hans){font-family:var(--lang-chs),sans-serif;}
.main .heading:lang(zh-cmn-Hant){font-family:var(--lang-cht),sans-serif;}
.heading span{
	display:inline-block;
}
.heading .notes{
	display:block;
	padding-top:3px;
	padding-left:0;
	font-size:14px;
	color:var(--notice-color);
	text-indent:0;
}
.heading+.text,
.heading+.list{
	margin-top:29px;
}
.heading:has(.notes)+.text,
.heading:has(.notes)+.list{
	margin-top:35px;
}
.subheading{
	font-size:19px;
	line-height:var(--default-line-height);
	font-weight:700;
	text-align:center;
}
.subheading span{
	display:inline-block;
}
.subheading+.text,
.subheading+.list{
	margin-top:26px;
}
.list li{
	position:relative;
	padding-left:16px;
}
.list li:before{
	position:absolute;
	top:13px;
	left:4px;
	display:block;
	width:4px;
	height:4px;
	border-radius:50%;
	background:var(--default-color);
	content:'';
}
.list li+li{
	margin-top:7px;
}
.notes{
	margin-top:28px;
	padding-left:1em;
	font-size:14px;
	color:var(--notes-color);
	text-indent:-1em;
}
.box{
	padding:42px min(5.3333vw,55px) 49px;
	background:var(--box-background);
}
.box:has(.notes){
	padding-bottom:50px;
}
.box .text+.list{
	margin-top:27px;
}
.link{
	width:100%;
	max-width:480px;
	margin:0 auto;
}
.form{
	display:grid;
	row-gap:30px;
	margin-top:50px;
}
.form .heading{
	margin-bottom:8px;
	font-size:18px;
	text-align:left;
}
.customer .heading{
	font-size:16px;
	text-align:left;
}
.customer .company{
	margin-top:20px;
	font-weight:700;
}
.customer .text{
	margin-top:8px;
}
.customer .notes{
	margin-top:18px;
}
#langEn .heading{
	font-size:35px;
	line-height:1.2;
	font-family:Lato;
	font-weight:100;
}
#langEn .subheading+.text,
#langEn .subheading+.list{
	margin-top:24px;
}
#langEn .list li+li{
	margin-top:3px;
}
#langEn .notes{
	padding-left:0;
	text-indent:0;
}
@media screen and (max-width:767px){
	.pc{
		display:none;
	}
	.mobile{
		display:block;
	}
	.inner+.inner{
		margin-top:35px;
		padding-top:35px;
	}
	.heading:lang(en){
		font-size:30px;
	}
	.heading{
		font-size:22px;
	}
	.main .heading{
		font-size:18px;
	}
	.heading+.text,
	.heading+.list{
		margin-top:20px;
	}
	.heading:has(.notes)+.text,
	.heading:has(.notes)+.list{
		margin-top:35px;
	}
	.subheading{
		font-size:16px;
	}
	.subheading+.text,
	.subheading+.list{
		margin-top:18px;
	}
	.list li:before{
		top:11px;
	}
	.list li+li{
		margin-top:7px;
	}
	.notes{
		margin-top:19px;
		font-size:12px;
	}
	.box{
		padding-top:38px;
		padding-bottom:40px;
	}
	.box:has(.notes){
		padding-bottom:41px;
	}
	.box .text+.list{
		margin-top:19px;
	}
	.form{
		row-gap:25px;
		margin-top:40px;
	}
	.form .heading{
		margin-bottom:9px;
		font-size:16px;
	}
	.customer .heading{
		font-size:16px;
	}
	.customer .company{
		margin-top:21px;
	}
	.customer .text{
		margin-top:9px;
	}
	#langEn .heading{
		font-size:28px;
	}
	#langEn .subheading+.text,
	#langEn .subheading+.list{
		margin-top:16px;
	}
}

/* .button */
.button{
	position:relative;
	display:block;
	width:100%;
	padding:13px 20px 14px;
	font-size:var(--button-font-size);
	line-height:var(--button-line-height);
	color:var(--button-color);
	font-weight:400;
	text-align:center;
	text-shadow:0 0 8px rgba(255,255,255,0.8);
	border-radius:27px;
	background-image:var(--button-background);
	box-shadow:0 0 30px rgba(98,214,153,0.42);
	transition:0.3s;
	cursor:pointer;
}
.nolink.button{
	color:var(--nolink-color);
	text-shadow:unset;
	background-image:var(--nolink-background);
	box-shadow:unset;
	cursor:default;
	pointer-events:none;
}
.nolink.button img,
.nolink.button span{
	opacity:0.8;
}
@media screen and (max-width:767px){
	.button{
		padding:10px 15px 12px;
	}
}
@media screen and (min-width:768px){
	.button:hover{
		opacity:0.7;
	}
	.button:hover::after{
		opacity:0.3;
	}
	.button:hover img,
	.button:hover span{
		opacity:1;
	}
	.nolink.button:hover,
	.nolink.button:hover::after{
		opacity:1;
	}
}

/* #title */
#title{
	padding:66px min(4.8vw,30px) 68px;
	font-size:30px;
	line-height:var(--sub-line-height);
	text-align:center;
	background:var(--title-background);
}
@media screen and (max-width:767px){
	#title{
		padding-top:51px;
		padding-bottom:52px;
		font-size:20px;
	}
}

/* breadcrumb */
#breadcrumb{
	background:var(--breadcrumb-background);
}
#breadcrumb ol{
	display:grid;
	grid-template-columns:repeat(4,auto);
	width:fit-content;
	margin:0 auto;
}
#breadcrumb li{
	position:relative;
	padding:13px 0 15px;
	font-size:16px;
	line-height:1;
	color:var(--breadcrumb-color);
	font-weight:600;
}
#breadcrumb li:not(:first-of-type){
	padding-left:77px;
}
#breadcrumb li:not(:first-of-type)::before{
	position:absolute;
	top:50%;
	left:31px;
	display:block;
	width:9px;
	height:9px;
	border-top:1px solid var(--breadcrumb-color);
	border-right:1px solid var(--breadcrumb-color);
	transform:translateY(-50%) rotate(45deg);
	content:'';
}
#breadcrumb li.active{
	color:var(--breadcrumb-active);
	font-weight:900;
}
@media screen and (max-width:767px){
	#breadcrumb li{
		padding:14px 0 13px;
		font-size:min(3.75vw,15px);
	}
	#breadcrumb li:not(:first-of-type){
		padding-left:33px;
	}
	#breadcrumb li:not(:first-of-type)::before{
		left:11px;
		width:7px;
		height:7px;
	}
}

/* error */
.error{
	padding:27px min(4.8vw,30px) 29px;
	background:var(--error-background);
}
.error ul{
	display:grid;
	grid-auto-columns:auto;
	row-gap:13px;
}
.error li{
	font-size:17px;
	line-height:var(--sub-line-height);
	color:var(--error-color);
	font-weight:500;
	text-align:center;
}
@media screen and (max-width:767px){
	.error{
		padding-top:20px;
		padding-bottom:22px;
	}
	.error ul{
		row-gap:10px;
	}
	.error li{
		font-size:16px;
	}
}

/* message */
.message{
	margin:68px 0 -5px;
}
.message p{
	font-size:20px;
	line-height:var(--message-line-height);
	font-weight:700;
	text-align:center;
}
@media screen and (max-width:767px){
	.message{
		margin:50px 0 -4px;
	}
	.message p{
		font-size:18px;
	}
}

/* table */
.table table{
	width:100%;
	margin:0 auto;
	border-top:1px solid var(--table-border);
}
.table tr{
	border-bottom:1px solid var(--table-border);
}
.table th,
.table td{
	font-size:18px;
	line-height:var(--form-line-height);
	vertical-align:top;
}
.table th{
	padding:40px 50px 41px 0;
	font-weight:700;
	white-space:nowrap;
}
.table td{
	width:100%;
}
@media screen and (max-width:767px){
	.table table,
	.table tbody,
	.table tr,
	.table th,
	.table td{
		display:block;
	}
	.table th,
	.table td{
		font-size:16px;
	}
	.table th{
		padding:0;
		white-space:initial;
	}
}

/* #introduction
-------------------------------------------------- */
#introduction{
	padding-top:119px;
	text-align:center;
}
#introduction .number,
#introduction .title,
#introduction .release{
	line-height:1;
	font-family:'Roboto',sans-serif;
}
#introduction .number{
	font-size:15px;
	font-weight:400;
}
#introduction .title{
	width:340px;
	margin:19px auto 0;
}
#introduction .release{
	margin-top:38px;
	font-size:19px;
	font-weight:800;
}
#introduction .purchase{
	display:grid;
	grid-template-columns:repeat(2,128px);
	column-gap:18px;
	width:fit-content;
	margin:42px auto 0;
}
#introduction .purchase .button{
	display:flex;
	justify-content:center;
	align-items:center;
	column-gap:8px;
	height:46px;
	padding:0;
	font-size:14px;
	font-family:var(--lang-en),sans-serif;
	border-radius:23px;
}
#introduction .purchase .button span{
	font-family:var(--lang-en),sans-serif;
}
#introduction .purchase .shopIcon{
	width:20px;
	height:auto;
	filter:drop-shadow(0 0 8px rgba(255,255,255,0.8));
}
#introduction .purchase .digitalIcon{
	width:17px;
	height:auto;
}
#introduction .text{
	max-width:640px;
	margin:49px auto 0;
	text-align:left;
}
#introduction .text+.text{
	margin-top:23px;
}
#langEn #introduction .text{
	margin-top:47px;
}
#langEn #introduction .text+.text{
	margin-top:20px;
}
@media screen and (max-width:767px){
	#introduction{
		padding-top:63px;
	}
	#introduction .number{
		font-size:13px;
	}
	#introduction .title{
		width:72vw;
		max-width:340px;
		margin-top:18px;
	}
	#introduction .release{
		margin-top:36px;
		font-size:17px;
	}
	#introduction .purchase{
		margin-top:39px;
	}
	#introduction .text{
		margin-top:36px;
	}
	#introduction .text+.text{
		margin-top:21px;
	}
	#langEn #introduction .text{
		margin-top:34px;
	}
	#langEn #introduction .text+.text{
		margin-top:17px;
	}
}

/* #disc
-------------------------------------------------- */
#disc{
	max-width:1040px;
	padding:197px 0 0;
}
#disc .products{
	display:grid;
	grid-template-columns:auto 1fr;
	margin-top:59px;
}

/* .cover */
#disc .cover{
	width:min(44.2308vw,460px);
	padding:0 min(2.8846vw,30px) 0 30px;
}
/*#disc .cover li+li{
	margin-top:18px;
}*/
#disc .cover .image img[src=""]{
	display:none;
}
#disc .cover .image:has(img[src=""]){
	display:grid;
	justify-content:center;
	align-items:center;
	width:100%;
	aspect-ratio:1;
	background:rgba(0,0,0,0.08);
}
#disc .cover .image:has(img[src=""])::before{
	font-size:22px;
	line-height:1;
	color:rgba(0,0,0,0.18);
	font-family:Roboto;
	font-weight:800;
	content:'COMING SOON';
}

/* .details */
#disc .details{
	width:100%;
	padding:0 30px 0 min(2.8846vw,30px);
}
#disc .details .song{
	padding-top:10px;
	font-size:22px;
	line-height:1;
	font-family:Roboto;
	font-weight:900;
}
#disc .details .item{
	display:flex;
	column-gap:4px;
	width:fit-content;
	margin-top:41px;
}
#disc .details .icon{
	padding:0 8px 1px;
	line-height:var(--sub-line-height);
	font-family:var(--lang-en);
	font-weight:500;
	border:1px solid var(--default-border);
}
#disc .details .metadata{
	display:flex;
	margin:12px 0 38px;
	font-family:var(--lang-en);
}
#disc .details .metadata li+li::before{
	display:inline-block;
	padding:0 0.5em;
	content:'/';
}
#disc .details .tracklist{
	border-top:1px solid var(--tracklist-border);
	counter-reset:track;
}
#disc .details .tracklist li{
	padding:17px 0;
	font-size:13px;
	line-height:1.54;
	font-weight:300;
	border-bottom:1px solid var(--tracklist-border);
}
#disc .details .tracklist li:not(.bonustrack){
	position:relative;
	padding-left:30px;
}
#disc .details .tracklist li:not(.bonustrack)::before{
	position:absolute;
	top:16px;
	left:0;
	font-size:14px;
	font-family:Lato;
	font-weight:300;
	counter-increment:track;
	content:counter(track,decimal-leading-zero);
}
#disc .details .bonustrack dl{
	display:grid;
	grid-template-columns:auto 1fr;
	column-gap:14px;
}
/*
#disc .details .tracklist{
	counter-reset:unset;
}
#disc .details .tracklist li{
	padding-left:16px;
}
#disc .details .tracklist li::before{
	position:absolute;
	top:25px;
	left:4px;
	display:block;
	width:4px;
	height:4px;
	border-radius:50%;
	background:var(--default-color);
	counter-increment:unset;
	content:'';
}
*/

#disc .details .special{
	margin-top:36px;
	font-size:17px;
	font-family:Lato;
	font-weight:300;
}
#disc .details .list{
	margin-top:8px;
}
#disc .details .list li{
	font-family:var(--lang-en);
}
#disc .details .list li::before{
	top:11px;
}
#disc .details .list li+li{
	margin-top:5px;
}
#disc .details .list .notes{
	margin:0;
	padding:0;
	text-indent:0;
}

/* #langEn */
#langEn #disc{
	padding-top:203px;
}
#langEn #disc .products{
	margin-top:68px;
}
@media screen and (max-width:767px){
	#disc{
		padding-top:131px;
	}
	#disc .products{
		grid-template-columns:100%;
		margin-top:39px;
	}
	#disc .cover,
	#disc .details{
		width:100%;
		padding:0 min(6vw,30px);
	}
	#disc .cover .image:has(img[src=""])::before{
		font-size:20px;
	}
	#disc .details{
		margin-top:63px;
	}
	#disc .details .song{
		padding:0;
		font-size:19px;
	}
	#disc .details .item{
		margin-top:42px;
	}
	#disc .details .metadata{
		margin-bottom:37px;
	}
	#disc .details .special{
		font-size:16px;
	}
	#disc .details .list{
		margin-top:6px;
	}
	#langEn #disc{
		padding-top:136px;
	}
	#langEn #disc .products{
		margin-top:44px;
	}
}

/* #preorder
-------------------------------------------------- */
#preorder{
	max-width:860px;
	padding-top:204px;
	text-align:center;
}
#preorder .title{
	margin-top:56px;
	font-size:26px;
	line-height:var(--heading-line-height);
	font-family:Roboto;
	font-weight:900;
}
#preorder .text{
	margin-top:28px;
}
#preorder .period{
	display:grid;
	grid-template-columns:repeat(2,auto);
	gap:5px 1em;
	width:fit-content;
	margin:25px auto 0;
	line-height:var(--heading-line-height);
	font-weight:700;
	text-align:left;
}
#preorder .period a{
	color:#00AA79;
	text-decoration:underline;
}
#preorder .list{
	width:fit-content;
	margin:13px auto 0;
	text-align:left;
}
#preorder .notes{
	margin-top:0;
}
#preorder .apply{
	width:400px;
	margin:40px auto 0;
}
#langEn #preorder{
	padding-top:203px;
}
#langEn #preorder .title{
	margin-top:59px;
}
#langEn #preorder .text{
	margin-top:26px;
}
#langEn #preorder .period{
	gap:4px 1em;
	margin-top:22px;
}
#langEn #preorder .list{
	margin-top:9px;
}
#langEn #preorder .apply{
	margin-top:38px;
}
@media screen and (max-width:767px){
	#preorder{
		padding-top:137px;
	}
	#preorder .title{
		margin-top:38px;
		font-size:19px;
	}
	#preorder .text{
		margin-top:27px;
		text-align:left;
	}
	#preorder .title br,
	#preorder .text br{
		display:none;
	}
	#preorder .period{
		grid-template-columns:100%;
		width:100%;
		margin-top:23px;
		text-align:left;
	}
	#preorder .period dt::before{
		display:inline-block;
		padding-right:3px;
		content:'\25C7';
	}
	#preorder .period dd+dt{
		margin-top:10px;
	}
	#preorder .list{
		margin-top:11px;
	}
	#preorder .apply{
		width:100%;
		margin-top:36px;
	}
	#langEn #preorder{
		padding-top:136px;
	}
	#langEn #preorder .title{
		margin-top:38px;
	}
	#langEn #preorder .text{
		margin-top:26px;
	}
	#langEn #preorder .period{
		margin-top:18px;
	}
	#langEn #preorder .apply{
		margin-top:33px;
	}
}

/* #bonus
-------------------------------------------------- */
#bonus{
	max-width:960px;
	padding-top:202px;
	text-align:center;
}
#bonus .item{
	margin-top:52px;
	font-size:26px;
	font-family:roboto;
	font-weight:900;
}
#bonus .shoplist{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:42px 32px;
	margin-top:31px;
}
#bonus .thumbnails img[src=""]{
	display:none;
}
#bonus .thumbnails:has(img[src=""]){
	display:grid;
	justify-content:center;
	align-items:center;
	width:100%;
	aspect-ratio:3/2;
	background:rgba(0,0,0,0.08);
}
#bonus .thumbnails:has(img[src=""])::before{
	font-size:18px;
	line-height:1;
	color:rgba(0,0,0,0.18);
	font-family:Roboto;
	font-weight:800;
	content:'COMING SOON';
}
#bonus .thumbnails a{
	position:relative;
	display:grid;
	place-content:center;
	aspect-ratio:600 / 469;
}
#bonus .thumbnails a::after{
	position:absolute;
	right:18px;
	bottom:18px;
	display:block;
	width:48px;
	height:48px;
	border-radius:50%;
	background:rgba(0,0,0,0.4) url("../svg/icon_img_zoom.svg") no-repeat center center / 22px auto;
	content:'';
}
#bonus .shop,
#bonus .random{
	font-family:var(--lang-en);
	line-height:var(--heading-line-height);
}
#bonus .shop{
	margin-top:19px;
	font-size:14px;
	font-weight:700;
}
#bonus .country{
	font-size:10px;
}
#bonus .random{
	font-size:12px;
	font-weight:600;
}
#bonus .purchase{
	width:128px;
	margin:20px auto 0;
}
#bonus .purchase .button{
	display:flex;
	justify-content:center;
	align-items:center;
	column-gap:8px;
	height:46px;
	padding:0;
	font-size:14px;
	font-family:var(--lang-en),sans-serif;
	border-radius:23px;
}
#bonus .purchase .button span{
	font-family:var(--lang-en),sans-serif;
}
#bonus .purchase .shopIcon{
	width:20px;
	height:auto;
	filter:drop-shadow(0 0 8px rgba(255,255,255,0.8));
}
#bonus .purchase .nolink .shopIcon{
	filter:unset;
}
#bonus .date{
	margin-top:8px;
	font-size:11px;
	line-height:var(--heading-line-height);
	color:var(--notes-color);
}
#langEn #bonus{
	padding-top:203px;
}
#langEn #bonus .item{
	margin-top:55px;
}
#bonus .bonusModalContent{
	display:none;
}
@media screen and (max-width:767px){
	#bonus{
		padding-top:138px;
	}
	#bonus .item{
		margin-top:35px;
		font-size:19px;
	}
	#bonus .shoplist{
		grid-template-columns:repeat(2,1fr);
		gap:35px 15px;
	}
	#bonus .thumbnails:has(img[src=""])::before{
		font-size:14px;
	}
	#bonus .shop{
		margin-top:17px;
		font-size:13px;
	}
	#bonus .random{
		font-size:11px;
	}
	#bonus .purchase{
		margin-top:16px;
	}
	#bonus .date{
		margin-top:8px;
		font-size:10px;
	}
	#langEn #bonus{
		padding-top:137px;
	}
	#langEn #bonus .heading br{
		display:none;
	}
	#langEn #bonus .item{
		margin-top:35px;
	}
}

/* #banner
-------------------------------------------------- */
#banner{
	max-width:720px;
	padding-top:120px;
}
@media screen and (max-width:767px){
	#banner{
		padding-top:85px;
	}
}

/* #serial
-------------------------------------------------- */
#serial{
	max-width:860px;
	padding-top:211px;
	padding-bottom:220px;
	text-align:center;
}
#serial .prize{
	margin-top:65px;
	border-top:1px solid var(--table-border);
}
#serial .prize .event{
	padding:36px 0 45px;
	border-bottom:1px solid var(--table-border);
}
#serial .prize .title span{
	font-size:26px;
	line-height:var(--heading-line-height);
	font-weight:700;
}
#serial .prize .title span:lang(en){
	font-family:roboto;
	font-weight:900;
}
#serial .prize .subtitle{
	margin-top:4px;
	font-size:16px;
	line-height:var(--heading-line-height);
	font-family:roboto;
	font-weight:700;
}
#serial .prize .subtitle span{
	display:inline-block;
}
#serial .prize #code .text{
	margin-top:28px;
}
#serial .prize #fanclub .text{
	margin-top:33px;
}
#serial .prize #movie .text{
	margin-top:32px;
}
#serial .prize .notes{
	margin-top:9px;
}
#serial .apply{
	width:400px;
	margin:40px auto 0;
}
#langEn #serial{
	padding-top:210px;
}
#langEn #serial .prize{
	margin-top:68px;
}
#langEn #serial .prize .event{
	padding:35px 0 45px;
}
#langEn #serial .prize .title{
	font-size:26px;
	line-height:var(--heading-line-height);
	font-weight:900;
}
#langEn #serial .prize .subtitle+.text{
	margin-top:30px;
}
#langEn #serial .prize .text{
	margin-top:27px;
}
#langEn #serial .prize .notes{
	margin-top:7px;
}
#langEn #serial .apply{
	margin-top:38px;
}
@media screen and (max-width:767px){
	#serial{
		padding-top:144px;
		padding-bottom:180px;
	}
	#serial .prize{
		margin-top:44px;
	}
	#serial .prize .event{
		padding:36px 0 42px;
	}
	#serial .prize .title span{
		font-size:19px;
	}
	#serial .prize .subtitle{
		margin-top:5px;
		font-size:14px;
	}
	#serial .prize .text{
		text-align:left;
	}
	#serial .prize #code .text{
		margin-top:28px;
	}
	#serial .prize #fanclub .text{
		margin-top:29px;
	}
	#serial .prize #movie .text{
		margin-top:30px;
	}
	#serial .prize .text br{
		display:none;
	}
	#serial .prize .notes{
		margin-top:6px;
		text-align:left;
	}
	#serial .apply{
		width:100%;
		margin-top:37px;
	}
	#langEn #serial{
		padding-top:143px;
	}
	#langEn #serial .prize{
		margin-top:44px;
	}
	#langEn #serial .prize .event{
		padding:35px 0 42px;
	}
	#langEn #serial .prize .title{
		font-size:19px;
	}
	#langEn #serial .prize .subtitle+.text{
		margin-top:28px;
	}
	#langEn #serial .prize .text{
		margin-top:27px;
	}
	#langEn #serial .apply{
		margin-top:35px;
	}
}

/* .onlinetalk
-------------------------------------------------- */
/* #introduction */
.onlinetalk #introduction{
	padding-top:99px;
}

/* evevt */
.onlinetalk #event{
	padding-top:61px;
	padding-bottom:220px;
}
.onlinetalk #event .section:not(:first-of-type){
	margin-top:40px;
	padding-top:39px;
	border-top:1px solid var(--table-border);
}
.onlinetalk #event .heading{
	font-size:45px;
	line-height:1.2;
	font-family:'Roboto';
	font-weight:900;
}
.onlinetalk #event .title{
	margin-bottom:29px;
	font-size:20px;
	line-height:var(--heading-line-height);
	font-weight:700;
}
.onlinetalk #event .list li::before{
	top:11px;
}
.onlinetalk #event .notes{
	margin-top:11px;
}
.onlinetalk #event .notes+.notes{
	margin-top:1px;
}
.onlinetalk #details{
	margin-top:48px;
}
.onlinetalk #period .application li:not(:first-of-type){
	position:relative;
	padding-top:19px;
}
.onlinetalk #period .application li:not(:first-of-type)::before{
	position:absolute;
	top:5px;
	left:0;
	border-top:10px solid var(--default-color);
	border-right:6px solid transparent;
	border-left:6px solid transparent;
	content:'';
}
.onlinetalk #method .app{
	margin-top:44px;
}
.onlinetalk #method .subheading{
	font-size:17px;
	text-align:left;
}
.onlinetalk #method .os{
	display:grid;
	grid-template-columns:repeat(2,auto);
	gap:12px 1em;
	align-items:center;
	width:fit-content;
	margin-top:14px;
	font-weight:700;
}
.onlinetalk #method .os dt{
	padding:2px 22px 3px;
	text-align:center;
	background:var(--box-background);
}
.onlinetalk #method .os dd a{
	color:#00AA79;
	word-break:break-all;
	text-decoration:underline;
}
.onlinetalk #method .notes{
	margin-top:16px;
}
.onlinetalk .apply{
	width:400px;
	margin:50px auto 0;
}
#langEn.onlinetalk #event{
	padding-bottom:213px;
}
#langEn.onlinetalk #event .section:not(:first-of-type){
	margin-top:38px;
	padding-top:38px;
}
#langEn.onlinetalk #event .title{
	margin-bottom:19px;
}
#langEn.onlinetalk #event .notes{
	margin-top:7px;
}
#langEn.onlinetalk #event .notes+.notes{
	margin-top:7px;
}
#langEn.onlinetalk #details{
	margin-top:61px;
}
#langEn.onlinetalk #method .app{
	margin-top:40px;
}
#langEn.onlinetalk #method .os{
	margin-top:12px;
}
#langEn.onlinetalk #method .notes{
	margin-top:14px;
}
#langEn.onlinetalk .apply{
	margin-top:48px;
}
@media screen and (max-width:767px){
	.onlinetalk #introduction{
		padding-top:63px;
	}
	.onlinetalk #event{
		padding-top:41px;
		padding-bottom:180px;
	}
	.onlinetalk #event .section:not(:first-of-type){
		margin-top:36px;
		padding-top:35px;
	}
	.onlinetalk #event .heading{
		font-size:30px;
	}
	.onlinetalk #event .title{
		margin-bottom:21px;
		font-size:17px;
	}
	.onlinetalk #event .notes{
		margin-top:10px;
	}
	.onlinetalk #details{
		margin-top:32px;
	}
	.onlinetalk #period .application li:not(:first-of-type){
		padding-top:18px;
	}
	.onlinetalk #period .application li:not(:first-of-type)::before{
		top:4px;
	}
	.onlinetalk #method .app{
		margin-top:38px;
	}
	.onlinetalk #method .subheading{
		font-size:15px;
	}
	.onlinetalk #method .os{
		display:block;
		grid-template-columns:unset;
		gap:unset;
		align-items:unset;
		width:100%;
	}
	.onlinetalk #method .os dt{
		width:100px;
		padding:2px 0 3px;
	}
	.onlinetalk #method .os dd+dt{
		margin-top:15px;
	}
	.onlinetalk #method .os dd{
		margin-top:4px;
	}
	.onlinetalk #method .notes{
		margin-top:10px;
	}
	.onlinetalk .apply{
		width:100%;
		margin-top:45px;
	}
	#langEn.onlinetalk #event{
		padding-bottom:174px;
	}
	#langEn.onlinetalk #event .section:not(:first-of-type){
		margin-top:35px;
		padding-top:35px;
	}
	#langEn.onlinetalk #event .title{
		margin-bottom:17px;
	}
	#langEn.onlinetalk #event .notes+.notes{
		margin-top:6px;
	}
	#langEn.onlinetalk #details{
		margin-top:37px;
	}
	#langEn.onlinetalk #method .app{
		margin-top:35px;
	}
	#langEn.onlinetalk #method .notes{
		margin-top:9px;
	}
	#langEn.onlinetalk .apply{
		margin-top:43px;
	}
}

/* .unitcard
-------------------------------------------------- */
/* #introduction */
.unitcard #introduction{
	padding-top:99px;
}

/* #ar */
.unitcard #ar{
	padding-top:65px;
	padding-bottom:220px;
}
.unitcard #ar .heading,
.unitcard #ar .subheading{
	font-size:34px;
	line-height:1.1;
	font-family:'Roboto';
	font-weight:900;
}
.unitcard #ar .usage{
	width:400px;
	margin:47px auto 0;
}
.unitcard #ar .message{
	margin:64px 0 0;
	font-size:26px;
	line-height:var(--heading-line-height);
	font-weight:700;
	text-align:center;
}
.unitcard #ar .unit{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
	gap:36px 32px;
	margin-top:55px;
}
.unitcard #ar .unit:has(.link){
	gap:42px 32px;
}
.unitcard #ar .message+.unit{
	margin-top:75px;
}
.unitcard #ar .member{
	margin-top:20px;
	font-size:14px;
	line-height:var(--heading-line-height);
	font-family:'Roboto';
	font-weight:700;
	text-align:center;
}
.unitcard #ar .link{
	width:128px;
	margin:19px auto 0;
}
.unitcard #ar .unit .button{
	display:flex;
	justify-content:center;
	align-items:center;
	column-gap:8px;
	height:46px;
	padding:0;
	font-size:14px;
	font-family:var(--lang-en);
	border-radius:23px;
}
.unitcard #ar .unit .button .icon{
	width:20px;
	height:auto;
	filter:drop-shadow(0 0 8px rgba(255,255,255,0.8));
}
#langEn.unitcard #ar .message{
	margin:62px 0 0;
}
#langEn.unitcard #ar .message+.unit{
	margin-top:70px;
}
@media screen and (max-width:767px){
	.unitcard #introduction{
		padding-top:63px;
	}
	.unitcard #ar{
		padding-top:42px;
		padding-bottom:180px;
	}
	.unitcard #ar .heading,
	.unitcard #ar .subheading{
		font-size:22px;
	}
	.unitcard #ar .unit{
		margin-top:40px;
	}
}

/* .usage
-------------------------------------------------- */
.usage .contents{
	padding-top:75px;
	padding-bottom:80px;
}
.usage .section:not(:first-of-type){
	margin-top:40px;
	padding-top:39px;
	border-top:1px solid var(--table-border);
}
.usage #usage{
	margin-top:52px;
}
.usage .heading,
.usage .subheading{
	text-align:left;
}
.usage .heading{
	font-weight:900;
}
.usage .subheading{
	margin-bottom:29px;
	font-size:20px;
	line-height:var(--heading-line-height);
}
.usage .order{
	counter-reset:order;
}
.usage .order li{
	position:relative;
	padding-left:1.5em;
	counter-increment:order;
}
.usage .order li::before{
	position:absolute;
	top:0;
	left:0;
	content:counter(order)'.';
}
.usage .order li+li{
	margin-top:7px;
}
.usage .list li::before{
	top:11px;
}
.usage .image{
	width:240px;
	margin:14px 0;
}
#langEn.usage .contents{
	padding-top:76px;
	padding-bottom:78px;
}
#langEn.usage .section:not(:first-of-type){
	margin-top:38px;
	padding-top:37px;
}
#langEn.usage #usage{
	margin-top:50px;
}
#langEn.usage .heading{
	font-weight:900;
}
#langEn.usage .subheading{
	margin-bottom:24px;
}
#langEn.usage .order li+li{
	margin-top:3px;
}
.#langEn.usage .image{
	margin:12px 0;
}
@media screen and (max-width:767px){
	.usage .contents{
		padding-top:64px;
		padding-bottom:65px;
	}
	.usage .section:not(:first-of-type){
		margin-top:36px;
		padding-top:35px;
	}
	.usage #usage{
		margin-top:31px;
	}
	.usage .subheading{
		margin-bottom:21px;
		font-size:17px;
	}
	.usage .image{
		width:min(56vw,210px);
		margin:13px 0 12px;
	}
	#langEn.usage .contents{
		padding-top:64px;
		padding-bottom:62px;
	}
	#langEn.usage .section:not(:first-of-type){
		margin-top:32px;
		padding-top:33px;
	}
	#langEn.usage #usage{
		margin-top:26px;
	}
	#langEn.usage .subheading{
		margin-bottom:16px;
	}
	#langEn.usage .image{
		margin:10px 0;
	}
}

/* #header
-------------------------------------------------- */
#header{
	padding:39px min(6vw,30px) 68px;
	text-align:center;
}
#header.line{
	border-bottom:1px solid var(--table-border);
}
#header .number,
#header .title,
#header .release,
#header .campaign{
	line-height:1;
	font-family:'Roboto',sans-serif;
}
#header .number{
	font-size:15px;
	font-weight:400;
}
#header .title{
	width:340px;
	margin:19px auto 0;
}
#header .release{
	margin-top:38px;
	font-size:19px;
	font-weight:800;
}
#header .campaign{
	margin-top:34px;
}
#header .campaign span{
	display:block;
}
#header .campaign .tour{
	font-size:16px;
	line-height:1.2;
	font-weight:800;
}
#header .campaign .tour span{
	display:inline-block;
}
#header .campaign .tour br{
	display:none;
}
#header .campaign .mission{
	margin-top:21px;
	font-size:32px;
	line-height:1.1;
	font-weight:900;
}
#header .period{
	display:grid;
	grid-template-columns:repeat(2,auto);
	row-gap:3px;
	width:fit-content;
	margin:20px auto 0;
	padding:5px 65px 7px;
	font-size:16px;
	line-height:var(--heading-line-height);
	font-weight:700;
	background:var(--title-background);
}
#header .period dt::after{
	display:inline-block;
	padding:0 6px;
	content:'\FF1A';
}
#header .period .wave{
	display:inline-block;
	padding:0 4px;
}
#header:has(.chat){
	padding-bottom:50px;
}
#header .campaign:has(.chat){
	margin-top:35px;
}
#header .campaign .chat{
	font-size:36px;
	line-height:1.1;
	font-weight:900;
}
@media screen and (max-width:767px){
	#header{
		padding-top:63px;
		padding-bottom:37px;
	}
	#header .number{
		font-size:13px;
	}
	#header .title{
		width:72vw;
		max-width:340px;
		margin-top:18px;
	}
	#header .release{
		margin-top:36px;
		font-size:17px;
	}
	#header .campaign{
		margin-top:26px;
	}
	#header .campaign .tour{
		font-size:15px;
	}
	#header .campaign .mission{
		margin-top:15px;
		font-size:22px;
	}
	#header .period{
		grid-template-columns:100%;
		width:100%;
		margin-top:28px;
		padding:11px 0;
		font-size:min(3.75vw,15px);
	}
	#header .period dt::after{
		content:none;
	}
	#header .period .pc{
		display:none;
	}
	#header .period .wave{
		display:inline;
		padding:0;
	}
	#header:has(.chat){
		padding-bottom:min(7vw,35px);
	}
	#header .campaign:has(.chat){
		margin-top:32px;
	}
	#header .campaign .chat{
		font-size:min(7.25vw,29px);
	}
}
@media screen and (max-width:413px){
	#header .campaign .tour span{
		display:inline;
	}
	#header .campaign .tour br{
		display:block;
	}
}

/* .accordion
-------------------------------------------------- */
.accordion{
	margin-top:48px;
	padding:6px 0 7px;
	background:var(--box-background);
}
.accordion .panel{
	position:relative;
	padding:47px 112px 47px 50px;
	font-size:20px;
	line-height:1.2;
	font-weight:700;
	cursor:pointer;
}
.accordion .panel span{
	position:absolute;
	top:46px;
	right:50px;
	display:block;
	width:27px;
	height:27px;
}
.accordion .panel span::before,
.accordion .panel span::after{
	position:absolute;
	display:block;
	background:rgba(0,0,0,0.72);
	content:'';
}
.accordion .panel span::before{
	top:13px;
	left:0;
	width:100%;
	height:1px;
}
.accordion .panel span::after{
	top:0;
	left:13px;
	width:1px;
	height:100%;
}
.accordion.active .panel span::after{
	display:none;
}
.accordion .content{
	display:none;
	padding:0 50px 42px;
}
.accordion .list{
	margin-top:27px;
}
/*
.accordion_button{
	position:relative;
	padding:min(4.7vw,47px) 0 min(4.4vw,44px);
	font-size:min(2.2vw,22px);
	line-height:1.6;
	font-weight:700;
	text-align:center;
	cursor:pointer;
}
.accordion_button span{
	position:absolute;
	top:min(4.9vw,49px);
	right:0;
	display:block;
	width:min(3.3vw,33px);
	height:min(3.3vw,33px);
}
.accordion_button span::before,
.accordion_button span::after{
	position:absolute;
	display:block;
	background:#999;
	content:'';
}
.accordion_button span::before{
	top:min(1.6vw,16px);
	right:0;
	width:min(3.3vw,33px);
	height:1px;
}
.accordion_button span::after{
	right:min(1.6vw,16px);
	width:1px;
	height:min(3.3vw,33px);
}
.accordion.active .accordion_button span::after{
	display:none;
}
.accordion_contents{
	display:none;
	padding-bottom:min(5.6vw,56px);
}
.accordion_contents .listmark{
	margin-top:min(3.1vw,31px);
}
.accordion_contents .accordion_notes{
	margin-top:min(1vw,10px);
	padding-left:1em;
	font-size:min(1.4vw,14px);
	color:#666;
	text-indent:-1em;
}
*/
@media screen and (max-width:767px){
	.accordion{
		margin-top:40px;
		padding:10px 0 11px;
	}
	.accordion .panel{
		display:grid;
		align-items:center;
		min-height:64px;
		padding:0 53px 0 min(6vw,30px);
		font-size:15px;
	}
	.accordion .panel span{
		top:50%;
		right:min(6vw,30px);
		width:19px;
		height:19px;
		margin-top:-9px;
	}
	.accordion .panel span::before{
		top:9px;
	}
	.accordion .panel span::after{
		left:9px;
	}
	.accordion .content{
		padding:0 20px 24px;
	}
	.accordion .list{
		margin-top:19px;
	}
/*
.accordion_button{
	position:relative;
	padding:min(4.7vw,47px) 0 min(4.4vw,44px);
	font-size:min(2.2vw,22px);
	line-height:1.6;
	font-weight:700;
	text-align:center;
	cursor:pointer;
}
.accordion_button span{
	position:absolute;
	top:min(4.9vw,49px);
	right:0;
	display:block;
	width:min(3.3vw,33px);
	height:min(3.3vw,33px);
}
.accordion_button span::before,
.accordion_button span::after{
	position:absolute;
	display:block;
	background:#999;
	content:'';
}
.accordion_button span::before{
	top:min(1.6vw,16px);
	right:0;
	width:min(3.3vw,33px);
	height:1px;
}
.accordion_button span::after{
	right:min(1.6vw,16px);
	width:1px;
	height:min(3.3vw,33px);
}
.accordion.active .accordion_button span::after{
	display:none;
}
.accordion_contents{
	display:none;
	padding-bottom:min(5.6vw,56px);
}
.accordion_contents .listmark{
	margin-top:min(3.1vw,31px);
}
.accordion_contents .accordion_notes{
	margin-top:min(1vw,10px);
	padding-left:1em;
	font-size:min(1.4vw,14px);
	color:#666;
	text-indent:-1em;
}
*/
}

/* .surprise
-------------------------------------------------- */
.surprise{
	width:fit-content;
	margin:36px auto 0;
}
.surprise .period{
	display:grid;
	grid-template-columns:repeat(2,auto);
	column-gap:1em;
	align-items:center;
	width:fit-content;
	margin:0 auto;
	font-size:18px;
	font-weight:700;
}
.surprise .period dt{
	padding:3px 22px;
	background:var(--box-background);
}
.surprise .period dd{
	line-height:1.5;
}
.surprise .notes{
	margin-top:19px;
}
.surprise .notes+.notes{
	margin-top:1px;
}
@media screen and (max-width:767px){
	.surprise{
		width:100%;
		margin-top:26px;
	}
	.surprise .period{
		display:block;
		width:100%;
		margin:0;
		font-size:14px;
	}
	.surprise .period dt{
		width:fit-content;
		margin-bottom:11px;
		padding:2px 22px;
	}
	.surprise .notes{
		margin-top:12px;
	}
	.surprise .notes+.notes{
		margin-top:2px;
	}
}

/* #authentication
-------------------------------------------------- */
#authentication{
	font-size:var(--contents-font-size);
}
#authentication .contents{
	padding-top:73px;
	padding-bottom:100px;
}
#authentication .inner:last-of-type{
	padding-top:67px;
}
#authentication .box{
	margin-top:48px;
}
@media screen and (max-width:767px){
	#authentication .contents{
		padding-top:50px;
		padding-bottom:65px;
	}
	#authentication .inner:last-of-type{
		padding-top:48px;
	}
	#authentication .subheading br{
		display:block;
	}
	#authentication .box{
		margin-top:39px;
	}
}
@media screen and (max-width:579px){
	#authentication .subheading br{
		display:none;
	}
}
@media screen and (max-width:499px){
	#authentication .heading span{
		display:inline;
	}
}
@media screen and (max-width:399px){
	#authentication .heading br{
		display:none;
	}
}

/* #send
-------------------------------------------------- */
#send{
	font-size:var(--contents-font-size);
	border-top:1px solid var(--table-border);
}
#send .contents{
	padding-top:73px;
	padding-bottom:100px;
}
#send .subheading{
	margin-top:26px;
	font-weight:500;
}
#send .text{
	text-align:center;
}
#send .box{
	margin-top:49px;
	padding-top:57px;
	padding-bottom:65px;
}
#send .box .subheading{
	margin-top:0;
	font-weight:700;
}
#send .link{
	margin-top:34px;
}
@media screen and (max-width:767px){
	#send .contents{
		padding-top:49px;
		padding-bottom:65px;
	}
	#send .subheading{
		margin-top:19px;
	}
	#send .box{
		margin-top:40px;
		padding-top:38px;
		padding-bottom:45px;
	}
	#send .link{
		margin-top:24px;
	}
}

/* #verified
-------------------------------------------------- */
#verified{
	border-top:1px solid var(--table-border);
}
#verified .contents{
	padding-top:73px;
	padding-bottom:93px;
}
#verified .subheading{
	margin-top:27px;
	font-weight:500;
}
@media screen and (max-width:767px){
	#verified .contents{
		padding-top:50px;
		padding-bottom:59px;
	}
	#verified .subheading{
		margin-top:19px;
	}
}

/* #terms
-------------------------------------------------- */
#terms{
	font-size:var(--contents-font-size);
}
#terms .contents{
	padding-top:72px;
	padding-bottom:95px;
}/*
#terms .inner:last-of-type{
	margin-top:75px;
	padding-top:68px;
}
#terms .form .item:nth-of-type(2){
	margin-top:-5px;
}*/
@media screen and (max-width:767px){
	#terms .contents{
		padding-top:48px;
		padding-bottom:50px;
	}
/*
	#terms .inner:last-of-type{
		margin-top:55px;
		padding-top:50px;
	}
	#terms .form .item:nth-of-type(2){
		margin-top:-5px;
	}
*/
}

/* #terms + .campaign
-------------------------------------------------- */
#terms.campaign .contents{
	padding-top:73px;
}
#terms.campaign .inner:nth-of-type(2){
	margin-top:75px;
}
#terms.campaign .surprise{
	margin-bottom:62px;
}
#terms.campaign .item:nth-of-type(2){
	margin-top:-5px;
}
@media screen and (max-width:767px){
	#terms.campaign .contents{
		padding-top:50px;
	}
	#terms.campaign .inner:nth-of-type(2){
		margin-top:65px;
	}
	#terms.campaign .surprise{
		margin-bottom:53px;
	}
}

/* #entry
-------------------------------------------------- */
#entry .contents{
	padding-top:73px;
	padding-bottom:100px;
}
#entry .address{
	font-size:22px;
	line-height:var(--heading-line-height);
	font-weight:700;
}
#entry .table{
	margin-top:60px;
}
#entry .table table{
	width:100%;
	margin:0 auto;
	border-top:1px solid var(--table-border);
}
#entry .table tr{
	border-bottom:1px solid var(--table-border);
}
#entry .table th,
#entry .table td{
	font-size:18px;
	vertical-align:top;
}
#entry .table th{
	padding:38px 25px 38px 0;
	line-height:1;
	font-weight:700;
	white-space:nowrap;
}
#entry .table td{
	width:100%;
	padding:20px 0;
}
#entry .table .member ul,
#entry .table .language ul{
	display:grid;
	gap:8px;
}
#entry .table .member ul,
#entry .table .language ul{
	grid-template-columns:repeat(auto-fit,minmax(148px,1fr));
}
#entry .link{
	margin-top:35px;
}
@media screen and (max-width:767px){
	#entry .contents{
		padding-top:50px;
		padding-bottom:65px;
	}
	#entry .address{
		font-size:18px;
	}
	#entry .table{
		margin-top:41px;
	}
	#entry .table tr{
		padding:22px 0 25px;
	}
	#entry .table th,
	#entry .table td{
		font-size:16px;
	}
	#entry .table th{
		padding:0 0 11px;
	}
	#entry .table td{
		padding:0;
	}
	#entry .table .member ul,
	#entry .table .language ul{
		gap:6px;
	}
	#entry .table .member ul,
	#entry .table .language ul{
		grid-template-columns:repeat(auto-fit,minmax(125px,1fr));
	}
	#entry .link{
		margin-top:25px;
	}
	#entry .radio input[type=radio]+span{
		margin-left:0;
	}
	#entry .checkbox input[type=checkbox]+span{
		margin-left:0;
	}
}

/* #entry + .campaign
-------------------------------------------------- */
#entry.campaign{
	border-top:1px solid var(--table-border);
}
#entry.campaign .contents{
	padding-top:72px;
}
#entry.campaign .subheading+.heading{
	margin-top:24px;
	font-size:19px;
	line-height:var(--default-line-height);
}
#entry.campaign .surprise{
	margin-top:33px;
}
#entry.campaign .inner+.inner{
	margin-top:50px;
}
#entry.campaign .link{
	margin-top:35px;
}
@media screen and (max-width:767px){
	#entry.campaign .contents{
		padding-top:48px;
	}
	#entry.campaign .subheading+.heading{
		margin-top:17px;
		font-size:16px;
	}
	#entry.campaign .surprise{
		margin-top:24px;
	}
	#entry.campaign .inner+.inner{
		margin-top:49px;
	}
	#entry.campaign .link{
		margin-top:34px;
	}
}
@media screen and (max-width:619px){
	#entry.campaign .subheading br{
		display:none;
	}
}
@media screen and (max-width:413px){
	#entry.campaign .subheading+.heading br{
		display:none;
	}
}

/* #confirm
-------------------------------------------------- */
#confirm .contents{
	padding-top:73px;
	padding-bottom:100px;
}
#confirm .address{
	font-size:22px;
	line-height:var(--heading-line-height);
	font-weight:700;
}
#confirm .table{
	margin-top:60px;
}
#confirm .table th,
#confirm .table td{
	padding:33px 0 34px;
	vertical-align:top;
}
#confirm .table th{
	padding-right:25px;
}
#confirm .notes{
	margin-top:26px;
	padding:0;
	font-size:19px;
	color:var(--notice-color);
	font-weight:700;
	text-align:center;
	text-indent:0;
}
#confirm .notes span{
	display:inline-block;
}
#confirm .link{
	display:grid;
	grid-template-columns:repeat(2,auto);
	direction:rtl;
	gap:18px 25px;
	width:fit-content;
	margin:28px auto 0;
	max-width:initial;
}
#confirm .link li:first-of-type input{
	width:480px;
}
#confirm .link li:last-of-type input{
	width:160px;
}
@media screen and (max-width:767px){
	#confirm .contents{
		padding-top:50px;
		padding-bottom:65px;
	}
	#confirm .address{
		font-size:18px;
	}
	#confirm .table{
		margin-top:41px;
	}
	#confirm .table tr{
		padding:18px 0 20px;
	}
	#confirm .table th,
	#confirm .table td{
		padding:0;
	}
	#confirm .table th{
		padding-bottom:3px;
	}
	#confirm .notes{
		margin-top:18px;
		font-size:16px;
	}
	#confirm .link{
		grid-template-columns:100%;
		width:100%;
		margin-top:20px;
	}
	#confirm .link li:first-of-type input,
	#confirm .link li:last-of-type input{
		width:100%;
	}
}

/* #complete
-------------------------------------------------- */
#complete{
	font-size:var(--contents-font-size);
}
#complete .contents{
	padding-top:73px;
	padding-bottom:100px;
}
#complete .inner .subheading{
	margin-top:28px;
	font-weight:500;
}
#complete .inner .subheading+.subheading{
	margin-top:24px;
}
#complete .inner strong{
	color:var(--notice-color);
	font-weight:700;
}
#complete .box{
	margin-top:48px;
	padding-top:57px;
	padding-bottom:59px;
}
#complete .box .subheading{
	margin:0;
	font-weight:700;
}
#complete .link{
	margin-top:55px;
}
@media screen and (max-width:767px){
	#complete .contents{
		padding-top:50px;
		padding-bottom:65px;
	}
	#complete .inner .subheading{
		margin-top:19px;
	}
	#complete .inner .subheading+.subheading{
		margin-top:17px;
	}
	#complete .box{
		margin-top:39px;
		padding-top:38px;
		padding-bottom:40px;
	}
	#complete .box .subheading{
		margin:0;
	}
	#complete .link{
		margin-top:45px;
	}
}

/* #complete + .campaign
-------------------------------------------------- */
#complete.campaign{
	border-top:1px solid var(--table-border);
}
#complete.campaign .contents{
	padding-bottom:94px;
}
#complete.campaign .image{
	margin-top:68px;
}
#complete.campaign .link{
	margin-top:30px;
}
#complete.campaign .notes{
	margin-top:19px;
	padding-left:0;
	text-align:center;
	text-indent:0;
}
@media screen and (max-width:767px){
	#complete.campaign .contents{
		padding-bottom:59px;
	}
	#complete.campaign .subheading br{
		display:none;
	}
	#complete.campaign .image{
		margin-top:49px;
	}
	#complete.campaign .link{
		margin-top:25px;
	}
	#complete.campaign .notes{
		margin-top:17px;
	}
}

/* #present
-------------------------------------------------- */
#present .contents{
	padding-top:74px;
	padding-bottom:100px;
}
#present .form{
	row-gap:24px;
	margin:0;
}
#present .notes{
	margin-top:9px;
}
@media screen and (max-width:767px){
	#present .contents{
		padding-top:52px;
		padding-bottom:55px;
	}
	#present .form{
		row-gap:21px;
	}
}
@media screen and (max-width:413px){
	main:has(#present) #title{
		padding-top:32px;
		padding-bottom:33px;
	}
	main:has(#present) #title span{
		display:block;
	}
	main:has(#present) #title span+span{
		margin-top:4px;
	}
}

/* #download
-------------------------------------------------- */
#download .contents{
	padding-top:72px;
	padding-bottom:100px;
}
#download .subheading span{
	display:inline-block;
}
#download .image{
	max-width:800px;
	margin:48px auto 0;
}
@media screen and (max-width:767px){
	#download .contents{
		padding-top:48px;
		padding-bottom:55px;
	}
	#download .image{
		margin-top:39px;
	}
}
@media screen and (max-width:413px){
	main:has(#download) #title{
		padding-top:32px;
		padding-bottom:33px;
	}
	main:has(#download) #title span{
		display:block;
	}
	main:has(#download) #title span+span{
		margin-top:4px;
	}
}

/* form
-------------------------------------------------- */
/* input, textarea */
input,
textarea{
	color:var(--form-color);
	line-height:var(--form-line-height);
}
input[type=text],
textarea{
	width:100%;
	font-size:18px;
	border-radius:5px;
	background:var(--form-input-background);
}
input[type=text]{
	padding:13px 18px 14px;
}
textarea{
	height:188px;
	padding:13px 18px 14px;
}
input.serial{
	padding:9px 18px 12px;
	font-size:22px;
	font-weight:700;
	text-align:center;
}
input::placeholder{
	color:#888;
}
input:focus::placeholder{
	color:transparent;
}
@media screen and (max-width:767px){
	input[type=text],
	textarea{
		font-size:16px;
		border-radius:3px;
	}
	input[type=text]{
		padding:10px 12px 12px;
	}
	textarea{
		height:150px;
		padding:10px 12px 12px;
	}
	input.serial{
		padding:7px 12px 9px;
		font-size:20px;
	}
}

/* button */
input[type=submit],
button{
	width:100%;
	padding:13px 20px 14px;
	font-size:var(--button-font-size);
	line-height:var(--button-line-height);
	color:var(--button-color);
	font-weight:500;
	text-align:center;
	border-radius:27px;
	background-image:var(--button-background);
	cursor:pointer;
}
input[type=submit].cancel{
	color:var(--cancel-color);
	background-image:var(--cancel-background);
}
@media screen and (max-width:767px){
	input[type=submit]{
		padding:10px 15px 12px;
	}
}

/* radio */
.radio{
	display:block;
	padding:13px 18px 14px;
	font-size:18px;
	line-height:var(--form-line-height);
	color:var(--form-box-text);
	font-weight:700;
	border-radius:5px;
	background:var(--form-box-background);
	cursor:pointer;
}
.radio input[type=radio]{
	display:none;
}
.radio input[type=radio]+span{
	position:relative;
	display:block;
	width:fit-content;
	margin:0 auto;
	padding-left:30px;
}
.radio input[type=radio]+span::before,
.radio input[type=radio]+span::after{
	position:absolute;
	display:block;
	border-radius:50%;
	content:'';
}
.radio input[type=radio]+span::before{
	top:3px;
	left:0;
	width:22px;
	height:22px;
	background:#FFF;
}
.radio input[type=radio]+span::after{
	top:9px;
	left:6px;
	width:10px;
	height:10px;
	background:#000;
	opacity:0;
}
.radio input[type=radio]:checked+span::after{
	opacity:1;
}
.radio:has(input[type=radio]:checked){
	color:#FFF;
	background:var(--button-background);
}
.radio:has(input[type=radio]:disabled){
	color:rgba(0,0,0,0.3);
	cursor:default;
}
.radio input[type=radio]:disabled+span::before{
	background:rgba(255,255,255,0.55);
}
@media screen and (max-width:767px){
	.radio{
		padding:10px 12px 12px;
		font-size:16px;
		border-radius:3px;
	}
	.radio input[type=radio]+span{
		padding-left:28px;
	}
	.radio input[type=radio]+span::before{
		top:4px;
		width:18px;
		height:18px;
	}
	.radio input[type=radio]+span::after{
		top:9px;
		left:5px;
		width:8px;
		height:8px;
	}
	.radio input[type=radio]+span::after{
		border-width:6px;
	}
}

/* checkbox */
.checkbox{
	display:block;
	padding:13px 18px 14px;
	font-size:18px;
	line-height:var(--form-line-height);
	color:var(--form-box-text);
	font-weight:500;
	border-radius:5px;
	background:var(--form-box-background);
	cursor:pointer;
}
.checkbox input[type=checkbox]{
	display:none;
}
.checkbox input[type=checkbox]+span{
	position:relative;
	display:block;
	width:fit-content;
	margin:0 auto;
	padding-left:30px;
}
.checkbox input[type=checkbox]+span::before,
.checkbox input[type=checkbox]+span::after{
	position:absolute;
	display:block;
	content:'';
}
.checkbox input[type=checkbox]+span::before{
	top:3px;
	left:0;
	width:22px;
	height:22px;
	border-radius:2px;
	background:rgba(255,255,255,1);
}
.checkbox input[type=checkbox]+span::after{
	top:5px;
	left:7px;
	width:9px;
	height:15px;
	border-right:3px solid #000;
	border-bottom:3px solid #000;
	transform:rotate(45deg);
	transform-origin:center;
	opacity:0;
}
.checkbox input[type=checkbox]:checked+span::after{
	opacity:1;
}
.checkbox:has(input[type=checkbox]:checked){
	color:#FFF;
	background:var(--button-background);
}
@media screen and (max-width:767px){
	.checkbox{
		padding:10px 12px 12px;
		font-size:16px;
		border-radius:3px;
	}
	.checkbox input[type=checkbox]+span{
		padding-left:28px;
	}
	.checkbox input[type=checkbox]+span::before{
		width:20px;
		height:20px;
	}
	.checkbox input[type=checkbox]+span::after{
		width:7px;
		height:13px;
		border-right-width:2px;
		border-bottom-width:2px;
	}
}

/* select */
.select{
	position:relative;
	width:100% !important;
}
.select::before{
	position:absolute;
	top:50%;
	right:15px;
	border-top:10px solid var(--form-select-arrow);
	border-right:6px solid transparent;
	border-left:6px solid transparent;
	transform:translateY(-50%);
	content:'';
}
select{
	width:100% !important;
	padding:13px 18px 14px;
	font-size:18px;
	line-height:var(--form-line-height);
	color:var(--form-text-color);
	font-weight:700;
	border-radius:5px;
	background:var(--form-input-background);
	cursor:pointer;
}
@media screen and (max-width:767px){
.select::before{
		right:12px;
	}
	select{
		padding:10px 12px 12px;
		font-size:16px;
	}
}

/* .toTop
-------------------------------------------------- */
.toTop{
	position:fixed;
	right:25px;
	bottom:25px;
	width:52px;
	height:52px;
	z-index:100;
}
.toTop img{
	display:block;
	filter:drop-shadow(0 0 15px rgba(0,0,0,.1));
	transition:0.3s;
	cursor:pointer;
}
@media screen and (max-width:767px){
	.toTop{
		right:15px;
		bottom:15px;
		width:44px;
		height:44px;
	}
}
@media screen and (min-width:768px){
	.toTop img:hover{
		transform:scale(1.03);
	}
}

/* .modal
-------------------------------------------------- */
.modalBg{
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
	display:none;
	background:rgba(0,0,0,0.8);
	z-index:200;
}
.modalBg[data-index="1"]{
	z-index:206
}
.modalClose{
	position:fixed;
	top:36px;
	right:32px;
	display:none;
	width:28px;
	height:28px;
	z-index:205;
	cursor:pointer;
}
.modalClose::before,
.modalClose::after{
	position:absolute;
	top:50%;
	left:50%;
	display:block;
	width:36px;
	height:1px;
	background:#fff;
	content:'';
}
.modalClose::before{
	transform:translate(-50%,-50%) rotate(45deg);
}
.modalClose::after{
	transform:translate(-50%,-50%) rotate(-45deg);
}
.modalClose[data-index="1"]{
	z-index:208;
}
.modal{
	position:fixed;
	top:50%;
	left:50%;
	display:none;
	width:calc(100% - 60px);
	max-width:1366px;
	/*max-height:calc(100vh - 128px);*/
	transform:translate(-50%,-50%);
	overflow-y:scroll;
	z-index:201;
}
.modal[data-index="1"]{
	z-index:209;
}
.modal::-webkit-scrollbar{
	display:none;
	-webkit-appearance:none;  
}
@media screen and (max-width:767px){
	.modal{
		width:calc(100% - 30px);
		max-width:initial;
	}
}

/* .slick
-------------------------------------------------- */
.slick-slider{
	position:relative;
	display:block;
	box-sizing:border-box;
	user-select:none;
	-webkit-touch-callout:none;
	-khtml-user-select:none;
	-ms-touch-action:pan-y;
			touch-action:pan-y;
	-webkit-tap-highlight-color:transparent;
}
.slick-list{
	position:relative;
	display:block;
	margin:0;
	padding:0;
	overflow:hidden;
}
.slick-list:focus{
	outline:none;
}
.slick-list.dragging{
		cursor:pointer;
		cursor:hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list{
	-webkit-transform: translate3d(0,0,0);
		 -moz-transform: translate3d(0,0,0);
			-ms-transform: translate3d(0,0,0);
			 -o-transform: translate3d(0,0,0);
					transform: translate3d(0,0,0);
}
.slick-track{
	position:relative;
	top:0;
	left:0;
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.slick-track:before,
.slick-track:after{
	display:table;
	content:'';
}
.slick-track:after{
	clear:both;
}
.slick-loading .slick-track{
	visibility:hidden;
}
.slick-slide{
	display:none;
	float:left;
	height:100%;
	min-height:1px;
}
[dir='rtl'] .slick-slide{
	float:right;
}
.slick-slide img{
	display:block;
}
.slick-slide.slick-loading img{
	display:none;
}
.slick-slide.dragging img{
	pointer-events:none;
}
.slick-initialized .slick-slide{
	display:block;
}
.slick-loading .slick-slide{
	visibility:hidden;
}
.slick-vertical .slick-slide{
	display:block;
	height:auto;
	border:1px solid transparent;
}
.slick-arrow.slick-hidden{
	display:none;
}
.slick-dots{
	display:flex;
	column-gap:8px;
	width:fit-content;
	margin:0 auto;
	padding-top:9px;
}
.slick-dots li{
	display:block;
	width:40px;
	height:10px;
}
.slick-dots button{
	position:relative;
	display:block;
	width:100%;
	height:100%;
	margin:0;
	padding:0;
	font-size:0;
	line-height:0;
	color:transparent;
	border:0;
	border-radius:unset;
	background:transparent;
	outline:0;
	cursor:pointer;
}
.slick-dots button::before{
	position:absolute;
	top:50%;
	left:0;
	display:block;
	width:100%;
	height:2px;
	background:#000;
	transform:translateY(-50%);
	transition:0.3s;
	opacity:0.35;
	content:'';
}
.slick-dots button:hover::before,
.slick-dots .slick-active button::before{
	opacity:1;
}