.register{max-width: 1440px; padding: 100px 0;}
.view-more{text-decoration: underline; text-underline-offset: 4px;}
/* 메인슬라이드 */
#mainSlide {width: 100%; height: 100vh;}
#mainSlide .swiper {height: 100%; overflow: hidden; position: relative;}
#mainSlide .swiper-slide .img{background-position: center; background-repeat: no-repeat; background-size: cover; transition: all .3s; width: 100%; height: 100%;}
#mainSlide .swiper-slide.slide01 .img{background-image: url(/img/main/mainSlide01.jpg)}
#mainSlide .swiper-slide.slide02 .img{background-image: url(/img/main/mainSlide02.jpg)}
#mainSlide .swiper-slide.slide03 .img{background-image: url(/img/main/mainSlide03.jpg)}
#mainSlide .swiper-slide.slide04 .img{background-image: url(/img/main/mainSlide04.jpg)}
#mainSlide .pageBtn {position: absolute; left: calc((100% - var(--layoutwidth)) / 2); bottom: 16rem; z-index: 1; gap: 2rem;}
#mainSlide .progress-box {position: relative; width: 170px; height: auto; z-index: 2;}
#mainSlide .autoplay-progress {position: absolute; left: 35px; top: 10px; z-index: 3; width: 100px; height: 3px; background-color: rgba(70, 66, 58, 0.3);}
#mainSlide .autoplay-progress svg {--progress: 0; position: absolute; left: 0; top: 0; z-index: 11; width: 100%;  height: 3px; stroke-width: 3px; stroke: #fff; fill: none; stroke-dashoffset: calc(100 * var(--progress)); stroke-dasharray: 100; }

#mainSlide .main_more{background-color: #1a1a1a; padding: 1rem 2rem; display: inline-block;}
#mainSlide .swiper-pagination{ font-size: 1.125rem;}
#mainSlide .swiper-button-prev:after, .swiper-rtl .swiper-button-next:after{content: ''; display: none;}
#mainSlide .swiper-button-next:after, .swiper-rtl .swiper-button-prev:after{content: ''; display: none;}
#mainSlide .swiper-horizontal>.swiper-pagination-bullets, #mainSlide .swiper-pagination-bullets.swiper-pagination-horizontal, #mainSlide .swiper-pagination-custom, #mainSlide .swiper-pagination-fraction{width: 65px; bottom: -16px; }
#mainSlide .swiper-button-next, .swiper-rtl .swiper-button-prev{width: 10px; height: 15px; right: auto; left: 88px; bottom: auto; top: 17px;}
#mainSlide .swiper-button-prev, .swiper-rtl .swiper-button-next{width: 10px; height: 15px; left: -33px; bottom: auto; top: 17px;}
#mainSlide .btn_wrap{position: absolute; bottom: 50px; left: 51%; transform: translateX(-50%); z-index: 999;}
#mainSlide .swiper-pagination-current{margin-right: 5px; }
#mainSlide .swiper-pagination-total{margin-left: 5px; }

#mainSlide .txt{max-width: 1440px; width: 95%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}

/* button circle */
/* button circle */
.progress {transform: rotate(-90deg);}
.play_btn {margin-left: 150px;position: relative;top: 0;left: 0;}

.swiper-pagination2 {
  position: relative;
  top: 0;
  left: 0;
  width: 45px !important;
  height: 45px;
  box-sizing: border-box; /* 👈 핵심! 테두리 포함해서 45px로 강제 고정 */
  border: 3px solid rgba(70, 66, 58, 0.3);
  display: block;
  bottom: auto;
  right: auto;
  border-radius: 50%;
  margin-left: 0;
}

.swiper-pagination2 .swiper-pagination-bullet {
  position: absolute;
  top: -3px;  /* 테두리 시작점으로 정확히 이동 */
  left: -3px; 
  width: 45px;
  height: 45px;
  background-color: transparent;
  margin: 0 !important;
}

.circle-origin {
  fill: transparent;
  stroke: #46423a;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: 135.498px;
  stroke-dashoffset: 135.498px;
}

.swiper-pagination-bullet-active .circle-origin {animation: progress 5s;}
.swiper-pagination-bullet.replay .circle-origin {animation: progress1 5s;}

.autoplay-button > div {position: absolute;cursor: pointer;top:50%;left:50%;transform: translate(-50%,-50%);}
.autoplay-button > div span {display: block;color: #fff;}

@keyframes progress {
  0% {stroke-dashoffset: 135.498px;}
  90% {stroke-dashoffset: 0;}
  100% {stroke-dashoffset: -135.498px;}
}
@keyframes progress1 {
  0% {stroke-dashoffset: 135.498px;}
  90% {stroke-dashoffset: 0;}
  100% {stroke-dashoffset: -135.498px;}
}

@media(max-width:768px) {
    #mainSlide .font-18 {font-size: 1.5rem;}
}

#clinic-section {height: 100vh; position: relative; overflow: hidden; background-image: url('/img/main/clinic-section_bg.jpg'); background-size: cover; background-position: center;}
#clinic-section .pin-wrap {height: 100vh; width: 100%; display: flex; justify-content: center; align-items: center; text-align: center; color: white; position: relative;}
#clinic-section .content {position: absolute; opacity: 0; width: 100%; padding: 20px;}
#clinic-section .content.active { opacity: 1; }
#clinic-section .bg-circle {position: absolute; width: 100%; height: 100%; background-image: url('/img/main/clinic-section_bg00.jpg'); background-size: cover; background-position: center; background-attachment: fixed; clip-path: circle(20% at 50% 50%); z-index: 0;}

#n_data .width98{background: url(/img/main/n_data_bg.jpg) no-repeat center right / cover; width: 98%;}
#n_data .flex{gap: 50px;}
#n_data .line{width: 100%; height: 1px; background-color: #c8c3bc;}

#soultion .solution-wrap{background-color: #e8e4df;}
#soultion .imageSwiper{ background-color: #f7f5f2;}
#soultion .flex-between{gap: 120px}
#soultion .swiper-slide .flexList{--x-gap: 3rem}
#soultion .swiper-slide .title{position: relative; padding-bottom: 40px;}
#soultion .swiper-slide .title img{position: absolute; bottom: 0; left: 30%;}
#soultion .solution-menu{--x-gap: 3rem}
#soultion .solution-menu .active{color: var(--pointcolor); font-weight: 600; position: relative;}
#soultion .solution-menu .active:after{display: block; content:''; width: 6px; height: 6px; border-radius: 50%; background-color: var(--pointcolor); position: absolute; top: 0; left: -10px;}
#soultion .s_logo{position: absolute; bottom: 3rem; right: 3rem;}

#doctor .swiper-slide{background-color: #e8e4df;}
#doctor .flexList .info{padding: 3rem;}
#doctor .flexList .box:first-child{height: 850px;}
#doctor .doc01 .box:first-child{background: url(/img/main/doctor01.jpg) no-repeat center / cover;}
#doctor .doc02 .box:first-child{background: url(/img/main/doctor02.jpg) no-repeat center / cover;}
#doctor .doc03 .box:first-child{background: url(/img/main/doctor03.jpg) no-repeat center / cover;}
#doctor ul li{padding-left: 15px; position: relative;}
#doctor ul.bold600 li:after{content: ''; display: block; width: 6px; height: 6px; border-radius: 50%; background-color: #b2a89b; position: absolute; top: 50%; left: 0; transform: translateY(-50%);} 

#package { background: url(/img/main/package_bg.jpg) no-repeat center / cover; }
#package .package-container { position: relative; width: 100%; max-width: 1300px; height: 650px; margin: 0 auto; overflow: hidden; align-items: center; }
#package .sleeve-box { position: absolute; left: 0; top: 0; width: 50%; height: 100%; z-index: 20; display: flex; align-items: center; justify-content: center; background: url(/img/main/card.jpg) no-repeat center / cover; -webkit-mask: radial-gradient(circle 45px at right center, transparent 45px, black 46px); mask: radial-gradient(circle 45px at right center, transparent 45px, black 46px); box-shadow: 15px 0 30px rgba(0, 0, 0, 1); }

/* 간격 한 번 더 넓힌 버전 (12px, 24px) */
#package .swiper { 
    width: 55%; 
    height: 95%; 
    margin-left: auto; 
    margin-right: 45px; /* 늘어난 그림자에 맞춰 오른쪽 여백 더 확보 */
    background-color: #e8e4df;
    border: 1px solid #d5d0c8;
    box-shadow: 
        /* 1. 첫 번째 장 뒤 얇은 음영 */
        4px 0 5px rgba(0,0,0,0.06), 
        
        /* 2. 두 번째 종이 (기존 10px -> 12px로 이동) */
        12px 0 0 0 #e8e4df, 
        13px 0 0 0 #d5d0c8, 
        
        /* 3. 두 번째 장 뒤 얇은 음영 */
        16px 0 5px rgba(0,0,0,0.06), 
        
        /* 4. 세 번째 종이 (기존 20px -> 24px로 이동) */
        24px 0 0 0 #e8e4df, 
        25px 0 0 0 #d5d0c8, 
        
        /* 5. 전체 덩어리 부드러운 그림자 */
        30px 0 15px rgba(0,0,0,0.08);
}

#package .swiper-pagination { position: absolute; left: auto; right: 0; top: 50%; bottom: auto; width: 9px; z-index: 30; }
#package .swiper-pagination-bullet { width: 9px; height: 9px; background: #e8e4df; opacity: 1; transition: 0.3s; margin: 0 !important; }
#package .swiper-pagination-bullet-active { background: #be875f; border-radius: 5px; }

#package .swiper-slide { padding: 1rem; background-color: #e8e4df; }
#package .swiper-slide .text { padding: 5rem 2rem 5rem 10rem; }
#package .card01 .text-bg { background: url(/img/main/card01.jpg) no-repeat center right / cover; width: 100%; height: 100%; }
#package .card02 .text-bg { background: url(/img/main/card02.jpg) no-repeat center right / cover; width: 100%; height: 100%; }
#package .card03 .text-bg { background: url(/img/main/card03.jpg) no-repeat center right / cover; width: 100%; height: 100%; }

#youtube {background: url(/img/main/youtube_bg.jpg) no-repeat center / cover; position: relative; overflow: hidden;}
#youtube:after{background-color: rgba(56,53,46,.7); width: 100%; height: 100%; display: block; content: ''; position: absolute; top: 0; left: 0;}
#youtube .z-1{position: relative; z-index: 1;}
#youtube .width98{width: 98%;}
#youtube .y_btn{background-color: #e02f2f; padding: .7rem 2rem; border-radius: 4px; display: inline-block; color: #fff;}
#youtube .youtubeSwiper{margin-top: 180px; position: relative; z-index: 0;}
#youtube .y_doctor{position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); z-index: 2;}
#youtube .y_doctor img{filter: drop-shadow(10px 6px 6px rgba(0,0,0,.5));}

@media(max-width: 1580px){
    #n_data .width30{width: 25%;}
    #n_data .width65{width: 70%;}

    /* #doctor .flexList .box:first-child{height: 600px;} */
    #soultion .swiper-slide .flexList{width: 80%;}

    .register{width: 90%;}
}
@media(max-width: 1400px){

    #package .card02 .text-bg { background: url(/img/main/card02.jpg) no-repeat center right 15% / cover; width: 100%; height: 100%; }
}
@media(max-width: 1240px){
  #youtube .y_doctor img{max-width: 80%;}

  #n_data .width30{width: 100%; margin-bottom: 5rem;}
  #n_data .width65{width: 100%;}

  #soultion .right-area{padding-left: 5%; padding-right: 5%; padding-bottom: 100px;}
  #soultion .swiper-slide .flexList{width: 100%;}
  #soultion .s-wrap{width: 100%; overflow-x: scroll;}
   #soultion .s-wrap .solution-menu{width: 870px; padding-left: 20px;}
}
@media(max-width: 990px) {
    #mainSlide .txt{top: 28%; text-align: center;}
    #mainSlide .swiper-slide.slide01 .img{background-image: url(/img/main/mainSlide01m.jpg)}
    #mainSlide .swiper-slide.slide02 .img{background-image: url(/img/main/mainSlide02m.jpg)}
    #mainSlide .swiper-slide.slide03 .img{background-image: url(/img/main/mainSlide03m.jpg)}
    #mainSlide .swiper-slide.slide04 .img{background-image: url(/img/main/mainSlide04m.jpg)}

    #package .card01 .text-bg { background: url(/img/main/card01m.jpg) no-repeat center center / cover; width: 100%; height: 100%; }
    #package .card02 .text-bg { background: url(/img/main/card02m.jpg) no-repeat center center / cover; width: 100%; height: 100%; }
    #package .card03 .text-bg { background: url(/img/main/card03m.jpg) no-repeat center center / cover; width: 100%; height: 100%; }

    #package .package-container {
        flex-direction: column;
        height: auto;
        margin-top: 50px;
    }

    #package .swiper {
        order: 1;
        width: 90%;
        height: 500px;
        z-index: 20;

        /* 그림자를 다시 오른쪽(가로 방향)으로 고정 */
        box-shadow: 
            /* 1. 첫 번째 장 뒤 얇은 음영 */ 
            4px 0 5px rgba(0,0,0,0.06), 
            
            /* 2. 두 번째 종이 */
            12px 0 0 0 #e8e4df, 
            13px 0 0 0 #d5d0c8, 
            
            /* 3. 두 번째 장 뒤 얇은 음영 */
            16px 0 5px rgba(0,0,0,0.06), 
            
            /* 4. 세 번째 종이 */
            24px 0 0 0 #e8e4df, 
            25px 0 0 0 #d5d0c8, 
            
            /* 5. 전체 덩어리 부드러운 그림자 */
            30px 0 15px rgba(0,0,0,0.08);
    }

    #package .swiper-pagination {
        top: -50px;
        bottom: auto;
        left: 0;
        right: 0;
        width: 100%;
        display: flex;
        justify-content: center;
        margin-right: 0;
        gap: 10px;
    }

    #package .sleeve-box {
        order: 2;
        position: relative;
        left: auto;
        top: -70px;
        width: 100%;
        height: 500px;
        z-index: 30;
        -webkit-mask: radial-gradient(circle 45px at center top, transparent 45px, black 46px);
        mask: radial-gradient(circle 45px at center top, transparent 45px, black 46px);
        box-shadow: 0 -15px 30px #000;
    }

    #package .swiper-slide .text{padding: 5rem 4rem;}

    #youtube{text-align: center;}
    #youtube .y_doctor{position: relative;}
    #youtube .title .flex{justify-content: center;}
    #youtube .ylogo img{margin: auto;}
    #youtube .youtubeSwiper{margin-top: 500px;}
    #youtube .y_doctor{margin-top: -700px;}

    #doctor .doc01 .box:first-child{background: none;}
    #doctor .doc02 .box:first-child{background: none;}
    #doctor .doc03 .box:first-child{background: none;}
    #doctor .flexList .box:first-child{height: auto;}
    #doctor .flexList{height: 100%;}

#clinic-section {height: 90vh;}
#clinic-section .pin-wrap {height: 90vh;}

  #soultion .s-wrap .solution-menu{width: 750px;}
    
}
@media(max-width: 768px){
#mainSlide h2.font-50{font-size: 2.500rem}

    #youtube .youtubeSwiper{margin-top: 350px; margin-bottom: 150px;}

        #package .swiper-slide .text {
        padding: 5rem 2rem;
    }

}
@media(max-width: 500px){

    #package .sleeve-box, #package .swiper{height: 450px;}

    #doctor .title{flex-direction: column;}
    #doctor .title h2{width: 100%;}

    #n_data .font-50{font-size: 2.500rem;}
   
    #youtube .youtubeSwiper{margin-top: 300px; margin-bottom: 200px;}
}

@media(max-width: 450px){
   
    #youtube .youtubeSwiper{margin-top: 250px; margin-bottom: 300px;}
}

#shortsList .tit-wrap a{background-color: #e02f2f; display: block; color: #fff; padding: .8rem 2rem; border-radius: 4px;}


