@charset "utf-8";

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

/* root
================================================== */
:root{
	/* default */
	--default-font-size:15px;
	--default-line-height:1.6;
	--default-font-color:#FFF;
	--default-font-weight:400;
	--default-font-bold:700;
	--default-border:#FFF;
	--default-background:#000;
	
	/* link */
	--text-link-color:#FFF;
	--text-link-decoration:none;
	--text-hover-decoration:underline;
	--image-link-opacity:0.6;
	--image-link-trasition:0.5s;
	
	/* logo */
	--logo-color:#FFF;
	
	/* background */
	--header-background:#000;
	--footer-background:#000;
	--sub-background:85%;
	--input-background:70%;

	/* color */
	--notes-color:62%;
	--notice-color:#E7123E;
	--breadcrumb-color:55%;
	--breadcrumb-arrow:58%;

	/* button */
	--button-font-size:15px;
	--button-line-height:1.25;
	--button-font-color:#000;
	/* --button-font-color:#FFF; */
	--button-font-weight:500;
	--button-background:#FFF;
	/* --button-background:linear-gradient(#2A1D2E,#C30426); */

	/* border */
	--partition-line:36%;
	--table-line:24%;

	/* list */
	--list-font-size:15px;
	--list-line-height:1.6;
	--list-mark-color:#FFF;
	--list-mark-wrapper:1.25;
	--list-mark-disc:15%;
	--list-mark-square:32%;
	--list-mark-round:8%;
	--list-mark-triangle:0.65;

	/* slick */
	--slick-button:#FFF;
	--slick-arrow:#000;
	--slick-button-hover:#FFF;
	--slick-arrow-hover:#000;
	--slick-dots:#FFF;
}
@media screen and (max-width:800px){
	:root{
		--default-font-size:14px;
		--button-font-size:14px;
		--list-font-size:14px;
	}
}

/* reset
================================================== */
*:where(:not(html,iframe,canvas,img,svg,video,audio):not(svg *,symbol *)){all:unset;display:revert;}
*,*::before,*::after{box-sizing:border-box;}
html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;}
a,button{cursor:revert;}
ol,ul,menu,summary{list-style:none;}
ol{counter-reset:revert;}
img{max-inline-size:100%;max-block-size:100%;}
table{border-collapse:collapse;}
input,textarea{-webkit-user-select:auto;}
textarea{white-space:revert;}
meter{-webkit-appearance:revert;appearance:revert;}
:where(pre){all:revert;box-sizing:border-box;}
::placeholder{color:unset;}
:where([hidden]){display:none;}
:where([contenteditable]:not([contenteditable="false"])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto;}
:where([draggable="true"]){-webkit-user-drag:element;}
:where(dialog:modal){all:revert;box-sizing:border-box;}
::-webkit-details-marker{display:none;}

/* addition
-------------------------------------------------- */
body{position:relative;width:100%;font-size:var(--default-font-size);line-height:var(--default-line-height);color:var(--default-font-color);font-family:'Noto Sans','Noto Sans JP',sans-serif;font-weight:var(--default-font-weight);background:var(--default-background);}
footer,header,main,picture{display:block;}
img{vertical-align:top;}
a{color:var(--text-link-color);vertical-align:bottom;background:transparent;}


/* STARGLOW
================================================== */
html,body{
	height:100%;
}

/* header, footer
================================================== */
header .logo,
footer .logo{
	display:block;
	width:fit-content;
	height:58px;
	margin-inline:auto;
	transition:opacity var(--image-link-trasition);
}
header .logo svg,
footer .logo svg{
	width:auto;
	height:100%;
	fill:var(--logo-color);
}
@media screen and (max-width:800px){
	header .logo,
	footer .logo{
		height:44px;
	}
}
@media (any-hover:hover){
	a.logo:hover{
		opacity:var(--image-link-opacity);
	}
}

/* header
-------------------------------------------------- */
header{
	position:relative;
	padding-inline:min(4vw,30px);
	text-align:center;
	background:color-mix(in srgb,var(--header-background) 100%,transparent);
}
#index header{
	padding-block:55px 30px;
}
:where(#form,#hashtag,#tower) header{
	padding-block-start:22px;
}
:where(#form,#hashtag,#tower) #header{
	width:fit-content;
	margin-inline:auto;
	padding-block:49px 26px;
}
:where(#form,#hashtag,#tower) #header p{
	text-align:center;
	letter-spacing:0.01em;
	text-indent:0.01em;
	font-feature-settings:'palt';
}
:where(#form,#hashtag,#tower) #header .number{
	font-size:14px;
}
:where(#form,#hashtag,#tower) #header .title{
	width:330px;
	margin-block:12px 18px;
}
:where(#form,#hashtag,#tower) #header .campaign{
	font-size:16px;
}
@media screen and (max-width:800px){
	#index header{
		padding-block:42px 22px;
	}
	:where(#form,#hashtag,#tower) header{
		padding-block-start:20px;
	}
	:where(#form,#hashtag,#tower) #header{
		padding-block:23px 18px;
	}
	:where(#form,#hashtag,#tower) #header .number{
		font-size:13px;
	}
	:where(#form,#hashtag,#tower) #header .title{
		width:min(65vw,290px);
		margin-block:9px 13px;
	}
	:where(#form,#hashtag,#tower) #header .campaign{
		font-size:15px;
	}
}

/* footer
-------------------------------------------------- */
footer{
	position:sticky;
	top:100vh;
	padding:216px min(4vw,30px) 28px;
	background:color-mix(in srgb,var(--footer-background) 100%,transparent);
}
footer .official{
	display:block;
	width:fit-content;
	margin:20px auto;
	padding:12px 55px;
	font:var(--default-font-weight) 13px/1 'noto sans';
	color:var(--default-font-color);
	border-radius:20px;
	border:1px solid color-mix(in srgb,var(--default-font-color) 70%,transparent);
	background:color-mix(in srgb,var(--footer-background) 100%,transparent);
	filter:invert(0%);
	transition:all var(--image-link-trasition);
}
footer .official[href^="http"]::after{
	display:inline-block;
	width:10px;
	margin-inline-start:0.8ex;
	aspect-ratio:1;
	background:color-mix(in srgb,var(--default-font-color) 100%,transparent);
	mask-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJf44Os44Kk44Ok44O8XzEiIGRhdGEtbmFtZT0iIOODrOOCpOODpOODvCAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMCAxMCI+IDxkZWZzPiA8c3R5bGU+IC5jbHMtMSB7IGZpbGw6ICNmZmY7IH0gPC9zdHlsZT4gPC9kZWZzPiA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMCw3SDNWMGg3djdaTTQsNmg1VjFoLTV2NVoiLz4gPHBvbHlnb24gY2xhc3M9ImNscy0xIiBwb2ludHM9IjcgMTAgMCAxMCAwIDMgMiAzIDIgNCAxIDQgMSA5IDYgOSA2IDggNyA4IDcgMTAiLz48L3N2Zz4=');
	mask-position:center;
	mask-repeat:no-repeat;
	mask-size:10px;
	content:'';
}
footer .sns{
	display:grid;
	grid-auto-flow:column;
	place-items:center;
	column-gap:22px;
	width:fit-content;
	margin-inline:auto;
	line-height:1;
}
footer .sns a{
	display:block;
}
footer .sns a svg{
	width:auto;
	fill:var(--default-font-color);
	transition:transform var(--image-link-trasition);
}
footer .sns :where(a,a svg){
	height:22px;
}
footer .sns :where(a[href*="youtube"],a[href*="youtube"] svg){
	height:16px;
}
footer .inquiry{
	display:block;
	width:fit-content;
	margin-block-start:28px;
	margin-inline:auto;
	font-size:13px;
	transition:opacity var(--image-link-trasition);
}
@media screen and (max-width:800px){
	footer{
		padding-block:146px 24px;
	}
	footer .official{
		margin-block:18px;
		padding:12px 50px 11px;
		font-size:12px;
	}
	footer .sns{
		column-gap:18px;
	}
	footer .sns :where(a,a svg){
		height:20px;
	}
	footer .sns :where(a[href*="youtube"],a[href*="youtube"] svg){
		height:15px;
	}
	footer .inquiry{
		margin-block-start:25px;
		font-size:12px;
	}
}
@media (any-hover:hover){
	footer .official:hover{
		border-color:color-mix(in srgb,var(--default-font-color) 100%,transparent);
		filter:invert(100%);
	}
	footer .sns a:hover svg{
		transform:scale(1.25);
	}
	footer .inquiry:hover{
		opacity:var(--image-link-opacity);
	}
}

/* common
================================================== */
.contents{
	max-width:960px;
	margin-inline:auto;
	padding-inline:min(4vw,30px);
}
.heading,
.subheading{
	font-weight:200;
}
#index .contents{
	text-align:center;
}
#index .heading{
	margin-block-end:63px;
	font-size:38px;
	line-height:1.25;
}
#form .heading{
	margin-block-end:30px;
	font-size:21px;
	line-height:1.4;
}
#form .subheading{
	margin-block-end:31px;
	font-size:18px;
	line-height:1.4;
}
:where(#hashtag,#tower) .heading{
	display:grid;
	align-items:center;
	min-height:151px;
	margin-inline:calc(50% - 50vw);
	padding:39px calc(50vw - 50%);
	font-size:26px;
	line-height:1.4;
	background:color-mix(in srgb,var(--default-background) var(--sub-background),#FFF);
}
:where(#hashtag,#tower) .subheading{
	margin-block-end:30px;
	font-size:21px;
	line-height:1.4;
}
@media screen and (max-width:800px){
	.contents{
		max-width:700px;
	}
	.heading{
		margin-block-end:46px;
		font-size:26px;
		font-weight:300;
	}
	.subheading{
		font-weight:300;
	}
	#index .heading{
		margin-block-end:46px;
		font-size:26px;
	}
	#form .heading{
		margin-block-end:26px;
		font-size:18px;
	}
	#form .subheading{
		margin-block-end:28px;
		font-size:17px;
	}
	:where(#hashtag,#tower) .heading{
		min-height:initial;
		margin-block:0;
		padding-block:27px 25px;
		font-size:18px;
	}
	:where(#hashtag,#tower) .subheading{
		margin-block-end:25px;
		font-size:17px;
	}
}

/* .list
-------------------------------------------------- */
.list{
	display:grid;
	row-gap:6px;
}
.list li{
	position:relative;
	padding-inline-start:calc(1em * var(--list-mark-wrapper));
	font-size:var(--list-font-size);
	line-height:var(--list-line-height);
}
.list li::before{
	position:absolute;
	top:calc(((1em * var(--list-line-height)) - (1em * var(--list-mark-wrapper))) / 2);
	left:0;
	display:block;
	width:calc(1em * var(--list-mark-wrapper));
	height:calc(1em * var(--list-mark-wrapper));
	background:var(--list-mark-color);
	content:'';
}
.disc li::before{
	clip-path:circle(var(--list-mark-disc));
}
.square li::before{
	clip-path:inset(var(--list-mark-square));
}
.round li::before{
	clip-path:inset(var(--list-mark-square) round var(--list-mark-round));
}
.triangle li::before{
	top:calc(((1em * var(--list-line-height)) - (1em * var(--list-mark-triangle))) / 2);
	left:calc(((1em * var(--list-line-height)) - (1em * cos(30deg))) / 2);
	width:auto;
	height:calc(1em * (var(--list-mark-triangle)));
	aspect-ratio:cos(30deg);
	clip-path:polygon(0 0,100% 50%,0 100%);
}
.reference li{
	position:relative;
	padding-inline-start:calc(1em * var(--list-mark-wrapper));
	font-size:var(--list-font-size);
	line-height:var(--list-line-height);
}
.reference li::before{
	top:0;
	left:0;
	display:block;
	width:calc(1em * var(--list-mark-wrapper));
	height:var(--list-line-height);
	text-align:center;
	background:none;
	content:'\203B';
}
.number{
	counter-reset:number;
}
.number li::before{
	top:0;
	left:0;
	display:block;
	width:fit-content;
	height:var(--list-line-height);
	text-align:right;
	background:none;
	counter-increment:number;
	content:counter(number) '.';
}

/* .button
-------------------------------------------------- */
.button{
	display:flex;
	justify-content:center;
	align-items:center;
	width:100%;
	min-height:19px;
	padding-block:13px;
	font-size:var(--button-font-size);
	line-height:var(--button-line-height);
	color:var(--button-font-color);
	font-weight:var(--button-font-weight);
	border-radius:40px;
	background:var(--button-background);
	transition:opacity var(--image-link-trasition);
	box-sizing:content-box;
	cursor:pointer;
}
.button.nolink{
	pointer-events:none;
	filter:invert(62%);
}
.shop,
.digital{
	min-height:initial;
	padding-block:12px;
	font-size:14px;
}
.shop::before,
.digital::before{
	display:inline-block;
	height:20px;
	margin-inline-end:0.8ex;
	vertical-align:top;
	background:color-mix(in srgb,var(--button-font-color) 100%,transparent);
	mask-position:center;
	mask-repeat:no-repeat;
	content:'';
}
.shop::before{
	aspect-ratio:1;
	mask-image:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJf44Os44Kk44Ok44O8XzEiIGRhdGEtbmFtZT0iIOODrOOCpOODpOODvCAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+IDxwYXRoIGQ9Ik0xMCwxMS41NzljLS44NDIsMC0xLjU3OS0uNzM3LTEuNTc5LTEuNTc5cy43MzctMS41NzksMS41NzktMS41NzksMS41NzkuNzM3LDEuNTc5LDEuNTc5LS43MzcsMS41NzktMS41NzksMS41NzlaTTEwLDkuNDc0Yy0uMzE2LDAtLjUyNi4yMTEtLjUyNi41MjZzLjIxMS41MjYuNTI2LjUyNi41MjYtLjIxMS41MjYtLjUyNi0uMjExLS41MjYtLjUyNi0uNTI2Wk0xMCwxMy42ODRjLTIsMC0zLjY4NC0xLjY4NC0zLjY4NC0zLjY4NHMxLjY4NC0zLjY4NCwzLjY4NC0zLjY4NCwzLjY4NCwxLjY4NCwzLjY4NCwzLjY4NC0xLjY4NCwzLjY4NC0zLjY4NCwzLjY4NFpNMTAsNy4zNjhjLTEuNDc0LDAtMi42MzEsMS4xNTgtMi42MzEsMi42MzFzMS4xNTgsMi42MzEsMi42MzEsMi42MzEsMi42MzEtMS4xNTgsMi42MzEtMi42MzEtMS4xNTgtMi42MzEtMi42MzEtMi42MzFaTTEwLDBDNC41MjYsMCwwLDQuNTI2LDAsMTBzNC41MjYsMTAsMTAsMTAsMTAtNC41MjYsMTAtMTBTMTUuNDczLDAsMTAsMFpNMS4wNTMsMTBDMS4wNTMsNS4wNTIsNS4wNTIsMS4wNTMsMTAsMS4wNTNzOC45NDcsNCw4Ljk0Nyw4Ljk0NywwLC4zMTYsMCwuNTI2bC04LjQyMSw4LjQyMWgtLjUyNmMtNC45NDcsMC04Ljk0Ny00LTguOTQ3LTguOTQ3Wk0xMi4zMTYsMTguNjMxbDYuMzE1LTYuMzE1Yy0uODQyLDMuMDUyLTMuMjYzLDUuNDczLTYuMzE1LDYuMzE1WiIvPjwvc3ZnPg==");
	mask-size:20px;
}
.digital::before{
	width:17px;
	aspect-ratio:160/169;
	mask-image:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJf44Os44Kk44Ok44O8XzEiIGRhdGEtbmFtZT0iIOODrOOCpOODpOODvCAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNi45Ij4gPHBhdGggZD0iTTQsMi4zdjEwLjFjLS40LS4zLS45LS41LTEuNS0uNS0xLjQsMC0yLjUsMS4xLTIuNSwyLjVzMS4xLDIuNSwyLjUsMi41LDIuNS0xLjEsMi41LTIuNVY2LjNsMTAtMS42djUuN2MtLjQtLjMtLjktLjUtMS41LS41LTEuNCwwLTIuNSwxLjEtMi41LDIuNXMxLjEsMi41LDIuNSwyLjUsMi41LTEuMSwyLjUtMi41VjBMNCwyLjNaTTIuNSwxNS45Yy0uOCwwLTEuNS0uNy0xLjUtMS41cy43LTEuNSwxLjUtMS41LDEuNS43LDEuNSwxLjUtLjcsMS41LTEuNSwxLjVaTTEzLjQ5OSwxMy45Yy0uOCwwLTEuNS0uNy0xLjUtMS41cy43LTEuNSwxLjUtMS41LDEuNS43LDEuNSwxLjUtLjcsMS41LTEuNSwxLjVaTTE0Ljk5OSwzLjdsLTEwLDEuNnYtMi4ybDEwLTEuOXYyLjRoMHYuMVoiLz48L3N2Zz4=");
	mask-size:17px;
}
form .button{
	text-align:center;
}
@media screen and (max-width:800px){
	.shop,
	.digital{
		padding-block:11px;
		font-size:13px;
	}
	form .button,
	#form .button{
		padding-block:10px;
	}
}
@media (any-hover:hover){
	.button:hover{
		opacity:var(--image-link-opacity);
	}
	.nolink.button:hover,
	.nolink.button:hover::after{
		opacity:1;
	}
}

/* #visual
-------------------------------------------------- */
#visual{
	max-width:930px;
	padding-inline:40px;
}
@media screen and (max-width:800px){
	#visual{
		width:91.1458vw;
		max-width:initial;
		padding-inline:min(4vw,30px);
	}
}
@media screen and (max-width:600px){
	#visual{
		width:100%;
	}
}

/* #introduction
-------------------------------------------------- */
#introduction{
	width:fit-content;
	max-width:initial;
	padding-block-start:68px;
}
#visual+#introduction{
	padding-block-start:53px;
}
#introduction p{
	line-height:1;
	letter-spacing:0.01em;
	text-indent:0.01em;
	font-feature-settings:'palt';
}
#introduction .release{
	font-size:17px;
}
#introduction .number{
	margin-block:38px 16px;
	font-size:15px;
}
#introduction .title{
	width:fit-content;
	margin-inline:auto;
	font-size:42px;
	line-height:1;
	font-weight:100;
}
#introduction .purchase{
	display:grid;
	grid-template-columns:repeat(2,138px);
	column-gap:12px;
	width:fit-content;
	margin:40px auto 39px;
}
#introduction .description{
	max-width:900px;
	line-height:1.8;
	text-align:left;
	letter-spacing:0.03em;
	text-indent:0;
}
#introduction .lottery{
	max-width:900px;
	margin-block-start:39px;
	padding:20px 25px 21px;
	text-align:left;
	letter-spacing:0.03em;
	font-feature-settings:'palt';
	border:1px solid color-mix(in srgb,var(--default-border) var(--partition-line),transparent) 
}
#introduction .lottery dt{
	position:relative;
	margin-block-end:11px;
	padding-inline-start:1.25em;
	font-weight:var(--default-font-bold);
}
#introduction .lottery dt::before{
	position:absolute;
	top:0;
	left:0;
	content:'\25A0';
}
#introduction .lottery dd a{
	overflow-wrap:anywhere;
	transition:opacity var(--image-link-trasition);
}
@media screen and (max-width:800px){
	#introduction{
		max-width:700px;
		padding-block-start:41px;
	}
	#visual+#introduction{
		padding-block-start:43px;
	}
	#introduction .release{
		font-size:15px;
	}
	#introduction .number{
		margin-block:32px 16px;
		font-size:13px;
	}
	#introduction .title{
		font-size:30px;
	}
	#introduction .purchase{
		grid-template-columns:repeat(2,128px);
		column-gap:10px;
		margin-block:34px 32px;
	}
	#introduction .lottery{
		margin-block-start:33px;
		padding:18px 18px 17px; 
	}
	#introduction .lottery dt{
		margin-block-end:10px;
	}
}
@media (any-hover:hover){
	#introduction .lottery dd a:hover{
		opacity:var(--image-link-opacity);
	}
}

/* #disc
-------------------------------------------------- */
#disc{
	max-width:1040px;
	padding-inline:0;
}
#disc .inner{
	margin-block-start:190px;
}
#disc .heading{
	margin-block-end:52px;
}
#disc .products{
	container-type:inline-size;
	position:relative;
	text-align:left;
}

/* .navigation */
#disc .slide{
	padding-inline:30px;
	border-block-end:1px solid color-mix(in srgb,var(--default-border) var(--partition-line),transparent);
}
#disc .slick-prev,
#disc .slick-next{
	top:43px;
}
#disc .slick-prev{
	left:max(-0.625vw,-16px);
}
#disc .slick-next{
	right:max(-0.625vw,-16px);
}
#disc .slick-dots{
	display:flex;
	column-gap:8px;
	width:fit-content;
	margin-inline:auto;
	padding-block:4px 16px;
}
#disc .slick-dots li{
	display:block;
	width:25px;
	height:11px;
}
#disc .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;
	outline:0;
	cursor:pointer;
}
#disc .slick-dots button::before{
	position:absolute;
	top:50%;
	left:0;
	display:block;
	width:100%;
	height:3px;
	margin-block-start:-2px;
	border-radius:2px;
	background:var(--slick-dots);
	transition:var(--image-link-trasition);
	filter:invert(62%);
	content:'';
}
#disc .slick-dots .slick-active button::before{
	filter:invert(0%);
}
#disc .thumbnail{
	display:grid;
	place-items:center;
	width:118px;
	padding:12px;
	aspect-ratio:1;
}
#disc .thumbnail .image{
	width:94px;
}
#disc .thumbnail img{
	width:94px;
	opacity:0.62;
	transition:var(--image-link-trasition);
	cursor:pointer;
}
#disc .slick-current .thumbnail img{
	opacity:1;
}

/* .product */
#disc .product{
	position:relative;
	display:grid;
}

/* .cover */
#disc .cover ul{
	display:grid;
	grid-auto-flow:row;
	row-gap:10px;
	padding-block-start:12px;
}
#disc .cover img{
	width:100%;
}
#disc .cover .button{
	max-width:158px;
	margin-block-start:10px;
	margin-inline:auto;
}

/* .details */
#disc .details .type{
	font-size:17px;
}
#disc .details .notice{
	margin-block-start:1px;
	font-size:11px;
	color:color-mix(in srgb,var(--default-font-color) var(--notes-color),transparent);
	font-feature-settings:'palt';
}
#disc .details .item{
	display:flex;
	column-gap:4px;
	width:fit-content;
	margin-block-start:29px;
}
#disc .details .notice+.item{
	margin-block-start:31px;
}
#disc .details .icon{
	padding:3px 8px 2px;
	font-size:12px;
	line-height:1;
	border:1px solid color-mix(in srgb,var(--default-border) 100%,transparent);
}
#disc .details .metadata{
	display:flex;
	margin-block:13px 17px;
}
#disc .details .metadata li:not(:first-of-type)::before{
	display:inline-block;
	padding-inline:0.5em;
	font-weight:300;
	content:'/';
}
#disc .details .package:not(:first-of-type){
	border-block-start:1px solid color-mix(in srgb,var(--default-border) var(--table-line),transparent);
	transition:background var(--image-link-trasition);
}
#disc .details .format{
	position:relative;
	display:flex;
	justify-content:space-between;
	align-items:center;
	width:100%;
	height:79px;
	padding-block-end:1px;
	font-size:15px;
	z-index:100;
	cursor:pointer;
}
#disc .details .format span{
	position:relative;
	display:block;
	width:31px;
	height:31px;
	background:var(--button-background);
	border-radius:50%;
	transition:opacity var(--image-link-trasition);
}
#disc .details .format span::before,
#disc .details .format span::after{
	position:absolute;
	display:block;
	background:#000;
	opacity:1;
	transition:opacity var(--image-link-trasition);
	content:'';
}
#disc .details .format span::before{
	top:15px;
	left:8px;
	width:15px;
	height:1px;
}
#disc .details .format span::after{
	top:8px;
	left:15px;
	width:1px;
	height:15px;
}
#disc .details .format.active span::after{
	opacity:0;
}
#disc .details .track{
	display:none;
	border-block-start:1px solid color-mix(in srgb,var(--default-border) var(--table-line),transparent);
}
#disc .details .tracklist li{
	position:relative;
	padding-block:19px 17px;
	font-size:13px;
	line-height:1.35;
	border-block-end:1px solid color-mix(in srgb,var(--default-border) var(--table-line),transparent);
}
#disc .details .tracklist li:has(.credits,.collab){
	padding-block-end:19px;
}
#disc .details ol.tracklist li{
	padding-inline-start:4ex;
}
#disc .details ol.tracklist{
	counter-reset:track;
}
#disc .details ol.tracklist li::before{
	position:absolute;
	top:19px;
	left:0;
	font-size:13px;
	line-height:1.35;
	counter-increment:track;
	content:counter(track,decimal-leading-zero);
}
/*
.details ul.tracklist li{
	padding-inline-start:20px;
}
.details ul.tracklist li::before{
	position:absolute;
	top:26px;
	left:8px;
	display:block;
	width:4px;
	height:4px;
	border-radius:50%;
	background:#999;
	content:'';
}
*/
#disc .details .title{
	padding-block:19px 17px;
	font-size:13px;
	line-height:1.35;
	font-weight:var(--default-font-bold);
	border-block-end:1px solid color-mix(in srgb,var(--default-border) var(--table-line),transparent);
}
#disc .details .tracklist+.title{
	padding-block-start:32px;
}
#disc .details .tracklist .credits,
#disc .details .tracklist .collab,
#disc .details .track .notes{
	font-size:11px;
	line-height:1.35;
	color:color-mix(in srgb,var(--default-font-color) var(--notes-color),transparent);
	font-feature-settings:'palt';
}
#disc .details .tracklist .credits{
	margin-block-start:12px;
}
#disc .details .tracklist .collab{
	margin-block-start:3px;
}
#disc .details .track .notes{
	margin-block-start:21px;
	color:var(--default-font-color);
}
#disc .details .close{
	width:108px;
	margin-inline:auto;
	padding-block:22px 35px;
}
#disc .onedisc .package .close,
#disc .twodisc .package+.package .close{
	padding-block-end:0;
}
#disc .details .close .button{
	display:grid;
	place-items:center;
	height:33px;
	padding-block:0 1px;
	font-size:13px;
}
#disc .details .other+.close{
	padding-block-start:19px;
}
#disc .details .spec{
	margin-block-start:40px;
}
#disc .details .spec dt{
	position:relative;
	margin-block-end:11px;
	padding-inline-start:1.25em;
}	
#disc .details .spec dt::before{
	position:absolute;
	top:0;
	left:0;
	content:'\25A0';
}
#disc .details .spec dd+dt{
	margin-block-start:36px;
}
#disc .details .spec .bundle{
	display:grid;
	grid-auto-flow:row;
	row-gap:20px;
	margin-block-start:16px;
}
#disc .details .spec .reference li{
	font-size:11px;
	color:color-mix(in srgb,var(--default-font-color) var(--notes-color),transparent);
}
#disc .details .link{
	width:138px;
	margin-block-start:22px;
	margin-inline:auto;
}
@container (width >= 1040px){
	#disc .product{
		grid-template-columns:454px 586px;
	}
	#disc .navigation{
		width:586px;
		padding-inline:24px 30px;
	}
	#disc .details{
		width:100%;
		padding-inline:24px 30px;
	}
	#disc .cover{
		width:100%;
		padding-inline:30px 24px;
	}
	#disc .navigation{
		position:absolute;
		top:0;
		right:0;
		z-index:1;
	}
	#disc .details{
		justify-self:end;
		padding-block-start:184px;
	}
}
@container (width < 1040px){
	#disc .product{
		grid-template-columns:43.6538% 56.3462%;
	}
	#disc .navigation{
		width:56.3462%;
		padding-inline:2.3077vw 30px;
	}
	#disc .details{
		width:100%;
		padding-inline:2.3077vw 30px;
	}
	#disc .cover{
		width:100%;
		padding-inline:30px 2.3077vw;
	}
	#disc .navigation{
		position:absolute;
		top:0;
		right:0;
		z-index:1;
	}
	#disc .details{
		justify-self:end;
		padding-block-start:184px;
	}
}
@media screen and (max-width:800px){
	#disc .inner{
		margin-block-start:128px;
	}
	#disc .heading{
		margin-block-end:38px;
	}
	#disc .products{
		position:static;
	}
	#disc .product{
		grid-template-columns:auto;
		max-width:700px;
		margin-inline:auto;
		padding-inline:min(4vw,30px);
	}
	#disc .navigation,
	#disc .details,
	#disc .cover{
		width:100%;
		padding-inline:0;
	}
	#disc .navigation{
		position:static;
	}
	#disc .details{
		padding-block-start:35px;
	}	
	#disc .slide{
		padding-inline:0;
		border-block-end:none;
	}
	#disc .slick-prev,
	#disc .slick-next,
	#disc .slick-dots{
		display:none !important;
	}
	#disc .thumbnail{
		width:min(22.3vw,126px);
		padding:8px;
	}
	#disc .thumbnail .image{
		width:100%;
	}
	.thumbnail img{
		width:100%;
	}
	#disc .cover ul{
		padding-block-start:13px;
	}
	/*
	.cover .button{
		margin-block-start:200px;
	}
	*/
	#disc .details .type{
		font-size:16px;
	}
	#disc .details .spec dt{
		margin-block-end:10px;
	}
	#disc .details .spec .bundle{
		margin-block:13px 15px;
	}
}
@media screen and (max-width:600px){
	#disc .product{
		grid-template-columns:auto;
		max-width:700px;
		margin-inline:auto;
		padding-inline:min(4vw,30px);
	}
	#disc .cover{
		max-width:initial;
	}
	#disc .details{
		padding-inline:0;
	}
}
@media (any-hover:hover){
	#disc .thumbnail:hover img{
		opacity:1;
	}
	#disc .slick-dots button:hover::before{
		filter:invert(0%);
	}
	#disc .details:has(.format:hover) .package:not(:first-of-type),
	#disc .details .format:hover+.track{
		border-block-start-color:transparent;
	}
	#disc .details:has(.package:first-of-type .format.active:hover) .package:not(:first-of-type){
		border-block-start-color:color-mix(in srgb,var(--default-border) var(--table-line),transparent);
	}
	#disc .details .format::after{
		position:absolute;
		top:0;
		right:-18px;
		bottom:0;
		left:-18px;
		display:block;
		border-radius:3px;
		background:transparent;
		box-shadow:0 0 10px 2px rgba(255,255,255,0.25);
		opacity:0;
		transition:var(--image-link-trasition);
		content:'';
	}
	#disc .details .format:hover::after{
		opacity:1;
	}
	#disc .details .format:hover span{
		opacity:var(--image-link-opacity);
	}
}

/* #video
-------------------------------------------------- */
#video{
	max-width:914px;
	margin-block-start:190px;
}
#video .youtube{
	width:100%;
	aspect-ratio:16/9;
}
#video iframe{
	width:100%;
	height:100%;
}
@media screen and (max-width:800px){
	#video{
		max-width:700px;
		margin-block-start:127px;
	}
}

/* #bonus
-------------------------------------------------- */
#bonus {
	max-width:700px;
	margin-block-start:190px;
}
#bonus .name,
#bonus .all{
	font-weight:var(--default-font-bold);
}
#bonus .name{
	margin-block-start:25px;
	font-size:17px;
}
#bonus .name .mobile{
	display:none;
}
#bonus .all{
	margin-block-start:5px;
}
#bonus .list{
	margin-block-start:26px;
	text-align:left;
}
@media screen and (max-width:800px){
	#bonus{
		margin-block-start:126px;
	}
	#bonus .name{
		margin-block-start:23px;
		font-size:15px;
	}
	#bonus .name .mobile{
		display:block;
	}
	#bonus .all{
		margin-block-start:4px;
	}
	#bonus .list{
		margin-block-start:23px;
	}
}

/* #serial
-------------------------------------------------- */
#serial{
	margin-block-start:190px;
}
#serial .heading{
	margin-block-end:58px;
}
#serial .present{
	margin-block-start:75px;
}
#serial .present:first-of-type{
	margin-block-start:51px;
}
#serial .items{
	display:grid;
	grid-auto-flow:row;
	text-align:left;
	border-block-start:1px solid color-mix(in srgb,var(--default-border) var(--table-line),transparent);
}
#serial .item{
	display:grid;
	grid-auto-flow:row;
	row-gap:32px;
	padding-block-start:30px;
	border-block-end:1px solid color-mix(in srgb,var(--default-border) var(--table-line),transparent);
}
#serial .item,
#serial .item:has(.image:empty),
#serial .item:has(.content:empty){
	padding-block-end:32px;
}
#serial .item:has(.image){
	padding-block-end:38px;
}
#serial .item:has(.list){
	padding-block-end:34px;
}
#serial .item:not(:has(dt span)){
	padding-block:42px 43px;
}
#serial .image:empty,
#serial .content:empty{
	display:none;
}
#serial .prize{
	display:grid;
	grid-template-columns:auto 1fr;
	align-items:center;
	gap:14px 24px;
}
#serial .prize:has(dt span){
	grid-template-columns:56px 1fr;
}
#serial .prize dt{
	padding-block-start:3px;
	font-size:19px;
	line-height:1.2;
	font-weight:var(--default-font-bold);
}
#serial .prize dt:has(span){
	position:relative;
	padding-block-start:0;
	padding-inline-end:9px;
	font-size:48px;
	line-height:1;
	text-align:center;
}
#serial .prize dt span{
	position:absolute;
	right:0;
	bottom:5px;
	display:block;
	font-size:13px;
	font-weight:var(--default-font-weight);
}
#serial .prize dd{
	display:flex;
	align-items:center;
	gap:17px 1em;
	width:fit-content;
}
#serial .name{
	padding-block-start:3px;
	font-size:19px;
	line-height:1.2;
	font-weight:var(--default-font-bold);
	text-align:center;
}
#serial .name br{
	display:none;
}
#serial .number{
	display:flex;
	align-items:end;
	padding:5px 18px 6px;
	width:fit-content;
	line-height:1;
	font-weight:500;
	border-radius:3px;
	background:color-mix(in srgb,var(--default-background) var(--sub-background),#FFF);
}
#serial .number span{
	display:block;
	padding-block-end:1px;
	font-size:10px;
}
#serial .number span:first-of-type{
	padding-inline:0 6px;
}
#serial .number span:last-of-type{
	padding-inline:2px 0;
}
#serial .image{
	padding-inline:80px;
}
#serial .content{
	padding-inline-start:80px;
}
#serial .event{
	display:grid;
	grid-auto-flow:row;
	row-gap:3px;
}
#serial .schedule{
	display:flex;
	align-items:start;
	gap:14px 1em;
	padding:25px min(4vw,25px) 26px;
	border-radius:4px;
	background:color-mix(in srgb,var(--default-background) var(--sub-background),#FFF);
}
#serial .type{
	padding:6px 20px;
	line-height:1;
	font-weight:500;
	text-align:center;
	border-radius:3px;
	background:var(--default-background);
}
#serial .applicants,
#serial .date{
	display:grid;
	grid-template-columns:repeat(2,auto);
	gap:3px 1em;
	width:fit-content;
}
#serial .applicants{
	padding-block-start:1px;
}
#serial .applicants dd,
#serial .date dd{
	display:flex;
	align-items:end;
	width:fit-content;
}
#serial .applicants dd span,
#serial .date dd span{
	display:block;
	padding-block-end:2px;
	font-size:10px;
}
#serial .applicants dd span:first-of-type{
	padding-inline:0 6px;
}
#serial .applicants dd span:last-of-type{
	padding-inline:2px 0;
}
#serial .date{
	margin-block-start:0.5em;
}
#serial .date dt{
	width:2em;
}
#serial .participants{
	display:grid;
	grid-template-columns:repeat(2,auto);
	width:fit-content;
	margin-block:3px 16px;
}
#serial .participants dt::after{
	content:'\FF1A';
}
#serial .member{
	display:grid;
	grid-auto-flow:column;
}
#serial .member li:not(:last-of-type)::after{
	content:'\3001';
}
#serial .list{
	margin-block-start:30px;
}
#serial .application{
	margin-block-start:38px;
	padding:20px min(4vw,25px) 23px;
	border-radius:4px;
	background:color-mix(in srgb,var(--default-background) var(--sub-background),#FFF);
}
#serial .title{
	font-size:17px;
	font-weight:var(--default-font-bold);
}
#serial .period{
	display:grid;
	grid-template-columns:repeat(2,auto);
	width:fit-content;
	margin:13px auto 0;
}
#serial .deadline{
	position:relative;
	display:grid;
	grid-auto-flow:row;
	justify-items:center;
	row-gap:8px;
	line-height:1;
	text-indent:0.075em;
	letter-spacing:0.075em;
	font-feature-settings:'palt';
}
#serial .deadline.closed{
	padding-inline-start:44px;
}
#serial .deadline.closed::before{
	position:absolute;
	top:0;
	left:0;
	width:44px;
	font-size:17px;
	line-height:28px;
	font-weight:300;
	text-align:center;
	content:'\FF5E';
}
#serial .yyyymmdd{
	font-size:22px;
}
#serial .time{
	display:flex;
	column-gap:3px;
}
#serial .link{
	width:440px;
	margin:20px auto 0;
}
@media screen and (max-width:800px){
	#serial{
		margin-block-start:127px;
	}
	#serial .heading{
		margin-block-end:43px;
	}
	#serial .lead{
		text-align:left;
	}
	#serial .present{
		margin-block-start:65px;
	}
	#serial .present:first-of-type{
		margin-block-start:36px;
	}
	#serial .item{
		row-gap:25px;
		padding-block-start:22px;
	}
	#serial .item,
	#serial .item:has(.image:empty),
	#serial .item:has(.content:empty){
		padding-block-end:28px;
	}
	#serial .item:has(.image){
		padding-block-end:28px;
	}
	#serial .item:has(.list){
		padding-block-end:24px;
	}
	#serial .item:not(:has(dt span)){
		padding-block:27px 24px;
	}
	#serial .prize{
		grid-template-columns:auto;
		justify-items:center;
	}
	#serial .prize:has(dt span){
		grid-template-columns:auto;
		row-gap:15px;
	}
	#serial .prize dt{
		width:fit-content;
		padding-block-start:0;
		font-size:17px;
		line-height:1.2;
		font-weight:var(--default-font-bold);
	}
	#serial .prize dt:has(span){
		padding-inline-end:12px;
		font-size:37px;
	}
	#serial .prize dt span{
		bottom:4px;
		font-size:10px;
	}
	#serial .prize dd{
		flex-direction:column;
	}
	#serial .name{
		padding-block-start:0;
		font-size:17px;
		line-height:1.45;
	}
	#serial .name br{
		display:block;
	}
	#serial .number{
		padding:4px 15px 5px;
	}
	#serial .number span{
		font-size:9px;
	}
	#serial .image{
		padding-inline:0;
	}
	#serial .content{
		padding-inline-start:0;
	}
	#serial .schedule{
		flex-direction:column;
		align-items:center;
		padding:18px 5px 16px;
	}
	#serial .type{
		padding:6px 25px 5px;
	}
	#serial .applicants{
		column-gap:0.75em;
		margin-inline:auto;
		padding-block-start:0;
	}
	#serial .date{
		column-gap:0.75em;
	}
	#serial .applicants dd span,
	#serial .date dd span{
		font-size:9px;
	}
	#serial .participants{
		margin-block:4px 17px;
		margin-inline:auto;
	}
	#serial .list{
		margin-block-start:24px;
	}
	#serial .application{
		margin-block-start:28px;
		padding-block:17px 20px;
	}
	#serial .title{
		font-size:15px;
	}
	#serial .period{
		margin-block-start:11px;
	}
	#serial .deadline{
		row-gap:7px;
		text-indent:0.04em;
		letter-spacing:0.04em;
	}
	#serial .deadline.closed{
		padding-inline-start:32px;
	}
	#serial .deadline.closed::before{
		width:32px;
		font-size:14px;
		line-height:19px;
	}
	#serial .yyyymmdd{
		font-size:18px;
	}
	#serial .time{
		column-gap:1px;
		font-size:12px;
	}
	#serial .link{
		width:100%;
		margin-block-start:15px;
	}
}

/* #campaign
-------------------------------------------------- */
#campaign{
	max-width:840px;
	margin-block-start:194px;
}
#campaign .link{
	display:grid;
	grid-auto-flow:row;
	row-gap:3px;
}
#campaign .banner{
	display:grid;
	place-items:center;
	width:100%;
	height:113px;
	padding-block-start:1px;
	border-radius:4px;
	background:var(--button-background);
	transition:opacity var(--image-link-trasition);
}
#campaign .banner p{
	display:grid;
	grid-auto-flow:column;
	column-gap:1ex;
	font-size:17px;
	line-height:1.45;
	color:var(--button-font-color);
	font-weight:var(--default-font-bold);
}
@media screen and (max-width:800px){
	#campaign{
		max-width:700px;
		margin-block-start:131px;
	}
	#campaign .link{
		display:grid;
		grid-auto-flow:row;
		row-gap:3px;
	}
	#campaign .banner{
		height:100px;
	}
	#campaign .banner p{
		grid-auto-flow:row;
		font-size:15px;
	}
}
@media (any-hover:hover){
	.banner:hover{
		opacity:var(--image-link-opacity);
	}
}

/* #hashtag
-------------------------------------------------- */
#hashtag{
	overflow:hidden;
	overflow-y:auto;
}
#hashtag .lead{
	margin-block-start:59px;
	line-height:1.8;
	letter-spacing:0.03em;
	font-feature-settings:'palt';
}
#hashtag .content:first-of-type{
	margin-block-start:75px;
}
#hashtag .content:not(:first-of-type){
	margin-block-start:46px;
	padding-block-start:46px;
	border-block-start:1px solid color-mix(in srgb,var(--default-border) var(--table-line),transparent);
}
#hashtag .text{
	margin-block-end:18px;
	text-decoration:underline;
	text-underline-offset:3px;
}
#hashtag .reference{
	color:var(--notice-color);
}
#hashtag .store{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	column-gap:18px;
}
#hashtag .region:nth-of-type(n+3){
	margin-block-start:46px;
	padding-block-start:45px;
	border-block-start:1px dashed color-mix(in srgb,var(--default-border) var(--table-line),transparent);
}
#hashtag .name{
	font-size:18px;
}
#hashtag .prefectures{
	margin-block-start:46px;
}
#hashtag .prefectures:first-of-type{
	margin-block-start:9px;
}
#hashtag .area{
	margin-block-end:10px;
	padding:2px calc(1em * var(--list-mark-wrapper));
	border-radius:3px;
	background:color-mix(in srgb,var(--default-background) var(--sub-background),#FFF);
}
#hashtag footer{
	padding-block-start:216px;
}
@media screen and (max-width:800px){
	#hashtag .lead{
		margin-block-start:34px;
	}
	#hashtag .content:first-of-type{
		margin-block-start:56px;
	}
	#hashtag .content:not(:first-of-type){
		margin-block-start:40px;
		padding-block-start:42px;
	}
	#hashtag .text{
		margin-block-end:14px;
		text-underline-offset:2px;
	}
	#hashtag .store{
		grid-template-columns:auto;
	}
	#hashtag .region:nth-of-type(n+2){
		margin-block-start:36px;
		padding-block-start:0;
		border-block-start:none;
	}
	#hashtag .name{
		padding:3px calc(1em * var(--list-mark-wrapper)) 2px;
		font-size:14px;
		border-radius:3px;
		background:color-mix(in srgb,var(--default-background) 75%,#FFF);
	}
	#hashtag .prefectures{
		margin-block-start:18px;
	}
	#hashtag .prefectures:first-of-type{
		margin-block-start:1px;
	}
	#hashtag .area{
		margin-block-end:14px;
		padding-block:3px 2px;
	}
	#hashtag footer{
		padding-block-start:146px;
	}
}

/* #tower
-------------------------------------------------- */
#tower{
	overflow:hidden;
	overflow-y:auto;
}
#tower .lead{
	margin-block-start:59px;
	line-height:1.8;
	letter-spacing:0.03em;
	font-feature-settings:'palt';
}
#tower .content:first-of-type{
	margin-block-start:75px;
}
#tower .content:not(:first-of-type){
	margin-block-start:46px;
	padding-block-start:46px;
	border-block-start:1px solid color-mix(in srgb,var(--default-border) var(--table-line),transparent);
}
#tower .reference{
	color:var(--notice-color);
}
#tower .data{
	display:grid;
	grid-template-columns:auto 1fr;
	gap:18px;
	margin-block-start:36px;
}
#tower .data dt span{
	display:block;
	padding:5px calc(1em * var(--list-mark-wrapper)) 6px;
	border-radius:3px;
	background:color-mix(in srgb,var(--default-background) var(--sub-background),#FFF);
}
#tower .data dd{
	padding-block-start:5px;
}
#tower .data dd .list{
	margin-block-start:6px;
}
#tower .store{
	display:flex;
	flex-wrap:wrap;
}
#tower .store li:after{
	padding-inline:1ex;
	content:'/';
}
#tower #poster .subheading{
	margin-block-end:35px;
}
#tower #poster .image{
	width:300px;
	margin-block-end:10px;
}
#tower #poster .data{
	row-gap:14px;
}
#tower footer{
	padding-block-start:216px;
}
@media screen and (max-width:800px){
	#tower .lead{
		margin-block-start:34px;
	}
	#tower .content:first-of-type{
		margin-block-start:56px;
	}
	#tower .content:not(:first-of-type){
		margin-block-start:40px;
		padding-block-start:42px;
	}
	#tower .data{
		grid-template-columns:auto;
		gap:0;
		margin-block-start:27px;
	}
	#tower .data dt{
		margin-block-end:14px;
	}
	#tower .data dd+dt{
		margin-block-start:20px;
	}
	#tower .data dt span{
		padding-block:4px;
	}
	#tower .data dd{
		padding:0;
	}
	#tower .data dd .list{
		margin-block-start:7px;
	}
	#tower #poster .subheading{
		margin-block-end:28px;
	}
	#tower #poster .image{
		width:100%;
		margin-block-end:11px;
	}
	#tower #poster .data{
		row-gap:0;
	}
	#tower footer{
		padding-block-start:146px;
	}
}

/* #form
-------------------------------------------------- */
#form:has(#verified) footer,
#form:has(.message):has(#authentication) footer{
	padding-block-start:214px;
}
#form:has(#terms) footer,
#form:has(#complete) footer{
	padding-block-start:216px;
}
#form:has(#present) .form{
	row-gap:6px;
}
#form:has(#present) .list{
	margin-block-start:5px;
}
#form:has(#download){
	text-align:center;
}
#form:has(#download) .image{
	margin-block-start:45px;
}
#form main:not(:has(.title)):not(:has(.breadcrumb)){
	border-block-start:4px solid color-mix(in srgb,var(--default-background) var(--sub-background),#FFF);
}
#form main .title{
	display:grid;
	place-items:center;
	height:155px;
	padding-inline:min(4vw,30px);
	font-size:26px;
	line-height:1.4;
	font-weight:200;
	text-align:center;
	background:color-mix(in srgb,var(--default-background) var(--sub-background),#FFF);
}
#form main .contents{
	max-width:940px;
	padding:61px min(2vw,20px) 0px;
}
#form main .inner:not(:first-child){
	margin-block-start:46px;
	padding-block-start:46px;
	border-block-start:1px solid color-mix(in srgb,var(--default-border) var(--table-line),transparent);
}
#form main form+.inner{
	margin-block-start:50px !important;
}
#form main .inner>*:not(.box):not(.link):not(.customer){
	padding-inline:min(6vw,60px);
}
#form main .notice{
	margin-block-end:26px;
}
#form main .important{
	font-size:18px;
	font-weight:300;
}
#form main .important+.important{
	margin-block-start:24px;
}
#form main .inner+form{
	margin-block-start:47px;
	padding-inline:min(6vw,60px);
}
#form main .email{
	margin-block-end:36px;
	font-size:18px;
	line-height:1.45;
	font-weight:var(--default-font-bold);
	word-break:break-all;
}
#form main .links{
	display:grid;
	grid-template-columns:3fr 1fr;
	direction:rtl;
	gap:8px 18px;
	margin-block-start:32px;
}
#form main strong{
	color:var(--notice-color);
}
#form main .main .link{
	width:440px;
	margin-block-start:50px;
	margin-inline:auto;
}
#form main .box{
	margin-block-start:44px;
	padding:42px min(6vw,60px) 41px;
	background:color-mix(in srgb,var(--default-background) var(--sub-background),#FFF);
}
#form main .box:has(.button){
	padding-block-end:45px;
}
#form main .box .list{
	margin-block-start:26px;
}
#form main .box .link{
	margin-block-start:36px;
}
#form main .breadcrumb{
	background:color-mix(in srgb,var(--default-background) var(--sub-background),#FFF);
}
#form main .breadcrumb ol{
	display:grid;
	grid-auto-flow:column;
	width:fit-content;
	margin-inline:auto;
}
#form main .breadcrumb li{
	position:relative;
	padding-block:6px;
	line-height:1.2;
}
#form main .breadcrumb li:not(.active){
	color:color-mix(in srgb,var(--default-font-color) var(--breadcrumb-color),#000);
}
#form main .breadcrumb li:not(:first-child){
	padding-inline-start:71px;
}
#form main .breadcrumb li:not(:first-child)::before{
	position:absolute;
	top:50%;
	left:29px;
	display:block;
	width:7px;
	height:7px;
	border-block-end:1px solid color-mix(in srgb,var(--default-font-color) var(--breadcrumb-arrow),#000);
	border-inline-end:1px solid color-mix(in srgb,var(--default-font-color) var(--breadcrumb-arrow),#000);
	transform:translateY(-50%) rotate(-45deg) skew(12deg,12deg);
	content:'';
}
#form main .error{
	padding:20px min(2vw,20px) 21px;
	background:color-mix(in srgb,var(--notice-color) 65%,#000);
}
#form main .error .statement{
	display:grid;
	grid-auto-flow:row;
	row-gap:11px;
	padding-inline:min(4vw,30px);
	text-align:center;
}
#form main .prizes{
	display:grid;
	grid-auto-flow:row;
	row-gap:3px;
	margin-block-end:32px;
}
#form main .prizes .items{
	padding:16px 32px 20px;
	border-radius:3px;
	background:color-mix(in srgb,var(--default-background) var(--sub-background),#FFF);
}
#form main .prizes .prize{
	display:grid;
	grid-template-columns:47px 1fr;
	align-items:center;
	gap:10px 1.5em;
	margin-block-end:17px;
}
#form main .prizes .rank{
	position:relative;
	padding-inline-end:8px;
	font-size:40px;
	line-height:1;
	font-weight:var(--default-font-bold);
	text-align:center;
}
#form main .prizes .character{
	position:absolute;
	right:0;
	bottom:5px;
	display:block;
	font-size:11px;
	font-weight:var(--default-font-weight);
}
#form main .prizes .item{
	padding-block-start:2px;
	font-size:17px;
	line-height:1.2;
	font-weight:var(--default-font-bold);
}
#form main .prizes .type{
	display:inline-block;
	margin-block-start:1px;
	margin-inline-start:0.75em;
	padding:3px 8px 2px;
	font-size:12px;
	line-height:1;
	color:#000;
	font-weight:600;
	vertical-align:top;
	border-radius:2px;
	background:#FFF;
}
#form main .prizes .part+.part{
	margin-block-start:2px;
}
#form main .prizes .icon{
	display:inline-block;
	margin-block-start:-2px;
	margin-inline-end:8px;
	padding:3px 12px 2px;
	font-size:12px;
	color:var(--default-font-color);
	line-height:1;
	font-weight:var(--default-font-weight);
	vertical-align:middle;
	border-radius:2px;
	background:var(--default-background);
}
#form main .prizes .mobile{
	display:none;
}
#form main .table table{
	width:100%;
	margin-inline:auto;
	border-block-start:1px solid color-mix(in srgb,var(--default-border) var(--table-line),transparent);
}
#form main .table tr{
	border-block-end:1px solid color-mix(in srgb,var(--default-border) var(--table-line),transparent);
}
#form main .table th,
#form main .table td{
	padding-block:29px;
	line-height:1.45;
	vertical-align:top;
}
#form main .table th{
	padding-inline-end:3em;
	word-break:keep-all;
}
#form main .table td{
	width:100%;
}
#form main .table td:has(input){
	padding-block:19px;
}
#form main .table .fullname{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:3px 1.75em;
	align-items:center;
}
#form main .table .name{
	display:grid;
	grid-template-columns:2em 1fr;
	column-gap:0.75em;
	text-align:center;
}
#form main .table .item{
	align-self:center;
	padding-block-start:1px;
}
#form main .table .postcode{
	display:grid;
	grid-template-columns:auto 138px;
	column-gap:0.75em;
	width:fit-content;
}
#form main .table .zip{
	display:grid;
	grid-template-columns:repeat(2,138px);
	column-gap:3px;
}
#form main .table .zipcode{
	padding-block:11px;
}
#form main .table .tel{
	display:grid;
	grid-template-columns:repeat(3,138px);
	column-gap:3px;
	width:fit-content;
}
#form main .table .zip input,
#form main .table .tel input{
	text-align:center;
}
#form main .table .link{
	margin-block-start:32px;
}
#form main .contact{
	margin-block-start:50px !important;
	padding-block-start:47px !important;
}
#form main .contact .address{
	word-break:break-all;
}
#form main .contact .address::first-line{
	font-weight:var(--default-font-bold);
}
#form main .contact .list{
	margin-block-start:26px;
}
#form main .form{
	display:grid;
	grid-auto-flow:row;
	row-gap:10px;
}
#form main .form .heading{
	margin-block-end:7px;
	font-size:var(--default-font-size);
	font-weight:var(--default-font-weight);
}
#form main .form .link{
	margin-block-start:0;
}
#form main .message{
	margin-block-start:81px;
}
#form main .message .text{
	font-size:21px;
	line-height:1.4;
	font-weight:200;
	text-align:center;
}
@media screen and (max-width:800px){
	#form:has(#verified,#complete) footer{
		padding-block-start:146px;
	}
	#form:has(#terms) footer{
		padding-block-start:145px;
	}
	#form:has(#present) .form{
		row-gap:5px;
	}
	#form:has(#present) .list{
		margin-block-start:6px;
	}
	#form:has(#download){
		text-align:left;
	}
	#form:has(#download) .important br{
		display:none;
	}
	#form:has(#download) .image{
		margin-block-start:41px;
	}
	#form main .title{
		height:118px;
		font-size:19px;
	}
	#form main .contents{
		padding-block:52px 0px;
	}
	#form main .inner:not(:first-child){
		margin-block-start:41px;
		padding-block-start:41px;
	}
	#form main form+.inner{
		margin-block-start:45px !important;
	}
	#form main .notice{
		margin-block-end:23px;
	}
	#form main .important{
		font-size:15px;
	}
	#form main .important+.important{
		margin-block-start:23px;
	}
	#form main .inner+form{
		margin-block-start:42px;
	}
	#form main .email{
		margin-block-end:31px;
		font-size:16px;
	}
	#form main .links{
		grid-template-columns:auto;
		margin-block-start:22px;
	}
	#form main .box+.link{
		padding-inline:min(4vw,30px);
	}
	#form main .main .link{
		width:100%;
		margin-block-start:45px;
	}
	#form main .box{
		margin-block-start:41px;
		padding-block:37px 36px;
	}
	#form main .box:has(.button){
		padding-block-end:40px;
	}
	#form main .box .list{
		margin-block-start:24px;
	}
	#form main .box .link{
		margin-block-start:31px;
	}
	#form main .breadcrumb li{
		padding-block:5px 4px;
	}
	#form main .breadcrumb li:not(:first-child){
		padding-inline-start:50px;
	}
	#form main .breadcrumb li:not(:first-child)::before{
		left:20px;
		width:6px;
		height:6px;
	}
	#form main .error{
		padding-block:18px;
	}
	#form main .error .statement{
		row-gap:9px;
	}
	#form main .prizes{
		margin-block-end:22px;
	}
	#form main .prizes .items{
		padding:13px 10px 10px;
	}
	#form main .prizes .prize{
		grid-template-columns:auto;
		margin-block-end:16px;
	}
	#form main .prizes .rank{
		width:39px;
		margin-inline:auto;
		padding-inline-end:8px;
		font-size:32px;
	}
	#form main .prizes .character{
		bottom:4px;
		font-size:10px;
	}
	#form main .prizes .item{
		padding-block-start:0;
		font-size:16px;
		text-align:center;
	}
	#form main .prizes .type{
		padding-block:2px 3px;
		font-size:11px;
	}
	#form main .prizes .icon{
		padding:3px 10px;
		font-size:11px;
	}
	#form main .table table,
	#form main .table tbody,
	#form main .table tr,
	#form main .table th,
	#form main .table td{
		display:block;
	}
	#form main .table th{
		padding-block:19px 0;
	}
	#form main .table td{
		padding-block:6px 18px;
	}
	#form main .table th{
		padding-inline-end:0;
		word-break:break-all;
	}
	#form main .table td:has(input){
		padding-block:8px 22px;
	}
	#form main .table .fullname{
		grid-template-columns:auto;
	}
	#form main .table .postcode{
		grid-template-columns:auto 85px;
	}
	#form main .table .zip{
		grid-template-columns:repeat(2,1fr);
		max-width:303px;
	}
	#form main .table .zipcode{
		padding-block:10px;
	}
	#form main .table .tel{
		grid-template-columns:repeat(3,1fr);
		width:100%;
		max-width:456px;
	}
	#form main .table .link{
		margin-block-start:22px;
	}
	#form main .contact{
		margin-block-start:45px !important;
		padding-block-start:42px !important;
	}
	#form main .contact .list{
		margin-block-start:24px;
	}
	#form main .form .heading{
		margin-block-end:7px;
		font-size:var(--default-font-size);
		font-weight:var(--default-font-weight);
	}
	#form main .form .link{
		margin-block-start:0;
	}
}
@media screen and (max-width:600px){
	#form main .prizes .mobile{
		display:block;
	}
	#form main .prizes .prize{
		margin-block-end:17px;
	}
	#form main .prizes .type{
		display:block;
		width:fit-content;
		margin-block:9px 3px;
		margin-inline:auto;
		padding:3px 15px 2px;
		font-size:12px;
	}
}

/* form
-------------------------------------------------- */
form input{
	font-size:var(--default-font-size);
	line-height:var(--default-line-height);
	color:var(--default-font-color);
}
form input[type=text]{
	width:100%;
	padding:8px 15px 9px;
	text-align:left;
	border-radius:3px;
	background:color-mix(in srgb,var(--default-background) var(--input-background),#FFF);
}
form input[type=text].placeholder{
	text-align:center;
}
form input[type=text].placeholder::placeholder{
	color:color-mix(in srgb,var(--default-font-color) 45%,transparent);
}
form input[type=text].placeholder:focus::placeholder{
	color:color-mix(in srgb,var(--default-font-color) 0%,transparent);
}
form .radio,
form .checkbox{
	display:block;
	padding:8px 15px 9px;
	border-radius:3px;
	background:color-mix(in srgb,var(--default-background) var(--input-background),#FFF);
	cursor:pointer;
}
form .radio input[type=radio],
form .checkbox input[type=checkbox]{
	display:none;
}
form .radio input[type=radio]+span,
form .checkbox input[type=checkbox]+span{
	position:relative;
	display:block;
	width:fit-content;
	margin-inline:auto;
	padding-inline-start:27px;
	user-select:none;
}
form .radio input[type=radio]+span::before,
form .radio input[type=radio]+span::after,
form .checkbox input[type=checkbox]+span::before,
form .checkbox input[type=checkbox]+span::after{
	position:absolute;
	display:block;
	content:'';
}
form .radio input[type=radio]+span::before,
form .checkbox input[type=checkbox]+span::before{
	top:50%;
	left:0;
	width:19px;
	height:19px;
	margin-block-start:-9px;
	background:var(--default-font-color);
}
form .radio input[type=radio]+span::before{
	border-radius:50%;
}
form .checkbox input[type=checkbox]+span::before{
	border-radius:2px;
}
form .radio input[type=radio]+span::after{
	top:50%;
	left:6px;
	width:7px;
	height:7px;
	margin-block-start:-3px;
	border-radius:50%;
	background:var(--default-font-color);
	opsacity:1;
}
form .checkbox input[type=checkbox]+span::after{
	top:5px;
	left:6px;
	width:7px;
	height:13px;
	border-inline-end:3px solid var(--default-font-color);
	border-block-end:3px solid var(--default-font-color);
	rotate:45deg;
	opacity:0;
}
form .radio:has(input[type=radio]:checked),
form .checkbox:has(input[type=checkbox]:checked){
	color:#000;
	background:var(--button-background);
}
form .radio input[type=radio]:checked+span,
form .checkbox input[type=checkbox]:checked+span{
	font-weight:var(--button-font-weight);
}
form .radio input[type=radio]:checked+span::before,
form .checkbox input[type=checkbox]:checked+span::before{
	background:var(--default-background);
}
form .radio input[type=radio]:checked+span::after,
form .checkbox input[type=checkbox]:checked+span::after{
	opacity:1;
}
@media screen and (max-width:800px){
	form input[type=text],
	form .radio,
	form .checkbox{
		padding:9px 12px 7px;
	}
	form .radio input[type=radio]+span,
	form .checkbox input[type=checkbox]+span{
		padding-inline-start:25px;
	}
	form .radio input[type=radio]+span::before,
	form .checkbox input[type=checkbox]+span::before{
		width:17px;
		height:17px;
	}
	form .radio input[type=radio]+span::after{
		left:5px;
		width:7px;
		height:7px;
		margin-block-start:-4px;
	}
	form .checkbox input[type=checkbox]+span::after{
		top:5px;
		left:5px;
		width:7px;
		height:11px;
	}
}

/* .slick
-------------------------------------------------- */
.slick-slider{
	position:relative;
	display:block;
	box-sizing:border-box;
	touch-action:pan-y;
}
.slick-slider .slick-list,
.slick-slider .slick-track{
	transform:translateZ(0);
}
.slick-list{
	position:relative;
	display:block;
	margin:0;
	padding:0;
	overflow:hidden;
}
.slick-list:focus{
	outline:none;
}
.slick-track{
	position:relative;
	top:0;
	left:0;
	display:block;
	margin:0 auto;
}
.slick-track::before,
.slick-track::after{
	display:table;
	content:'';
}
.slick-track::after{
	clear:both;
}
.slick-slide{
	display:none;
	float:left;
	height:100%;
	min-height:1px;
}
.slick-initialized .slick-slide{
	display:block;
}
.slick-prev,
.slick-next{
	position:absolute;
	display:block;
	width:32px;
	height:32px;
	padding:0;
	line-height:0;
	color:transparent;
	border:none;
	border-radius:50%;
	background:var(--slick-button);
	cursor:pointer;
	transition:0.3s;
	z-index:10;
}
.slick-prev::before,
.slick-next::before{
	position:absolute;
	top:calc(50% - 4px);
	display:block;
	width:8px;
	height:8px;
	transform:rotate(-45deg) translate(-50%,-50%);
	transition:0.3s;
	content:'';
}
.slick-prev::before{
	left:calc(50% + 3px);
	border-top:1px solid var(--slick-arrow);
	border-left:1px solid var(--slick-arrow);
}
.slick-next::before{
	left:50%;
	border-right:1px solid var(--slick-arrow);
	border-bottom:1px solid var(--slick-arrow);
}
.slick-prev.slick-disabled,
.slick-next.slick-disabled{
	pointer-events:none;
	filter:invert(62%);
}
@media screen and (max-width:767px){
	.slick-next:active,
	.slick-prev:active{
		background:var(--slick-button);
	}
	.slick-next:active:before,
	.slick-prev:active:before{
		border-color:var(--slick-arrow);
	}
}
@media screen and (min-width:768px){
	.slick-next:hover,
	.slick-prev:hover{
		background:var(--slick-button-hover);
		opacity:0.7;
	}
	.slick-next:hover:before,
	.slick-prev:hover:before {
		border-color:var(--slick-arrow-hover);
	}
	.slick-prev:hover:before {
		animation:slickArrowP 0.5s ease-out 0.3s 1, slickArrow_bg 0.5s ease-out 0.3s infinite
	}
	.slick-next:hover:before {
		animation: slickArrowN 0.5s ease-out 0.3s 1, slickArrow_bg 0.5s ease-out 0.3s infinite
	}
	.slick-prev.slick-disabled:hover,
	.slick-next.slick-disabled:hover{
		background:var(--nolink-background);
		opacity:1;
		cursor:default;
	}
	.slick-prev.slick-disabled:hover::before,
	.slick-next.slick-disabled:hover::before{
		opacity:0.4;
	}
	.slick-prev.slick-disabled:hover,
	.slick-next.slick-disabled:hover,
	.slick-prev.slick-disabled:hover::before,
	.slick-next.slick-disabled:hover::before{
		animation:none;
	}
}
