@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Readex+Pro:wght@200&family=Roboto:wght@400;500;700;900&display=swap');

@import url("https://use.typekit.net/qcx2hqk.css");


div.es-container.page-header {
    visibility: hidden;
    width: 0px;
    height: 0px;
    overflow: hidden;
    border: none;
    padding: 0;
    margin: 0;
}

/*  */

#main_ttl {

    & div.wrap {
        width: 100%;
        background-color: #F2EFED;
    }

    & #fig_main img {
        max-width: initial;
        width: 1360px;
        height: 100%;

        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    & h1:not(.entry-title) span::after,
    & h2 span::after {
        display: none;
    }

    & h2 {
        max-width: 1136px;
        margin-inline: auto;
        position: relative;
        font-size: var(--fs18);
        margin-top: 1.8em;

        color: #111;
        font-weight: 400;
        display: block;
        padding: 0;
        padding-bottom: 30px;
    }

    & h2::before {
        display: none;
    }

    & h2::after {
        content: '';
        display: block;
        width: 100vw;
        height: 1px;
        background-color: #CCCCCC;
        position: absolute;
        left: 0;
        bottom: 0;
    }

}

/*  */

#topics_path {
    margin-bottom: 0;
}

#container {
    padding-bottom: 100px;
}

/*  */

section[id^="sec_"] {
    width: 1000px;
    margin-inline: auto;
    margin-top: 50px;

    & h3 {
        margin-bottom: 36px;

        font-size: var(--fs28);
        position: relative;
        line-height: 1.2;
        border-left: 3px solid #EC6C00;
        padding: 6px 0 6px 8px;
        font-feature-settings: "palt" 1;
        letter-spacing: 0.05em;
        text-align: left;
    }

    & p {
        font-size: var(--fs16);
    }

    & figure {
        max-width: 760px;
        margin-inline: auto;
        margin-bottom: 50px;
    }

    & #price {
        width: 840px;
        margin-inline: auto;
        margin-top: 60px;
        border: #ED6D1F solid 1px;

        display: grid;
        grid-auto-flow: column dense;
        grid-template-columns: 0.6fr 1.4fr;
        grid-template-rows: 1fr 1fr;
        gap: 0 0;
        grid-template-areas:
            "ttl ."
            "ttl .";
        justify-content: stretch;
        align-content: center;
        justify-items: center;
        align-items: center;
        position: relative;
    }

    & #price::before {
        content: '';
        display: block;
        width: 1px;
        height: 100%;
        background-color: #ED6D1F;
        position: absolute;
        top: 0;
        left: 30%;
    }

    & #price h4 {
        grid-area: ttl;
        margin-bottom: 0;
        font-size: var(--fs24);
        font-weight: 500;
    }

    & #price p {
        width: 86%;
        font-size: var(--fs24);
        text-align: center;
        margin-bottom: 0;
        line-height: 1;
        padding: 0.8em 0;
    }

    & #price p:first-of-type {
        border-bottom: #ED6D1F dotted 1px;
    }

    & #price p strong {
        font-size: var(--fs48);
        color: #ED6D1F;
        font-family: "Roboto", sans-serif;
        font-weight: 400;

    }

    & #price p span {
        font-weight: 400;
        font-size: var(--fs18);
        color: #555;
        display: block;
    }

    & #price p strong span {
        display: inline;
        font-size: 0.5em;
        color: #ED6D1F;
        font-family: 'YakuHanJP', 'Noto Sans JP', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', '游ゴシック', YuGothic, 'メイリオ', Meiryo, 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
        font-weight: 600;
        margin-right: 0.2em;
        margin-left: 0.1em;
    }

    & #price p strong span:last-of-type {
        margin-right: 0.4em;
    }

    & #price p span.note {
        margin-bottom: 0.4em;
    }

    /*  */

    & #price+h5 {
        text-align: center;
        font-size: var(--fs24);
        font-weight: 500;
        margin-top: 50px;
    }

    & p.tel {
        text-align: center;
        font-family: "Roboto", sans-serif;
        font-weight: 400;
        font-size: var(--fs36);
        margin-bottom: 0;
    }

    & p.tel a {
        color: #ED6D1F;
        font-weight: 500;
    }

    & p.tel span {
        font-size: 0.4em;
        font-family: 'YakuHanJP', 'Noto Sans JP', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', '游ゴシック', YuGothic, 'メイリオ', Meiryo, 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
        font-weight: 400;
        display: block;
    }


}

#inquiry {
    width: 1000px;
    margin: 0 auto;
    padding: 0;
    background-color: transparent;

    & h2 {
        display: block;
        font-size: var(--fs28);
        border-left: 3px solid #EC6C00;
        padding: 6px 0 6px 8px;
        margin: 0;
        line-height: 1;
        text-align: left;
    }

    & h2::after {
        display: none;
    }

    & .es_form_2col_wrap p.es-form-item:first-of-type {
        border: none;
    }

    & .es_form_2col_wrap p.es-form-item:not(.note)>label,
    & .es_form_2col_wrap p.es-form-item:not(.note) {
        font-size: var(--fs20);
    }

    /*  */
}

@media screen and (max-width: 768px) {

    body.es-page-go-yo-ki-ki {
        & #main_ttl {
            margin-bottom: 4vw;

            & h1:not(.entry-title) span {
                font-size: 0.8em;
            }

            & #fig_main {
                /* height: calc(100vw* 0.1764705882352941); */
            }

            & #fig_main img {
                width: 100%;
                position: static;
                transform: translate(0);
            }

            & h2 {
                width: 88vw;
                font-size: 3.75vw;
                /* 12px */
                padding-bottom: 4vw;
            }
        }
    }


    #container {
        padding-bottom: 12vw;
    }

    #content {
        width: 88vw;
        margin-inline: auto;
    }

    .entry-content>* {
        padding-left: 0;
        padding-right: 0;
    }

    section[id^="sec_"] {
        width: 100%;
        margin-top: 0vw;

        & h3 {
            font-size: 4.375vw;
            /* 14px */
            margin-bottom: 6vw;
        }

        & figure {
            max-width: initial;
            margin-bottom: 6vw;
        }

        /*  */

        & #price {
            width: 100%;
            margin-top: 6vw;
            display: block;
            padding: 4vw;
        }

        & #price::before {
            display: none;
        }

        & #price h4 {
            font-size: 4.375vw;
            /* 14px */
            width: 100%;
            text-align: center;
            border-bottom: #ED6D1F 1px solid;
            padding-bottom: 3vw;
            margin-bottom: 3vw;
        }

        & #price p {
            width: auto;
            font-size: 3.75vw;
            /* 12px */
            padding: 1.0em 0;
        }

        & #price p strong {
            font-size: 9.375vw;
            /* 30px */
        }

        & #price p span {
            display: block;
            margin-top: 0.4em;
            font-size: 4.0625vw;
            /* 13px */
        }

        & #price p span.note {
            margin-bottom: 1.0em;
        }

        /*  */

        & #price+h5 {
            font-size: 3.75vw;
            /* 12px */
            margin-top: 4em;
            margin-bottom: 0.2em;
        }

        & p.tel {
            font-size: 9.375vw;
            /* 30px */
        }

        /*  */
    }

    /*  */

    #inquiry {
        width: 100%;

        & h2 {
            font-size: 4.375vw;
            /* 14px */

        }

        & p {
            font-size: 3.75vw;
            /* 12px */
        }

        & .form_wrap:not(.detail_form_block) {
            margin-left: 0;
            margin-right: 0;
            margin-bottom: 12vw;
        }

        & .es_form_2col_wrap p.es-form-item:not(.note) {
            padding-right: 0;
        }

        & .es_form_2col_wrap p.es-form-item:not(.note)>label {
            width: auto;
            text-align: left;
            font-size: 4.375vw;
            /* 14px */

            font-size: 3.75vw;
            /* 12px */
        }

        & .es_form_2col_wrap p.es-form-item:not(.note)>span {
            /* width: calc(100% - 10em - 44px); */
            width: 100%;
            font-size: 3.75vw;
            /* 12px */
        }

        & .wpcf7 .wpcf7-form span.required {
            margin-top: 0;
        }

        & .es_form_2col_wrap p.es-form-item:not(.note)>label span:not(.required) {
            font-size: 3.125vw;
            /* 10px */
            margin-top: 0.8em;
            display: block;
        }

        & .wpcf7 .wpcf7-form .wpcf7-submit {
            font-size: 4.375vw;
            /* 14px */
            margin-top: 12vw;

        }

    }




    /*  */
}




/*  */