@import url("../../../fonts/GmarketSans/GmarketSans.css");
/* font-family:'Gmarket Sans'; */

.block {
    display: block;
}

.m_color {
    color: #214079;
}

.img_box img {
    width: 100%;
}

/* intro */
.intro_bg {
    z-index: 2000;
    position: fixed;
    width: 100vw;
    height: 100vh;
    left: 0;
    top: 0;
    background-color: #001E3D;
    background-image: url(../images/intro/img_bg.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
}

.intro_area {
    z-index: 2000;
    position: fixed;
    width: 100vw;
    height: 100vh;
    left: 0;
    top: 0;
    text-align: center;
    padding: 10vh 0 4vh;
    box-sizing: border-box;
    overflow-y: scroll;
}

.intro_area .p_color {
    color: #FFA048;
}

.intro_area .intro_con h1 {
    font-family: 'Gmarket Sans';
    font-size: clamp(3rem, 6.11vw, 5.5rem);
    line-height: 1.2;
    color: #fff;
    width: 80%;
    margin: 0 auto;
    margin-bottom: 1vh;
    animation: textBling .8s ease-in-out alternate infinite;
}

.intro_area .intro_con .img_box {
    width: 60%;
    margin: 0 auto;
}

.intro_area .intro_con .img_box ul {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    padding: 3.4vh 10%;
    border-radius: 1000px;
    border: 2px solid #FFA048;
    background: rgba(0, 0, 0, .5);
}

.intro_area .intro_con .img_box ul li {
    padding: 0 5%;
    box-sizing: border-box;
    position: relative;
}

.intro_area .intro_con .img_box ul li::after {
    content: '';
    display: block;
    width: 1px;
    height: 76%;
    background: #fff;
    position: absolute;
    top: 12%;
    right: 0;
}

.intro_area .intro_con .img_box ul li:last-child:after {
    display: none;
}

.intro_area .intro_con .img_box ul li p {
    font-family: 'Gmarket Sans';
    font-weight: 500;
    font-size: clamp(1.25rem, 2vw, 1.8rem);
    line-height: 1.5;
    letter-spacing: -0.063rem;
    color: #fff;
}

.intro_area .intro_con .img_box ul li p span {
    display: block;
}

.intro_area .intro_con .btn_box {
    width: 50%;
    display: flex;
    gap: 16px;
    margin: 0 auto;
    margin-top: 4.5vh;
}

.intro_area .intro_con .btn_box li {
    width: 45%;
}

.intro_area .intro_con .btn_box li a {
    display: block;
    padding: 2.5vh 0;
    text-align: center;
    font-weight: 600;
    font-size: clamp(1.5rem, 2.22vw, 2rem);
    letter-spacing: -0.125rem;
    border-radius: 260px;
}

.intro_area .intro_con .btn_box li a.btn_intro_main {
    background: #D8D8D8;
    box-shadow: 0 4px 5px rgba(0, 0, 0, .7), inset 0 0 10px #fff;
}

.intro_area .intro_con .btn_box li a.btn_intro_more {
    background: #FFA048;
    box-shadow: 0 4px 5px rgba(0, 0, 0, .7), inset 0 0 10px #FF832F;
}

.intro_area .intro_con .btn_box li a span {
    position: relative;
}

.intro_area .intro_con .btn_box li a span::after {
    content: '';
    display: inline-block;
    width: 10px;
    height: 16px;
    background: url(../images/intro/arrow.png) center no-repeat;
    background-size: contain;
    margin-left: 1rem;
    vertical-align: middle;
}

.intro_area .intro_con .notice {
    font-size: clamp(0.875rem, 1.25vw, 1.125rem);
    line-height: 1.75rem;
    letter-spacing: -0.063rem;
    color: rgba(255, 255, 255, .4);
    margin-top: 5.5vh;
}

@keyframes textBling {
    from {
        text-shadow: 0 4px 8px rgba(0, 0, 0, .7), 2px 2px 5px #FFA048;
    }

    to {
        text-shadow: 0 4px 8px rgba(0, 0, 0, .7), 2px 2px 10px #FFA048;
    }
}

.intro_area .btn_intro_close {
    width: 60px;
    height: 60px;
    position: fixed;
    top: 9vh;
    right: 6vw;
    z-index: 2001;
}

.intro_area .btn_intro_close a {
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, .1);
    border-radius: 50%;
    position: absolute;
    transform: rotate(0);
    transition: all .2s;
}

.intro_area .btn_intro_close a span {
    display: block;
    width: 50%;
    height: 2px;
    background: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -25%;
    margin-top: -1px;
}

.intro_area .btn_intro_close a span:nth-of-type(1) {
    transform: rotate(45deg);
}

.intro_area .btn_intro_close a span:nth-of-type(2) {
    transform: rotate(135deg);
}

@media (hover:hover) {
    .intro_area .btn_intro_close a:hover {
        transform: rotate(360deg);
    }
}


/*  << 20240813 */
/* notice popup */
.notice_popup_bg {
    z-index: 1000;
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(1.5px);
}

@supports (-webkit-backdrop-filter: none) {
    .notice_popup_bg {
        -webkit-backdrop-filter: blur(1.5px);
    }
}

.notice_popup {
    z-index: 1001;
    position: fixed;
    left: calc(50% - 280px);
    transform: translateX(-50%);
    top: 22%;
}

/*.notice_popup {z-index: 1001; position: fixed; left: 20%; transform: translateX(-50%); top: 14%;}*/

.notice_popup .close_btn_top {
    z-index: 1001;
    position: absolute;
    right: -17px;
    top: -17px;
    width: 35px;
    height: 35px;
    background: url(../images/btn_round_close.png) center no-repeat;
    background-size: contain;
}

.notice_popup .mySwiper {
    width: 480px;
    height: 520px;
    border-radius: 12px 12px 0 0;
    overflow: hidden;
}

.notice_popup .mySwiper .swiper-wrapper .swiper-slide a {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 12px 12px 0 0;
    overflow: hidden;
}

.notice_popup .mySwiper .swiper-wrapper .swiper-slide a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px 12px 0 0;
}

.notice_popup .swiper-horizontal>.swiper-pagination-bullets,
.notice_popup .swiper-pagination-bullets.swiper-pagination-horizontal,
.notice_popup .swiper-pagination-custom,
.notice_popup .swiper-pagination-fraction {
    display: inline-block;
    width: auto;
    bottom: auto;
    top: 10px;
    left: 10px;
}

.notice_popup .swiper-pagination {
    width: auto;
    font-size: clamp(0.75rem, 0.97vw, 0.875rem);
    padding: 6px 10px;
    box-sizing: border-box;
    color: #fff;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 100px;
}

/* .notice_popup .swiper-horizontal>.swiper-pagination-bullets,
.notice_popup .swiper-pagination-bullets.swiper-pagination-horizontal {width: auto; bottom: auto; top: 20px; right: 18px; text-align: right;}
.notice_popup .swiper-pagination-bullet,
.notice_popup .swiper-pagination-bullet-active {background: #fff !important;} */

.notice_popup .notice_bottom {
    background: #fff;
    border-radius: 0px 0px 12px 12px;
    padding: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.notice_popup .notice_bottom input[type="checkbox"] {
    appearance: none;
    margin: 0;
    position: relative;
}

.notice_popup .notice_bottom label {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 1px solid #5F6367;
    border-radius: 4px;
    vertical-align: middle;
    cursor: pointer;
    white-space: nowrap;
    position: relative;
    line-height: 18px;
}

.notice_popup .notice_bottom label::after {
    content: '';
    width: 80%;
    height: 80%;
    background: url(../../theme01/common/images/btn_check_gray.png) center no-repeat;
    background-size: contain;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.notice_popup .notice_bottom label span {
    display: block;
    padding-left: 28px;
    position: absolute;
    top: 0;
    left: 0;
    font-size: clamp(0.875rem, 1.11vw, 1rem);
    line-height: 1.1;
    letter-spacing: -1px;
    color: #5F6367;
}

.notice_popup .notice_bottom a {
    display: inline-block;
    font-size: clamp(0.875rem, 1.11vw, 1rem);
    line-height: 1;
    text-align: right;
    letter-spacing: -1px;
    color: #5F6367;
    position: relative;
    padding-right: 28px;
}

.notice_popup .notice_bottom a::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 1px;
    background: #5F6367;
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -0.5px;
    transform: rotate(45deg);
}

.notice_popup .notice_bottom a::after {
    content: '';
    display: inline-block;
    width: 20px;
    height: 1px;
    background: #5F6367;
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -0.5px;
    transform: rotate(-45deg);
}

/* notice popup2 */
.notice_popup_bg2 {
    z-index: 1000;
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(1.5px);
}

@supports (-webkit-backdrop-filter: none) {
    .notice_popup_bg2 {
        -webkit-backdrop-filter: blur(1.5px);
    }
}

.notice_popup2 {
    z-index: 1001;
    position: fixed;
    left: calc(50% + 280px);
    transform: translateX(-50%);
    top: 22%;
}

.notice_popup2 .close_btn_top2 {
    z-index: 1001;
    position: absolute;
    right: -17px;
    top: -17px;
    width: 35px;
    height: 35px;
    background: url(../images/btn_round_close.png) center no-repeat;
    background-size: contain;
}

.notice_popup2 .mySwiper {
    width: 480px;
    height: 520px;
    border-radius: 12px 12px 0 0;
    overflow: hidden;
}

.notice_popup2 .mySwiper .swiper-wrapper .swiper-slide a {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 12px 12px 0 0;
    overflow: hidden;
}

.notice_popup2 .mySwiper .swiper-wrapper .swiper-slide a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px 12px 0 0;
}

.notice_popup2 .swiper-horizontal>.swiper-pagination-bullets,
.notice_popup2 .swiper-pagination-bullets.swiper-pagination-horizontal,
.notice_popup2 .swiper-pagination-custom,
.notice_popup2 .swiper-pagination-fraction {
    display: inline-block;
    width: auto;
    bottom: auto;
    top: 10px;
    left: 10px;
}

.notice_popup2 .swiper-pagination {
    width: auto;
    font-size: clamp(0.75rem, 0.97vw, 0.875rem);
    padding: 6px 10px;
    box-sizing: border-box;
    color: #fff;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 100px;
}

.notice_popup2 .notice_bottom {
    background: #fff;
    border-radius: 0px 0px 12px 12px;
    padding: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.notice_popup2 .notice_bottom input[type="checkbox"] {
    appearance: none;
    margin: 0;
    position: relative;
}

.notice_popup2 .notice_bottom label {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 1px solid #5F6367;
    border-radius: 4px;
    vertical-align: middle;
    cursor: pointer;
    white-space: nowrap;
    position: relative;
    line-height: 18px;
}

.notice_popup2 .notice_bottom label::after {
    content: '';
    width: 80%;
    height: 80%;
    background: url(../../theme01/common/images/btn_check_gray.png) center no-repeat;
    background-size: contain;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.notice_popup2 .notice_bottom label span {
    display: block;
    padding-left: 28px;
    position: absolute;
    top: 0;
    left: 0;
    font-size: clamp(0.875rem, 1.11vw, 1rem);
    line-height: 1.1;
    letter-spacing: -1px;
    color: #5F6367;
}

.notice_popup2 .notice_bottom a {
    display: inline-block;
    font-size: clamp(0.875rem, 1.11vw, 1rem);
    line-height: 1;
    text-align: right;
    letter-spacing: -1px;
    color: #5F6367;
    position: relative;
    padding-right: 28px;
}

.notice_popup2 .notice_bottom a::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 1px;
    background: #5F6367;
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -0.5px;
    transform: rotate(45deg);
}

.notice_popup2 .notice_bottom a::after {
    content: '';
    display: inline-block;
    width: 20px;
    height: 1px;
    background: #5F6367;
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -0.5px;
    transform: rotate(-45deg);
}

/*  20240813 >> */

/* visual */
.visual {
    /* height: calc(100vh - 100px);*/
    font-size: 0;
    overflow: hidden;
    position: relative;
    margin-top: 72px;
}

/*.visual .swiper-container ul.swiper-wrapper {height: 100vh;}*/
.visual .swiper-container ul.swiper-wrapper li {
    position: relative;
    /* height: 100%;*/
}

.visual .swiper-container ul.swiper-wrapper li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.visual .swiper-container ul.swiper-wrapper li .text_box {
    width: 100%;
    position: absolute;
    top: 18%;
    left: 16.66%;
    z-index: 10;
    color: #fff;
}

.visual .swiper-container ul.swiper-wrapper li .text_box p {
    font-size: clamp(2.5rem, 4.44vw, 4rem);
    font-weight: 600;
    line-height: 78px;
    letter-spacing: -2px;
}

.visual .swiper-container ul.swiper-wrapper li .text_box p.sub_top {
    letter-spacing: -1px;
    font-size: clamp(1.5rem, 2.22vw, 2rem);
    line-height: 1.5;
    margin-bottom: .5em;
    color: #000;
    margin-left: 10px;
    margin-right: 10px;
}

.visual .swiper-container ul.swiper-wrapper li .text_box .btn_move {
    display: inline-block;
    padding: 0 36px;
    border: 1px solid #fff;
    border-radius: 260px;
    font-size: clamp(1.125rem, 1.67vw, 1.5rem);
    font-weight: 500;
    letter-spacing: -1px;
    color: #fff;
    margin-top: 28px;
    line-height: 58px;
    height: 60px;
    box-sizing: border-box;
}

.visual .swiper-container ul.swiper-wrapper li .notice_text {
    text-align: right;
    position: absolute;
    bottom: 2%;
    right: 7%;
}

.visual .swiper-container ul.swiper-wrapper li .notice_text p {
    font-size: clamp(0.875rem, 1.11vw, 1rem);
    line-height: 1.5;
    letter-spacing: -1px;
    color: rgba(255, 255, 255, .8);
}


.visual .swiper-container ul.swiper-wrapper li .text_box p span.sub_text {
    display: block;
    font-size: clamp(1.375rem, 2.08vw, 1.875rem);
    line-height: 140%;
    margin-top: 20px;
    color: #000;
    font-weight: 400;
}

/* hover */
@media (hover:hover) {
    .visual .swiper-container ul.swiper-wrapper li .text_box .btn_move:hover {
        color: #161718;
        border: 1px solid #fff;
        background: #fff;
    }
}

.visual .swiper-pagination {
    position: absolute;
    left: 10%;
    top: auto;
    bottom: 10%;
}

.visual .swiper-pagination ul {
    display: inline-flex;
}

.visual .swiper-pagination ul li {
    display: flex;
    align-items: center;
    margin-right: 10px;
}

.visual .swiper-pagination ul li .num {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(1.125rem, 1.67vw, 1.5rem);
    font-weight: 700;
    color: #fff;
    line-height: 1em;
    cursor: pointer;
}

.visual .swiper-pagination ul li .prog {
    width: 0;
    height: 2px;
    background: rgba(255, 255, 255, .3);
    margin: 0;
    position: relative;
    transition: all 0.7s ease;
}

.visual .swiper-pagination ul li .prog>div {
    width: 0;
    height: 100%;
    background: #fff;
}

.visual .swiper-pagination ul li.on .prog {
    width: 83px;
    margin: 0 10px 0 20px;
}

.visual .swiper-pagination ul li.on .prog>div {
    width: 100%;
    animation: prog 3.5s linear;
}

.visual .swiper-pagination ul.paused li.on .prog>div {
    animation-play-state: paused;
}

@keyframes prog {
    0% {
        width: 0;
    }

    100% {
        width: 100%
    }
}

.visual #slideVisualCtr {
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url('../images/btn_wht_pause.png') center no-repeat;
    background-size: contain;
    text-indent: -9999em;
    vertical-align: inherit;
    border: none;
    cursor: pointer;
}

.visual #slideVisualCtr.play {
    background-image: url('../images/btn_wht_play.png')
}

/* 기존 visual */
/* .visual {margin-top: 28px;}
.visual .mySwiper {position: relative;}
.visual .swiper-slide {position: relative;}
.visual .swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal {bottom: 30%; left: 16.66%; width: auto; }
.visual .banner_bg {background:url('../images/visual_new.png') bottom right no-repeat; background-size: cover; width: 100%; height: calc(100vh - 28px);}
.visual .video_box {width: 100%; position: relative;}
.visual .imgBG {width: 100%;}
.visual .visual_text {position: absolute; top: 50%; transform: translateY(-50%); left: 16.66%;}
.visual .visual_text p strong {font-weight: 700; font-size: clamp(2rem, 4.03vw, 3.625rem); line-height: 74px; letter-spacing: -0.04em;}
.visual .visual_text p:last-of-type {font-weight: 300; font-size: clamp(1.125rem, 1.67vw, 1.5rem); line-height: 36px;}
.visual .scroll_down {position: absolute; left: 50%; transform: translateX(-50%); bottom: 103px;}
.visual .scroll_down a {display: inline-block; font-family: 'Inter'; font-size: clamp(1rem, 1.39vw, 1.25rem); line-height: 24px; text-align: center; color: #161718;
    animation: bounce_scroll 1s infinite alternate; -webkit-animation: bounce_scroll 1s infinite alternate;}
.visual .scroll_down a span {display: block;}
.visual .scroll_down a .img_box {width: 12px; height: 12px; background: url(../images/btn_scroll_down_mo.png) center no-repeat; background-size: contain; margin: 0 auto;}
.visual .scroll_down a img {margin: 0 auto;}
@keyframes bounce_scroll {
    0% { top: 0; }
    25% { top: -10px; transform: scale(1.1); }
    40% { top: 0; transform: scale(1); }
    100% { top: 10px; }
} */
/* visual 영상 */
.visual.vimeo.pc_ver {
    margin-top: 28px;
    width: 100%;
    height: calc(100vh - 28px);
    overflow: hidden;
}

.visual.vimeo.pc_ver .swiper-slide {
    background: url(../images/visual_bg.png) center no-repeat;
    background-size: cover;
}

.visual.vimeo.pc_ver .banner_video_cover {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: calc(100vh - 28px);
    z-index: 2;
}

.visual.vimeo.pc_ver .banner_video {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 50.25%;
    z-index: 1;
}

.visual.vimeo.pc_ver .banner_video iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}


/* 유튜브 미니 사이즈 롤링배너용 */
.visual .video_ytb {
    width: 33%;
    padding-top: calc(441/600 * 33%);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 50%;
    transform: translateY(-37%);
    left: 50%;
}

.visual .visual_doctor .video_ytb {
    left: 50%;
}

.visual .video_ytb>div {
    width: 88%;
    padding-top: calc(315/560 * 88%);
    border-radius: 20px;
    overflow: hidden;
    position: absolute;
    top: 2%;
    left: 35%;
}

.visual .video_ytb iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.video_vm {
    position: relative;
    width: 70%;
    padding-top: 56.25%;
    /* 16:9 비율 */
}

.video_container {
    position: absolute;
    top: -15%;
    left: 65%;
    width: 50%;
    height: 50%;
}

.video_container iframe {
    width: 80%;
    height: 80%;
}

/*비메오 picture 아래*/
.visual .video_vm {
    position: absolute;
    width: 60%;
    padding-top: calc(441/600 * 68%);
    top: auto;
    bottom: 10%;
    transform: translate(-52%, 0);
    left: 54%;
}

.visual .video_vm>div {
    width: 60%;
    padding-top: calc(315/560 * 60%);
    border-radius: 20px;
    top: 22%
}

/* #content */
#content {
    overflow: hidden;
}

h2.hidden~section h3 {
    font-size: clamp(2.25rem, 4.31vw, 3.875rem);
    line-height: 76px;
    letter-spacing: -2px;
    text-align: center;
    margin-bottom: 40px;
}

h2.hidden~section h3 span {
    display: block;
    font-size: .4em;
    letter-spacing: -1px;
    font-weight: 500;
}

.recommend .inner {
    display: flex;
    flex-direction: column;
    gap: 120px;
    padding: 80px 16.66% 120px;
}

.recommend .inner .banner_con ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.recommend .inner .banner_con ul li a {
    display: block;
    width: 100%;
    padding-top: calc(280/630 * 100%);
    border-radius: 20px;
    overflow: hidden;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    position: relative;
}

.recommend .inner .banner_con ul li:nth-child(1) a {
    background-image: url(../images/img_content_banner01.png);
}

.recommend .inner .banner_con ul li:nth-child(2) a {
    background-image: url(../images/img_content_banner02.png);
}

.recommend .inner .banner_con ul li a .text_box {
    position: absolute;
    bottom: 44px;
    left: 6%;
    color: #fff;
}

.recommend .inner .banner_con ul li a .text_box.mo_ver {
    display: none;
}

.recommend .inner .banner_con ul li a .text_box strong {
    display: block;
    font-size: clamp(1.75rem, 3.06vw, 2.75rem);
    line-height: 56px;
    letter-spacing: -1px;
    margin-bottom: 8px;
}

.recommend .inner .banner_con ul li a .text_box strong .total_num {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
}

.recommend .inner .banner_con ul li a .text_box strong .point {
    position: relative;
}

.recommend .inner .banner_con ul li a .text_box strong .point::before {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #fff;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.recommend .inner .banner_con ul li a .text_box strong p {
    font-size: clamp(1rem, 1.39vw, 1.25rem);
    letter-spacing: -1px;
}

.recommend .inner .banner_con ul li a .notice {
    color: #4589D0;
    font-size: clamp(0.875rem, 1.11vw, 1rem);
    line-height: 16px;
    letter-spacing: -1px;
    position: absolute;
    bottom: 26px;
    right: 6%;
}

.recommend .inner .recommend_con h3 {
    color: #161718;
}

.recommend .inner .recommend_con ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.recommend .inner .recommend_con ul li a {
    display: block;
    height: 100%;
    border-radius: 20px;
    overflow: hidden;
}

.recommend .inner .recommend_con ul li:nth-child(1) a {
    background-color: #D8EAFF;
}

.recommend .inner .recommend_con ul li:nth-child(2) a {
    background-color: #FFF8B8;
}

.recommend .inner .recommend_con ul li:nth-child(3) a {
    background-color: #D0F7FA;
}

.recommend .inner .recommend_con ul li:nth-child(4) a {
    background-color: #E4E7FF;
}

.recommend .inner .recommend_con ul li a::after {
    content: '';
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
    padding-top: calc(240/350 * 100%)
}

.recommend .inner .recommend_con ul li:nth-child(1) a::after {
    width: 100%;
    ;
    background-image: url(../images/img_content01.png);
    background-position: center;
}

.recommend .inner .recommend_con ul li:nth-child(2) a::after {
    width: 80%;
    background-image: url(../images/img_content02.png);
    background-position: center right;
    float: right;
}

.recommend .inner .recommend_con ul li:nth-child(3) a::after {
    width: 80%;
    background-image: url(../images/img_content03.png);
    background-position: center right;
    float: right;
}

.recommend .inner .recommend_con ul li:nth-child(4) a::after {
    width: 80%;
    background-image: url(../images/img_content04.png);
    background-position: center right;
    float: right;
}

.recommend .inner .recommend_con ul li a p {
    font-size: clamp(1.5rem, 2.36vw, 2.125rem);
    font-weight: 700;
    line-height: 42px;
    letter-spacing: -1px;
    padding: 40px 10% 12px;
    color: #161718;
}

.recommend .inner .recommend_con ul li a p span {
    display: block;
    font-size: clamp(1.125rem, 1.67vw, 1.5rem);
    font-weight: 400;
}

.branch-changwon .recommend .inner .recommend_con ul {
    grid-template-columns: repeat(3, 1fr);
}

.branch-changwon .recommend .inner .recommend_con ul li:nth-child(2) a {
    background-color: #D0F7FA;
}

.branch-changwon .recommend .inner .recommend_con ul li:nth-child(2) a::after {
    width: 80%;
    background-image: url(../images/img_content03.png);
    background-position: center right;
    float: right;
}

.branch-changwon .recommend .inner .recommend_con ul li:nth-child(3) a {
    background-color: #E4E7FF;
}

.branch-changwon .recommend .inner .recommend_con ul li:nth-child(3) a::after {
    width: 80%;
    background-image: url(../images/img_content04.png);
    background-position: center right;
    float: right;
}

.recommend .inner .recommend_con ul.has-new-mobile-layout .item-estimate a p::after {
    content: '';
    font-size: clamp(1.5rem, 2.36vw, 2.125rem);
    color: #161718;
    font-weight: 700;
    background-image: url(../images/N.png);
    background-repeat: no-repeat;
    background-position: right 8px;
    /* 위로 5px 더 올림 */
    background-size: auto 30px;
    padding-right: 45px;
    padding-top: 9px;
    /* 위쪽 공간 확보 */

}


.review {
    background: #013770;
    position: relative;
}

.review::before {
    content: 'REAL';
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(8rem, 15.97vw, 14.375rem);
    font-weight: 700;
    letter-spacing: -2px;
    color: rgba(255, 255, 255, .05);
    text-transform: uppercase;
    position: absolute;
    top: 63px;
    left: -27px;
}

.review::after {
    content: 'REVIEW';
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(8rem, 15.97vw, 14.375rem);
    font-weight: 700;
    letter-spacing: -2px;
    color: rgba(255, 255, 255, .05);
    text-transform: uppercase;
    position: absolute;
    bottom: -63px;
    right: -84px;
}

.review .inner {
    padding: 100px 0 80px;
}

.review .inner h3 {
    color: #fff;
}

.review .inner ul li {
    cursor: pointer;
}

.review .inner ul li .img_box {
    border-radius: 20px;
    overflow: hidden;
    position: relative;
}

/* .review .inner ul li .img_box img:nth-of-type(1) {border-radius: 20px 0 0 20px;}
.review .inner ul li .img_box img:nth-of-type(2) {border-radius: 0 20px 20px 0;} */
.review .inner ul li .img_box .dimmed {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, .85);
    border-radius: 20px;
}

.review .inner ul li .img_box .dimmed .text_box {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    text-align: center;
    font-size: clamp(1.5rem, 2.22vw, 2rem);
    line-height: 47px;
    letter-spacing: -1px;
}

.review .inner ul li .img_box .dimmed .text_box .btn_login {
    display: inline-block;
    height: 61px;
    line-height: 61px;
    padding: 0 50px;
    margin-top: 64px;
    text-align: center;
    font-size: clamp(1.25rem, 1.94vw, 1.75rem);
    letter-spacing: -1px;
    border-radius: 999px;
    border: 1px solid #214079;
    background: #fff;
}

.review .inner ul li>.text_box {
    font-size: clamp(1.5rem, 2.22vw, 2rem);
    letter-spacing: -1px;
    text-align: center;
    color: #fff;
    margin-top: 32px;
}

.review .mySwiper {
    position: relative;
}

.review .swiper-button-prev,
.review .swiper-button-next {
    color: #fff;
}

.review .swiper-button-prev {
    left: 24%;
}

.review .swiper-button-next {
    right: 24%;
}

.review .twentytwenty-handle {
    width: 64px;
    height: 64px;
    background: #214079;
    top: 100%;
    margin-top: -74px;
    margin-left: -32px;
    border: none;
}

.review .twentytwenty-left-arrow,
.review .twentytwenty-right-arrow {
    border: none;
    width: 18px;
    height: 16px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.review .twentytwenty-left-arrow {
    background-image: url(../images/arrow_left_wht.png);
}

.review .twentytwenty-right-arrow {
    background-image: url(../images/arrow_right_wht.png);
}

.review .twentytwenty-horizontal .twentytwenty-handle:before {
    margin-bottom: 35px;
}

.review .twentytwenty-horizontal .twentytwenty-handle::after {
    margin-top: 35px;
}

.review .swiper-scrollbar {
    display: none;
}

.review .inner .btn_more {
    display: inline-block;
    border-radius: 260px;
    background: #fff;
    height: 80px;
    line-height: 80px;
    padding: 0 60px;
    margin: 60px auto 0;
    font-size: clamp(1.25rem, 1.94vw, 1.75rem);
    font-weight: 500;
    letter-spacing: -1px;
    text-align: center;
    color: #161718;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}

/* 정보석 영상 팝업 */
.popup_bg {
    background: rgba(0, 0, 0, 0.9);
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    display: none;
}

.popup_area {
    width: 50%;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1001;
    display: none;
}

.popup_area .btn_close {
    display: inline-block;
    width: 32px;
    height: 32px;
    position: absolute;
    top: -40px;
    right: -40px;
    z-index: 1001;
}

.popup_area .btn_close span {
    display: inline-block;
    width: 40px;
    height: 4px;
    background: #fff;
    border-radius: 4px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -2px -20px;
}

.popup_area .btn_close span:nth-of-type(1) {
    transform: rotate(45deg);
}

.popup_area .btn_close span:nth-of-type(2) {
    transform: rotate(-45deg);
}

.popup_area .popup_con {
    position: relative;
}

.popup_area .popup_con .inner {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    margin: 0 auto;
}


.knowhow .inner {
    padding: 100px 5%;
}

.knowhow .inner .tab_area {
    width: 100%;
    margin: 40px auto 48px;
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

.knowhow .inner .tab_area li a {
    display: block;
    font-size: clamp(1.125rem, 1.67vw, 1.5rem);
    font-weight: 500;
    line-height: 1em;
    letter-spacing: -1px;
    color: #AAADB0;
    padding: 21px 30px;
    box-sizing: border-box;
    border-radius: 50px;
    border: 1px solid #E2E2E2;
    background: #fff;
}

.knowhow .inner .tab_area li a.on {
    color: #fff;
    border: 1px solid #001E3D;
    background: #001E3D;
}

/* hover */
@media (hover:hover) {
    .knowhow .inner .tab_area li a:hover {
        color: #fff;
        border: 1px solid #001E3D;
        background: #001E3D;
    }
}

.knowhow .inner .tab_con {
    width: 60%;
    margin: 0 auto;
}

.knowhow .inner .tab_con li {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.knowhow .inner .tab_con li .img_box {
    width: 53%;
}

.knowhow .inner .tab_con li .text_box {
    width: 45%;
}

.knowhow .inner .tab_con li .text_box strong.m_color {
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(1rem, 1.39vw, 1.25rem);
    margin-bottom: 1em;
}

.knowhow .inner .tab_con li .text_box p {
    font-size: clamp(1.75rem, 3.06vw, 2.75rem);
    font-weight: 700;
    line-height: 56px;
    letter-spacing: -1px;
    color: #161718;
}

.knowhow .inner .tab_con li .text_box p .m_color {
    display: block;
}

.knowhow .inner .btn_more {
    display: inline-block;
    border-radius: 260px;
    background: #214079;
    height: 80px;
    line-height: 80px;
    padding: 0 60px;
    margin: 60px auto 0;
    font-size: clamp(1.25rem, 1.94vw, 1.75rem);
    font-weight: 500;
    letter-spacing: -1px;
    text-align: center;
    color: #fff;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}


.figure {
    background: #214079;
    color: #fff;
}

.figure .inner {
    padding: 100px 16.66% 120px;
}

.figure .inner ul {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 60px;
}

.figure .inner ul li .icon {
    display: block;
    width: 50%;
    padding-top: 50%;
    margin: 0 auto 50px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.figure .inner ul li .text_box {
    text-align: center;
}

.figure .inner ul li .text_box p {
    font-size: clamp(1.125rem, 1.67vw, 1.5rem);
    letter-spacing: -1px;
}

.figure .inner ul li .text_box strong {
    font-size: clamp(2.5rem, 4.58vw, 4.125rem);
    letter-spacing: -1px;
}

.figure .inner ul li .text_box strong .sm_text {
    font-size: .3em;
    vertical-align: middle;
}

.figure .inner ul li .text_box strong .num_text {
    font-family: 'Montserrat', sans-serif;
}

.figure .inner ul li .text_box .conditions {
    display: block;
    font-size: clamp(0.875rem, 1.11vw, 1rem);
    letter-spacing: -1px;
    color: #A4D0FF;
    margin-top: 10px;
}


.youtube .inner {
    padding: 100px 16.66%;
}

.youtube .inner h3 .m_color {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    letter-spacing: 0;
}

.youtube .mySwiper {
    position: relative;
    margin: 60px 0 74px;
}

.youtube .mySwiper li a {
    display: block;
}

.youtube .mySwiper .img_box {
    margin-bottom: 22px;
}

.youtube .mySwiper .img_box img {
    border-radius: 20px;
}

.youtube .mySwiper .text_box .icon {
    display: inline-block;
    width: 42px;
    height: 42px;
    vertical-align: middle;
    margin-right: 12px;
    background: url(../images/btn_youtube_account.png) no-repeat center;
    background-size: contain;
}

.youtube .mySwiper .text_box p {
    font-size: clamp(1.25rem, 1.81vw, 1.625rem);
    letter-spacing: -1px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #161718;
}

.youtube .swiper-scrollbar {
    display: block;
    background: #DFE0E2;
}

.youtube .swiper-scrollbar-drag {
    background: #214079;
}

.youtube .swiper-horizontal>.swiper-scrollbar,
.swiper-scrollbar .swiper-scrollbar-horizontal {
    height: 3px;
}

.youtube .swiper-horizontal>.swiper-scrollbar,
.review .swiper-scrollbar.swiper-scrollbar-horizontal {
    width: 100%;
    position: absolute;
    left: 50%;
    bottom: -70px;
    z-index: 50;
    height: 3px;
    transform: translateX(-50%);
}

.youtube .inner .btn_more {
    display: inline-block;
    border-radius: 260px;
    background: #214079;
    height: 80px;
    line-height: 80px;
    padding: 0 60px;
    margin: 60px auto 0;
    font-size: clamp(1.25rem, 1.94vw, 1.75rem);
    font-weight: 500;
    letter-spacing: -1px;
    text-align: center;
    color: #fff;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}


.contact {
    width: 100%;
    height: auto;
    background-image: url(../images/img_contact_bg.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.contact .inner {
    padding: 100px 16.66% 120px;
}

.contact .inner h3 .m_color {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    letter-spacing: 0;
}

.contact .inner .partition {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 20px;
    margin-top: 60px;
}

.contact .inner .partition .notice_area {
    width: 50%;
    padding: 60px 5%;
    box-sizing: border-box;
    background: #fff;
    border-radius: 20px;
    position: relative;
}

.contact .inner .partition .notice_area h4 {
    font-size: clamp(1.75rem, 3.06vw, 2.75rem);
    line-height: normal;
    letter-spacing: -1px;
    color: #161718;
}

.contact .inner .partition .notice_area h4 span {
    display: block;
    font-weight: 400;
    font-size: clamp(1.125rem, 1.67vw, 1.5rem);
    line-height: 1em;
    color: #474A4D;
    margin-bottom: .2em;
}

.contact .inner .partition .notice_area .btn_notice {
    display: block;
}

.contact .inner .partition .notice_area .notice_title {
    font-size: clamp(1.25rem, 1.94vw, 1.75rem);
    letter-spacing: -1px;
    margin: 40px 0 18px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.contact .inner .partition .notice_area .notice_title span {
    display: inline-block;
    font-size: clamp(0.875rem, 1.11vw, 1rem);
    font-weight: 600;
    line-height: normal;
    vertical-align: middle;
    color: #fff;
    border-radius: 260px;
    background: #214079;
    padding: 0 8px 2px;
    text-transform: uppercase;
}

.contact .inner .partition .notice_area .notice_con {
    font-size: clamp(1rem, 1.39vw, 1.25rem);
    line-height: 32px;
    letter-spacing: -1px;
    color: #909498;
    margin-bottom: 24px;
    text-overflow: ellipsis;
    overflow: hidden;
    word-break: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.contact .inner .partition .notice_area .notice_date {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(0.875rem, 1.11vw, 1rem);
    color: #909498;
}

.contact .inner .partition .notice_area .btn_more {
    display: block;
    width: 30px;
    height: 30px;
    position: absolute;
    top: 60px;
    right: calc(5% + 30px);
    background: url(../images/arrow_right.png) center no-repeat;
    background-size: contain;
}

.contact .inner .partition .btn_area {
    width: 50%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.contact .inner .partition .btn_area li a {
    display: block;
    height: 100%;
    padding: 30px 5%;
    box-sizing: border-box;
    background: #fff;
    border-radius: 20px;
    text-align: center;
}

.contact .inner .partition .btn_area li a .icon {
    display: inline-block;
    width: 35%;
    padding-top: 35%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.contact .inner .partition .btn_area li a p {
    font-size: clamp(1.25rem, 1.94vw, 1.75rem);
    line-height: normal;
    letter-spacing: -1px;
    color: #161718;
}


.branch_banner .inner {
    padding: 100px 16.66%;
    position: relative;
}

.branch_banner .inner .mySwiper {
    overflow: hidden;
}

.branch_banner .inner .mySwiper ul li {
    border-radius: 20px;
    overflow: hidden;
    background-position: center right;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    padding: 60px 10%;
    box-sizing: border-box;
    color: #fff;
}

.branch_banner .inner .mySwiper ul li p span {
    display: block;
    font-size: clamp(1.25rem, 1.81vw, 1.625rem);
    line-height: normal;
    letter-spacing: -2px;
}

.branch_banner .inner .mySwiper ul li p strong {
    font-size: clamp(1.75rem, 3.06vw, 2.75rem);
    line-height: normal;
    letter-spacing: -1px;
}

.branch_banner .inner .mySwiper ul li .btn_more {
    display: inline-block;
    height: 60px;
    line-height: 60px;
    margin-top: 20px;
    padding: 0 20px;
    font-size: clamp(1.125rem, 1.67vw, 1.5rem);
    font-weight: 500;
    letter-spacing: -1px;
    color: #fff;
    border-radius: 260px;
    border: 1px solid #fff;
}

.branch_banner .inner .mySwiper ul li .btn_more .mo_ver {
    display: none;
}

.branch_banner .swiper-button-prev,
.branch_banner .swiper-button-next {
    width: 60px;
    height: 60px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.branch_banner .swiper-button-prev {
    background-image: url(../images/btn_prev.png);
    left: calc(16.66% - 90px);
}

.branch_banner .swiper-button-next {
    background-image: url(../images/btn_next.png);
    right: calc(16.66% - 90px);
}

.branch_banner .swiper-button-prev:after,
.branch_banner .swiper-button-next:after {
    font-size: 0;
}

.branch_banner .swiper-pagination {
    display: none;
}


/* PC (해상도 1740px ~ 1860px) */
@media screen and (max-width:1860px) {

    /* visual */
    .visual .swiper-container ul.swiper-wrapper li .text_box {
        left: 12%;
    }

    .visual .swiper-pagination {
        left: 12%;
    }
    .visual .slide-text-box {
        padding-left: 12%;
    }

    /* content */
    .recommend .inner {
        padding: 80px 12% 120px;
    }

    .review .inner ul li .img_box .dimmed .text_box {
        font-size: clamp(1.0625rem, 1.53vw, 1.375rem);
        line-height: 1.3em;
    }

    .review .inner ul li .img_box .dimmed .text_box .btn_login {
        height: 58px;
        line-height: 58px;
        padding: 0 40px;
        margin-top: 30px;
        font-size: clamp(1rem, 1.39vw, 1.25rem);
    }

    .figure .inner {
        padding: 100px 12% 120px;
    }

    .youtube .inner {
        padding: 100px 12%;
    }

    .contact .inner {
        padding: 100px 12% 120px;
    }

    .branch_banner .inner {
        padding: 100px 12%;
    }

    .branch_banner .inner .mySwiper ul li p span {
        font-size: clamp(1.0625rem, 1.53vw, 1.375rem);
    }

    .branch_banner .inner .mySwiper ul li p strong {
        font-size: clamp(1.5rem, 2.22vw, 2rem);
    }

    .branch_banner .swiper-button-prev {
        left: calc(12% - 90px);
    }

    .branch_banner .swiper-button-next {
        right: calc(12% - 90px);
    }
}

/* PC (해상도 1540px ~ 1740px) */
@media screen and (max-width:1740px) {

    /* visual */
    .visual .swiper-container ul.swiper-wrapper li .text_box {
        left: 8%;
    }

    .visual .swiper-pagination {
        left: 8%;
    }
    .visual .slide-text-box {
        padding-left: 8%;
    }

    /* content */
    .recommend .inner {
        padding: 80px 8% 120px;
    }

    .figure .inner {
        padding: 100px 8% 120px;
    }

    .youtube .inner {
        padding: 100px 8%;
    }

    .contact .inner {
        padding: 100px 8% 120px;
    }
}

/* PC (해상도 1540px ~ 1680px) */
@media screen and (max-width: 1680px) {}

/* PC (해상도 1440px ~ 1540px) */
@media screen and (max-width:1540px) {

    /* intro */
    .intro_area .intro_con .img_box {
        width: 90%;
    }

    .intro_area .intro_con .btn_box {
        width: 90%;
    }

    .intro_area .intro_con .btn_box li {
        width: 50%;
    }

    /* << 20240813 */
    /* notice popup */
    .notice_popup {
        left: calc(50% - 230px);
        top: 22%;
    }

    .notice_popup .close_btn_top {
        right: -17px;
        top: -17px;
        width: 35px;
        height: 35px;
    }

    .notice_popup .mySwiper {
        width: 440px;
        height: 475px;
    }

    /* notice popup2 */
    .notice_popup2 {
        left: calc(50% + 230px);
        top: 22%;
    }

    .notice_popup2 .close_btn_top {
        right: -17px;
        top: -17px;
        width: 35px;
        height: 35px;
    }

    .notice_popup2 .mySwiper {
        width: 440px;
        height: 475px;
    }

    /* 20240813 >> */

}


/* PC (해상도 1058px ~ 1440px) */
@media screen and (max-width:1440px) {

    /* .visual */
    /* .visual .scroll_down {bottom: 151px;} */
    .visual .swiper-container ul.swiper-wrapper li .text_box {
        left: 6%;
    }

    .visual .swiper-container ul.swiper-wrapper li .text_box p {
        font-size: clamp(2rem, 3.61vw, 3.25rem);
        line-height: 1.3em;
    }

    .visual .swiper-container ul.swiper-wrapper li .text_box p.sub_top {
        font-size: clamp(1.5rem, 2.22vw, 2rem);
    }

    .visual .swiper-container ul.swiper-wrapper li .text_box .btn_move {
        font-size: clamp(1.0625rem, 1.53vw, 1.375rem);
    }

    .visual .swiper-pagination {
        left: 6%;
    }
    .visual .slide-text-box {
        padding-left: 6%;
    }

    /* content */
    h2.hidden~section h3 {
        font-size: clamp(2rem, 3.61vw, 3.25rem);
        line-height: 1.2em;
    }

    .recommend .inner {
        padding: 80px 6% 120px;
    }

    .recommend .inner .banner_con ul li a .text_box strong {
        font-size: clamp(1.5rem, 2.22vw, 2rem);
        line-height: 1.3em;
    }

    .recommend .inner .recommend_con ul li a p {
        font-size: clamp(1.25rem, 1.81vw, 1.625rem);
        line-height: 1.3em;
    }

    .recommend .inner .recommend_con ul li a p span {
        font-size: clamp(0.9375rem, 1.25vw, 1.125rem);
        line-height: 1.3em;
    }

    .knowhow .inner .tab_area li a {
        font-size: clamp(1.125rem, 1.67vw, 1.5rem);
        padding: 16px 30px;
    }

    .knowhow .inner .tab_con li .text_box p {
        font-size: clamp(1.5rem, 2.22vw, 2rem);
        line-height: 1.3em;
    }

    .knowhow .inner .btn_more {
        font-size: clamp(1.125rem, 1.67vw, 1.5rem);
        padding: 0 60px;
    }

    .figure .inner {
        padding: 100px 6% 120px;
    }

    .youtube .inner {
        padding: 100px 6%;
    }

    .contact .inner {
        padding: 100px 6% 120px;
    }
}

/* 태블릿 (해상도 769px ~ 1024px) */
@media screen and (max-width:1024px) {

    /* intro */
    .intro_bg {
        width: 100%;
    }

    .intro_area {
        width: 100%;
        height: calc(var(--vh, 1vh) * 100);
        padding: 10vh 0 2vh;
    }

    .intro_area .intro_con h1 {
        width: 100%;
        font-size: 4.375rem;
        margin-bottom: 2vh;
    }

    .intro_area .intro_con h1 i {
        display: block;
    }

    .intro_area .intro_con .img_box {
        width: 90%;
    }

    .intro_area .intro_con .img_box ul {
        padding: 3.4vh 4%;
        border-radius: 30px;
    }

    .intro_area .intro_con .img_box ul li {
        padding: 0 5%;
    }

    .intro_area .intro_con .img_box ul li::after {
        height: 76%;
        top: 12%;
    }

    .intro_area .intro_con .img_box ul li p {
        font-size: 1.625rem;
    }

    .intro_area .intro_con .btn_box {
        width: 85%;
        gap: 12px;
    }

    .intro_area .intro_con .btn_box li a {
        padding: 2vh 0;
        font-size: 1.75rem;
    }

    .intro_area .intro_con .notice {
        font-size: .8rem;
        line-height: 1.5;
        margin-top: 5vh;
        text-align: center;
    }

    .intro_area .btn_intro_close {
        width: 40px;
        height: 40px;
        top: 40px;
        right: 40px;
    }


    /* 유튜브 미니 사이즈 롤링배너용 */
    .visual .video_ytb {
        position: absolute;
        width: 78%;
        padding-top: calc(441/600 * 67%);
        top: auto;
        bottom: 10%;
        transform: translate(-52%, 0);
    }

    .visual .visual_doctor .video_ytb {
        left: 50%;
    }

    .visual .video_ytb>div {
        width: 80%;
        padding-top: calc(315/560 * 80%);
        border-radius: 20px;
    }

    .video_vm {
        position: relative;
        width: 100%;
        padding-top: 56.25%;
        /* 16:9 비율 */
    }

    .video_container {
        position: absolute;
        top: 70%;
        left: 40%;
        width: 70%;
        height: 70%;
    }

    .video_container iframe {
        width: 80%;
        height: 80%;
    }

    /*비메오 picture 아래*/
    .visual .video_vm {
        position: absolute;
        width: 80%;
        padding-top: calc(441/600 * 144%);
        top: auto;
        bottom: 10%;
        transform: translate(-52%, 0);
        left: 53%;
    }

    .visual .video_vm>div {
        width: 80%;
        padding-top: calc(315/560 * 80%);
        border-radius: 20px;
    }

    /* << 20240813 */
    /* notice popup */
    .notice_popup {
        left: calc(50% - 170px);
        transform: translate(-50%, -25vh);
        top: 50vh;
    }

    .notice_popup .mySwiper {
        width: 330px;
        height: 357px;
    }

    .notice_popup .close_btn_top {
        display: none;
    }

    .notice_popup .notice_bottom {
        padding: 8px 12px;
    }

    .notice_popup .notice_bottom label span {
        font-size: clamp(0.625rem, 0.83vw, 0.75rem);
        line-height: 16px;
        letter-spacing: 0;
        padding-left: 24px;
    }

    .notice_popup .notice_bottom label {
        width: 16px;
        height: 16px;
        line-height: 18px;
    }

    .notice_popup .notice_bottom a {
        font-size: clamp(0.625rem, 0.83vw, 0.75rem);
        padding-right: 14px;
    }

    .notice_popup .notice_bottom a::before {
        width: 11.5px;
    }

    .notice_popup .notice_bottom a::after {
        width: 11.5px;
    }

    .notice_popup .swiper-pagination {
        font-size: clamp(0.625rem, 0.83vw, 0.75rem);
        padding: 4px 8px;
    }

    /* notice popup2 */
    .notice_popup2 {
        left: calc(50% + 170px);
        transform: translate(-50%, -25vh);
        top: 50vh;
    }

    .notice_popup2 .mySwiper {
        width: 330px;
        height: 357px;
    }

    .notice_popup2 .close_btn_top2 {
        display: none;
    }

    .notice_popup2 .notice_bottom {
        padding: 8px 12px;
    }

    .notice_popup2 .notice_bottom label span {
        font-size: clamp(0.625rem, 0.83vw, 0.75rem);
        line-height: 16px;
        letter-spacing: 0;
        padding-left: 24px;
    }

    .notice_popup2 .notice_bottom label {
        width: 16px;
        height: 16px;
        line-height: 18px;
    }

    .notice_popup2 .notice_bottom a {
        font-size: clamp(0.625rem, 0.83vw, 0.75rem);
        padding-right: 14px;
    }

    .notice_popup2 .notice_bottom a::before {
        width: 11.5px;
    }

    .notice_popup2 .notice_bottom a::after {
        width: 11.5px;
    }

    .notice_popup2 .swiper-pagination {
        font-size: clamp(0.625rem, 0.83vw, 0.75rem);
        padding: 4px 8px;
    }

    /* 20240813 >>  */


    /* visual */
    .visual {
        height: calc(var(--vh, 1vh) * 100 - 100px);
        margin-top: 72px;
    }

    .visual .swiper-container ul.swiper-wrapper li {
        height: calc(var(--vh, 1vh) * 100 - 100px);
    }

    .visual .swiper-container ul.swiper-wrapper li .text_box {
        top: 8%;
        left: 50%;
        transform: translateX(-50%);
        text-align: center;
    }

    .visual .swiper-container ul.swiper-wrapper li .text_box p {
        font-size: clamp(2rem, 3.33vw, 3rem);
        line-height: 62px;
    }

    .visual .swiper-container ul.swiper-wrapper li .text_box p.sub_top {
        font-size: clamp(1.375rem, 2.08vw, 1.875rem);
    }

    .visual .swiper-container ul.swiper-wrapper li .text_box p .block {
        display: inline;
    }

    .visual .swiper-container ul.swiper-wrapper li .text_box .btn_move {
        padding: 0 30px;
        line-height: 50px;
        height: 52px;
        font-size: clamp(0.9375rem, 1.25vw, 1.125rem);
    }

    .visual .swiper-container ul.swiper-wrapper li .notice_text {
        width: 100%;
        text-align: center;
        right: 50%;
        transform: translateX(50%);
    }

    .visual .swiper-container ul.swiper-wrapper li .notice_text p {
        font-size: clamp(0.625rem, 0.83vw, 0.75rem);
    }

    .visual .swiper-pagination {
        left: 6%;
        transform: none;
        top: calc(100% - 170px);
        bottom: auto;
    }

    .visual .swiper-pagination ul li.on .prog {
        width: 60px;
        margin: 0 5px 0 10px;
    }

    .visual .swiper-pagination ul li .num {
        font-size: clamp(0.9375rem, 1.25vw, 1.125rem);
        letter-spacing: -2px;
    }

    /* 기존 visual */
    /* .visual {margin-top: 100px;}
    .visual .visual_text {left: 5%;}
    .visual .visual_text p strong {font-size: clamp(2.5rem, 4.17vw, 3.75rem); line-height: 68px;}
    .visual .visual_text p:last-of-type {margin-top: 10px;}
    .visual .banner_bg {background:url('../images/visual_tb.png') top 32% right no-repeat; background-size: cover; height: calc(var(--vh, 1vh) * 100 - 100px);}
    .visual .swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal {left: 5%; }
    .visual .scroll_down {bottom: 171px;} */

    /* visual 영상 */
    .visual.vimeo.tab_ver {
        margin-top: 72px;
        width: 100%;
        /* height: calc(100vh - 100px); */
        height: calc(var(--vh, 1vh) * 100 - 100px);
        overflow: hidden;
    }

    .visual.vimeo.tab_ver .swiper-slide {
        background: url(../images/visual_bg_tab.png) center no-repeat;
        background-size: cover;
    }

    .visual.vimeo.tab_ver .banner_video_cover {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: calc(100vh - 100px);
        z-index: 2;
    }

    .visual.vimeo.tab_ver .banner_video {
        position: relative;
        width: 100%;
        height: 0;
        padding-bottom: calc(817 / 640 * 100%);
        z-index: 1;
    }

    .visual.vimeo.tab_ver .banner_video iframe {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
    }



    /* content */
    h2.hidden~section h3 {
        font-size: clamp(1.75rem, 2.64vw, 2.375rem);
        line-height: 1em;
        letter-spacing: -1px;
        margin-bottom: 60px;
    }

    .recommend .inner {
        display: flex;
        flex-direction: column;
        gap: 80px;
        padding: 60px 5% 80px;
    }

    .recommend .inner .banner_con ul {
        grid-template-columns: repeat(1, 1fr);
    }

    .recommend .inner .banner_con ul li a {
        padding-top: calc(240/680 * 100%);
        background-size: cover;
        background-position: top left;
    }

    .recommend .inner .banner_con ul li a .text_box strong {
        font-size: clamp(1.75rem, 2.64vw, 2.375rem);
        line-height: 46px;
        margin-bottom: 8px;
    }

    .recommend .inner .recommend_con ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .recommend .inner .recommend_con ul li a::after {
        padding-top: calc(240/350 * 100%)
    }

    .recommend .inner .recommend_con ul li:nth-child(1) a::after {
        width: 100%;
        ;
        background-image: url(../images/img_content01.png);
        background-position: center;
    }

    .recommend .inner .recommend_con ul li:nth-child(2) a::after {
        width: 80%;
        background-image: url(../images/img_content02.png);
        background-position: center right;
        float: right;
    }

    .recommend .inner .recommend_con ul li:nth-child(3) a::after {
        width: 80%;
        background-image: url(../images/img_content03.png);
        background-position: center right;
        float: right;
    }

    .recommend .inner .recommend_con ul li:nth-child(4) a::after {
        width: 80%;
        background-image: url(../images/img_content04.png);
        background-position: center right;
        float: right;
    }

    .recommend .inner .recommend_con ul li a p {
        font-size: clamp(1.25rem, 1.94vw, 1.75rem);
        padding: 40px 10% 24px;
    }

    .recommend .inner .recommend_con ul li a p span {
        font-size: clamp(1rem, 1.39vw, 1.25rem);
    }

    /* 정보석 영상 팝업 */
    .popup_area {
        width: 90%;
    }

    .popup_area .popup_con .inner {
        padding-top: 56.25%;
    }

    .popup_area .btn_close {
        top: -40px;
    }

    .review::before {
        font-size: 190px;
        top: 64px;
        left: -76px;
    }

    .review::after {
        font-size: 190px;
        bottom: -80px;
        right: -130px;
    }

    .review .inner {
        padding: 80px 0 100px;
    }

    .review .inner ul li .img_box .dimmed .text_box {
        font-size: clamp(1.125rem, 1.67vw, 1.5rem);
    }

    .review .inner ul li .img_box .dimmed .text_box .btn_login {
        margin-top: 60px;
        font-size: clamp(1.125rem, 1.67vw, 1.5rem);
    }

    .review .inner ul li>.text_box {
        font-size: clamp(1.125rem, 1.67vw, 1.5rem);
        margin-top: 28px;
    }

    .review .swiper-button-prev {
        top: 45%;
        left: 9.5%;
    }

    .review .swiper-button-next {
        top: 45%;
        right: 9.5%;
    }

    .review .twentytwenty-handle {
        width: 50px;
        height: 50px;
        margin-top: -64px;
        margin-left: -26px;
    }

    .review .twentytwenty-left-arrow,
    .review .twentytwenty-right-arrow {
        width: 15px;
        height: 14px;
    }

    .review .twentytwenty-left-arrow {
        margin-left: -14px;
    }

    .review .twentytwenty-right-arrow {
        margin-right: -14px;
    }

    .review .twentytwenty-horizontal .twentytwenty-handle:before {
        margin-bottom: 28px;
    }

    .review .twentytwenty-horizontal .twentytwenty-handle::after {
        margin-top: 28px;
    }

    .review .inner .btn_more {
        height: 60px;
        line-height: 60px;
        padding: 0 40px;
        font-size: clamp(1rem, 1.39vw, 1.25rem);
    }


    .knowhow .inner {
        padding: 80px 5%;
    }

    .knowhow .inner .tab_area {
        margin: 60px auto 44px;
        /* display: grid; */
        gap: 8px;
        justify-content: center;
        flex-wrap: wrap;
    }

    .knowhow .inner .tab_area li a {
        font-size: clamp(0.9375rem, 1.25vw, 1.125rem);
        padding: 17.5px 20px;
    }

    .knowhow .inner .tab_con {
        width: 80%;
    }

    .knowhow .inner .tab_con li {
        flex-direction: column;
    }

    .knowhow .inner .tab_con li .img_box {
        width: 100%;
    }

    .knowhow .inner .tab_con li .text_box {
        width: 100%;
        text-align: center;
    }

    .knowhow .inner .tab_con li .text_box strong.m_color {
        display: none;
    }

    .knowhow .inner .tab_con li .text_box p {
        font-size: clamp(1.25rem, 1.94vw, 1.75rem);
        line-height: 40px;
    }

    .knowhow .inner .tab_con li .text_box p .m_color {
        display: inline;
    }

    .knowhow .inner .btn_more {
        height: 60px;
        line-height: 60px;
        padding: 0 40px;
        margin: 60px auto 0;
        font-size: clamp(1rem, 1.39vw, 1.25rem);
    }


    .figure .inner {
        padding: 80px 5% 100px;
    }

    .figure .inner ul {
        width: 80%;
        grid-template-columns: repeat(2, 1fr);
        row-gap: 60px;
        margin: 60px auto 0;
    }

    .figure .inner ul li .icon {
        margin: 0 auto 20px;
    }

    .figure .inner ul li .text_box p {
        font-size: clamp(1rem, 1.39vw, 1.25rem);
    }

    .figure .inner ul li .text_box strong {
        font-size: clamp(2rem, 3.33vw, 3rem);
    }

    .figure .inner ul li .text_box strong .sm_text {
        font-size: .4em;
    }

    .figure .inner ul li .text_box .conditions {
        font-size: clamp(0.75rem, 0.97vw, 0.875rem);
        margin-top: 22px;
    }


    .youtube .inner {
        padding: 80px 5%;
    }

    .youtube .mySwiper {
        margin: 60px 0 40px;
    }

    .youtube .mySwiper .img_box {
        margin-bottom: 16px;
    }

    .youtube .mySwiper .text_box .icon {
        width: 36px;
        height: 36px;
    }

    .youtube .mySwiper .text_box p {
        font-size: clamp(1rem, 1.39vw, 1.25rem);
    }

    .youtube .swiper-scrollbar {
        display: block;
        background: #DFE0E2;
    }

    .youtube .swiper-scrollbar-drag {
        background: #214079;
    }

    .youtube .swiper-horizontal>.swiper-scrollbar,
    .swiper-scrollbar .swiper-scrollbar-horizontal {
        height: 2px;
    }

    .youtube .swiper-horizontal>.swiper-scrollbar,
    .review .swiper-scrollbar.swiper-scrollbar-horizontal {
        height: 2px;
        bottom: -40px;
    }

    .youtube .inner .btn_more {
        height: 60px;
        line-height: 60px;
        padding: 0 40px;
        margin: 60px auto 0;
        font-size: clamp(1rem, 1.39vw, 1.25rem);
    }


    .contact {
        background-image: url(../images/img_contact_bg_tab.png);
    }

    .contact .inner {
        padding: 80px 5%;
    }

    .contact .inner .partition {
        flex-direction: column;
    }

    .contact .inner .partition .notice_area {
        width: 100%;
        padding: 50px 5%;
    }

    .contact .inner .partition .notice_area h4 {
        font-size: clamp(1.5rem, 2.22vw, 2rem);
    }

    .contact .inner .partition .notice_area h4 span {
        font-size: clamp(1rem, 1.39vw, 1.25rem);
    }

    .contact .inner .partition .notice_area .notice_title {
        font-size: clamp(1.125rem, 1.67vw, 1.5rem);
        margin: 40px 0 14px;
    }

    .contact .inner .partition .notice_area .notice_title span {
        font-size: clamp(0.75rem, 0.97vw, 0.875rem);
        padding: 0 8px 2px;
    }

    .contact .inner .partition .notice_area .notice_con {
        font-size: clamp(0.9375rem, 1.25vw, 1.125rem);
        line-height: 26px;
        margin-bottom: 18px;
    }

    .contact .inner .partition .notice_area .btn_more {
        top: 50px;
        right: 5%;
    }

    .contact .inner .partition .btn_area {
        width: 100%;
        grid-template-columns: repeat(4, 1fr);
    }

    .contact .inner .partition .btn_area li a {
        padding: 26px 5%;
    }

    .contact .inner .partition .btn_area li a .icon {
        width: 60%;
        padding-top: 60%;
        margin-bottom: 8px;
    }

    .contact .inner .partition .btn_area li a p {
        font-size: clamp(1rem, 1.39vw, 1.25rem);
    }


    .branch_banner .inner {
        padding: 100px 5% 132px;
    }

    .branch_banner .inner .mySwiper ul li {
        padding: 50px 5%;
        background-position: center right 22%;
    }

    .branch_banner .inner .mySwiper ul li p span {
        font-size: clamp(1rem, 1.39vw, 1.25rem);
    }

    .branch_banner .inner .mySwiper ul li p strong i {
        display: block;
    }

    .branch_banner .inner .mySwiper ul li .btn_more {
        height: 52px;
        line-height: 52px;
        padding: 0 30px;
        font-size: clamp(1rem, 1.39vw, 1.25rem);
    }

    .branch_banner .swiper-button-prev,
    .branch_banner .swiper-button-next {
        display: none;
    }

    .branch_banner .swiper-pagination {
        display: block;
    }

    .branch_banner .swiper-horizontal>.swiper-pagination-bullets,
    .branch_banner .swiper-pagination-bullets.swiper-pagination-horizontal {
        bottom: 100px;
    }
}

/* 모바일 가로, 모바일 세로 (해상도 375px ~ 768px)*/
@media screen and (max-width:48rem) {
    .wrap {
        min-width: 23.4375rem;
    }

    /* intro */
    .intro_bg {
        height: 100%;
    }

    .intro_area {
        padding: 7vh 0 2vh;
    }

    .intro_area .intro_con h1 {
        font-size: 2.5rem;
        margin-bottom: 0;
    }

    .intro_area .intro_con .img_box {
        width: 100%;
        margin-top: -1.5vh;
    }

    .intro_area .intro_con .img_box ul {
        width: 90%;
        margin: 0 auto;
        flex-direction: column;
        padding: 2vh 12%;
        box-sizing: border-box;
        border-radius: 1.875rem;
    }

    .intro_area .intro_con .img_box ul li {
        width: 100%;
        padding: 0 0 1.5vh;
        margin-bottom: 1.5vh;
        border-bottom: 1px solid #fff;
    }

    .intro_area .intro_con .img_box ul li:last-child {
        padding: 0;
        margin: 0;
        border: none;
    }

    .intro_area .intro_con .img_box ul li::after {
        display: none;
    }

    .intro_area .intro_con .img_box ul li p {
        font-size: 1.25rem;
    }

    .intro_area .intro_con .img_box ul li p span {
        display: inline;
    }

    .intro_area .intro_con .img_box ul li p i {
        display: block;
    }

    .intro_area .intro_con .btn_box {
        width: 90%;
        flex-direction: column-reverse;
        gap: 0.625rem;
        margin-top: 1.538vh;
    }

    .intro_area .intro_con .btn_box li {
        width: 100%;
    }

    .intro_area .intro_con .btn_box li a {
        padding: 1.5vh 0;
        font-size: 1.3rem;
    }

    .intro_area .intro_con .btn_box li a span::after {
        width: 0.5rem;
        height: 0.875rem;
    }

    .intro_area .intro_con .notice {
        font-size: 0.7rem;
        margin-top: 1.538vh;
    }

    .intro_area .intro_con .notice i {
        display: block;
    }

    .intro_area .btn_intro_close {
        width: 2.25rem;
        height: 2.25rem;
        top: 1.25rem;
        right: 1.25rem;
    }


    /* << 20240813 */

    /* notice popup */
    /* .notice_popup {width: 20.625rem; position: relative; left: 50%; transform: translate(-50%, 0); top: 0; margin-top: 5vh;} */
    .notice_popup {
        width: 20.625rem;
        position: absolute;
        left: 50%;
        transform: translate(-50%, 0);
        top: 1vh;
    }

    .notice_popup .mySwiper {
        width: 20.625rem;
        height: 22.3125rem;
    }

    .notice_popup .notice_bottom {
        padding: 0.5rem 0.75rem;
    }

    .notice_popup .notice_bottom label {
        width: 1rem;
        height: 1rem;
        line-height: 1.125rem;
    }

    .notice_popup .notice_bottom a {
        font-size: 0.75rem;
        padding-right: 0.875rem;
    }

    .notice_popup .notice_bottom a::before {
        width: 0.7188rem;
    }

    .notice_popup .notice_bottom a::after {
        width: 0.7188rem;
    }

    .notice_popup .swiper-pagination {
        font-size: 0.75rem;
        padding: 0.25rem 0.5rem;
    }

    /* notice popup2 */
    /* .notice_popup2 {width: 20.625rem; position: relative; left: 50%; transform: translate(-50%, 0); top: 0; margin-top: 5vh;} */
    .notice_popup2 {
        width: 20.625rem;
        position: absolute;
        left: 50%;
        transform: translate(-50%, 0);
        top: calc(26.4375rem + 1vh);
    }

    .notice_popup2.on {
        top: 1vh;
    }

    .notice_popup2 .mySwiper {
        width: 20.625rem;
        height: 22.3125rem;
    }

    .notice_popup2 .notice_bottom {
        padding: 0.5rem 0.75rem;
    }

    .notice_popup2 .notice_bottom label {
        width: 1rem;
        height: 1rem;
        line-height: 1.125rem;
    }

    .notice_popup2 .notice_bottom a {
        font-size: 0.75rem;
        padding-right: 0.875rem;
    }

    .notice_popup2 .notice_bottom a::before {
        width: 0.7188rem;
    }

    .notice_popup2 .notice_bottom a::after {
        width: 0.7188rem;
    }

    .notice_popup2 .swiper-pagination {
        font-size: 0.75rem;
        padding: 0.25rem 0.5rem;
    }

    /* 20240813 >> */


    /* visual */
    .visual {
        height: calc(var(--vh, 1vh) * 100 - 8.125rem);
        margin-top: 3.6875rem;
    }

    .visual .swiper-container ul.swiper-wrapper li {
        height: calc(var(--vh, 1vh) * 100 - 8.125rem);
    }

    .visual .swiper-container ul.swiper-wrapper li img {
        height: auto;
    }

    .visual .swiper-container ul.swiper-wrapper li .text_box {
        top: 8%;
        left: 50%;
        transform: translateX(-50%);
        text-align: center;
    }

    .visual .swiper-container ul.swiper-wrapper li .text_box p {
        font-size: 1.75rem;
        line-height: 1.36;
    }

    .visual .swiper-container ul.swiper-wrapper li .text_box p span.sub_text {
        font-size: 1.25rem
    }


    .visual .swiper-container ul.swiper-wrapper li .text_box p.sub_top {
        font-size: 1.5625rem;
    }

    .visual .swiper-container ul.swiper-wrapper li .text_box p i {
        display: block;
    }

    .visual .swiper-container ul.swiper-wrapper li .text_box .btn_move {
        padding: 0 1.5rem;
        line-height: 2.5rem;
        height: 2.5rem;
        font-size: 0.875rem;
        margin-top: 0.8125rem;
    }

    .visual .swiper-slide {
        height: 100vh;
        min-height: unset;
    }
    .cards-wrap {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }
    .cards-wrap .card:nth-child(1),
    .cards-wrap .card:nth-child(3) {
        margin-bottom: 0 !important;
    }
    #btn_submit { display: block !important; }

    .media-section {
        padding: clamp(4rem, 5.72vw, 4.75rem) 0 !important;
    }
    /* 모바일 interior 슬라이더 */
    .interior-slider-outer { display: none !important; }
    .interior-slider-mo { display: block !important; width: 90%; margin: 0 auto; }
    .interior-swiper-main { width: 100%; border-radius: 14px; overflow: hidden; margin-bottom: 10px; }
    .interior-swiper-main .swiper-slide img { border-radius: 14px; }
    .interior-swiper-thumb .swiper-slide { opacity: 0.4; border-radius: 8px; overflow: hidden; transition: opacity 0.2s; height: 80px !important; }
    .interior-swiper-thumb .swiper-slide-thumb-active { opacity: 1; }
    .interior-swiper-thumb .swiper-slide img { border-radius: 8px; height: 100% !important; object-fit: cover !important; }
    .cards-wrap a.card {
        width: 90% !important;
        height: 32vw !important;
        min-height: 32vw !important;
        display: flex !important;
        flex-direction: row !important;
        padding: 1rem 6vw !important;
        justify-content: flex-start !important;
    }
    .card-label {
        text-align: justify !important;
    }
    .visual .swiper-slide > picture > img,
    .visual .swiper-slide > img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: bottom center !important;
        display: block !important;
    }
    .visual .swiper-pagination {
        left: 0 !important;
        width: 100% !important;
        height: auto !important;
        bottom: 20px !important;
        top: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-wrap: nowrap !important;
    }

    .visual .swiper-container ul.swiper-wrapper li .notice_text {
        bottom: 5%;
    }

    .visual .swiper-container ul.swiper-wrapper li .notice_text p {
        font-size: 0.625rem;
    }

    .visual .swiper-container ul.swiper-wrapper li .notice_text p i {
        display: block;
    }

    .visual .swiper-pagination ul li .num {
        font-size: 0.875rem;
        font-weight: 600;
    }

    /* .visual #slideVisualCtr {vertical-align: bottom;} */

    /* 기존 visual */
    /* .visual {margin-top: 6.375rem;}
    .visual .banner_bg {background:url('../images/visual_mo.png') top right no-repeat; background-size: cover; height: calc(var(--vh, 1vh) * 100 - 6.3125rem);}
    .visual .visual_text {top: 40%;}
    .visual .visual_text p strong {font-size: 1.875rem; line-height: 2.125rem;}
    .visual .visual_text p:last-of-type {font-size: 0.75rem; line-height: 1.125rem; margin-top: 0.25rem;}
    .visual .scroll_down {bottom: 1.75rem;}
    .visual .scroll_down a {font-size: 0.75rem; line-height: 0.9375rem;}
    .visual .scroll_down a img {width: 0.75rem; height: 0.75rem;} */

    /* visual 영상 */
    .visual.vimeo.mo_ver {
        margin-top: 6.375rem;
        width: 100%;
        /* height: calc(100vh - 6.375rem); */
        height: calc(var(--vh, 1vh) * 100 - 6.3125rem);
        overflow: hidden;
    }

    .visual.vimeo.mo_ver .swiper-slide {
        background: url(../images/visual_bg_mo.png) center no-repeat;
        background-size: cover;
    }

    .visual.vimeo.mo_ver .banner_video_cover {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: calc(var(--vh, 1vh) * 100 - 6.25rem);
        z-index: 2;
    }

    .visual.vimeo.mo_ver .banner_video {
        position: relative;
        width: 100%;
        height: 0;
        padding-bottom: calc(986 / 640 * 100%);
        z-index: 1;
    }

    .visual.vimeo.mo_ver .banner_video iframe {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
    }


    /* 유튜브 미니 사이즈 롤링배너용 ㅌ*/
    .visual .video_ytb {
        position: absolute;
        width: 78%;
        padding-top: calc(441/600 * 83%);
        top: auto;
        bottom: -3%;
        transform: translate(-57%, 0);
    }

    .visual .visual_doctor .video_ytb {
        left: 50%;
    }

    .visual .video_ytb>div {
        width: 88%;
        padding-top: calc(315/560 * 88%);
        border-radius: 1.25rem;
        left: 27%;
    }

    .video_vm {
        position: relative;
        width: 80%;
        padding-top: 56.25%;
        /* 16:9 비율 */
    }

    .video_container {
        position: absolute;
        top: -10%;
        left: 55%;
        width: 50%;
        height: 50%;
    }

    .video_container iframe {
        width: 80%;
        height: 80%;
    }

    /* 비메오 picture 아래 */
    .visual .video_vm {
        position: absolute;
        width: 92%;
        padding-top: calc(441/600 * 73%);
        top: auto;
        bottom: 14%;
        transform: translate(-52%, 0);
        left: 34%;
    }

    .visual .video_vm>div {
        width: 80%;
        padding-top: calc(315/560 * 80%);
        border-radius: 1.25rem;
    }

    /* content */
    h2.hidden~section h3 {
        font-size: 2.125rem;
        margin-bottom: 2.5rem;
    }

    h2.hidden~section h3 span {
        font-size: .5em;
    }

    .recommend .inner {
        flex-direction: column-reverse;
        gap: 1.875rem;
        padding: 1.875rem 5%;
    }

    .recommend .inner .banner_con ul {
        gap: 0.5rem;
    }

    .recommend .inner .banner_con ul li a {
        padding-top: calc(100/327 * 100%);
        border-radius: 0.625rem;
    }

    .recommend .inner .banner_con ul li:nth-child(1) a {
        background-image: url(../images/img_content_banner01_mo.png);
    }

    .recommend .inner .banner_con ul li:nth-child(2) a {
        background-image: url(../images/img_content_banner02_mo.png);
    }

    .recommend .inner .banner_con ul li a .text_box {
        display: none;
    }

    .recommend .inner .banner_con ul li a .text_box.mo_ver {
        display: block;
        bottom: 50%;
        transform: translateY(50%);
    }

    .recommend .inner .banner_con ul li a .text_box strong {
        font-size: 1.25rem;
        line-height: 1.4375rem;
        margin-bottom: 0;
    }

    .recommend .inner .banner_con ul li a .text_box strong .point {
        position: relative;
    }

    .recommend .inner .banner_con ul li a .text_box strong .point::before {
        width: 0.25rem;
        height: 0.25rem;
    }

    .recommend .inner .banner_con ul li a .text_box strong p {
        display: none;
    }

    .recommend .inner .banner_con ul li a .notice {
        font-size: 0.875rem;
        line-height: 1em;
        bottom: 1.25rem;
    }

    .recommend .inner .recommend_con {
        position: relative;
    }

    .recommend .inner .recommend_con h3 {
        position: absolute;
        clip: rect(0 0 0 0);
        width: 1px;
        height: 1px;
        margin: -1px;
        overflow: hidden;
    }

    .recommend .inner .recommend_con ul {
        gap: 0.5rem;
    }

    .recommend .inner .recommend_con ul li a {
        border-radius: 0.625rem;
    }

    .recommend .inner .recommend_con ul li a::after {
        padding-top: calc(240/350 * 90%)
    }

    .recommend .inner .recommend_con ul li:nth-child(1) a::after {
        width: 100%;
        background-position: center right;
        float: right;
    }

    .recommend .inner .recommend_con ul li:nth-child(2) a::after {
        width: 100%;
    }

    .recommend .inner .recommend_con ul li:nth-child(3) a::after {
        width: 100%;
    }

    .recommend .inner .recommend_con ul li:nth-child(4) a::after {
        width: 100%;
    }

    .recommend .inner .recommend_con ul li a p {
        font-size: 1rem;
        font-weight: 500;
        line-height: 1em;
        padding: 1.25rem 10% 0;
    }

    .recommend .inner .recommend_con ul li a p span {
        display: none;
    }

    .recommend .inner .recommend_con ul.has-new-mobile-layout {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        /* 2개의 열 생성 */
        gap: 0.5rem;
        /* 기존 모바일 간격 유지 */
    }

    /* [숨기기] 3번째 항목(X파일)을 숨김 */
    .recommend .inner .recommend_con ul.has-new-mobile-layout .item-xfile {
        display: none;
    }

    /* [재배치] 2번째 항목(자가견적)을 첫 번째 줄 전체에 배치 */
    .recommend .inner .recommend_con ul.has-new-mobile-layout .item-estimate {
        grid-column: 1 / 3;
        grid-row: 1 / 2;
    }

    /* [재배치] 1번째 항목(의료진)을 두 번째 줄 왼쪽으로 */
    .recommend .inner .recommend_con ul.has-new-mobile-layout .item-doctor {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
    }

    /* [재배치] 4번째 항목(오시는길)을 두 번째 줄 오른쪽으로 */
    .recommend .inner .recommend_con ul.has-new-mobile-layout .item-location {
        grid-column: 2 / 3;
        grid-row: 2 / 3;
    }


    /* --- 각 항목의 디자인을 새 레이아웃에 맞게 덮어쓰기 --- */

    /* 새 레이아웃 항목들의 공통 스타일 덮어쓰기 */
    .recommend .inner .recommend_con ul.has-new-mobile-layout li a {
        height: 100%;
        display: flex;
        /* 내부 요소 정렬을 위해 flex 사용 */
        padding: 0.75rem 1.25rem;
        /* 상하 0.75rem, 좌우 1.25rem */
        box-sizing: border-box;
        /* 패딩이 크기에 영향을 주지 않도록 */
    }

    .recommend .inner .recommend_con ul.has-new-mobile-layout li a p {
        font-size: 0;
        /* 원래 텍스트를 숨겨서 ::before, ::after로 대체 */
        padding: 0;
        line-height: 1.4;
        text-align: left;
        font-weight: 700;
    }

    .recommend .inner .recommend_con ul.has-new-mobile-layout li a::after {
        /* 기존 이미지 스타일 초기화 */
        display: block;
        content: '';
        /* ::after를 사용하기 위해 content 속성 필수 */
        float: none;
        margin: 0;
        padding-top: 0;
        /* 기존 padding-top 방식 비활성화 */
        background-position: center;
        background-size: contain;
        background-repeat: no-repeat;
        width: auto;
        /* 너비 자동 조절 */
        height: auto;
        /* 높이 자동 조절 */
    }

    /* 1. '자가 견적' 항목 스타일 */
    .recommend .inner .recommend_con ul.has-new-mobile-layout .item-estimate a {
        background-color: #FFF8B8;
        /* 노란색 배경 */
        justify-content: space-between;
        /* 텍스트와 아이콘 양쪽 정렬 */
        align-items: center;
    }

    .recommend .inner .recommend_con ul.has-new-mobile-layout .item-estimate a p::before {
        content: '자가견적';
        font-size: 1.875rem;
        color: #161718;
        background-image: url(../images/N.png);
        background-repeat: no-repeat;
        background-position: right 0.5rem;
        /* 위로 0.3125rem 더 올림 */
        background-size: auto 1.875rem;
        padding-right: 2.1875rem;
        padding-top: 0.625rem;
        /* 위쪽 공간 확보 */

    }

    .recommend .inner .recommend_con ul.has-new-mobile-layout .item-estimate a p::after {
        content: '예상비용 확인하기';
        display: block;
        font-size: 1.125rem;
        font-weight: 500;
        color: #333;
        margin-top: 0.25rem;
        background-image: none; /* N 아이콘 배경 이미지 제거 */
        padding-right: 0;       /* 불필요한 오른쪽 여백 제거 */
    }

    .recommend .inner .recommend_con ul.has-new-mobile-layout .item-estimate a::after {
        background-image: url(../images/img_content02.png);
        width: 8.125rem;
        min-width: 8.125rem;
        height: 8.125rem;
    }

    /* 2. '핵심 의료진 소개' 항목 스타일 */
    .recommend .inner .recommend_con ul.has-new-mobile-layout .item-doctor a {
        background-color: #D8EAFF;
        /* 하늘색 배경 */
        flex-direction: column;
        align-items: flex-start;
        justify-content: space-between;
    }

    .recommend .inner .recommend_con ul.has-new-mobile-layout .item-doctor a p::before {
        content: '핵심 의료진 소개';
        font-size: 1.125rem;
        color: #161718;
    }

    .recommend .inner .recommend_con ul.has-new-mobile-layout .item-doctor a::after {
        background-image: url(../images/img_content01.png);
        /* 기존 의료진 이미지 재활용 */
        width: 100%;
        height: 6.25rem;
        background-position: right bottom;
        margin-top: 0.625rem;
    }

    /* 3. '오시는 길' 항목 스타일 */
    .recommend .inner .recommend_con ul.has-new-mobile-layout .item-location a {
        background-color: #E4E7FF;
        /* 연보라색 배경 */
        flex-direction: column;
        align-items: flex-start;
        justify-content: space-between;
    }

    .recommend .inner .recommend_con ul.has-new-mobile-layout .item-location a p::before {
        content: '오시는 길';
        font-size: 1.125rem;
        color: #161718;
    }

    .recommend .inner .recommend_con ul.has-new-mobile-layout .item-location a::after {
        background-image: url(../images/img_content04.png);
        width: 100%;
        height: 5rem;
        background-position: right bottom;
        margin-top: 0.625rem;
    }

    /* 정보석 영상 팝업 */
    .popup_area .btn_close span {
        width: 1.875rem;
    }

    .review::before {
        font-size: 6.25rem;
        top: 7rem;
        left: -0.9375rem;
    }

    .review::after {
        font-size: 6.25rem;
        bottom: -1.5625rem;
        right: -5.25rem;
    }

    .review .inner {
        padding: 3.75rem 0;
    }

    .review .inner ul li .img_box .dimmed .text_box {
        font-size: 1.125rem;
    }

    .review .inner ul li .img_box .dimmed .text_box .btn_login {
        height: 2.1875rem;
        line-height: 2.1875rem;
        margin-top: 1.5938rem;
        font-size: 0.9375rem;
    }

    .review .inner ul li>.text_box {
        font-size: 1.125rem;
        margin-top: 1.25rem;
    }

    .review .swiper-button-prev {
        top: -1.25rem;
        left: calc(95% - 3.75rem);
    }

    .review .swiper-button-next {
        top: -1.25rem;
        right: 5%;
    }

    .review .swiper-button-prev::after,
    .review .swiper-button-next::after {
        font-size: 1em;
        font-weight: 700;
    }

    .review .twentytwenty-handle {
        width: 2.25rem;
        height: 2.25rem;
        margin-top: -3rem;
        margin-left: -1.25rem;
    }

    .review .twentytwenty-left-arrow,
    .review .twentytwenty-right-arrow {
        width: 0.9375rem;
        height: 0.875rem;
    }

    .review .twentytwenty-left-arrow {
        margin-left: -0.875rem;
    }

    .review .twentytwenty-right-arrow {
        margin-right: -0.875rem;
    }

    .review .twentytwenty-horizontal .twentytwenty-handle:before,
    .review .twentytwenty-horizontal .twentytwenty-handle::after {
        width: 1px;
        margin-left: .0.3125rem;
    }

    .review .twentytwenty-horizontal .twentytwenty-handle:before {
        margin-bottom: 1.3125rem;
    }

    .review .twentytwenty-horizontal .twentytwenty-handle::after {
        margin-top: 1.3125rem;
    }

    .review .swiper-scrollbar {
        display: block;
        background: #fff;
    }

    .review .swiper-scrollbar-drag {
        background: #214079;
        height: 200%;
        top: -2px;
    }

    .review .swiper-horizontal>.swiper-scrollbar,
    .review .swiper-scrollbar.swiper-scrollbar-horizontal {
        width: 90%;
        bottom: -1.875rem;
        height: 2px;
    }

    .review .inner .btn_more {
        height: 2.75rem;
        line-height: 2.75rem;
        padding: 0 1.875rem;
        font-size: 1rem;
        margin: 4.625rem auto 0;
    }


    .knowhow .inner {
        padding: 3.75rem 5%;
    }

    .knowhow .inner .tab_area {
        margin: 1.25rem auto;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0.375rem;
    }

    .knowhow .inner .tab_area li a {
        font-size: 0.875rem;
        padding: 0.875rem 1.2812rem;
        text-align: center;
    }

    .knowhow .inner .tab_con {
        width: 80%;
    }

    .knowhow .inner .tab_con li .text_box {
        margin-top: 2.5rem;
    }

    .knowhow .inner .tab_con li .text_box p {
        font-size: 1.5rem;
        line-height: 1.5;
    }

    .knowhow .inner .tab_con li .text_box p .m_color {
        display: block;
    }

    .knowhow .inner .btn_more {
        height: 2.5rem;
        line-height: 2.5rem;
        padding: 0 1.875rem;
        margin: 2.5rem auto 0;
        font-size: 1rem;
    }


    .figure .inner {
        padding: 3.75rem 5% 5rem;
    }

    .figure .inner ul {
        width: 90%;
        row-gap: 2.5rem;
        margin: 1.875rem auto 0;
    }

    .figure .inner ul li .icon {
        margin: 0 auto 0.625rem;
    }

    .figure .inner ul li .text_box p {
        font-size: 0.875rem;
    }

    .figure .inner ul li .text_box strong {
        font-size: 2.125rem;
    }

    .figure .inner ul li .text_box strong .sm_text {
        font-size: .4em;
    }

    .figure .inner ul li .text_box .conditions {
        font-size: 0.75rem;
        margin-top: 0.375rem;
    }


    .youtube .inner {
        padding: 3.75rem 5%;
    }

    .youtube .mySwiper {
        margin: 2.5rem 0 2rem;
    }

    .youtube .mySwiper .img_box {
        margin-bottom: 0.75rem;
    }

    .youtube .mySwiper .text_box .icon {
        width: 2.125rem;
        height: 2.125rem;
    }

    .youtube .mySwiper .text_box p {
        font-size: 1.125rem;
    }

    .youtube .inner .btn_more {
        height: 2.5rem;
        line-height: 2.5rem;
        padding: 0 1.875rem;
        margin: 2.5rem auto 0;
        font-size: 1rem;
    }

    .youtube .swiper-horizontal>.swiper-scrollbar,
    .youtube .swiper-scrollbar.swiper-scrollbar-horizontal {
        bottom: -2.125rem;
        height: 2px;
    }

    .youtube .swiper-scrollbar-drag {
        background: #214079;
        height: 200%;
        top: -2px;
    }


    .contact {
        background-position: left top;
    }

    .contact .inner {
        padding: 3.75rem 5%;
    }

    .contact .inner .partition {
        margin-top: 0;
    }

    .contact .inner .partition .notice_area {
        display: none;
    }

    .contact .inner .partition .btn_area {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.5rem;
    }

    .contact .inner .partition .btn_area li a {
        padding: 0.9375rem 5%;
    }

    .contact .inner .partition .btn_area li a .icon {
        width: 45%;
        padding-top: 45%;
        margin-bottom: 0;
    }

    .contact .inner .partition .btn_area li a p {
        font-size: 0.875rem;
    }


    .branch_banner .inner {
        padding: 3.75rem 5% 5rem;
    }

    .branch_banner .inner .mySwiper ul li {
        padding: 1.6875rem 5%;
        background-position: center right 12%;
        display: flex;
        flex-direction: column;
        height: 100%;
        align-items: flex-start;
    }

    .branch_banner .inner .mySwiper ul li p {
        width: 55%;
    }

    .branch_banner .inner .mySwiper ul li p span {
        display: none;
    }

    .branch_banner .inner .mySwiper ul li p strong {
        font-size: 1.25rem;
        line-height: 1.4;
        word-break: keep-all;
    }

    .branch_banner .inner .mySwiper ul li .btn_more {
        height: 2.5rem;
        line-height: 2.5rem;
        margin-top: 0.625rem;
        padding: 0 1.5rem;
        font-size: 0.875rem;
    }

    .branch_banner .inner .mySwiper ul li .btn_more .pc_ver {
        display: none;
    }

    .branch_banner .inner .mySwiper ul li .btn_more .mo_ver {
        display: block;
    }

    .branch_banner .swiper-horizontal>.swiper-pagination-bullets,
    .branch_banner .swiper-pagination-bullets.swiper-pagination-horizontal {
        bottom: 3.25rem;
    }
}#headerAreaPc .header_inner_top { display: none !important; }
#headerAreaPc .header_inner .header_inner_bottom #gnb .dropdown_menu li { flex: 1; }
#headerAreaPc .header_inner .header_inner_bottom #gnb { position: relative; width: 50%; overflow: visible; }
.depth_first { display: flex; }
#headerAreaPc .header_inner .header_inner_bottom #gnb .depth_first h3 { position: relative; float: left; flex: 1; text-align: center; }
#headerAreaPc .header_inner .header_inner_bottom #gnb .dropdown_menu li::before { content: ''; display: block; width: 1px; height: 75%; background: #f5f5f5; position: absolute; left: 0; top: 13%; }
#headerAreaPc .header_inner .header_inner_bottom #gnb .dropdown_menu li:last-child::after { content: ''; display: block; width: 1px; height: 75%; background: #f5f5f5; position: absolute; right: 0; top: 13%; }
.btn-login { display: inline-block; padding: 8px 20px; border: 1px solid #1E447C; border-radius: 50px; color: #1E447C; font-size: clamp(0.75rem, 0.97vw, 0.875rem); font-weight: 500; white-space: nowrap; transition: all 0.2s; }
.btn-login:hover { background: #1E447C; color: #fff; }
.select_branch { display: none !important; }

@media screen and (max-width: 1540px) {
    .cards-section .inner,
    .media-section.interior-wrap .media-inner {
        width: 95%;
        min-width: 0;
        overflow: hidden;
        margin: 0 auto;
    }
.media-section:not(.interior-wrap) .media-inner,
    .hours-section .hours-inner,
    .map-section .inner,
    .footer-inner {
        width: 90%;
        box-sizing: border-box;
        margin: auto;
    }
    .cards-wrap {
        width: 100%;
    }
    .cards-wrap .card {
        flex: 1 1 0;
        width: auto !important;
        height: auto !important;
        aspect-ratio: 365 / 478;
    }
}


/* ===== index page styles (moved from index.php) ===== */
.doctor-bg {
        background-image: url('/theme/theme01/images/main_banner/branch/banner.doctor.mo.common.bg.png?v=20251010');
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
    }

    @media (min-width: 768px) and (max-width: 1023px) {
        .doctor-bg {
            background-image: url('/theme/theme01/images/main_banner/branch/banner.doctor.tb.common.bg.png?v=20251010');
            background-position: top center;
        }
    }

    @media (min-width: 1024px) {
        .doctor-bg {
            background-image: url('/theme/theme01/images/main_banner/branch/banner.doctor.pc.common.bg.png?v=20251010');
            background-position: center center;
        }
    }

    .important-bg {
        background-image: url('/theme/theme01/images/main_banner/branch/banner.important.bg.mo.png?v=20251010') !important;
        ;
        background-size: cover !important;
        ;
        background-position: center center !important;
        ;
        background-repeat: no-repeat !important;
        ;
        height: auto !important;
    }

    .important-con-wrap {
        position: absolute;
        top: auto;
        bottom: 18%;
        left: 0;
        right: 0;
        width: 100%;
    }

    .important-con-wrap.pc {
        display: none !important;
    }

    .important-con-wrap.tb {
        display: none !important;
    }

    .important-con {
        width: 100% !important;
        display: block;
        max-width: 100%;
        height: auto !important;
    }

    .inline-mo {
        display: none !important;
    }

    /* .review-card__text { font-size: clamp(0.775rem, 1.53vw, 1.375rem); }
@media screen and (max-width: 768px) {
        .important-bg .text_box p {
            font-size: 38px !important;
        }
    
    .review-card__text { font-weight: 300; line-height: 1.1rem; }
    #kakao_map_main { height: 350px !important; }
    .symptom_modal_box { width: 80% !important; padding: 28px 12px 24px !important; height: auto !important; max-height: 80vh !important; }
    .symptom_modal_head h3 { font-size: 1.5rem !important; }
    .symptom_modal_head p { font-size: 0.95rem !important; }
    .symptom_list { padding: 0 16px !important; gap: 0.85rem !important; }
    .sym_icon { width: 56px !important; height: 52px !important; }
    .symptom_list p { font-size: 0.875rem !important; }
    .footer-left { align-items: flex-start !important; }
    .footer-left__phone { font-size: 1.75rem !important; }
} */

    @media (min-width: 768px) and (max-width: 1023px) {
        .important-bg {
            background-image: url('/theme/theme01/images/main_banner/branch/banner.important.bg.tb.png?v=20251010') !important;
            ;
            background-position: top center;
        }

        .important-con-wrap {
            position: absolute;
            top: auto;
            bottom: 23%;
            left: 5%;
            right: 5%;
            width: 90%;
        }

        .important-con-wrap.pc {
            display: none !important;
        }

        .important-con-wrap.tb {
            display: block !important;
        }

        .important-con-wrap.mo {
            display: none !important;
        }
    }

    @media (min-width: 1024px) {
        .important-bg {
            background-image: url('/theme/theme01/images/main_banner/branch/banner.important.bg.pc.png?v=20251010') !important;
            background-position: center center;
        }

        .important-con-wrap {
            position: absolute;
            top: 20%;
            left: 45%;
            right: auto;
            width: 40%;
        }

        .important-con-wrap.pc {
            display: block !important;
        }

        .important-con-wrap.tb {
            display: none !important;
        }

        .important-con-wrap.mo {
            display: none !important;
        }

        .inline-mo {
            display: inline !important;
        }
    }

.visual .swiper-pagination ul li .prog { width: 0; height: 2px; background: rgba(255,255,255,0.3); margin: 0; position: relative; transition: 0.7s; }
    .visual .swiper-pagination ul li .prog > div { width: 0; height: 100%; background: #fff; }
    .visual .swiper-pagination ul li.on .prog { width: 83px; margin: 0 10px 0 20px; }
    .visual .swiper-pagination ul li.on .prog > div { width: 100%; animation: prog 3.5s linear; }
    .visual .swiper-pagination ul.paused li.on .prog > div { animation-play-state: paused; }
    @keyframes prog { 0% { width: 0; } 100% { width: 100%; } }
    .visual .swiper-slide {
     position: relative;
     display: flex;
     align-items: center;
     overflow: hidden;
     height: 90vh;
     min-height: 600px;
    }
    .visual .swiper-slide > picture {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     z-index: 0;
    }
    .visual .swiper-slide > img,
    .visual .swiper-slide > picture > img {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     object-fit: cover;
     display: block;
     z-index: 0;
    }
    .visual .slide-text-box {
     position: relative;
     z-index: 1;
     padding-left: 10%;
     font-family: 'Pretendard', sans-serif;
    }
    @media screen and (max-width: 1860px) {
     .visual .slide-text-box { padding-left: 12%; }
    }
    @media screen and (max-width: 1740px) {
     .visual .slide-text-box { padding-left: 8%; }
    }
    @media screen and (max-width: 1440px) {
     .visual .slide-text-box { padding-left: 6%; }
    }
    .visual .slide-subtitle {
     font-weight: 400;
     font-size: clamp(1rem, 2.08vw, 1.875rem);
     color: #ffffff;
     margin-bottom: clamp(0.5rem, 1.11vw, 1rem);
     line-height: 1.4;
    }
    .visual .slide-title {
     font-weight: 600;
     font-size: clamp(2rem, 4.86vw, 4.375rem);
     line-height: 1.15;
     color: #ffffff;
     margin-bottom: clamp(1rem, 2.78vw, 2.5rem);
    }
    .visual .slide-title .block { display: block; }
    .visual .slide-title .yellow { color: #FFD83B; }
    .visual .slide-desc { font-size: clamp(1rem, 1.67vw, 1.5rem); color: #ffffff; line-height: 1.6; font-weight: 200; }
    .visual .slide-text-box.right { padding-left: 50%; }
    .visual .slide-badge {
     display: inline-flex;
     align-items: center;
     gap: clamp(0.375rem, 0.69vw, 0.625rem);
     padding: 4px 20px;
     border: 1px solid #1E447C;
     border-radius: 50px;
     background-color: #ffffff;
    }
    .visual .badge-icon {
     width: clamp(1.5rem, 2.43vw, 2.1875rem);
     height: clamp(1.5rem, 2.43vw, 2.1875rem);
     flex-shrink: 0;
    }
    .visual .badge-icon img { width: 100%; height: 100%; object-fit: contain; }
    .visual .badge-text {
     font-family: 'Pretendard', sans-serif;
     font-size: clamp(1.25rem, 1.94vw, 1.75rem);
     color: #2F2C2C;
     white-space: nowrap;
     font-weight: 600;
    }

.cards-quote {width: 100%; text-align: center; color: #1C1C1C; font-size: clamp(1.5rem, 2.08vw, 2.5rem); font-family: 'KCC-Sonkeechung', sans-serif; font-weight: 400; padding: 3.125vw 0.52vw 5.08vw; word-break: keep-all;}
.cards-wrap {display: flex !important; justify-content: center; align-items: center; gap: clamp(0.75rem, 1.39vw, 1.25rem); flex-wrap: nowrap;}
    .cards-wrap .card {width: clamp(11.25rem, 25.35vw, 22.8125rem); height: clamp(15rem, 33.19vw, 29.875rem); border-radius: clamp(0.75rem, 1.39vw, 1.25rem); background: #1E2B4B; display: flex !important; flex-direction: column; justify-content: center; align-items: center; gap: clamp(0.75rem, 1.39vw, 1.25rem); padding: clamp(1rem, 2.08vw, 1.875rem) clamp(0.75rem, 1.39vw, 1.25rem); box-sizing: border-box; position: relative; overflow: hidden; flex-shrink: 0; text-decoration: none; cursor: pointer;}
    .card-bg {position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 1; transition: transform .4s ease;}
    .cards-wrap .card:hover .card-bg {transform: scale(1.07);}
    .card-bg--1 {background-image: url('/theme/theme01/common/images/section02/section02_con1.jpg');}
    .card-bg--2 {background-image: url('/theme/theme01/common/images/section02/section02_con2.jpg');}
    .card-bg--3 {background-image: url('/theme/theme01/common/images/section02/section02_con3.jpg');}
    .card-bg--4 {background-image: url('/theme/theme01/common/images/section02/section02_con4.jpg');}
    .card-icon {position: relative; z-index: 2; width: clamp(3.5rem, 4.44vw, 4rem); height: clamp(3.5rem, 4.44vw, 4rem);}
    .cards-wrap .card::before {content: ''; position: absolute; inset: 0; background: rgba(30, 43, 75, 0.9); z-index: 1; transition: background .4s, backdrop-filter .4s; backdrop-filter: blur(clamp(0.1875rem, 0.35vw, 0.3125rem));}
    .cards-wrap .card:hover::before {background: rgba(30, 43, 75, 0.55); backdrop-filter: blur(0);}
    .card-icon {position: relative; z-index: 2; width: clamp(3.5rem, 4.44vw, 4rem); height: clamp(3.5rem, 4.44vw, 4rem);}
    .card-label {color: #fff; font-size: clamp(1.55rem, 2.22vw, 2rem); font-weight: 600; line-height: 1.4; text-align: center; position: relative; z-index: 2;}
    .cards-wrap .card:nth-child(1), .cards-wrap .card:nth-child(3) {margin-bottom: clamp(3rem, 6.94vw, 6.25rem);}
    .media-section {width: 100%; background: #F6F6F6; overflow: hidden; padding: clamp(4rem, 9.72vw, 8.75rem) 0; display: flex; justify-content: center;}
    .media-inner {width: 100%; display: flex; flex-direction: column; align-items: center; gap: clamp(1.875rem, 3.47vw, 3.125rem);}
    .media-header {display: flex; flex-direction: column; align-items: center; gap: clamp(0.375rem, 0.69vw, 0.625rem);}
    .media-header__label {color: #214079; font-size: clamp(1rem, 1.72vw, 1.5625rem); font-weight: 500; text-align: center;}
    .media-header__title {color: #1C1C1C; font-size: clamp(1.75rem, 3.47vw, 3.125rem); font-weight: 700; text-align: center;}
    .media-video {position: relative; width: 50%; border-radius: 16px; overflow: hidden; aspect-ratio: 16 / 9; background: #D9D9D9;}
    .media-video img {width: 100%; height: 100%; object-fit: cover; display: block;}
    .media-video iframe {width: 100%; height: 100%; display: block; border: 0;}
    .media-video__poster {position: absolute; top: 0; left: 0; z-index: 2; opacity: 1; transition: opacity .6s ease; pointer-events: none;}
    .media-video.is-playing .media-video__poster {opacity: 0;}
    @media screen and (min-width: 1440px) {
        .media-video {width: 65%;}
    }
    .interior-wrap {background: #fff;}
    .media-section.interior-wrap .media-inner {width: 100%; min-width: 0; overflow: hidden;}
    .interior-slider-mo { display: none; }
.interior-swiper-main .swiper-slide img,
.interior-swiper-thumb .swiper-slide img { width: 100%; height: auto; display: block; object-fit: cover; }
.interior-slider-outer {width: 100%; position: relative; height: 31.5vw; min-height: 220px;}
    .interior-slider-wrap {overflow: hidden; width: 100%; height: 100%; cursor: grab; user-select: none;}
    .interior-slider-wrap:active {cursor: grabbing;}
    .interior-cards {display: flex; align-items: stretch; gap: clamp(0.75rem, 1.39vw, 1.25rem); will-change: transform; height: 100%;}
    .interior-card {flex-shrink: 0; overflow: hidden; width: 60vw; height: 100%;}
    .interior-card img {width: 100%; height: 100%; object-fit: cover; display: block;}
    .interior-nav {display: contents;}
    #interiorPrev {position: absolute; left: 2.5%; top: 50%; transform: translateY(-50%); z-index: 20; background: #ffffff; pointer-events: all;}
    #interiorNext {position: absolute; right: 2.5%; top: 50%; transform: translateY(-50%); z-index: 20; background: #ffffff; pointer-events: all;}
    #interiorPrev:hover, #interiorNext:hover {background: #f0f0f0;}
    #interiorPrev .slider-btn__arrow, #interiorNext .slider-btn__arrow {border-top-color: #7E7E7E; border-right-color: #7E7E7E;}
    .hours-section {width: 100%; background: #F6F6F6; overflow: hidden; padding: clamp(4rem, 9.72vw, 8.75rem) 0; display: flex; justify-content: center;}
    .hours-inner {display: flex; flex-direction: column; align-items: center; gap: clamp(2rem, 4.86vw, 4.375rem);}
    .hours-header {display: flex; flex-direction: column; align-items: center; gap: clamp(1rem, 2.08vw, 1.875rem);}
    .hours-header__title {color: #1C1C1C; font-size: clamp(1.75rem, 3.47vw, 3.125rem); font-weight: 700; text-align: center;}
    .hours-header__bar {width: clamp(2rem, 4.86vw, 4.375rem); height: clamp(0.1875rem, 0.35vw, 0.3125rem); background: #214079;}
    .hours-content .inner {display: flex; align-items: flex-start; gap: clamp(2rem, 4.17vw, 3.75rem);}
    .hours-table {width: clamp(80%, 27.64vw, 24.875rem); display: flex; flex-direction: column; gap: clamp(1rem, 2.08vw, 1.875rem);}
    .hours-table__rows {display: flex; flex-direction: column; align-items: center; gap: clamp(0.9rem, 0.83vw, 0.75rem);}
    .hours-table__divider--top {width: 100%; height: 2px; background: #1C1C1C;}
    .hours-table__divider {width: 100%; height: 1px; background: #E4E4E4;}
    .hours-table__row {width: 100%; display: flex; align-items: center; justify-content: space-between; flex-direction: row;}
    .hours-table__day {color: #1C1C1C; font-size: clamp(0.875rem, 1.39vw, 1.25rem); font-weight: 600; width: 80px; margin-left: 5%;}
    .hours-table__time {color: #1C1C1C; font-size: clamp(1.075rem, 1.39vw, 1.25rem); font-weight: 400; letter-spacing: 0.05em; margin-right: 5%;}
    .hours-table__note {color: #6F6F6F; font-size: clamp(0.85rem, 1.04vw, 0.9375rem); font-weight: 400; text-align: center;}
    .hours-divider {width: 0; height: clamp(8rem, 17.08vw, 15.375rem); border-left: 1.clamp(0.1875rem, 0.35vw, 0.3125rem) dashed #E4E4E4; align-self: center;}
    .hours-contact {width: clamp(80%, 19.38vw, 17.4375rem); display: flex; flex-direction: column; gap: clamp(0.625rem, 1.04vw, 0.9375rem);}
    .hours-contact__item {display: flex; align-items: center; gap: clamp(1rem, 1.74vw, 1.5625rem);}
    .hours-contact__icon {width: clamp(1.75rem, 2.92vw, 2.625rem); height: clamp(1.75rem, 2.92vw, 2.625rem); border-radius: clamp(0.375rem, 0.69vw, 0.625rem); display: flex; justify-content: center; align-items: center; flex-shrink: 0;}
    .hours-contact__icon--phone {background: #214079;}
    .hours-contact__icon--kakao {background: #FFD83B;}
    .hours-contact__icon--naver {background: #D9D9D9;}
    .hours-contact__icon img {width: clamp(1.75rem, 2.92vw, 2.625rem); height: clamp(1.75rem, 2.92vw, 2.625rem); border-radius: clamp(0.375rem, 0.69vw, 0.625rem);}
    .hours-contact__icon--phone img {width: clamp(1rem, 1.74vw, 1.5625rem); height: clamp(1rem, 1.74vw, 1.5625rem);}
    .hours-contact__text {color: #1C1C1C; font-size: clamp(1rem, 1.67vw, 1.5rem); font-weight: 500;}
    .hours-contact__row {display: flex; align-items: center; gap: clamp(0.375rem, 0.69vw, 0.625rem);}
    .hours-contact__go {height: clamp(1.25rem, 1.94vw, 1.75rem); line-height: clamp(1rem, 1.67vw, 1.5rem); padding: 0 clamp(0.375rem, 0.69vw, 0.625rem); background: #919191; border-radius: 4px; color: #fff; font-size: clamp(0.875rem, 1.25vw, 1.125rem); font-weight: 500; text-decoration: none;}
    .hours-contact__divider {width: 100%; height: 1px; background: #E4E4E4;}
    .map-section {width: 100%; background: #fff; overflow: hidden; padding: clamp(4rem, 9.72vw, 8.75rem) 0 0; display: flex; flex-direction: column; align-items: center; gap: clamp(2rem, 4.86vw, 4.375rem);}
    .map-header {display: flex; flex-direction: column; align-items: center; gap: clamp(1rem, 2.08vw, 1.875rem);}
    .map-header__title {color: #1C1C1C; font-size: clamp(1.75rem, 3.47vw, 3.125rem); font-weight: 700; text-align: center;}
    .map-header__bar {width: clamp(2rem, 4.86vw, 4.375rem); height: clamp(0.1875rem, 0.35vw, 0.3125rem); background: #214079;}
    .map-header__address {color: #7E7E7E; font-size: clamp(1.125rem, 2.08vw, 1.875rem); font-weight: 500; text-align: center;}
    .map-wrap {width: 100%; display: flex; flex-direction: column;}
    .map-btn-list {display: flex; justify-content: center; gap: clamp(0.5rem, 0.83vw, 0.75rem); padding: clamp(0.75rem, 1.39vw, 1.25rem) 0;}
    .map-btn-list li a {display: inline-block; padding: clamp(0.25rem, 0.56vw, 0.5rem) clamp(0.75rem, 1.39vw, 1.25rem); border: 1px solid #ddd; border-radius: 4px; font-size: clamp(0.75rem, 1.04vw, 0.9375rem); color: #444; text-decoration: none; transition: background .2s;}
    .map-btn-list li a:hover {background: #f5f5f5;}

.review-section {display: flex; flex-direction: column; align-items: center; gap: clamp(2rem, 4.86vw, 4.375rem); padding: clamp(2.5rem, 5.56vw, 5rem) 0; overflow: hidden;}
    .review-header {display: flex; flex-direction: column; align-items: center; gap: clamp(0.375rem, 0.69vw, 0.625rem);}
    .review-header__sub {color: #7E7E7E; font-size: clamp(1.25rem, 1.72vw, 1.5625rem); font-weight: 400; text-align: center;}
    .review-header__title {color: #1C1C1C; font-size: clamp(2.15rem, 3.47vw, 3.125rem); font-weight: 700; text-align: center;}
    .review-slider-outer {width: 100%; position: relative; padding: 0 5%;}
    .review-nav {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: flex; flex-direction: row; align-items: center; justify-content: space-between; width: auto; padding: 0; gap: 0; pointer-events: none; z-index: 10;}
    .slider-btn {pointer-events: all;}
    .review-slider-wrap {overflow: hidden; width: 100%; cursor: grab; user-select: none;}
    .review-slider-wrap:active {cursor: grabbing;}
    .review-cards {display: flex; align-items: stretch; transition: transform 0.45s ease; will-change: transform; justify-content: center;}
    .review-card {flex-shrink: 0; aspect-ratio: 720 / 356; text-decoration: none; cursor: pointer; border-radius: 20px; overflow: hidden; position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; background: #0a1628;}
    .review-card__bg {position: absolute; inset: 0; background-size: cover; background-position: center; filter: blur(15px) brightness(0.75); transform: scale(1.05);}
    .review-card__compare {position: absolute; inset: 0; overflow: hidden; touch-action: none;}
    .rc-before, .rc-after {position: absolute; inset: 0; background-size: cover; background-position: center;}
    .rc-locked .rc-before, .rc-locked .rc-after {filter: blur(15px) brightness(0.75); transform: scale(1.05);}
    .rc-after {clip-path: inset(0 0 0 50%);}
    .rc-divider {position: absolute; top: 0; bottom: 0; left: 50%; transform: translateX(-50%); width: 48px; display: flex; align-items: center; justify-content: center; cursor: ew-resize; z-index: 5;}
    .rc-divider::before {content: ''; position: absolute; left: 50%; top: 0; bottom: 0; width: 2px; background: rgba(255,255,255,0.85); transform: translateX(-50%);}
    .rc-handle {position: relative; z-index: 1; width: 40px; height: 40px; border-radius: 50%; background: #214079; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 10px rgba(0,0,0,0.35); flex-shrink: 0;}
    .review-card__content {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 1; display: flex; flex-direction: column; align-items: center; gap: clamp(0.5rem, 1.11vw, 1rem); width: 100%; text-align: center;}
    .review-card__icon {width: clamp(2rem, 3.33vw, 3rem); height: clamp(2rem, 3.33vw, 3rem);}
    .review-card__text {color: #fff; font-size: clamp(0.875rem, 1.53vw, 1.375rem); font-weight: 500; line-height: 1.75; text-align: center;}
    .slider-btn {width: clamp(2rem, 4.86vw, 4.375rem); height: clamp(2rem, 4.86vw, 4.375rem); background: #214079; border-radius: 50%; border: none; cursor: pointer; display: flex; justify-content: center; align-items: center; flex-shrink: 0; transition: background .2s;}
    .slider-btn:hover {background: #005ad4;}
    .slider-btn__arrow {display: block; width: clamp(0.5rem, 0.9vw, 0.8125rem); height: clamp(0.5rem, 0.9vw, 0.8125rem); border-top: 3px solid #fff; border-right: 3px solid #fff;}
    .slider-btn--prev .slider-btn__arrow {transform: rotate(-135deg) translate(-2px, 2px);}
    .slider-btn--next .slider-btn__arrow {transform: rotate(45deg) translate(-2px, 2px);}




@media (min-width: 768px) and (max-width: 1023px) {
    .visual .swiper-slide {
        height: auto !important;
        min-height: 0 !important;
    }
    .visual .swiper-slide > picture {
        display: block !important;
        width: 100% !important;
        position: relative !important;
        inset: auto !important;
        height: auto !important;
    }
    .visual .swiper-slide > picture > img,
    .visual .swiper-slide > img {
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        height: auto !important;
        object-fit: unset !important;
        display: block !important;
    }
}

@media screen and (max-width: 1024px) {
    .visual .swiper-pagination {
        left: 0 !important;
        width: 100% !important;
        height: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-wrap: nowrap !important;
        bottom: 20px !important;
        top: auto !important;
    }
    .visual .slide-text-box {
        position: absolute !important;
        top: 7% !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 90% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        bottom: auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }
    .visual .slide-text-box.right {
        left: 50% !important;
        padding-left: 0 !important;
    }
    .visual .slide-subtitle {
        font-size: clamp(1.125rem, 4.56vw, 1.3875rem) !important;
        line-height: 1.3 !important;
        text-align: center !important;
    }
    .visual .slide-title {
        font-size: clamp(2rem, 8.46vw, 3.2625rem) !important;
        line-height: 1.15 !important;
        margin-bottom: 2.25rem !important;
        text-align: center !important;
    }
    .visual .slide-desc {
        font-size: clamp(0.9375rem, 3.91vw, 1.875rem) !important;
        line-height: 1.5 !important;
        text-align: center !important;
    }
    .visual .slide-badge {
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        padding: 4px 12px !important;
    }
    .visual .badge-icon {
        width: 1.5rem !important;
        height: 1.5rem !important;
        overflow: hidden !important;
        flex-shrink: 0 !important;
    }
    .visual .badge-icon img {
        width: 100% !important;
        height: 100% !important;
    }
    .visual .badge-text {
        font-size: clamp(0.9375rem, 3.91vw, 1.875rem) !important;
        line-height: 1.2 !important;
    }
    .visual .swiper-slide > picture > img,
    .visual .swiper-slide > img {
        object-position: bottom center !important;
    }
}

@media screen and (max-width: 575px) {
    .review-slider-outer { padding: 0 !important; }
    .review-card { border-radius: 0 !important; }


    .media-section .media-inner { width: 100% !important; }
    .media-video { width: 100% !important; border-radius: 16px !important; overflow: hidden !important; }

    .review-header__title-break { display: block !important; }
    .symptom_list { grid-template-columns: repeat(2, 1fr) !important; }
    .review-header__title { width: 95% !important; }
}

@media screen and (max-width: 610px) {
    .hours-content .inner {
        display: flex;
        gap: 3rem;
        flex-direction: column;
        align-items: center;
        width: 100%;
    }
    .hours-table__divider {
        display: none;
    }
    .hours-divider {
        display: none;
    }

    .visual .slide-title {
        font-size: clamp(2rem, 7.36vw, 3.2625rem) !important;
        line-height: 1.15 !important;
        margin-bottom: 1.25rem !important;
        text-align: center !important;
    }
    .visual .slide-desc {
        font-size: clamp(0.9375rem, 3.41vw, 1.875rem) !important;
        line-height: 1.5 !important;
        text-align: center !important;
    }
}

/* ── 로그인 페이지 ── */
.sub_page_wrap { min-height: 400px; }
.login_wrap {
    max-width: 500px;
    margin: 140px auto 80px;
    padding: 0 20px;
}
.login_card {
    background: #fff;
    border: 1.5px solid #dce3f0;
    border-radius: 16px;
    padding: 36px 40px 40px;
    box-sizing: border-box;
}
.login_tab_area {
    display: flex;
    border-bottom: 2px solid #e8ecf4;
    margin-bottom: 28px;
}
.login_tab_area a {
    flex: 1;
    text-align: center;
    padding: 12px 0;
    font-size: 16px;
    font-weight: 700;
    color: #bbb;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color 0.15s;
}
.login_tab_area a.on {
    color: #1d2c58;
    border-bottom-color: #1d2c58;
}
.login_field {
    margin-bottom: 18px;
}
.login_field label {
    display: block;
    font-size: 13px;
    color: #555;
    margin-bottom: 6px;
    font-weight: 500;
}
.login_input {
    width: 100%;
    height: 46px;
    border: none;
    border-bottom: 1.5px solid #cdd3de;
    background: transparent;
    font-size: 15px;
    padding: 0 4px;
    box-sizing: border-box;
    outline: none;
    color: #333;
    transition: border-color 0.15s;
}
.login_input:focus { border-bottom-color: #1d2c58; }
.login_input::placeholder { color: #bbb; }
.login_opts {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 10px 0 20px;
    font-size: 13px;
    color: #888;
}
.login_opts label {
    display: flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
}
.login_opts input[type="checkbox"] {
    width: auto;
    height: auto;
    appearance: auto;
    -webkit-appearance: auto;
}
.login_opts a { color: #666; text-decoration: none; }
.login_opts a:hover { text-decoration: underline; }
.btn_login_submit {
    width: 100%;
    height: 50px;
    background: #1d2c58;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s;
    margin-bottom: 6px;
}
.btn_login_submit:hover { background: #131f3e; }
.login_divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 18px 0;
    color: #bbb;
    font-size: 13px;
}
.login_divider::before,
.login_divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #e8ecf4;
}
.btn_naver_login,
.btn_kakao_login {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    margin-bottom: 10px;
    transition: opacity 0.15s;
    gap: 8px;
}
.btn_naver_login:hover,
.btn_kakao_login:hover { opacity: 0.88; text-decoration: none; }
.btn_naver_login {
    background-color: #03C75A;
    color: #fff;
}
.btn_kakao_login {
    background-color: #FEE500;
    color: #3C1E1E;
}
.btn_naver_login .sns_icon,
.btn_kakao_login .sns_icon {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
}
.login_back {
    text-align: center;
    margin-top: 18px;
    font-size: 13px;
    color: #aaa;
}
.login_back a { color: #777; text-decoration: underline; }

/* ── 회원가입 탭 통일 (register.php .tab_area → login_tab_area 스타일) ── */
#mb_register .borderbox,
#mb_login .borderbox {
    background: #fff;
    border: 1.5px solid #dce3f0;
    border-radius: 16px;
    padding: 36px 40px 40px;
    box-sizing: border-box;
    max-width: 500px;
    margin: 60px auto 80px;
}
#mb_register .tab_area,
#mb_login .tab_area {
    display: flex;
    border-bottom: 2px solid #e8ecf4;
    margin-bottom: 28px;
    list-style: none;
    padding: 0;
    margin-left: -40px;
    margin-right: -40px;
    padding-left: 40px;
    padding-right: 40px;
}
#mb_register .tab_area li,
#mb_login .tab_area li { flex: 1; }
#mb_register .tab_area li h2,
#mb_login .tab_area li h2 { margin: 0; font-size: inherit; }
#mb_register .tab_area li h2 a.tab,
#mb_login .tab_area li h2 a.tab {
    display: block;
    text-align: center;
    padding: 12px 0;
    font-size: 16px;
    font-weight: 700;
    color: #bbb;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color 0.15s;
}
#mb_register .tab_area li h2 a.tab.on,
#mb_login .tab_area li h2 a.tab.on {
    color: #1d2c58;
    border-bottom-color: #1d2c58;
}

/* ── 약관 아코디언 (register.php) ── */
.agree_section {
    border: 1px solid #e4eaf4;
    border-radius: 10px;
    margin-bottom: 10px;
    overflow: hidden;
}
.agree_toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 16px;
    background: #f6f8fc;
    cursor: default;
}
.agree_toggle_left {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #333;
    font-weight: 500;
}
.agree_toggle_left input[type="checkbox"] {
    width: auto;
    height: auto;
    appearance: auto;
    -webkit-appearance: auto;
    cursor: pointer;
    flex-shrink: 0;
}
.agree_arrow_btn {
    background: none;
    border: none;
    padding: 4px 6px;
    cursor: pointer;
    color: #888;
    font-size: 13px;
    line-height: 1;
    display: flex;
    align-items: center;
    transform-origin: center center;
    transition: transform 0.25s ease;
}
.agree_section.open .agree_arrow_btn { transform: rotate(180deg); }
.agree_content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    visibility: hidden;
}
.agree_section.open .agree_content {
    visibility: visible;
}
.agree_section.open .agree_content {
    max-height: 500px;
    border-top: 1px solid #e4eaf4;
}
.agree_content textarea {
    width: 100%;
    height: 120px;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 8px;
    font-size: 13px;
    color: #666;
    resize: none;
    box-sizing: border-box;
}
.agree_content table { width: 100%; font-size: 13px; border-collapse: collapse; }
.agree_content table th,
.agree_content table td {
    padding: 8px 10px;
    border: 1px solid #e0e0e0;
    text-align: center;
}
.agree_content table th { background: #f0f4fb; font-weight: 600; }
.agree_age {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 0;
    font-size: 14px;
    font-weight: 600;
    color: #222;
    cursor: pointer;
    border-top: 1px solid #e4eaf4;
    margin-top: 6px;
}
.agree_age input[type="checkbox"] {
    width: auto;
    height: auto;
    appearance: auto;
    -webkit-appearance: auto;
    cursor: pointer;
    flex-shrink: 0;
}
.agree_all {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 4px;
    font-size: 14px;
    font-weight: 700;
    color: #1d2c58;
    cursor: pointer;
    border-top: 1px solid #e4eaf4;
    margin-top: 6px;
}
.agree_all input[type="checkbox"] {
    width: auto;
    height: auto;
    appearance: auto;
    -webkit-appearance: auto;
    cursor: pointer;
}
.agree .btn_area { margin-top: 20px; }
.wide_btn.btn_agree {
    width: 100%;
    height: 50px;
    background: #1d2c58;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s;
    padding: 0;
}
.borderbox .agree .btn_area { padding: 0; }
.borderbox .agree .btn_area .btn_agree { padding: 0; background: #1d2c58; }
.wide_btn.btn_agree:hover { background: #131f3e; }

/* ── register_form.php ────────────────────────────── */
#mb_register .join { padding: 0; }
#mb_register .borderbox form { padding: 0; }
#mb_register .info { list-style: none; padding: 0; margin: 0; }
#mb_register .info li { margin-bottom: 4px; }
#mb_register .info .guide { display: none; }
#mb_register .info .warning { display: none; }
#mb_register .info .field { position: relative; padding-bottom: 2px; border-bottom: 1.5px solid #e0e6f0; margin-bottom: 0; }
#mb_register .info .field label { display: block; font-size: 13px; font-weight: 600; color: #222; margin-bottom: 2px; margin-top: 14px; }
#mb_register .info .field .frm_input { width: 100%; border: none; outline: none; font-size: 14px; color: #333; padding: 8px 0 6px 28px; background: transparent; box-sizing: border-box; }
#mb_register .info .field .frm_input::placeholder { color: #b0b8c8; }
#mb_register .info .field-id::before,
#mb_register .info .field-name::before { content: ''; position: absolute; left: 0; bottom: 10px; width: 18px; height: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b0b8c8' stroke-width='2'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20c0-4 3.6-7 8-7s8 3 8 7'/%3E%3C/svg%3E") center/contain no-repeat; }
#mb_register .info .field-pw::before { content: ''; position: absolute; left: 0; bottom: 10px; width: 18px; height: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b0b8c8' stroke-width='2'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center/contain no-repeat; }
#mb_register .info .field-email::before { content: ''; position: absolute; left: 0; bottom: 10px; width: 18px; height: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b0b8c8' stroke-width='2'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m2 7 10 7 10-7'/%3E%3C/svg%3E") center/contain no-repeat; }
#mb_register .captcha_wrap { display: none; }
#mb_register .btn_area { margin-top: 24px; }
#mb_register .wide_btn.btn_join {
    width: 100%;
    height: 50px;
    background: #1d2c58;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s;
}
#mb_register .wide_btn.btn_join:hover { background: #131f3e; }

/* 치료사례 전후 사진 */
.case-before-after {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 24px 0;
    flex-wrap: wrap;
}
.case-ba-item {
    flex: 1;
    min-width: 260px;
    max-width: 480px;
    text-align: center;
}
.case-ba-item img {
    width: 100%;
    border-radius: 10px;
    display: block;
}
.case-ba-label {
    font-size: 15px;
    font-weight: 700;
    color: #1d2c58;
    margin-bottom: 10px;
}
.case-ba-arrow {
    font-size: 28px;
    color: #1d2c58;
    font-weight: 700;
    flex-shrink: 0;
}
@media (max-width: 768px) {
    .case-before-after { flex-direction: column; gap: 12px; }
    .case-ba-arrow { transform: rotate(90deg); }
    .case-ba-item { min-width: 0; max-width: 100%; }
}


/* password_lost find-notice */
#mb_register .find-notice {
    margin-bottom: 24px;
    padding: 16px 18px;
    background: #f4f7fc;
    border-radius: 8px;
    border-left: 4px solid #214079;
}
#mb_register .find-notice p {
    font-size: 14px;
    color: #555;
    line-height: 1.7;
    margin: 0;
}
@media screen and (max-width: 505px) {
    .login_wrap { margin: 100px auto 80px; }
    .login_card { padding: 36px 30px 40px; }
    #mb_register { padding: 90px 20px 80px; }
    #mb_register .borderbox,
    #mb_login .borderbox { padding: 36px 30px 40px; margin: 20px auto 0px; }
}
