@charset "UTF-8";

/*------------------------------------*\
    $CONTENTS
\*------------------------------------*/
/**
 * CONTENTS............目次
 * HEADER..............ヘッダー
 * STYLES..............各種スタイル
 * PAGES...............デフォルトページ用スタイル
 */





/*------------------------------------*\
    $HEADER
\*------------------------------------*/
.header {
    color: var(--neutralColor-400);
    font-weight: 500;
    line-height: 2;
}
@media screen and (min-width: 1024px) {
    .header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 9999;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-block: 0.84em;
        padding-right: min(80px, calc(100vw * (80 / 1920)));
        padding-left: min(30px, calc(100vw * (30 / 1920)));
        background-color: white;
        background-image: var(--multiColorSizeFixed);
        background-repeat: repeat-x;
        background-size: 40.8em .32em;
        box-shadow: 0 .12em .24em rgb(0 0 0 / .16);
        font-size: clamp(1.8rem, calc(100vw * (25 / 1920)), 2.5rem);
    }
}
@media screen and (max-width: 1023px) {
    .header {
        padding-top: 20px;
        padding-inline: calc(100vw * (20 / 375));
        font-size: 2.0rem;
    }
}

    @media screen and (min-width: 1024px) {
        .header__logo {
            padding-top: .44em;
            width: 25.64em;
        }
    }
    @media screen and (max-width: 1023px) {
        .header__logo {
            width: 265px;
            height: 84px;
        }
        .header__logo a {
            display: block;
            width: 100%;
            height: 100%;
        }
        .header__logo picture {
            width: 100%;
            height: 100%;
        }
        .header__logo img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            object-position: 0 50%;
        }
    }

    @media screen and (min-width: 1024px) {
        .header__nav {
            display: flex;
            align-items: center;
            column-gap: .56em;
        }
    }
    @media screen and (max-width: 1023px) {
        .header__nav {
            position: fixed;
            inset: 0;
            z-index: 9999;
            border-top: 4px solid transparent;
            font-size: 2.0rem;
            line-height: 2.7;
            pointer-events: none;
        }
        .header__nav.is-active { pointer-events: visible }
        .header__nav::before {
            content: "";
            position: absolute;
            bottom: 100%;
            left: 0;
            z-index: 2;
            width: 100%;
            height: 4px;
            background-image: var(--multiColorSizeFixed);
            background-repeat: repeat-y;
            background-size: 100%;
        }
    }

        @media screen and (min-width: 1024px) {
            .header__nav__inner {
                display: flex;
                align-items: center;
                column-gap: .56em;
            }
        }
        @media screen and (max-width: 1023px) {
            .header__nav__inner {
                height: 0;
                padding-inline: calc(100vw * (40 / 375));
                background-color: white;
                overflow-y: auto;
                transition:
                    height .3s var(--linear),
                    padding-block .3s var(--linear);
            }
            .header__nav.is-active .header__nav__inner {
                height: 100%;
                padding-top: min(70px, calc(100vw * (70 / 375)));
                padding-bottom: min(63px, calc(100vw * (63 / 375)));
            }
        }

        @media screen and (min-width: 1024px) {
            .header__nav__button { display: none }
        }
        @media screen and (max-width: 1023px) {
            .header__nav__button {
                position: absolute;
                top: 0;
                right: 0;
                z-index: 1;
                width: min(86px, calc(100vw * (86 / 375)));
                height: min(72px, calc(100vw * (72 / 375)));
                pointer-events: visible;
            }
            .header__nav__button::before,
            .header__nav__button::after {
                content: "";
                position: absolute;
                left: min(34px, calc(100vw * (34 / 375)));
                width: min(32px, calc(100vw * (32 / 375)));
                transition:
                    top .3s var(--easeOutQuart),
                    transform .3s var(--easeOutQuart);
            }
            .header__nav__button::before {
                top: min(16px, calc(100vw * (16 / 375)));
                height: min(11px, calc(100vw * (11 / 375)));
                background-image:
                    linear-gradient(white, white),
                    linear-gradient(white, white);
                background-repeat: no-repeat;
                background-position: 0 0, 0 100%;
                background-size: 100% min(2px, calc(100vw * (2 / 375)));
            }
            .header__nav__button::after {
                top: min(34px, calc(100vw * (34 / 375)));
                height: min(2px, calc(100vw * (2 / 375)));
                background-color: white;
            }
            .header__nav.is-active .header__nav__button::before,
            .header__nav.is-active .header__nav__button::after { top: min(25px, calc(100vw * (25 / 375))) }
            .header__nav.is-active .header__nav__button::before {
                transform: rotate(45deg);
                height: min(2px, calc(100vw * (2 / 375)));
            }
            .header__nav.is-active .header__nav__button::after { transform: rotate(-45deg) }

                .header__nav__button__bg {
                    position: absolute;
                    bottom: 0;
                    left: 0;
                    z-index: -1;
                    width: min(146px, calc(100vw * (146 / 375)));
                    height: min(146px, calc(100vw * (146 / 375)));
                    border-radius: 100%;
                    background-color: var(--primaryGreen-300);
                    transition:
                        bottom .3s var(--easeOutQuart),
                        left .3s var(--easeOutQuart),
                        width .3s var(--easeOutQuart),
                        height .3s var(--easeOutQuart),
                        background-color .3s var(--easeOutQuart);
                }
                .header__nav.is-active .header__nav__button__bg {
                    bottom: min(9px, calc(100vw * (9 / 375)));
                    left: max(-116px, calc(100vw * (-116 / 375)));
                    width: min(344px, calc(100vw * (344 / 375)));
                    height: min(344px, calc(100vw * (344 / 375)));
                    background-color: var(--primaryGreen-200);
                    background-image: none;
                }

        }

        .header__nav__inner {}

            @media screen and (min-width: 1024px) {
                .header__nav__list {
                    display: flex;
                    column-gap: .56em;
                }
            }

                @media screen and (min-width: 1024px) {
                    .header__nav__item { position: relative }
                }
                @media screen and (max-width: 1023px) {
                    .header__nav__item {
                        display: flex;
                        flex-direction: column-reverse;
                        background-color: transparent !important;
                    }
                }

                    @media screen and (min-width: 1024px) {
                        .header__nav__link {
                            position: relative;
                            display: block;
                            padding-inline: 1em;
                            border-radius: .24em;
                            transition:
                                background-color .3s var(--easeOutQuart),
                                color .3s var(--easeOutQuart);
                        }
                        .header__nav__item:hover .header__nav__link { color: white }
                        .header__nav__link::before {
                            content: "";
                            position: absolute;
                            top: 1.8em;
                            left: calc(50% - .2em);
                            width: .4em;
                            height: .4em;
                            border-radius: .2em;
                            transition: top .15s var(--linear);
                        }
                        .header__nav__item:hover .header__nav__link::before { top: 2.12em }
                        .header__nav__item:not(:hover) .header__nav__link.is-page::before {
                            top: 1.88em;
                            left: 1em;
                            width: calc(100% - 2em);
                            height: .24em;
                        }

                        .header__nav__link::after {
                            content: "";
                            position: absolute;
                            top: 100%;
                            left: 0;
                            width: 100%;
                            height: .68em;
                            opacity: 0;
                            pointer-events: none;
                        }
                        .header__nav__item:hover .header__nav__link::after { pointer-events: visible }
                    }
                    @media screen and (max-width: 1023px) {
                        .header__nav__link,
                        .header__nav__link--child {
                            display: flex;
                            justify-content: space-between;
                            align-items: center;
                            border-bottom: 1px solid var(--primaryGreen-200);
                        }
                        .header__nav__link--child { padding-left: 2em }
                        .header__nav__item--child.no-indent .header__nav__link--child {
                            padding-left: 0;
                        }
                        .header__nav__link::after,
                        .header__nav__link--child::after {
                            content: "";
                            display: block;
                            width: 1.04em;
                            height: 1.04em;
                            background-image: url(../images/nav-arrow.svg);
                            background-repeat: no-repeat;
                            background-size: contain;
                        }
                    }

                    @media screen and (min-width: 1024px) {
                        .header__nav__list--child {
                            position: absolute;
                            top: 2.68em;
                            left: 0;
                            display: flex;
                            flex-direction: column;
                            row-gap: .8em;
                            width: fit-content;
                            padding-block: 1.04em;
                            padding-inline: .68em;
                            border-width: .16em;
                            border-style: solid;
                            border-radius: .24em;
                            font-weight: 400;
                            line-height: 1.44;
                            white-space: nowrap;
                            opacity: 0;
                            pointer-events: none;
                            transition: opacity .3s var(--easeOutQuart);
                        }
                        .header__nav__item:last-of-type .header__nav__list--child {
                            right: 0;
                            left: auto;
                        }
                        .header__nav__item:hover .header__nav__list--child {
                            opacity: 1;
                            pointer-events: visible;
                        }

                        .header__nav__link--child {
                            display: flex;
                            justify-content: space-between;
                            align-items: center;
                            column-gap: 1.4em;
                        }
                        .header__nav__link--child::after {
                            content: "";
                            display: block;
                            width: 1.04em;
                            height: 1.04em;
                            background-image: url(../images/nav-arrow.svg);
                            background-repeat: no-repeat;
                            background-size: contain;
                        }
                    }

            @media screen and (min-width: 1024px) {
                .header__nav__contact {
                    height: max-content;
                    margin-top: .08em;
                }
            }
            @media screen and (max-width: 1023px) {
                .header__nav__contact {}
            }

                @media screen and (min-width: 1024px) {
                    .header__nav__contact > a {
                        aspect-ratio: 58 / 58;
                        display: block;
                        width: 58px;
                        background-image: url(../images/icon-contact.svg);
                        background-size: contain;
                    }
                }
                @media screen and (max-width: 1023px) {
                    .header__nav__contact a {
                        display: flex;
                        justify-content: space-between;
                        align-items: center;
                        border-bottom: 1px solid var(--primaryGreen-200);
                    }
                    .header__nav__contact a::after {
                        content: "";
                        display: block;
                        width: 1.04em;
                        height: 1.04em;
                        background-image: url(../images/nav-arrow.svg);
                        background-repeat: no-repeat;
                        background-size: contain;
                    }
                }





/*------------------------------------*\
    $STYLES
\*------------------------------------*/
.block.fs-cat-header { padding-top: 0 }
.block.fs-cat-header.fs-cat-header--single { padding-bottom: clamp(20px, calc(100vw * (20 / 768)), 40px) }

    .fs-cat-header__inner {
        display: grid;
        row-gap: 20px;
        padding-bottom: clamp(24px, calc(100vw * (24 / 768)), 36px);
        background-repeat: no-repeat;
        background-position: 50% 100%;
        background-size: 100%;
        font-size: clamp(2.2rem, calc(100vw * (22 / 768)), 5.0rem);
    }
    .fs-cat-header--single .fs-cat-header__inner {
        display: block;
        padding-bottom: 0;
    }
    @media screen and (min-width: 768px) {
        .fs-cat-header__inner {
            grid-template-columns: 229px 1fr;
            grid-template-rows: 1.44em 1fr auto;
            column-gap: 31px;
        }
    }
    @media screen and (max-width: 767px) {
        .fs-cat-header__inner {
            grid-template-columns: 153px 1fr;
            column-gap: 15px;
            align-items: center;
        }
    }


        .fs-cat-image img {
            width: 100%;
            height: auto;
        }
        @media screen and (min-width: 768px) {
            .fs-cat-image { grid-row: 2 span }
            .fs-cat-header--single .fs-cat-image { width: 166px }
        }
        @media screen and (max-width: 767px) {
            .fs-cat-image { padding-inline: 17px }
            .fs-cat-header--single .fs-cat-image { width: 153px }
        }

        .fs-cat-header--single .fs-cat-title { text-align: center }
        @media screen and (min-width: 768px) {
            .fs-cat-title { line-height: 1.44 }
        }
        @media screen and (max-width: 767px) {
            .fs-cat-title { line-height: calc(34 / 22) }
        }

        .fs-cat-description { font-size: clamp(1.4rem, calc(100vw * (14 / 768)), 2.0rem) }
        @media screen and (min-width: 768px) {
            .fs-cat-description {
                grid-column: 2 / 3;
                line-height: 1.7;
            }
        }
        @media screen and (max-width: 767px) {
            .fs-cat-description {
                grid-column: 1 / 3;
                line-height: calc(24 / 14);
            }
        }

        .fs-cat-recruitment-button { grid-column: 1 / 3 }
        @media screen and (min-width: 768px) {
            .fs-cat-recruitment-button {
                padding-top: 23px;
                padding-bottom: 34px;
            }
        }
        @media screen and (max-width: 767px) {
            .fs-cat-recruitment-button { padding-top: 25px }
        }



.fs-cat-body {}

    .fs-cat-year {
        padding-top: 0 !important;
        padding-bottom: clamp(60px, calc(100vw * (60 / 375)), 95px);
    }

        .fs-cat-year__title {
            margin-bottom: clamp(25px, calc(100vw * (25 / 768)), 28px);
            color: var(--neutralColor-400);
            font-size: clamp(2.2rem, calc(100vw * (22 / 768)), 4.0rem);
            text-align: center;
        }
        @media screen and (min-width: 768px) {
            .fs-cat-year__title { line-height: 1.45 }
        }
        @media screen and (max-width: 767px) {
            .fs-cat-year__title { line-height: calc(34 / 22) }
        }

        .fs-cat-year__selector {
            display: flex;
            justify-content: center;
            align-items: center;
            flex-wrap: wrap;
            column-gap: 26px;
            row-gap: 10px;
        }

            .fs-cat-year__selector__text {
                color: var(--neutralColor-400);
                font-size: clamp(1.4rem, calc(100vw * (14 / 768)), 2.0rem);
                line-height: calc(20 / 14);
                text-align: center;
                white-space: nowrap;
            }

            .fs-cat-year__selector__body {
                position: relative;
                font-size: clamp(1.6rem, calc(100vw * (16 / 768)), 2.0rem);
                font-weight: 700;
                text-align: center;
            }

                .fs-cat-year__selector__main {
                    display: block;
                    width: clamp(140px, calc(100vw * (140 / 768)), 181px);
                    height: clamp(34px, calc(100vw * (34 / 768)), 39px);
                    background-color: var(--primaryBlue-300);
                    background-image: url(../images/select-arrow.svg);
                    background-repeat: no-repeat;
                    background-position: calc(100% - clamp(16px, calc(100vw * (16 / 768)), 38px)) 50%;
                    background-size: 11px;
                    border-radius: 99px;
                    color: transparent;
                }
                .fs-cat-year__selector__main option { color: white }
                @media screen and (min-width: 768px) {
                    .fs-cat-year__selector__main { padding-right: 43px }
                }

                .fs-cat-year__selector__label {
                    position: absolute;
                    inset: 0;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    color: white;
                    pointer-events: none;
                }
                @media screen and (min-width: 768px) {
                    .fs-cat-year__selector__label { padding-right: 43px }
                }


    .fs-cat-block { display: grid }

        .fs-cat-bg {}



.fs-cat-introduction { padding-top: 0 !important }

    .fs-cat-introduction__title {
        margin-bottom: clamp(27px, calc(100vw * (27 / 768)), 40px);
        font-size: clamp(2.0rem, calc(100vw * (20 / 768)), 4.0rem);
        line-height: 1.5;
        text-align: center;
    }

    .fs-cat-introduction__catchphrase {
        margin-bottom: clamp(30px, calc(100vw * (30 / 768)), 60px);
        color: var(--neutralColor-400);
        font-size: clamp(1.6rem, calc(100vw * (16 / 768)), 2.0rem);
        line-height: 1.875;
        text-align: center;
    }
    @media screen and (min-width: 768px) {
        .fs-cat-introduction__catchphrase:not(.wave-none)::before,
        .fs-cat-introduction__catchphrase:not(.wave-none)::after {
            content: "～";
            display: inline-block;
        }
        .fs-cat-introduction__catchphrase::before { margin-right: .5em }
        .fs-cat-introduction__catchphrase::after { margin-left: .5em }
    }

    .fs-cat-introduction__description {
        margin-bottom: calc(50px - clamp(12px, calc(100vw * (12 / 768)), 20px));
        font-size: clamp(1.4rem, calc(100vw * (14 / 768)), 1.6rem);
    }
    @media screen and (min-width: 768px) {
        .fs-cat-introduction__description {
            line-height: 1.875;
            text-align: center;
        }
    }
    @media screen and (max-width: 767px) {
        .fs-cat-introduction__description { line-height: calc(24 / 14) }
    }

    .fs-cat-introduction__button { margin-bottom: clamp(40px, calc(100vw * (40 / 375)), 92px) }
    @media screen and (min-width: 768px) {
        .fs-cat-introduction__button { padding-right: 17px }
    }
    @media screen and (max-width: 767px) {
        .fs-cat-introduction__button {
            margin-left: -14px;
            margin-right: -3px;
        }
    }

        .fs-cat-introduction__button__link {
            position: relative;
            z-index: 1;
            margin-inline: auto;
        }
        .fs-cat-introduction__button__link:not(.is-non-circle)::before {
            content: "";
            aspect-ratio: 1 / 1;
            position: absolute;
            top: clamp(-28px, calc(-100vw * (28 / 768)), -21px);
            right: clamp(-52px, calc(-100vw * (52 / 768)), -7px);
            z-index: -1;
            display: block;
            width: clamp(159px, calc(100vw * (159 / 768)), 294px);
            border-radius: 100%;
            background-color: #E6F6EC;
        }
        @media screen and (min-width: 768px) {
            .fs-cat-introduction__button__link {
                width: min(628px, 100%);
            }
            .fs-cat-introduction__button__link::before { right: max(-52px, calc(-100vw * (52 / 1024))) }
        }
        @media screen and (max-width: 767px), (orientation: portrait) {
            .fs-cat-introduction__button__link { max-width: 353px }
            .fs-cat-introduction__button__link::before { right: -5px }
        }


/**
 * Single
 */
.article {
    position: relative;
    z-index: 1;
    margin-top: clamp(-147px, calc(-100vw * (98 / 768)), -98px);
    min-height: clamp(120px, calc(100vw * (120 / 768)), 200px);
}

    .article__image-area { margin-bottom: clamp(20px, calc(100vw * (20 / 375)), 60px) }

        .article__image-area__list {
            display: flex;
            justify-content: center;
        }
        @media screen and (min-width: 768px) {
            .article__image-area__list {
                display: flex;
                justify-content: center;
                column-gap: min(60px, calc(100% * (60 / 1800)));
                row-gap: 20px;
            }
        }
        @media screen and (max-width: 767px) {
            .article__image-area__list {
                flex-direction: column;
                align-items: center;
                row-gap: 20px;
            }
        }

            .article__image-area__item { width: clamp(min(360px, 100%), calc(100% * (560 / 1800)), 560px) }

                .article__image-area__item img {
                    aspect-ratio: 560 / 373;
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                    border-radius: clamp(10px, calc(100vw * (10 / 768)), 16px);
                }


    .article__body {
        margin-bottom: min(100px, calc(100vw * (100 / 1920)));
        font-size: clamp(1.4rem, calc(100vw * (14 / 768)), 1.6rem);
    }
    @media screen and (min-width: 768px) {
        .article__body { line-height: 1.625 }
    }
    @media screen and (max-width: 767px) {
        .article__body { line-height: calc(24 / 14) }
    }

        .article__block-read {
            margin-top: clamp(20px, calc(100vw * (20 / 375)), 60px);
            margin-bottom: clamp(37px, calc(100vw * (37 / 375)), 63px);
        }

        .article__block-flex1 {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            column-gap: min(40px, calc(100vw * (40 / 1920)));
            row-gap: 20px;
            padding: clamp(16px, calc(100vw * (16 / 768)), 30px);
            margin-top: clamp(20px, calc(100vw * (20 / 375)), 60px);
            margin-bottom: clamp(37px, calc(100vw * (37 / 375)), 63px);
            border: 10px solid transparent;
            border-radius: clamp(20px, calc(100vw * (20 / 768)), 26px);
            background-color: white;
        }

            .article__block-flex1__image {
                flex-grow: 1;
                width: calc((100% - min(40px, calc(100vw * (40 / 1920)))) / 2);
                min-width: min(280px, 100%);
            }

                .article__block-flex1__image img {
                    aspect-ratio: 80 / 53;
                    width: 100%;
                    height: 100%;
                    object-fit: contain;
                }


            .article__block-flex1__details {
                flex-grow: 1;
                width: calc((100% - min(40px, calc(100vw * (40 / 1920)))) / 2);
                min-width: min(280px, 100%);
            }

                .article__block-flex1__title {
                    margin-bottom: clamp(10px, calc(100vw * (10 / 768)), 20px);
                    font-size: clamp(2.0rem, calc(100vw * (20 / 768)), 3.0rem);
                    line-height: 1.5;
                }


        .article__block-flex2 {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            column-gap: min(40px, calc(100vw * (40 / 1920)));
            row-gap: 20px;
            padding: clamp(16px, calc(100vw * (16 / 768)), 30px);
            margin-top: clamp(20px, calc(100vw * (20 / 375)), 60px);
            margin-bottom: clamp(37px, calc(100vw * (37 / 375)), 63px);
            border: 10px solid transparent;
            border-radius: clamp(20px, calc(100vw * (20 / 768)), 26px);
            background-color: white;
        }

            .article__block-flex2__title {
                width: 100%;
                margin-bottom: clamp(10px, calc(100vw * (10 / 375)), 40px);
                font-size: clamp(2.0rem, calc(100vw * (20 / 768)), 3.0rem);
                line-height: 1.5;
                text-align: center;
            }

            .article__block-flex2__image {
                flex-grow: 1;
                width: calc((100% - min(40px, calc(100vw * (40 / 1920)))) / 2);
                min-width: min(280px, 100%);
                max-width: 540px;
            }

                .article__block-flex2__image img {
                    aspect-ratio: 80 / 53;
                    width: 100%;
                    height: 100%;
                    object-fit: contain;
                }


            .article__block-flex2__details {
                flex-grow: 1;
                width: calc((100% - min(40px, calc(100vw * (40 / 1920)))) / 2);
                min-width: min(280px, 100%);
            }

                .article__block-flex2__text { margin-bottom: min(35px, calc(100vw * (35 / 1920))) }

                .article__block-flex2__link { color: var(--primaryBlue-400) }
                .article__block-flex2__link:hover { text-decoration: underline }


        .article__block-float {
            margin-top: clamp(20px, calc(100vw * (20 / 375)), 60px);
            margin-bottom: clamp(37px, calc(100vw * (37 / 375)), 63px);
        }
        .article__block-float::after {
            content: "";
            display: table;
            clear: both;
        }

            .article__block-float img { height: auto }
            @media screen and (min-width: 768px) {
                .article__block-float p { width: fit-content }
                .article__block-float img {
                    float: right;
                    width: calc(100% * (460 / 1200));
                    margin-left: min(40px, calc(100vw * (40 / 1920)));
                    margin-bottom: 1em;
                }
            }
            @media screen and (max-width: 767px) {
                .article__block-float img { margin-bottom: 1em }
            }


    .article__movie {
        width: 100%;
        margin-block: min(100px, calc(100vw * (100 / 1920)));
    }

        .article__movie iframe {
            aspect-ratio: 16 / 9;
            display: block;
            width: 100%;
        }



.single-archive {}

    .single-archive__list {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        column-gap: min(79px, calc(100vw * (79 / 1920)));
        row-gap: clamp(20px, calc(100vw * (67 / 1920)), 67px);
    }

        .single-archive__item {
            width: min(100%, 360px);
        }



/*------------------------------------*\
    $PAGES
\*------------------------------------*/
.page-title {
    margin-bottom: 20px;
    color: var(--primaryBlue-500);
    font-size: clamp(2.2rem, calc(100vw * (22 / 768)), 5.0rem);
    line-height: 1.44;
}


.page-content {
    color: var(--neutralColor-600);
    font-size: clamp(1.4rem, calc(100vw * (14 / 768)), 2.0rem);
    line-height: calc(24 / 14);
}

    .page-content > :is(h1, h2, h3, h4, h5, h6) {
        margin-bottom: .5em;
        font-weight: 700;
        line-height: 1.25;
    }
    .page-content > h1 { font-size: 1.6em }
    .page-content > h2 { font-size: 1.5em }
    .page-content > h3 { font-size: 1.4em }
    .page-content > h4 { font-size: 1.3em }
    .page-content > h5 { font-size: 1.2em }
    .page-content > h6 { font-size: 1.1em }

    .page-content > p {
        margin-top: 1em;
        margin-bottom: 2em;
    }
    .page-content > p:last-child { margin-bottom: 96px }
    .page-content > p.has-text-align-right { text-align: right }
    .page-content > p.has-text-align-center { text-align: center }



/**
 * Form
 */
.fs-form {
    padding-top: clamp(40px, calc(100vw * (40 / 768)), 80px);
    padding-bottom: clamp(60px, calc(100vw * (60 / 768)), 100px);
}
@media screen and (max-width: 1023px) {
    .fs-form {
        margin: 0 -10px;
    }
}

    .fs-form__description {
        margin-bottom: calc(50px - clamp(20px, calc(100vw * (20 / 768)), 30px));
        font-size: clamp(1.4rem, calc(100vw * (14 / 768)), 1.6rem);
    }
    .fs-form__description span { color: var(--accentColor) }


    .fs-form__main { padding-bottom: clamp(10px, calc(100vw * (10 / 375)), 40px) }

        .fs-form__block {
            display: flex;
            flex-wrap: wrap;
            column-gap: clamp(20px, calc(100vw * (20 / 768)), 32px);
            row-gap: 10px;
            padding-top: clamp(11px, calc(100vw * (11 / 375)), 40px);
            padding-bottom: clamp(30px, calc(100vw * (30 / 375)), 40px);
            border-top: 1px solid var(--neutralColor-300);
        }

            .fs-form__label {
                flex-grow: 1;
                width: 228px;
            }

                .fs-form__required::after {
                    content: "※";
                    color: var(--accentColor);
                }


            .fs-form__input {
                flex-grow: 1;
                width: calc(100% - 260px);
                min-width: 320px;
            }

                .fs-form__input ::placeholder { color: var(--neutralColor-500) }
                .fs-form__input :is(input, select, textarea) {
                    width: 100%;
                    padding-inline: clamp(20px, calc(100vw * (20 / 768)), 30px);
                    border-radius: 6px;
                    background-color: var(--neutralColor-100);
                    color: var(--neutralColor-600);
                }
                .fs-form__input :is(input, select) {
                    display: flex;
                    align-items: center;
                    height: clamp(60px, calc(100vw * (60 / 768)), 90px);
                }
                .fs-form__input select {
                    padding-right: clamp(32px, calc(100vw * (32 / 768)), 48px);
                    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 12 12"><polygon fill="%23333333" points="6,9.5 0,3.5 1,2.5 6,7.5 11,2.5 12,3.5"/></svg>');
                    background-repeat: no-repeat;
                    background-position: calc(100% - clamp(10px, calc(100vw * (10 / 375)), 30px));
                    background-size: clamp(8px, calc(100vw * (8 / 768)), 12px);
                }
                .fs-form__input textarea {
                    padding-block: clamp(20px, calc(100vw * (20 / 768)), 30px);
                }


                .fs-form__text {
                    margin-top: clamp(10px, calc(100vw * (10 / 375)), 20px);
                }

                    .fs-form__text span {
                        color: #FF0000;
                    }


    .fs-form__concent {
        padding-block: clamp(20px, calc(100vw * (20 / 375)), 60px);
        padding-inline: clamp(20px, calc(100vw * (20 / 375)), 60px);
        margin-bottom: clamp(40px, calc(100vw * (40 / 375)), 80px);
        background-color: var(--neutralColor-200);
    }

        .fs-form__concent__textbox {
            display: flex;
            flex-direction: column;
            row-gap: calc(50px - clamp(20px, calc(100vw * (20 / 768)), 30px));
            margin-bottom: clamp(10px, calc(100vw * (10 / 375)), 42px);
        }

            .fs-form__concent__text {
                font-size: clamp(1.4rem, calc(100vw * (14 / 768)), 1.6rem);
                line-height: calc(24 / 14);
            }
            .fs-form__concent__text a { color: var(--primaryBlue-400) }


        .fs-form__concent__main {
            display: flex;
            justify-content: center;
        }

            .fs-form__concent__main label {
                display: flex;
                align-items: center;
                column-gap: clamp(7px, calc(100vw * (7 / 768)), 9px);
                cursor: pointer;
            }

            .fs-form__concent__main input[type=checkbox] {
                aspect-ratio: 1 / 1;
                display: block;
                width: clamp(32px, calc(100vw * (32 / 768)), 40px);
                border: 2px solid var(--primaryBlue-300);
                border-radius: 6px;
                background-color: white;
            }
            .fs-form__concent__main input[type=checkbox]:checked {
                background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 36 36"><polygon fill="%233799DD" points="15.7,28.2 6.6,19.9 8.6,17.7 15.4,23.8 27.8,8.5 30.1,10.4 "/></svg>');
                background-repeat: no-repeat;
                background-size: 100%;
            }


    input[type=submit],
    .wpcf7-submit,
    .wpcf7cp-cfm-edit-btn {
        display: flex;
        justify-content: center;
        align-items: center;
        width: min(680px, 100%);
        height: clamp(50px, calc(100vw * (50 / 375)), 60px);
        margin-inline: auto !important;
        border-radius: 10px;
        background-color: var(--primaryBlue-300);
        background-image: url(../images/icon-right-arrow.svg);
        background-repeat: no-repeat;
        color: white;
        font-size: clamp(1.6rem, calc(100vw * (16 / 768)), 2.0rem);
        font-weight: 700;
        text-align: center;
        cursor: pointer;
    }
    .wpcf7cp-cfm-edit-btn { background-color: var(--neutralColor-300) }
    @media screen and (orientation: landscape) {
        input[type=submit],
        .wpcf7-submit,
        .wpcf7cp-cfm-edit-btn {
            background-position: calc(100% - 19.6px) 50%;
            background-size: auto 10.88px;
        }
    }
    @media screen and (orientation: portrait) {
        input[type=submit],
        .wpcf7-submit,
        .wpcf7cp-cfm-edit-btn {
            background-position: calc(100% - 8.8px) 50%;
            background-size: auto 7.75px;
        }
    }




/* Confirm */
.wpcf7cp-form-hide { display: none }

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output, .wpcf7 form .wpcf7-response-output {
    margin-bottom: clamp(60px, calc(100vw * (60 / 768)), 100px);
    border-radius: 6px;
    border-color: var(--primaryGreen-300);
}

.wpcf7cp-btns {
    display: flex;
    flex-direction: column-reverse;
    row-gap: 32px;
}

#wpcf7cpcnf {
    position: static !important;
    padding-top: clamp(40px, calc(100vw * (40 / 768)), 80px);
    padding-bottom: clamp(60px, calc(100vw * (60 / 768)), 100px);
}

    #wpcf7cpcnf table { display: block }

        #wpcf7cpcnf tr {
            display: flex;
            flex-wrap: wrap;
            column-gap: clamp(20px, calc(100vw * (20 / 768)), 32px);
            row-gap: 10px;
            padding-top: clamp(11px, calc(100vw * (11 / 375)), 40px);
            padding-bottom: clamp(30px, calc(100vw * (30 / 375)), 40px);
            border-top: 1px solid var(--neutralColor-300);
        }

        #wpcf7cpcnf th {
            flex-grow: 1;
            width: 228px;
        }

        #wpcf7cpcnf td {
            flex-grow: 1;
            width: calc(100% - 260px);
            min-width: 320px;
        }


        .fs-course-type-color-award--before::before, .fs-course-type-color-award--after::after {
            background-color: #88b7ef;
        }

        
        .fs-course-type-color-award--before::before {
            background-color: #88b7ef;
        }

        .header__nav__item.fs-course-type-color-award:hover .header__nav__link {
            background-color: #88b7ef;
        }


/* 202501追加 */
.alert {
    margin-bottom: clamp(28px, calc(100vw * (28 / 768)), 38px);
    border: 2px solid #FF0000;
    background-color: #FFF8F8;
    font-size: clamp(1.4rem, calc(100vw * (14 / 768)), 2.0rem);
}
@media screen and (orientation: landscape) {
    .alert {
        padding: 30px 38px;
        line-height: 1.7;
    }
}
@media screen and (orientation: portrait) {
    .alert {
        padding: 18px;
        line-height: calc(24 / 14);
    }
}
