/* 포인트페이 리뉴얼 스타일 관련 | 251024 */
.txt_wh{color: #fff;}
.txt_bl{color: #222;}
.bg_white{background-color: #fff;}

.main_c{background-color: var(--main-color);}
.color_mint{color: var(--main-color);}
.dot {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    margin-bottom: 12px;
    margin-left: 4px;
}
.dot.white {
    background-color: #fff;
}

.btn_round{/* 라운드 버튼 공통스타일 */
    font-size: 24px;
    font-weight: 500;
    font-family: var(--font-main);
    padding: 8px 24px;
    border-radius: 28px;
}

.main_wrap{width: 100%;}

.fade-up{
    opacity: 0;
    transform: translateY(40px);
    transition: all 1s ease-out;
}
.fade-up.active{
    opacity: 1 !important;
    transform: translateY(0);
}
/* header */
header{
    width: 100%;
    height: 80px;
    display: flex;
    padding: 0 40px 0 40px;
    gap: 20px;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 9999;
    transition: 0.2s;
}
header .logo{
    width: 180px; height: 34px;
    background: url(/assets/img/renewal/logo_wh_pointpay.svg) no-repeat center center;
    background-size: contain;
}
header .logo.mint{
    background: url(/assets/img/renewal/logo_main_pointpay.svg) no-repeat center center;
    background-size: contain;
}
.header_menu{flex: 1;}
header ul{
    display: flex;
    justify-content: center;
    gap: 130px;
    transition: all 0.3s ease;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
}
header ul li {
    padding: 4px 10px;
    color: #fff;
    font-size: 16px;
    font-family: 'Pretendard-Variable';
}
header.hide{transform: translateY(-100%);}/* 헤더 숨김 */
header.hero-visible {
    transform: translateY(0);
    background-color: #fff;
    border-bottom: 1px solid var(--main-color);
}
header.hero-visible .logo {
    background: url(/assets/img/renewal/logo_main_pointpay.svg) no-repeat center center;
    background-size: contain;
}
header.hero-visible ul li{
    color: #222;
}
header .icon {
    width: 34px;
    height: 34px;
    display: none;
    transition: 0.3s;
    background: url(/assets/img/renewal/i_header_menu.svg) no-repeat center center / contain;
}
header .icon img{
    width: 34px; height: 34px;
    display: none;
}
header.hero-visible .icon{
    background: url(/assets/img/renewal/i_header_menu_mint.svg) no-repeat center center / contain;
}
header.hero-visible .icon.close{
    background: url(/assets/img/renewal/i_header_menu_close.png)no-repeat center center / contain;
}


.visual {
    width: 100%;
    height: 1080px;
    /* background:url(/assets/img/renewal/main_img_ver2.jpg) no-repeat center center; */
    background-size:cover;
    padding-top: 100px;
    overflow: hidden;
    border-bottom-right-radius:48px;
    border-bottom-left-radius: 48px;
    position: relative;
    z-index: 99;
}
.visual .bg{
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
}
.visual .bg video{
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    will-change: transform;
    position: relative;
    z-index: 19;
    /* background: url(/assets/img/renewal/main_img_ver1.jpg) no-repeat center center / contain; */
}
.visual .bg img{
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    object-fit: cover;
    z-index: 9;
}
.visual .left-wrap{
    width: 100%;
}

.fade-up-poa{
    transform: translateY(0);
}
.fade-up-poa.active{
    transform: translateY(-50%);
}

.visual .txt_wrap{
    position: absolute;
    top: 31%;
    left: 10%;
}

.visual .visual_txt{
    display: block;
    font-size: clamp(32px, 5vw + 16px, 82px);
    font-weight: 800;
    color: #fff;
    line-height: 1.2;
}
/* .visual .visual_txt span{
    border: 1px solid red;
    display:block;
    font-size: clamp(32px, 5vw + 16px, 82px);
} */
.visual .small_txt{
    display: block;
    font-size: clamp(14px, 2vw, 28px);
    /* font-size: 28px; */
    font-weight: 500;
    position: absolute;
    color: #fff;
    margin-top: 50px;
    transition-delay: 1.5s;
}
.visual .wrap{
    width: 100%;height: 100%;
}
.visual .right-wrap{
    position: absolute;
    width: 700px; height: 800px;
    display: flex;
    gap: 20px;
    top: 45%; transform: translateY(-45%);
    right: 5%;
}
.right-wrap .box {
    width: 100%;
    height: 100%;
    /* border: 1px solid #fff;  */
    background-color: #fff;
    opacity:0 ; 
    border-radius: 40px;

    border: 1px solid rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(34px);
    -webkit-backdrop-filter: blur(34px);

    box-shadow:
        0 8px 32px rgba(0, 0, 0, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.5),
        inset 0 -1px 0 rgba(255, 255, 255, 0.1),
        inset 0 0 34px 17px rgba(255, 255, 255, 1.7);
    overflow: hidden;
}
.right-wrap .right_l_box{
    width: 100%;
    flex: 3;
    display: flex; 
    flex-direction: column;
    gap: 20px;
}
.right-wrap .right_r_box{
    flex: 2;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/*  */
section{
    width: 100%; height: 980px;
}

.sec01{
    overflow: hidden;
    background-color:var(--main-color) ;
    position: relative;
    transform: translateY(-48px);
}
.sec01 .bg{
    width: 1920px; height: 100%;
    top: 0; left: 0; right:0; bottom: 0;
    position: absolute;
    overflow: hidden;
    z-index: 10;
    /* background-color: rgba(0, 0, 0, 0.2); */
    /* display: none; */
}
.opacity.black{
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.2);
    z-index: 99;
}
.sec01 .txt_wrap{
    position: absolute;
    z-index: 20;
    top: 50%; transform: translateY(-50%);
    left: 10%;
}
.sec01 .box h2{
    margin-bottom: 12px;
}
.sec01 .bg div{
    background-color: transparent;
    border-radius: 50%;
    position: absolute;
}
/* .bg .cir1{
    width: 1844px; height: 1844px;
    border: 380px solid #054238 ;
    background-color: transparent;
    top: -300px; left: -700px;
    animation: drawCircle 2.5s ease-in-out forwards;
} */
.bg .cir1_box {
    width: 1844px; height: 1844px;
    top: -300px; left: -700px;
}
.bg .cir1 {
    fill: none;
    stroke: #054238;
    stroke-width: 380;
    stroke-dasharray:4576;
    stroke-dashoffset: 4576;
    stroke-linecap: round;
    top: -300px; left: -700px;
    right: 0;
    animation: draw 1.5s ease-in-out forwards;
    transform: rotate(100deg);
}
/* .bg .cir2{
    width: 360px; height: 360px;
    border: 120px solid #fff;
    background-color: transparent;
    bottom: 260px; right: 0;
    animation: drawCircle 2s 0.8s ease-in-out forwards;
} */
.bg .cir2_box{
    width: 360px; height: 360px;
    bottom: 260px; right: 0;
}
.bg .cir2{
    fill: none;
    stroke: #fff;
    stroke-width: 120;
    stroke-dasharray: 942;
    stroke-dashoffset: 942;
    bottom: 260px; right: 0;
    animation: draw 1.5s ease-in-out forwards;
    animation-delay: 2s;
}
@keyframes draw {
    to {
        stroke-dashoffset: 0;
    }
}
.bg .cir3{
    width: 680px; height: 680px;
    opacity: 0;
    background-color: rgba(255, 255, 255, 0.6) !important;
    top: -240px; right: -40px;
    animation: growFade 3s 1.4s ease-in-out forwards;
}
/* sec01 배경 원 애니메이션 */
/* 1. 원이 조각처럼 생기다가 완성되는 느낌 */
@keyframes drawCircle {
    0% {
        opacity: 0;
        transform: rotate(180deg);
        clip-path: polygon(50% 0%, 100% 0%, 100% 100%, 50% 100%, 50% 50%);
    }

    40% {
        opacity: 1;
        transform: rotate(90deg);
        clip-path: circle(40% at 50% 50%);
    }

    100% {
        opacity: 1;
        transform: rotate(0);
        clip-path: circle(50% at 50% 50%);
    }
}

/* 2. 반투명 원은 부드럽게 커지고 흐려지는 효과 */
@keyframes growFade {
    0% {
        opacity: 0;
        transform: scale(0.5);
    }

    50% {
        opacity: 0.8;
        transform: scale(1.05);
    }

    100% {
        opacity: 0.6;
        transform: scale(1);
    }
}

/* fade-up 딜레이 */
.visual .visual_txt span.fade-up:nth-child(1) { transition-delay: 0.0s; }
.visual .visual_txt span.fade-up:nth-child(2) { transition-delay: 0.5s; }
.visual .visual_txt span.fade-up:nth-child(3) { transition-delay: 1.0s; }

.visual .right_l_box .box.fade-up:nth-child(1) { transition-delay: 1.3s; }
.visual .right_l_box .box.fade-up:nth-child(2) { transition-delay: 1.6s; }
.visual .right_l_box .box.fade-up:nth-child(3) { transition-delay: 1.9s; }
.visual .right_r_box .box.fade-up:nth-child(1) { transition-delay: 1.6s; }
.visual .right_r_box .box.fade-up:nth-child(2) { transition-delay: 1.9s; }
.visual .box.fade-up.active {opacity: 0.6 !important;}

/* sec01 */
.sec01 .box_wrap .fade-up:nth-child(1) { transition-delay: 0s; }
.sec01 .box_wrap .fade-up:nth-child(2) { transition-delay: 0.15s; }
.sec01 .box_wrap .box .img.fade-up{ transition-delay: 0.8s; }
/* .sec01 .box_wrap .fade-up:nth-child(3) { transition-delay: 0.3s; } */
/* .sec01 .box_wrap .fade-up:nth-child(4) { transition-delay: 0.45s; } */

.sec04 .txt_wrap .dot{ transition-delay: 0s; }
.sec04 .txt_wrap .sub_tit{ transition-delay: 0.5s; }
.sec04 .txt_wrap .head_tit{ transition-delay: 0.8s; }



/* sec02 */
.sec02 .txt_wrap h1 span.fade-up:nth-child(1) {transition-delay: 0s;}
.sec02 .txt_wrap h1 span.fade-up:nth-child(2) {transition-delay: 0.3s;}
.cont_box_wrap .box.fade-up{transform: translateY(5px) !important;}
.cont_box_wrap .box.fade-up.active{transform: translateY(0px) !important;}
.cont_box_wrap .box.fade-up:nth-child(1){transition-delay: 0.6s;}
.cont_box_wrap .box.fade-up:nth-child(2){transition-delay: 0.8s;}
.cont_box_wrap .box.fade-up:nth-child(3){transition-delay: 1.0s;}
.cont_box_wrap .box.fade-up:nth-child(4){transition-delay: 1.2s;}
.cont_box_wrap .box.fade-up:nth-child(5){transition-delay: 1.4s;}
.cont_box_wrap .box.fade-up:nth-child(6){transition-delay: 1.6s;}

.sec05 .right_box_wrap .fade-up:nth-child(1) {transition-delay: 0s;}
.sec05 .right_box_wrap .fade-up:nth-child(2) {transition-delay: 0.5s;}

.sub_tit{
    /* font-size: 32px; */
    font-size: clamp(20px, 2vw, 32px);
    font-family: var(--font-main);
    font-weight: 500;
}
.sub_tit b{
    font-weight: 700;
}
.head_tit{
    font-size: clamp(36px, 3vw, 60px);
    /* font-size: 60px; */
    line-height: 1.2;
    font-family: var(--font-main);
    font-weight: 800;
}
.sec01 .btn{ /* 더 알아보기 버튼 */
    color: var(--main-color);
    margin-top: 200px;
    font-family: var(--font-main);
    font-size: 20px;
    display: flex;
    gap: 4px;
    align-items: center;
}
.sec01 .sub_tit{
    margin-bottom: 12px;
}
.sec01 .btn .icon.arrow{
    width: 24px; height: 24px;
    background-color: transparent;
}
.sec01 .box_wrap{
    position: absolute;
    z-index: 20;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    width: 50%;
    max-width: 620px;
    top: 50%; transform: translateY(-50%);
    right: 5%;
}
.sec01 .box_wrap .box{
    width: 100%; height: 300px;
    background-color: rgba(0, 0, 0, 0.4);
    border-radius: 42px;
    padding: 28px;
    position: relative;

    border: 1px solid rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);

    /* box-shadow:
        0 8px 32px rgba(0, 0, 0, 0.1),
        inset 0 1px 0 rgba(0, 0, 0, 0.5),
        inset 0 -1px 0 rgba(0, 0, 0, 0.1),
        inset 0 0 34px 17px rgba(0, 0, 0, .7); */
    overflow: hidden;
}
/* .sec01 .box_wrap .box .tit_point_wrap{} */
.sec01 .box_wrap .box h2{
    color: #fff;
    /* font-size: 24px; */
    font-size: clamp(20px, 2vw, 24px);
    font-family: var(--font-main);
    font-weight: 800;
}
.sec01 .box_wrap .box p{
    font-size: 16px;
    color: #fff;
    word-break: keep-all;
}
.sec01 .box_wrap .box p span{
    display: block;
    max-width: 278px;
}
.sec01 .box_wrap .box.fade-up.fade-up.active{
    opacity: 1 !important;
}
.sec01 .box_wrap .box .img{
    position: absolute;
    width: 35%;
    min-width: 80px;
    max-width: 160px;
    bottom: 20px;
    right: 20px;
}

/* sec02 6개 아이콘 애니메이션 */
.sec02{
    /* border-bottom-right-radius:48px;
    border-bottom-left-radius: 48px; */
    background-color: #fff;
    height: auto !important;
    padding: 90px 20px;
    position: relative;
    z-index: 10;
    transform: translateY(-48px);
}
.sec02 .dot{
    margin-left: 0;
    margin: 0 auto;
    margin-top: 100px;
    margin-bottom: 16px;
}
.sec02 .sub_tit.center{
    text-align: center;
}
.sec02 .cont_box_wrap{
    width: 100%;
    max-width: 1520px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 auto;
    margin-top: 80px;
}
.sec02 .cont_box_wrap .box{
    flex: 1 1 calc(33.3% - 24px);
    background-color: #fff;
    border: 1px solid #999;
    border-radius: 20px;
    padding: 20px;
    transition: 0.2s;
    text-align: center;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
    /* align-items: flex-start; */
    transition: 0.2s;
}
.sec02 .cont_box_wrap .box .title{
    display: inline-block;
    text-align: center;
}
.sec02 .cont_box_wrap .box:hover{
    border: 1px solid var(--main-color);

    color: var(--main-color);
}
.sec02 .cont_box_wrap .box .tit_wrap{
    width: 100%;
    margin-bottom: 12px;
}
.cont_box_wrap .box .tit_wrap h1{
    font-size: 20px;
    font-family: var(--font-main);
    font-weight: 700;
}
.sec02 .cont_box_wrap .box .tit_wrap .icon_ani{
    width: 100px; height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 12px;
    margin: 0 auto;
    margin-bottom: 12px;
}

.icon_ani.icon1{ background: url(/assets/img/renewal/icon1_bg.gif) no-repeat center center / contain; }
.icon_ani.icon2{ background: url(/assets/img/renewal/icon2_bg.gif) no-repeat center center / contain; }
.icon_ani.icon3{ background: url(/assets/img/renewal/icon3_bg.gif) no-repeat center center / contain; }
.icon_ani.icon4{ background: url(/assets/img/renewal/icon4_bg.gif) no-repeat center center / contain; }
.icon_ani.icon5{ background: url(/assets/img/renewal/icon5_bg.gif) no-repeat center center / contain; }
.icon_ani.icon6{ background: url(/assets/img/renewal/icon6_bg.gif) no-repeat center center / contain; }

.sec02 .sub_tit span{
    display: block;
}

/* sec2 / 파트너사 나열 */
.sec2{background-color: #fff; transform: translateY(-98px); padding-top: 50px;}
.sec2 .txt_wrap{
    margin-left: 5%;
    margin-top: 50px;
}
.sec2 .partner_slider{
    width: 100%; height: 540px;
    padding: 0 5%;
    margin-top: 60px;
    overflow: hidden;
    overflow-x: scroll;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory; /* (선택) 박스 단위로 스냅 */
    -webkit-overflow-scrolling: touch; /* iOS 부드러운 터치 스크롤 */
    scrollbar-width: none;
}
.sec2 .partner_slider::-webkit-scrollbar{display: none;}
.sec2 .partner_slider .part_slider_wrap{
    width:max-content; height: 100%;
    display: flex;
    gap: 24px;
}
.part_slider_wrap .box{
    width: 280px;
    border: 1px solid #a9a9a9;
    height: 100%;
    flex-shrink: 0;
    background: white;
    border-radius: 32px;
    padding: 32px 20px;
}
.part_slider_wrap .box_title{
    font-family: var(--font-main);
    font-weight: 600;
    font-size: 18px;
}
.part_slider_wrap .box.act{
    background-color: #98FFF1;
    border: 1px solid transparent;
}
.part_slider_wrap .box .title_wrap{
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.part_slider_wrap .box .title_wrap .logo{
    width: 44px; height: 44px;
    background-color: var(--main-color);
    border-radius: 8px;
}
.part_slider_wrap .box .img{
    width: 200px;
    margin: 0 auto;
    margin-top: 24px;
}


.box .logo.nseries{background: url(/assets/img/renewal/logo_nseries.png) no-repeat center center /cover;}
.box .logo.kakao{background: url(/assets/img/renewal/logo_kakaopage.png) no-repeat center center /cover;}
.box .logo.npay{background: url(/assets/img/renewal/logo_npay.png) no-repeat center center /cover;}
.box .logo.coupon{background: url(/assets/img/renewal/logo_pointcoupon.png) no-repeat center center /cover;}
.box .logo.moviechart{background: url(/assets/img/renewal/logo_moviechart.png) no-repeat center center /cover;}

/* sec03 */
.sec03{
    height: auto !important;
    background-color: #fff;
    padding: 60px 0 120px 0;
    transform: translateY(-100px);
}
.sec03 .tit_wrap{
    padding: 20px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-top: 100px;
}
.sec03 .head_tit{
    margin-top: 0 !important;
}
.sec03 .tit_wrap .sub_tit{
    font-size: 26px;
    font-weight: 600;
}
.sec03 .tit_wrap span{
    width: auto;
    display: inline-block;
    margin: 0 auto;
    font-size: 36px;
    font-weight: 700;
}
.card_logo_wrap{
    margin: 0 auto;
    margin-top: 40px;
    width: 100%;
    max-width: 1000px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding: 0;
    gap: 24px;
}
.logo_box{
    width: 180px; height: 70px;
    border-radius: 32px;
    display: flex;
    justify-content: center;
    align-self: center;
    padding: 0 4px;
}
.card_logo_wrap .logo_box:nth-child(1){transition-duration: 1.0s;}
.card_logo_wrap .logo_box:nth-child(2){transition-duration: 1.3s;}
.card_logo_wrap .logo_box:nth-child(3){transition-duration: 1.6s;}
.card_logo_wrap .logo_box:nth-child(4){transition-duration: 1.9s;}
.card_logo_wrap .logo_box:nth-child(5){transition-duration: 2.2s;}
.card_logo_wrap .logo_box:nth-child(6){transition-duration: 2.5s;}
.card_logo_wrap .logo_box:nth-child(7){transition-duration: 2.8s;}
.card_logo_wrap .logo_box:nth-child(8){transition-duration: 3.1s;}
.card_logo_wrap .logo_box:nth-child(9){transition-duration: 3.4s;}
.logo_box img{
    max-width: 100%;
    height: auto;
    object-fit: contain;
}
.logo_box.hd {background-color: #F0F0F0;}
.logo_box.sh {background-color: #EDF2FF;}
.logo_box.ss {background-color: #E3EDFF;}
.logo_box.kb {background-color: #FFFAED;}
.logo_box.bc {background-color: #FFF0F1;}
.logo_box.wr {background-color: #E0F3FF;}
.logo_box.hn {background-color: #E6FFFA;}
.logo_box.nh {background-color: #E6FEFF;}
.logo_box.lp {background-color: #F0F0F0;}

.sec03 .tit_wrap .middle_tit{
    font-size: 36px;
    font-weight: 700;
}
.logo_slide_wrap{
    position: absolute;
    left: 0; right: 0;
    width: 100%;
    overflow: hidden;
    margin-top: 40px;
}
.logo_slide{
    display: inline-flex;
    align-items: center;
    gap: 30px;
    padding: 0;
    animation: slide-left 32s linear infinite;
}
.logo_slide.mob{
    display: none;
    animation: slide-right 32s linear infinite;
}
.logo {
    flex: 0 0 auto;
    padding: 0 12px;
    /* 로고 간 간격 */
}
.logo img {
    height: 44px;
    width: auto;
    vertical-align: middle;
    object-fit: contain;
}
@keyframes slide-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}
@keyframes slide-right {
    from {
        transform: translateX(-50%);
    }

    to {
        transform: translateX(0);
    }
}

.tit_wrap.mt{
    margin-top: 160px;
}
.camp_img{width: 100%;}
.camp_wrap{
    width: 100%;
    max-width: 1500px;
    display: flex;
    justify-content: center;
    margin: 0 auto;
}
.camp_wrap .img_box{
    width: 390px;
    align-items: center;
}
.camp_wrap .img_box p{
    display: block;
    text-align: center;
    padding: 4px 0;
    font-size: 20px;
    font-weight: 600;
    color: var(--main-color);
}
.img_box.sleep{margin-top: 200px;}
.img_box.del{margin-top: 200px;}
.camp_bottom{
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 20px;
    margin-top: 100px;

}
.camp_bottom .img_box{
    width: 390px;
}
.camp_bottom .img_box.center{
    margin-top: 50px;
}
p.camp_txt{
    display: block;
    text-align: center;
    padding: 4px 0;
    font-size: 20px;
    font-weight: 600;
    margin-top: 32px;
    color: var(--main-color);
}

/* 시안2 <- 픽스됨 */
.camp_img2_wrap{
    width: 100%;
    max-width: 1500px;
    overflow: hidden;
    margin: 0 auto;
    position: relative;
}
.swiper.mySwiper{
    width: 100%;
    max-width: 1500px;
    overflow: hidden;
    margin: 0 auto;
    position: relative;
    cursor: pointer;
}
/* 그라데이션 */
.camp_img2_wrap::before,
.camp_img2_wrap::after {
    content: '';
    position: absolute;
    top: 0;
    width: 80px;         /* 그라데이션 폭 */
    height: 100%;
    z-index: 2;           /* 슬라이드보다 위에 */
    pointer-events: none; /* 클릭 방해 방지 */
}
.swiper::before,
.swiper::after {
    content: '';
    position: absolute;
    top: 0;
    width: 80px;         
    height: 100%;
    z-index: 2;           
}

/* 왼쪽 흰색 → 투명 그라데이션 */
.camp_img2_wrap::before {
    left: 0;
    background: linear-gradient(to right, #fff 0%, rgba(255, 255, 255, 0) 100%);
}
/* 오른쪽 흰색 → 투명 그라데이션 */
.camp_img2_wrap::after {
    right: 0;
    background: linear-gradient(to left, #fff 0%, rgba(255, 255, 255, 0) 100%);
}

.swiper::before {
    left: 0;
    background: linear-gradient(to right, #fff 0%, rgba(255, 255, 255, 0) 100%);
}
.swiper::after {
    right: 0;
    background: linear-gradient(to left, #fff 0%, rgba(255, 255, 255, 0) 100%);
}

.camp_img2{
    display: flex;
    /* gap: 32px; */
    animation: slide-left 40s linear infinite;
}
.swiper-wrapper{
    display: flex;
    /* animation: slide-left 40s linear infinite; */
    transition-timing-function: linear !important;
}
.swiper-slide{
    width: auto;
}

.camp_img_box{
    padding: 40px 12px;
    height: auto;
    flex: 0 0 calc(33.333% - 20px);
    border-radius: 32px;
    text-align: center;
    align-items: center;
    box-sizing: border-box;
    margin-top: 40px;
}
.camp_img_box p{
    font-size: 20px;
    font-weight: 600;
}

.camp_img_box img{
    display: block;
    margin: 0 auto;
    max-width: 78%;
}
.camp_img_box.npay{background-color: #E5FFF0;}
.camp_img_box.sleep{background-color: #FFEEE8;}
.camp_img_box.del{background-color: #D3E2FF;}
.camp_img_box.m-cou{background-color: #EDEEFF;}

.scroll_txt{
    text-align: center;
    font-size: 16px;
    margin-top: 40px;
    color: #a8a8a8;
}


/* sec04 */
.sec04{
    height: 980px;
    background-color:#182D29 ;
    position: relative;
    overflow: hidden;   
    transform: translateY(-100px);
}
.sec04 .txt_wrap{
    position: absolute;
    top: 50%; 
    transform: translateY(-50%);
    left: 5%;
}
.sec04 .txt_wrap .btn_wrap{
    display: flex;
    gap: 16px;
    margin-top: 250px ;
}
.sec04 .txt_wrap .head_tit{
    font-size: clamp(32px, 4vw, 60px);
}
.sec04 .txt_wrap .btn_wrap .btn{
    width: auto;
    display: flex;
    gap: 12px;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.2);
    color: #fff;
    font-size: 20px;
}
.sec04 .txt_wrap .btn_wrap .btn p {
    font-size: 16px;
    white-space: nowrap;
}

.sec04 .txt_wrap .btn_wrap .btn:hover{
    background-color: rgba(255, 255, 255, 0.3);
}
.sec04 .btn .icon{width: 22px; height: 22px;}
.sec04 .btn .icon.google{ background: url(/assets/img/renewal/googleplay_logo.svg) no-repeat center center / contain;}
.sec04 .btn .icon.apple{ background: url(/assets/img/renewal/apple_logo.svg) no-repeat center center / contain; width: 24px;
    height: 24px;}
.sec04 .btn .icon.arrow{ background: url(/assets/img/renewal/uparrow.svg) no-repeat center center / contain;}
.sec04 .right_wrap{
    position: absolute;
    right: 0px;
    width: 60%;
    max-width: 900px; height: 100%;
}
.app {
    width: 50%;
    position: absolute;
}
.app.splash {
    top: 14%;
    left: 10%;
    /* transform: translateY(-45%); */
    z-index: 10;
}
.app.appmain {
    top: 11%;
    right: 5%;
    /* transform: translateY(-56%); */
    z-index: 20;
}



/* sec05 */
.sec05{
    height: 720px;
    transform: translateY(-48px);
    position: relative;
    /* background:url(/assets/img/renewal/sec05_bg_img.png) no-repeat center center / cover;
    background-attachment: fixed; */
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 60px;
}
.sec05 .sec_wrap{
    width: 100%;
    display: flex;
    gap: 40px;
    align-items: flex-start;
    justify-content: space-between;
}
.bg_fixed{
    position: fixed;
    width: 100%;
    top: 0; left: 0; bottom: 0; right: 0;
    z-index: -999;
    background: url(/assets/img/renewal/sec5_bg_img.png) no-repeat center center / cover ;
}
.sec05 .txt_wrap h1{
    display: block;
    font-size: clamp(1.8rem, 1vw + 1.8rem, 2.5rem);
}
.sec05 .txt_wrap p{
    font-size: clamp(18px, 1vw + 14px, 28px) !important;
    font-weight: 400;
    display: block;
    margin-top: 12px;
    white-space: nowrap;
}
.sec05 .right_box_wrap{
    /* position: absolute; */
    width: 100%;
    max-width: 700px;
    display: flex;
    gap: 20px;
    right: 5%;
}
.sec05 .right_box_wrap .box{
    width: 100%;
    border-radius: 32px;
    background-color: rgba(255, 255, 255, 0.24);
    padding: 28px 20px 20px 20px;
}
.sec05 .right_box_wrap .box h3,.sec05 .right_box_wrap .box p{color: #fff;}
.sec05 .right_box_wrap .box h3{
    font-family: var(--font-main);
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 8px;
}
.sec05 .right_box_wrap .box p{
    font-weight: 350;
    font-size: 16px;
    margin-bottom: 80px;
}
.sec05 .right_box_wrap .box .btn{
    float: right;
    font-size: 18px;
    color: var(--main-color);
    font-weight: 550;
    display: flex;
    align-items: center;
    gap: 8px;
}
.btn .icon{
    width: 24px;
    height: 24px;
    display: block;
}

.btn .icon.arrow{
    background: url(/assets/img/renewal/sec5_i_btn_arrow.svg) no-repeat center center / cover;
}

/* footer */
footer{
    position: relative;
    width: 100%;
    background-color: #054238;
    padding: 36px 40px;
    /* display: flex;
    justify-content: space-between; */
}

footer .logo{
    width: 158px; height: 32px;
    background: url(/assets/img/renewal/logo_wh_pointpay.svg)no-repeat center center / contain;
}
footer .f-top{
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-bottom: 100px;
}
footer .f-top .btn.appdown {
    display: block;
    font-family: var(--font-main);
    font-size: 16px;
    font-weight: 200;
    color: #fff;
    padding: 12px 22px;
    border: 1px solid rgba(255, 255, 255, 0.60);
    background-color: rgba(255, 255, 255, 0.16);
}
footer .f_left ul {
    display: flex;
    margin-bottom: 16px;
}
footer .f_left ul li{
    font-family: var(--font-main);
    height: 20px;
    padding: 0 24px;
    border-right: 2px solid rgba(255, 255, 255, 0.3);
    line-height: 1.0;
    font-weight: 500;
}
footer .f_left ul li:first-child{padding-left: 0;}
footer .f_left ul li:last-child{border-right: transparent;}

footer .f_left p{font-family: var(--font-main); font-size: 14px; font-weight: 100;}
/*  */
footer .f-bot ul {
    display: flex;
    margin-bottom: 16px;
}
footer .f-bot ul li{
    font-family: var(--font-main);
    height: 20px;
    padding: 0 24px;
    border-right: 2px solid rgba(255, 255, 255, 0.3);
    line-height: 1.0;
    font-weight: 500;
    display: flex;
    justify-content: center;
    align-items: center;
}
footer .f-bot ul li a{
    color: #fff;
}
footer .f-bot p span{
    color: #c8c8c8;
}
footer .f-bot ul li:first-child{padding-left: 0;}
footer .f-bot ul li:last-child{border-right: transparent;}

footer .f-bot p{font-family: var(--font-main); font-size: 14px; font-weight: 100;}


footer .f_right{
    width: auto;
    position: relative;
}
footer .f_right .btn.appdown{
    display: block;
    font-family: var(--font-main);
    font-size: 16px;
    font-weight: 200;
    color: #fff;
    padding: 12px 22px;
    border: 1px solid rgba(255, 255, 255, 0.60);
    background-color: rgba(255, 255, 255, 0.16);
}
.go_top_icon{
    display: block;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(255, 255, 255, 0.60);
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.16);
}

.f-bot{
    width: 100%;
    display: flex;
    justify-content: space-between;
}

/* 반응형 */
@media (max-width : 1023px){
    /* 헤더 */
    header{padding: 0 20px;}
    .header_menu{
        position: fixed;
        width: 100%;
        top: 78px; left: 0; right: 0;
    }
    .header_menu ul {
        display: none;
        background-color: #fff;
        width: 100%;
        color: #222;
        padding: 12px 0;
        top: 0; left: inherit;
        transform: inherit;
        border-bottom: 1px solid #06C1A7;
    }
    .header_menu ul.active{
        display: block;
    }
    .header_menu ul li{
        color: #222;
        line-height: 2.4;
        padding-left: 20px;
        font-size: 15px;
    }
    header .icon {
        width: 34px;
        height: 34px;
        display: block !important;
    }
    /* sec01 */
    .sec01{
        padding: 24px 50px;
    }
    .sec01 .txt_wrap, .sec01 .box_wrap{
        position:relative;
    }
    .sec01 .txt_wrap{
        top: inherit; left: inherit; right: inherit;
        transform: translateY(0);
        width: 100%;
        margin-top: 100px;
        padding-left: 20px;
    }  
    .sec01 .txt_wrap .two_wrap{
        display: block;
    }
    .sec01 .btn{margin-top: 20px;}
    .sec01 .box_wrap{
        width: 100% !important;
        margin-top: 30px;
        top: inherit; left: inherit; right: inherit;
        transform: translateY(0);
        flex-wrap: nowrap;
        max-width: none;
    }
    .sec01 .box_wrap .box{
        height: 360px;
    }
    
    .sec02{
        padding: 25px 80px;
    }
    .sec02 .cont_box_wrap .box{
        padding:12px 8px;
        flex: 1 1 calc(50% - 24px); /* 2개씩 배치 */
    }


    .sec03{
        padding: 60px 40px 120px 40px;
    }
    .card_logo_wrap {
        gap: 8px;
        margin-top: 0;
    }
    .logo_box {
        width: 30%;
        max-width: 110px;
        min-width: 80px;
        height: 50px;
    }

    .sec04{
        height: 800px;
    }
    .sec04 .txt_wrap .btn_wrap {
        display: flex;
        gap: 16px;
        margin-top: 80px;
    }
    .logo_slide{
        height: 32px;
        gap: 12px;
    }

    .logo img{
        height: 32px;
        object-fit: cover;
    }
    
    .camp_img_box p{
        font-size: 16px;
    }

}

@media (max-width : 740px){
    .sec04{
        height: 980px;
        padding: 80px 36px 80px 36px;
        position: relative; 
    }
    .sec04 .txt_wrap{
        position: inherit;
        top: inherit; left: inherit;
        margin-top: 100px;
        word-break: keep-all;
        
    }
    .sec04 .txt_wrap .btn_wrap{
        position: absolute;
        display: flex;
        flex-direction: column;
        gap: 8px;
        width: auto;
        margin: 0 auto;
        bottom:-580px;
        left: 50%;
        transform: translateX(-50%);
    }
    .sec04 .right_wrap{
        width: 82%;
        height: 100vw;
        max-width: 500px;
        left: 50%;
        transform: translate(-50%, -50%);
        bottom: 0px;
        top: 50%;
        right: inherit;
    }
    .logo_slide.mob {
        display: inline-flex !important;
    }

    .sec05{
        align-items: inherit;
        padding: 40px 32px ;
    }
    .sec05 .txt_wrap {
        margin-bottom: 20px;
    }
    .sec05 .sec_wrap{display: block;}
    .sec05 .right_box_wrap{
        display: block;
    }
    .sec05 .right_box_wrap .box:first-child{
        margin-bottom: 20px;
    }
    .sec05 .right_box_wrap .box .btn{
        position: absolute;
        bottom: 20px;
        right: 20px;
    }

    /* footer */
    footer .f-top{
        flex-direction: column;
        gap: 12px;
        margin-bottom: 40px;
    }

    footer .f-bot{
        flex-direction: column;
        gap: 12px;
        align-items: stretch;
        position: relative;
        justify-content: space-between;
    }

    footer .f-bot .go_to_icon{
        position: absolute;
        right: 20px; bottom: 20px;
        width: 34px;
        text-align: right;
    }
    .go_top_icon{
        margin-top: 20px;
    }
}

@media (max-width : 680px) {
    header .logo{
        width: 120px;
    }
    .visual{
        height: 100vh;
    }
    .visual .wrap .txt_wrap{
        left: 0; right: '0';
        width: 100%;
        position: relative;
    }
    .visual .visual_txt{
        width: 100%;
        text-align: center;
        margin-top: 100px;
    }
    .visual .small_txt{
        width: 100%;
        text-align: center;
        margin-top: 20px;
    }

    .sec01 {
        height: auto !important;
        padding: 20px 24px 40px 20px;
    }
    .sec01 .box_wrap{
        flex-direction: column !important;
        gap: 20px;
    }

    .sec02{
        padding: 24px 28px;
    }
    .sec02 .dot{
        margin-top: 50px;
    }

    .sec03 {
        padding: 60px 24px;
    }

    .sec03 .tit_wrap .sub_tit{
        font-size: 18px;
    }
    .sec03 .tit_wrap .head_tit span{
        font-size: 24px;
    }
    .sec03 .tit_wrap .middle_tit{
        font-size: 24px;
        word-break: keep-all;
    }
    .sec02 .cont_box_wrap .box p{
        font-size: 14px;
        word-break: keep-all;
    }
    
    .camp_bottom{
        flex-direction: column;
        gap: 4px;
    }
    .camp_bottom .img_box {
        width: 100%;
        max-width: 320px;
        margin: 0 auto;
    }
    .camp_bottom .img_box.center{
        margin-top: 0;
    }

    .sec02 .cont_box_wrap .box .tit_wrap .icon_ani{
        width: 60px;
        height: 60px;
    }
    .camp_wrap .img_box p{
        width: 90%;
        margin: 0 auto;
        font-size:16px;
    }
    .swiper::before,
    .swiper::after{
        width: 40px
    }

    footer {
        padding: 36px 20px;
    }

    footer .f-bot ul li{
        font-size: 13px;
        padding: 0 8px;
        align-items: center;
    }

    footer .f-bot ul li:last-child{
        padding-right: 0;
    }
    .scroll_txt{
        font-size: 14px;
    }

}

@media (max-width : 375px){
    .sec02 .cont_box_wrap{
        gap: 4px;
    }
    .sec02 .cont_box_wrap .box{
        padding: 12px 4px;
    }
    .sec02 .cont_box_wrap .box p{
        font-size: 13px;
    }

}