@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&family=Noto+Sans+JP:wght@100..900&display=swap');

:root {
    --manrope: "Manrope", sans-serif;
    --noto: "Noto Sans JP", sans-serif;
}


img.w100 {
    max-width: 100%;
    height: auto;
}

.-series .l-header__inner, .l-fixHeader__inner {
    justify-content: space-between;
    align-items: center;
}

.-series .l-header__logo, .l-fixHeader__logo {
    margin: 0 auto;
}

.c-gnav__sBtn {
    width: 34px;
    height: 34px;
    background-color: #009FE8;
    border-radius: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.c-gnav__sBtn .icon-search {
    font-size: 15px;
    color: #FFF;
}

.is-style-balloon>.c-tabList .c-tabList__button {
    background-color: #DDDDDD;
    color: #999999;
    border: 2px solid #DDDDDD;
    border-radius: 5px;
}

.is-style-balloon>.c-tabList .c-tabList__button:hover, .is-style-balloon>.c-tabList .c-tabList__button[aria-selected=true] {
    background-color: #FFF;
    border: 1px solid #0071BE;
    color: #0071BE;
}

.is-style-balloon>.c-tabList .c-tabList__button:before {
    border: 8px solid transparent;
    border-bottom: 0;
    border-top: 8px solid var(--color_main);
    bottom: -11px;
    content: "";
    display: block;
    height: 0;
    left: 50%;
    opacity: 0;
    position: absolute;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 17px solid transparent;
    border-left: 17px solid transparent;
    border-top: 21px solid #0071be;
    border-bottom: 0;
    z-index: -1;
}

.is-style-balloon>.c-tabList .c-tabList__button:hover:before, .is-style-balloon>.c-tabList .c-tabList__button:hover:after, .is-style-balloon>.c-tabList .c-tabList__button[aria-selected=true]:before, .is-style-balloon>.c-tabList .c-tabList__button[aria-selected=true]:after {
    opacity: 1;
}

.is-style-balloon>.c-tabList .c-tabList__button:after {
    border: 8px solid transparent;
    border-bottom: 0;
    border-top: 8px solid var(--color_main);
    bottom: -9px;
    content: "";
    display: block;
    height: 0;
    left: 50%;
    opacity: 0;
    position: absolute;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 18px solid transparent;
    border-left: 18px solid transparent;
    border-top: 21px solid #FFF;
    border-bottom: 0;
    z-index: 1;
}

.is-style-balloon>.c-tabList .c-tabList__button:before {
    transition: none;
}

.is-style-balloon>.c-tabList .c-tabList__button {
    background: var(--color_gray);
    transition: none;
}

.c-postThumb__cat {
    right: auto;
    left: 0;
}

.pickup-slider {
    overflow: visible;
    padding-bottom: 30px;

    .swiper-slide {
        width: 433px;

        position: relative;

        .pickup-thumb {
            width: 100%;
            height: 245px;
            border: 3px solid #00A7EA;


            img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

        }

        .pickup-content {
            .pickup-cat {
                display: inline-block;
                background-color: #222222;
                color: #fff;
                font-size: 10px;
                line-height: 2;
                overflow: hidden;
                padding: 0 .75em;
                position: absolute;
                top: 0;
                right: auto;
                left: 0;
            }

            .pickup-cat:before {
                content: "\e92f";
                -webkit-font-smoothing: antialiased;
                -moz-osx-font-smoothing: grayscale;
                font-family: icomoon !important;
                font-style: normal;
                font-variant: normal;
                font-weight: 400;
                line-height: 1;
                text-transform: none;
            }




            h3 {
                font-weight: bold;
                font-size: 14px;
                line-height: 1.4;
                color: #222;
            }
        }
    }
}

.c-postTimes__posted {
    color: #0071BE;
}

.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: 0;
}

.p-pickupBanners {
    margin-bottom: 0;
}

.l-footer {
    padding: 20px 0 !important;
    display: flex;
    flex-direction: column;
    gap: 7px;
    justify-content: center;
    align-items: center;

    .footer-logo {
        text-align: center;
    }

    .c-copyright {
        small {
            font-size: 12px;
        }
    }
}

.wp-singular {
    .l-mainContent__inner {
        background-color: #FFF;
        padding: 27px 30px;
        border: 1px solid #ddd;

        @media screen and (max-width: 767px) {
            padding: 30px 15px;
        }
    }
}

.supervisor-block {
    .supervisor-inner {
        display: flex;
        gap: 20px;

        @media screen and (max-width: 767px) {
            flex-direction: column;
        }

        .supervisor-img {
            max-width: 120px;
            width: 100%;
            height: 120px;
            border-radius: 50px;

            img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                border-radius: 50px;
            }
        }

        .supervisor-content {
            max-width: 500px;
            width: 100%;

            .supervisor-role {
                font-size: 12px;
                line-height: 20px;
                text-align: center;
                color: #fff;
                display: inline-block;
                padding: 2px 7px;
                background-color: #0071BE;
                border-radius: 3px;
                margin-bottom: 5px;
            }

            .supervisor-title {
                font-weight: bold;
                font-size: 12px;
                line-height: 18px;
                text-align: left;
                color: #222;
                padding: 0;
                margin-top: 0;
                margin-bottom: 4px;
            }

            .supervisor-title::before {
                content: none;
            }

            .supervisor-text {
                font-size: 11px;
                line-height: 18px;
                text-align: left;
                color: #222;
                margin-bottom: 18px;
            }

            .supervisor-btn {
                background-color: #0071BE;
                max-width: 280px;
                width: 100%;
                margin: 0 auto;
                border-radius: 50px;

                a {
                    font-weight: bold;
                    font-size: 14px;
                    text-align: center;
                    color: #fff;
                    display: flex;
                    position: relative;
                    gap: 10px;
                    justify-content: center;
                    align-items: center;
                    padding: 11px 0;
                    border-radius: 50px;

                }

                a::before {
                    content: "";
                    display: inline-block;
                    background: url(../img/icon.png) no-repeat center/contain;
                    width: 28px;
                    height: 23px;
                }
            }
        }
    }
}

.swell-block-faq__item {
    .faq_q {
        font-family: var(--noto);
        font-weight: 500;
        font-size: 16px;
        line-height: 21px;
        text-align: left;
        color: #222;
    }

    .faq_a {
        p {
            font-family: var(--noto);
            font-size: 14px;
            line-height: 24px;
            text-align: left;
            color: #222;

        }
    }

    .faq_q::before {
        background-color: #0071BE;
        border-radius: 3px;
        font-family: var(--manrope);
        font-weight: normal;
        font-size: 20px;
        line-height: 20px;
        text-align: center;
        color: #fff;
        width: 35px;
        height: 35px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .faq_a::before {
        font-family: var(--manrope);
        font-size: 20px;
        line-height: 20px;
        border-radius: 3px;
        border: 1px solid #0071BE;
        background-color: #FFFFFF;
        width: 35px;
        height: 35px;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #0071BE;
    }
}

.wp-block-custom-table {
    .custom-table {
        font-family: var(--noto);
        font-size: 14px;
        color: #333;

        .row-header {
            th {
                background-color: #0071BE;
                color: #FFF;
                font-weight: 500;
                line-height: 21px;

            }
        }

        .row-body {
            td:first-child {
                background-color: #EDF2F6;
            }
        }
    }

    p.table-note {
        text-align: right;
        font-family: var(--noto);
        font-size: 12px;
        line-height: 24px;
        color: #999;
        margin-top: 10px;

    }
}

.point-list-block {
    background: #fff;
    border: 2px solid #0071be;
    padding: 0;

    .point-heading {
        background-color: #0071BE;
        color: #FFF;
        font-family: var(--noto);
        font-weight: 500;
        font-size: 14px;
        line-height: 24px;
        text-align: center;
        color: #fff;
        padding: 12px 0;


        .point-heading-bottom {
            margin: 0;
            font-size: 16px;
        }
    }

    .point-content {
        padding: 20px;
        list-style: none;
        counter-reset: number 0;

        .point-list {
            font-family: var(--noto);
            font-weight: 400;
            font-size: 14px;
            line-height: 30px;
            text-align: left;
            color: #222;
            display: flex;
            flex-direction: column;
            gap: 10px;
            padding: 0;
            margin-bottom: 17px;

            mark {
                font-weight: bold;
                background: linear-gradient(to bottom, #ffffff 40%, #E2F5FC 40%);
            }

            .point-text {
                margin: 0;
                padding-left: 34px;
                position: relative;
            }

            .point-text::after {
                counter-increment: number 1;
                content: counter(number);
                color: #FFF;
                position: absolute;
                top: 0;

                margin: auto;
                font-family: var(--manrope);
                font-weight: normal;
                font-size: 12px;
                line-height: 24px;
                text-align: center;
                color: #fff;
                left: 0;
                width: 24px;
                height: 24px;
            }

            .point-text::before {
                content: "";
                position: absolute;
                top: 0;
                left: 0;
                width: 24px;
                height: 24px;
                background-color: #0071BE;

                border-radius: 50px;
            }

            .point-text::marker {
                content: none;
            }
        }

        .point-description {
            font-family: var(--noto);
            font-size: 14px;
            line-height: 30px;
            text-align: center;
            color: #222;
            margin-bottom: 20px;

            @media screen and (max-width: 767px) {
                line-height: 22px;

            }
        }

        .btn-point {
            background-color: #0071BE;
            max-width: 280px;
            width: 100%;
            margin: 0 auto;
            border-radius: 50px;
            font-weight: bold;
            font-size: 14px;
            text-align: center;
            color: #fff;
            display: flex;
            position: relative;
            gap: 10px;
            justify-content: center;
            align-items: center;
            padding: 11px 0;
            border-radius: 50px;




        }

        .btn-point::before {
            content: "";
            display: inline-block;
            background: url(../img/icon.png) no-repeat center/contain;
            width: 28px;
            height: 23px;
        }
    }
}

.point-btn-wrapper {
    background-color: #0071BE;
    max-width: 360px;
    width: 100%;
    margin: 0 auto;
    border-radius: 50px;

    a {
        font-family: var(--noto);
        font-weight: bold;
        font-size: 14px;
        line-height: 20px;
        text-align: center;
        color: #fff;
        position: relative;
        padding: 11px 0;
        border-radius: 50px;
        display: block;
    }
}

.wp-block-custom-deco-text {
    font-family: var(--noto);
    font-weight: 500;
    font-size: 16px;
    line-height: 21px;
    text-align: left;
    color: #222;

    padding-bottom: 7px;
    position: relative;
}

.wp-block-custom-deco-text::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px;
    width: 60px;
    background-color: #0071BE;
}

.button-only-block {
    text-align: center;

    a {
        display: inline-block;
        padding: 13px 26px;
        font-family: var(--noto);
        font-weight: bold;
        font-size: 14px;
        text-align: left;
        color: #fff;
        background-color: #0071BE;
        border-radius: 50px;
        text-align: center;
        margin: 0 auto;
    }
}

.result-cards-block {
    .result-heading {
        display: flex;
        flex-direction: column;
        gap: 4px;
        margin-bottom: 16px;

        .result-title {
            font-family: var(--noto);
            font-weight: bold;
            font-size: 24px;
            line-height: 1.4;
            text-align: center;
            color: #222;
            margin: 0;
            border-left: none;
            padding: 0;

            @media screen and (max-width: 767px) {
                font-size: 18px;
            }
        }

        .result-subtitle {
            font-family: var(--noto);
            font-size: 12px;
            text-align: center;
            color: #222;
        }
    }

    .result-cards {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 19px;

        @media screen and (max-width: 767px) {
            grid-template-columns: 1fr;
            grid-template-rows: auto;
        }

        .result-card {
            border-radius: 10px;
            background: #fff;
            border: 1px solid #6fa8cf;
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 20px 15px;
            gap: 10px;

            img {
                margin-top: auto !important;
                max-width: 100%;
                height: auto;
                width: auto;
            }

            .card-heading {
                margin: 0;
                font-family: var(--noto);
                font-weight: bold;
                font-size: 16px;
                line-height: 24px;
                text-align: center;
                color: #0071be;
                padding: 0;
                margin-top: auto;
            }

            .card-heading::before {
                content: none;
            }

            .card-text {
                font-family: var(--noto);
                font-size: 11px;
                line-height: 17px;
                text-align: center;
                color: #222;

            }
        }
    }

    .note-text {
        font-family: var(--noto);
        font-size: 12px;
        line-height: 24px;
        text-align: right;
        color: #999;

    }
}

.post-card-link {
    .post-card {
        display: grid;
        grid-auto-flow: column;
        gap: 13px;
        border-radius: 10px;
        background: #f5f8f9;
        border: 2px solid #92b5cc;
        padding: 20px;
        align-items: flex-start;

        @media screen and (max-width: 767px) {
            grid-auto-flow: row;
        }

        .post-card-thumb {
            max-width: 177px;
            width: 100%;
            height: 100px;
            border: 1px solid #ccc;
            border-radius: 5px;

            @media screen and (max-width: 767px) {
                margin: 0 auto;
            }

            img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                border-radius: 5px;
            }
        }

        .post-card-body {
            .post-card-title {
                padding: 0;
                font-family: var(--noto);
                font-weight: bold;
                font-size: 14px;
                line-height: 24px;
                text-align: left;
                color: #222;
                margin: 0;

            }

            .post-card-title::before {
                content: none;
            }

            .post-card-excerpt {
                font-family: var(--noto);
                font-size: 11px;
                line-height: 18px;
                text-align: left;
                color: #777;

            }
        }
    }
}

.note-text-block {
    font-family: var(--noto);
    font-size: 12px;
    line-height: 18px;
    color: #777;
    text-align: center;
}

.c-categoryList__link, .c-tagList__link {
    border-radius: 3px;
    background: #fff;
    border: 1px solid #ccc;
    color: #222;
}

.c-categoryList, .c-tagList {
    color: #6FA8CF;
}

.c-postTimes__modified {
    color: #6FA8CF;
}

ul.p-postList.p-relatedPosts.-type-card {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;

    @media screen and (max-width: 767px) {
        grid-template-columns: repeat(2, 1fr);
    }

    .p-postList__item {
        width: 100%;
        padding: 0;

        .p-postList__thumb.c-postThumb {
            box-shadow: none;
            height: 113px;
        }

        .c-postThumb__figure {
            border-radius: 10px;
            height: 100%;

            img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
        }

        .p-postList__body {
            font-family: var(--noto);
            font-weight: bold;
            font-size: 12px;
            line-height: 18px;
            text-align: left;
            color: #222;
            padding: 0;
            margin-top: 9px;

        }
    }
}

.l-sidebar {
    .c-widget {
        .wp-block-heading, .c-widget__title {
            font-family: var(--noto);
            font-weight: bold;
            font-size: 16px;
            text-align: left;
            color: #222;
            padding-left: 13px;
            position: relative;
        }

        .wp-block-heading::before, .c-widget__title::before {
            content: "";
            position: absolute;
            width: 3px;
            height: 100%;
            background-color: #0071BE;
            left: 0;
            top: 0;
        }

        .wp-block-categories-list {
            .cat-item {
                a::before {
                    color: #6FA8CF;
                }
            }
        }

        .c-widget__title::after {
            content: none;
        }

        .p-postList {
            @media screen and (max-width: 767px) {
                gap: 10px;
            }

            .p-postList__item {
                padding: 0;

                @media screen and (max-width: 767px) {
                    width: 48%;
                }

                a {
                    display: flex;
                    gap: 14px;
                    align-items: center;

                    @media screen and (max-width: 767px) {
                        flex-direction: column;

                    }

                    .p-postList__thumb {
                        max-width: 115px;
                        width: 100%;
                        height: 65px;
                        box-shadow: none;

                        @media screen and (max-width: 767px) {
                            max-width: 100%;
                            height: 80px;
                        }

                        .c-postThumb__figure {
                            width: 100%;
                            height: 100%;
                            border-radius: 5px;
                            border: 1px solid #999;

                            img {
                                width: 100%;
                                height: 100%;
                                object-fit: cover;
                                border-radius: 5px;
                            }
                        }
                    }


                    .p-postList__body {
                        padding: 0;

                        .p-postList__title {
                            font-family: var(--noto);
                            font-size: 12px;
                            line-height: 20px;
                            text-align: left;
                            color: #222;

                        }
                    }
                }
            }
        }

        .-w-ranking .p-postList__item::before {
            left: 0;
            top: 0;
            width: 22px;
            height: 22px;
            font-family: var(--noto);
            font-size: 12px;
            line-height: 22px;
            text-align: center;
            color: #fff;
            border-radius: 5px 0px 0px 0px;
            background: #555;

        }

        .-w-ranking .p-postList__item:first-child:before {

            background: linear-gradient(#efd969 0%, #c9a21f 100%);
        }

        .-w-ranking .p-postList__item:nth-child(2):before {

            background: linear-gradient(#ececec 0%, #a7a7a7 100%);
        }

        .-w-ranking .p-postList__item:nth-child(3):before {

            background: linear-gradient(#b78068 0%, #9c5e43 100%);
        }
    }
}