/*****  HEADER *****/

header.nodam_hd {
    background: #000;
    position: relative;
    z-index: 100;
}

header.nodam_hd .hd_wrap {
    height: 211px;
    width: 100%;
    padding: 0 100px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}

header.nodam_hd .hd_wrap .hd_year {
    display: flex;
    gap: 7px;
}

header.nodam_hd .hd_wrap .hd_year li {
    width: 95px;
    height: 40px;
}

header.nodam_hd .hd_wrap .hd_year li a {
    font-size: 1.6rem;
    display: inline-block;
    width: 100%;
    height: 100%;
    border: 1px solid #fff;
    color: #fff;
    text-align: center;
    line-height: 40px;
    border-radius: 50px;
    font-size: 2.4rem;
    font-weight: 700;
}

header.nodam_hd .hd_wrap .hd_icon {
    display: flex;
    gap: 10px;
}

header.nodam_hd .hd_wrap .hd_logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow: hidden;
}

header.nodam_hd .hd_wrap .hd_logo a {
    position: relative;
    display: block;
    width: 260px;
    height: 114px;
}

header.nodam_hd .hd_wrap .hd_logo img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 114px;
    object-fit: contain;
    opacity: 0;
    transform: translateX(100%);
    transition: transform 0.7s cubic-bezier(0.7, 0, 0.3, 1);
    backface-visibility: hidden;
    will-change: transform;
}

header.nodam_hd .hd_wrap .hd_logo img.active {
    opacity: 1;
    transform: translateX(0);
    z-index: 2;
}

header.nodam_hd .hd_wrap .hd_logo img.prev {
    opacity: 1;
    transform: translateX(-100%);
    z-index: 1;
}

header.nodam_hd nav.hd_menu {
    height: 52px;
    display: flex;
    align-items: center;
    background: #000;
    border-top: 1px solid #454545;
}

header.nodam_hd nav.hd_menu .hd_ul {
    display: flex;
    justify-content: center;
    align-items: center;
}

header.nodam_hd nav.hd_menu .hd_ul>li {
    position: relative;
    width: 400px;
    text-align: center;
    position: relative;
}

header.nodam_hd nav.hd_menu .hd_ul>li:after {
    content: '';
    position: absolute;
    height: 16px;
    width: 1px;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
    background: #999;
}

header.nodam_hd nav.hd_menu .hd_ul>li:last-child:after {
    display: none;
}

header.nodam_hd nav.hd_menu .hd_ul>li>a {
    font-size: 2.4rem;
    color: #fff;
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: 10px 0;
    white-space: nowrap;
}

header.nodam_hd nav.hd_menu .hd_ul>li.active>a {
    font-weight: 900;
}

header.nodam_hd nav.hd_menu .hd_ul li>ul {
    display: none;
    width: 100%;
    max-width: 400px;
    position: absolute;
    z-index: 999;
    top: 44px;
    background: #000;
    border-top: 0;
}

header.nodam_hd nav.hd_menu .hd_ul li>ul li {
    width: 100%;
    padding: 15px 0;
}

header.nodam_hd nav.hd_menu .hd_ul li>ul li a {
    font-size: 2rem;
    padding: 15px 0;
    color: #fff;
}

header.nodam_hd nav.hd_menu .hd_ul li>ul li a:hover {
    color: var(--now-cr);
}

header.nodam_hd nav.hd_menu .hd_ul li:hover ul {
    display: block;
}

header.nodam_hd nav.hd_menu .hd_ul li ul:hover {
    display: block;
}

/***** FOOTER *****/

footer.nodam_ft {
    width: 100%;
    height: 160px;
    background: #000;
    position: relative;
    margin-top: auto;
}

footer.nodam_ft .ft_wrap {
    height: 160px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 100px;
}

footer.nodam_ft .ft_txt {
    color: #fff;
    font-size: 1.4rem;
    line-height: 20px;
    font-weight: 300;
    text-align: right;
    opacity: 30%;
}

@media screen and (max-width: 1500px) {
    header.nodam_hd .hd_wrap {
        padding: 0 30px;
    }

    header.nodam_hd .hd_wrap .hd_year li {
        width: 90px;
    }

    header.nodam_hd .hd_wrap .hd_logo a {
        position: relative;
        display: block;
        width: 240px;
        height: 120px;
    }

    header.nodam_hd .hd_wrap .hd_logo a img {
        width: 100%;
        height: 100%;
    }
}

@media screen and (max-width: 800px) {
    header.nodam_hd .hd_wrap {
        height: 25vw;
        padding: 0 6.25vw;
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: relative;
    }

    header.nodam_hd .hd_wrap .hd_logo a {
        width: 28vw;
        height: 17vw;
    }

    header.nodam_hd .hd_wrap .hd_icon {
        height: 6vw;
        gap: 1.25vw;
        width: 100%;
    }

    header.nodam_hd .hd_wrap .hd_icon li {
        height: 6vw;
    }

    header.nodam_hd .hd_wrap .hd_icon li:last-child {
        margin-left: auto;
    }

    header.nodam_hd .hd_wrap .hd_icon li a {
        height: 100%;
        max-width: 6vw;
        display: inline-block;
    }

    header.nodam_hd .hd_wrap .hd_icon li:last-child a {
        max-width: 22vw;
    }

    header.nodam_hd .hd_wrap .hd_icon li a img {
        display: inline-block;
        width: 100%;
        height: 100%;
    }

    header.nodam_hd .hd_wrap .hd_logo img {
        height: 18.75vw;
    }

    header.nodam_hd nav.hd_menu {
        height: 14vw;
    }

    header.nodam_hd nav.hd_menu .nav_wrap,
    header.nodam_hd nav.hd_menu .hd_ul {
        height: 100%;
    }

    header.nodam_hd nav.hd_menu .hd_ul>li {
        width: 33.3333%;
        height: 100%;
    }

    header.nodam_hd nav.hd_menu .hd_ul li>ul {
        max-width: initial;
        top: 13.5vw;
    }

    header.nodam_hd nav.hd_menu .hd_ul li>ul li {
        padding: 0;
        height: 12vw;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    header.nodam_hd nav.hd_menu .hd_ul li>ul li a {
        font-size: 3.75vw;
        padding: 0;
        color: #fff;
    }

    header.nodam_hd nav.hd_menu .hd_ul>li>a {
        font-size: 3.75vw;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    header.nodam_hd nav.hd_menu .hd_ul>li:after {
        height: 5.75vw;
    }

    footer.nodam_ft {
        height: auto;
        position: absolute;
        z-index: 20;
    }

    footer.nodam_ft .ft_wrap {
        flex-direction: column;
        height: auto;
        padding: 0;
    }

    .ft_logo img {
        height: 6.38vw;
        margin-top: 5.5vw;
    }

    footer.nodam_ft .ft_txt {
        font-size: 3vw;
        text-align: center;
        line-height: 4vw;
        margin: 3.75vw 0;
    }
}

/*****  header / footer END *****/

/***** club common *****/

.club_sec .club_tit {
    display: flex;
    flex-direction: column;
    gap: 15px;
    font-family: var(--font-club-point);
    text-align: center;
    justify-content: center;
    align-items: center;
    white-space: nowrap;
}

.club_sec .club_tit .tit_num {
    font-size: 3rem;
    background: url(../images/club/tit_bg.png) no-repeat 50% 50% / cover;
    padding: 6px 30px 20px 30px;
    width: fit-content;
    width: 123px;
    height: 66px;
}

.club_sec .club_tit .tit_txt {
    font-size: 6.4rem;
    font-weight: 700;
}

.club_sec .club_tit .tit_txt span {
    color: var(--club-cr);
}

.club_sec .club_cont {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 50px;
}

@media screen and (max-width: 800px) {
    .club_sec .club_tit .tit_num {
        font-size: 3.75vw;
        line-height: 3.75vw;
        background: url(../images/club/tit_bg.png) no-repeat 50% 50% / 15.5vw 8.25vw;
        padding: 1.4vw 3vw 3vw 3vw;
        width: 15.5vw;
        height: 8.25vw;
    }

    .club_sec .club_tit {
        gap: 2.5vw;
    }

    .club_sec .club_tit .tit_txt {
        font-size: 8vw;
    }

    .club_sec .club_cont {
        margin-top: 6.25vw;
    }
}

/***** club common END *****/

/***** club section1 *****/
#clubSec01 {
    background: #000;
}

#clubSec01 .sec_01_inner {
    background: url(../images/club/sky_bg.jpg) repeat 50% 50% / cover;
    position: relative;
    height: 1212px;
    padding: 0;
    filter: drop-shadow(inset, 0 15px 15px rgba(0, 0, 0, 0.5));
}

#clubSec01 .sec_01_inner .cloud_bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: url(../images/club/cloud.webp) repeat 50% 50% / contain;
    animation: cloudLoop 110s linear infinite;
    z-index: 1;
}

@keyframes cloudLoop {
    0% {
        background-position: -3791px 0;
    }

    100% {
        background-position: 0 0;
    }
}

#clubSec01 .sec_01_inner .kv_cont {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    min-width: 1920px;
    height: 1431px;
    background-image: url(../images/club/club_kv3.webp);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    z-index: 2;
    /*    clip-path: polygon(0px 0px,
        100% 0px,
        100% calc(100% - 324px),
        95% calc(100% - 282px),
        90% calc(100% - 245px),
        85% calc(100% - 212px),
        80% calc(100% - 183px),
        75% calc(100% - 158px),
        70% calc(100% - 137px),
        65% calc(100% - 120px),
        60% calc(100% - 107px),
        55% calc(100% - 99px),
        50% calc(100% - 97px),
        45% calc(100% - 99px),
        40% calc(100% - 107px),
        35% calc(100% - 120px),
        30% calc(100% - 137px),
        25% calc(100% - 158px),
        20% calc(100% - 183px),
        15% calc(100% - 212px),
        10% calc(100% - 245px),
        5% calc(100% - 282px),
        0px calc(100% - 324px));*/
}

#clubSec01 .sec_01_inner .kv_cont [class^='person'] {
    position: absolute;
    transform-origin: bottom center;
    animation: swing 2s ease-in-out infinite alternate;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    z-index: 10;
    cursor: pointer;
}

#clubSec01 .sec_01_inner .kv_cont .person1 {
    width: 75px;
    height: 130px;
    background-image: url(../images/club/person1.png);
    top: 384px;
    left: 39.2%;
}

#clubSec01 .sec_01_inner .kv_cont .person2 {
    width: 70px;
    height: 130px;
    background-image: url(../images/club/person2.png);
    top: 380px;
    left: 56.8%;
    animation-delay: -1.5s;
}

#clubSec01 .sec_01_inner .kv_cont .person3 {
    width: 64px;
    height: 130px;
    background-image: url(../images/club/person3.png);
    top: 543px;
    left: 39.6%;
    animation-delay: -1s;
}

#clubSec01 .sec_01_inner .kv_cont .person4 {
    width: 80px;
    height: 130px;
    background-image: url(../images/club/person4.png);
    top: 700px;
    left: 56.5%;
    animation-delay: -0.5s;
}

@keyframes swing {
    0% {
        transform: rotate(-2deg);
    }

    100% {
        transform: rotate(2deg);
    }
}

#clubSec01 .sec_01_inner .kv_cont [class^='bubble'],
#clubSec01 .sec_01_inner .kv_cont [class^='window'] {
    position: absolute;
    transform-origin: bottom center;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    z-index: 10;
    cursor: pointer;
}

#clubSec01 .sec_01_inner .kv_cont .bubble1 {
    width: 172px;
    height: 98px;
    background-image: url(../images/club/new_bubble1.png);
    top: 384px;
    left: 28.8%;
}

#clubSec01 .sec_01_inner .kv_cont .bubble2 {
    width: 172px;
    height: 98px;
    background-image: url(../images/club/new_bubble2.png);
    top: 380px;
    left: 62.2%;
}

#clubSec01 .sec_01_inner .kv_cont .bubble3 {
    width: 172px;
    height: 98px;
    background-image: url(../images/club/new_bubble3.png);
    top: 543px;
    left: 28.6%;
}

#clubSec01 .sec_01_inner .kv_cont .bubble4 {
    width: 172px;
    height: 98px;
    background-image: url(../images/club/new_bubble4.png);
    top: 700px;
    left: 62.2%;
}

#clubSec01 .sec_01_inner .kv_cont .window1 {
    width: 131px;
    height: 130px;
    background: url(../images/club/window1.png) 50% 50% / cover;
    top: 855px;
    left: 37.85%;
}

#clubSec01 .sec_01_inner .kv_cont .window2 {
    width: 131px;
    height: 130px;
    background: url(../images/club/window2.png) 50% 50% / cover;
    top: 855px;
    left: 55.1%;
}

#clubSec01 .sec_01_inner .neonsign_bg {
    position: absolute;
    top: 90px;
    left: 50%;
    transform: translateX(calc(-50% - 12px));
    width: 539px;
    height: 152px;
    background-image: url(../images/club/neonsign.svg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: contain;
    overflow: hidden;
    z-index: 3;
}

#clubSec01 .sec_01_inner .neonsign_bg::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg,
        rgba(255, 255, 255, 0) 35%,
        rgba(255, 255, 255, 0.35) 50%,
        rgba(255, 255, 255, 0) 65%);
    background-repeat: no-repeat;
    background-size: 250% 250%;
    background-position: -80% -80%;
    -webkit-mask-image: url(../images/club/neonsign.svg);
    mask-image: url(../images/club/neonsign.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    mask-position: center top;
    -webkit-mask-size: contain;
    mask-size: contain;
    animation: neonShine 3s linear infinite;
    pointer-events: none;
}

#clubSec01 .sec_01_inner .neonsign_bg2 {
    position: absolute;
    top: 90px;
    left: 50%;
    transform: translateX(calc(-50% - 580px));
    width: 539px;
    height: 152px;
    background-image: url(../images/club/neonsign.svg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: contain;
    overflow: hidden;
    z-index: 3;
}

@keyframes neonShine {
    0% {
        background-position: 180% 180%;
    }

    100% {
        background-position: -80% -80%;
    }
}

#clubSec01 .sec_01_inner .kv_cont .newbox {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(calc(-50% - 381px), calc(-50% + 30px));
    width: 137px;
    height: 92px;
    background-image: url(../images/club/new_bubble.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: contain;
    animation: newBlink 1.4s steps(1) infinite;
    cursor: pointer;
}

#clubSec01 .sec_01_inner .kv_cont .postbox {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(calc(-50% - 388px), calc(-50% + 204px));
    width: 52px;
    height: 231px;
    cursor: pointer;
}

@keyframes newBlink {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }
}

.club_btn {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0px;
    padding: 29px 50px;
    color: #fff;
    font-size: 4.8rem;
    font-family: var(--font-club-point);
    font-weight: 600;
    z-index: 5;
    background: url(../images/club/btn_bg.png) no-repeat 50% 50% / cover;
    display: flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
}

.tree_bg1 {
    position: absolute;
    z-index: 2;
    top: 140px;
    left: 218px;
    width: 281px;
    height: 818px;
    background-image: url(../images/club/tree1.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain;
    transform-origin: 50% 100%;
    animation: treeTremble 3s ease-in-out infinite;
}

.tree_bg2 {
    position: absolute;
    z-index: 2;
    top: 116px;
    right: 236px;
    width: 281px;
    height: 818px;
    background-image: url(../images/club/tree2.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain;
    transform-origin: 50% 100%;
    animation: treeTremble 2.5s ease-in-out infinite;
}

.tree_bg3 {
    position: absolute;
    z-index: 1;
    top: 418px;
    right: 106px;
    width: 164px;
    height: 519px;
    background-image: url(../images/club/tree3.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain;
    transform-origin: 50% 100%;
    animation: treeTremble 1.4s ease-in-out infinite;
}

.tree_bg4 {
    position: absolute;
    z-index: 1;
    top: 595px;
    left: 0px;
    width: 303px;
    height: 360px;
    background-image: url(../images/club/tree4.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain;
    transform-origin: 50% 100%;
    animation: treeTremble 2s ease-in-out infinite;
}

.ico_arrow {
    width: 62.59px;
    height: 20.18px;
    flex-shrink: 0;
}

@keyframes treeTremble {

    0%,
    100% {
        transform: rotate(1deg);
    }

    50% {
        transform: rotate(0.8deg);
    }
}

@media screen and (max-width: 800px) {
    #clubSec01 .sec_01_inner {
        background: url(../images/club/sky_bg.jpg) repeat 50% 50% / cover;
        height: 169vw;
    }

    #clubSec01 .sec_01_inner .cloud_bg {
        background: url(../images/club/cloud.webp) repeat 50% 50% / cover;
        animation: cloudLoop 110s linear infinite;
        z-index: 1;
    }

    #clubSec01 .sec_01_inner .kv_cont {
        min-width: initial;
        margin-top: 18vw;
        height: 155.875vw;
        background-image: url(../images/club/club_kv3_mob.webp);
    }

    #clubSec01 .sec_01_inner .neonsign_bg {
        top: 18vw;
        width: 67.375vw;
        height: 19vw;
        background-image: url(../images/club/neonsign.svg);
    }

    #clubSec01 .sec_01_inner .kv_cont .newbox {
        transform: translate(calc(-50% - 40vw), calc(-50% + 7vw));
        width: 16.25vw;
        height: 10.625vw;
    }

    #clubSec01 .sec_01_inner .kv_cont .postbox {
        transform: translate(calc(-50% - 40.5vw), calc(-50% + 27vw));
        width: 6.25vw;
        height: 28.625vw;
        cursor: pointer;
    }

    .club_btn {
        bottom: 11vw;
        padding: 3.75vw 8.25vw;
        font-size: 6.25vw;
        width: 87.5vw;
        height: 15vw;
        background: url(../images/club/btn_bg.png) no-repeat 50% 50% / 87.5vw 15vw;
        gap: 10px;
    }

    .ico_arrow {
        width: 8vw;
        height: auto;
        flex-shrink: 0;
    }

    #clubSec01 .sec_01_inner .kv_cont .person1 {
        width: 9.375vw;
        height: 16.25vw;
        background-image: url(../images/club/person1.png);
        top: 37vw;
        left: 23.2%;
    }

    #clubSec01 .sec_01_inner .kv_cont .person2 {
        width: 8.75vw;
        height: 16.25vw;
        background-image: url(../images/club/person2.png);
        top: 37.5vw;
        left: 66.8%;
        animation-delay: -1.5s;
    }

    #clubSec01 .sec_01_inner .kv_cont .person3 {
        width: 8vw;
        height: 16.25vw;
        background-image: url(../images/club/person3.png);
        top: 56.875vw;
        left: 24.6%;
        animation-delay: -1s;
    }

    #clubSec01 .sec_01_inner .kv_cont .person4 {
        width: 10vw;
        height: 16.25vw;
        background-image: url(../images/club/person4.png);
        top: 75.5vw;
        left: 65%;
        animation-delay: -0.5s;
    }

    #clubSec01 .sec_01_inner .kv_cont .bubble1 {
        width: 20.5vw;
        height: 19.13vw;
        background-image: url(../images/club/new_bubble1_mob.png);
        top: 28vw;
        left: 2%;
    }

    #clubSec01 .sec_01_inner .kv_cont .bubble2 {
        width: 20.5vw;
        height: 19.13vw;
        background-image: url(../images/club/new_bubble2_mob.png);
        top: 28.5vw;
        left: 77.2%;
    }

    #clubSec01 .sec_01_inner .kv_cont .bubble3 {
        width: 20.5vw;
        height: 19.13vw;
        background-image: url(../images/club/new_bubble3_mob.png);
        top: 48.475vw;
        left: 1.5%;
    }

    #clubSec01 .sec_01_inner .kv_cont .bubble4 {
        width: 20.5vw;
        height: 19.13vw;
        background-image: url(../images/club/new_bubble4_mob.png);
        top: 67.5vw;
        left: 77.2%;
    }

    #clubSec01 .sec_01_inner .kv_cont .window1 {
        width: 18.63vw;
        height: 20.75vw;
        background: url(../images/club/window1_mob.png) 50% 50% / cover;
        top: 93vw;
        left: 20%;
    }

    #clubSec01 .sec_01_inner .kv_cont .window2 {
        width: 18.63vw;
        height: 20.75vw;
        background: url(../images/club/window2_mob.png) 50% 50% / cover;
        top: 93vw;
        left: 60.2%;
    }
}

/***** club section1 END *****/

/***** club section2 *****/

#clubSec02 {
    background: #000;
}

#clubSec02 .sec_02_inner {
    background: url(../images/club/club_sec2.webp) repeat 50% 50% / cover;
    position: relative;
    height: 1350px;
    padding: 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    padding-top: 330px;
    line-height: 1.4;
}

#clubSec02 .sec_02_inner .club_cont {
    gap: 30px;
    font-family: var(--font-club-basic);
    font-weight: 300;
}

#clubSec02 .sec_02_inner .club_cont>p {
    font-size: 2.4rem;
}

#clubSec02 .sec_02_inner .club_cont .notice_list {
    background: url(../images/club/desc_bg.png?ver=2) no-repeat 50% / cover;
    width: 894px;
    height: 293px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    text-align: left;
    font-size: 2rem;
    padding: 0 45px;
}

#clubSec02 .sec_02_inner .club_cont .notice_list li {
    display: flex;
    align-items: center;
    gap: 20px;
}

#clubSec02 .sec_02_inner .club_cont .notice_list li p {
    line-height: 1.6;
    padding-top: 3px;
}

#clubSec02 .sec_02_inner .club_cont .notice_list li span {
    font-weight: 400;
    border: 3px solid #000;
    border-radius: 20px;
    width: 107px;
    height: 36px;
    line-height: 36px;
    display: flex;
    justify-content: center;
    flex-shrink: 0;
    align-self: flex-start;
}

#clubSec02 .sec_02_inner .club_cont .group_list {
    display: flex;
    gap: 20px;
}

@media screen and (max-width: 800px) {
    #clubSec02 .sec_02_inner {
        background: url(../images/club/club_sec2_mob.webp) repeat 50% 50% / cover;
        height: 221vw;
        padding-top: 19.75vw;
    }

    #clubSec02 .sec_02_inner .club_cont {
        gap: 6.25vw;
    }

    #clubSec02 .sec_02_inner .club_cont>img {
        height: 19.5vw;
    }

    #clubSec02 .sec_02_inner .club_cont>p {
        font-size: 3.75vw;
    }

    #clubSec02 .sec_02_inner .club_cont .notice_list {
        background: url(../images/club/desc_bg_mob.png?ver=3) no-repeat 50% / cover;
        width: 87.5vw;
        height: 82.625vw;
        gap: 2.75vw;
        text-align: center;
        font-size: 3vw;
        padding: 0 5.63vw;
    }

    #clubSec02 .sec_02_inner .club_cont .notice_list li {
        display: flex;
        align-items: center;
        flex-direction: column;
        gap: 1vw;
    }

    #clubSec02 .sec_02_inner .club_cont .notice_list li p {
        line-height: 1.4;
        padding-top: initial;
    }

    #clubSec02 .sec_02_inner .club_cont .notice_list li span {
        border: 0.38vw solid #000;
        border-radius: 2.5vw;
        width: 17.5vw;
        height: 5.25vw;
        line-height: 5.25vw;
        align-self: center;
    }

    #clubSec02 .sec_02_inner .club_cont .group_list {
        max-width: 89vw;
        gap: 2.5vw;
        flex-wrap: wrap;
    }

    #clubSec02 .sec_02_inner .club_cont .group_list li {
        width: calc((100% - 2.5vw) / 2);
        height: auto;
    }

    #clubSec02 .sec_02_inner .club_cont .group_list li img {
        width: 100%;
    }
}

/***** club section2 END *****/

/***** club section3 *****/

#clubSec03 {
    background: #000;
}

#clubSec03 .sec_03_inner {
    background: url(../images/club/club_sec3.webp) repeat 50% 50% / cover;
    position: relative;
    height: 1390px;
    padding: 0;
    padding-top: 120px;
    line-height: 1.4;
}

#clubSec03 .sec_03_inner .club_cont {
    gap: 50px;
    text-align: center;
    font-family: var(--font-club-basic);
    font-weight: 300;
}

#clubSec03 .sec_03_inner .club_cont .intro_wrap {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

#clubSec03 .sec_03_inner .club_cont .intro_wrap p {
    font-size: 2.4rem;
}

/*#clubSec03 .sec_03_inner .club_cont .intro_wrap b {
    font-size: 3rem;
    font-weight: 400;
}*/

#clubSec03 .sec_03_inner .club_cont .card_list {
    display: flex;
    gap: 40px;
}

#clubSec03 .sec_03_inner .club_cont .card_list li {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
}

#clubSec03 .sec_03_inner .club_cont .card_list li .card_txt {
    display: flex;
    flex-direction: column;
    gap: 18px;
    font-size: 1.6rem;
    align-items: center;
}

#clubSec03 .sec_03_inner .club_cont .card_list li .card_txt span {
    font-weight: 400;
    border: 2px solid #000;
    border-radius: 20px;
    width: 180px;
    height: 38px;
    line-height: 38px;
    display: flex;
    justify-content: center;
}

#clubSec03 .sec_03_inner .club_cont .card_list li img {
    box-shadow: 10px 10px 11px 0px rgba(0, 0, 0, 0.29);
    -webkit-box-shadow: 10px 10px 11px 0px rgba(0, 0, 0, 0.29);
    -moz-box-shadow: 10px 10px 11px 0px rgba(0, 0, 0, 0.29);
}

#clubSec03 .sec_03_inner .club_cont .desc_wrap {
    background: #e9e3d9;
    border: 3px solid #fff;
    width: 1400px;
    padding: 30px 0;
    font-size: 2.4rem;
    color: var(--club-cr);
    box-shadow: 10px 10px 11px 0px rgba(0, 0, 0, 0.29);
    -webkit-box-shadow: 10px 10px 11px 0px rgba(0, 0, 0, 0.29);
    -moz-box-shadow: 10px 10px 11px 0px rgba(0, 0, 0, 0.29);
}

@media screen and (max-width: 800px) {
    #clubSec03 .sec_03_inner {
        background: url(../images/club/club_sec3_mob.webp) repeat 50% 50% / cover;
        height: 303.75vw;
        padding-top: 15vw;
    }

    #clubSec03 .sec_03_inner .club_cont {
        gap: 7.25vw;
    }

    #clubSec03 .sec_03_inner .club_cont .intro_wrap {
        gap: 3.75vw;
    }

    #clubSec03 .sec_03_inner .club_cont .intro_wrap p {
        font-size: 3.75vw;
    }

    #clubSec03 .sec_03_inner .club_cont .intro_wrap b {
        font-size: 4.25vw;
    }

    #clubSec03 .sec_03_inner .club_cont .card_list {
        flex-wrap: wrap;
        max-width: 89vw;
        gap: 7.5vw 2.5vw;
    }

    #clubSec03 .sec_03_inner .club_cont .card_list li {
        width: calc((100% - 2.5vw) / 2);
        gap: 3.75vw;
    }

    #clubSec03 .sec_03_inner .club_cont .card_list li .card_txt {
        gap: 3.75vw;
        font-size: 2.64vw;
    }

    #clubSec03 .sec_03_inner .club_cont .card_list li .card_txt span {
        width: 30vw;
        height: 5.63vw;
        line-height: 5.63vw;
        border-radius: 2.5vw;
        border: 0.25vw solid #000;
    }

    #clubSec03 .sec_03_inner .club_cont .desc_wrap {
        width: 87.5vw;
        padding: 5vw 0;
        font-size: 3.75vw;
        border-width: 0.375vw;
    }
}

/***** club section3 END *****/

/***** club section4 *****/

#clubSec04 {
    background: #000;
}

#clubSec04 .sec_04_inner {
    background: url(../images/club/club_sec4.webp) repeat 50% 50% / cover;
    position: relative;
    height: 1840px;
    padding: 0;
    padding-top: 120px;
    line-height: 1.4;
}

#clubSec04 .sec_04_inner .club_cont .goods_type_wrap {
    border: 3px solid #fff;
    background: #e9e3d9;
    padding: 50px 40px;
}

#clubSec04 .sec_04_inner .club_cont .goods_wrap {
    display: flex;
    flex-direction: column;
    width: 1130px;
    font-family: var(--font-club-point);
    align-items: center;
    justify-content: center;
}

#clubSec04 .sec_04_inner .club_cont .goods_wrap b {
    background: #fff;
    color: var(--club-cr);
    font-size: 3.4rem;
    padding: 10px 0;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    background: url(../images/club/goods_type_bg.png) 50% 50% / cover;
}

#clubSec04 .sec_04_inner .club_cont .goods_wrap .official_goods_list {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 30px 0 80px;
    font-size: 2.4rem;
}

#clubSec04 .sec_04_inner .club_cont .goods_wrap .club_goods_list {
    padding-top: 50px;
    display: flex;
    gap: 15px;
    justify-content: center;
    align-items: center;
    width: 100%;
}

#clubSec04 .sec_04_inner .club_cont .goods_wrap .club_goods_list li {
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: calc((100% - 45px) / 4);
}

#clubSec04 .sec_04_inner .club_cont .goods_wrap .club_goods_list li em {
    font-size: 2.4rem;
    line-height: 1.4;
    font-weight: 600;
    color: #fff;
    padding: 8px 0;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: url(../images/club/goods_name_bg.png) 50% 50% / cover;
}

#clubSec04 .sec_04_inner .club_cont .goods_wrap .club_goods_list li .goods_img_wrap {
    height: 252px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#clubSec04 .sec_04_inner .club_cont .goods_wrap .club_goods_list li span {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 0;
    width: 100%;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    font-size: 1.9rem;
    font-weight: 400;
}

@media screen and (max-width: 800px) {
    #clubSec04 .sec_04_inner {
        background: url(../images/club/club_sec4_mob.webp) repeat 50% 50% / cover;
        height: 329.25vw;
        padding-top: 15vw;
    }

    #clubSec04 .sec_04_inner .club_cont {
        gap: 6.25vw;
    }

    #clubSec04 .sec_04_inner .club_cont .goods_type_wrap {
        padding: 6.25vw 4vw;
        max-width: 87.5vw;
    }

    #clubSec04 .sec_04_inner .club_cont .goods_wrap {
        width: 100%;
    }

    #clubSec04 .sec_04_inner .club_cont .goods_wrap b {
        font-size: 5vw;
        font-weight: 600;
        padding: 0.8vw 0;
    }

    #clubSec04 .sec_04_inner .club_cont .goods_wrap .official_goods_list {
        gap: 3.25vw;
        padding: 5.63vw 0 7.63vw;
        font-size: 3.4vw;
        flex-direction: column-reverse;
    }

    #clubSec04 .sec_04_inner .club_cont .goods_wrap .club_goods_list {
        padding-top: 5.63vw;
        gap: 6.25vw 3.25vw;
        width: 79.25vw;
        flex-wrap: wrap;
    }

    #clubSec04 .sec_04_inner .club_cont .goods_wrap .club_goods_list li {
        gap: 5vw;
        width: calc((100% - 3.25vw) / 2);
    }

    #clubSec04 .sec_04_inner .club_cont .goods_wrap .club_goods_list li em {
        font-size: 3.5vw;
        padding: 1vw 0;
    }

    #clubSec04 .sec_04_inner .club_cont .goods_wrap .club_goods_list li .goods_img_wrap {
        height: 31.5vw;
    }

    #clubSec04 .sec_04_inner .club_cont .goods_wrap .club_goods_list li .goods_img_wrap img {
        height: 100%;
    }

    #clubSec04 .sec_04_inner .club_cont .goods_wrap .club_goods_list li span {
        padding: 1vw 0;
        border-top: 0.13vw solid #000;
        border-bottom: 0.13vw solid #000;
        font-size: 2.75vw;
        font-weight: 500;
    }
}

/***** club section4 END *****/

/***** now section6 *****/

#clubSec05 {
    background: #333;
    padding: 30px 0 90px;
}

#clubSec05 .sec_05_addtext {
    text-align: center;
    color: #f8f8f8;
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 30px;
}

#clubSec05 .sec_05_addtext small {
    display: block;
    color: #f8f8f8;
    font-size: 1.6rem;
    font-weight: 400;
    margin-top: 10px;
}

#clubSec05 .caution_wrap {
    font-size: 1.6rem;
    color: #fff;
    opacity: 0.4;
}

#clubSec05 .caution_wrap h3 {
    font-size: 2.2rem;
    margin-bottom: 40px;
    font-weight: 700;
}

#clubSec05 .caution_wrap .caution_cont {
    margin-bottom: 22px;
    font-weight: 700;
    margin-bottom: 14px;
}

#clubSec05 .caution_wrap .caution_cont .caution_li {
    margin-left: 20px;
}

#clubSec05 .caution_wrap .caution_cont .caution_li li {
    position: relative;
    font-weight: lighter;
    line-height: 2rem;
}

#clubSec05 .caution_wrap .caution_cont .caution_li li:before {
    content: '';
    position: absolute;
    top: 9px;
    left: -12px;
    width: 5px;
    height: 2px;
    background: #fff;
}

#clubSec05 .unfold_btn_area {
    display: none;
}

@media screen and (max-width: 800px) {
    #clubSec05 {
        background: #333;
        padding: 5vw 6.25vw 15vw;
        position: relative;
    }

    #clubSec05 .sec_05_addtext {
        font-size: 1.7rem;
        margin-bottom: 5vw;
    }

    #clubSec05 .sec_05_inner {
        height: 200px;
        overflow: hidden;
        transition: height 0.4s ease;
    }

    #clubSec05 .caution_wrap {
        font-size: 3vw;
    }

    #clubSec05 .caution_wrap h3 {
        font-size: 3.25vw;
        margin-bottom: 2.5vw;
    }

    #clubSec05 .caution_wrap .caution_cont {
        margin-bottom: 5vw;
    }

    #clubSec05 .caution_wrap .caution_cont h4 {
        font-weight: 700;
        margin-bottom: 1.75vw;
    }

    #clubSec05 .caution_wrap .caution_cont .caution_li {
        margin-left: 2vw;
    }

    #clubSec05 .caution_wrap .caution_cont .caution_li li {
        line-height: 4.8vw;
    }

    #clubSec05 .caution_wrap .caution_cont .caution_li li::before {
        content: '';
        position: absolute;
        top: 2vw;
        left: -2vw;
        width: 1vw;
    }

    #clubSec05 .unfold_btn_area {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 200px;
        background: linear-gradient(to bottom,
            rgba(51, 51, 51, 0) 0%,
            rgba(51, 51, 51, 0.8) 50%,
            rgba(51, 51, 51, 1) 100%);
        display: flex;
        align-items: flex-end;
        justify-content: center;
        padding-bottom: 25px;
        z-index: 10;
    }

    #clubSec05 .btn_unfold {
        padding: 12px 50px 12px 25px;
        color: #fff;
        font-size: 1.5rem;
        font-weight: 700;
        border: 3px solid #fff;
        border-radius: 50px;
        cursor: pointer;
        background: url(../images/club/more_icon.png) no-repeat 97.6% 50% / 36px 36px;
    }

    #clubSec05.is_open .unfold_btn_area {
        display: none;
    }

    #clubSec05.is_open .sec_06_inner {
        height: auto;
        max-height: 5000px;
    }
}

/***** movie common *****/
.movie_sec {
    background: #000;
}

.movie_sec .movie_tit {
    font-family: var(--font-club-point);
}

/* 타이틀 내 강조 텍스트 (예: 노담) */
.movie_sec .movie_tit .tit_wrap h2 span {
    color: var(--club-cr);
}

/* 리스트 아이콘 영역 - 사이즈 고정으로 정렬 통일 */
.movie_sec .img_wrap {
    flex-shrink: 0;
}

.movie_sec .img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/***** movie common END *****/

/***** movie section1 *****/
#movieSec01 .sec_01_inner {
    background: url(../images/movie/movie_kv.jpg) no-repeat 50% 0 / cover;
    position: relative;
    height: 964px;
    padding: 0;
    color: #fff;
}

#movieSec01 .movie_tit {
    position: absolute;
    top: 64px;
    left: 50%;
    transform: translateX(-50%);
    width: 1200px;
}

#movieSec01 .movie_tit .tit_wrap span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 34px 24px;
    font-size: 3.4rem;
    background: url(../images/movie/tit_bg.svg) no-repeat 50% 50% / 100% 100%;
}

#movieSec01 .movie_tit .tit_wrap h2 {
    margin-top: 10px;
    font-size: 8.2rem;
    font-weight: 700;
    line-height: 1.1;
    color: var(--club-cr);
}

#movieSec01 .movie_tit .tit_desc {
    margin-top: 40px;
}

#movieSec01 .movie_tit .tit_desc b {
    display: block;
    width: fit-content;
    margin-bottom: 20px;
    font-size: 3.2rem;
    font-weight: 700;
    border-bottom: 2px solid #fff;
}

#movieSec01 .movie_tit .tit_desc p {
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.6;
}

#movieSec01 .movie_cont {
    position: absolute;
    left: 50%;
    bottom: 100px;
    transform: translateX(-50%);
    width: 1200px;
    padding: 32px 50px 40px;
    background: url(../images/movie/movie_cont_bg.webp) no-repeat 50% 50% / 100% 100%;
}

#movieSec01 .movie_cont ul {
    display: flex;
}

#movieSec01 .movie_cont ul li {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
}

#movieSec01 .movie_cont ul li+li::after {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 3px;
    height: 200px;
    background: rgba(0, 0, 0, 0.1);
    transform: translateY(-50%);
}

#movieSec01 .movie_cont ul li .img_wrap {
    width: 240px;
    height: 194px;
    margin-bottom: 10px;
}

#movieSec01 .movie_cont ul li span {
    display: inline-block;
    padding: 5px 26px;
    border-radius: 50px;
    background: var(--club-cr);
    font-size: 2rem;
}

#movieSec01 .movie_cont ul li h4 {
    margin-top: 15px;
    font-size: 3rem;
    font-weight: 700;
    color: #000;
}

#movieSec01 .movie_cont ul li small {
    display: block;
    margin-top: 10px;
    font-size: 2rem;
    color: #000;
}

@media screen and (max-width: 800px) {

    /* movie_kv_mob.jpg = 800 x 2325 -> 100%(=100vw) 기준 높이 290.6vw */
    #movieSec01 .sec_01_inner {
        height: 265.6vw;
        padding: 0;
        background: url(../images/movie/movie_kv_mob.jpg) no-repeat 50% 0 / 100% auto;
    }

    /* 콘텐츠 폭: 800px 기준 700px(=87.5vw) 컬럼으로 통일 */
    #movieSec01 .movie_tit {
        top: 15vw;
        left: 50%;
        transform: translateX(-50%);
        width: 87.5vw;
        padding: 0;
    }

    #movieSec01 .movie_tit .tit_wrap span {
        padding: 2.5vw 6vw 4vw;
        font-size: 3.6vw;
    }

    #movieSec01 .movie_tit .tit_wrap h2 {
        margin-top: 2vw;
        font-size: 11vw;
    }

    #movieSec01 .movie_tit .tit_desc {
        margin-top: 5vw;
    }

    #movieSec01 .movie_tit .tit_desc b {
        width: fit-content;
        margin-bottom: 4vw;
        font-size: 3.8vw;
    }

    #movieSec01 .movie_tit .tit_desc p {
        font-size: 3vw;
    }

    /* movie_cont_bg_mob.webp = 705 x 786 (세로형 프레임), KV 하단에 배치 */
    #movieSec01 .movie_cont {
        left: 50%;
        bottom: 13.5vw;
        transform: translateX(-50%);
        width: 87.5vw;
        padding: 0 7vw;
        background: url(../images/movie/movie_cont_bg_mob.webp) no-repeat 50% 50% / 100% 100%;
    }

    #movieSec01 .movie_cont ul {
        flex-direction: column;
    }

    /* 좌측 이미지 ↔ 우측 텍스트를 같은 박스 기준 세로 중앙 정렬 + 항목마다 동일한 상하 여백 */
    #movieSec01 .movie_cont ul li {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-height: 23vw;
        padding: 8vw 0 8vw 32vw;
    }

    #movieSec01 .movie_cont ul li+li::after {
        left: 0;
        top: 0;
        width: 100%;
        height: 3px;
        transform: none;
    }

    #movieSec01 .movie_cont ul li .img_wrap {
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 28vw;
        height: 23vw;
        margin: 0;
    }

    #movieSec01 .movie_cont ul li span {
        padding: 1vw 3vw;
        font-size: 3vw;
    }

    #movieSec01 .movie_cont ul li h4 {
        margin-top: 2.5vw;
        font-size: 4vw;
    }

    #movieSec01 .movie_cont ul li small {
        margin-top: 1vw;
        font-size: 2.8vw;
    }
}

/***** movie section1 END *****/

/***** movie section2 *****/

#movieSec02 .sec_02_inner {
    background: url(../images/movie/movie_bg.jpg) no-repeat 50% 0 / cover;
    position: relative;
    padding: 120px 0;
    color: #1a1a1a;
    font-family: var(--font-club-basic);
}

#movieSec02 .movie_tit {
    text-align: center;
}

#movieSec02 .movie_tit .tit_wrap h3 {
    display: inline-block;
    padding: 28px 90px 34px;
    background: url(../images/movie/tit_bg2.webp) no-repeat 50% 50% / 100% 100%;
    color: #fff;
    font-size: 5.4rem;
    font-weight: 700;
    color: #ffd28a;
}

#movieSec02 .movie_tit .tit_wrap h3 span {
    color: #fff;
}

#movieSec02 .movie_cont {
    width: 1200px;
    margin: 50px auto 0;
}

/* ---------- 세션 카드 (cont_01) ---------- */

#movieSec02 .movie_cont .cont_01>ul {
    display: flex;
    gap: 20px;
}

#movieSec02 .movie_cont .cont_01>ul+ul {
    margin-top: 20px;
}

#movieSec02 .movie_cont .cont_01>ul li {
    flex: 1;
    border: 4px solid #000;
    background: #fff;
}

#movieSec02 .movie_cont .cont_01>ul:first-child li {
    text-align: center;
}

#movieSec02 .movie_cont .cont_01 .top_wrap span {
    display: inline-block;
    margin-bottom: 20px;
    padding-bottom: 4px;
    border-bottom: 2px solid #000;
    font-size: 2.2rem;
    font-weight: 700;
    font-family: var(--font-club-point);
}

#movieSec02 .movie_cont .cont_01 .top_wrap .img_wrap {
    width: 200px;
    height: 150px;
    margin: 0 auto;
}

#movieSec02 .movie_cont .cont_01 .top_wrap {
    padding: 15px;
}

#movieSec02 .movie_cont .cont_01 .btm_wrap {
    padding: 15px;
    background: #e6e6e6;
}

#movieSec02 .movie_cont .cont_01 .btm_wrap small {
    display: block;
    margin-bottom: 8px;
    font-size: 2rem;
    color: #000;
}

#movieSec02 .movie_cont .cont_01 .btm_wrap h4 {
    font-size: 3rem;
    font-weight: 700;
    color: var(--club-cr);
    font-family: var(--font-club-point);
}

#movieSec02 .movie_cont .cont_01>ul:last-child li {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 30px;
}

#movieSec02 .movie_cont .cont_01>ul:last-child .tit_wrap {
    margin-bottom: 40px;
    text-align: center;
}

#movieSec02 .movie_cont .cont_01>ul:last-child .tit_wrap small {
    display: block;
    margin-bottom: 6px;
    font-size: 2rem;
    color: #000;
}

#movieSec02 .movie_cont .cont_01>ul:last-child .tit_wrap h4 {
    font-size: 3rem;
    font-weight: 700;
    color: var(--club-cr);
    font-family: var(--font-club-point);
}

#movieSec02 .movie_cont .cont_01>ul:last-child .img_wrap {
    width: 100%;
    height: 296px;
}

/* ---------- 모집 안내 / 유의 사항 (cont_02) ---------- */

#movieSec02 .movie_cont .cont_02>div {
    margin-top: 60px;
}

#movieSec02 .movie_cont .cont_02>div>h4 {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 22px;
    padding: 0 0 0 52px;
    background: url(../images/movie/check.svg) no-repeat left center / 38px auto;
    font-size: 3rem;
    font-weight: 700;
    color: var(--club-cr);
    font-family: var(--font-club-point);
}

/* 텍스트 오른편부터 컨테이너(1200px) 끝까지 채우는 선 */
#movieSec02 .movie_cont .cont_02>div>h4::after {
    content: '';
    flex: 1;
    height: 3px;
    background: var(--club-cr);
}

#movieSec02 .movie_cont .cont_02>div:first-child ul li {
    display: flex;
    gap: 30px;
    margin-top: 14px;
    font-size: 2rem;
    line-height: 1.6;
    align-items: center;
}

#movieSec02 .movie_cont .cont_02>div:first-child ul li span {
    flex-shrink: 0;
    width: 112px;
    height: 36px;
    line-height: 36px;
    text-align: center;
    border: 2px solid #1a1a1a;
    border-radius: 50px;
}

#movieSec02 .movie_cont .cont_02>div:first-child ul li p em {
    font-weight: 700;
}

#movieSec02 .movie_cont .cont_02>div:first-child ul li p small {
    margin-top: 6px;
    font-size: 1.5rem;
}

#movieSec02 .movie_cont .cont_02>div:last-child ul li {
    display: flex;
    margin-top: 10px;
    font-size: 2rem;
    line-height: 1.6;
    color: #333;
}

#movieSec02 .movie_cont .cont_02>div:last-child ul li::before {
    content: '✓';
    align-self: flex-start;
    flex-shrink: 0;
    padding-right: 8px;
    font-weight: 700;
}

#movieSec02 .movie_cont .cont_02>div:last-child ul li small {
    padding-left: 10px;
    font-size: 1.5rem;
}

/* ---------- 동의 체크 (cont_03) ---------- */

#movieSec02 .movie_cont .cont_03 {
    margin-top: 60px;
    padding: 40px;
    border: 3px solid #fff;
    background: #faf6ec;
    box-shadow: 10px 10px 11px 0px rgba(0, 0, 0, 0.29);
    -webkit-box-shadow: 10px 10px 11px 0px rgba(0, 0, 0, 0.29);
    -moz-box-shadow: 10px 10px 11px 0px rgba(0, 0, 0, 0.29);
}

#movieSec02 .movie_cont .cont_03 form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

#movieSec02 .movie_cont .cont_03 .check_group {
    height: auto;
}

#movieSec02 .movie_cont .cont_03 .box {
    width: 35px;
    height: 35px;
    border: 2px solid var(--club-cr);
}

#movieSec02 .movie_cont .cont_03 p {
    line-height: 3.5rem;
}

#movieSec02 .movie_cont .cont_03 p>span:last-child {
    color: var(--club-cr);
    font-weight: 700;
}

#movieSec02 .movie_cont .cont_03 .check_option {
    gap: 20px;
}

#movieSec02 .movie_cont .cont_03 .check_option input:checked+.box {
    background-size: 35px 35px;
}

#movieSec02 .movie_cont .cont_03 .check_option {
    font-size: 3rem;
}

/* ---------- 문의 안내 (cont_04) ---------- */

#movieSec02 .movie_cont .cont_04 {
    margin-top: 64px;
    text-align: center;
    font-family: var(--font-club-point);
}

#movieSec02 .movie_cont .cont_04 h4 {
    font-size: 3.4rem;
    line-height: 1.5;
}

#movieSec02 .movie_cont .cont_04>div {
    margin-top: 22px;
}

#movieSec02 .movie_cont .cont_04>div span {
    display: inline-block;
    margin-bottom: 12px;
    padding: 6px 22px;
    border-radius: 50px;
    background: #1a1a1a;
    color: #fff;
    font-size: 1.6rem;
}

#movieSec02 .movie_cont .cont_04>div p {
    font-size: 2rem;
    color: #333;
    font-family: var(--font-club-basic);
}

#movieSec02 .movie_cont .club_btn {
    position: relative;
    margin-top: 60px;
    min-width: 564px;
    justify-content: center;
    padding: 20px 50px;
}

@media screen and (max-width: 800px) {

    /* movie_bg_mob.jpg = 800 x 3288 -> 100% 폭 기준 411vw, 초과분은 #e9e3d7 로 채움 */
    #movieSec02 .sec_02_inner {
        padding: 12vw 0 0;
        background: url(../images/movie/movie_bg_mob.jpg) no-repeat 50% 0 / cover;
    }

    #movieSec02 .movie_tit .tit_wrap h3 {
        padding: 3vw 6vw 3vw 4vw;
        font-size: 4.8vw;
    }

    /* 콘텐츠 폭: 800px 기준 700px(=87.5vw) 컬럼으로 통일 */
    #movieSec02 .movie_cont {
        width: 87.5vw;
        margin: 5vw auto 0;
        padding: 0;
    }

    /* 번호형 세션 카드 3개 : 세로 스택 + 카드 내부는 가로 배치 */
    #movieSec02 .movie_cont .cont_01>ul:first-child {
        flex-direction: column;
        gap: 4vw;
    }

    #movieSec02 .movie_cont .cont_01>ul+ul {
        margin-top: 4vw;
    }

    #movieSec02 .movie_cont .cont_01>ul:first-child li {
        display: flex;
        align-items: stretch;
        text-align: left;
    }

    #movieSec02 .movie_cont .cont_01 .top_wrap {
        flex-shrink: 0;
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 6.4vw;
        padding: 3.2vw;
    }

    #movieSec02 .movie_cont .cont_01 .top_wrap span {
        margin-bottom: 0;
        font-size: 3.4vw;
    }

    #movieSec02 .movie_cont .cont_01 .top_wrap .img_wrap {
        width: 25vw;
        height: 20.2vw;
    }

    #movieSec02 .movie_cont .cont_01 .btm_wrap {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 3.2vw;
        text-align: center;
    }

    #movieSec02 .movie_cont .cont_01 .btm_wrap small {
        margin-bottom: 1vw;
        font-size: 3vw;
    }

    #movieSec02 .movie_cont .cont_01 .btm_wrap h4 {
        font-size: 4.2vw;
    }

    /* 영화 / 굿즈 카드 2개 : 좌우 유지 */
    #movieSec02 .movie_cont .cont_01>ul:last-child {
        gap: 3vw;
    }

    #movieSec02 .movie_cont .cont_01>ul:last-child li {
        padding: 4vw 2vw;
    }

    #movieSec02 .movie_cont .cont_01>ul:last-child .tit_wrap {
        margin-bottom: 4vw;
    }

    #movieSec02 .movie_cont .cont_01>ul:last-child .tit_wrap small {
        font-size: 3vw;
    }

    #movieSec02 .movie_cont .cont_01>ul:last-child .tit_wrap h4 {
        font-size: 4.2vw;
    }

    #movieSec02 .movie_cont .cont_01>ul:last-child .img_wrap {
        height: 30vw;
    }

    /* 모집 안내 / 유의 사항 */
    #movieSec02 .movie_cont .cont_02>div {
        margin-top: 8vw;
    }

    #movieSec02 .movie_cont .cont_02>div>h4 {
        gap: 3vw;
        margin-bottom: 4vw;
        padding-left: 7vw;
        background-size: 6vw auto;
        font-size: 4.2vw;
    }

    #movieSec02 .movie_cont .cont_02>div ul {
        padding-left: 5vw;
    }

    #movieSec02 .movie_cont .cont_02>div:first-child ul li {
        gap: 3vw;
        margin-top: 3vw;
        font-size: 3.24vw;
    }

    #movieSec02 .movie_cont .cont_02>div:first-child ul li span {
        width: 19vw;
        height: 6.5vw;
        line-height: 6.5vw;
        font-size: 3.24vw;
        font-weight: 700;
        align-self: flex-start;
    }

    #movieSec02 .movie_cont .cont_02>div:first-child ul li p small {
        font-size: 2.8vw;
        display: block;
    }

    #movieSec02 .movie_cont .cont_02>div:last-child ul li {
        margin-top: 2.5vw;
        font-size: 3.24vw;
    }

    #movieSec02 .movie_cont .cont_02>div:last-child ul li::before {
        padding-right: 1.4vw;
    }

    #movieSec02 .movie_cont .cont_02>div:last-child ul li small {
        margin-top: 1vw;
        padding-left: 2vw;
        font-size: 2.8vw;
    }

    /* 동의 체크 */
    #movieSec02 .movie_cont .cont_03 {
        margin-top: 8vw;
        padding: 5vw;
        box-shadow: 2vw 2vw 2.5vw 0 rgba(0, 0, 0, 0.29);
    }

    #movieSec02 .movie_cont .cont_03 form {
        gap: 3vw;
    }

    #movieSec02 .movie_cont .cont_03 .check_option {
        gap: 3vw;
        font-size: 3.6vw;
    }

    #movieSec02 .movie_cont .cont_03 .box {
        width: 4.5vw;
        height: 4.5vw;
        flex-shrink: 0;
        align-self: flex-start;
    }

    #movieSec02 .movie_cont .cont_03 .check_option input:checked+.box {
        background-size: 4.5vw 4.5vw;
        flex-shrink: 0;
    }

    /* 문의 */
    #movieSec02 .movie_cont .cont_04 {
        margin-top: 8vw;
    }

    #movieSec02 .movie_cont .cont_04 h4 {
        font-size: 4.6vw;
    }

    #movieSec02 .movie_cont .cont_04>div {
        margin-top: 3vw;
    }

    #movieSec02 .movie_cont .cont_04>div span {
        margin-bottom: 2.5vw;
        padding: 1.2vw 4vw;
        font-size: 3vw;
    }

    #movieSec02 .movie_cont .cont_04>div p {
        font-size: 3vw;
    }

    /* 신청완료 버튼 - PC에서 flow 배치로 바뀜에 맞춰 모바일도 폭/여백 재조정 */
    #movieSec02 .movie_cont .club_btn {
        left: auto;
        transform: none;
        margin-top: 18vw;
        min-width: 0;
        width: 100%;
        height: auto;
        padding: 4vw 0;
        background-size: 100% 100%;
    }
}

/***** movie section2 END *****/