@charset "utf-8";
/* contact top */
.content.contact {
	padding-bottom: 20px;
}
.contact__contact .contact-top {
		margin-top: 30px;
		padding: 16px 0;
		border: none;
		background-color: #f8f7f4;
	}
.contact__contact .contact-top__text {
		text-align: left;
		line-height: 2;
	}
.contact__contact .contact-top__title {
		margin: 0 4vw;
		padding-bottom: 13px;
		font-family: "Noto Serif JP", serif;
		/* margin-top: 30px; */
		font-size: 24rem;
		font-weight: bold;
		line-height: 1.67;
		text-align: center;
		color: #000;
		border-bottom: 1px solid #444444;
	}
.contact__contact .contact-top-main {
		padding-top: 13px;
	}
.contact__contact .contact-top__tel {
		font-family: "Times New Roman";
		font-size: 40px;
		font-weight: normal;
		line-height: 1.18;
		position: relative;
	}
.contact__contact .contact-top__tel::after {
			width: 0.8em;
			height: 0.8em;
			top: 0.2em;
			left: -1em;
		}
.contact__contact .contact-top-banner {
		max-width: 400px;
		margin: 20px auto 0;
		background-color: var(--theme-light-color);
	}
.contact__contact .contact-top-banner .cta__tel-item {
			background-color: initial;
			border: none;
			margin: 0 42px;
			border-top: 1px solid #dbdbdb;
		}
.contact__contact .contact-top-banner .cta__tel-item:first-child {
				border-top: none;
			}
.contact__contact .contact-top-banner .cta__tel-item .cta__tel {
				margin-top: 10px;
			}
.contact__contact #form.inquiry {
		margin: 40px auto 0;
	}
.contact__contact .inquiryrequired--jp p::before {
		content: none;
	}
.contact__contact .inquiryrequired--jp p::after {
		content: "必須";
		color: #a62703;
		/* color: #fff; */
		padding: 2px 5px;
		margin-left: 5px;
		/* font-size: 12rem; */
		/* line-height: 2; */
		letter-spacing: 0.72px;
	}
.contact__contact .inquiryoptional--jp p::before {
		content: none;
	}
.contact__contact .inquiryoptional--jp p::after {
		content: "任意";
		background-color: #cccccc;
		color: #fff;
		padding: 2px 5px;
		margin-left: 5px;
		font-size: 12rem;
		line-height: 2;
		letter-spacing: 0.72px;
	}
.contact__contact .inquiry-table-head {
		font-size: 16rem;
		font-weight: bold;
		line-height: 1.75;
		color: #0d0d0d;
	}
.contact__contact .inquiry-table > tbody .inquiry-table-row:first-child .inquiry-table-head {
		margin-top: 0;
	}
.contact__contact .inquiry-table-row input[type="tel"], .contact__contact .inquiry-table-row input[type="text"], .contact__contact .inquiry-table-row .wpcf7-select, .contact__contact .inquiry-table-row input[type="email"], .contact__contact .inquiry-table-row textarea {
		background-color: #fff;
		border-color: #909090;
		border-radius: 0;
		padding-left: 0.3em;
	}
.contact__contact .wpcf7-text::placeholder {
		color: #b1b1b1;
		font-size: 12rem;
	}
.contact__contact .inquiry-table-row .wpcf7-select {
		padding-left: 1em;
		width: 300px;
		font-size: 14rem;
	}
.contact__contact .consultation-field {
		color: #001939;
	}
.contact__contact .consultation-field::after {
			border-color: var(--theme-color);
			right: inherit;
			left: 17em;
		}
.contact__contact .your-message__notice {
		margin-bottom: 16px;
		font-size: 14rem;
		line-height: 1.71;
	}
.contact__contact .linkprivacypage {
		padding-top: 10px;
	}
.contact__contact .linkprivacypage .linkprivacypage-text {
			line-height: 1.71;
			letter-spacing: 0.84px;
			color: #0d0d0d;
		}
.contact__contact .linkprivacypage .linkprivacypage__checkbox {
			margin-top: 5px;
		}
.contact__contact .inquirysubmit {
		margin-top: 0;
	}
.contact__contact .button-A.inquirybutton,
	.contact__contact .button-A.inquirybutton__back {
		max-width: 320px;
		width: 85.4vw;
		height: 64px;
		background-color: var(--sub-color);
		border-radius: 32px !important;
		font-size: 16rem;
	}
.contact__contact .recaptcha_policy {
		color: #0d0d0d;
	}
.contact__thanks .contact-content {
		margin-top: 23px;
		text-align: center;
	}
.contact__thanks .contact-content p {
			line-height: 2;
		}
.contact__thanks .button-B.wp-block-button__link {
		position: relative;
		margin: 40px auto;
		line-height: 1.1;
		width: 80vw;
		max-width: 400px;
		font-size: 20rem;
	}
.contact__thanks .button-B.wp-block-button__link::after {
			position: absolute;
			top: 0.8em;
			right: 1em;
		}

@media screen and (min-width: 1024px) {
	.content.contact.contact__contact {
		width: 880px;
	}
		.content.contact.contact__contact .main_full {
			width: 880px;
		}
		.content.contact.contact__contact .contact-top {
			display: flex;
			justify-content: space-between;
			align-items: center;
			width: 100%;
			padding: 20px 0;
		}
		.content.contact.contact__contact .contact-top__text {
			font-size: 16px;
			color: #0d0d0d;
		}
		.content.contact.contact__contact .contact-top__title {
			font-size: 28px;
			border-bottom: unset;
			border-right: 1px solid #444444;
			line-height: 3.6;
			margin: 0;
			padding: 0 61px 0 42px;
		}
		.content.contact.contact__contact .contact-top-main {
			margin: 0 auto;
			padding: 0 0 0 28px;
		}
		.content.contact.contact__contact .contact-top__tel {
			font-size: 56px;
		}
			.content.contact.contact__contact .contact-top__tel::after {
				top: 0.3em;
			}
		.content.contact.contact__contact .contact-top-banner {
			display: flex;
			max-width: 100%;
			height: 160px;
		}
			.content.contact.contact__contact .contact-top-banner .cta__tel-item {
				margin: 20px 0;
				padding-top: 0;
				border-top: none;
				border-left: 1px solid #dbdbdb;
			}
				.content.contact.contact__contact .contact-top-banner .cta__tel-item:first-child {
					border-left: none;
				}
		.content.contact.contact__contact .your-message__notice {
			font-size: 16px;
		}
		.content.contact.contact__contact .inquiry-table {
			margin-bottom: 0;
		}
		.content.contact.contact__contact .consultation-field::after {
			left: 280px;
		}
		.content.contact.contact__contact .linkprivacypage {
			padding-top: 38px;
		}
			.content.contact.contact__contact .linkprivacypage .linkprivacypage__checkbox {
				margin-top: 0;
			}
		.content.contact.contact__contact .inquirysubmit {
			margin-top: 23px;
		}
		.contact__thanks .contact-content {
			margin-top: 23px;
		}
		.contact__thanks .button-B.wp-block-button__link {
			margin-bottom: 80px;
			width: 400px;
			max-width: 400px;
			font-size: 24px;
		}
}