@charset "UTF-8";

/* ============================================================
   메인 컨텐츠 (zerodh.co.kr 메인 디자인 이식)
   ============================================================ */

/* 공통 레이아웃 */
#main .inner_wrap {position:relative;width:100%;max-width: 1400px;margin:auto;}
@media screen and (max-width:768px) {
#main .inner_wrap {padding-left:20px;padding-right:20px;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}
}

/* 메인 섹션 */

.main_visual {height: calc( 100vh - 94px);}
.main_visual .swiper-slide {position:relative;padding-top: 50px;display:flex;align-items:center;justify-content:center;}
.main_visual .swiper-slide .bg_main_visual {position:absolute;top:0;left:0;width:100%;height: calc( 100vh - 94px);}
.main_visual .swiper-slide1 .bg_main_visual { background:#8e8d8b url(../main/images/ban_main_visual1.png) no-repeat 50%; background-size:cover;}
.main_visual .swiper-slide2 .bg_main_visual { background:#8e8d8b url(../main/images/ban_main_visual2.png) no-repeat 50%; background-size:cover;}
.main_visual .swiper-slide3 .bg_main_visual { background:#8e8d8b url(../main/images/ban_main_visual3.png) no-repeat 50%; background-size:cover;}
.main_visual .swiper-slide .block_main_visual { position:relative; z-index:2; text-align:center;}
.main_visual .swiper-pagination-bullet { position:relative; width:18px; height:18px; background:rgba(255,255,255,.5); opacity:1;}
.main_visual .swiper-pagination-bullet-active { background:transparent; border:2px solid #fff;}
.main_visual .swiper-pagination-bullet-active:after { background:#fff; content:""; width:8px; height:8px; position:absolute; display:block; top:calc(50% - 4px); left:calc(50% - 4px); border-radius:50%;}
.main_visual.swiper-horizontal>.swiper-pagination-bullets, .main_visual .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction { bottom:50px;}
.lab_main_visual { margin-bottom:25px; font-family:'S-CoreDream', 'Barlow', 'Noto Sans KR', sans-serif; line-height:1; font-size:16px; color:#f5a100; letter-spacing:0.05em;}
.tit_main_visual { margin-bottom:25px; line-height:1; font-size:40px; color:#fff; font-weight:600;}
.txt_main_visual { line-height:1.5; font-size:20px; color:#fff; font-weight:200;}

@media screen and (max-width:768px) {
.main_visual {height: calc( 100vh - 111px);margin-top: 61px;}
.main_visual .swiper-slide {padding-top: 0;}

.main_visual .swiper-pagination-bullet { width:12px; height:12px;}
.main_visual .swiper-pagination-bullet-active { border:1px solid #fff;}
.main_visual .swiper-pagination-bullet-active:after { width:6px; height:6px; top:calc(50% - 3px); left:calc(50% - 3px);}
.main_visual.swiper-horizontal>.swiper-pagination-bullets, .main_visual .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction { bottom:20px;}

.lab_main_visual { margin-bottom:15px; font-family:'S-CoreDream', 'Barlow', 'Noto Sans KR', sans-serif; line-height:1; font-size:12px; color:#f5a100; letter-spacing:0.05em;}
.tit_main_visual { margin-bottom:15px; line-height:1; font-size:30px; color:#fff; font-weight:600;}
.txt_main_visual { line-height:1.5; font-size:15px; color:#fff; font-weight:200;}
}

.main_sect1 { position:relative; display:flex; background:url(../main/images/bg_main_sect1.png) no-repeat 50%; background-size:cover; overflow:hidden;}
.main_sect1 .inner_wrap { position:static; display:flex; height:770px; align-items:center;}
.main_sect1 .block_main_sect { display:block; width:50%;}
.main_sect1 .block_main_slide {position:absolute;top:calc(50% - 200px);left:50%;display:block;width: 50vw;}
.main_sect1 .tit_main_sect { margin-bottom:25px; line-height:1; font-size:40px; font-weight:500; color:#222;}
.main_sect1 .sub_main_sect { margin-bottom:25px; line-height:1; font-size:22px; color:#f5a200;}
.main_sect1 .txt_main_sect { line-height:1.6; font-size:18px; color:#555;}
.main_sect1_slide.swiper { padding-bottom:50px;}
.main_sect1_slide.swiper-horizontal>.swiper-pagination-progressbar, .main_sect1_slide .swiper-pagination-progressbar.swiper-pagination-horizontal,
.main_sect1_slide .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.main_sect1_slide.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite { top:auto; bottom:1px; height:1px; overflow:visible; background:#cecece;}
.main_sect1_slide .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {height:3px;margin-top:-1px;background: var(--main-color);}
.main_sect1_slide .swiper-slide {position:relative;width:400px;height:400px;/* margin: 0 !important; */}
.main_sect1_slide .swiper-slide a {position:relative;display:flex;padding:50px;flex-direction:column-reverse;align-items:center;width:100%;height:100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}
.main_sect1_slide .swiper-slide a:before {position:absolute;content:"";width:100%;height:100%;background:#222;z-index:1;top:0;left:0;background:rgb(0,0,0);background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.2497373949579832) 100%);}
.main_sect1_slide .swiper-slide a span { position:relative; z-index:2; display:block; color:#fff; font-size:22px; font-weight:500;}
.main_sect1_slide .swiper-slide em { position:absolute; top:0; left:0; width:100%; height:100%;}
.main_sect1_slide .swiper-slide1 em { background:url(../main/images/img_main_sect1.jpg) no-repeat 50%; background-size:cover;}
.main_sect1_slide .swiper-slide2 em { background:url(../main/images/img_main_sect2.jpg) no-repeat 50%; background-size:cover;}
.main_sect1_slide .swiper-slide3 em { background:url(../main/images/img_main_sect3.jpg) no-repeat 50%; background-size:cover;}
.main_sect1_slide .swiper-slide4 em { background:url(../main/images/img_main_sect4.jpg) no-repeat 50%; background-size:cover;}
.main_sect1_slide .swiper-slide5 em { background:url(../main/images/img_main_sect5.jpg) no-repeat 50%; background-size:cover;}
.main_sect1_slide .swiper-slide6 em { background:url(../main/images/img_main_sect6.jpg) no-repeat 50%; background-size:cover;}

@media screen and (max-width:768px) {
.main_sect1 .inner_wrap { flex-direction:column; padding-top:40px; padding-bottom:40px; height:auto;}
.main_sect1 .block_main_sect { text-align:center; width:100%; margin-bottom:20px;}
.main_sect1 .tit_main_sect { margin-bottom:15px; font-size:30px;}
.main_sect1 .sub_main_sect { margin-bottom:15px; font-size:15px;}
.main_sect1 .txt_main_sect { font-size:12px;}

.main_sect1_slide.swiper { padding-bottom:20px;}
.main_sect1_slide .swiper-slide { width:150px; height:150px;}
.main_sect1_slide .swiper-slide a { padding:20px;}
.main_sect1_slide .swiper-slide a span { font-size:15px;}

.main_sect1 .block_main_slide { position:relative; top:0; left:auto; width:100%;}
}

.main_sect2 { position:relative; display:flex; background:url(../main/images/bg_main_sect2.png) no-repeat 50%; background-size:cover; justify-content:center;}
.main_sect2 .inner_wrap { position:static; display:flex; height:770px; align-items:center;}
.main_sect2 .block_main_sect { display:block; margin-left:auto; width:40%;}
.main_sect2 .lab_main_sect { margin-bottom:20px; line-height:1; font-size:16px; font-family:'S-CoreDream', 'Barlow', 'Noto Sans KR', sans-serif; color:#f5a200; letter-spacing:0.05em;}
.main_sect2 .tit_main_sect { margin-bottom:20px; line-height:1; font-size:34px; font-weight:500; color:#222;}
.main_sect2 .txt_main_sect { margin-bottom:20px; font-size:20px; line-height:1.3; color:#555;}
.main_sect2 .btn_main_sect { display:inline-block; font-family:'S-CoreDream', 'Barlow', 'Noto Sans KR', sans-serif; font-size:16px; letter-spacing:0; color:#222;}
.main_sect2 .btn_main_sect i { position:relative; display:inline-block; margin-left:10px; vertical-align:middle; width:25px; height:25px; border-radius:50%; background:#444;}
.main_sect2 .btn_main_sect i:after { position:absolute; top:calc(50% - 3px); left:calc(50% - 3px); transform:rotate(45deg); display:block; content:""; width:5px; height:5px; border-top:1px solid #fff; border-right:1px solid #fff;}

@media screen and (max-width:768px) {
.main_sect2 .inner_wrap { padding-top:40px; padding-bottom:40px; height:auto;}
.main_sect2 .block_main_sect { width:100%; text-align:center;}

.main_sect2 .lab_main_sect { margin-bottom:10px; font-size:12px;}
.main_sect2 .tit_main_sect { margin-bottom:10px; font-size:22px;}
.main_sect2 .txt_main_sect { margin-bottom:10px; font-size:15px;}
.main_sect2 .btn_main_sect { font-size:12px;}
.main_sect2 .btn_main_sect i { margin-left:5px; width:18px; height:18px;}
.main_sect2 .btn_main_sect i:after { width:5px; height:5px;}
}

.main_sect3 { background:url(../main/images/bg_main_sect3.png) no-repeat 50%; background-size:cover;}
.main_sect3_slide { height:768px;}
.main_sect3_slide .inner_wrap { display:flex; height:768px; align-items:center;}
.main_sect3_slide .inner_wrap .img_main_sect { display:flex; margin-left:auto; margin-top:auto; width:60%;}
.main_sect3_slide .inner_wrap .img_main_sect img { max-width:100%; height:auto;}
.main_sect3_slide .inner_wrap .img_main_sect > div { display: none;}

/* 메인의 첫 사진만 변경 */
.main_sect3_slide .inner_wrap .img_main_sect img:first-child { scale: 0.9;}

.main_sect3_slide .inner_wrap .block_main_sect {display:block;margin-left:auto;width: 42%;}
.main_sect3_slide .lab_main_sect { margin-bottom:20px; line-height:1; font-size:16px; font-family:'S-CoreDream', 'Barlow', 'Noto Sans KR', sans-serif; color:#f5a200; letter-spacing:0.05em;}
.main_sect3_slide .tit_main_sect { margin-bottom:20px; line-height:1; font-size:34px; font-weight:500; color:#fff;}
.main_sect3_slide .txt_main_sect { margin-bottom:20px; font-size:18px; line-height:1.6; color:#fff;}
.main_sect3_slide .swiper-slide1 {}
.main_sect3_slide .swiper-slide2 {}
.main_sect3_slide .swiper-slide3 {}
.main_sect3_slide .swiper-button-next, .main_sect3_slide .swiper-button-prev { color:#fff;}

@media screen and (max-width:768px) {
.main_sect3_slide { height:520px;}
.main_sect3_slide .lab_main_sect { margin-bottom:10px; font-size:11px;}
.main_sect3_slide .tit_main_sect { margin-bottom:10px; font-size:22px;}
.main_sect3_slide .txt_main_sect { margin-bottom:10px; font-size:12px;}
.main_sect3_slide .swiper-slide1 { background-size:cover;}
.main_sect3_slide .swiper-slide2 { background-size:cover;}
.main_sect3_slide .swiper-slide3 { background-size:cover;}
.main_sect3_slide .swiper-slide .inner_wrap { position:absolute; top:0; left:0; width:100%; height:100%;}
.main_sect3_slide .swiper-button-next:after, .main_sect3_slide .swiper-button-prev:after { font-size:22px;}
}

@media screen and (max-width:550px) {
/* .main_sect3_slide { height:350px;} */
.gnb_menu_btn {display: block;}
.main_sect3_slide .swiper-slide .inner_wrap { padding: 0;}
.main_sect3_slide .swiper-slide .inner_wrap .img_main_sect { width:100%; height:100%; margin: 0 auto; position: relative; overflow: hidden;}
.main_sect3_slide .swiper-slide .inner_wrap .img_main_sect img { width:100%; height:100%; object-fit:contain; position: absolute; bottom: 0%;}
.main_sect3_slide .swiper-slide .inner_wrap .img_main_sect > div { position: absolute; bottom: 0; left: 0; background-color: rgba(0, 0, 0, 0.5); display: flex; flex-direction: column; gap: 2px; padding: 1rem 1.5rem; color: #fff; font-size: 12px; border-radius: 0 1rem 0 0;}
.main_sect3_slide .swiper-slide .inner_wrap .img_main_sect > div strong {
  margin-bottom: 10px;
  font-size: 22px;
  font-weight: 500;
}
.main_sect3_slide .swiper-slide .inner_wrap .block_main_sect { width:55%; display: none;}
}

.main_sect4 { position:relative; padding:70px 0; background:#fafafa;}
.main_sect4:after { content:""; position:absolute; top:100%; left:50%; margin-top:-25px; width:1px; height:50px; background:#f5a100;}
.main_sect4 .block_main_sect { text-align:center;}
.main_sect4 .lab_main_sect { margin-bottom:10px; line-height:1; font-size:16px; font-family:'S-CoreDream', 'Barlow', 'Noto Sans KR', sans-serif; color:#f5a100; letter-spacing:0.1em;}
.main_sect4 .tit_main_sect { margin-bottom:35px; line-height:1; font-size:34px; font-weight:500; color:#222;}
.main_sect4 .txt_main_sect { margin-bottom:20px; font-size:18px; line-height:1.6; color:#fff;}
.main_sect4 .gal_tour { padding-bottom:50px;}
.main_sect4 .gal_tour img { width:100%; height:auto;}
.main_sect4 .gal_tour .swiper-pagination { display:flex; align-items:center; justify-content:center;}
.main_sect4 .gal_tour .swiper-pagination-bullet-active { background:none; border:3px solid #222; width:12px; height:12px;}

.main_sect5 .inner_wrap { padding:50px 0 0;}
.main_sect5 .block_main_sect { text-align:center;} 
.main_sect5 .lab_main_sect { margin-bottom:10px; line-height:1; font-size:16px; font-family:'S-CoreDream', 'Barlow', 'Noto Sans KR', sans-serif; color:#f5a100; letter-spacing:0.1em;}
.main_sect5 .tit_main_sect { margin-bottom:35px; line-height:1; font-size:34px; font-weight:500; color:#222;}
.main_sect5 .txt_main_sect { margin-bottom:20px; font-size:18px; line-height:1.6; color:#fff;}
.main_sect5_slide { width:100%; max-width:1000px; align-items:center; justify-content:center;}
.main_sect5_slide .swiper-slide { display:flex; align-items:center; justify-content:center;}
.block_main_sect5 ul { display:flex; flex-wrap:wrap; width:100%;}
.block_main_sect5 ul li { margin:0 15px; width:calc(50% - 30px);}
.block_main_sect5 ul li .lab_main_sect5 { padding:5px 0; background:#222; color:#fff; text-align:center; font-size:16px;}
.block_main_sect5 ul li .img_main_sect5 { overflow:hidden;}
.block_main_sect5 ul li .img_main_sect5 img { width:100%; max-width:100%; height:auto;}
.block_main_sect5 ul li .tit_main_sect5 { padding-top:15px; font-size:18px; text-align:center; color:#222;}
.main_sect5_slide .swiper-button-next, .main_sect5_slide .swiper-button-prev { width:35px; height:35px; border-radius:50%; background:rgba(89,86,86,.8); color:#fff;}
.main_sect5_slide .swiper-button-next:after, .main_sect5_slide .swiper-button-prev:after { font-size:12px;}


@media screen and (max-width:768px) {
.block_main_sect5 ul li .lab_main_sect5 { padding:3px 0; font-size:12px;}
}

.bbs_wrap { padding-top:70px; padding-bottom:70px;}
.bbs_wrap .block_main_sect { text-align:center;}
.bbs_wrap .lab_main_sect { margin-bottom:10px; line-height:1; font-size:16px; font-family:'S-CoreDream', 'Barlow', 'Noto Sans KR', sans-serif; color:#f5a100; letter-spacing:0.1em;}
.bbs_wrap .tit_main_sect { margin-bottom:35px; line-height:1; font-size:34px; font-weight:500; color:#222;}
.bbs_wrap .txt_main_sect { margin-bottom:20px; font-size:18px; line-height:1.6; color:#fff;}

.bbs_wrap .bo_notice .notice_icon { display:inline-block; line-height:1; border-radius:14px; padding:5px 12px; font-weight:500;color:#f5a100; font-size:15px; border:1px solid #f5a100;}
.bbs_wrap .btn_bo_user li { width:auto;}
.bbs_wrap a.btn_b01, .bbs_wrap .btn_b01 { display:inline-block; width:auto; height:auto; background:#2e2e2c; color:#fff; font-size:15px; line-height:1; padding:15px 0; text-align:center; min-width:120px; font-weight:600; white-space:nowrap;}

.bbs_wrap .bo_sch_wrap { display:block; clear:both; width:auto; height:auto; top:auto; left:auto; text-align:center;}
.bbs_wrap .bo_sch { display:block; position:relative; text-align:center; width:auto; height:auto; top:auto; left:auto; margin:0; box-shadow:none; border:none;}
.bbs_wrap .bo_sch form { text-align:center;}
.bbs_wrap .bo_sch .sch_bar { width:auto;}
.num_date_camera { display:block; background:#000; color:#fff; padding:3px 0; text-align:center;}
.bbs_wrap .wf_sub_tit { margin-top:10px;}
.bbs_wrap .bo_sch form { justify-content:center;}
.bbs_wrap #bo_cate a { padding:10px 0; width:auto; min-width:100px;}

@media screen and (max-width:768px) {
.bbs_wrap { padding-top:20px; padding-bottom:20px;}
.bbs_wrap .lab_main_sect { margin-bottom:5px; font-size:12px;}
.bbs_wrap .tit_main_sect { margin-bottom:10px; font-size:20px;}
}

.clinic_online {}
.clinic_online .inner_wrap { display:flex; align-items:center; justify-content:center;}
.map_style1 { position:relative; display:flex; padding:50px 0; align-items:center; justify-content:center; width:100%; text-align:left;}
.map_style1 .sect_map { width:62.5%; padding-right:50px;}
.map_style1 .sect_block { width:37.5%;}
.map_style1 .sect_label { line-height:1; letter-spacing:0.05em; font-size:16px; color:#f5a100; padding-bottom:20px; font-family:'S-CoreDream', 'Barlow', 'Noto Sans KR', sans-serif;}
.map_style1 .sect_tit { margin-bottom:20px; font-size:34px; color:#222; font-weight:500; line-height:1;}
.map_style1 .sect_txt { margin-bottom:20px; font-size:18px; color:#444; font-weight:300; line-height:1.66;}
.map_style1 .sect_tel { padding:20px 0 10px; font-size:30px; color:#222; font-weight:600; line-height:1.4;}
.map_style1 .sect_adr { margin-bottom:20px; font-size:22px; color:#444; font-weight:600; line-height:1.66;}
.map_style1 .sect_sub_tit { position:relative; font-size:20px; color:#222; line-height:1.5;}
.map_style1 .sect_sub_tit dl { display:flex;}
.map_style1 .sect_sub_tit dt { width:140px; font-weight:600;}
.map_style1 .sect_sub_tit dd { font-weight:400;}
.map_style1.right .sect_block { padding-right:50px; padding-left:0;}
.map_style1 .move_wrap { margin-top:20px;}
.map_style1 .move_wrap th { width:35%; padding:8px 0; font-size:18px; vertical-align:top; color:#222; font-weight:500;}
.map_style1 .move_wrap td { padding:8px 0; font-size:18px; vertical-align:top; color:#222;}
.map_style1 .move_wrap td span { display:block; padding-top:10px; color:#999; font-size:16px;}
.lab_group { display:flex; margin-bottom:10px; line-height:1.4;}
.lab_bus { display:inline-block; white-space:nowrap; height:24px; padding:4px 8px; margin-right:16px; border:1px solid #353dce; font-size:15px; font-weight:500; color:#353dce; line-height:1;}
.lab_special { border:1px solid #d02828; color:#d02828;}

@media screen and (max-width:768px) {
.map_style1 { flex-direction:column; padding-top:20px; padding-bottom:30px;}
.map_style1 .sect_map { width:100%; padding-right:0; margin-top:30px;}
.map_style1 .sect_block { width:100%;}
.map_style1 .sect_label { font-size:12px; padding-bottom:10px;}
.map_style1 .sect_tit { margin-bottom:10px; font-size:22px;}
.map_style1 .sect_txt { margin-bottom:10px; font-size:12px;}
.map_style1 .sect_tel { padding:10px 0 10px; font-size:20px;}
.map_style1 .sect_adr { margin-bottom:20px; font-size:22px; color:#444; font-weight:600; line-height:1.66;}
.map_style1 .sect_sub_tit { font-size:15px;}
.map_style1 .sect_sub_tit dl { display:flex;}
.map_style1 .sect_sub_tit dt { width:140px; font-size:12px;}
.map_style1 .sect_sub_tit dd { font-weight:400; font-size:12px;}
.map_style1 .move_wrap { margin-top:10px;}
.map_style1 .move_wrap th { width:35%; padding:8px 0; font-size:18px; vertical-align:top; color:#222; font-weight:500;}
.map_style1 .move_wrap td { padding:8px 0; font-size:18px; vertical-align:top; color:#222;}
.map_style1 .move_wrap td span { display:block; padding-top:10px; color:#999; font-size:16px;}
}

/* 치료전후 블러 처리 & 동의 모달 */
.img_main_sect5.blurred {
    position: relative;
    cursor: pointer;
}

.img_main_sect5.blurred img {
    filter: blur(10px);
}

.img_main_sect5.blurred::before {
    content: "로그인 후 확인가능합니다.";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: rgb(255, 255, 255);
    z-index: 10;
    background: rgba(0, 0, 0, 0.7);
    padding: 0.75rem 1.5rem;
    border-radius: 4px;
    white-space: nowrap;
    font-size: 16px;
    cursor: pointer;
}

/* 모바일에서 블러 메시지 폰트 크기 조정 */
@media (max-width: 768px) {
    .img_main_sect5.blurred::before {
        font-size: 9px;
        padding: 0.5rem 1rem;
    }
}

/* 동의 팝업 모달 */
.blur-consent-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    justify-content: center;
    align-items: center;
}

.blur-consent-modal.active {
    display: flex;
}

.blur-consent-content {
    background: white;
    padding: 2rem;
    border-radius: 8px;
    max-width: 500px;
    max-height: 90vh;
    overflow-y: auto;
    text-align: center;
    margin: 1rem;
}

.blur-consent-content h3 {
    margin-bottom: 1rem;
    font-size: 18px;
    line-height: 1.4;
}

.blur-consent-content p {
    margin-bottom: 1.5rem;
    color: #666;
    font-size: 14px;
    line-height: 1.6;
    text-align: left;
}

.blur-consent-buttons {
    display: flex;
    gap: 10px;
    justify-content: center;
}

.blur-consent-buttons button {
    padding: 0.5rem 1.5rem;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
}

.blur-consent-buttons .btn-agree {
    background: #007bff;
    color: white;
}

.blur-consent-buttons .btn-cancel {
    background: #6c757d;
    color: white;
}

.blur-consent-buttons button:hover {
    opacity: 0.8;
}

/* 모바일 반응형 */
@media (max-width: 768px) {
    .blur-consent-content {
        padding: 1.5rem 1rem;
        max-width: 90%;
        margin: 0.5rem;
    }

    .blur-consent-content h3 {
        font-size: 14px;
        margin-bottom: 0.75rem;
    }

    .blur-consent-content p {
        font-size: 12px;
        margin-bottom: 1rem;
        line-height: 1.5;
    }

    .blur-consent-buttons {
        flex-direction: column;
        gap: 8px;
    }

    .blur-consent-buttons button {
        padding: 0.75rem 1rem;
        font-size: 13px;
        width: 100%;
    }
}


/* ===== added: gallery label / card hover zoom (missing from source default.css) ===== */
.gal_tour .swiper-slide { position:relative;}
.gal_tour .swiper-slide > div { display:flex; flex-direction:column; width:100%;}
.gal_tour .swiper-slide .block_space { position:absolute; bottom:0; left:0; display:block; padding:30px; font-size:18px; font-weight:200; color:#fff; width:100%; margin:0; margin-top:auto; background:rgb(0,0,0); background:linear-gradient(360deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,0) 100%);}
.gal_tour .swiper-slide .block_space strong { display:block; margin-bottom:10px; font-size:22px; font-weight:600;}

.img_scale { overflow:hidden;}
.img_scale em { transform:scale(1); transition:all 3s;}
.img_scale:hover em { transform:scale(1.1);}

@media screen and (max-width:768px) {
.gal_tour .swiper-slide .block_space { padding:10px; font-size:14px;}
.gal_tour .swiper-slide .block_space strong { font-size:16px; margin-bottom:5px;}
}


/* ==========================================================
   메인 리뉴얼 (11dent 스타일 이식) 2026.07
   ========================================================== */
#main { --pt:#f5a100; --pt-d:#d98e00; }

/* 공통 포인트 요소 (닷 / VIEW MORE 버튼) */
.pt_dot { position:relative; display:block; width:16px; height:16px; border-radius:50%; background:var(--pt); }
.pt_dot.center { margin-left:auto; margin-right:auto; }
.pt_dot:before, .pt_dot:after { content:""; position:absolute; inset:0; border-radius:50%; border:2px solid var(--pt); animation:dotRipple 2.4s ease-out infinite; }
.pt_dot:after { animation-delay:1.2s; }
@keyframes dotRipple { 0% { transform:scale(1); opacity:.7; } 70% { opacity:0; } 100% { transform:scale(2.6); opacity:0; } }
.pt_btn {display:inline-flex;align-items:center;gap:16px;padding:15px 32px;border:1px solid #dcdcdc;border-radius:40px;font-family:'Barlow','Noto Sans KR',sans-serif;font-size:15px;font-weight:700;letter-spacing:0.08em;color: var(--main-color);background:#fff;transition:all .3s;}
.pt_btn i { position:relative; display:inline-block; width:26px; height:1px; background:currentColor; }
.pt_btn i:after { content:""; position:absolute; right:0; top:-3px; width:7px; height:7px; border-top:1px solid currentColor; border-right:1px solid currentColor; transform:rotate(45deg); }
.pt_btn:hover { background:var(--pt); border-color:var(--pt); color:#fff; }

/* 비주얼 (풀 배경형 히어로) */
/* 배경을 어둡게 → 인트로 상승 중 이미지(.mv_img)의 라운드 코너 뒤가 '항상 검정'으로 보임(흰색 비침 방지).
   라운드가 0이 되면 이미지가 꽉 차서 이 배경은 가려짐 */
.main_visual { height:100vh; margin-top:0; background:#17140f; }
.main_visual .swiper-slide.mv_slide { position:relative; display:flex; align-items:center; padding:0; height:auto; overflow:hidden; }
/* 라운드는 이미지에 준다. 인트로 종료(intro-active 제거) 후 정지 상태에서 40→0으로 부드럽게 사라짐(transition) */
.mv_slide .mv_img { position:absolute; top:0; left:0; right:0; bottom:0; z-index:0; border-radius:0; box-shadow:none; overflow:hidden; transition:border-radius .6s ease; }
html.intro-active .mv_slide .mv_img { border-radius:40px 40px 0 0; }
.mv_slide .mv_img img { width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.15); }
.main_visual .swiper-slide-active .mv_img img { animation:mvZoom 7s ease-out forwards; }
@keyframes mvZoom { from { transform:scale(1.15); } to { transform:scale(1); } }
.mv_slide .mv_img:after { content:""; position:absolute; top:0; left:0; width:100%; height:100%; background:linear-gradient(90deg, rgba(0,0,0,.6) 0%, rgba(0,0,0,.32) 42%, rgba(0,0,0,0) 72%); }
.mv_inner { position:relative; z-index:2; display:block; width:100%; padding:0; min-height:0; }
.mv_text {width:100%;max-width:620px;margin-top: 80px;}
.mv_text .pt_dot { margin-bottom:30px; }
.mv_tit {margin-bottom:24px;font-size: 70px;line-height:1.24;font-weight:700;color:#fff;letter-spacing:-0.01em;text-shadow:0 2px 18px rgba(0,0,0,.25);}
.mv_lab { margin-bottom:14px; font-size:20px; color:rgba(255,255,255,.85); font-weight:400; }
.mv_desc { margin-bottom:42px; font-size:20px; line-height:1.7; color:rgba(255,255,255,.9); font-weight:300; }
.mv_text .pt_btn { border-color:rgba(255,255,255,.55); color:#fff; background:transparent; }
.mv_text .pt_btn:hover { background:#fff; border-color:#fff; color:var(--pt-d); }

/* 히어로 페이지네이션 (우측 세로 컬러 닷) */
.main_visual .swiper-pagination.swiper-pagination-horizontal,
.main_visual.swiper-horizontal>.swiper-pagination-bullets {
  left:0;
  right:0;
  top:auto;
  bottom: 80px;
  transform:none;
  width:100%;
  display:flex;
  flex-direction:row;
  justify-content:center;
  gap:14px;
  z-index:3;
}
.main_visual .swiper-pagination-bullet { width:12px; height:12px; margin:0; background:rgba(255,255,255,.55); opacity:1; transition:transform .3s; }
.main_visual .swiper-pagination-bullet-active { border:none; background:var(--pt); transform:scale(1.5); box-shadow:0 0 0 4px rgba(255,255,255,.35); }
.main_visual .swiper-pagination-bullet-active:after { display:none; }

@media screen and (max-width:768px) {
  .main_visual { height:100vh; }
  .mv_slide .mv_img:after { background:linear-gradient(90deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.4) 60%, rgba(0,0,0,.3) 100%); }
  .mv_text { max-width:none; }
  .mv_text .pt_dot { margin-bottom:16px; }
  .mv_tit { font-size:35px; margin-bottom:14px; }
  .mv_lab { font-size:15px; margin-bottom:10px; }
  .mv_desc { font-size:16px; margin-bottom:26px; }
  .pt_btn { padding:12px 26px; font-size:13px; gap:12px; }
  .main_visual .swiper-pagination.swiper-pagination-horizontal,
  .main_visual.swiper-horizontal>.swiper-pagination-bullets {
    right:auto;
    left:0;
    top:auto;
    bottom: 40px;
    transform:none;
    flex-direction:row;
    justify-content:center;
    width:100%;
  }
}

/* 의식하진정요법 (분할 카드형) */
.main_sect2 {display:block;padding: 150px 0;background:#fff;justify-content:normal;}
.main_sect2 .inner_wrap { position:relative; display:flex; align-items:center; gap:64px; height:auto; }
.s2_text { width:42%; flex-shrink:0; }
.s2_text .pt_dot { margin-bottom:30px; }
.s2_tit { margin-bottom:28px; font-size:68px; line-height:1.28; font-weight:700; color:#2b2b2b; letter-spacing:-0.01em; }
.s2_lab {margin-bottom:16px;font-size: 30px;color:#8a8a8a;font-weight:400;}
.s2_desc {margin-bottom:48px;font-size: 22px;line-height:1.75;color:#666;/* font-weight:300; */margin-top: 1.5em;}
.s2_img {position:relative;width:58%;height:720px;border-radius:30px;overflow:hidden;/* box-shadow:0 30px 60px -28px rgba(0,0,0,.4); */}
.s2_img img { width:100%; height:100%; object-fit:cover; object-position:center; }

@media screen and (max-width:768px) {
  .main_sect2 { padding:56px 0; }
  .main_sect2 .inner_wrap { flex-direction:column; gap:26px; height:auto; }
  .s2_text { width:100%; text-align:center; }
  .s2_text .pt_dot { margin:0 auto 16px; }
  .s2_tit { font-size:31px; margin-bottom:14px; }
  .s2_lab { font-size:15px; margin-bottom:10px; }
  .s2_desc { font-size:15px; margin-bottom:26px; }
  .s2_img { width:100%; height:280px; border-radius:20px; }
}

/* 인트로 (내 인생 치과를 찾았다) */
.main_intro {padding: 150px 0 110px;background:#f7f4f1;}
.intro_head { text-align:center; margin-bottom:58px; }
.intro_head .pt_dot { margin:0 auto 26px; }
.intro_tit { margin-bottom:26px; font-size:64px; line-height:1.3; font-weight:700; color:#2b2b2b; }
.intro_desc {margin-bottom:38px;font-size: 22px;line-height:1.75;color:#777;/* font-weight:300; */}
.intro_cards .main_sect1_slide { padding-bottom:56px; }
.intro_cards .main_sect1_slide .swiper-slide {width:calc((100% - 94px) / 4);height:560px;border-radius:170px 170px 24px 24px;overflow:hidden;/* box-shadow:0 24px 40px -24px rgba(0,0,0,.3); */}
.intro_cards .main_sect1_slide .swiper-slide a { padding:42px; }
.intro_cards .main_sect1_slide .swiper-slide a span { font-size:32px; font-weight:600; }

@media screen and (max-width:768px) {
  .main_intro { padding:56px 0 62px; }
  .intro_head { margin-bottom:34px; }
  .intro_tit { font-size:29px; margin-bottom:14px; }
  .intro_desc { font-size:15px; margin-bottom:24px; }
  .intro_cards .main_sect1_slide .swiper-slide { width:150px; height:210px; border-radius:80px 80px 14px 14px; }
  .intro_cards .main_sect1_slide .swiper-slide a { padding:20px; }
  .intro_cards .main_sect1_slide .swiper-slide a span { font-size:16px; }
  .intro_cards .main_sect1_slide{padding-bottom:30px}
}

/* 키워드 클라우드 */
.main_keyword {padding: 150px 0;background:#fff;}
.kw_head { text-align:center; margin-bottom:46px; }
.kw_head .pt_dot { margin:0 auto 24px; }
.kw_tit { margin-bottom:18px; font-size:56px; font-weight:700; color:#2b2b2b; }
.kw_desc {font-size:23px;color:#8a8a8a;/* font-weight:300; */}
.kw_list {display:flex;flex-wrap:wrap;justify-content:center;gap:18px;/* max-width:1180px; */margin:0 auto;}
.kw_list a { display:inline-block; padding:20px 38px; border-radius:40px; background:#f1efec; color:#666; font-size:25px; font-weight:400; transition:all .25s; }
.kw_list a:hover { background:var(--pt); color:#fff; transform:translateY(-3px); }
.kw_list a.on { background:var(--pt); color:#fff; box-shadow:0 12px 22px -10px rgba(245,161,0,.55); }

@media screen and (max-width:768px) {
  .main_keyword { padding:54px 0; }
  .kw_head { margin-bottom:30px; }
  .kw_tit { font-size:25px; }
  .kw_desc { font-size:14px; }
  .kw_list { gap:9px; }
  .kw_list a { padding:10px 16px; font-size:14px; }
}

/* 내부시설 (셀피 그리드 + 중앙 버블) */
.main_gallery { position:relative; overflow:hidden; }
.gal_grid { position:relative; display:grid; grid-template-columns:repeat(4,1fr); }
.gal_cell {
  position:relative;overflow:hidden;aspect-ratio:1/1;display:block;outline:3px solid transparent;outline-offset:-3px;transition:outline-color .35s ease;
  border:0px solid var(--main-color);
  -moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;

    &:hover{
      border:5px solid var(--main-color);
    }
}
.gal_cell img { width:100%; height:100%; object-fit:cover; filter:grayscale(100%); transition:all .5s; }
.gal_cell span {position:absolute;left:0;bottom:0;width:100%;padding:14px 18px;text-align: center;color:#fff;/* font-size:16px; */font-weight:500;opacity:0;transform:translateY(10px);transition:all .35s;background:linear-gradient(0deg, rgba(0,0,0,.65), rgba(0,0,0,0));-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;}
.gal_cell:hover img { filter:grayscale(0); transform:scale(1.05); }
.gal_cell:hover span { opacity:1; transform:translateY(0); }
.gal_cell:hover { outline-color:var(--pt); }
.gal_cell.on { z-index:2; outline:4px solid var(--pt); outline-offset:-4px; }
.gal_bubble {position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:210px;height:210px;border-radius:50%;background:var(--pt);color:#fff;/* box-shadow:0 20px 46px -14px rgba(245,161,0,.85); */}
.gal_bubble em { margin-bottom:8px; font-family:'Barlow','Noto Sans KR',sans-serif; font-size:13px; letter-spacing:0.05em; font-style:normal; opacity:.9; }
.gal_bubble strong { font-size:27px; font-weight:700; line-height:1.3; }

@media screen and (max-width:768px) {
  .gal_grid { grid-template-columns:repeat(2,1fr); }
  .gal_bubble { width:130px; height:130px; }
  .gal_bubble em { font-size:9px; margin-bottom:4px; }
  .gal_bubble strong { font-size:17px; }
  .gal_cell span { font-size:12px; padding:9px 10px; opacity:1; transform:none; }
}

/* 치료 전후 비교 (내부시설 하단) — 게시판 bf_box 카드 + 롤링 + 블러 */
.main_sect5 {padding: 150px 0;background:#faf8f5;}
.main_sect5 .inner_wrap { padding:0 20px; }
/* 섹션 타이틀 (위 다른 섹션과 동일 스타일: pt_dot + 나눔명조 타이틀) */
.main_sect5 .bf5_head { text-align:center; margin-bottom:46px; }
.main_sect5 .bf5_head .pt_dot { margin:0 auto 24px; }
.main_sect5 .bf5_tit { margin-bottom:18px; font-size:56px; font-weight:700; color:#2b2b2b; font-family:'Nanum Myeongjo','Noto Serif KR',serif; letter-spacing:-0.04em; }
.main_sect5 .bf5_desc { font-size:23px; color:#8a8a8a; letter-spacing:-0.04em; }
.main_sect5_slide { margin:0 auto; overflow:hidden; }
.main_sect5 .bf_box { max-width:800px; cursor:pointer; }
.main_sect5 .bf_box ul li img { width:100%; display:block; aspect-ratio:3/2; object-fit:cover; }
.main_sect5 .bf_box h4 { color:#222; }
/* AFTER 이미지: 동의(로그인) 전 블러 + 안내문구 */
.main_sect5 .bf_after { position:relative; overflow:hidden; line-height:0; border-radius:0 20px 0 0; }
.main_sect5 .bf_after.locked { cursor:pointer; }
.main_sect5 .bf_after.locked img { filter:blur(10px); transform:scale(1.06); }
.main_sect5 .bf_after.locked::before {
  content:"로그인 후 확인가능합니다."; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  z-index:2; color:#fff; background:rgba(0,0,0,.72); padding:0.6rem 1.1rem; border-radius:4px;
  white-space:nowrap; font-size:15px; line-height:1.3; cursor:pointer;
}

@media screen and (max-width:768px) {
  .main_sect5 { padding:46px 0 54px; }
  .main_sect5 .bf5_head { margin-bottom:30px; }
  .main_sect5 .bf5_tit { font-size:25px; }
  .main_sect5 .bf5_desc { font-size:14px; }
  .main_sect5 .bf_after.locked::before { font-size:11px; padding:0.4rem 0.7rem; }
}

/* ---- 서브페이지 타이포그래피와 정렬 ---- */
/* 제목: 나눔명조(서브 .title h2 / .sub_tit h1 과 동일) · 본문/라벨: Noto Sans KR 상속 · 자간: 사이트 기준 -0.04em */
.mv_tit, .intro_tit, .s2_tit, .kw_tit { font-family:'Nanum Myeongjo', 'Noto Serif KR', serif; letter-spacing:-0.04em; }
.mv_lab, .s2_lab, .intro_desc, .kw_desc, .mv_desc, .s2_desc { font-family:'Noto Sans KR', sans-serif; letter-spacing:-0.04em; }

/*=================인트로 오프닝=================*/ 
#zero_intro {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #17140f;
  padding: 20px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  animation: zeroIntroOut 3.5s cubic-bezier(.22, 1, .36, 1) 2.3s forwards;
}

#zero_intro .zi_inner {
  text-align: center;
  animation: ziShift 3.5s cubic-bezier(.45, 0, .25, 1) 2.3s both;
}

#zero_intro .zi_bar {
  display: block;
  width: 0;
  height: 2px;
  margin: 0 auto 34px;
  background: var(--main-color);
  animation: ziBar .9s ease .15s forwards;
}

#zero_intro .zi_line {
  overflow: hidden;
  margin: 0;
}

#zero_intro .zi_line span {
  display: inline-block;
  transform: translateY(120%);
  font-family: 'Nanum Myeongjo', 'Noto Serif KR', serif;
  color: #fff;
  letter-spacing: -0.02em;
  line-height: 1.35;
  will-change: transform;
}

#zero_intro .zi_line b {
  color: var(--main-color);
  font-weight: inherit;
}

#zero_intro .zi_line1 span {
  font-size: clamp(24px, 4.2vw, 54px);
  font-weight: 700;
  animation: ziUp 1s cubic-bezier(.22, 1, .36, 1) .35s forwards;
}

#zero_intro .zi_line2 {
  margin-top: 18px;
}

#zero_intro .zi_line2 span {
  font-size: clamp(17px, 2.6vw, 30px);
  font-weight: 400;
  color: rgba(255, 255, 255, .9);
  animation: ziUp 1s cubic-bezier(.22, 1, .36, 1) .6s forwards;
}

@keyframes ziBar {
  to {
    width: 64px;
  }
}

@keyframes ziUp {
  to {
    transform: translateY(0);
  }
}

@keyframes zeroIntroOut {
  0% {
    transform: translateY(0);
    animation-timing-function: cubic-bezier(.45, 0, .25, 1);
  }

  35% {
    transform: translateY(-50%);
    animation-timing-function: linear;
  }

  50% {
    transform: translateY(-50%);
    animation-timing-function: cubic-bezier(.45, 0, .25, 1);
  }

  100% {
    transform: translateY(-100%);
    visibility: hidden;
  }
}

@keyframes ziShift {
  0% {
    transform: translateY(0);
    animation-timing-function: cubic-bezier(.45, 0, .25, 1);
  }

  35% {
    transform: translateY(25vh);
    animation-timing-function: linear;
  }

  50% {
    transform: translateY(25vh);
  }

  100% {
    transform: translateY(25vh);
  }
}

html.intro-lock,
html.intro-lock body {
  overflow: hidden !important;
}

/* 히어로 등장 (인트로 이후) */
/* 인트로 중 스크롤바 유지 → 레이아웃 시프트 방지 */
html.has-intro {
  overflow-anchor: none;
}

html.intro-active .main_visual {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 99990;
  will-change: transform;
  backface-visibility: hidden;
  /* 상승 모션(transform)은 검정 배경(zeroIntroOut)과 '같은 키프레임'으로 완전히 동기화.
     라운드 변화는 여기(모션)가 아니라 .mv_img의 transition이 담당(상승 완료 후 정지 상태) */
  animation: heroFill 3.5s cubic-bezier(.22, 1, .36, 1) 2.3s backwards;
}

/* 히어로 주변 어두운 프레임: 기존 box-shadow(0 0 0 100vmax)를 애니메이션되지 않는
   고정 배경 레이어로 대체 → 넓은(가로 긴) 화면에서 거대 그림자 리페인트로 인한 버벅임 제거 */
html.intro-active::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #17140f;
  z-index: 99989;
  pointer-events: none;
}

html.has-intro header {
  animation: menuDown 1.3s cubic-bezier(.22, 1, .36, 1) 5.8s backwards;
}

/* 인트로를 이미 오늘 본 경우(하루 1회) — 인트로 종료 후 상태로 바로 시작 */
html.intro-skipped header {
  animation: none;
}

/* transform만 애니메이션(리페인트 없음) → 매끄러움.
   키프레임(0/35/50/100)과 구간별 easing을 zeroIntroOut(검정 배경)과 '동일'하게 맞춰 상승 속도를 완전히 동기화함 */
@keyframes heroFill {
  0% {
    transform: translateY(100%) scale(.9);
    animation-timing-function: cubic-bezier(.45, 0, .25, 1);
  }

  35% {
    transform: translateY(50%) scale(.9);
    animation-timing-function: linear;
  }

  50% {
    transform: translateY(50%) scale(.9);
    animation-timing-function: cubic-bezier(.45, 0, .25, 1);
  }

  100% {
    transform: translateY(0) scale(1);
  }
}

@keyframes menuDown {
  from {
    transform: translateY(-200%);
  }

  to {
    transform: translateY(0);
  }
}

/* 메인: 퀵메뉴는 인트로가 끝나면 최상단(히어로)에서도 바로 노출. 인트로 재생 중에만 숨김 */
html.has-intro .quick_menu {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
  transition: opacity .6s ease, transform .6s cubic-bezier(.22, 1, .36, 1);
}

html.intro-active .quick_menu {
  opacity: 0;
  transform: translateX(40px);
  pointer-events: none;
}

html.has-intro .bottom_fixed_box {
  opacity: 0;
  transform: translateY(100%);
  pointer-events: none;
  transition: opacity .6s ease, transform .6s cubic-bezier(.22, 1, .36, 1);
}

html.has-intro.scrolled .bottom_fixed_box {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
