@charset "UTF-8";

/* 共通 */

.contact-wrap {
	margin: 150px auto 0;
	width: 85%;
	max-width: 1168px;
}

.contact-wrap p {
	margin: 0;
}

.contact-wrap>.col {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 35px;
}

.contact-wrap>.col h1 {
	margin: 0;
	text-align: left;
}

.input-view,
.check-view,
.completed-view {
	display: none;
}

.contact-wrap:has(.mw_wp_form_input) .input-view {
	display: block;
}

.contact-wrap:has(.mw_wp_form_confirm) .check-view {
	display: block;
}

.contact-wrap:has(.mw_wp_form_complete) .completed-view {
	display: block;
}

.contact-wrap .flow {
	display: flex;
	align-items: center;
	gap: 17px;
}

.contact-wrap .flow p {
	color: #A3A3A3;
	display: flex;
	align-items: center;
	position: relative;
	margin: 0;
}

.contact-wrap .flow p::before {
	content: "";
	display: block;
	background-color: #A3A3A3;
	border: solid 3px #fff;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	box-shadow: 0 0 0 1px #A3A3A3;
	margin-right: 5px;
}

.contact-wrap:has(.mw_wp_form_input) .flow p:nth-child(1) {
	color: #1f1f1f;
}

.contact-wrap:has(.mw_wp_form_confirm) .flow p:nth-child(2) {
	color: #1f1f1f;
}

.contact-wrap:has(.mw_wp_form_complete) .flow p:nth-child(3) {
	color: #1f1f1f;
}

.contact-wrap:has(.mw_wp_form_input) .flow p:nth-child(1):before {
	background-color: #1f1f1f;
	box-shadow: 0 0 0 1px #1f1f1f;
}

.contact-wrap:has(.mw_wp_form_confirm) .flow p:nth-child(2):before {
	background-color: #1f1f1f;
	box-shadow: 0 0 0 1px #1f1f1f;
}

.contact-wrap:has(.mw_wp_form_complete) .flow p:nth-child(3):before {
	background-color: #1f1f1f;
	box-shadow: 0 0 0 1px #1f1f1f;
}

.contact-wrap .flow p::after {
	content: "";
	display: block;
	background: #747474;
	width: 40px;
	height: 1px;
	margin-left: 18px;
}

.contact-wrap .flow p:last-child::after {
	content: none;
}

.contact-wrap .mw_wp_form {
	margin-top: 106px;
}

.required {
	color: #FF3516;
}

/* プライバシーポリシー */

.privacy-wrap {
	margin-top: 50px;
}

.privacy-wrap h2 {
	font-weight: normal;
	text-align: center;
}

.privacy-wrap div {
	border: 1px solid #858585;
	padding: 48px;
	height: 280px;
	overflow-y: scroll;
}

.privacy-wrap div h3 {
	border-bottom: 1px solid #858585;
	margin-top: 67px;
	padding-bottom: 12px;
}

.privacy-wrap div p {
	margin-top: 14px !important;
}

.privacy-wrap div ul,
.privacy-wrap div ol {
	margin: 0;
	padding-left: 1.3em;
}

/* 入力テーブル */

.mw_wp_form_input p.input-view {
	margin: 0;
}

.contact-wrap table {
	margin: 0;
}

.contact-wrap tr {
	border-top: 1px solid #858585;
	display: flex;
	justify-content: space-between;
	padding: 30px 0;
}

.contact-wrap tr:last-child {
	border-bottom: 1px solid #858585;
}

.contact-wrap th {
	font-weight: normal;
	text-align: left;
}

.contact-wrap td {
	width: 100%;
	max-width: 880px;
}

.contact-wrap td .col {
	display: flex;
	align-items: center;
	gap: 31px;
	justify-content: flex-end;
	margin-top: 9px;
}

.contact-wrap td .col:first-child {
	margin-top: 0;
}

.contact-wrap td .col p {
	flex-shrink: 0;
	margin: 0;
}

.contact-wrap input[type="text"],
.contact-wrap input[type="tel"],
.contact-wrap input[type="email"],
.contact-wrap textarea {
	background: #F3F3F3;
	border: none;
	border-radius: 0;
	font-size: 13px;
	letter-spacing: .05em;
	line-height: 1.73;
	resize: vertical;
	padding: 14px 15px;
	width: 878px;
}

.contact-wrap td:has(.mwform-radio-field) {
	background: #F3F3F3;
	border: none;
	border-radius: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 28px;
	line-height: 1.73;
	padding: 26px 15px;
}

.contact-wrap .mw_wp_form .horizontal-item+.horizontal-item {
	margin: 0;
}

.contact-table input[type=radio].radio_btn_item {
	display: none;
}

.contact-table .radio_btn_item+span {
	padding-left: 30px;
	display: inline-block;
	position: relative;
}

.contact-table .radio_btn_item+span::after,
.contact-table .radio_btn_item+span::before {
	border-radius: 50%;
	content: '';
	display: block;
	position: absolute;
}

.contact-table .radio_btn_item+span::before {
	background: #fff;
	border: 1px solid #000;
	left: 0;
	top: 3px;
	height: 21px;
	width: 21px;
}

.contact-table .radio_btn_item+span::after {
	background: #000;
	left: 6px;
	opacity: 0;
	top: 9px;
	width: 9px;
	height: 9px;
}

.contact-table .radio_btn_item:checked+span::after {
	opacity: 1;
}

/* チェックボックス */

.contact-wrap .check {
	margin: 40px auto 0;
	max-width: max-content;
}

.contact-wrap .check input[type="checkbox"] {
	display: none;
}

.contact-wrap .check .mwform-checkbox-field-text {
	display: block;
	padding-left: 28px;
	position: relative;
}

.contact-wrap .check .mwform-checkbox-field-text::before {
	content: "";
	position: absolute;
	top: 3px;
	left: 0;
	display: block;
	background: #fff;
	border: 1px solid #000;
	box-sizing: border-box;
	width: 20px;
	height: 20px;
}

.contact-wrap .check .mwform-checkbox-field-text::after {
	content: "";
}

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

/* ボタン */

.form-btn {
	position: relative;
	margin: 86px auto 0;
	width: 800px;
	max-width: 90%;
}

.form-btn .link-icon {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 56px;
}

.contact-wrap .link-icon .link-arrow {
	width: 12px;
	height: 12px;
}

/* 確認画面 */

.btn-back,
.btn-submit {
	background: #fff;
	border: 1px solid #858585;
	border-radius: 60px;
	box-sizing: border-box;
	cursor: pointer;
	font-weight: normal;
	display: block;
	padding: 18px;
	text-align: center;
	width: 100%;
}

.form-fix {
	display: none;
}

.contact-wrap:has(.mw_wp_form_confirm) .form-fix,
.contact-wrap:has(.mw_wp_form_confirm) .form-btn {
	display: block;
	position: relative;
	margin: 0;
	width: 320px;
	max-width: 90%;
}

.contact-wrap:has(.mw_wp_form_confirm) .link-icon {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 40px;
}

.contact-wrap:has(.mw_wp_form_confirm) .btn-submits {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 17px 50px;
	flex-wrap: wrap;
	margin-top: 64px;
}

.contact-wrap:has(.mw_wp_form_confirm) td:has(.col) {
	display: flex;
	align-items: baseline;
}

/* 完了 */

.completed-view {
	text-align: center;
}

.completed-view br.adjust {
	display: none;
}

.completed-view p.heading_m {
	border-bottom: 1px solid #000;
	padding-bottom: 43px;
	margin-bottom: 48px;
}

.completed-view div {
	border: 1px solid #000;
	padding: 32px 0 29px;
	margin: 56px auto 40px;
	max-width: 592px;
	width: 100%;
}

.completed-view div p {
	margin-top: 8px;
}

.completed-view .left-text {
	display: inline-block;
	text-align: left;
}

/* タブレット */

@media screen and (max-width: 1325px) {

	.contact-wrap {
		width: 90%;
	}

	.contact-wrap tr {
		flex-flow: column;
		gap: 5px;
	}

	.contact-wrap td .col {
		align-items: flex-start;
		flex-flow: column;
		gap: 5px;
	}

	.contact-wrap td {
		max-width: none;
	}

	.contact-wrap tr br.adjust {
		display: none;
	}

	.contact-wrap input[type="text"],
	.contact-wrap input[type="tel"],
	.contact-wrap input[type="email"],
	.contact-wrap textarea,
	.contact-wrap td .col p {
		width: 100%;
	}
}

/* スマホ */

@media screen and (max-width: 767px) {

	.privacy-wrap div {
		padding: 24px 26px 4px;
	}

	/* 入力画面 sp */

	.contact-wrap .mw_wp_form {
		margin-top: 54px;
	}

	.contact-wrap>.col {
		flex-flow: column;
		gap: 35px;
		margin-bottom: 40px;
	}

	.contact-wrap tr {
		padding: 15px 0;
	}

	.contact-wrap td:has(.mwform-radio-field) {
		flex-flow: column;
	}

	.contact-wrap .check {
		margin-top: 18px;
	}

	.form-btn {
		margin-top: 60px;
	}

	/* 確認 sp */

	.contact-wrap:has(.mw_wp_form_confirm) .btn-submits {
		margin-top: 38px;
	}

	/* 完了 */

	.completed-view p.heading_m {
		padding-bottom: 32px;
		margin-bottom: 32px;
	}

	.completed-view br.adjust {
		display: block;
	}

	.completed-view div {
		margin: 40px auto 32px;
	}
}