@charset "UTF-8";
@import "root.css";

/* ===============================
    お問い合わせフォーム
=============================== */
/* 必須 */
#contact span.forminator-required {
    color: var(--color-accent_red);
}

/* エラーメッセージ */
#contact .forminator-ui#forminator-module-8.forminator-design--default .forminator-error-message {
    color: var(--color-accent_red);
    background-color: transparent;
    font-size: clamp(var(--rem9),var(--vw10),var(--rem12));
    font-weight: var(--regular);
    padding: 0;
}

/* フィールド */
#contact .forminator-ui.forminator-custom-form[data-design=default] .forminator-input,
#contact .forminator-ui.forminator-custom-form[data-design=default] .forminator-textarea,
#contact .forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2+.forminator-select .selection span[role=combobox].select2-selection--single {
    background-color: var(--color-bg_gray);
    border-style: none;
}

#contact .forminator-ui.forminator-custom-form[data-design=default] .forminator-input,
#contact .forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2+.forminator-select .selection span[role=combobox].select2-selection--single {
    height: 60px;
}

#contact .forminator-ui#forminator-module-8.forminator-design--default .forminator-input:focus,
#contact .forminator-ui#forminator-module-8.forminator-design--default .forminator-phone .iti__country-container .iti__selected-country:focus,
#contact .forminator-ui#forminator-module-8.forminator-design--default .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"]:focus,
#contact .forminator-ui#forminator-module-8.forminator-design--default .forminator-textarea:focus{
    outline: none;
}

#contact .forminator-ui#forminator-module-8.forminator-design--default .forminator-label {
    font-size: clamp(var(--rem13),var(--vw14),var(--rem16));
    font-weight: var(--regular);
}

/* ラジオボタン */
#contact .forminator-ui#forminator-module-8.forminator-design--default .forminator-radio .forminator-radio-bullet {
    background-color: transparent;
}

#contact .forminator-ui#forminator-module-8.forminator-design--default .forminator-radio input:checked + .forminator-radio-bullet {
    border-color: inherit;
}

#contact .forminator-ui.forminator-custom-form[data-design=default] .forminator-radio.forminator-radio-inline {
    margin-right: 50px;
}

#contact .forminator-is_checked .forminator-radio-bullet {
    color: var(--color-base_beige);
}

#contact .forminator-ui.forminator-custom-form[data-design=default] .forminator-radio input:checked+.forminator-radio-bullet:before {
    background-color: var(--color-base_beige);
}

@media (max-width: 767px) {
    /* ラジオボタン */
    #contact .forminator-ui.forminator-custom-form[data-design=default] .forminator-radio.forminator-radio-inline {
        margin-right: 30px;
    }
}

/* テキストエリア */
#contact .form_sentence .forminator-description {
    display: none;
}

/* カレンダー・セレクトボックス */
body.forminator-hustle-dropdown-fix .forminator-select.forminator-select-dropdown-container--open,
.ui-datepicker.forminator-calendar--default,
.ui-datepicker.forminator-calendar--default * {
    background: var(--color-white) !important;
}

.forminator-select-dropdown-container--open .forminator-custom-form-8.forminator-dropdown--default,
.forminator-select-dropdown-container--open .forminator-custom-form-8.forminator-dropdown--default .select2-results .select2-results__options .select2-results__option.select2-results__option--highlighted {
    border-color: initial !important;
    background-color: var(--color-white) !important;
}

.forminator-select-dropdown-container--open .forminator-custom-form-8.forminator-dropdown--default .select2-results .select2-results__options .select2-results__option.select2-results__option--selected {
    background-color: var(--color-base_beige) !important;
}

.forminator-select-dropdown-container--open .forminator-custom-form-8.forminator-dropdown--default .select2-results .select2-results__options .select2-results__option.select2-results__option--highlighted {
    outline: none !important;
    background-color: var(--color-bg_beige) !important;
}

.ui-datepicker.forminator-calendar--default {
    border: 1px solid var(--color-black) !important;
}

.forminator-custom-form-8.forminator-calendar--default .ui-datepicker-calendar tbody td a.ui-state-default:active,
.forminator-custom-form-8.forminator-calendar--default .ui-datepicker-calendar tbody td a.ui-state-default.ui-state-active {
    background-color: var(--color-base_beige) !important;
    border-color: var(--color-base_beige) !important;
}

/* リピーターフィールド */
#contact .forminator-ui#forminator-module-8.forminator-design--default .forminator-repeater-field {
    background: none;
    box-shadow: none;
}

#contact .form_inputframe.form_address .forminator-repeater-field,
#contact .forminator-ui.forminator-custom-form[data-design=default] .forminator-repeater-field {
    padding: 0;
}

#contact .forminator-ui#forminator-module-8.forminator-design--default .forminator-repeater-field .forminator-label {
    font-size: clamp(var(--rem11),var(--vw12),var(--rem14));
}

#contact .form_address .forminator-row {
    margin-bottom: 20px;
}

#contact .form_desired .forminator-row {
    margin-bottom: 10px;
}

/* 住所 */
#contact .form_address .address-number .forminator-field {
    width: min(270px, 100%);
}

#contact .forminator-ui.forminator-custom-form:not(.forminator-size--small)[data-grid=open] .forminator-col.address-prefectures {
    flex: 0.3;
}

@media (max-width: 767px) {
    #contact .form_address .address-number .forminator-field {
        width: 100%;
    }
}

/* ボタン */
#contact .forminator-ui.forminator-custom-form[data-design=default] .forminator-button {
    display: block;
    padding: 15px 40px;
    margin: 0 auto;
    background-color: var(--color-white);
    border: 1px solid var(--color-accent_red);
    font-size: clamp(var(--rem13), var(--vw14), var(--rem16));
    border-radius: 50px;
    text-align: center;
    position: relative;
    overflow: hidden;
    color: var(--color-accent_red);
    z-index: 1;
}

#contact .forminator-ui.forminator-custom-form[data-design=default] .forminator-button:last-child {
    margin-right: auto;
}

#contact .forminator-ui.forminator-custom-form[data-design=default]:not(.forminator-size--small) .forminator-pagination-footer {
    margin: 30px auto 0 !important;
    width: 300px;
}

#contact .forminator-ui.forminator-custom-form[data-design=default] .forminator-button:last-child,
#contact .forminator-ui.forminator-custom-form[data-design=default]:not(.forminator-size--small) .forminator-pagination-footer .forminator-button {
    margin: 0 auto;
    border: 1px solid var(--color-accent_red);
    border-radius: 50px;
    padding: 15px 40px;
}

.forminator-ui.forminator-custom-form[data-design=default] .forminator-button::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--color-accent_red);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.5s ease;
    z-index: -1;
}

/* 戻るボタン */
#contact .forminator-ui.forminator-custom-form[data-design=default]:not(.forminator-size--small) .forminator-pagination-footer .forminator-button.forminator-button-back {
    border: 1px solid var(--color-black);
    color: var(--color-black);
}

#contact .forminator-ui.forminator-custom-form[data-design=default] .forminator-button.forminator-button-back::before {
    background: var(--color-black);
}

/* ホバー */
#contact .forminator-ui.forminator-custom-form[data-design=default] .forminator-button:hover,
#contact .forminator-ui.forminator-custom-form[data-design=default]:not(.forminator-size--small) .forminator-pagination-footer .forminator-button.forminator-button-back:hover {
    color: var(--color-white);
}

.forminator-ui.forminator-custom-form[data-design=default] .forminator-button:hover::before {
    transform: scaleX(1);
    transform-origin: left;
}

@media (max-width: 767px) {
    #contact .forminator-button-back {
        margin-bottom: 20px;
    }
}


/* ===============================
    確認画面
=============================== */
.confirm-page .forminator-label {
    font-size: clamp(var(--rem16), var(--vw17), var(--rem20));
    text-align: center;
    font-weight: var(--semi-bold);
}

.confirm-page .confirm-container {
    width: 80%;
    margin: 20px auto 0;
}

.confirm-page .confirm-container .confirm-row {
    display: flex;
    padding: 16px 0;
    border-bottom: 1px solid #eee;
}

.confirm-page .confirm-container .confirm-row .confirm-label {
    width: 200px;
    font-weight: bold;
}

.confirm-page .confirm-container .confirm-row .confirm-value {
    flex: 1;
}

.confirm-value-row {
    display: flex;
    margin-bottom: 10px;
}

.confirm-value-row:last-child {
    margin-bottom: 0;
}

.confirm-value-row-label {
    margin-right: 30px;
}

@media (max-width: 767px) {
    .confirm-container {
        width: 100%;
    }

    .confirm-row {
        display: block;
    }
}


/* ===============================
    サンクスページ
=============================== */
.thanks p {
    text-align: center;
}

.thanks .thanks_title {
    font-size: clamp(var(--rem17),var(--vw18),var(--rem20));
    font-weight: var(--semi-bold);
    margin-bottom: 20px;
}