@charset "utf-8";

h2.page-subtitle {
	margin-top: 6.2rem;
	margin-bottom: 3.8rem;
	font-weight: 500;
	font-size: var(--ft-size30);
}

h2.page-subtitle:has(+ .wp-block-group) {
	margin-bottom: 6.2rem;
}

h2.page-subtitle strong {
	display: block;
	margin: 0 0 1.2rem;
	font-weight: 800;
	font-size: var(--ft-size36);
}

h2.page-subtitle:has(> strong) {
	font-size: 2.0rem;
}

h2.page-subtitle + p {
	margin-bottom: 6.2rem;
	padding: 0 20px;
	text-align: center;
	line-height: 1.7;
}

h2.page-subtitle + p a {
	color: var(--main-color);
	text-decoration: underline;
}

/* エントリーフォーム ------------------------------------- */
.contact-box {
	padding-bottom: 8.0rem;
}

.contact-box > .wp-block-group__inner-container {
	padding-top: 4.6rem;
	padding-bottom: 5.6rem;
}

.smf-form--simple-table .smf-item {
	align-items: center;
	width: min(100%,1020px);
	margin: 0 auto;
	padding: 3.4rem 1.0rem;
	background-image : linear-gradient(to right, #939393 9px, transparent 9px);
	background-size: 13px 1px;
	background-repeat: repeat-x;
	background-position: left top;
}

.smf-item .smf-item__col--label	{
	flex: 0 0 calc(14em + 5.0rem);
	max-width: calc(14em + 5.0rem);
	padding-right: 5.0rem;
}

.smf-item .smf-item__label {
	display: flex;
	align-items: center;
}

.smf-item.is-required .smf-item__label::after {
	content: "必須";
	display: inline-block;
	margin-left: auto;
	padding: 0.2rem 1.0rem 0.4rem;
	background-color: #FF5757;
	border-radius: 5px;
	line-height: 1;
	font-size: 1.6rem;
	color: #FFFFFF;
}

.contact-box .smf-select-control__control {
	line-height: 1.45;
}

.contact-box .smf-form input[type="text"].smf-text-control__control,
.contact-box .smf-form input[type="email"].smf-text-control__control,
.contact-box .smf-form input[type="tel"].smf-text-control__control {
	width: 100%;
	max-width: 460px;
}

.contact-box .smf-form textarea.smf-textarea-control__control {
	line-height: 1.5;
}

.contact-box .smf-checkboxes-control__control {
	display: flex;
	flex-flow: row wrap;
	gap: 1em 1.5em;
}

.contact-box .smf-checkbox-control > input {
	display: none;
}

.contact-box .smf-checkbox-control > input + span.smf-checkbox-control__label {
	display: inline-flex;
	align-items: center;
}

.contact-box .smf-checkbox-control > input + span.smf-checkbox-control__label::before {
	content: "";
	width: 30px;
	height: 30px;
	margin-right: 0.5em;
	background: url("../images/form_icon_check.svg") 50% 50% no-repeat;
	background-size: contain;
}

.contact-box .smf-item.form-date-box .smf-item__controls {
	display: flex;
	flex-flow: row wrap;
	align-items: flex-end;
	gap: 0.5em;
}

.contact-box .smf-item.form-date-box .smf-placeholder[data-name="time"] {
	width: 3em;
}

.contact-box .smf-item.form-date-box .smf-item__controls > p {
	margin-bottom: 0.25em;
	flex-shrink: 0;
}

.contact-box .smf-checkbox-control > input:checked + span.smf-checkbox-control__label::before {
	background: url("../images/form_icon_check_on.svg") 50% 50% no-repeat;
	background-size: contain;
}

.contact-box .smf-item p.note {
	margin: 0.75em 0 0;
	font-size: 1.4rem;
}

.policy-box {
	width: min(100%,1020px);
	margin: 0 auto 4.0rem;
	padding: 4.0rem 2.0rem 4.8rem;
	background-color: #FFFFFF;
	border-radius: 14px;
	line-height: 1.7;
}

.policy-box h3 {
	margin: 0 0 5.8rem;
	font-weight: 700;
	font-size: var(--ft-size22);
}

.policy-box h3 + p {
	display: block;
	max-width: 38em;
	margin: 0 auto 5.6rem;
}

.policy-box p {
	margin: 0 0 5.6rem;
	padding: 0 2.0em;
}

.policy-box p strong {
	font-weight: 800;
}

.policy-box p:has(strong) {
	margin: 0 0 3.0rem;
	padding: 0;
}

.policy-box p:last-child {
	margin-bottom: 0;
}

.policy-box + p {
	margin: 0 0 5.4rem;
	text-align: center;
	line-height: 1.7;
}

.smf-button-control__control[type="submit"] {
	padding: 1.8rem 1.2rem;
	background-color: var(--main-color);
	background-image: none;
	font-size: var(--ft-size24);
	color: #FFFFFF;
}

.contact-box .snow-monkey-form[data-screen="confirm"] .smf-placeholder[data-name="message"] {
	line-height: 1.5;
}

.contact-box .smf-complete-content {
	width: min(100%,1020px);
	margin: 0 auto;
}

.contact-box .smf-complete-content p {
	line-height: 1.7;
}

.contact-box .smf-error-messages {
	font-size: 1.6rem;
}

/* ================================================ */
@media (min-width: 1001px) {
}

/* ================================================ */
@media (max-width: 1000px) {
}

/* ================================================ */
@media (max-width: 768px) {

.contact-box .smf-item.form-date-box .smf-placeholder[data-name="date"] {
	width: 100%;
}

}

/* ================================================ */
@media (max-width: 640px) {

.smf-item .smf-item__col--label	{
	flex: 0 0 100%;
	max-width: 100%;
	padding-right: 0;
	padding-bottom: 1em;
}

.smf-item.is-required .smf-item__label::after {
	margin-left: 1.5em;
}

.contact-box .smf-form input[type="text"].smf-text-control__control,
.contact-box .smf-form input[type="email"].smf-text-control__control,
.contact-box .smf-form input[type="tel"].smf-text-control__control {
	width: 100%;
	max-width: 100%;
}

.contact-box .smf-item.form-date-box .smf-placeholder[data-name="date"] {
	width: auto;
}

.policy-box h3 + p {
	margin: 0 0 4.6rem;
	text-align: left;
}

.policy-box p {
	margin: 0 0 3.6rem;
	padding: 0 1.0em;
}

}

/* ================================================ */
@media (max-width: 480px) {

.policy-box p {
	padding: 0 0.5em;
}

}