/*
----------------------------------------

layout

----------------------------------------
*/

:root {
	--main-color: #103466;
	--base-color: #fff;
	--txt-color: #000;
	--gray-color: #ccc;
	--gray-light-color: #f5f5f5;
	--dark-gray-color: #999;
}
/*
body {
	font-size: 16px;
	font-family: 'Noto Sans JP', sans-serif;
	font-feature-settings: 'palt';
	line-height: 2;
	text-align: center;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	position: relative;
	-webkit-text-size-adjust: 100%;
}

footer {
	color: var( --base-color );
	background: var( --txt-color);
	padding: 10px 20px;
}

a {
	color: var( --main-color );
	text-decoration: none;
	border-bottom: solid 1px var( --main-color );
} */

.sp {
	display: none;
}

.en {
	font-family: "Roboto", sans-serif;
}

.wrap {
	width: 100%;
	max-width: 1160px;
	padding: 0 30px;
	text-align: left;
	margin: 0 auto;
}

.flex {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
}

.form-box {
	margin: 0;
	padding: 40px 0;
	background: var(--gray-light-color);
}

.form-box * {
	box-sizing: border-box;
}

.form-note {
	margin: 0 0 40px;
}

.form-note .flex {
	justify-content: center;
	align-items: center;
	gap: 30px;
	margin: 0;
}

.form-note .flex dt {
	width: 240px;
	background: var(--base-color);
	padding: 60px 10px;
	text-align: center;
}

.form-note .flex dd {
	margin: 0;
	padding: 0;
}

.form-note .flex ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.form-note .flex li {
	line-height: 1.6;
	padding-left: 16px;
	text-indent: -16px;
}

.form-note .flex li + li {
	margin-top: 8px;
}

.form-wrap {
	padding: 40px;
	background: var(--base-color);
}

/*
----------------------------------------

form

----------------------------------------
*/

/* input
---------------------------------------- */

.efo-form input[type="text"],
.efo-form input[type="search"],
.efo-form input[type="tel"],
.efo-form input[type="number"],
.efo-form input[type="url"],
.efo-form input[type="email"],
.efo-form input[type="password"],
.efo-form input[type="date"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	border: solid 1px var(--gray-color);
	border-radius: 0;
	padding: 17px 20px;
	font-size: 16px;
	line-height: 1.5;
}

.efo-form input.s {
	width: 240px;
	max-width: 100%;
}

.efo-form input[type="date"] {
	width: 240px;
	max-width: 100%;
	padding: 16px 12px 16px 20px;
	text-align: left !important;
}

.efo-form textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	line-height: 1.8;
	width: 100% !important;
	height: 200px !important;
	border: solid 1px var(--gray-color) !important;
	padding: 19px 20px !important;
	margin: 0 !important;
}

/* select
---------------------------------------- */

.efo-form select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 16px;
	max-width: 100% !important;
	border: solid 1px var(--gray-color) !important;
	padding: 19px 50px 19px 20px !important;
}

.efo-form select.s {
	width: 240px;
	max-width: 100%;
}

.efo-form .input:has(> select) {
	display: inline-block;
	position: relative;
}

.efo-form .input:has(> select)::after {
	font-family: "Material Icons";
	content: "\e5cf";
	display: block;
	text-align: center;
	line-height: 20px;
	color: var(--main-color);
	position: absolute;
	right: 15px;
	top: calc(50% - 10px);
	transition: all 0.2s;
}

/* datepicker
---------------------------------------- */

.efo-form #datepicker {
	width: 240px;
	max-width: 100%;
	padding: 17px 50px 17px 20px;
}

.efo-form .input:has(> #datepicker) {
	display: inline-block;
	position: relative;
}

.efo-form .input:has(> #datepicker)::after {
	font-family: "Material Icons";
	content: "\e935";
	display: block;
	font-size: 15px;
	text-align: center;
	line-height: 20px;
	color: var(--main-color);
	position: absolute;
	right: 15px;
	top: calc(50% - 10px);
	transition: all 0.2s;
}

/* input[type=date]
---------------------------------------- */

.radio,
.checkbox {
	padding: 13.5px 0;
}

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

.radio label,
.checkbox label {
	display: inline-block;
	padding: 2px 0 2px 30px;
	margin: 0 40px 0 0 !important;
	line-height: 1.6;
	cursor: pointer;
	position: relative;
}

.radio label::before,
.checkbox label::before {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	border: solid 2px var(--gray-color);
	background: var(--base-color);
	position: absolute;
	top: 5px;
	left: 0;
}

.radio label::before {
	border-radius: 50%;
}

.checkbox label::before {
	border-radius: 5px;
}

.radio label::after {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--main-color);
	position: absolute;
	top: 10px;
	left: 5px;
	opacity: 0;
	transition: all 0.2s;
}

.radio input[type="radio"]:checked + label::after,
.radio input[type="radio"]:checked + input[type="hidden"] + label::after {
	opacity: 1;
}

.checkbox label::after {
	content: "";
	width: 6px;
	height: 12px;
	border-right: solid 3px var(--main-color);
	border-bottom: solid 3px var(--main-color);
	position: absolute;
	top: 4px;
	left: 7px;
	opacity: 0;
	transform: rotate(45deg);
	transition: all 0.2s;
}

.checkbox input[type="checkbox"]:checked + label::after,
.checkbox input[type="checkbox"]:checked + input[type="hidden"] + label::after,
.checkbox label:has(input[type="checkbox"]:checked)::after {
	opacity: 1;
}

.efo-form input[type="file"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 16px;
	width: initial;
	border: none;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	padding: 15px 0;
}

.efo-form .file-btn-wrap {
	position: relative;
	padding: 10px 0;
}

.file-wrap {
	display: inline-block;
	padding-right: 40px;
	position: relative;
}

.file-wrap .file-reset {
	display: none;
	line-height: 0.4;
	padding: 8px;
	position: absolute;
	right: 0;
	top: calc(50% - 20px);
	cursor: pointer;
}

.efo-form label[for="file-btn"] {
	display: inline-block;
	padding: 9px 20px 11px;
	margin-right: 10px;
	background: var(--gray-light-color);
	border: solid 1px var(--gray-color);
	cursor: pointer;
	transition: 0.3s;
}

.efo-form label[for="file-btn"].none {
	display: none;
}

.efo-form .file-btn-wrap .mwform-file-delete {
	display: none;
}

.efo-form input[type="file"].file-btn {
	opacity: 0;
	visibility: hidden;
	z-index: -1;
	padding: 0;
	margin: 0;
	position: absolute;
	top: 0;
}

.efo-form .file-mes {
	display: inline-block;
	position: relative;
	font-size: 16px;
	margin-right: 5px;
}

.efo-form .file-del {
	display: inline-block;
	width: 40px;
	height: 40px;
	text-align: center;
	line-height: 40px;
	opacity: 0;
	visibility: hidden;
	transition: all 0.2s;
	cursor: pointer;
}

.efo-form .file-del.active {
	opacity: 1;
	visibility: visible;
}

.efo-form .submit-btn {
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 20px;
	margin: 40px 0 20px;
}

.efo-form .submit-btn > p {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.efo-form input[type="submit"],
.efo-form button[type="submit"],
button#mfp_button_send {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: inline-block;
	width: 300px;
	max-width: 100%;
	text-shadow: none;
	padding: 14.5px 10px;
	border-radius: 30px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
	transition: all 0.2s;
	font-size: 18px;
	background: var(--main-color);
	color: var(--base-color);
	border: solid 2px var(--main-color);
}

input[type="submit"].disabled,
button[type="submit"].disabled {
	color: var(--base-color) !important;
	background: var(--dark-gray-color) !important;
	border: solid 2px var(--dark-gray-color) !important;
}

.efo-form input[type="reset"],
.efo-form button[type="reset"],
button#mfp_button_cancel,
button,
.mw_wp_form_confirm .submit-box button[type="reset"],
.mw_wp_form_confirm .submit-box button[name="submitBack"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: inline-block;
	font-size: 16px;
	text-shadow: none !important;
	white-space: nowrap;
	background: transparent;
	padding: 10px;
	border: none;
	border-bottom: solid 2px var(--txt-color);
	border-radius: 0;
	box-shadow: none !important;
	transition: all 0.2s;
}

::-webkit-input-placeholder {
	/* WebKit, Blink, Edge */
	font-size: 16px;
	line-height: 1.5;
	color: #999;
}

:-ms-input-placeholder {
	/* Internet Explorer 10-11 */
	font-size: 16px;
	line-height: 1.5;
	color: #999;
}

::placeholder {
	/* Others */
	font-size: 16px;
	line-height: 1.5;
	color: #999;
}

/*
----------------------------------------

efo-form

----------------------------------------
*/

/* form-step
---------------------------------------- */

.form-step {
	margin-bottom: 30px;
	gap: 40px;
	color: var(--main-color);
}

.form-step .step {
	position: relative;
	text-align: center;
	padding: 15px;
	line-height: 1.5;
	border: solid 1px var(--main-color);
}

.form-step .step .en {
	margin-right: 10px;
}

/* form-step-01
---------------------------------------- */

.form-step-01 .step {
	flex: 1;
}

.form-step-01 .step + .step::before {
	font-family: "Material Icons";
	content: "\e5cc";
	line-height: 20px;
	position: absolute;
	top: calc(50% - 10px);
	left: calc(40px / 2 * -1 - 8px);
	transition: all 0.2s;
}

.form-step-01 .step:first-child {
	background: var(--main-color);
}

.form-step-01 .step:first-child * {
	color: var(--base-color);
}

form[data-screen="confirm"] .form-step-01 .step:first-child {
	background: transparent;
}

form[data-screen="confirm"] .form-step-01 .step:first-child * {
	color: var(--main-color);
}

form[data-screen="confirm"] .form-step-01 .step:nth-child(2) {
	background: var(--main-color);
}

form[data-screen="confirm"] .form-step-01 .step:nth-child(2) * {
	color: var(--base-color);
}

form[data-screen="confirm"] .smf-item::after {
	display: none;
}

.step.is-active {
	background: var(--main-color);
}

.step.is-active * {
	color: var(--base-color);
}

/* form-step-02
---------------------------------------- */

.form-step-02 {
	width: 70%;
	margin: 0 auto 30px;
	position: relative;
}

.form-step-02::before {
	content: "";
	position: absolute;
	top: 15px;
	right: 30px;
	left: 30px;
	border-bottom: dotted 2px var(--gray-color);
}

.form-step-02 .step {
	padding-top: 40px;
	line-height: 1.5;
}

.form-step-02 .step:first-child {
	border-color: var(--main-color);
}

.form-step-02 .step::before {
	content: "";
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: solid 8px var(--gray-color);
	box-sizing: border-box;
	position: absolute;
	top: 0;
	left: calc(50% - 16px);
	background: var(--base-color);
}

.form-step-02 .step:first-child::before {
	border-color: var(--main-color);
}

form[data-screen="confirm"] .form-step-02 .step:first-child::before {
	border-color: var(--gray-color);
}

form[data-screen="confirm"] .form-step-02 .step:nth-child(2)::before {
	border-color: var(--main-color);
}

/* remaining */

.remaining {
	position: fixed;
	right: 12px;
	bottom: 85px;
	display: inline-block;
	background: var(--base-color);
	border: solid 1px var(--main-color);
	text-align: center;
	opacity: 0;
	visibility: hidden;
	z-index: -1;
	transition: all 0.2s;
}

.remaining.active {
	opacity: 1;
	visibility: visible;
	z-index: 9999;
}

.remaining .read {
	padding: 15px 20px;
	line-height: 1.8;
}

.remaining .num {
	background: var(--main-color);
	color: var(--base-color);
	margin: 0;
	padding: 5px 20px;
}

.form-box div#mfp_warning {
	text-align: center;
	line-height: 1.8;
	color: var(--main-color);
	background: transparent;
	border-radius: 0;
	border: solid 1px var(--main-color);
	padding: 15px;
	margin-bottom: 30px;
}

.form-box div#mfp_warning a {
	color: var(--main-color);
	text-decoration: underline;
}

.efo-form .form-wrap .input-name {
	width: 240px;
	padding: 34px 80px 34px 0;
	border: none;
	text-align: left;
	position: relative;
}

.req-label {
	display: inline-block;
	background: var(--main-color);
	color: var(--base-color);
	font-size: 14px;
	width: 50px;
	text-align: center;
	position: absolute;
	top: 36px;
	right: 20px;
}

.efo-form .form-wrap .input-cont {
	width: calc(100% - 240px);
	padding: 20px 40px 20px 0;
	border: none;
	line-height: 1;
	position: relative;
}

.efo-form .form-wrap .input-name::after,
.efo-form .form-wrap .input-cont::after {
	font-family: "Material Icons";
	content: "\e876";
	font-size: 24px;
	color: var(--main-color);
	line-height: 20px;
	position: absolute;
	top: 40px;
	right: 0;
	opacity: 0;
	visibility: hidden;
	z-index: -1;
	transition: all 0.2x;
}

.efo-form .form-wrap .input-cont.ok::after {
	opacity: 1;
	visibility: visible;
	z-index: 1;
}

.efo-form .form-wrap .input-list .input + .input,
.efo-form .form-wrap .input-list .mfp_err + .input {
	margin-top: 20px;
}

.efo-form .form-wrap .date-wrap {
	flex-wrap: nowrap;
	align-items: center;
}

.efo-form .form-wrap .date-wrap select {
	width: 140px;
}

.efo-form .form-wrap .date-wrap .txt {
	margin: 0 20px 0 15px;
	vertical-align: middle;
}

/* pp-box
---------------------------------------- */

.pp-box {
	max-height: 300px;
	background: var(--base-color);
	overflow: auto;
	padding: 40px;
	margin: 40px 0;
	-webkit-overflow-scrolling: touch;
}

.pp-box h2 {
	font-size: 20px;
	font-weight: normal;
	text-align: center;
	margin: 0 0 30px;
}

.pp-box h3 {
	font-size: 16px;
	font-weight: normal;
	line-height: 1.8;
	margin: 30px 0 0;
	padding-bottom: 10px;
	border-bottom: solid 1px var(--gray-color);
}

.pp-box p {
	margin: 20px 0 0;
}

.pp-box .address-box p {
	margin-top: 30px;
	padding-left: 20px;
	border-left: solid 4px var(--gray-color);
}

.submit-box {
	text-align: center;
}

.submit-box .agree {
	text-align: center;
	padding: 0;
}

.submit-box .agree .req-label {
	transform: translateY(-2px);
	position: relative;
	top: 2px;
}

.submit-box .agree div.mfp_err {
	text-align: center;
}

.agree label {
	font-size: 16px;
	margin-right: 0 !important;
	padding: 2px 0 2px 30px;
}

.agree label .req-label {
	margin-right: 0.5px;
}

form#mailformpro {
	padding: 0;
}

.mfp_element_all {
	max-width: 100%;
}

.mfp_element_text,
.mfp_element_number,
.mfp_element_select-one,
.mfp_element_email,
.mfp_element_tel,
.mfp_element_textarea,
.mfp_element_date,
.mfp_element_password {
	box-shadow: none;
	border: solid 1px var(--gray-color);
	border-radius: 0;
	background: transparent;
	margin: 0;
}

.efo-form label.mfp_not_checked,
.efo-form label.mfp_checked {
	background: transparent;
	display: inline-block;
	text-align: center;
	margin: 0 10px 0 0;
	padding: 0;
	box-shadow: none;
	border: none;
	border-radius: 0;
	transition: all 0.2s;
}

.efo-form label.mfp_not_checked .mfp_err,
.efo-form label.mfp_checked .mfp_err {
	text-align: center;
}

.name.flex > span {
	padding: 0;
	margin-right: 15px;
}

.problem {
	border: solid 1px var(--main-color) !important;
}

div.mfp_err {
	background: transparent;
	padding: 0;
	margin: 10px 0 0;
	font-size: 14px;
	color: var(--main-color);
}

div#mfp_phase_confirm:has(#mfp_confirm_table) #mfp_phase_confirm_inner {
	padding: 40px;
	background: var(--base-color);
}

div#mfp_phase_confirm h4 {
	font-size: 20px;
	font-weight: normal;
	padding: 0;
	margin: 0 0 30px;
}

table#mfp_confirm_table {
	margin: 0 0 40px;
}

table#mfp_confirm_table tr:nth-child(even) {
	background: var(--gray-light-color);
}

table#mfp_confirm_table tr th,
table#mfp_confirm_table tr td {
	font-size: 16px;
	line-height: 1.8;
	font-weight: normal;
	padding: 20px;
	border: none;
}

div.mfp_buttons {
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}

button#mfp_button_cancel {
	margin-top: -15px;
}

/*
----------------------------------------

thanks

----------------------------------------
*/

.thanks-box {
	padding: 0 0 8px;
}

.thanks-box * {
	box-sizing: border-box;
}

.thanks-box .form-wrap {
	text-align: center;
}

.thanks-box .ttl {
	font-size: 20px;
	color: var(--main-color);
}

.thanks-box h2 {
	font-size: 32px;
	font-weight: normal;
	line-height: 1.5;
	letter-spacing: 2px;
	margin: 0 0 30px;
}

.thanks-box .tel-block {
	margin: 30px 0 40px;
}

.thanks-box .tel-block a {
	display: inline-block;
	padding: 20px 40px;
	border: solid 1px var(--gray-color);
	line-height: 1.4;
}

.thanks-box .tel-block .num {
	color: var(--main-color);
	font-size: 32px;
	position: relative;
}

.thanks-box .tel-block .num::before {
	display: inline-block;
	font-variation-settings: "FILL" 1, "wght" 300;
	font-family: "Material Symbols Outlined";
	font-weight: 300;
	line-height: 1.2;
	content: "\e61d";
	margin-right: 4px;
	transform: translateY(12%);
	transition: all 0.2s;
}

.is-style-tel-icon {
	color: var(--wp--preset--color--primary) !important;
	font-family: var(--wp--preset--font-family--roboto);
	transition: all 0.2s;
}

.thanks-box .tel-block .note {
	color: var(--txt-color);
	font-size: 14px;
}

.thanks-box .back-btn a {
	display: inline-block;
	width: 240px;
	max-width: 100%;
	padding: 10px 30px;
	border: solid 1px var(--main-color);
	background: var(--main-color);
	color: var(--base-color);
	position: relative;
	transition: all 0.2s;
}

.thanks-box .back-btn a::after {
	font-family: "Material Icons";
	content: "\e5cb";
	line-height: 20px;
	position: absolute;
	top: calc(50% - 10px);
	left: 10px;
	transition: all 0.2s;
}

/*
----------------------------------------

1000

----------------------------------------
*/

@media screen and (max-width: 1000px) {
	.form-note {
		flex-direction: column;
		gap: 20px;
	}

	.form-note .flex dt {
		width: 100%;
		padding: 15px;
	}

	.form-note .flex dd {
		width: 100%;
	}

	.efo-form input[type="text"],
	.efo-form input[type="search"],
	.efo-form input[type="tel"],
	.efo-form input[type="number"],
	.efo-form input[type="url"],
	.efo-form input[type="email"],
	.efo-form input[type="password"] {
		font-size: 16px;
		line-height: 1.5;
		padding: 17px 15px;
	}

	.efo-form select {
		font-size: 16px;
		line-height: 1.5;
		padding: 17px 45px 17px 15px !important;
	}

	.efo-form input[type="date"] {
		font-size: 16px;
		padding: 16px 15px;
	}

	.efo-form input[type="file"] {
		font-size: 14px;
	}

	.efo-form textarea {
		font-size: 16px;
		padding: 17px 15px !important;
	}

	.radio label,
	.checkbox label {
		font-size: 16px;
	}

	.form-wrap {
		padding: 30px 30px 45px;
	}

	.form-wrap {
		font-size: 16px;
	}

	.efo-form .form-wrap .input-cont::before {
		left: -200px;
	}

	.efo-form .form-wrap .date-wrap select {
		width: 85px;
		padding: 17px 35px 17px 20px !important;
	}

	.efo-form .form-wrap .date-wrap .year select {
		width: 100px;
	}

	.pp-box {
		padding: 30px;
	}

	table#mfp_confirm_table {
		margin: 30px 0 40px;
	}

	table#mfp_confirm_table tr th,
	table#mfp_confirm_table tr td {
		font-size: 15px;
	}

	table#mfp_confirm_table tr th {
		width: 200px;
	}
}

/*
----------------------------------------

768

----------------------------------------
*/

@media screen and (max-width: 768px) {
	.pc {
		display: none;
	}

	.sp {
		display: inline;
	}

	.form-box {
		padding: 30px 0;
	}

	.wrap {
		padding: 0 15px;
	}

	.form-note {
		margin: 0 0 30px;
	}

	.form-note .flex {
		gap: 15px;
	}

	.form-note .flex dt {
		padding: 5px;
	}

	.form-note .flex ul {
		font-size: 14px;
	}

	.form-note .flex li {
		padding-left: 14px;
		text-indent: -14px;
	}

	.form-wrap {
		padding: 20px 15px;
	}

	.form-step {
		gap: 20px;
		margin-bottom: 10px;
	}

	.form-step .step {
		padding: 10px 5px;
		line-height: 1.5;
	}

	.form-step-01 .step + .step::before {
		left: calc(20px / 2 * -1 - 8px);
	}

	.form-step .step .en {
		display: block;
		margin: 0;
		font-size: 14px;
	}

	.efo-form > dl {
		flex-direction: column;
	}

	.efo-form .form-wrap .input-name {
		width: 100%;
		padding: 10px 0;
	}

	.efo-form input.s,
	.efo-form select.s {
		width: 100%;
	}

	.efo-form .input:has(> select) {
		width: 100%;
	}

	.efo-form .form-wrap .input-name::after {
		font-size: 20px;
		color: var(--main-color);
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(calc(-50% + 2.5px));
		opacity: 0;
		visibility: hidden;
		transition: all 0.2s;
	}

	.efo-form .form-wrap .input-name.ok::after {
		opacity: 1;
		visibility: visible;
	}

	.req-label {
		width: 50px;
		position: relative;
		top: 0;
		right: 0;
		margin-left: 10px;
		font-size: 13px;
	}

	.efo-form .form-wrap .input-cont {
		width: 100%;
		padding: 0 0 10px;
	}

	.efo-form .form-wrap .input-cont::before {
		display: none;
	}

	.efo-form .form-wrap .input-list .input + .input,
	.efo-form .form-wrap .input-list .mfp_err + .input {
		margin-top: 15px;
	}

	.efo-form input.s,
	select.s {
		width: 100%;
	}

	.efo-form select {
		width: 100%;
	}

	.efo-form input[type="date"]::-webkit-calendar-picker-indicator {
		display: none;
	}

	.efo-form input[type="text"].hasDatepicker,
	.efo-form input[type="text"].month-year-input {
		width: 100%;
	}

	.efo-form input[type="file"] {
		padding: 4px 0 10px;
	}

	.radio,
	.checkbox {
		padding: 5px 0 10px;
	}

	.radio label,
	.checkbox label {
		margin: 0 20px 0 0 !important;
	}

	.efo-form input[type="date"] {
		width: 100%;
	}

	.efo-form .input:has(> #datepicker) {
		display: block;
	}

	.efo-form #datepicker {
		width: 100%;
	}

	.file-wrap {
		padding: 0;
	}

	.file-wrap .file-reset {
		display: none !important;
	}

	.efo-form .form-wrap .input-cont::after {
		display: none;
	}

	.efo-form .form-wrap .input-name.ok::after {
		opacity: 1;
		visibility: visible;
		z-index: 1;
	}

	.efo-form .form-wrap .date-wrap select {
		width: 15vw;
		padding: 17px 12px !important;
		background: none !important;
	}

	.efo-form .form-wrap .date-wrap .year select {
		width: 20vw;
	}

	.efo-form .form-wrap .date-wrap .txt {
		margin: 0 10px;
	}

	.pp-box {
		padding: 20px;
		margin: 20px 0;
		font-size: 14px;
	}

	.pp-box h2 {
		font-size: 16px;
		margin: 0 0 20px;
	}

	.pp-box h3 {
		font-size: 16px;
		margin-top: 20px;
	}

	.pp-box p {
		margin-top: 15px;
	}

	.pp-box .address-box p {
		margin-top: 20px;
	}

	.submit-box {
		text-align: center;
	}

	#mfp_loading,
	#mfp_loading_screen,
	#div#mfp_overlay_background {
		display: none !important;
	}

	.agree label {
		display: block;
		text-align: center;
		margin: 0 !important;
	}

	.submit-box .agree {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 10px;
	}

	.submit-box .agree .req-label {
		margin: 0;
		transform: translateY(1px);
	}

	.efo-form .submit-btn {
		margin: 30px 0 10px;
	}

	.efo-form .submit-btn {
		gap: 15px;
	}

	div#mfp_phase_confirm:has(#mfp_confirm_table) #mfp_phase_confirm_inner {
		padding: 15px;
	}

	div#mfp_phase_confirm h4 {
		font-size: 16px;
		margin: 5px 0 10px;
	}

	table#mfp_confirm_table {
		margin: 20px 0;
		border: none;
	}

	table#mfp_confirm_table tr {
		-js-display: flex;
		display: -ms-flex;
		display: -webkit-flex;
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		background: transparent !important;
	}

	table#mfp_confirm_table tr th {
		width: 100%;
		padding: 10px 15px;
		border: none;
		background: var(--gray-light-color);
	}

	table#mfp_confirm_table tr td {
		width: 100%;
		padding: 16.5px 20px;
	}

	div.mfp_buttons {
		margin-bottom: 25px;
	}

	.remaining {
		right: 0;
		bottom: 0;
		left: 0;
		display: block;
	}

	.remaining .num {
		line-height: 1.5;
		padding: 10px 20px 11.5px;
	}

	.remaining .read {
		display: none;
	}

	footer {
		padding-bottom: 60px;
		font-size: 12px;
	}

	.thanks-box .ttl {
		font-size: 16px;
	}

	.thanks-box h2 {
		font-size: 20px;
		margin: 0 0 15px;
	}

	.thanks-box .read {
		text-align: left;
		margin: 0;
	}

	.thanks-box .tel-block {
		margin: 20px 0 30px;
	}

	.thanks-box .tel-block a {
		display: block;
		width: 100%;
		padding: 15px 20px 20px;
	}

	.thanks-box .tel-block .num {
		font-size: 28px;
	}
}

/*
----------------------------------------

hover

----------------------------------------
*/

@media screen and (min-width: 769px) {
	.agree label a:hover {
		color: var(--main-color);
	}

	.efo-form input[type="submit"]:hover,
	.efo-form button[type="submit"]:hover,
	button#mfp_button_send:hover {
		color: var(--main-color);
		background: var(--base-color);
	}

	.efo-form input[type="reset"]:hover,
	.efo-form button[type="reset"]:hover,
	button#mfp_button_cancel:hover,
	.mw_wp_form_confirm .submit-box button[type="reset"]:hover,
	.mw_wp_form_confirm .submit-box button[name="submitBack"]:hover {
		background: transparent;
	}

	.thanks-box .back-btn a:hover {
		background: var(--base-color);
		color: var(--main-color);
	}

	.thanks-box .back-btn a:hover::after {
		left: 6px;
		color: var(--main-color);
	}
}
