::placeholder {
	color: #BABABA;
}
@charset "utf-8";
#contact {
	width: 100%;
	height: auto;
	min-height: calc(100vh - 334px);
	padding: 93px 0 150px;
}
	.contact__inner {
		width: 90%;
		max-width: 800px;
		height: auto;
		padding: 80px 0 0;
		margin: 0 auto;
	}
		#contact .section__heading {
			margin-bottom: 60px;
		}
		.contact__contents {
			width: 100%;
			height: auto;
			padding: 40px 30px;
			margin: 0 auto;
			border-radius: 10px;
			background-color: var(--color--white);
		}
			.contact__contents form {
				width: 100%;
				height: auto;
				margin: 0 auto;
			}
				.form__wrap {
					width: 100%;
					height: auto;
				}
					.form__list {
						display: flex;
						flex-direction: column;
						justify-content: flex-start;
						align-items: center;
						row-gap: 25px;
						width: 100%;
						height: auto;
					}
						.form__item {
							width: 100%;
							height: auto;
						}
							.form__item_heading {
								width: 100%;
								height: auto;
								padding: 0 0 8px;
								font-size: 16px;
								font-weight: 700;
								line-height: 1.5;
								color: var(--color--black);
							}
								.mandatory {
									margin-left: 5px;
									font-size: 12px;
									color: var(--color--red);
								}
							.confirmation .form__item_heading {
								font-size: 12px;
								color: #BABABA;
							}
							.form__item_inputbox {
								width: 100%;
								height: auto;
								font-size: 16px;
								line-height: 1.5;
							}
								/* 内容入力ページ */
								.form__item_inputbox input,
								.form__item_inputbox select,
								.form__item_inputbox textarea {
									background-color: var(--color--gray_light);
									border-radius: 3px;
									color: var(--color--black);
									vertical-align: bottom;
								}
								.form__item_inputbox input,
								.form__item_inputbox textarea {
									width: 100%;
									height: auto;
									padding: 12px 15px 11px;
								}
				.form__privacy {
					width: 100%;
					height: auto;
					margin: 0 auto;
				}
					.form__privacy__wrap {
						width: 100%;
						height: auto;
						margin: 0 auto;
					}
						.form__privacy__wrap label {
							display: flex;
							justify-content: center;
							align-items: center;
							column-gap: 10px;
							cursor: pointer;
						}
							.form__privacy__check {
								width: 16px;
								height: 16px;
								border-radius: 2px;
								background-color: var(--color--white);
								border: solid 1px var(--color--black);
								position: relative;
							}
								.form__privacy__check::after {
									content: '';
									width: 12px;
									height: 7px;
									border-left: solid 2px var(--color--red);
									border-bottom: solid 2px var(--color--red);
									transform: rotate(-45deg);
									position: absolute;
									top: 5px;
									left: 8px;
									transform: translate(-50%, -50%) rotate(-45deg);
									transition: .3s;
									opacity: 0;
								}
								.form__privacy__wrap input[type="checkbox"]:checked + label .form__privacy__check::after {
									opacity: 1;
								}
							.form__privacy__txt {
								font-size: 14px;
								font-weight: 500;
								line-height: 1.8;
								letter-spacing: 0.05em;
								color: var(--color--black);
							}
								.form__privacy__txt a {
									color: var(--color--black);
									text-decoration: underline;
								}
							@media (any-hover: hover) {
								.form__privacy__txt a:hover {
									text-decoration: none;
								}
							}


				.submit__wrap {
					display: flex;
					justify-content: center;
					align-items: center;
					width: 100%;
					height: auto;
					margin: 40px auto 0px;
				}
				.confirmation .submit__wrap {
					flex-direction: column-reverse;
					padding: 20px 0 0;
					border-top: solid 1px var(--color--gray_light);
				}
					button[type="submit"] {
						cursor: pointer;
						display: flex;
						justify-content: center;
						align-items: center;
						padding: 0;
						width: 300px;
						height: 60px;
						border-radius: 2px;
						border: solid 1px var(--color--black);
						background-color: var(--color--black);
						font-size: 16px;
						font-weight: 700;
						line-height: 1;
						color: var(--color--white);
					}
					.confirmation button[type="submit"] {
						margin-bottom: 10px;
					}
					.confirmation input {
						font-size: 14px;
						text-decoration: underline;
						cursor: pointer;
					}
				@media (any-hover: hover) {
					button[type="submit"] {
						transition: .3s;
					}
					button[type="submit"]:hover {
						background-color: var(--color--white);
						color: var(--color--black);
					}
					.confirmation input:hover {
						text-decoration: none;
					}
				}

			/* 完了ページ */
			.done_body {
				width: 100%;
				height: auto;
				margin: 0 auto;
			}
				.done_body__txt {
					width: 100%;
					height: auto;
					font-size: 14px;
					font-weight: 700;
					text-align: center;
					color: var(--color--black);
				}
				.done_body__btn_wrap {
					width: 100%;
					height: auto;
					margin: 35px auto 0;
					text-align: center;
				}
					.done_body__btn {
						font-size: 16px;
						font-weight: 700;
						line-height: 1;
						color: var(--color--black);
						text-decoration: underline;
					}
				@media (any-hover: hover) {
					.done_body__btn:hover {
						text-decoration: none;
					}
				}

/* PC ================================================== */
@media all and (min-width: 769px){
.sp {display: none;}
.pc {display: inline-block;}
.view_sp {display: none;}
.view_pc {display: block;}
body {}
h1{}
h2{}
h3{}
h4{}
h5{}
h6{}
}

/* Tablet ================================================== */
@media all and (max-width: 768px){
.pc {display: none;}
.sp {display: inline-block;}
.view_pc {display: none;}
.view_sp {display: block;}
body {}
h1{}
h2{}
h3{}
h4{}
h5{}
h6{}

#contact {
	min-height: calc(100vh - 491px);
	padding: 65px 0 120px;
}
	.contact__inner {
		width: calc((335 / 375) * 100%);
		padding: 50px 0 0;
	}
		#contact .section__heading {
			margin-bottom: 30px;
		}
		.contact__contents {
			padding: 30px 25px;
			border-radius: 8px;
		}
					.form__list {
						row-gap: 35px;
					}
							.form__item_heading {
								padding: 0 0 4px;
								font-size: 14px;
							}
							.form__item_inputbox {
								font-size: 14px;
							}

			/* 完了ページ */
				.done_body__txt {
					text-align: left;
				}
}

/* SP ================================================== */
@media all and (max-width: 575px){
.pc,.tablet {display: none;}
.sp {display: inline-block;}
.view_pc {display: none;}
.view_tablet {display: none;}
.view_sp {display: block;}
body {}
h1{}
h2{}
h3{}
h4{}
h5{}
h6{}
}