/* Expo CF7 frontend 1.7.0 */
.epsseijin-panel,
.epswedding-panel,
.epsbusiness-panel,
.epsmaternity-panel,
.epspet-panel,
.epsfamily-panel,
.eps753-panel,
.epsom-panel {
	margin: 12px 0 30px;
	padding: 28px 24px 30px;
	color: #20272d;
	background: #fff;
	border: 1px solid #d4d9dc;
	border-radius: 12px;
	border-top-left-radius: 12px;
	border-top-right-radius: 12px;
	border-bottom-right-radius: 12px;
	border-bottom-left-radius: 12px;
	border-start-start-radius: 12px;
	border-start-end-radius: 12px;
	border-end-start-radius: 12px;
	border-end-end-radius: 12px;
}

.epsseijin-panel[hidden],
.epswedding-panel[hidden],
.epsbusiness-panel[hidden],
.epsmaternity-panel[hidden],
.epspet-panel[hidden],
.epspet-dog-only[hidden],
.epsfamily-panel[hidden],
.eps753-panel[hidden],
.epsom-panel[hidden] {
	display: none !important;
}

.eps753-heading {
	margin: 0 0 6px;
	color: #202326;
	font-size: 1em;
	font-weight: 700;
	letter-spacing: 0.01em;
}

.eps753-description {
	margin: 0 0 6px;
	color: #70777b;
	font-size: 0.84em;
	line-height: 1.65;
}

.eps753-description a {
	color: #345b6b;
	font: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.eps753-description a:hover {
	color: #20272d;
}

.eps753-description a:focus-visible {
	outline: 2px solid #345b6b;
	outline-offset: 3px;
}

.eps753-field {
	display: block;
	margin: 0;
}

.eps753-field + .eps753-field,
.eps753-field + .eps753-subheading {
	margin-top: 20px;
}

.eps753-field-label,
.eps753-question-title {
	display: block;
	margin: 0 0 6px;
	font-weight: 600;
}

.epsseijin-panel p:empty,
.epsseijin-panel > br,
.epswedding-panel p:empty,
.epswedding-panel > br,
.epsbusiness-panel p:empty,
.epsbusiness-panel > br,
.epsmaternity-panel p:empty,
.epsmaternity-panel > br,
.epspet-panel p:empty,
.epspet-panel > br,
.epsfamily-panel p:empty,
.epsfamily-panel > br,
.eps753-panel p:empty,
.eps753-panel > br,
.epsom-panel p:empty,
.epsom-panel > br {
	display: none;
}

.epsseijin-panel .wpcf7-form-control-wrap,
.epspet-panel .wpcf7-form-control-wrap,
.epsfamily-panel .wpcf7-form-control-wrap,
.eps753-panel .wpcf7-form-control-wrap,
.epsom-panel .wpcf7-form-control-wrap {
	display: block;
}

.epsseijin-panel select,
.epsseijin-panel input[type="text"],
.epspet-panel select,
.epspet-panel input[type="text"],
.epsfamily-panel select,
.epsfamily-panel input[type="text"],
.eps753-panel select,
.eps753-panel input[type="text"],
.epsom-panel select,
.epsom-panel input[type="text"] {
	width: 100%;
	min-height: 46px;
	margin: 0;
	padding: 9px 2px;
	color: #20272d;
	background: #fff;
	border: 0;
	border-bottom: 1px solid #8f999e;
	border-radius: 0;
	box-shadow: none;
	font: inherit;
}

.eps753-question {
	display: grid;
	grid-template-columns: minmax(180px, 0.8fr) minmax(260px, 2fr);
	gap: 20px;
	align-items: center;
	margin: 0;
	padding: 13px 0;
	border-top: 1px solid #e3e6e7;
}

.eps753-subheading {
	margin: 30px 0 0 !important;
	padding: 0 0 10px !important;
	color: #20272d;
	font-size: 0.96em;
	font-weight: 700;
	letter-spacing: 0.02em;
	border-bottom: 1px solid #cfd5d8;
}

.eps753-subheading.is-child,
.eps753-subheading.is-adult {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
}

.eps753-subheading.is-child::before,
.eps753-subheading.is-adult::before {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	color: #345b6b;
	background: #edf3f5;
	border-radius: 50%;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.eps753-subheading.is-child::before {
	content: "01";
}

.eps753-subheading.is-adult::before {
	content: "02";
}

.eps753-subheading + .eps753-question {
	border-top: 0;
}

.eps753-question-title {
	margin: 0;
}

.eps753-options .wpcf7-form-control {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 24px;
}

.eps753-options .wpcf7-list-item {
	margin: 0;
}

.eps753-options .wpcf7-list-item label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 36px;
	font-weight: 400;
	cursor: pointer;
}

.eps753-options input[type="radio"],
.eps753-options input[type="checkbox"] {
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: #455c66;
}

.eps753-options input[type="checkbox"] {
	appearance: none;
	border: 1px solid #7c878c;
	border-radius: 50%;
	border-top-left-radius: 50%;
	border-top-right-radius: 50%;
	border-bottom-right-radius: 50%;
	border-bottom-left-radius: 50%;
	background: #fff;
	box-shadow: none;
}

.eps753-options input[type="checkbox"]:checked {
	border-color: #455c66;
	background: #455c66;
	box-shadow: inset 0 0 0 4px #fff;
}

.epsseijin-panel select:focus,
.epsseijin-panel input[type="text"]:focus,
.epspet-panel select:focus,
.epspet-panel input[type="text"]:focus,
.epsfamily-panel select:focus,
.epsfamily-panel input[type="text"]:focus,
.eps753-panel select:focus,
.eps753-panel input[type="text"]:focus,
.epsom-panel select:focus,
.epsom-panel input[type="text"]:focus {
	border-bottom-color: #20272d;
	outline: 0;
}

@media (max-width: 640px) {
	.epsseijin-panel,
	.epswedding-panel,
	.epsbusiness-panel,
	.epsmaternity-panel,
	.epspet-panel,
	.epsfamily-panel,
	.eps753-panel,
	.epsom-panel {
		padding: 22px 16px 24px;
	}

	.eps753-question {
		grid-template-columns: 1fr;
		gap: 4px;
		padding: 14px 0;
	}

	.eps753-options .wpcf7-form-control {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 4px;
	}
}

/* WordPressテーマや旧版CSSより優先する実ページ用の指定 */
body .wpcf7 .epsseijin-panel,
body .wpcf7 .epswedding-panel,
body .wpcf7 .epsbusiness-panel,
body .wpcf7 .epsmaternity-panel,
body .wpcf7 .epspet-panel,
body .wpcf7 .epsfamily-panel,
body .wpcf7 .eps753-panel,
body .wpcf7 .epsom-panel {
	margin: 12px 0 30px !important;
	padding: 28px 24px 30px !important;
	background: #fff !important;
	border: 1px solid #d4d9dc !important;
	border-radius: 12px !important;
	border-top-left-radius: 12px !important;
	border-top-right-radius: 12px !important;
	border-bottom-right-radius: 12px !important;
	border-bottom-left-radius: 12px !important;
	border-start-start-radius: 12px !important;
	border-start-end-radius: 12px !important;
	border-end-start-radius: 12px !important;
	border-end-end-radius: 12px !important;
	box-shadow: none !important;
}

body .wpcf7 .epsseijin-panel .eps753-description,
body .wpcf7 .epswedding-panel .eps753-description,
body .wpcf7 .epsbusiness-panel .eps753-description,
body .wpcf7 .epsmaternity-panel .eps753-description,
body .wpcf7 .epspet-panel .eps753-description,
body .wpcf7 .epsfamily-panel .eps753-description,
body .wpcf7 .eps753-panel .eps753-description,
body .wpcf7 .epsom-panel .eps753-description {
	font-size: 0.84em !important;
	line-height: 1.65 !important;
}

body .wpcf7 .epsseijin-panel .eps753-description {
	color: #70777b !important;
	font-weight: 400 !important;
}

body .wpcf7 .epsseijin-panel .epsseijin-reference-links {
	color: inherit !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
}

body .wpcf7 .epsseijin-panel .epsseijin-reference-links a {
	color: #345b6b !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	text-decoration: underline !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 0.2em !important;
}

body .wpcf7 .epsseijin-panel .eps753-description a,
body .wpcf7 .epswedding-panel .eps753-description a,
body .wpcf7 .epsbusiness-panel .eps753-description a,
body .wpcf7 .epsmaternity-panel .eps753-description a,
body .wpcf7 .epspet-panel .eps753-description a,
body .wpcf7 .epsfamily-panel .eps753-description a,
body .wpcf7 .eps753-panel .eps753-description a,
body .wpcf7 .epsom-panel .eps753-description a {
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
}

body .wpcf7 .epsseijin-panel select,
body .wpcf7 .epsseijin-panel input[type="text"],
body .wpcf7 .epspet-panel select,
body .wpcf7 .epspet-panel input[type="text"],
body .wpcf7 .epsfamily-panel select,
body .wpcf7 .epsfamily-panel input[type="text"],
body .wpcf7 .eps753-panel select,
body .wpcf7 .eps753-panel input[type="text"],
body .wpcf7 .epsom-panel select,
body .wpcf7 .epsom-panel input[type="text"] {
	min-height: 46px !important;
	margin: 0 !important;
	padding: 9px 2px !important;
	background: #fff !important;
	border: 0 !important;
	border-bottom: 1px solid #8f999e !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

body .wpcf7 .eps753-subheading {
	margin: 30px 0 0 !important;
	padding: 0 0 10px !important;
	color: #20272d !important;
	font-size: 0.96em !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
}

body .wpcf7 .eps753-question {
	margin: 0 !important;
}

body .wpcf7 .eps753-options input[type="checkbox"] {
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
	appearance: none !important;
	border: 1px solid #7c878c !important;
	border-radius: 50% !important;
	border-top-left-radius: 50% !important;
	border-top-right-radius: 50% !important;
	border-bottom-right-radius: 50% !important;
	border-bottom-left-radius: 50% !important;
	background: #fff !important;
	box-shadow: none !important;
}

body .wpcf7 .eps753-options input[type="checkbox"]:checked {
	border-color: #455c66 !important;
	background: #455c66 !important;
	box-shadow: inset 0 0 0 4px #fff !important;
}

@media (max-width: 640px) {
	body .wpcf7 .epsseijin-panel,
	body .wpcf7 .epswedding-panel,
	body .wpcf7 .epsbusiness-panel,
	body .wpcf7 .epsmaternity-panel,
	body .wpcf7 .epspet-panel,
	body .wpcf7 .epsfamily-panel,
	body .wpcf7 .eps753-panel,
	body .wpcf7 .epsom-panel {
		padding: 22px 16px 24px !important;
	}
}
