@charset "UTF-8";

/* lead */
@media all {
	.form-section-ttl {
		text-align: center;
		line-height: 1.333;
	}
	.form-section-ttl span {
		display: block;
		line-height: 2;
	}
	.steam-date {
		margin-top: .5em;
		text-align: center;
		font-weight: 500;
		color: #529ad8;
	}
	.header-notice {
		margin-top: 2em;
		color: #f00;
		text-align: center;
		line-height: 1.5;
	}

	/* sp */
	@media only screen and (max-width: 767px) {
		.form-section {padding: 50rem 15rem 80rem}
		.form-section-ttl {font-size: 22rem;}
		.steam-date {font-size: 16rem;}
		.header-notice {font-size: 12rem;}
	}

	/* pc & tab */
	@media print,
	(min-width: 768px) {
		.form-section-ttl {font-size: 30rem;}
		.steam-date {font-size: 24rem;}
	}
}

/* 受付終了 */
@media all {
	.status-end .header-notice {display: none;}
	.status-end .form-end-content {
		text-align: center;
		line-height: 1.8;
	}
	.status-end .form-end-content a {color: #c00;}

	/* sp */
	@media only screen and (max-width: 767px) {}

	/* pc & tab */
	@media print,
	(min-width: 768px) {
		.status-end .form-end-content {
			padding: 120rem 20rem 200rem;
			font-size: 18rem;
		}
	}
}

/* --フォーム-- */
@media all {


	.form-list input,
	.form-list select,
	.form-list textarea,
	.form-list div.privacy {
		box-sizing: border-box;
		padding-left: 1em;
		width: 100%;
		background-color: #e7e7e7;
		outline: none;
		border: none;
		/* -webkit-border-radius: 0;
		-webkit-appearance: none; */
		-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	}
	.form-list div.privacy {overflow-y: auto;}
	.form-list .disabled {color: var(--font-gray);}

	.form-list textarea {resize: none;}

	.form-list select {
		background: calc(100% - 1em) center / 1em no-repeat url(../img/common/form-select-triangle.svg) #fff;
		border: 2rem solid #000;
	}

	.form-list input::placeholder,.form-list select {color: #828282;}
	.form-list input[type="checkbox"],
	.form-list input[type="radio"] {
		position: relative;
		margin-right: .25em;
		padding: 0;
		width: 1em;
		height: 1em;
		background: #fff;
		border: max(1px, 1rem) solid #000;
		cursor: pointer;
		transform: translateY(-2rem);
	}
	.form-list input[type="checkbox"] {
		margin-right: .5em;
		border-width: 2rem;
	}
	label[for=chkbx_8]::before {
		content: '';
		display: block;
		width: 50vw;
		max-width: 800rem;
	}

	.form-list input[type="checkbox"]:checked::after,
	.form-list input[type="radio"]:checked::after {
		content: '';
		position: absolute;
		top: 3rem;
		left: 3rem;
		width: calc(100% - 6rem);
		height: calc(100% - 6rem);
		background-color: #000;
	}
	.form-list input[type="checkbox"]:checked::after {
		top: 2rem;
		left: 2rem;
		width: calc(100% - 4rem);
		height: calc(100% - 4rem);
	}
	/* .form-list input[type="checkbox"]:checked::after {
		background: center / contain no-repeat url(../img/common/checked.svg);
	} */
	.form-list input[type="radio"],
	.form-list input[type="radio"]:checked::after {
		border-radius: 50%;
	}
	.form-list label {
		display: inline-block;
		margin-right: 1em;
	}
	.form-list label:hover {cursor: pointer;}


	dt:has(.notice) {display: flex;}
	
	.form-list textarea,
	.form-list div.privacy {
		padding: .75em 1em;
	}
	.form-list div.privacy {margin-bottom: 1em;}

	input::placeholder,
	textarea::placeholder {
		color: #c8c8c8;
	}

	.form-list .privacy a {
		text-decoration: underline;
		color: var(--main-color);
	}

	.submit-btn,
	.button-form_check,
	.form-accordion-opener  {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 4em auto 0;
		font-weight: 500;
		color: var(--red);
		cursor: pointer;
	}


	.form-list .pre-text {display: inline-block;margin-right: .25em;}
	.form-list dd.privacy {font-size: 14rem;}
	.form-list dd.privacy p + * {margin-top: 1em;}
	.form-list dd.privacy * + p {margin-top: 1em;}
	.form-list dd.privacy ul li {
		position: relative;
		padding-left: 2em;
	}
	.form-list dd.privacy ul li::before {
		content: '';
		position: absolute;
		top: 9rem;
		left: 10rem;
		display: block;
		width: 8rem;
		height: 8rem;
		background-color: var(--blue);
		border-radius: 50%;
	}
	.form-list dd.privacy ul li + li {margin-top: .5em;}

	.checking .check-inner,
	.checking .check-list>dl {background-color: var(--bg0);}
	.checking .check-list-outer::before {
		background: linear-gradient(to bottom, rgba(250,246,240,1), rgba(250,246,240,0));
	}
	.checking .check-list-outer::after {
		background: linear-gradient(to top, rgba(250,246,240,1), rgba(250,246,240,0));
	}

	.form-accordion-opener::after {content: none;}

	.form-sent.hidden {display: none!important;}



	dt.zip {margin-top: 1em!important;}

	/* --フォーム-- sp */
	@media only screen and (max-width: 767px) {
		.form-content {margin-top: 50rem;}
		.form-list dt,
		.form-list dd {font-size: max(16rem, 16px);}
		.form-list dt {margin-top: 30rem;}
		.form-list dt:has(.notice) {
			flex-direction: column;
			row-gap: 6rem;
		}
		.form-list dt .notice {font-size: 12rem;}
		.form-list dd {margin-top: 12rem;}

		.form-list :where(input[type=text], input[type=email], select, textarea) {
			width: 100%;
			height: 45rem;
			border-radius: 15rem;
			font-size: max(16px, 16.5rem);
		}
		.form-list label {
			margin-top: 12rem;
			font-size: max(16px, 16.5rem);
		}

		.dl-sei, .dl-mei, .dl-sei_kana, .dl-mei_kana,
		.dl-age,
		.dl-p_sei, .dl-p_mei,
		.dl-zip input, .dl-pref, .dl-city, .dl-address,
		.dl-howmany select {
			width: 225rem;
		}

		.form-list input[type="checkbox"] {
			border-radius: 5rem;
		}
		.form-list input[type="checkbox"]:checked::after {
			border-radius: 3rem;
		}
		.form-list textarea,
		.form-list div.privacy {
			padding: 1em;
			height: 90rem;
		}

		dd.chkbx {text-align: left;}
		.dl-agreement {
			margin-top: 70rem;
			text-align: center;
		}
		dt.agreement {
			font-size: 12rem;
			line-height: 1.5;
		}
		dt.privacy {
			margin-top: 40rem;
			font-size: 12rem;
			line-height: 1.8;
			word-break: break-all;
		}
		dd.privacy {text-align: center;}
	}

	/* --フォーム-- tab & pc */
	@media print,
	(min-width: 768px) {
		.form-section {
			margin: 0 auto;
			width: calc(100% - 30rem);
			max-width: 870rem;
		}
		.form-content {margin-top: 80rem;}


		.form-list dt,
		.form-list dd {
			width: 100%;
			font-size: 18rem;
		}
		.form-list dt {margin-top: 40rem;}
		.form-list dt .notice {margin-left: 1em;}
		.form-list dd {margin-top: 12rem;}


		.form-list :where(input[type=text], input[type=email], select, textarea) {
			width: 100%;
			height: 60rem;
			border-radius: 20rem;
			font-size: 22rem;
		}
		.form-list label {
			margin-top: 16rem;
			font-size: 22rem;
		}

		.form-list textarea,
		.form-list div.privacy {
			padding: 1em;
			height: 120rem;
		}
		/* .form-list input[type="checkbox"],
		.form-list input[type="radio"] {
			width: 20rem;
			height: 20rem;
		} */
		 
		.form-list input[type="checkbox"] {
			border-radius: 5rem;
		}
		.form-list input[type="checkbox"]:checked::after {
			border-radius: 3rem;
		}
		.form-list dd .notice {
			font-size: 14rem;
		}
		.form-list dd.type label {
			width: 100%;
		}
		.form-list dd.type label + label {margin-top: 1em;}
		.form-list dt.privacy::after {content: none;}
		.privacy-form-text {
			display: inline-block;
		}

		.submit-btn,
		.button-form_check,
		.form-accordion-opener {
			width: 260rem;
			height: 54rem;
			font-size: 18rem;
		}
		/* .submit-btn:hover,
		.button-form_check:hover,
		.form-accordion-opener:hover {
			background-color: #fff;
			color: var(--main-color);
			opacity: 1;
		} */
		.submit-btn::after{
			width: 53rem;
		}

		

		.dl-sei, .dl-mei, .dl-sei_kana, .dl-mei_kana,
		.dl-p_sei, .dl-p_mei {
			float: left;
		}
		.dl-sei, .dl-mei, .dl-sei_kana, .dl-mei_kana,
		.dl-age,
		.dl-p_sei, .dl-p_mei,
		.dl-zip input, .dl-pref, .dl-city, .dl-address,
		.dl-howmany select {
			width: 300rem;
		}
		.dl-sei, .dl-sei_kana, .dl-p_sei {margin-right: 40rem;}

		.dl-mei + .dl-after-div,
		.dl-mei_kana + .dl-after-div,
		.dl-p_mei + .dl-after-div {
			clear: both;
		}


		.chkbx label {min-width: 185rem;}

		.dl-agreement {
			margin-top: 100rem;
			text-align: center;
		}
		dt.agreement {font-size: 12rem;}
		:is(.agreement, .privacy) label {font-size: 15rem;}

		dt.privacy {
			font-size: 12rem;
			line-height: 2.333;
		}
		dd.privacy {text-align: center;}

		input[name=agreement],
		input[name=privacy] {
			font-size: 20rem;
		}

		/* tab */
		@media (max-width: 1024px) {
			/* dt:has(.notice) {align-items: flex-end;} */
			dt .notice {font-size: 15rem;}
		}
	}
}

/* --確認フォーム-- */
@media all {
	#dispmsg {
		display: none;
		margin: 0 auto 30rem;
		padding: 0;
		font-size: 18rem;
		text-align: center;
		line-height: 2;
	}

	#dispmsg.open {
		display: block;
	}

	#dispmsg.error {
		display: block;
		color: #c00;
	}

	#dispmsg span {
		display: inline-block;
	}

	.form-check {
		width: 0;
		height: 0;
		opacity: 0;
		overflow: hidden;
		/* transition: .3s opacity; */
	}

	.checking {
		overflow: hidden;
	}

	.checking .form-check {
		position: fixed;
		top: 0;
		left: 0;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		padding: 0 20rem;
		width: 100%;
		min-width: 320px;
		height: 100vh;
		background: rgba(0, 0, 0, .7);
		opacity: 1;
		overflow-x: scroll;
		z-index: 9999;
	}

	.checking .check-inner {
		display: flex;
		flex-direction: column;
		justify-content: center;
		/* margin: 20px 0; */
		padding: 0 20rem;
		width: 90%;
		max-width: 640rem;
		background: #fff;
		border-radius: 10rem;
	}

	.checking .check-inner .notice {
		padding: 20rem 0;
		width: 100%;
		font-size: 16rem;
		font-weight: bold;
		text-align: center;
	}

	.checking .check-inner .notice span {
		display: inline-block;
	}

	.checking .check-list-outer {
		position: relative;
	}

	.checking .check-list-outer::before,
	.checking .check-list-outer::after {
		content: '';
		position: absolute;
		left: 0;
		width: calc(100% - 20px);
		height: 32px;
		z-index: 1;
	}
	.checking .check-list-outer::before {
		top: 0;
		background: linear-gradient(to bottom, #fff, rgba(255, 255, 255, 0));
	}

	.checking .check-list-outer::after {
		bottom: 0;
		background: linear-gradient(to top, #fff, rgba(255, 255, 255, 0));
	}

	.checking .check-list {
		max-height: 60vh;
		padding-bottom: 32px;
		overflow-y: scroll;
	}

	.checking .check-list>dl {
		display: flex;
		flex-wrap: wrap;
		margin: 10rem auto 0;
		padding: 0 10rem;
		max-width: 530rem;
		background: #fff;
	}

	.checking .check-list>dl>dt {
		width: 12em;
		font-weight: 500;
	}

	.checking .check-list>dl>dd {
		padding-left: 1em!important;
		width: calc(100% - 12em);
	}

	.checking .check-list>dl>dt,
	.checking .check-list>dl>dd {
		padding: 1em 0;
	}
	.checking .check-list > dl > dd.email {word-break: break-all;}

	.checking .check-list>dl>dt:last-of-type,
	.checking .check-list>dl>dd:last-of-type {
		border: none;
	}
	
	.checking .dot-li {
		position: relative;
	}
	.checking .dot-li + .dot-li {
		margin-top: .25em;
	}
	.checking .dot-li::before {
		content: '・';
		position: absolute;
		top: 0;
		left: -1em;
	}

	.form-check .submit {
		display: flex;
		align-items: center;
		justify-content: space-around;
		padding: 16rem 1em 24rem;
		max-width: 640rem;
	}

	.form-check .return,
	.button-form_check {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 2.5em;
	}

	.form-check .return {
		padding: 0;
		width: 100%;
		max-width: 8em;
		font-size: 14rem;
		text-align: center;
		border: max(1rem, 1px) solid var(--border-dark);
		color: #000;
		cursor: pointer;
		text-decoration: none;
	}
	.form-check .return::after {content: none;}

	.button-form_check {
		margin: 0;
		max-width: 11em;
		box-shadow: none;
		font-size: 16rem;
		cursor: pointer;
	}

	.form-sent {
		position: relative;
		display: none;
		margin: 30rem auto 0;
		text-align: center;
	}

	.form-accordion-opener {
		margin: 0 auto;
		padding: 8rem 0;
		width: 15em;
		font-size: 18rem;
		cursor: pointer;
	}
	.form-accordion-opener::after {content: none;}

	.sending-effect {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 10000;
		background: center / 120rem no-repeat #fff url(../img/common/loading.svg);
		width: 100vw;
		height: 100vh;
		visibility: hidden;
		opacity: 0;
	}
	.sending-effect.sending {
		opacity: 1;
		visibility: visible;
	}

	/* 確認フォーム-- sp */
	@media only screen and (max-width: 767px) {
		#dispmsg {
			margin-top: 12rem;
			width: calc(100% - 4vw);
			font-size: 14rem;
			padding-left: 0;
			padding-right: 0;
			font-feature-settings: "palt";
		}

		.checking .form-check,
		.checking .check-inner {
			padding: 0;
		}

		.checking .check-inner .notice {
			display: flex;
			flex-direction: column;
			justify-content: center;
			height: 12dvh;
			padding: 0;
			line-height: 1.5;
		}
		.checking .check-list {
			max-height: 55dvh;
		}
		.checking .check-list>dl {
			flex-direction: column;
			padding: 0 20rem;
		}

		.checking .check-list>dl>dt {
			padding-bottom: 0;
			border-bottom: none;
			font-weight: bold;
		}

		.checking .check-list>dl>dt,
		.checking .check-list>dl>dd {
			width: 100%;
		}
		.checking .check-list>dl>dd {
			padding: .5em 0 0 1em;
		}

		.form-check .submit {
			flex-direction: column-reverse;
			align-items: center;
		}

		.form-check .return {
			margin-top: 1em;
		}

		.form-sent {
			width: calc(100% - 4vw);
			font-feature-settings: "palt";
		}

		.form-accordion-opener {
			width: 14em;
			font-size: 13rem;
		}
	}

	/* 確認フォーム-- tab & pc */
	@media only screen and (max-width: 1024px) {
	}
}

/* 注意書き */
@media all {
	.form-end-notice {
		font-size: 12rem;
		line-height: 1.5;
	}
	.form-end-notice li {margin-top: .8em;}
	.numbered-item {
		margin-left: 2.5em;
		list-style: decimal;
	}
	.form-resent-notice {text-align: center;}
	/* sp */
	@media only screen and (max-width: 767px) {
		.form-resent-notice.form-end-notice {margin-top: 20rem;}
		.form-end-notice {margin-top: 60rem;}
		.form-end-notice .numbered-item {
			margin-left: 1.5em;
			word-break: break-all;
		}
	}

	/* pc & tab */
	@media print,
	(min-width: 768px) {
		.form-end-notice {
			margin: 80rem auto 100rem;
			max-width: 770rem;
		}
		.form-resent-notice {margin-top: 30rem;}
	}
}

/* contact-section */
@media all {
	/* sp */
	@media only screen and (max-width: 767px) {
		.contact-section {margin-top: 0;}
	}

	/* pc & tab */
	@media print,
	(min-width: 768px) {
		.contact-section {padding-bottom: 120rem;}
	}
}




/* template-section */
@media all {
	/* sp */
	@media only screen and (max-width: 767px) {}

	/* pc & tab */
	@media print,
	(min-width: 768px) {}
}