@charset "utf-8";

.p-fv {
    background: url(/system_panel/uploads/images/fv.jpg) no-repeat top/cover;
    min-height: 100vh;
    position: relative;

    @media (max-width: 900px) {
        min-height: auto;
    }

    .breadlist {
        margin-top: 15rem;
        margin-bottom: 116rem;

        @media (max-width: 900px) {
            padding-top: 16rem;
            margin-bottom: 40rem;
        }
    }

    .w1344 {

        .main-title {
            max-width: 960rem;
            width: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            margin: 0 auto 107rem;

            @media (max-width: 900px) {
                padding-bottom: 94rem;
                margin-bottom: 0;
            }

            .headwrap {
                @media (max-width: 900px) {
                    margin-bottom: 30rem;
                }
                .sub {
                    font-family: var(--font-main);
                    font-weight: normal;
                    font-size: 40rem;
                    text-align: center;
                    color: #fff;
                    margin-bottom: 29rem;

                    @media (max-width: 900px) {
                        font-size: 18rem;
                        margin-bottom: 10rem;
                    }
                }

                .main {
                    filter: drop-shadow(0rem 0rem 30rem #00ff93);
                    margin-bottom: 32rem;

                    @media (max-width: 900px) {
                        margin-bottom: 17rem;
                    }
                }

                .date {
                    font-family: var(--font-main);
                    font-weight: normal;
                    font-size: 48rem;
                    text-align: center;
                    color: #fff;

                    @media (max-width: 900px) {
                        font-size: 16rem;
                    }
                }
            }

            .secbody {
                width: 100%;
                display: flex;
                align-items: center;
                gap: 30rem;
                padding-bottom: 17rem;
                border-bottom: 2px solid #FFF;
                margin-bottom: 17rem;

                @media (max-width: 900px) {
                    width: 90%;
                    margin: 0 auto 8rem;
                    flex-wrap: wrap;
                    gap: 17rem;
                    padding-bottom: 16rem;
                }

                .year,
                .date,
                .time {
                    display: flex;
                    flex-direction: column;
                    align-items: flex-start;
                    font-family: var(--font-main);
                    font-weight: 400;
                    color: #fff;

                    .tsmall {
                        font-size: 25rem;
                        text-align: center;
                        color: #fff;

                        @media (max-width: 900px) {
                            font-size: 16rem;
                        }
                    }

                    .t40 {
                        font-size: 40rem;

                        @media (max-width: 900px) {
                            font-size: 24rem;
                        }
                    }

                    .tmiddle {
                        font-size: 72rem;

                        @media (max-width: 900px) {
                            font-size: 32rem;
                        }

                    }

                    .tlarge {
                        font-size: 72rem;

                        @media (max-width: 900px) {
                            font-size: 40rem;
                        }
                    }
                }

                .year,
                .date {
                    padding-right: 30rem;
                    position: relative;

                    @media (max-width: 900px) {
                        padding-right: 17rem;
                    }

                    .tmiddle,
                    .tlarge {
                        margin-top: -20rem;
                    }
                }

                .year::after,
                .date::after {
                    content: "";
                    position: absolute;
                    right: 0;
                    top: 0;
                    bottom: 0;
                    margin: auto;
                    width: 1px;
                    height: 60%;
                    background-color: #FFF;
                }
            }

            .secbottom {
                display: flex;
                justify-content: space-between;
                width: 100%;

                p {
                    font-family: var(--font-main);
                    font-weight: 400;
                    font-size: 30rem;
                    color: #fff;

                    @media (max-width: 900px) {
                        font-size: 16rem;
                    }
                }
            }
        }
    }
}

.wrapper {
    background-color: var(--tangaroa);
}

.p-fv::after {
    content: "";
    position: absolute;
    bottom: -62rem;
    background: url(/system_panel/uploads/images/deco.png) repeat-x center/100% auto;
    width: 100%;
    height: 124rem;
}

.intro {
    overflow: hidden;
    background: url(/system_panel/uploads/images/intro-bg.png) no-repeat top/contain;

    .w960 {
        max-width: 960rem;
        width: 90%;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        gap: 78rem;
        padding: 143rem 0 452rem;

        @media (max-width: 900px) {
            padding: 92rem 0 222rem;
            gap: 40rem;
        }

        .main {
            font-family: var(--font-main);
            font-weight: normal;
            font-size: 45rem;
            line-height: calc((90 / 45) * 1em);
            text-align: center;
            color: #fff;

            @media (max-width: 900px) {
                font-size: 24rem;
                line-height: calc((35 / 24) * 1em);
            }
        }

        .desc {
            p {
                font-family: var(--font-main);
                font-weight: normal;
                font-size: 20rem;
                line-height: 56rem;
                text-align: center;
                color: #fff;

                @media (max-width: 900px) {
                    font-size: 14rem;
                    line-height: calc((32 / 14) * 1em);
                }
            }
        }
    }
}




.main-title {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;

    @media (max-width: 900px) {
        max-width: 350rem;
        width: 100%;
        margin: 0 auto;
    }

    .main {
        font-family: var(--font-main);
        font-weight: bold;
        font-size: 32rem;
        text-align: center;
        color: #fff;

        @media (max-width: 900px) {
            font-size: 21rem;
        }
    }
}

.point {
    position: relative;
    padding: 80rem 0 160rem;
    background-color: #000034;

    @media (max-width: 900px) {
        padding: 65rem 0 119rem;
    }

    .main-title {
        margin-bottom: 120rem;

        @media (max-width: 900px) {
            margin-bottom: 64rem;
        }
    }

    .list {
        display: flex;
        flex-direction: column;
        gap: 120rem;

        @media (max-width: 900px) {
            gap: 64rem;
            max-width: 312rem;
            width: 100%;
            margin: 0 auto;
        }

        .item {
            display: flex;
            gap: 78rem;
            align-items: flex-start;

            @media (max-width: 900px) {
                flex-direction: column;
                gap: 20rem;
            }

            .item-ttl {
                display: flex;
                gap: 8rem;
                align-items: center;

                @media (max-width: 900px) {
                    flex-direction: column;
                    align-items: flex-start;
                    margin-bottom: 17rem;
                }

                .num {
                    font-family: var(--font-en);
                    font-weight: normal;
                    font-size: 104rem;
                    text-align: center;
                    color: #fff;
                    position: relative;

                    @media (max-width: 900px) {
                        font-size: 48rem;
                    }
                }

                .num::before {
                    content: "";
                    background: url(/system_panel/uploads/images/star.svg) no-repeat center/contain;
                    width: 54rem;
                    height: 71rem;
                    position: absolute;
                    top: 0;
                    left: 0;

                    @media (max-width: 900px) {
                        width: 25rem;
                        height: 33rem;
                    }
                }

                .main {
                    font-family: var(--font-main);
                    font-weight: bold;
                    font-size: 32rem;
                    text-align: left;
                    color: #fff;

                    @media (max-width: 900px) {
                        font-size: 20rem;
                    }
                }
            }

            .desc {
                p {
                    font-family: var(--font-main);
                    font-weight: bold;
                    font-size: 18rem;
                    line-height: 40rem;
                    color: #fff;

                    @media (max-width: 900px) {
                        font-size: 14rem;
                        line-height: calc((32 / 14) * 1em);
                    }
                }
            }

            .imgwrap {
                max-width: 888rem;
                width: 47%;

                @media (max-width: 900px) {
                    width: 100%;
                }
            }

            .textwrap {
                max-width: 665rem;
                width: 35%;

                @media (max-width: 900px) {
                    width: 100%;
                }
            }
        }

        .item:nth-child(2n) {
            flex-direction: row-reverse;

            @media (max-width: 900px) {
                flex-direction: column;
            }
        }
    }
}

.point::before {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 0;
    background: url(/system_panel/uploads/images/section-div.png) no-repeat top/cover;
    width: 100%;
    height: 452rem;

    @media (max-width: 900px) {
        height: 87rem;
    }
}

@media (max-width: 900px) {
    .infinite-scroll {
        .track {
            height: 250rem;

            img {
                height: 100%;
                width: auto;
            }
        }
    }
}

.program {
    position: relative;
    z-index: 5;
    background: url(/system_panel/uploads/images/program-bg.png) no-repeat top/contain;

    .w1152 {
        padding: 120rem 0 24rem;

        .main-title {
            margin-bottom: 80rem;
        }

        .sec-body {
            display: flex;
            flex-direction: column;
            gap: 40rem;

            @media (max-width: 900px) {
                gap: 30rem;
            }

            .item {
                display: grid;
                grid-template-columns: 15% 1fr;
                padding-bottom: 40rem;
                border-bottom: dashed 1rem #FFF;

                @media (max-width: 900px) {
                    display: flex;
                    flex-direction: column;
                    gap: 16rem;
                    align-items: center;
                    padding-bottom: 33rem;
                }

                .ttl {
                    font-family: var(--font-main);
                    font-weight: normal;
                    font-size: 15rem;
                    text-align: left;
                    color: #fff;

                    @media (max-width: 900px) {
                        font-size: 16rem;
                    }
                }

                .detail {
                    font-family: var(--font-main);
                    font-weight: bold;
                    font-size: 18rem;
                    color: #fff;

                    .f-23 {
                        font-size: 23rem;

                        @media (max-width: 900px) {
                            font-size: 19rem;
                            text-align: center;
                        }
                    }

                    .center {
                        @media (max-width: 900px) {
                            text-align: center;
                        }
                    }

                    .map {
                        margin-top: 40rem;

                        @media (max-width: 900px) {
                            margin-top: 35rem;
                        }

                        iframe {
                            width: 100%;
                            height: 546rem;

                            @media (max-width: 900px) {
                                height: 327rem;
                            }
                        }
                    }
                }
            }
        }
    }
}

.program::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    background: url(/system_panel/uploads/images/section-div02.png) no-repeat top/cover;
    width: 100%;
    height: 490rem;

    @media (max-width: 900px) {
        height: 99rem;
    }

}

.sponsored {
    position: relative;
    background-color: #000034;

    .inner {
        padding: 515rem 0 120rem;

        @media (max-width: 900px) {
            padding: 196rem 0 63rem;
        }

        .main-title {
            margin-bottom: 120rem;

            @media (max-width: 900px) {
                margin-bottom: 35rem;
            }
        }

        .column {
            display: flex;
            gap: 58rem;

            @media (max-width: 900px) {
                flex-direction: column;
                gap: 32rem;
                max-width: 344rem;
                width: 100%;
                margin: 0 auto;
                align-items: center;
            }

            .imgwrap {
                max-width: 960rem;
                width: 50%;
                height: 446rem;

                @media (max-width: 900px) {
                    max-width: 312rem;
                    width: 100%;
                    height: 145rem;
                }

                img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }
            }

            .textwrap {
                display: flex;
                flex-direction: column;
                align-items: flex-start;
                gap: 40rem;
                max-width: 613rem;
                width: 32%;

                @media (max-width: 900px) {
                    max-width: none;
                    width: 100%;
                    gap: 20rem;
                }

                .desc {
                    p {
                        font-family: var(--font-main);
                        font-weight: bold;
                        font-size: 18rem;
                        line-height: 40rem;
                        text-align: left;
                        color: #fff;

                        @media (max-width: 900px) {
                            font-size: 14rem;
                            line-height: calc((32 / 14) * 1em);
                        }
                    }
                }

                .yajibtn {
                    @media (max-width: 900px) {
                        margin: 0 auto;
                    }
                }
            }
        }

        .sponsorship {
            .w1152 {
                padding-top: 121rem;

                @media (max-width: 900px) {
                    padding-bottom: 63rem;
                }

                .main-title {
                    margin-bottom: 80rem;

                    @media (max-width: 900px) {
                        margin-bottom: 40rem;
                    }
                }

                .list {
                    display: flex;
                    flex-direction: column;
                    gap: 40rem;
                    margin-bottom: 157rem;

                    @media (max-width: 900px) {
                        margin-bottom: 63rem;
                        max-width: 342rem;
                        width: 100%;
                        margin: 0 auto 63rem;
                    }

                    p {
                        font-family: var(--font-main);
                        font-weight: 600;
                        font-size: 16rem;
                        text-align: left;
                        color: #fff;
                    }

                    .item {
                        display: flex;
                        flex-direction: column;
                        align-items: center;
                        width: 100%;
                        gap: 20rem;
                    }

                    .column3,
                    .column4,
                    .column5,
                    .column6 {
                        display: grid;
                        grid-template-columns: repeat(3, 1fr);

                        @media (max-width: 900px) {
                            display: flex;
                            flex-direction: column;
                        }
                    }

                    .column3 {
                        gap: 64rem;

                        @media (max-width: 900px) {
                            gap: 40rem;
                        }

                        .item {
                            max-width: 304rem;

                            @media (max-width: 900px) {
                                max-width: 100%;
                            }
                        }
                    }

                    .column4 {
                        grid-template-columns: repeat(4, 1fr);
                        gap: 29rem;

                        @media (max-width: 900px) {
                            display: flex;
                            gap: 2rem;
                        }

                        .item {
                            max-width: 266rem;

                            @media (max-width: 900px) {
                                max-width: 100%;
                                flex-direction: row;
                                gap: 13rem;

                                img {
                                    max-width: 208rem;
                                    width: 100%;
                                    height: 89rem;
                                    object-fit: cover;
                                }
                            }
                        }
                    }

                    .column5 {
                        grid-template-columns: repeat(5, 1fr);
                        gap: 23rem;

                        @media (max-width: 900px) {
                            display: grid;
                            grid-template-columns: repeat(2, 1fr);

                        }

                        .item {
                            max-width: 213rem;

                            @media (max-width: 900px) {
                                max-width: 100%;
                                gap: 10rem;
                            }
                        }
                    }

                    .column6 {
                        max-width: 960rem;
                        width: 100%;
                        margin: 0 auto;
                        grid-template-columns: repeat(6, 1fr);
                        gap: 21rem 38rem;

                        @media (max-width: 900px) {
                            display: grid;
                            max-width: 294rem;
                            grid-template-columns: repeat(2, 1fr);
                            grid-template-rows: auto;
                            gap: 20rem;
                        }
                    }
                }

                .recruitment {
                    margin-bottom: 120rem;
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    gap: 31rem;
                    overflow: hidden;

                    @media (max-width: 900px) {
                        margin-bottom: 80rem;
                        gap: 20rem;
                    }

                    .desc {
                        text-align: center;


                        p {
                            max-width: 624rem;
                            width: 82%;
                            font-family: var(--font-main);
                            font-weight: bold;
                            font-size: 24rem;
                            line-height: calc((35 / 24) * 1em);
                            text-align: center;
                            color: #fff;
                            display: inline-block;
                            position: relative;

                            @media (max-width: 900px) {
                                font-size: 14rem;
                                line-height: calc((20 / 14) * 1em);
                            }
                        }
                    }

                    .desc p::before {
                        content: "";
                        position: absolute;
                        top: 0;
                        bottom: 0;
                        margin: auto;
                        right: calc(100% + 65rem);
                        background: url(/system_panel/uploads/images/20251125043432977513.png) no-repeat center/contain;
                        max-width: 282rem;
                        width: 46%;
                        height: 191rem;

                        @media (max-width: 900px) {
                            width: 100%;
                            max-width: 177rem;
                            right: calc(100% + 13rem);
                        }
                    }

                    .desc p::after {
                        content: "";
                        position: absolute;
                        top: 0;
                        bottom: 0;
                        margin: auto;
                        left: calc(100% + 65rem);
                        background: url(/system_panel/uploads/images/20251125043432977513.png) no-repeat center/contain;
                        max-width: 282rem;
                        width: 46%;
                        height: 191rem;
                        transform: scaleX(-1);

                        @media (max-width: 900px) {
                            width: 100%;
                            max-width: 177rem;
                            right: 0;
                            left: calc(100% + 13rem);
                        }
                    }

                    .morebtn {
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        border: 1rem solid #FFF;
                        border-radius: 50rem;
                        padding: 10rem 34rem;

                        .linktext {
                            font-family: var(--font-main);
                            font-weight: bold;
                            font-size: 18rem;
                            text-align: center;
                            color: #fff;
                        }
                    }
                }

                .attention {
                    background-color: #242450;

                    .w960 {
                        max-width: 960rem;
                        width: 90%;
                        margin: 0 auto;
                        padding: 64rem 0 80rem;
                        display: flex;
                        flex-direction: column;
                        gap: 40rem;

                        @media (max-width: 900px) {
                            padding: 40rem 0;
                            gap: 20rem;
                        }

                        .item {
                            padding-bottom: 40rem;
                            border-bottom: 1px dashed #FFF;

                            .main {
                                font-family: var(--font-main);
                                font-weight: bold;
                                font-size: 24rem;
                                text-align: center;
                                color: #fff;
                                margin-bottom: 40rem;

                                @media (max-width: 900px) {
                                    font-size: 20rem;
                                    margin-bottom: 20rem;
                                }
                            }

                            .desc {
                                p {
                                    font-family: var(--font-main);
                                    font-weight: 600;
                                    font-size: 16rem;
                                    line-height: calc((23 / 16) * 1em);
                                    text-align: left;
                                    color: #fff;

                                    @media (max-width: 900px) {
                                        font-size: 16rem;
                                        line-height: calc((20 / 16) * 1em);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

.cta {
    background: url(/system_panel/uploads/images/separator.jpg) no-repeat center/cover;

    .w1344 {
        padding: 120rem 0;

        @media (max-width: 900px) {
            padding: 40rem 0;
        }

        .column {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 40rem;
            max-width: none;

            @media (max-width: 900px) {
                display: flex;
                flex-direction: column;
                padding: 0;
            }

            .item {
                padding: 32rem 0;
                background-color: rgba(0, 0, 52, 0.8);
                display: flex;
                flex-direction: column;
                align-items: center;

                @media (max-width: 900px) {
                    padding: 20rem 10rem;
                }

                .deco {
                    margin-bottom: 8rem;
                }

                .item-ttl {
                    font-family: var(--font-main);
                    font-weight: bold;
                    font-size: 32rem;
                    text-align: center;
                    color: #fff;
                    margin-bottom: 8rem;

                    @media (max-width: 900px) {
                        font-size: 23rem;
                    }
                }

                .sub {
                    font-family: var(--font-main);
                    font-weight: bold;
                    font-size: 16rem;
                    text-align: left;
                    color: #fff;
                    margin-bottom: 20rem;

                    @media (max-width: 900px) {
                        font-size: 14rem;
                        margin-bottom: 16rem;
                    }
                }

                .morebtn {
                    padding: 10rem 20rem;
                    border: 1rem solid #FFF;
                    border-radius: 50rem;
                    text-align: center;
                    transition: all .4s ease;

                    .linktext {
                        font-family: var(--font-main);
                        font-weight: bold;
                        font-size: 18rem;
                        text-align: center;
                        color: #fff;
                    }
                }

                .morebtn:hover {
                    filter: opacity(50%);
                    transition: all .4s ease;
                }
            }
        }
    }
}