@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: 15px;
        margin-bottom: 116px;

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

    .w1344 {

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

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

            .headwrap {
                @media (max-width: 900px) {
                    margin-bottom: 30px;
                }

                .sub {
                    font-family: var(--font-main);
                    font-weight: normal;
                    font-size: clamp(1.125rem, 0.775rem + 1.44vw, 2.5rem);
                    text-align: center;
                    color: #fff;
                    margin-bottom: 29px;

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

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

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

                .date {
                    font-family: var(--font-main);
                    font-weight: normal;
                    font-size: clamp(1.125rem, 0.647rem + 1.96vw, 3rem);
                    text-align: center;
                    color: #fff;
                }
            }

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

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

                .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: clamp(1rem, 0.857rem + 0.59vw, 1.563rem);
                        text-align: center;
                        color: #fff;
                    }

                    .t40 {
                        font-size: clamp(1.5rem, 1.245rem + 1.05vw, 2.5rem);
                    }

                    .tmiddle {
                        font-size: clamp(2rem, 1.363rem + 2.61vw, 4.5rem);
                    }

                    .tlarge {
                        font-size: clamp(2.5rem, 1.99rem + 2.09vw, 4.5rem);
                    }
                }

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

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

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

                .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: clamp(1rem, 0.777rem + 0.92vw, 1.875rem);
                    color: #fff;
                }
            }
        }
    }
}

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

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

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

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

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

        .main {
            font-family: var(--font-main);
            font-weight: normal;
            font-size: clamp(1.5rem, 1.165rem + 1.37vw, 2.813rem);
            line-height: calc((90 / 45) * 1em);
            text-align: center;
            color: #fff;

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

        .desc {
            p {
                font-family: var(--font-main);
                font-weight: normal;
                font-size: clamp(0.75rem, 0.629rem + 0.52vw, 1.25rem);
                line-height: calc(56/20*100%);
                text-align: center;
                color: #fff;

                @media (max-width: 900px) {
                    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: 350px;
        width: 100%;
        margin: 0 auto;
    }

    .main {
        font-family: var(--font-main);
        font-weight: bold;
        font-size: clamp(1.313rem, 1.137rem + 0.72vw, 2rem);
        text-align: center;
        color: #fff;
    }
}

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

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

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

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

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

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

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

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

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

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

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

                .num {
                    font-family: var(--font-en);
                    font-weight: normal;
                    font-size: clamp(3rem, 2.108rem + 3.66vw, 6.5rem);
                    text-align: center;
                    color: #fff;
                    position: relative;
                }

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

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

                .main {
                    font-family: var(--font-main);
                    font-weight: bold;
                    font-size: clamp(1rem, 0.757rem + 1.04vw, 2rem);
                    text-align: left;
                    color: #fff;
                }
            }

            .desc {
                p {
                    font-family: var(--font-main);
                    font-weight: bold;
                    font-size: clamp(0.75rem, 0.659rem + 0.39vw, 1.125rem);
                    line-height: calc(40/18*100%);
                    color: #fff;

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

            .imgwrap {
                max-width: 888px;
                width: 41%;

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

            .textwrap {
                max-width: 665px;
                width: auto;

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

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

            @media (max-width: 767px) {
                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: 452px;
    pointer-events: none;

    @media (max-width: 900px) {
        height: 100%;
        background-size: 100% auto;
        background-position: bottom;
    }
}

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

            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: 120px 0 24px;

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

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

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

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

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

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

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

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

                    .f-23 {
                        font-size: clamp(1.25rem, 1.202rem + 0.2vw, 1.438rem);

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

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

                    .map {
                        margin-top: 40px;

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

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

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

.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: 490px;
    pointer-events: none;

    @media (max-width: 900px) {
        height: 100%;
        background-size: 100% auto;
        background-position: top;
    }

}

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

    .inner {
        padding: 515px 0 120px;

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

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

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

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

            @media (max-width: 1024px) {
                gap: 18px;
            }

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

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

                @media (max-width: 1024px) {
                    max-width: calc(312 / 390 * 100%);
                    width: 100%;
                    height: 145px;
                }

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

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

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

                .desc {
                    p {
                        font-family: var(--font-main);
                        font-weight: bold;
                        font-size: clamp(0.75rem, 0.659rem + 0.39vw, 1.125rem);
                        line-height: calc(40/18*100%);
                        text-align: left;
                        color: #fff;

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

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

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

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

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

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

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

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

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

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

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

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

                    .column3 {
                        gap: 64px;

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

                        .item {
                            max-width: 304px;
                            margin: auto;

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

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

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

                        .item {
                            max-width: 266px;

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

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

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

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

                        }

                        .item {
                            max-width: 213px;

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

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

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

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

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

                    .desc {
                        text-align: center;

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

                        p {
                            max-width: 624px;
                            width: 100%;
                            font-family: var(--font-main);
                            font-weight: bold;
                            font-size: clamp(0.875rem, 0.716rem + 0.65vw, 1.5rem);
                            line-height: calc((35 / 24) * 1em);
                            text-align: center;
                            color: #fff;
                            display: inline-block;
                            position: relative;

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

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

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

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

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

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

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

                .attention {
                    background-color: #242450;
                    width: 70%;
                    margin: 0 auto;

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

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

                        @media (max-width: 767px) {
                            padding: 40px 0;
                            gap: 20px;
                            width: 93%;
                        }

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

                            .main {
                                font-family: var(--font-main);
                                font-weight: bold;
                                font-size: clamp(1.25rem, 1.186rem + 0.26vw, 1.5rem);
                                text-align: center;
                                color: #fff;
                                margin-bottom: 40px;

                                @media (max-width: 767px) {
                                    margin-bottom: 20px;
                                }
                            }

                            .desc {


                                p {
                                    font-family: var(--font-main);
                                    font-weight: 600;
                                    font-size: clamp(0.75rem, 0.689rem + 0.26vw, 1rem);
                                    line-height: calc((23 / 16) * 1em);
                                    text-align: left;
                                    color: #fff;

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

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

    .w1344 {
        padding: 120px 0;

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

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

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

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

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

                .deco {
                    margin-bottom: 8px;
                }

                .item-ttl {
                    font-family: var(--font-main);
                    font-weight: bold;
                    font-size: clamp(1.438rem, 1.294rem + 0.59vw, 2rem);
                    text-align: center;
                    color: #fff;
                    margin-bottom: 8px;

                }

                .sub {
                    font-family: var(--font-main);
                    font-weight: bold;
                    font-size: clamp(0.875rem, 0.843rem + 0.13vw, 1rem);
                    text-align: center;
                    color: #fff;
                    margin-bottom: 20px;

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

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

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

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