@charset "utf-8";

/* font
================================================== */
@import url('https://fonts.googleapis.com/css2?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:color-mix(in srgb,#FFF 32%,#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:color-mix(in srgb,#FFF 32%,#000);
	--footer-background:color-mix(in srgb,#FFF 32%,#000);
	--sub-background:87%;
	--input-background:72%;

	/* color */
	--notes-color:62%;
	--notice-color:#FF6663;
	--breadcrumb-color:65%;
	--breadcrumb-arrow:68%;

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

	/* border */
	/*--partition-line:25%;*/
	--table-line:12%;

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

/* header
-------------------------------------------------- */
header{
	position:relative;
	padding-block-start:22px;
	padding-inline:min(4vw,30px);
	text-align:center;
	background:color-mix(in srgb,var(--header-background) 100%,transparent);
}
#header{
	width:fit-content;
	margin-inline:auto;
	padding-block:52px 32px;
}
#header p{
	text-align:center;
	line-height:1;
	letter-spacing:0.01em;
	text-indent:0.01em;
	font-feature-settings:'palt';
}
#header .number{
	font-size:18px;
	font-weight:200;
}
#header .number span{
	font-size:13px;
}
#header .title{
	width:fit-content;
	margin-block:21px 28px;
	font-size:29px;
	line-height:1.35;
	font-weight:100;
}
#header .title br{
	display:none;
}
#header .campaign{
	font-size:16px;
	font-weight:300;
}
@media screen and (max-width:800px){
	header{
		padding-block-start:20px;
	}
	#header{
		padding-block:26px 27px;
	}
	#header .number{
		font-size:14px;
	}
	#header .number span{
		font-size:11px;
	}
	#header .title{
		margin-block:15px 22px;
		font-size:22px;
	}
	#header .campaign{
		font-size:13px;
	}
}
@media screen and (max-width:500px){
	#header .title br{
		display:block;
	}
}

/* footer
-------------------------------------------------- */
footer{
	position:sticky;
	top:100vh;
	padding:220px 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:150px 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;
}
.heading{
	margin-block-end:30px;
	font-size:21px;
	line-height:1.4;
}
.subheading{
	margin-block-end:31px;
	font-size:18px;
	line-height:1.4;
}
@media screen and (max-width:800px){
	.contents{
		max-width:700px;
	}
	.heading{
		margin-block-end:26px;
		font-size:18px;
		font-weight:300;
	}
	.subheading{
		margin-block-end:28px;
		font-size:17px;
		font-weight:300;
	}
}

/* .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;
}
form .button{
	text-align:center;
}
@media screen and (max-width:800px){
	form .button,
	#form .button{
		padding-block:10px;
	}
}
@media (any-hover:hover){
	.button:hover{
		opacity:var(--image-link-opacity);
	}
}

/* #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) .list{
	margin-block-start:5px;
}
#form:has(#download) video{
	width:100%;
	vertical-align:bottom;
}
#form:has(#download) .reference{
	margin-block-start:30px;
}
#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),#000);
}
#form main .contents{
	max-width:940px;
	padding:61px min(2vw,20px) 0;
}
#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 .table+.notice{
	margin-block:27px 0;
}
#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 .notice+.links{
	margin-block-start:28px;
}
#form main strong{
	color:var(--notice-color);
	font-weight:600;
}
#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),#000);
}
#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),#000);
}
#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) 85%,#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:29px 32px 31px;
	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:26px;
}
#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 .text{
	position:relative;
	margin-block-end:11px;
	padding-inline-start:17px;
}
#form main .prizes .text::before{
	position:absolute;
	top:8px;
	left:3px;
	display:block;
	width:9px;
	height:9px;
	background:#FFF;
	content:'';
}
#form main .prizes .part+.text{
	margin-block-start:30px;
}
#form main .prizes .reference+.text{
	margin-block:26px 4px;
}
#form main .prizes .example{
	margin-block-end:11px;
	padding-inline-start:17px;
	font-size:12px;
}
#form main .prizes .reference{
	margin-block-start:12px;
}
#form main .prizes .reference li{
	font-size:12px;
}
#form main .prizes textarea{
	height:140px;
}
#form main .prizes .part{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	/*grid-template-columns:repeat(auto-fit,minmax(180px,1fr));*/
	gap:3px;
}
#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 .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) .list{
		margin-block-start:6px;
	}
	#form:has(#download){
		text-align:left;
	}
	#form:has(#download) .reference{
		margin-block-start:28px;
	}
	#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 .table+.notice{
		margin-block-start:21px;
	}
	#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 .notice+.links{
		margin-block-start:21px;
	}
	#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:25px 10px 28px;
	}
	#form main .prizes .prize{
		grid-template-columns:auto;
		margin-block-end:24px;
	}
	#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 .text{
		margin-block-end:10px;
		padding-inline-start:16px;
	}
	#form main .prizes .text::before{
		top:7px;
		width:8px;
		height:8px;
	}
	#form main .prizes .part+.text{
		margin-block-start:28px;
	}
	#form main .prizes .reference+.text{
		margin-block:25px 5px;
	}
	#form main .prizes .example{
		margin-block-end:12px;
		padding-inline-start:16px;
		font-size:11px;
	}
	#form main .prizes .reference li{
		font-size:11px;
	}
	#form main .prizes textarea{
		height:200px;
	}
	#form main .prizes .part{
		margin-block-end:26px;
	}
	#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;
		padding-block-start:7px;
	}
	#form main .prizes .type{
		display:block;
		width:fit-content;
		margin-block:9px 3px;
		margin-inline:auto;
		padding:3px 15px 2px;
		font-size:12px;
	}
	#form main .prizes textarea{
		height:auto;
		aspect-ratio:3/2;
	}
	#form main .prizes .part{
		grid-template-columns:repeat(auto-fit,minmax(135px,1fr));
	}
}

/* form
-------------------------------------------------- */
form input,
form textarea{
	font-size:var(--default-font-size);
	line-height:var(--default-line-height);
	color:var(--default-font-color);
	vertical-align:bottom;
}
form input[type=text],
form textarea{
	width:100%;
	padding:8px 15px 9px;
	text-align:left;
	border-radius:3px;
	background:color-mix(in srgb,var(--default-background) var(--input-background),#000);
}
form input[type=text].placeholder{
	text-align:center;
}
form input[type=text].placeholder::placeholder{
	color:color-mix(in srgb,var(--default-font-color) 50%,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),#000);
	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:#000;
	opacity:0;
}
form .checkbox input[type=checkbox]+span::after{
	top:5px;
	left:6px;
	width:7px;
	height:13px;
	border-inline-end:3px solid #000;
	border-block-end:3px solid #000;
	rotate:45deg;
	opacity:0;
}
form .radio:has(input[type=radio]:checked),
form .checkbox:has(input[type=checkbox]:checked){
	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::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;
	}
}