@charset "utf-8";
::placeholder {
	color: #B2B2B2;
}
.section_heading__main {
	text-align: center;
}
.section_heading__sub {
	text-align: center;
}

#contact {
	width: 100%;
	height: auto;
	padding: 2.8125vw 0 10.78125vw;
}
	.contact__inner {
		width: 85.9375%;
		max-width: 900px;
		height: auto;
		margin: 0 auto;
	}
		.contact__form_wrap,
		.thanks__wrap {
			width: 100%;
			height: auto;
			opacity: 0;
			transition: .6s;
			transition-delay: .5s;
		}
		.run.contact__form_wrap,
		.run.thanks__wrap {
			opacity: 1;
		}
			.contact__form_wrap form {
				width: 100%;
				height: auto;
			}
				.contact_form__list {
					width: 100%;
					height: auto;
					margin: 0 auto 60px;
				}
					.contact_form__list__item {
						width: 100%;
						height: auto;
					}
					.contact_form__list__item:not(:last-of-type) {
						margin-bottom: 28px;
					}
					.confirmation .contact_form__list__item:not(:last-of-type) {
						margin-bottom: 34px;
					}
						.contact_form__list__item_heading {
							width: 100%;
							height: auto;
							margin: 0 auto 12px;
							font-size: 20px;
							font-weight: 500;
							line-height: 1.45;
							letter-spacing: 0.06em;
						}
						.confirmation .contact_form__list__item_heading {
							padding-bottom: 8px;
							margin-bottom: 8px;
							border-bottom: solid 1px #E2E2E2;
						}
						.contact_form__list__item_inputbox {
							width: 100%;
							height: auto;
						}
							.contact_form__list__item_inputbox input,
							.contact_form__list__item_inputbox textarea {
								width: 100%;
								height: auto;
								padding: 14px 18px;
								background-color: #E2E2E2;
								font-size: 18px;
								font-weight: 400;
								line-height: 1.45;
								letter-spacing: 0.06em;
							}
							.confirmation__txt {
								width: 100%;
								height: auto;
								font-size: 18px;
								font-weight: 400;
								line-height: 1.45;
								letter-spacing: 0.06em;
							}
				.agree__container {
					display: flex;
					justify-content: center;
					align-items: center;
					width: 100%;
					height: auto;
				}
					inout[name="agree_privacy"] {
						display: none;
					}
					.agree_txt {
						padding-left: 40px;
						font-size: 16px;
						font-weight: 400;
						line-height: 1.5;
						letter-spacing: 0.04em;
						text-align: center;
						color: var(--color--black);
						position: relative;
						cursor: pointer;
					}
						.agree_txt a {
							color: #4055FF;
							text-decoration: underline;
						}
					@media (any-hover: hover) {
						.agree_txt a:hover {
							text-decoration: none;
						}
					}
						.agree_txt::before,
						.agree_txt::after {
							content: '';
							display: block;
							position: absolute;
						}
						.agree_txt::before {
							width: 26px;
							height: 26px;
							border-radius: 4px;
							border: solid 1px var(--color--gray);
							background-color: var(--color--white);
							left: 0;
						}
						.agree_txt::after {
							width: 18px;
							height: 9px;
							border-left: solid 3px var(--color--black);
							border-bottom: solid 3px var(--color--black);
							top: 7px;
							left: 4px;
							transform: rotate(-45deg);
							opacity: 0;
							transition: .3s;
						}
						input[name="agree_privacy"]:checked + label.agree_txt::after {
							opacity: 1;
						}
				.submit__container {
					display: flex;
					justify-content: center;
					align-items: center;
					width: 100%;
					height: auto;
					margin: 30px auto 0;
				}
				.confirmation .submit__container {
					column-gap: 40px;
					margin: 100px auto 0;
				}
					.confirm_btn,
					.submit_btn,
					.back_btn {
						display: flex;
						justify-content: center;
						align-items: center;
						width: 380px;
						height: 68px;
						border-width: 1px;
						border-style: solid;
						font-size: 18px;
						font-weight: 500;
						line-height: 1;
						letter-spacing: 0.04em;
						transition: .3s;
						cursor: pointer;
					}
					.confirm_btn {
						border-color: var(--color--black);
						background-color: var(--color--black);
						color: var(--color--white);
					}
					.confirm_btn:disabled {
						opacity: .4;
					}
					.submit_btn {
						border-color: var(--color--black);
						background-color: var(--color--black);
						color: var(--color--white);
					}
					.back_btn {
						border-color: var(--color--gray);
						background-color: var(--color--gray);
						color: var(--color--black);
					}
				@media (any-hover: hover) {
					.confirm_btn:hover,
					.submit_btn:hover,
					.back_btn:hover {
						background-color: var(--color--bg_gray);
					}
					.confirm_btn:hover,
					.submit_btn:hover {
						color: var(--color--black);
					}
				}

			.thanks__heading {
				width: 100%;
				height: auto;
				margin: 0 auto 18px;
				font-size: 20px;
				font-weight: 500;
				line-height: 1.45;
				letter-spacing: 0.06em;
				text-align: center;
				color: var(--color--black);
			}
			.thanks__txt {
				width: 100%;
				height: auto;
				margin: 0 auto 87px;
				font-size: 14px;
				font-weight: 300;
				line-height: 2.286;
				letter-spacing: 0.08em;
				text-align: center;
				color: var(--color--black);
			}
			.thanks__btn_wrap {
				width: 19.53125vw;
				height: auto;
				padding: 0 0 1.34375vw;
				margin: 0 auto;
				aspect-ratio: 250 / 46;
				border-bottom: solid 1px var(--color--black);
			}

/* PC ================================================== */
@media all and (min-width: 769px){

}

/* Tablet ================================================== */
@media all and (max-width: 768px){
#contact {
	padding: 5.066667vw 0 53.333333vw;
}
	.contact__inner {
		width: 78.666667%;
	}
				.contact_form__list {
					margin: 0 auto 38px;
				}
					.contact_form__list__item:not(:last-of-type) {
						margin-bottom: 26px;
					}
						.contact_form__list__item_heading {
							margin: 0 auto 12px;
							font-size: 18px;
						}
							.contact_form__list__item_inputbox input,
							.contact_form__list__item_inputbox textarea {
								padding: 9px 14px;
								font-size: 16px;
								line-height: 1.5;
							}
							.contact_form__list__item_inputbox textarea {
								min-height: 255px;
							}
							.confirmation__txt {
								font-size: 16px;
							}
					.agree_txt {
						padding-left: 30px;
						font-size: 12px;
					}
						.agree_txt::before {
							width: 20px;
							height: 20px;
							border-radius: 3px;
						}
						.agree_txt::after {
							width: 12px;
							height: 6px;
							border-left: solid 2px var(--color--black);
							border-bottom: solid 2px var(--color--black);
							top: 6px;
							left: 4px;
						}
				.submit__container {
					flex-direction: column-reverse;
					margin: 24px auto 0;
				}
				.confirmation .submit__container {
					column-gap: 0px;
					row-gap: 25px;
					margin: 80px auto 0;
				}
					.confirm_btn,
					.submit_btn,
					.back_btn {
						display: flex;
						justify-content: center;
						align-items: center;
						width: 100%;
						max-width: 400px;
						height: 66px;
						font-size: 16px;
					}

			.thanks__heading {
				margin: 0 auto 14px;
				font-size: 18px;
				line-height: 1.9;
			}
			.thanks__txt {
				margin: 0 auto 45px;
				font-size: 14px;
				text-align: left;
			}
			.thanks__btn_wrap {
				width: 66.666667vw;
				padding: 0 0 4.533333vw;
			}
}

/* SP ================================================== */
@media all and (max-width: 575px){

}