/* パンくずリスト */
.breadcrumb {
    padding-inline: 0;

    & .breadcrumb_inner {
        max-width: var(--contents-width);
        width: 100%;
        margin-inline: auto;

        & .breadcrumb_list {
            display: flex;
            padding: 12px 0;
            align-items: center;
            gap: 8px;
            flex-shrink: 0;
            font-size: 12px;
            font-weight: 400;
            line-height: 100%;
            letter-spacing: 0.96px;

            & .breadcrumb_item {
                display: flex;
                justify-content: flex-start;
                align-items: center;
                gap: 8px;

                &:not(.current) {
                    color: rgba(74, 63, 53, 0.50);

                    &::after {
                        content: "";
                        display: block;
                        background-image: url(../img/arrow__breadcrumb.svg);
                        background-size: contain;
                        background-repeat: no-repeat;
                        background-position: center;
                        width: 6px;
                        height: 8px;
                    }
                }

            }
        }
    }

    @media (max-width: 750px) {
        padding-block: 0;

        & .breadcrumb_inner {
            overflow-x: auto;

            & .breadcrumb_list {
                justify-content: flex-start;

                & .breadcrumb_item {
                    flex-shrink: 0;

                    &:first-child {
                        margin-inline-start: 5.333vw;
                    }

                    &.current {
                        padding-inline-end: 5.333vw;
                    }
                }
            }
        }
    }
}

/* sec-contact */
.sec-contact {
    border-bottom: 1px solid rgba(74, 63, 53, 0.08);
    padding-block: 64px 104px;

    & hgroup {
        text-align: center;
    }

    .contact-form {
        display: flex;
        flex-direction: column;
        gap: 88px;
        margin-block-start: 40px;

        & .contact-form_fields {
            display: flex;
            flex-direction: column;
            gap: 40px;
            max-width: 980px;
            width: 100%;
            margin-inline: auto;
            margin-block-end: 88px;

            & .contact-form_field {
                display: flex;
                flex-direction: column;
                gap: 16px;

                & .contact-form_label {
                    display: flex;
                    align-items: center;
                    gap: 10px;

                    & .contact-form_badge {
                        display: inline-flex;
                        justify-content: center;
                        align-items: center;
                        background-color: #E66633;
                        border-radius: 4px;
                        font-size: 12px;
                        font-weight: 500;
                        color: #fff;
                        line-height: 100%;
                        letter-spacing: 0.96px;
                        padding: 4px 6px;
                    }

                    & .contact-form_label-text {
                        font-size: 16px;
                        font-weight: 700;
                        color: #4A3F35;
                        line-height: 150%;
                        letter-spacing: 1.28px;
                    }
                }

                & .contact-form_radios {
                    display: flex;
                    align-items: center;
                    gap: 24px;

                    & .wpcf7-list-item {
                        display: inline-flex;
                        margin: 0;

                        &:not(:last-child) {
                            margin-inline-end: 24px;
                        }
                    }

                    & .wpcf7-list-item>label {
                        position: relative;
                        display: inline-flex;
                        align-items: center;
                        cursor: pointer;
                    }

                    & input[type="radio"] {
                        position: absolute;
                        inset: 0;
                        z-index: 1;
                        margin: 0;
                        appearance: none;
                        cursor: pointer;
                    }

                    & .wpcf7-list-item-label {
                        position: relative;
                        display: inline-block;
                        padding-inline-start: 26px;
                        font-size: 16px;
                        font-weight: 500;
                        color: #4A3F35;
                        line-height: 150%;
                        letter-spacing: 1.28px;

                        &::before {
                            content: "";
                            position: absolute;
                            left: 0;
                            top: 50%;
                            translate: 0 -50%;
                            width: 18px;
                            height: 18px;
                            border: 1px solid var(--common-accent-color);
                            border-radius: 50%;
                        }
                    }

                    & input[type="radio"]:checked~.wpcf7-list-item-label::after {
                        content: "";
                        position: absolute;
                        left: 3px;
                        top: 50%;
                        translate: 0 -50%;
                        width: 12px;
                        height: 12px;
                        border-radius: 50%;
                        background-color: var(--common-accent-color);
                    }
                }

                & .contact-form_input,
                & .contact-form_textarea {
                    width: 100%;
                    background-color: #fff;
                    border-radius: 4px;
                    font-size: 15px;
                    font-weight: 400;
                    color: #4A3F35;
                    line-height: 150%;
                    letter-spacing: 1.2px;
                    padding: 16px;

                    &::placeholder {
                        color: rgba(74, 63, 53, 0.5);
                    }
                }

                & .contact-form_textarea {
                    height: 300px;
                    resize: vertical;
                }
            }
        }

        & .contact-form_foot {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 24px;

            & .contact-form_note {
                font-size: 16px;
                font-weight: 400;
                color: #4A3F35;
                line-height: 150%;
                letter-spacing: 1.28px;
                text-align: center;

                & a {
                    display: inline;
                    color: var(--common-accent-color);
                    text-decoration: underline;
                    text-underline-offset: 2px;
                    transition: opacity 0.3s ease;

                    &:hover {
                        opacity: 0.6;
                    }
                }
            }

            & .contact-form_note_recaptcha {
                font-size: 14px;
                font-weight: 400;
                color: #4A3F35;
                line-height: 150%;
                letter-spacing: 1.28px;
                text-align: center;
                margin-top: 25px;

                & a {
                    display: inline;
                    color: var(--common-accent-color);
                    text-decoration: underline;
                    text-underline-offset: 2px;
                    transition: opacity 0.3s ease;

                    &:hover {
                        opacity: 0.6;
                    }
                }
            }

            & .contact-form_submit {
                position: relative;
                display: block;
                width: 290px;
                background: url(../img/arrow__wht.svg),
                            linear-gradient(96.7deg, var(--btn-color-end) 0.2%, var(--btn-color-start) 97.6%);
                background-repeat: no-repeat, no-repeat;
                background-position: right 24px center, center;
                background-size: 24px 9px, auto;
                border: none;
                border-radius: 4px;
                appearance: none;
                -webkit-appearance: none;
                font-size: 19px;
                font-weight: 700;
                color: #fff;
                line-height: 100%;
                letter-spacing: 1.52px;
                text-align: center;
                padding: 24px 32px;
                cursor: pointer;
                transition: --btn-color-start 0.3s ease, --btn-color-end 0.3s ease;

                &:hover {
                    --btn-color-start: #F1C450;
                    --btn-color-end: #E68A33;
                }
            }
        }

        @media (max-width: 750px) {
            gap: 48px;

            & .contact-form_fields {
                gap: 40px;

                & .contact-form_field {

                    & .contact-form_label {

                        & .contact-form_label-text {
                            font-size: 15px;
                            letter-spacing: 1.2px;
                        }
                    }

                    & .contact-form_radios {

                        & .wpcf7-list-item-label {
                            font-size: 15px;
                            letter-spacing: 1.2px;
                        }
                    }

                    & .contact-form_input,
                    & .contact-form_textarea {
                        font-size: 14px;
                        letter-spacing: 1.12px;
                    }
                }
            }

            & .contact-form_foot {

                & .contact-form_note {
                    font-size: 15px;
                    letter-spacing: 1.2px;
                }

                & .contact-form_note_recaptcha {
                    font-size: 13px;
                    letter-spacing: 1.2px;
                }

                & .contact-form_submit {
                    font-size: 16px;
                    letter-spacing: 1.28px;
                }
            }
        }
    }

    & .thanks {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 40px;
        background-color: #fff;
        border-radius: 16px;
        margin-block-start: 40px;
        padding: 80px;

        & .thanks_text {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 24px;
            font-size: 18px;
            font-weight: 500;
            color: #4A3F35;
            text-align: center;
            letter-spacing: 1.44px;

            & .thanks_text-lead {
                line-height: 170%;
            }

            & .thanks_text-note {
                line-height: 160%;
            }
        }

        & .thanks_back {

            & .thanks_back-link {
                display: flex;
                justify-content: center;
                align-items: center;
                gap: 16px;
                background-color: var(--common-bg-color);
                border-radius: 4px;
                font-size: 14px;
                font-weight: 700;
                color: #766658;
                line-height: 100%;
                letter-spacing: 1.12px;
                padding: 24px;
                transition: opacity 0.3s ease;

                &::before {
                    content: "";
                    display: block;
                    flex-shrink: 0;
                    width: 24px;
                    height: 9px;
                    background-image: url(../img/arrow__brn.svg);
                    background-size: contain;
                    background-repeat: no-repeat;
                    background-position: center;
                    scale: -1 1;
                }

                &:hover {
                    opacity: 0.6;
                }
            }
        }
    }

    @media (max-width: 750px) {
        padding-block: 40px 64px;

        & .thanks {
            gap: 40px;
            border-radius: 8px;
            margin-block-start: 24px;
            padding: 24px 16px;

            & .thanks_text {
                font-size: 15px;
                letter-spacing: 1.2px;
            }
        }
    }
}

.wpcf7-not-valid-tip{
    font-size: 15px;
}

.wp-block-paragraph{
    display: none !important;
}

/* 送信後の完了・エラーメッセージを非表示にする */
.wpcf7-response-output {
    display: none !important;
}

/* 送信ボタン横のローディングアイコン（スピンナー）を非表示にする */
.wpcf7-spinner {
    display: none !important;
}
