@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700;800&display=swap");


body,
html {
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    overscroll-behavior-x: none;
}

body {
    background-color: #ffffff;
    font-family: 'Noto Sans TC', sans-serif;
}

.bg {
    position: fixed;
    width: 100%;
    height: 100%;
    background-image: url("../img/bg.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    z-index: -1;
}

.right_btn01 {

    position: absolute;
    width: 8.542vw;
    height: auto;
    right: 0;
    top: 8.5vw;
    cursor: pointer;
    transition: 0.3s ease-in-out;
    z-index: 8;
}

.right_btn02 {
    position: absolute;
    width: 8.542vw;
    height: auto;
    right: 0;
    top: 16vw;
    cursor: pointer;
    transition: 0.3s ease-in-out;
    z-index: 8;
}

.right_btn01:hover,
.right_btn02:hover {
    right: -0.4vw;
}

#section-top {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 53vw;
    background-image: url("../img/bg-top.jpg");
    background-size: cover;
    background-repeat: no-repeat;
}

#rot_logo {
    position: absolute;
    width: 9.4795vw;
    height: auto;
    left: 1vw;
    top: 1vw;
    background-size: contain;
    background-repeat: no-repeat;
    cursor: pointer;
    z-index: 2;
    transition: transform 0.15s ease-in-out;
}

#rot_logo:hover {
    transform: scale(0.92);
}

.arrow {
    position: absolute;
    width: 3.542vw;
    height: auto;
    bottom: 0;
    z-index: 2;
    animation: floatUpDown_aarow 3.5s ease-in-out infinite;
}

@keyframes floatUpDown_aarow {
    0%,
    100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(0.5vw);
    }
}

.slogan {
    position: absolute;
    width: 39.584vw;
    height: auto;
    top: 5.5vw;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 1;
    pointer-events: none;
}

.kv {
    position: absolute;
    width: 75vw;
    height: auto;
    top: 2.5vw;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 2;
    pointer-events: none;
}

.float-wrap {
    animation: swingLeftRight 5.5s ease-in-out infinite;
    transform-origin: bottom center;
}

@keyframes swingLeftRight {
    0% {
        transform: rotate(0.5deg);
    }

    50% {
        transform: rotate(-1deg);
    }

    100% {
        transform: rotate(0.5deg);
    }

}

.ft_box {
    position: relative;
    display: flex;
    width: auto;
    height: 44vw;
    justify-content: center;
}

#btn-box {
    display: flex;
    position: absolute;
    width: auto;
    height: auto;
    bottom: 4vw;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 2;
    justify-content: space-between;
    gap: 1.5vw;
}

#btn-gp,
#btn-ios,
#btn-join {
    position: relative;
    width: 11.198vw;
    height: auto;
    background-size: contain;
    background-repeat: no-repeat;
    cursor: pointer;
    z-index: 1;
    transition: transform 0.2s ease-in-out;
}

#btn-gp:hover,
#btn-ios:hover,
#btn-join:hover {
    transform: scale(0.95);
}

#section-1 {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: auto;
    background-size: cover;
    background-repeat: no-repeat;
}

.connect {
    position: relative;
    width: 100%;
    height: auto;
    background-color: #d5eae8;
}

#box-img {
    position: relative;
    font-size: 0.8vw;
    font-weight: 400;
    letter-spacing: 0.1vw;
    line-height: 1.75;
    color: #fff;
    width: 36vw;
    height: auto;
    z-index: 2;
}

.image-container {
    width: 100%;
    max-width: 100%;
    height: auto;
}

.image-container img {
    width: 100%;
    height: auto;
    display: block;
}

#npc-s1a {
    position: relative;
    width: 53.125vw;
    height: auto;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 1;
    margin: 3vw auto;
    /* top: 3vw; */
    pointer-events: none;
}

#section-2 {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: auto;
    margin-top: 4vw;
    background-size: cover;
    background-repeat: no-repeat;

}

.carousel-wrapper {
    display: flex;
    position: relative;
    width: auto;
    height: auto;
    background: url("../img/abt_bg.png") no-repeat center center;
    background-size: cover;
    box-sizing: border-box;
    text-align: center;
    flex-direction: column;
    align-items: center;
}

.buttons {
    display: flex;
    justify-content: center;
    gap: 2vw;
    margin-bottom: 1vw;
}

#btn_abtA {
    display: block;
    position: relative;
    width: 14.74vw;
    height: 3.75vw;
    background-image: url("../img/btn_abtA2.png");
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 10;
    cursor: pointer;
    transition: 0.2s ease-in-out;
}

#btn_abtB {
    display: block;
    position: relative;
    width: 14.74vw;
    height: 3.75vw;
    background-image: url("../img/btn_abtB2.png");
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 10;
    top: 0;
    cursor: pointer;
    transition: 0.2s ease-in-out;
}

#btn_abtA:hover,
#btn_abtB:hover {
    top: -0.1vw;
}

#btn_abtA.active {
    background-image: url("../img/btn_abtA.png");
}

#btn_abtB.active {
    background-image: url("../img/btn_abtB.png");
}

.carousel {
    position: relative;
    width: auto;
    height: auto;
    margin: 0 auto;
    overflow: hidden;
}

.slides img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: none;
}

.slides img:first-child {
    display: block;
}

.slideA {
    position: relative;
    width: 68.073vw;
    height: auto;

}

.slideB {
    position: relative;
    width: 68.073vw;
    height: auto;
}

.btn-c {
    display: block;
    position: relative;
    width: 13.959vw;
    height: 5.611vw;
    background-image: url("../img/btn_event.png");
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 1;
    bottom: 0;
    cursor: pointer;
    transition: 0.2s ease-in-out;
}

.btn-c:hover {
    bottom: 0.2vw;
}

#npc-s3a {
    position: absolute;
    width: 17.625vw;
    height: 17.625vw;
    background-image: url("../img/abt_npc2.png");
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 1;
    left: 19vw;
    bottom: 0;
    pointer-events: none;
    z-index: 2;
}

#npc-s3b {
    position: absolute;
    width: 17.625vw;
    height: 17.625vw;
    background-image: url("../img/abt_npc1.png");
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 1;
    right: 19vw;
    bottom: 0;
    pointer-events: none;
    z-index: 2;
}

#section-3 {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: auto;
    margin-top: 10vw;
    background-color: #54D7A050;
    background-image: url("../img/bg03.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    padding-bottom: 10vw;
}

.title_03 {
    position: relative;
    width: 100%;
    height: 11vw;
    z-index: 1;
    top: -3vw;
}

.card_box {
    position: relative;
    display: flex;
    width: auto;
    height: auto;
    z-index: 1;
    margin-top: 1vw;
}

.card_01,
.card_02,
.card_03,
.card_04,
.card_05 {
    display: block;
    position: relative;
    width: 14.063vw;
    height: 15.99vw;
    z-index: 1;
    flex-direction: column;
    align-items: center;
    background-size: contain;
    background-repeat: no-repeat;

}

.card_01 {
    background-image: url("../img/card_1a.png");
    top: 0;
    left: 4vw;
}

.card_01.off {
    background-image: url("../img/card_1b.png");
    top: 0;
    left: 4vw;
}

.card_02 {
    background-image: url("../img/card_2a.png");
    top: -2vw;
    left: 1vw;
}

.card_02.off {
    background-image: url("../img/card_2b.png");
    top: -2vw;
    left: 1vw;
}



.card_03 {
    background-image: url("../img/card_3a.png");
    top: 0;
    left: -1vw;
}

.card_03.off {
    background-image: url("../img/card_3b.png");
    top: 0;
    left: -1vw;
}



.card_04 {
    background-image: url("../img/card_4a.png");
    top: 2vw;
    left: 0;
}

.card_04.off {
    background-image: url("../img/card_4b.png");
    top: 2vw;
    left: 0;
}


.card_05 {
    background-image: url("../img/card_5a.png");
    top: -2vw;
    left: -6vw;
}

.card_05.off {
    background-image: url("../img/card_5b.png");
    top: -2vw;
    left: -6vw;
}


#box-ro-login {
    position: relative;
    font-size: 0.8vw;
    font-weight: 400;
    letter-spacing: 0.1vw;
    line-height: 1.75;
    color: #fff;
    width: auto;
    height: auto;
    z-index: 1;
    margin-top: 4vw;
    justify-content: center;
}

#box-ro-logout {
    display: none;
    position: relative;
    font-size: 0.8vw;
    font-weight: 400;
    letter-spacing: 0.1vw;
    line-height: 1.75;
    color: #fff;
    width: 49.7vw;
    height: auto;
    z-index: 1;
    flex-direction: column;
    align-items: center;
    background-size: cover;
    background-repeat: no-repeat;
    margin-top: 4vw;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1vw;
}

#ro-login {
    display: block;
    position: relative;
    width: 30.209vw;
    height: 7.5vw;
    background-image: url("../img/btn_login.png");
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 10;
    cursor: pointer;
    transition: transform 0.2s ease-in-out;
}

#ro-login:hover,
#ro-logout:hover {
    transform: scale(0.95);
}

#btn_ok {
    display: block;
    position: relative;
    width: 6.094vw;
    height: 2.865vw;
    background-image: url("../img/btn_ok.png");
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 10;
    cursor: pointer;
    transition: transform 0.2s ease-in-out;
}

#btn_ok:hover {
    transform: scale(0.95);
}

#ro-logout {
    display: block;
    position: relative;
    width: 6.094vw;
    height: 2.865vw;
    background-image: url("../img/btn_out.png");
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 10;
    cursor: pointer;
    transition: transform 0.2s ease-in-out;
}

.account {
    appearance: none;
    width: auto;
    padding: 0.8vw 1.5vw;
    background-color: #ffffff;
    border: 0 solid #868686;
    border-radius: 7.7vw;
    color: #1b5b7f;
    font-size: 0.8vw;
    text-align: center;
    font-weight: 700;
    letter-spacing: 0.04vw;
}

.custom-dropdown {
    appearance: none;
    width: auto;
    padding: 1vw 2.4vw 1vw 1.2vw;
    background-color: #ffffff;
    border: 0 solid #868686;
    border-radius: 21.7vw;
    color: #1b5b7f;
    font-size: 0.9vw;
    text-align: center;
    cursor: pointer;
    background-image: url("../img/dropdown.png");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 1.6vw;
    font-weight: 600;
    letter-spacing: 0.05vw;
}

.custom-dropdown:valid {
    font-weight: 700;
    color: #1b5b7f;
}

.custom-dropdown option {
    color: #1b5b7f;
}

.custom-dropdown:focus {
    outline: none;
}

.custom-dropdown option[value=""][disabled] {
    display: none;
}

#bnt-confirm:hover {
    transform: scale(0.95);
}

#btn_card {

    position: relative;
    width: 19.948vw;
    height: 4.636vw;
    background-image: url("../img/btn_evevt2.png");
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 10;
    cursor: pointer;
    transition: transform 0.2s ease-in-out;

}


#btn_card.off {
    background-image: url("../img/btn_evevt2b.png");
    background-size: contain;
    background-repeat: no-repeat;
}



#btn_catgift {

    position: relative;
    width: 19.948vw;
    height: 4.636vw;
    background-image: url("../img/btn_evevt1.png");
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 10;
    cursor: pointer;
    transition: transform 0.2s ease-in-out;

}

#btn_card:hover,
#btn_catgift:hover {
    transform: scale(0.95);
}

.rule {
    position: relative;
    width: 50vw;
    height: auto;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 1;
    bottom: 0;
    pointer-events: none;
    margin-top: 3vw;
}

#section-4 {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: auto;
    background-size: cover;
    background-repeat: no-repeat;
}

.notice {
    position: absolute;
    width: 9.167vw;
    height: auto;
    top: -2.5vw;

}

.notice_txt {
    position: relative;
    width: 48.375vw;
    height: auto;
    left: 10vw;
    top: -0.7vw;
    margin-bottom: 4vw;
    padding-top: 5vw;
    color: #262525;
    font-size: 0.92vw;
    font-weight: 600;
    letter-spacing: 0.05vw;
    line-height: 2.2vw;
}

.btn-cs {
    color: #f19e1e;
    text-decoration: none;

}

.btn-cs:hover {
    color: #f1841e;
}

#gotop {
    position: absolute;
    width: 7.448vw;
    height: 11.198vw;
    background-image: url("../img/gotop.png");
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 10;
    right: 2vw;
    bottom: 2.2vw;
    cursor: pointer;
    transition: transform 0.2s ease-in-out;

    animation: floatUpDown 4s ease-in-out infinite;

}

@keyframes floatUpDown {
    0%,
    100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-1vw);
    }
}

#section-5 {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: auto;
    background-color: #000;

}

#gotop:hover {
    transform: scale(0.95);
}

#footbox {
    width: 100%;
}

footer {
    background-color: #96ddfd;
}

/* @media screen and (min-width: 1024px) and (max-width: 1279px) {
    }

@media screen and (min-width: 769px) and (max-width: 1023px) {
    } */

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

    .bg {
        position: fixed;
        width: 100%;
        height: 100%;
        background-image: url("../img/bgm.jpg");
        background-size: cover;
        background-repeat: no-repeat;
        z-index: -1;
    }

    .right_btn01 {
        position: absolute;
        width: 6.5vw;
        height: auto;
        right: 2vw;
        top: 2vw;
        cursor: pointer;
        transition: 0.3s ease-in-out;
        z-index: 8;
    }

    .right_btn02 {
        position: absolute;
        width: 6.5vw;
        height: auto;
        right: 2vw;
        top: 10vw;
        cursor: pointer;
        transition: 0.3s ease-in-out;
        z-index: 8;
    }

    .right_btn01:hover,
    .right_btn02:hover {
        right: 2vw;
    }

    #box-img {
        display: none;
    }

    #box-img-m {
        display: block;
        position: relative;
        width: 94vw;
        height: auto;
        z-index: 2;
    }

    #section-top {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        height: 181vw;
        background-color: #00daff;
        background-image: url("../img/bg-topm.jpg");
        background-size: cover;
        background-repeat: no-repeat;
    }

    #box-logo {
        display: flex;
        position: absolute;
        left: unset;
        top: 102vw;
        z-index: 2;
    }

    #rot_logo {
        position: relative;
        width: 42%;
        height: auto;
        left: auto;
        top: 119vw;
        background-size: contain;
        background-repeat: no-repeat;
        cursor: pointer;
        z-index: 2;
        transition: transform 0.15s ease-in-out;
    }

    #rot_logo:hover {
        transform: scale(1);
    }

    .arrow {
        display: none;
    }

    .slogan {
        position: absolute;
        width: 83%;
        height: auto;
        top: 11vw;
        background-size: contain;
        background-repeat: no-repeat;
        z-index: 1;
        pointer-events: none;
    }

    .kv {
        position: absolute;
        width: 97%;
        height: auto;
        top: 56vw;
        background-size: contain;
        background-repeat: no-repeat;
        z-index: 2;
        pointer-events: none;
    }

    .float-wrap {
        animation: swingLeftRight 5.5s ease-in-out infinite;
        transform-origin: bottom center;
    }

    @keyframes swingLeftRight {
        0% {
            transform: rotate(0.5deg);
        }

        50% {
            transform: rotate(-1deg);
        }

        100% {
            transform: rotate(0.5deg);
        }

    }

    #btn-box {
        display: flex;
        position: relative;
        width: auto;
        height: auto;
        top: 122vw;
        background-size: contain;
        background-repeat: no-repeat;
        z-index: 2;
        justify-content: space-between;
    }

    #btn-gp,
    #btn-ios {
        position: relative;
        width: 36vw;
        height: 10vw;
        margin: 0 1vw;
        background-size: contain;
        background-repeat: no-repeat;
        cursor: pointer;
        z-index: 1;
        transition: transform 0.2s ease-in-out;
    }

    #btn-join {
        position: relative;
        width: 29vw;
        height: 10vw;
        background-size: contain;
        background-repeat: no-repeat;
        cursor: pointer;
        z-index: 1;
        transition: transform 0.2s ease-in-out;
    }

    #btn-gp:hover,
    #btn-ios:hover,
    #btn-join:hover {
        transform: scale(1);
    }

    #btn-ios {
        background-image: url("../img/dl_apple.png");
    }

    #btn-gp {
        background-image: url("../img/dl_google.png");
    }

    #btn-join {
        background-image: url("../img/dl_enroll.png");
        margin: 0 0 0 1.5vw;
    }

    #section-1 {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 12vw 0 8vw;
        width: 100%;
        height: auto;
    }

    .connect {
        display: none;
    }

    #npc-s1a {
        position: relative;
        width: 95%;
        height: auto;
        background-size: contain;
        background-repeat: no-repeat;
        z-index: 1;
        bottom: 0;
        pointer-events: none;
    }

    #npc-s1b {
        display: none;
    }

    #section-2 {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        height: auto;
        padding-top: 2vw;
        margin-bottom: 18vw;
    }

    #title-s2 {
        position: relative;
        width: 38vw;
        height: 29vw;
        background-image: url("../img/title-s2.png");
        background-size: contain;
        background-repeat: no-repeat;
        z-index: 10;
        top: 2vw;
    }

    #box-ro-login {
        display: flex;
        position: relative;
        background-image: url("../img/step-1a-m.png");
        background-size: cover;
        background-repeat: no-repeat;
        width: 94vw;
        height: auto;
        margin: 0;
        justify-content: center;
        margin-bottom: 11vw;
    }

    #box-ro-logout {
        display: none;
        position: relative;
        color: #fff;
        width: 68vw;
        height: auto;
        margin: 0;
        z-index: 1;
        flex-direction: column;
        align-items: center;
        padding: 0;
        background-size: cover;
        background-repeat: no-repeat;
        flex-direction: row;
        flex-wrap: wrap;
        margin-bottom: 13vw;
        justify-content: space-around;
    }

    #ro-login {
        display: block;
        position: relative;
        width: 80vw;
        height: 20vw;
        background-image: url("../img/btn_login.png");
        background-size: contain;
        background-repeat: no-repeat;
        z-index: 10;
        right: unset;
        bottom: 1.2vw;
        cursor: pointer;
    }

    #ro-logout {
        display: block;
        position: relative;
        width: 17vw;
        height: 8vw;
        background-image: url("../img/btn_out.png");
        background-color: #285a7c;
        background-origin: content-box;
        background-size: contain;
        background-repeat: no-repeat;
        z-index: 10;
        cursor: pointer;
        padding: 0 7vw;
        margin: 1vw 0 0;
        transition: transform 0.2s ease-in-out;
        border-radius: 99vw;
    }

    #btn_ok {
        display: block;
        position: relative;
        width: 17vw;
        height: 8vw;
        background-image: url("../img/btn_ok.png");
        background-color: #285a7c;
        background-origin: content-box;
        background-size: contain;
        background-repeat: no-repeat;
        z-index: 10;
        cursor: pointer;
        padding: 0 7vw;
        margin: 1vw 0 0;
        transition: transform 0.2s ease-in-out;
        border-radius: 99vw;
    }

    #order {
        position: relative;
        width: 7vw;
        height: 7vw;
        background-image: url("../img/arrow.png");
        background-size: contain;
        background-repeat: no-repeat;
        margin: 2.5vw 0;
        z-index: 1;
    }

    #box-rorb-login {
        display: flex;
        position: relative;
        background-image: url("../img/step-2a-m.png");
        background-size: cover;
        background-repeat: no-repeat;
        width: 94vw;
        height: 30vw;
        z-index: 1;
        margin-bottom: 10vw;
        justify-content: center;
    }

    #box-rorb-logout {
        display: none;
        position: relative;
        font-size: 0.8vw;
        font-weight: 400;
        letter-spacing: 0.1vw;
        line-height: 1.75;
        color: #fff;
        width: 94vw;
        height: 41vw;
        margin: 0;
        z-index: 1;
        flex-direction: column;
        align-items: center;
        padding: 20vw 0 0;
        background-image: url("../img/step-2-m.png");
        background-size: cover;
        background-repeat: no-repeat;
    }

    #rorb-login {
        position: absolute;
        width: 12vw;
        height: 3vw;
        background: #fff00050;
        background-size: contain;
        background-repeat: no-repeat;
        z-index: 10;
        right: 1vw;
        bottom: 1vw;
        cursor: pointer;
        transition: transform 0.2s ease-in-out;
    }

    #rorb-logout {
        display: block;
        position: relative;
        width: 47.4vw;
        height: 6.6vw;
        background-image: url("../img/btn_dc.png");
        background-size: contain;
        background-repeat: no-repeat;
        z-index: 10;
        cursor: pointer;
        margin: 1.5vw 0;
        transition: transform 0.2s ease-in-out;
    }

    #rorb-login:hover,
    #rorb-logout:hover {
        transform: scale(0.95);
    }

    #btn_card {

        position: relative;
        width: 70vw;
        height: 16vw;
        background-image: url("../img/btn_evevt2.png");
        background-size: contain;
        background-repeat: no-repeat;
        z-index: 10;
        margin: 1vw 0 0;
        cursor: pointer;
        transition: transform 0.2s ease-in-out;

    }


#btn_card.off {
    background-image: url("../img/btn_evevt2b.png");
    background-size: contain;
    background-repeat: no-repeat;
}



    #btn_catgift {

        position: relative;
        width: 70vw;
        height: 16vw;
        background-image: url("../img/btn_evevt1.png");
        background-size: contain;
        background-repeat: no-repeat;
        z-index: 10;
        cursor: pointer;
        transition: transform 0.2s ease-in-out;
        margin-top: 3vw;
    }

    #btn_card:hover,
    #btn_catgift:hover {
        transform: scale(0.95);
    }

    .account {
        appearance: none;
        width: 61vw;
        padding: 2.4vw;
        margin: 1vw 0;
        background-color: #f7f7f7;
        border: 0 solid #dcdcdc;
        border-radius: 99vw;
        color: #1b5b7f;
        font-size: 3vw;
        text-align: center;
    }

    .custom-dropdown {
        appearance: none;
        width: 66vw;
        padding: 2.8vw;
        margin: 1vw 0;
        background-color: #f7f7f7;
        border: 0 solid #dcdcdc;
        border-radius: 99vw;
        color: #1b5b7f;
        font-size: 3.3vw;
        font-weight: 800;
        text-align: center;
        cursor: pointer;
        background-image: url("../img/dropdown.png");
        background-repeat: no-repeat;
        background-position: right 1vw center;
        background-size: 4.4vw;
    }

    .custom-dropdown:valid {
        color: #1b5b7f;
    }

    .custom-dropdown option {
        color: #1b5b7f;
    }

    .custom-dropdown:focus {
        outline: none;
    }

    .custom-dropdown option[value=""][disabled] {
        display: none;
    }

    #bnt-confirm {
        display: none;
        position: relative;
        width: 40vw;
        height: 13vw;
        background-image: url("../img/btn_send.png");
        background-size: contain;
        background-repeat: no-repeat;
        z-index: 10;
        cursor: pointer;
        margin: 4.5vw 0 10vw;
        transition: transform 0.2s ease-in-out;
    }

    #bnt-confirm:hover {
        transform: scale(0.95);
    }

    #string {
        display: none;
    }

    #npc-s2a {
        display: none;
    }

    #section-3 {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        height: auto;
        background-image: url("../img/bg03m.jpg");
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center top;
        padding: 14vw 0;
    }

    .title_03 {
        position: relative;
        width: 100%;
        height: auto;
        z-index: 1;
        top: -22vw;
    }

    .card_box {
        position: relative;
        display: flex;
        width: auto;
        height: auto;
        z-index: 1;
        margin-top: 0;
        top: -7vw;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
    }

    .card_01,
    .card_02,
    .card_03,
    .card_04,
    .card_05 {
        display: block;
        position: relative;
        width: 33vw;
        height: 33vw;
        z-index: 1;
        flex-direction: column;
        align-items: center;
        background-size: contain;
        background-repeat: no-repeat;

    }

    .card_01 {
        background-image: url("../img/card_1a.png");
        top: 0;
        left: 6vw;
    }


    .card_01.off {
        background-image: url("../img/card_1b.png");
        top: 0;
        left: 6vw;
    }


    .card_02 {
        background-image: url("../img/card_2a.png");
        top: -2vw;
        left: -1vw;
    }

    .card_02.off {
        background-image: url("../img/card_2b.png");
        top: -2vw;
        left: -1vw;
    }



    .card_03 {
        background-image: url("../img/card_3a.png");
        top: 0;
        left: -4vw;
    }

    .card_03.off {
        background-image: url("../img/card_3b.png");
        top: 0;
        left: -4vw;
    }


    .card_04 {
        background-image: url("../img/card_4a.png");
        top: -9vw;
        left: 4vw;
    }

    .card_04.off {
        background-image: url("../img/card_4b.png");
        top: -9vw;
        left: 4vw;
    }



    .card_05 {
        background-image: url("../img/card_5a.png");
        top: -1vw;
        left: -3vw;
    }


    .card_05.off {
        background-image: url("../img/card_5b.png");
        top: -1vw;
        left: -3vw;
    }


    .carousel-wrapper {
        display: flex;
        position: relative;
        width: auto;
        height: auto;
        background: none;
        background-size: cover;
        box-sizing: border-box;
        text-align: center;
        flex-direction: column;
        align-items: center;
    }

    .buttons {
        display: flex;
        justify-content: center;
        gap: 4vw;
        margin-bottom: 4vw;
    }

    #btn_abtA {
        display: block;
        position: relative;
        width: 40vw;
        height: 10vw;
        background-image: url("../img/btn_abtA2.png");
        background-size: contain;
        background-repeat: no-repeat;
        z-index: 10;
        cursor: pointer;
        transition: 0.2s ease-in-out;
    }

    #btn_abtB {
        display: block;
        position: relative;
        width: 40vw;
        height: 10vw;
        background-image: url("../img/btn_abtB2.png");
        background-size: contain;
        background-repeat: no-repeat;
        z-index: 10;
        top: 0;
        cursor: pointer;
        transition: 0.2s ease-in-out;
    }

    #btn_abtA:hover,
    #btn_abtB:hover {
        top: 0;
    }

    #btn_abtA.active {
        background-image: url("../img/btn_abtA.png");
    }

    #btn_abtB.active {
        background-image: url("../img/btn_abtB.png");
    }

    .carousel {
        position: relative;
        width: auto;
        height: auto;
        margin: 0 auto;
        overflow: hidden;
    }

    .slides img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: none;
    }

    .slides img:first-child {
        display: block;
    }

    .slideA {
        position: relative;
        width: 90vw;
        height: auto;
    }

    .slideB {
        position: relative;
        width: 90vw;
        height: auto;
    }

    .btn-c {
        display: block;
        position: relative;
        width: 36vw;
        height: 10vw;
        background-image: url("../img/btn_event.png");
        background-size: contain;
        background-repeat: no-repeat;
        z-index: 1;
        bottom: 0;
        margin-top: 5vw;
        cursor: pointer;
        transition: 0.2s ease-in-out;
    }

    .btn-c:hover {
        bottom: 0;
    }

    #npc-s3a {
        display: none;
    }

    #npc-s3b {
        display: none;
    }

    #npc-s3c {
        display: none;
    }

    #npc-s3d {
        display: none;
    }

    .rule {
        position: relative;
        width: 92%;
        height: auto;
        background-size: contain;
        background-repeat: no-repeat;
        z-index: 1;
        bottom: 0;
        pointer-events: none;
        margin-top: 0;
        margin-bottom: 8vw;
    }

    #section-4 {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        height: auto;
        padding: 17vw 0 0;
    }

    .notice {
        position: absolute;
        width: 33vw;
        height: auto;
        left: 5%;
        top: -8.5vw;

    }

    .notice_txt {
        position: relative;
        width: 90%;
        height: auto;
        padding-left: 5%;
        left: auto;
        top: 10vw;
        margin-bottom: 18vw;
        padding-top: 3vw;
        color: #262525;
        font-size: 3.5vw;
        font-weight: 600;
        letter-spacing: 0.2vw;
        line-height: 8vw;
    }

    #gotop {
        position: relative;
        width: 25vw;
        height: 38vw;
        background-image: url("../img/gotop.png");
        background-size: contain;
        background-repeat: no-repeat;
        z-index: 10;
        cursor: pointer;
        margin: 5vw 0;
        transition: transform 0.2s ease-in-out;
    }

    @keyframes floatUpDown {
        0%,
        100% {
            transform: translateY(0);
        }
        50% {
            transform: translateY(-4vw);
        }
    }

    #section-5 {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        height: auto;
        background-color: #000;

    }

}
