@charset "UTF-8";

.page-inquiry {
	margin: 0 auto;
	width: 100%;
	max-width: 1370px;

	h1 {
		color: #E36A6A;
		font-size: 50px;
		letter-spacing: .04em;
		text-align: center;
		margin-top: 87px;
	}

	h2 {
		color: #E36A6A;
		display: flex;
		align-items: center;
		gap: 13px;
		justify-content: center;
		font-size: 31px;
		letter-spacing: .04em;

		span {
			background: #E36A6A;
			color: #fff;
			display: block;
			font-family: "Noto Sans JP", sans-serif;
			font-size: 16px;
			line-height: 1.25;
			padding: 6px 19px;
		}
	}

	.col {
		display: flex;
		align-items: center;
		gap: 30px;
		justify-content: center;
		margin-top: 75px;

		div {
			background: #fff;
		}

		h2 {
			border-bottom: 1px solid #B2B2B2;
			padding-bottom: 10px;
		}

		@media (max-width: 1270px) {
			flex-flow: column;
			padding: 0 140px;

			p {
				text-align: center;
			}
		}

		@media (max-width: 1040px) {
			padding: 0 70px;
		}
	}
}

.call {
	flex-shrink: 0;
	padding: 73px 55px 86px;
	position: relative;
	text-align: center;

	@media (max-width: 1270px) {
		margin: 0 auto;
		width: 100%;
	}

	a {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		pointer-events: none;
	}

	span {
		color: #211913;
		font-size: 16px;
	}

	.number {
		color: #E36A6A;
		display: flex;
		align-items: center;
		gap: 9px;
		justify-content: center;
		font-family: "Noto Serif JP", serif;
		font-size: 50px;
		font-weight: bold;
		margin-top: 26px;

		&::before {
			content: "";
			display: block;
			background: url(../images/inquiry/contact-tel.svg) no-repeat;
			background-size: contain;
			width: 78px;
			height: 46px;
		}
	}
}

.visit {
	padding: 21px 48px 23px 40px;

	@media (max-width: 1270px) {
		margin: 0 auto;
		width: 100%;
	}

	.col-visit {
		display: flex;
		align-items: center;
		gap: 36px;
		margin-top: 19px;

		a {
			border: 1px solid #211913;
			color: #211913;
			display: flex;
			align-items: center;
			gap: 9px;
			font-size: 16px;
			padding: 9px 12px 9px 37px;
			margin: 14px auto 23px;
			max-width: max-content;

			&::after {
				content: "";
				display: block;
				background: url(../images/inquiry/link-icon.svg) no-repeat;
				background-size: contain;
				width: 18px;
				height: 18px;
			}

			&:hover {
				border: 1px solid #E36A6A;
				color: #E36A6A;
			}

			&:hover::after {
				background: url(../images/inquiry/link-icon-hover.svg) no-repeat;
				background-size: contain;
			}
		}

		img {
			width: 100%;
			max-width: 296px;
		}

		@media (max-width: 1040px) {
			flex-flow: column;
		}
	}

	li {
		font-size: 16px;
		line-height: 1.75;
		padding-left: 1.5em;
		position: relative;

		&::before {
			content: "";
			background: #E36A6A;
			border-radius: 50%;
			position: absolute;
			top: 10px;
			left: 0;
			width: 10px;
			height: 10px;
		}
	}
}

/* フォーム */
.form_area {
	background: #fff;
	padding: 105px 140px 110px;
	margin-top: 76px;

	.inquiry_flow {
		text-align: center;
		margin-top: 60px;
	}

	h3 {
		color: #E36A6A;
		font-size: 25px;
		text-align: center;
		margin: 50px auto 17px;
	}

	@media (max-width: 1040px) {
		padding: 105px 70px 110px;
	}
}

input[type="text"],
input[type="email"],
input[type="tel"] {
	border-radius: 8px;
	border: 1px solid #707070;
	font-size: 15px;
	height: 45px;
	width: 100%;
	padding: 0 15px;
	box-sizing: border-box;
	background: #fff;
}

textarea {
	border: 1px solid #707070;
	border-radius: 8px;
	font-size: 15px;
	padding: 15px;
	resize: vertical;
	width: 100%;
	height: 253px;
}

#autozip {
	display: none;
}

.btns {
	margin-top: 62px;

	div {
		margin: 0 auto;
		max-width: max-content;
	}

	div:has(input[type="submit"]) {
		position: relative;

		&::after {
			content: "";
			background: url(../images/arrow-white.svg) no-repeat;
			background-size: contain;
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
			right: 17px;
			width: 25px;
			height: 25px;
		}
	}

	div:has(.link_return)::after {
		background: url(../images/inquiry/arrow-fix.svg) no-repeat !important;
		background-size: contain;
	}

	div:has(.link_return):hover::after {
		background: url(../images/inquiry/arrow-fix-hover.svg) no-repeat !important;
	}
}

.form-btn a,
input[type="submit"],
input[type="button"] {
	background: #E36A6A;
	border: none;
	cursor: pointer;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: .1em;
	transition: 0.3s;
	padding: 21px 60px 21px 40px;

	&:hover {
		background: #FCEDED;
		color: #E36A6A;
	}
}

input[type="submit"].link_return {
	background: #848484;
	border: 2px solid transparent;

	&:hover {
		background: #EEEEEE;
		border: 2px solid #848484;
		color: #848484;
	}
}

table {
	width: 100%;
	position: relative;
	box-sizing: border-box;
	border-collapse: collapse;
	margin-bottom: 60px;

	th {
		border: 1px solid #898989;
		border-right: 1px solid #898989;
		background: #efefef;
		padding: 20px;
		vertical-align: middle;
		width: 25.25%;
		min-width: 207px;
		text-align: left;
		box-sizing: border-box;
		color: #231815;
		font-size: 16px;
		font-weight: normal;
		line-height: 1.25;
		position: relative;

		div {
			display: flex;
			flex-flow: column;
			gap: 3px;

			.subtxt {
				color: #898989;
				font-size: 14px;
			}
		}
	}

	td {
		border: 1px solid #898989;
		padding: 20px 25px;
		vertical-align: top;
		font-size: 16px;

		div:first-child {
			display: flex;
			align-items: center;
			gap: 9px;
			margin-bottom: 15px;

			input[type="tel"] {
				width: 193px;
			}
		}

	}

	.mwform-checkbox-field label {
		background: #EFEFEF;
		display: inline-block;
		padding: 10px 16px;
		width: 141px;

		input[type="checkbox"] {
			display: none;
		}

		&:has(input[type="checkbox"]:checked) {
			background: #E36A6A;
			color: #fff;

			.mwform-checkbox-field-text::after {
				content: "";
				border: none;
				border-right: 3px solid #4F97B5;
				border-bottom: 3px solid #4F97B5;
				display: block;
				position: absolute;
				top: 10px;
				left: 5px;
				transform: translateY(-50%) rotate(45deg);
				transition: .1s;
				width: 7px;
				height: 17px;
			}
		}

		.mwform-checkbox-field-text {
			padding-left: 29px;
			position: relative;

			&::before {
				content: "";
				position: absolute;
				top: 3px;
				left: 0;
				background: #fff;
				border: 1px solid #898989;
				border-radius: 4px;
				width: 18px;
				height: 18px;
			}
		}
	}
}

.require {
	color: #fff;
	width: 38px;
	height: 22px;
	line-height: 22px;
	font-size: 12px;
	letter-spacing: 0.05em;
	position: absolute;
	right: 24px;
	top: 50%;
	margin-top: -11px;
	text-align: center;
	background: #F05F5F;
	font-weight: bold;
	border-radius: 4px;
}

.free {
	color: #fff;
	width: 38px;
	height: 22px;
	line-height: 22px;
	font-size: 12px;
	letter-spacing: 0.05em;
	position: absolute;
	right: 24px;
	top: 50%;
	margin-top: -11px;
	text-align: center;
	background: #898989;
	font-weight: bold;
	border-radius: 4px;
}

.doui {
	margin: 34px auto 0;
	max-width: max-content;

	.ckbox {
		display: flex;
		align-items: center;
		gap: 11px;

		.require {
			position: relative;
			top: auto;
			right: auto;
			margin-top: 0;
		}
	}

	input[type="checkbox"] {
		display: none;
	}

	.mwform-checkbox-field label:has(input[type="checkbox"]:checked) .mwform-checkbox-field-text::after {
		content: "";
		border: none;
		border-right: 3px solid #4F97B5;
		border-bottom: 3px solid #4F97B5;
		display: block;
		position: absolute;
		top: 11px;
		left: 8px;
		transform: translateY(-50%) rotate(45deg);
		transition: .1s;
		width: 7px;
		height: 17px;
	}

	.mwform-checkbox-field-text {
		display: block;
		padding-left: 31px;
		position: relative;

		&::before {
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			background: #fff;
			border: 1px solid #898989;
			border-radius: 4px;
			width: 24px;
			height: 24px;
		}
	}
}

/* プライバシーポリシー */
.pp {
	overflow: scroll;
	max-width: 622px;
	height: 203px;
	border: 1px solid #898989;
	padding: 35px;
	margin: 60px auto 34px;
	box-sizing: border-box;

	h2 {
		color: #211913;
		display: block;
		font-family: "Noto Sans JP", sans-serif;
		font-size: 21px;
		margin-bottom: 25px;
		text-align: left;
	}

	h3 {
		color: #211913;
		font-family: "Noto Sans JP", sans-serif;
		font-size: 16px;
		text-align: left;
		margin: 30px 0 0;
	}

	p strong {
		font-weight: bold;
	}
}

/* 確認画面 */

.mw_wp_form_confirm {
	.btns {
		display: flex;
		justify-content: center;
		gap: 28px;

		div {
			margin: 0;
		}
	}
}

/* 完了画面 */
.form_area.complete {

	.inquiry_flow {
		margin-top: 0;
	}

	.btn-pink {
		padding: 18px 40px;
		gap: 18px;
		font-size: 18px;
	}
}

.page-inquiry {
	.box-form-result-title {
		margin: 60px auto 30px;
	}
}

.box-form-result-title+p {
	text-align: center;
}

.adjust {
	text-align: center;
}

.box-gray {
	background: #f5f5f5;
	padding: 30px;
	width: 100%;
	max-width: 694px;
	margin: 35px auto;

	li {
		padding-left: 1em;
		position: relative;

		&::before {
			content: "・";
			position: absolute;
			left: 0;
			top: 0;
		}
	}
}

/* スマホ */
@media screen and (max-width:767px) {

	.page-inquiry {

		h1 {
			font-size: 25px;
			line-height: 2.08;
			margin-top: 45px;
		}

		h2 {
			font-size: 18px;
			flex-flow: column;

			span {
				font-size: 14px;
				padding: 3px 17px;
			}
		}

		.col {
			gap: 19px;
			margin-top: 57px;
			padding: 0;

			h2 {
				padding-bottom: 0;
				line-height: 2.88;
			}
		}

	}

	.call {
		padding: 4px 18px 14px;

		span {
			font-size: 14px;
		}

		.number {
			gap: 5px;
			font-size: 32px;
			margin-top: 10px;

			&::before {
				width: 47px;
				height: 28px;
			}
		}
	}

	.visit {
		padding: 4px 18px 20px;

		.col-visit {
			margin-top: 13px;

			p {
				font-size: 14px;
			}

			a {
				margin: 17px auto;
			}
		}

		li {
			font-size: 14px;
			line-height: 2;
		}
	}

	/* フォーム sp */
	.form_area {
		padding: 25px 27px 43px;
		margin-top: 24px;

		.inquiry_flow {
			margin-top: 31px;
		}

		h3 {
			font-size: 18px;
			line-height: 2.88;
			margin: 17px auto 4px;
		}
	}

	table {
		th {
			display: block;
			padding: 24px 15px 24px 18px;
			width: 100%;

			div {
				.subtxt {
					font-size: 12px;
				}
			}
		}

		td {
			display: block;
			padding: 29px 20px 34px 22px;
		}

		.mwform-checkbox-field label {
			width: 100%;
		}

		.mwform-checkbox-field:last-of-type label {
			margin-top: 17px;
		}
	}

	.btns {
		margin-top: 35px;
	}

	.form-btn a,
	input[type="submit"],
	input[type="button"] {
		font-size: 16px;
		line-height: 1.25;
		padding: 15px 54px 15px 39px;
	}

	.pp {
		padding: 37px 18px 31px 22px;
		margin: 52px auto 35px;
		height: 266px;

		h3 {
			font-size: 14px;
			line-height: 1.85;
			margin: 27px 0 0;
		}

		p {
			font-size: 14px;
			line-height: 1.85;
		}
	}

	.doui {
		.ckbox {
			flex-flow: column;
			gap: 10px;
		}
	}

	/* 確認画面 */

	.mw_wp_form_confirm {
		.btns {
			align-items: center;
			flex-flow: column;
			gap: 15px;
		}
	}

	/* 完了画面 */
	.page-inquiry {
		.box-form-result-title {
			margin: 25px auto 15px;
		}
	}
}