@charset "utf-8";

.width-base.contact-area {
	padding-bottom: var(--space-l);
}

.contact-area .snow-monkey-form {
	padding: var(--space-m) 20px;
	border: 2px solid #CCCCCC;
	border-radius: 10px;
}

.contact-area .smf-form--simple-table {
	width: min(100%,800px);
	margin: 0 auto;
}

.contact-area .smf-form--simple-table .smf-item {
	flex-flow: column nowrap;
	margin-bottom: var(--space-s);
	padding: 0;
}

.contact-area .smf-item .smf-item__col--label	{
	flex: 0 0 100%;
	max-width: fit-content;
	padding-right: 0;
}

.contact-area .smf-item .smf-item__label {
	display: flex;
	align-items: center;
	margin-bottom: 1.0rem;
	font-weight: 600;
}

.contact-area .smf-item.is-required .smf-item__label::after {
	content: "必須";
	display: inline-block;
	margin-left: 1em;
	padding: 0.2rem 1.0rem 0.4rem;
	border: 2px solid #E53D00;
	background-color: #FFFFFF;
	border-radius: 4px;
	line-height: 1;
	font-size: 1.4rem;
	color: #E53D00;
}

.contact-area .smf-form--simple-table .smf-item__col--controls {
	flex: 1 1 100%;
	max-width: 100%;
}

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

.contact-area .smf-form input[type="text"].smf-text-control__control,
.contact-area .smf-form input[type="email"].smf-text-control__control,
.contact-area .smf-form input[type="tel"].smf-text-control__control,
.contact-area .smf-form textarea.smf-textarea-control__control {
	width: 100%;
	background-color: #F5F5F5;
	border: 2px solid #CCCCCC;
	border-radius: 4px;
}

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

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

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

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

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

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

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

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

.contact-area .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-area .smf-radio-buttons-control__control {
	display: flex;
	flex-flow: column nowrap;
	gap: 1.0rem;
}

.contact-area .smf-radio-button-control > input {
	display: none;
}

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

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

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

.contact-area .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-bottom: var(--space-s);
	font-weight: 700;
	font-size: var(--ft-size22);
}

.policy-box h3 + p {
	width: fit-content;
	margin: 0 auto var(--space-m);
}

.policy-box p {
	margin: 0 0 var(--space-m);
	padding: 0 2.0em;
}

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

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

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

.policy-box + p {
	margin: 0 0 var(--space-m);
	text-align: center;
	font-weight: 600;
	font-size: var(--ft-size18);
	color: #000000;
}

.policy-box + p a {
	text-decoration: underline;
}

.contact-area .smf-item.agree-box a {
	text-decoration: underline;
}

.contact-area .smf-item.agree-box .smf-item__col.smf-item__col--label {
	display: none;
}

.contact-area .smf-item.agree-box .smf-item__col.smf-item__col--label {
	display: none;
}

.contact-area .smf-item.agree-box .smf-checkboxes-control__control {
	justify-content: center;
}

.contact-area .smf-item.agree-box .smf-error-messages {
	text-align: center;
}

.contact-area .smf-form--simple-table + .smf-action {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	margin: 0;
	gap: 1.0rem;
}

.smf-action .smf-button-control {
	width: min(100%,400px);
}

.contact-area .smf-button-control__control[type="submit"] {
	position: relative;
	width: 100%;
	padding: 1.8rem calc(3.0rem + 24px) 1.8rem 3.0rem;
	border: 0;
	border-radius: 99em;
	background-color: #222222;
	background-image: none;
	font-weight: 700;
	font-size: var(--ft-size20);
	color: #FFFFFF;
}

.contact-area .smf-button-control__control[type="submit"]::after {
	content: "";
	display: block;
	position: absolute;
	right: 3.0rem;
	top: 50%;
	width: 24px;
	height: 15px;
	background: url("../images/icon_arrow_wht.svg") 50% 50% no-repeat;
	background-size: contain;
	transform: translateY(-50%);
}

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

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

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

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

.contact-area .snow-monkey-form[data-screen="confirm"] .smf-item.is-required .smf-item__label::after {
	content: none;
}

.contact-area .snow-monkey-form[data-screen="confirm"] .policy-box,
.contact-area .snow-monkey-form[data-screen="confirm"] .policy-msg {
	display: none;
}

.contact-area .snow-monkey-form[data-screen="confirm"] .smf-action .smf-button-control {
	width: min(100%,300px);	
}

.contact-area .snow-monkey-form[data-screen="confirm"] .smf-button-control__control[type="submit"][data-action="back"] {
	padding: 1.8rem 3.0rem 1.8rem calc(3.0rem + 24px);
	background-color: #666666;
}

.contact-area .snow-monkey-form[data-screen="confirm"] .smf-button-control__control[type="submit"][data-action="back"]::after {
	content: none;
}
.contact-area .snow-monkey-form[data-screen="confirm"] .smf-button-control__control[type="submit"][data-action="back"]::before {
	content: "";
	display: block;
	position: absolute;
	left: 3.0rem;
	top: 50%;
	width: 24px;
	height: 15px;
	background: url("../images/icon_arrow_wht.svg") 50% 50% no-repeat;
	background-size: contain;
	transform: translateY(-50%) scale(-1,1);
}

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

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

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

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

}

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

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

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

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

.contact-area .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;
}

}