@charset "utf-8";


.maxWrap {max-width: 1200px;margin: 0 auto; padding: 0; text-align: center;}
.venderWrap{ margin-bottom: 0px;}
.img100 {width:100%; max-width:1200px;}
.sub_img100 {width:100%; max-width:900px;}
.visualWrap{position:relative; height: 400px;  text-align: center; }
.visualWrap img {width:100%; height:auto; display:none;}
.visualWrap.sub1{background: url(/images/sub/subVisual1-2c99fe6888cda6fe2d40d694c191ef70.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
.visualWrap.sub2{background: url(/images/sub/subVisual2-fcf3588f20cc42c0c33c277c48494d46.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
.visualWrap.sub3{background: url(/images/sub/subVisual3-220aa31601df934748f3093f87faa381.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
.visualWrap.sub4{background: url(/images/sub/subVisual4-0be0815553a2e3181e35668f8e2b53b2.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
.visualWrap.sub5{background: url(/images/sub/subVisual5-562e17b3d50b3d7d2e7289c244138c38.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
.visualWrap.sub6{background: url(/images/sub/subVisual6-062c5b43b3e76e9ad343504dd9283b11.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
.visualWrap.sub7{background: url(../images/sub/subVisual7.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
.visualWrap.sub8{background: url(../images/sub/subVisual8.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
.visualWrap.sub9{background: url(../images/sub/subVisual9.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
.visualWrap.sub10{background: url(../images/sub/subVisual10.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
.visualWrap.sub11{background: url(../images/sub/subVisual11.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
.visualWrap.sub12{background: url(../images/sub/subVisual12.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
.visualWrap.sub13{background: url(../images/sub/subVisual13.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
.visualWrap.sub14{background: url(../images/sub/subVisual14.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
.visualWrap.sub15{background: url(../images/sub/subVisual15.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}

.visualWrap img{width: 100%; height: auto; display: none;}
/* .visualWrap p{font-size: 13px; color: #fff; padding-top: 195px; letter-spacing: 4.5px; text-transform: uppercase;} */
/* .visualWrap h2{font-size: 39px; font-weight: 600; color: #fff; padding-top: 20px; letter-spacing: -1.5px;} */
.visualWrap h4{font-size: 18px; font-weight: 400; color: #fff; padding-top: 20px;}
.visualWrap .text{font-size: 18px; color: #fff; font-weight: 300; padding-top: 10px;}
/* 동영상 */
.subvideo {width:100%; overflow:hidden; text-align:center; margin-bottom:50px;}
.subvideo video {width:100%; object-fit: cover;}
/* 서브화면 뎁스 */
/* .location.fixed {position:fixed; top:93px;} */
.location{z-index:2;position:relative;height:72px; line-height: 71px; width:100%; margin:0 auto 0;background:#fff;/*border-top:1px solid #e1e1e1; */border-bottom:1px solid #e1e1e1 ; box-sizing: border-box; }
.location *{vertical-align:middle;}
.location .box{position:relative;max-width:1200px;margin:0 auto;font-size:0;border-left:1px solid #e1e1e1; /*border-left:1px solid #e1e1e1; */}
.location .home{display:inline-block;width:69px;height:72px;font-size:0; /*border-right:1px solid #e6e6e6; */background:url(/images/sub/ico_home-e54c4aeb6bf26b25b34ea3e9032138d3.png) no-repeat 50% 50%;border-right:1px solid #e6e6e6;}
.location .home + ul{display:inline-block;}
.location .dep1{position:relative;display:inline-block; padding-left:20px; background:#fff; border:1px solid transparent;  border-bottom:1px solid #e1e1e1; box-sizing:border-box;border-right:1px solid #e1e1e1;min-width:300px; height:72px; line-height:72px;}
.location .dep1:nth-child(2) {background:#fff; border-bottom:none;}
.location .dep1 > a{position:relative;display:block;  padding-right:35px;font-size:15px;color:#666; line-height:74px;}
.location .dep1 > span{position:relative;display:block;padding-right:24px;font-size:14px;}
.location .dep1 > a:before{content:"";display:block;position:absolute;top:33px;right:19px;width:12px;height:7px;background:url(/images/sub/ico_lnb_arrow-ecab669ad3f4f2fc4e5505dded7cd129.png) no-repeat 0 0;}
.location .dep1.noicon > a:before{content:"";display:block;position:absolute;top:30px;right:15px;width:12px;height:7px;background:transparent;}
.location .dep2{display:none;position:absolute;width:calc(100% + 2px);left:-1px;top:71px;background:#fff;box-sizing:border-box;}
.location .active .dep2{display:block;padding:0 0 12px 0;border:1px solid #212121;border-top:0;font-size:14px;color:#666; margin-top:0px;}
.location .active .dep2 li~li{margin-top:0;}
.location .active .dep2 a{display:block;line-height:50px;height:50px;padding-left:22px; padding-right: 15px; box-sizing: border-box; color:#676969;font-size:15px;}
.location .active .dep2 a:hover{position: relative; background: #2072ec; color: #fff;font-weight: 500; }
.location .active .dep2 a:hover:before {content: '';display:  block;position: absolute;width:  6px;height:  100%;background: #2072ec;top:  0;left:  0;}
.location .dep2.on > a{ color:#fff;}
.location .dep1.active{min-width: 300px; max-width: 340px; left:-1px;top:-1px;border:1px solid #212121;border-bottom:0;}
.location .active > a:before{background:url(/images/sub/ico_lnb_arrow_up-33ba119e85b5dc39915876f2c17341b3.png) no-repeat 0 0;}
.location .dep1.active > a{position:relative;top:1px;left:1px;}
.line {width:100%; height:1px; background:#eee; margin:100px 0;}
.img100 {width:100%;}
.img {width:100%; max-width:1200px;}

/* 배경 */
.hours-hero{ padding-top:230px;}

/* 가운데 정렬 */
.hours-inner{  display:flex; align-items:center; justify-content:center; gap: 20px;  text-align:center;}

/* 타이틀/서브 */
.hours-text h2{ margin:0; color:#fff; font-size: 30px; font-weight: 700; letter-spacing: -0.5px;}
.hours-text p{ margin: 14px 0 0; color: rgba(255,255,255,.9); font-size: 11px; letter-spacing: 2.6px;font-weight: 300;}

/* 좌우 괄호 */
.bracket{color: rgba(255,255,255,.4); font-size: 64px; line-height: 1; font-weight: 700; transform: translateY(-2px);  user-select:none;}

/* 모바일 대응 */
@media (max-width: 480px){
    .hours-text h2{ font-size: 24px; }
    .bracket{ font-size: 48px; }
}
/* 서브화면 내용 */
.titleWrap{text-align: left; padding:100px 0 20px; }
.tit{font-size: 32px; font-weight: 600; color: #222; display: inline-block;position: relative; margin-bottom: 35px; letter-spacing:-2px;width:100%;}
.tit span {font-size:29px; font-weight:500;}
.tit2{font-size: 28px; font-weight: 600;  display: inline-block;position: relative; margin-bottom: 35px; letter-spacing:-2px; width:100%;}

.tit_sub {font-size:17px; line-height:1.6em; margin-bottom:40px;}
.tit_box {font-size:24px; line-height:1.6em; margin-bottom:30px; background:#0076b2; color:#fff; font-weight:bold; display: inline-block; padding:5px 30px; letter-spacing: -1px; margin:20px auto; border-radius: 10px;}
.imgbox {text-align: center; margin-bottom:100px;}
.imgbox img {width:100%; max-width:900px;}
.imgbox ul {display:flex; flex-wrap:wrap; justify-content: center;}
.imgbox ul li {width:25%;}
.imgbox ul li img {width:auto;}
.dot-list {
    list-style: none;
    padding-left: 0;
    width:100%;
    margin:0 auto;
}
.dot-list li {
    position: relative;
    padding-left: 15px;
    font-size:17px;
    line-height: 1.7em;
    text-align: left;
}
.dot-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    top: 0;
}
.dot-list li span {display:inline;}
.c-darkbule {color:#0061d9;}
.c-orange {color:#eb6100;}
.c-green {color:#2fb44b;}

.flex {display:flex; flex-wrap:wrap; align-items: flex-start; justify-content: space-between;}
.flex .left, .flex .right {width:49%;}
.bg_gray {background:#f6f6f6;}
.bg_gray2 {background:#f1f5f8;}
.bg_gray2 img {width:100%; max-width:500px;}

/* 서브 상단 메뉴 */
.clinic-visual {position: relative;}
.clinic-menu-wrap {
    width: calc(100% - 148px);
    max-width: 1210px;
    height: 82px;
    background: #fff;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
}

.clinic-menu {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: space-between;
}

.clinic-menu li {
    flex: 1;
    height: 100%;
    text-align: center;
}

.clinic-menu li a {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    color: #000;
    font-weight: 500;
    position: relative;
}

.clinic-menu li.active a {
    color: #1682c3;
}

.clinic-menu li.active a::after {
    content: "";
    width: 168px;
    height: 2px;
    background: #1682c3;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
}

/* 아래 콘텐츠 영역 */
.clinic-content {
    background: #fff;
    padding: 60px 20px 40px;
}

/* 하단 탭 */
.sub-tab-wrap {
    width:100%;
    max-width: 1200px;
    margin: 0 auto;
}

.sub-tab {
    display: flex;
    border: 1px solid #cfcfcf;
    background: #fff;
}

.sub-tab li {
    flex: 1;
    border-right: 1px solid #cfcfcf;
}

.sub-tab li:last-child {
    border-right: none;
}

.sub-tab li a {
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    color: #444;
    text-align: center;
}

.sub-tab li.on a {
    background: #2f8dbc;
    color: #fff;
    font-weight: 700;
}

/* 의료진소개 전체페이지 */
.spine-doctor-section {
    padding: 100px 0px 30px;
}

.spine-title {
    text-align: center;
    margin-bottom: 30px;
}

.spine-title span {
    display: block;
    width: 150px;
    height: 1px;
    background: #999;
    margin:22px auto;
}

.spine-title h2 {
    font-size: 29px;
    font-weight: 700;
    color: #00347f;
    letter-spacing: -1px;
}
.spine-title h3 {
    font-size: 30px;
    font-weight: 700;
    color: #313131;
    letter-spacing: -.5px;
    line-height: 1.6em;
}
.spine-title h3 b {color:#0982d5}

.spine-doctor-list {
    width:96%;
    max-width: 1400px;
    margin: 0 auto 150px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px;
}

.spine-doctor-list2 {width:100%;}
.spine-doctor-list2 .doctor-card {background:#006db7; color:#fff;box-shadow: none;}
.spine-doctor-list2 .doctor-card .doctor-info h3, .spine-doctor-list2 .doctor-card .doctor-info span,
.spine-doctor-list2 .doctor-card .doctor-info p {color:#fff; line-height: 1.6em;}
.spine-doctor-list2 .doctor-card .doctor-info h3 {border-bottom: 1px solid #ffffff42;}

.treat_section h5 {font-size:17px; line-height:1.7em; text-align: center; width:100%; max-width:1100px; margin:0 auto;}
.treat_section .box {font-size:16px; line-height: 1.8em ; width:100%; max-width:800px;margin:0 auto; padding:50px 30px; background:#f1f8ff; border-radius: 0px; border:1px solid #b1d0f1;}
.treat_section .box b {font-size:19px;}

.treat_section img {width:100%; max-width:900px; display:block; margin:0 auto;}

.cartilage-section {
    max-width: 1180px;
    margin: 0 auto;
    padding: 70px 20px;
    font-family: 'Pretendard', 'Noto Sans KR', sans-serif;
    color: #222;
}

.section-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    margin-bottom: 10px;
}

.section-title span {
    width: 80px;
    height: 1px;
    background: #9bb2cf;
}

.section-title h2 {
    font-size: 36px;
    font-weight: 800;
    color: #062b66;
    margin: 0;
}

.section-desc {
    text-align: center;
    font-size: 18px;
    color: #444;
    margin-bottom: 34px;
}

.target-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.target-card {
    position: relative;
    background: #fff;
    border: 1px solid #dde3ea;
    border-radius: 4px;
    overflow: visible;
    text-align: center;
    box-shadow: 0 10px 25px rgba(0, 30, 80, 0.05);
}

.target-card img {
    width: 100%;
    max-width:250px;
    padding-top:30px;
    object-fit: cover;
    /* display: block; */
}

.target-text {
    padding: 24px 15px 34px;
}

.target-text h3 {
    font-size: 23px;
    line-height: 1.5;
    color: #073b82;
    font-weight: 700;
    margin: 0 0 14px;
}

.target-text p {
    font-size: 16px;
    line-height: 1.7;
    margin: 0;
    color: #333;
}

.check-icon {
    position: absolute;
    left: 50%;
    bottom: -13px;
    transform: translateX(-50%);
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #003b82;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
}

.goal-title {
    margin-top: 70px;
}

.goal-list {
    display: grid;
    grid-template-columns: 1fr 34px 1fr 34px 1fr 34px 1fr;
    align-items: center;
    gap: 0;
}


.goal-list2 .goal-card {display:flex; flex-wrap: wrap; width:100%;  text-align: left; min-height: 120px; margin:10px 0; box-sizing: border-box;}
.goal-list2 .goal-card .goal-icon {width:130px; margin:10px 0;}
.goal-list2 .goal-card h3 span {font-size:16px; font-weight:400; color:#555; display:inline;}

.goal-card {
    min-height: 190px;
    border: 1px solid #b7d8df;
    border-radius: 10px;
    padding: 34px 20px;
    text-align: center;
    background: #fff;
    box-shadow: 0 10px 24px rgba(0, 50, 100, 0.04);
}

.goal-icon {
    width: 86px;
    height: 86px;
    margin: 0 auto 22px;
    border-radius: 50%;
    /* border: 1px solid currentColor; */
    display: flex;
    align-items: center;
    justify-content: center;
}

.goal-icon svg {
    width: 46px;
    height: 46px;
    stroke-width: 1.5;
}

.goal-icon.green {
    color: #38a84a;
}

.goal-icon.blue {
    color: #0b5fc4;
}

.goal-icon.teal {
    color: #00a0a8;
}

.goal-card h3 {
    font-size: 22px;
    line-height: 1.35;
    font-weight: 600;
    color: #063b83;
    margin: 0 0 18px;
}

.goal-card p {
    font-size: 16px;
    line-height: 1.75;
    color: #333;
    margin: 0;
}

.arrow {
    text-align: center;
    font-size: 46px;
    font-weight: 200;
    color: #073b82;
}


/* ===== 테이블 ===== */
.table-wrap {
    overflow-x: auto;
}

.schedule-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    overflow: hidden;
    border: 1px solid #ccc;
    border-top:1px solid #006db7;
}

.schedule-table th {
    color: #fff;
    padding: 14px;
    font-size: 15px;
}
.schedule-wrap .badge.bg_color_1 {background: #2a4ba9;}
.schedule-wrap .badge.bg_color_2 {background: #506541;}
.schedule-wrap .badge.bg_color_3 {background: #b5445b;}
.schedule-wrap .badge.bg_color_4 {background: #cd662f;}

.schedule-table.bg_color_1 th {background: #2a4ba9;}
.schedule-table.bg_color_2 th {background: #506541;}
.schedule-table.bg_color_3 th {background: #b5445b;}
.schedule-table.bg_color_4 th {background: #cd662f;}


.schedule-table td {
    border-bottom: 1px solid #ddd;
    border-left: 1px solid #ddd;
    text-align: center;
    padding:20px 10px;
    font-size: 16px;
}
.schedule-table td strong.doc-name {
    font-size: 17px;
}
.doctor {
    width: 160px;
}

.schedule-wrap .doctor img {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    margin: 0 auto 6px;
}

.schedule-wrap .doctor strong {
    display: block;
    font-size: 14px;
}

.schedule-wrap .dot {
    width: 14px;
    height: 14px;
    background: #2a4ba9;
    border-radius: 50%;
    display: inline-block;
}

.youtube-box {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    aspect-ratio: 16 / 9;
}

.youtube-box iframe {
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
}

.patch-compare {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    font-family: "Pretendard", "Noto Sans KR", sans-serif;
}

.compare-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.compare-card {
    min-height: 872px;
}

/* 상단 */
.top-area {
    padding: 60px 40px 5px;
    text-align: center;
}

.regeneten .top-area {
    background: #eaf8ff;
}

.biobrace .top-area {
    background: #eaeeff;
}

.top-area h3 {
    font-size: 32px;
    font-weight: 600;
    letter-spacing: -2px;
    margin-bottom: 20px;
}


/* 이미지 박스 */
.top-area .img-box {
    position: relative;
    width: 100%;
    height: 290px;
    border-radius: 20px;
    overflow: hidden;
    background: #fff;
}

.top-area .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* 이미지 안 영문 텍스트 */
.top-area .img-box strong {
    position: absolute;
    right: 28px;
    bottom: 18px;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: -1px;
}

.regeneten .img-box strong {
    color: #0059b8;
}

.biobrace .img-box strong {
    color: #320080;
}

.top-area  p {
    font-size: 19px;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: -0.5px;
    color: #333;
    margin-bottom: 30px;
    text-align: left;
    padding:20px;
}


.video-section {
    width: 100%;
    padding: 30px 0 80px;
    background: #fff;
}

.video-title-box {
    max-width: 1200px;
    margin: 0 auto 42px;
    padding: 0;
}

.video-title-box span {
    display: block;
    margin-bottom: 20px;
    color: #0982d5;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 8px;
}

.video-title-box h2 {
    margin: 0;
    color: #222;
    font-size: 36px;
    font-weight: 700;
    letter-spacing: -1.5px;
}

.video-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;

    display: flex;
    flex-wrap:wrap;
    justify-content: center;
    gap: 24px;
}

.main-video {
    width:48%;
    position: relative;
    overflow: hidden;
    border: 1px solid #111;
    aspect-ratio: 16 / 9;
    background: #111;

}

.main-video img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* 가운데 유튜브 버튼 */
.play-btn {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 74px;
    height: 52px;
    border: 0;
    border-radius: 14px;
    background: #ff0000;
    transform: translate(-50%, -50%);
    cursor: pointer;
}

.play-btn span {
    position: absolute;
    left: 52%;
    top: 50%;
    transform: translate(-50%, -50%);

    width: 0;
    height: 0;
    border-left: 18px solid #fff;
    border-top: 11px solid transparent;
    border-bottom: 11px solid transparent;
}

.video-list-wrap {
    position: relative;
    padding: 0;
}

.video-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.video-item {
    display: grid;
    grid-template-columns: 168px 1fr;
    gap: 20px;
    align-items: center;
    cursor: pointer;
}

.video-item .thumb {
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: #ddd;
}

.video-item .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.video-item:hover .thumb img,
.video-item.active .thumb img {
    transform: scale(1.08);
}
.video-item .txt {
    min-width: 0;
}
.video-item .txt h3 {
    margin: 0 0 12px;
    color: #0076c7;
    font-size: 19px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: -0.7px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.video-item .txt p {
    margin: 0;
    color: #777;
    font-size: 14px;
    line-height: 1.55;
    word-break: keep-all;
}

.video-arrow {
    position: absolute;
    left: 125px;
    z-index: 5;

    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    background: rgba(40, 40, 40, 0.78);
    color: #fff;
    font-size: 22px;
    line-height: 34px;
    cursor: pointer;
}

.video-arrow.up {
    top: -8px;
}

.video-arrow.down {
    bottom: -8px;
}

.rehab-section {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
    color: #111;
}

.diagnosis-box {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    border: 1px solid #cfe2f7;
    border-radius: 14px;
    padding: 40px 50px;
    width:100%;
    max-width:900px;
    box-sizing: border-box;
    margin:0 auto;
    box-shadow: 0 12px 35px rgba(0, 55, 120, 0.08);
}

.diagnosis-item {
    display: flex;
    align-items: center;
    gap: 15px;
}

.circle-icon {
    width: 105px;
    height: 105px;
    flex-shrink: 0;
    border-radius: 50%;
    background: linear-gradient(135deg, #0d68c7, #053f90);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}

.circle-icon svg {
    width: 54px;
    height: 54px;
    stroke-width: 1.5;
}

.diagnosis-item h3 {
    margin: 0 0 10px;
    font-size: 27px;
    font-weight: 800;
    color: #053f90;
    line-height: 1.3;
}

.diagnosis-item p {
    margin: 0;
    font-size: 18px;
    line-height: 1.65;
    color: #222;
}

.plus {
    width: 54px;
    height: 54px;
    margin: 0 auto;
    border-radius: 50%;
    /* background: #063f8d; */
    color: #063f8d;
    font-size: 44px;
    font-weight: 500;
    line-height: 48px;
    text-align: center;
}

.program-box {
    margin-top: 26px;
    background: linear-gradient(180deg, #f8fcff 0%, #ffffff 100%);
    border: 1px solid #cfe2f7;
    border-radius: 0px;
    padding: 40px 20px;
}

.section-title {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 24px;
    margin-bottom: 45px;
}

.section-title span {
    width: 84px;
    height: 1px;
    background: #aac7e8;
}

.section-title h2 {
    margin: 0;
    font-size: 28px;
    font-weight: 700;
    color: #0756b2;
    text-align: center;
    line-height: 1.35;
}

.program-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.program-card {
    padding: 0 20px;
    border-right: 1px solid #d4e2f2;
}

.program-card:last-child {
    border-right: 0;
}

.program-head {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    min-height: 104px;
    margin-bottom: 24px;
}

.line-icon {
    width: 45px;
    height: 45px;
    flex-shrink: 0;
    /* border: 2px solid #0756b2; */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0756b2;
    background: #fff;
}

.line-icon svg {
    width: 38px;
    height: 38px;
    stroke-width: 1.8;
}

.program-head h3 {
    margin: 4px 0;
    font-size: 18px;
    font-weight: 500;
    color: #333;
    line-height: 1.5;
}

.program-card img {
    width: 100%;
    height: 195px;
    object-fit: cover;
    border-radius: 10px;
    display: block;
}

.rosa-section {
    max-width: 1200px;
    width:94%;
    margin: 0 auto;
    padding: 35px 20px;
    color: #111;
}

.rosa-intro {
    display: grid;
    grid-template-columns: 1.25fr 0.9fr;
    gap: 30px;
    align-items: center;
}

.num {
    display: block;
    font-size: 58px;
    line-height: 1;
    font-weight: 800;
    color: #c9def5;
    letter-spacing: -2px;
}

.rosa-text h2 {
    margin: 5px 0 22px;
    font-size: 38px;
    line-height: 1.18;
    font-weight: 800;
    color: #003b82;
    letter-spacing: -1.5px;
}

.rosa-text p {
    margin: 0;
    font-size: 17px;
    line-height: 1.85;
    color: #111;
    letter-spacing: -0.4px;
}

.rosa-img img {
    width: 100%;
    object-fit: cover;
    border-radius: 10px;
    display: block;
}

.rosa-line {
    height: 1px;
    background: #b8d1ee;
    margin: 90px 0;
}

.rosa-title {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}

.rosa-title .num {
    font-size: 56px;
}

.rosa-title h2 {
    margin: 0;
    font-size: 32px;
    font-weight: 900;
    color: #003b82;
    letter-spacing: -1px;
}

.rosa-card-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.rosa-card {
    border: 1px solid #bcd7f2;
    border-radius: 10px;
    padding: 22px;
    background: #fff;
}

.card-title {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 60px;
    margin-bottom: 15px;
}

.card-title span {
    width: 54px;
    height: 54px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #0b62bf;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.card-title svg {
    width: 30px;
    height: 30px;
    stroke-width: 1.8;
}

.card-title h3 {
    margin: 0;
    font-size: 21px;
    line-height: 1.3;
    font-weight: 600;
    color: #003b82;
}

.rosa-card img {
    width: 100%;
    height: 185px;
    object-fit: cover;
    border-radius: 6px;
    display: block;
    margin-bottom: 18px;
}

.rosa-card p {
    margin: 0;
    font-size: 15px;
    line-height: 1.75;
    color: #111;
    letter-spacing: -0.4px;
}

.recommend-title {
    margin-bottom: 18px;
}

.recommend-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.recommend-card {
    min-height: 105px;
    border: 1px solid #bcd7f2;
    border-radius: 8px;
    padding: 18px 16px;
    display: flex;
    align-items: center;
    gap: 18px;
    background: #fff;
}

.recommend-card svg {
    width: 54px;
    height: 54px;
    flex-shrink: 0;
    color: #00459a;
    stroke-width: 1.6;
}

.recommend-card p {
    margin: 0;
    font-size: 16px;
    line-height: 1.55;
    font-weight: 600;
    color: #111;
    letter-spacing: -0.4px;
}
.rosa-top {background: #012350; display: flex; flex-wrap: wrap; justify-content: space-between;}
.rosa-top h2 {color:#fff; font-size:35px; font-weight:700; width:40%; padding:80px 40px 0;}
.rosa-top h2 span {color:#33c8f5;}

.tab-menu {
    display: flex;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}
.tab-menu li {
    flex: 1;
    height: 50px;
    line-height: 50px;
    text-align: center;
    font-size: 19px;
    font-weight: 700;
    color: #000;
    background: #fff;
    border-right: 1px solid #ddd;
    cursor: pointer;
}
.tab-menu li:first-child {
    border-left: 1px solid #ddd;
}
.tab-menu li.active {
    background: #0b86c1;
    color: #fff;
}
.youtube_wrap {
    width: 100%;
    max-width:900px;
    aspect-ratio: 16 / 9;
    margin:0 auto;
}
.youtube_wrap iframe {
    width: 100%;
    height: 100%;
    border: 0;
}
.procedure-info {
    width: 100%;
    max-width: 980px;
    margin: 40px auto;
    border-top: 2px solid #0982d5;
}
.info-row {
    display: flex;
    border-bottom: 1px solid #97c1f5;
}
.info-row.highlight {
    background: #eef7ff;
}
.info-title {
    width: 130px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 700;
    color: #111;
    padding: 24px 15px;
}
.info-content {
    flex: 1;
    padding: 20px 30px;
}
.info-content ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.info-content li {
    position: relative;
    padding-left: 14px;
    margin-bottom: 8px;
    font-size: 17px;
    line-height: 1.7;
    color: #111;
}
.info-content li:last-child {
    margin-bottom: 0;
}
.info-content li::before {
    content: "·";
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 700;
    color: #111;
}
/* 둘러보기 */
.hospital-tour {
    display: flex;
    width:100%;
    max-width: 1200px;
    margin: 0px auto 80px;
    background: #fff;
    gap: 12px;
}
.floor-tabs {
    width: 70px;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.floor-tabs button {
    height: 45px;
    border: 0;
    background: #f1f1f1;
    color: #aaa;
    font-size: 22px;
    font-weight: 600;
    cursor: pointer;
    transition: 0.25s;
}
.floor-tabs button.active {
    background: #008bd2;
    color: #fff;
}
.tour-slide-wrap {
    flex: 1;
    min-width: 0;
}
.tour-swiper {
    width: 100%;
    height: 640px;
    overflow: hidden;
}
.tour-swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.tour-swiper .swiper-pagination-bullet {
    background: #333;
    opacity: 0.4;
}
.tour-swiper .swiper-pagination-bullet-active {
    opacity: 1;
}
.tour-swiper .swiper-button-next,
.tour-swiper .swiper-button-prev {
    color: #999;
}
.tour-swiper .swiper-button-prev {
    opacity: 0;
    visibility: hidden;
    transform: translateX(-15px);
    transition: all 0.3s ease;
}
.tour-swiper .swiper-button-next {
    opacity: 0;
    visibility: hidden;
    transform: translateX(15px);
    transition: all 0.3s ease;
}
.tour-swiper:hover .swiper-button-prev,
.tour-swiper:hover .swiper-button-next {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}
/* 병원소개 */
.doc {
    display:flex;
    flex-wrap:wrap;
    justify-content: center;
    align-items: center;
}
.doc .left,
.doc .right {box-sizing: border-box;}
/*.doc .right {width:50%; box-sizing: border-box;}*/
.doc.about {background-color: #0982d5;}
.doc.greet {background-color: #f1f5f8;}
.doc .left {width:55%;  display:flex; flex-direction: column; justify-content: center; align-items: center;}
.doc.about .left img {width:80%; max-width:190px;}
.doc.about .left h2 {font-size:31px; font-weight:700; letter-spacing: -1px; color:#25ffff; margin:30px 0;}
.doc.about .left p {font-size:19px; font-weight:500; color:#fff;}
.doc .right {width:40%; margin-left: 2rem;}
.doc .right img {width:100%;}
.doc.greet .left h2 {font-size:32px; font-weight:600; letter-spacing: -0.7px; line-height: 1.45em;  margin:30px 0; color:#0982d5;}
.doc.greet .left p {font-size:17px; line-height: 1.6em;  }
.doc.greet .left p b {font-size:20px;}
.doc.greet .left {padding:5%; text-align: left;}
.ube-layout-section {
    width: 100%;
    margin: 0 auto;
    padding: 40px 0 80px;
}
.ube-row {
    display: grid;
    grid-template-columns: 1.25fr 0.95fr;
    gap: 70px;
    align-items: center;
}
.ube-row.reverse {
    grid-template-columns: 0.95fr 1.25fr;
}
.ube-row.reverse .ube-img {
    order: 1;
}
.ube-row.reverse .ube-text {
    order: 2;
}
.ube-num {
    display: block;
    font-size: 58px;
    line-height: 1;
    font-weight: 800;
    color: #c9def5;
    letter-spacing: -2px;
    margin-bottom: 4px;
}
.ube-text h2 {
    margin: 0 0 28px;
    font-size: 32px;
    line-height: 1.25;
    font-weight: 600;
    color: #003b82;
    letter-spacing: -1.5px;
}
.ube-text p {
    margin: 0;
    font-size: 17px;
    line-height: 1.9;
    color: #111;
    letter-spacing: -0.4px;
    word-break: keep-all;
}
.ube-img img {
    width: 100%;
    height: 355px;
    object-fit: cover;
    display: block;
    border-radius: 8px;
}
.ube-line {
    width: 100%;
    height: 1px;
    background: #b8d1ee;
    margin: 90px 0 35px;
}
/* 의료장비 */
.equipment-section {
    width: 100%;
    margin: 0 auto;
}
.equipment-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 34px 40px;
}
.equipment-card {
    border: 1px solid #d9d9d9;
    background: #fff;
    overflow: hidden;
}
.equipment-img {
    background: #fff;
    text-align: center;
    padding: 20px;
}
.equipment-img img {
    width: 100%;
    max-width: 420px;
    display: block;
    margin: 0 auto;
}
.equipment-content {
    background: #f7f7f7;
    padding: 25px 30px 35px;
    text-align: center;
}
.equipment-content h3 {
    font-size: 30px;
    font-weight: 600;
    margin-bottom: 20px;
    line-height: 1;
}
.equipment-content p {
    font-size: 17px;
    line-height: 1.7;
    color: #666;
    word-break: keep-all;
}
/* 오시는길 */
.traffic-wrap {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: stretch;
}
.traffic-left,
.traffic-right {
    height: 100%;
}
.traffic-left {
    display: grid;
    grid-template-rows: repeat(3, 1fr);
    gap: 15px;
}
.traffic-box {
    border: 1px solid #ddd;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
}
.traffic-box ul {
    flex: 1;
    padding: 20px 25px;
}
.traffic-right {
    border: 1px solid #ddd;
    display: grid;
    grid-template-rows: auto repeat(4, 1fr);
}
.out-item {
    padding: 25px;
    text-align: center;
    border-bottom: 1px dashed #ccc;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.out-item:last-child {
    border-bottom: 0;
}
.traffic-title{
    padding:15px 25px;
}
.traffic-title h3{
    font-size:20px;
    font-weight:700;
    display:flex;
    align-items:center;
    gap:8px;
    margin:0;
    line-height:1;
}
.traffic-title h3 svg{
    width:24px;
    height:24px;
    flex-shrink:0;
    stroke-width:2;
    vertical-align:middle;
}
.car .traffic-title{
    background:#f3da72;
}
.bus .traffic-title{
    background:#bfd98d;
}
.subway .traffic-title{
    background:#9cd7f7;
}
.traffic-title span{
    display:inline-block;
    background:#f39c12;
    color:#fff;
    padding:5px 12px;
    border-radius:4px;
    margin-right:10px;
    font-size:14px;
}
.traffic-box ul{
    padding:20px 25px;
}
.traffic-box li{
    display:flex;
    gap:15px;
    margin-bottom:15px;
    line-height:1.8;
}
.traffic-box .num{
    width:28px;
    height:28px;
    background:#bbb;
    color:#fff;
    font-size:14px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
}
.subway-list li{
    display:block;
    margin-bottom:10px;
}
.out-title{
    background:#3d6a89;
    color:#fff;
    text-align:center;
    font-size:20px;
    font-weight:700;
    padding:18px;
}
.out-item{
    padding:25px;
    text-align:center;
    border-bottom:1px dashed #ccc;
}
.out-item:last-child{
    border-bottom:0;
}
.out-item h4{
    display:inline-block;
    background:#e5e5e5;
    color:#333;
    padding:10px 30px;
    border-radius:10px;
    font-size:16px;
    margin-bottom:15px;
}
.out-item p{
    font-size:15px;
    line-height:1.8;
    color:#333;
}
.iframe_map iframe {width:100%; height:500px; margin-bottom:100px;}
.map .footer_info {width:50%;}
.map .footer_map {width:50%; background-image: url('/images/sub/map_pic-bba13dfcb26b57213bfb87cd21a8df72.jpg'); background-size: cover;}
/* 진행순서 */
.visit-guide {
    width: 100%;
    padding: 38px 0;
    box-sizing: border-box;
    position: relative;
}
.visit-guide::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 150px;
    width: 280px;
    height: 280px;
    transform: translateX(-50%);
    background: url("../images/watermark.png") no-repeat center / contain;
    opacity: 0.08;
    pointer-events: none;
}
.guide-box {
    position: relative;
    z-index: 1;
}
.guide-box h3 {
    font-size: 22px;
    font-weight: 600;
    /* color: #0062b3; */
    margin: 0 0 24px;
    letter-spacing: -1px;
}
.process-list {
    display: flex;
    width: 100%;
    margin-bottom: 10px;
}
.process-item {
    position: relative;
    flex: 1;
    height: 46px;
    background: #0076d9;
    color: #fff;
    font-size: 21px;
    font-weight: 700;
    text-align: center;
    line-height: 46px;
    margin-right: 20px;
    border-radius: 3px;
}
.process-item::after {
    content: "";
    position: absolute;
    right: -18px;
    top: 0;
    width: 0;
    height: 0;
    border-top: 23px solid transparent;
    border-bottom: 23px solid transparent;
    border-left: 20px solid #0075d9;
    z-index: 2;
}
.process-item:last-child {
    margin-right: 0;
}
.process-item:last-child::after {
    display: none;
}
.process-desc {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    text-align: center;
    margin-bottom: 20px;
}
.process-desc strong {
    display: block;
    font-size: 17px;
    color: #111;
    margin-bottom: 8px;
}
.process-desc p {
    font-size: 15px;
    line-height: 1.7;
    color: #333;
    text-align: left;
    margin: 0;
}
.line {
    height: 0px;
    background: #fff;
    box-shadow: 0 2px 0 rgba(255,255,255,0.7);
    margin: 24px 0 18px;
}
.notice-box {
    background: rgba(233, 233, 233, 0.5);
    border-radius: 14px;
    border: 1px solid #fff;
    padding: 18px 36px;
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 24px;
}
.notice-img {
    width: 110px;
    height: 80px;
    /* border-radius: 50%; */
    overflow: hidden;
    flex-shrink: 0;
    border: 1px solid #aaa;
}
.notice-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.notice-box p {
    font-size: 16px;
    line-height: 1.6;
    color: #333;
    font-weight: 500;
    margin: 0;
}
.notice-box b {
    color: #0072d8;
    font-weight: 600;
}
.revisit-text {
    padding-left: 20px;
}
.revisit-text p {
    font-size: 15px;
    line-height: 1.8;
    color: #111;
    font-weight: 500;
    margin: 0;
}
.red-text {
    color: #c2130a;
    font-size: 16px;
    font-weight: 600;
    margin: 26px 0 0;
}
/* 제증명발급 테이블 */
.consent-section {
    width: 100%;
    margin: 0 auto 10px;
}
.consent-title {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 12px;
    color: #111;
}
.consent-table-wrap {
    width: 100%;
    overflow-x: auto;
}
.consent-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    table-layout: fixed;
}
.consent-table th,
.consent-table td {
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 9px 8px;
    font-size: 15px;
    line-height: 1.65;
    color: #111;
    vertical-align: middle;
    word-break: keep-all;
}
.consent-table th {
    background: #f2f2f2;
    text-align: center;
    font-weight: 700;
}
.consent-table .center {
    text-align: center;
}
.consent-table .bold {
    font-weight: 700;
}
.consent-note {
    margin-top: 14px;
}
.consent-note p {
    font-size: 14px;
    line-height: 1.7;
    margin: 0 0 4px;
    color: #111;
}
/* 다운로드 버튼 */
.download-btn-wrap{
    display:flex;
    justify-content:center;
    gap:20px;
    margin:50px 0;
}
.download-btn{
    width:100%;
    max-width:310px;
    height:64px;
    background:#6f6f6f;
    color:#fff;
    font-size:20px;
    font-weight:600;
    text-decoration:none;
    border-radius:4px;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:all .3s ease;
}
.download-btn:hover{
    background:#0076d9;
}
.txtbox {padding:3%; border:1px solid #ddd;}
.txtbox p {font-size:16px; line-height: 1.9; }
/* 반응형 */
@media screen and (max-width: 1024px) {
    .location.fixed {position:fixed; top:60px;}
    .location .home {display: none;}
    .location .active .dep2 {margin-top:-18px;}
    .location .active .dep2 a {padding-left:11px;}

    .visualWrap{position:relative; height: 230px;  text-align: center; }
    .visualWrap img {width:100%; height:auto; display:none;}
    .visualWrap.sub1{background: url(/images/sub/subVisual1_m-85cbc3dbf5448ea1b42435664f50cbdb.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
    .visualWrap.sub2{background: url(/images/sub/subVisual2_m-4d949468ad03d73c1d190583b885f561.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
    .visualWrap.sub3{background: url(/images/sub/subVisual3_m-aa6cc4fea3a70b9dadefd934dad2948a.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
    .visualWrap.sub4{background: url(/images/sub/subVisual4_m-099e87670e4e067a56ab46a71f3ae543.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
    .visualWrap.sub5{background: url(/images/sub/subVisual5_m-7a941a3fbd3819aede317895c27d88e5.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
    .visualWrap.sub6{background: url(/images/sub/subVisual6_m-aa6cdbce769acc0800643834839ca849.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
    .visualWrap.sub7{background: url(../images/sub/subVisual7_m.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
    .visualWrap.sub8{background: url(../images/sub/subVisual8_m.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
    .visualWrap.sub9{background: url(../images/sub/subVisual9_m.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
    .visualWrap.sub10{background: url(../images/sub/subVisual10_m.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
    .visualWrap.sub11{background: url(../images/sub/subVisual118_m.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
    .visualWrap.sub12{background: url(../images/sub/subVisual12_m.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
    .visualWrap.sub13{background: url(../images/sub/subVisual13_m.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}

    .clinic-menu-wrap {
        width: calc(100% - 40px);
    }

    .clinic-menu li a {
        font-size: 15px;
    }

    .hours-hero {
        padding-top: 140px;
    }
    .hours-text h2 {font-size:25px;}
    .video-wrap {
        grid-template-columns: 1fr;
    }

    .video-arrow {
        display: none;
    }
    .target-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px 20px;
    }

    .goal-list {
        grid-template-columns: 1fr;
        gap: 18px;
    }


    .diagnosis-box {
        padding: 30px;
    }

    .program-card {
        padding: 0 25px;
    }

    .diagnosis-item h3 {
        font-size: 23px;
    }
    .rosa-intro {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .rosa-card-list {
        grid-template-columns: 1fr;
    }

    .recommend-list {
        grid-template-columns: repeat(2, 1fr);
    }

    .rosa-text h2 {
        font-size: 32px;
    }

    .rosa-title h2 {
        font-size: 27px;
    }
    .rosa-top h2 {font-size:25px; width:100%; padding:40px 30px;}
    .rosa-top .rosa-img img {width:100%;}
    .equipment-content h3{
        font-size:40px;
    }
    .equipment-content p{
        font-size:17px;
    }
    .doc.about .left h2 {font-size:25px;}
    .doc.about .left p {font-size:17px;}
    .doc.about .left img {max-width:150px;}
    .map .footer_info {width:100%;}
    .map .footer_map {width:100%;}

}


@media screen and (max-width: 768px) {
    .location .home + ul {display: flex;width: 100%;}
    .location .dep1 {min-width: auto;width: 100%;}
    .location .dep1.active {min-width: auto;}
    .location {height:55px;}
    .location .dep1{padding-left: 10px;  height:55px; line-height:55px;}
    .location .dep1 > a {line-height:58px;}
    .location .dep1 > a:before {top:28px;}
    .location .dep1 > a {font-size:14px;}
    .tit_sub {font-size:15px;}
    .visual-bg {
        height: 260px;
    }

    .visual-text {
        top: 58px;
    }

    .visual-text h2 {
        font-size: 28px;
    }

    .visual-text p {
        font-size: 15px;
    }

    .clinic-menu-wrap {
        height: auto;
        position: relative;
        width: 100%;
        transform: none;
        left: auto;
        bottom: auto;
    }

    .clinic-menu {
        flex-wrap: wrap;
    }

    .clinic-menu li {
        flex: 0 0 50%;
        height: 55px;
        border-bottom: 1px solid #eee;
    }

    .clinic-menu li.active a::after {
        width: 70%;
    }

    .clinic-content {
        padding: 45px 16px 35px;
    }

    .sub-tab {
        flex-wrap: wrap;
    }

    .sub-tab li {
        flex: 0 0 50%;
        border-bottom: 1px solid #cfcfcf;
    }

    .sub-tab li:nth-child(2n) {
        border-right: none;
    }

    .sub-tab li a {
        height: 52px;
        font-size: 14px;
    }
    .compare-grid {
        grid-template-columns: 1fr;
    }

    .compare-card {
        min-height: auto;
    }

    .top-area {
        height: auto;
        padding: 38px 24px 45px;
    }

    .top-area h3 {
        font-size: 25px;
        margin-bottom: 28px;
    }
    .top-area p {font-size:14px;}

    .img-box {
        height: 260px;
        border-radius: 32px;
    }

    .img-box strong {
        font-size: 28px;
    }

    .info-area {
        min-height: auto;
        padding: 42px 34px;
    }

    .info-area p {
        font-size: 23px;
        margin-bottom: 42px;
    }

    .info-area .desc {
        font-size: 22px;
    }

    .info-area .desc span {
        font-size: 19px;
    }

    .hours-text h2 {font-size:20px; line-height: 1.5;}
    .hours-hero {
        padding-top: 120px;
    }
    .video-section {
        padding: 10px 0 30px;
    }

    .video-title-box h2 {
        font-size: 28px;
        line-height: 1.35;
    }

    .video-title-box span {
        font-size: 11px;
        letter-spacing: 4px;
    }

    .video-item {
        grid-template-columns: 120px 1fr;
        gap: 14px;
    }

    .video-item .txt h3 {
        font-size: 16px;
        margin-bottom: 6px;
    }

    .video-item .txt p {
        font-size: 13px;
        line-height: 1.45;
    }

    .play-btn {
        width: 60px;
        height: 42px;
    }

    .schedule-table th {padding: 5px; font-size: 12px;}
    .schedule-table td {padding: 5px; font-size: 12px;}
    .schedule-table td strong.doc-name {font-size:13px;}
    .schedule-wrap .doctor {width: 77px;}
    .schedule-wrap .badge {font-size:17px;}
    .cartilage-section {
        padding: 50px 16px;
    }

    .section-title h2 {
        font-size: 28px;
    }

    .section-title span {
        width: 45px;
    }

    .section-desc {
        font-size: 15px;
        line-height: 1.6;
    }

    .target-list {
        grid-template-columns: 1fr;
    }


    .target-text h3,
    .goal-card h3 {
        font-size: 16px;
    }

    .target-text p,
    .goal-card p {
        font-size: 15px;
    }

    .goal-card {
        min-height: auto;
        padding: 30px 18px;
    }
    .diagnosis-box {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .plus {
        margin: 0 auto;
    }
    .diagnosis-box {padding:20px;}
    .program-list {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .program-card {
        padding: 0;
        border-right: 0;
        border-bottom: 1px solid #d4e2f2;
        padding-bottom: 30px;
    }

    .program-card:last-child {
        border-bottom: 0;
        padding-bottom: 0;
    }
    .rehab-section {
        padding: 30px 15px;
    }

    .diagnosis-item {
        flex-direction: column;
        text-align: center;
    }

    .circle-icon {
        width: 86px;
        height: 86px;
    }

    .circle-icon svg {
        width: 44px;
        height: 44px;
    }

    .diagnosis-item h3 {
        font-size: 21px;
    }

    .diagnosis-item p {
        font-size: 15px;
    }

    .program-box {
        padding: 28px 20px;
    }

    .section-title span {
        display: none;
    }

    .section-title h2 {
        font-size: 20px;
    }

    .program-head {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap:10px;
        margin-bottom:15px;
    }

    .program-head h3 {
        font-size: 16px;
    }

    .program-card img {
        height: 180px;
    }

    .rosa-section {
        padding: 30px 16px;
    }

    .num,
    .rosa-title .num {
        font-size: 46px;
    }

    .rosa-text h2 {
        font-size: 28px;
    }

    .rosa-text p {
        font-size: 15px;
    }


    .rosa-title {
        align-items: flex-start;
    }

    .rosa-title h2 {
        font-size: 23px;
        line-height: 1.3;
    }

    .recommend-list {
        grid-template-columns: 1fr;
    }
    .spine-title h2 {font-size:29px;}
    .main-video {width:100%;}

    .spine-doctor-list {
        grid-template-columns: repeat(1, 1fr);
        gap: 10px;
    }
    .spine-title h3 {font-size:25px;}
    .target-card img {max-width:200px;}
    .target-text {padding:20px 5px 20px;}
    .tab-menu {
        overflow-x: auto;
    }
    .tab-menu li {
        flex: 0 0 auto;
        min-width: 170px;
        font-size: 14px;
    }
    .procedure-info {
        margin: 25px auto;
        border-top-width: 2px;
    }
    .info-row {
        display: block;
    }
    .info-title {
        width: 100%;
        justify-content: flex-start;
        padding: 16px 20px 8px;
        font-size: 18px;
    }
    .info-content {
        padding: 8px 20px 18px;
    }
    .info-content li {
        font-size: 15px;
        line-height: 1.6;
    }
    .hospital-tour {
        flex-direction: column;
        margin: 40px 0px;
    }
    .floor-tabs {
        width: 100%;
        flex-direction: row;
        overflow-x: auto;
        gap: 4px;
    }
    .floor-tabs button {
        min-width: 31px;
        height: 42px;
        font-size: 18px;
    }
    .tour-swiper {
        height: 280px;
    }
    .ube-layout-section {
        padding: 30px 0 60px;
    }
    .ube-row,
    .ube-row.reverse {
        display: flex;
        flex-direction: column;
        gap: 24px;
    }
    /* 모바일에서는 사진이 무조건 텍스트 위 */
    .ube-row .ube-img,
    .ube-row.reverse .ube-img {
        order: 1;
        width: 100%;
    }
    .ube-row .ube-text,
    .ube-row.reverse .ube-text {
        order: 2;
        width: 100%;
    }
    .ube-img img {
        height: auto;
        aspect-ratio: 16 / 10;
    }
    .ube-num {
        font-size: 46px;
    }
    .ube-text h2 {
        font-size: 23px;
        margin-bottom: 18px;
    }
    .ube-text p {
        font-size: 15px;
        line-height: 1.8;
    }

    .ube-line {
        margin: 55px 0 30px;
    }

    .equipment-grid{
        grid-template-columns:1fr;
        gap:25px;
    }

    .equipment-content{
        padding:20px;
    }

    .equipment-content h3{
        font-size:23px;
        margin-bottom:15px;
    }

    .equipment-content p{
        font-size:14px;
        line-height:1.7;
    }

    .traffic-wrap{
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .traffic-left,
    .traffic-right{
        width:100%;
    }

    .traffic-title h3{
        font-size:20px;
    }

    .out-title{
        font-size:20px;
    }

    .out-item h4{
        font-size:16px;
        padding:10px 20px;
    }

    .out-item p{
        font-size:15px;
    }

    .doc .left, .doc .right {
        width: 100%;
    }
    .doc .left {padding:40px 15px;}
    .doc.about .left h2 {font-size:21px; margin:20px;}
    .doc.about .left p {font-size:14px;}
    .doc.about .left img {max-width:110px;}
    .gap100 {height:50px;}
    .tit {font-size:25px; margin-bottom:20px;}
    .doc.greet .left h2 {font-size:22px;}
    .doc.greet .left p, .ube-text p {font-size:14px;}

    .visit-guide {
        padding: 25px 15px;
        margin-bottom: 0px;
        overflow: hidden;
    }

    .guide-box h3 {
        font-size: 19px;
        line-height: 1.4;
        margin-bottom: 18px;
    }

    .process-list,
    .process-desc {
        min-width: 720px;
    }

    .process-list-wrap {
        overflow-x: auto;
    }

    .process-list {
        display: flex;
        flex-direction: row;
        gap: 0;
        margin-bottom: 10px;
    }

    .process-item {
        height: 42px;
        line-height: 42px;
        font-size: 17px;
        margin-right: 18px;
        flex: 1;
    }

    .process-item::after {
        display: block;
        right: -18px;
        border-top-width: 21px;
        border-bottom-width: 21px;
    }

    .process-desc {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 10px;
        text-align: center;
    }

    .process-desc strong {
        font-size: 14px;
    }

    .process-desc p {
        font-size: 13px;
        line-height: 1.6;
    }
    .notice-box {
        flex-direction: column;
        text-align: center;
        padding: 22px 18px;
    }

    .notice-box p {
        font-size: 15px;
    }

    .consent-section {
        margin-bottom: 60px;
    }

    .consent-title {
        font-size: 14px;
    }

    .consent-table th,
    .consent-table td {
        font-size: 13px;
        padding: 8px 6px;
        line-height: 1.55;
    }

    .consent-note p {
        font-size: 13px;
    }

    .download-btn-wrap{
        flex-direction:column;
        align-items:center;
        gap:12px;
    }

    .download-btn{
        max-width:100%;
        font-size:16px;
        height:56px;
    }

    .txtbox p {font-size:14px;}
    .txtbox.text-center {padding:0;}
    .map .footer_map.bg {order:0;}
    .map .footer_info {order:1;}
}

@media screen and (max-width:486px) {
    .location .dep1 > a,
    .location .active .dep2 a {font-size:12px;}
    .spine-title h2 {font-size:23px;}
    .spine-title h3 {font-size:20px;}
    .treat_section h5 {font-size:15px;}
    .rosa-top h2,
    .rosa-text h2 {font-size:20px;}
    .card-title h3 {font-size:18px;}
    .goal-list2 .goal-card .goal-icon {width:100%;}
    .goal-list2 .goal-card h3,
    .goal-list2 .goal-card h3 span {font-size:14px;}
    .imgbox ul li {width:50%;}
    .traffic-title h3, .out-title {font-size:16px;}
    .traffic-box ul {padding:20px 10px;}
    .traffic-title {padding:10px 10px;}
}
