@charset "utf-8";


.maxWrap {max-width: 1200px;margin: 0 auto; padding: 0; text-align: center;}
.venderWrap{ margin-bottom: 0px;}
.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.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
.visualWrap.sub3{background: url(../images/sub/subVisual3.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
.visualWrap.sub4{background: url(../images/sub/subVisual4.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
.visualWrap.sub5{background: url(../images/sub/subVisual5.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
.visualWrap.sub6{background: url(../images/sub/subVisual6.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: 26px;  text-align:center;}

/* 타이틀/서브 */
.hours-text h2{ margin:0; color:#fff; font-size: 34px; 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,.22); 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: center; padding:0px 0 15px; }
h3.tit{font-size: 32px; font-weight: 600; color: #222; display: inline-block;position: relative; margin-bottom: 35px; letter-spacing:-2px;width:100%;}
h3.tit2{font-size: 28px; font-weight: 600;  display: inline-block;position: relative; margin-bottom: 35px; letter-spacing:-2px; width:100%;}

h5.tit_sub {font-size:19px; line-height:1.6em; margin-bottom:40px;}
/* .titleWrap div > img {width:100%; margin:20px 0;} */
h4.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;}
.c-darkbule {color:#0061d9;}
.c-orange {color:#eb6100;}
.c-blue {color:#0297b7;}
.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: 34px;
    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;}

/* 반응형 */
@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.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
	.visualWrap.sub3{background: url(../images/sub/subVisual3_m.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
	.visualWrap.sub4{background: url(../images/sub/subVisual4_m.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
	.visualWrap.sub5{background: url(../images/sub/subVisual5_m.jpg)no-repeat 50% 50%; text-align: center; background-size: cover;}
	.visualWrap.sub6{background: url(../images/sub/subVisual6_m.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%;}

}


@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;}
	
	.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;}
}

@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;}
}
