@charset "utf-8";
/* =====================================================================
   생생병원 서브페이지 통합 스타일
   saengsaeng-sub/css 의 common.css + sub.css + treatment.css 병합본
   - 헤더/메가메뉴/전체메뉴/퀵/푸터/리셋은 main.css·reset.css 가 소유하므로 제외
   - 나머지 규칙은 .sub (서브 본문 래퍼) 스코프로 한정 → 메인/공통 영역 영향 없음
   - 이미지 경로는 /img/sub/ 기준 webp 로 치환
   ===================================================================== */

/* ---------------- common.css ---------------- */
/* 서브페이지 전용 토큰 (전역 :root 를 덮지 않도록 .sub 에 한정) */
.sub{
  --primary:#e7336e;
  --navy:#142d42;
  --navy-strong:#0e2233;
  --title:#1b2436;
  --black:#000;
  --body:#5b6678;
  --body2:#5a5c63;
  --gray:#70737c;
  --gray2:#878a93;
  --gray3:#6d6d6d;
  --gray4:#8e8e8e;
  --line:#e1e2e4;
  --line2:#e3e3e3;
  --line3:#e7e9ef;
  --bg:#f7f7f8;
  --font:'Pretendard','Pretendard Variable',-apple-system,BlinkMacSystemFont,'Malgun Gothic',sans-serif;
  --t:all .3s ease;
  --inner:105rem;
  --header-h:var(--hd);
}
.sub .pc{display: block !important;}
.sub .pc2{display: block !important;}
.sub .mob{display: none !important;}
.sub .mob2{display: none !important;}
.sub .pt_0{padding-top: 0 !important;}
.sub .pb_0{padding-bottom: 0 !important;}
.sub .mt_0{margin-top: 0 !important;}
.sub .mb_0{margin-bottom: 0 !important;}
.sub .mt_10{margin-top: 0.625rem !important;}
.sub .mt_20{margin-top: 1.25rem !important;}
.sub .mt_30{margin-top: 1.875rem !important;}
/* 반응형에서 값이 달라지는 여백 : PC 값은 여기, 모바일 값은 아래 미디어쿼리에서 관리 */
.sub .mt_sec{margin-top:7.5rem !important;}     /* 섹션 사이 간격 */
.sub .pt_sec{padding-top:7.5rem !important;}    /* 섹션 상단 여백 */
.sub .pt_panel{padding-top:5rem !important;}    /* 탭 패널 본문 상단 여백 */
.sub .inner{width:100%;max-width:var(--inner);margin:0 auto;padding:0 2.5rem;}
.sub .inner_1400{max-width: 90rem;}
.sub .blind{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
.sub .ta-l{text-align: left !important;}
.sub .ta-c{text-align:center;}
.sub .ta-c.sec_head, .sub .sec_head.ta-c{align-items:center;}
.sub .ta-c .circle_list, .sub .ta-c .spec_row{text-align:center;}
.sub .btn_line, .sub .btn_fill{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:.5rem 1rem;font-size:1rem;line-height:1.5;white-space:nowrap;transition:var(--t);}
.sub .btn_line{border:1px solid #000;border-radius:.75rem;}
.sub .btn_line:hover{background:#000;color:#fff;}
.sub .btn_line:hover .ico{filter:brightness(0) invert(1);}
.sub .btn_fill{background:var(--primary);border-radius:.5rem;color:#fff;}
.sub .btn_fill:hover{background:#cf2760;}
.sub .ico{display:block;width:1.25rem;height:1.25rem;flex-shrink:0;}
.sub .menu_dim{position:fixed;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:var(--t);z-index:990;}
.sub .menu_dim.on{opacity:1;visibility:visible;}
.sub{padding-top:var(--header-h);}
.sub .visual{padding:2.5rem 0 6.25rem;}
.sub .visual .inner{display:flex;flex-direction:column;gap:3.75rem;}
.sub .bread{position:relative;display:flex;align-items:center;gap:2.75rem;}
.sub .bread .home{display:flex;align-items:center;justify-content:center;width:1.5rem;flex-shrink:0;}
.sub .bread .home img{width: 100%;}
.sub .bread_item{position:relative;}
.sub .bread_item > button{position:relative;display:flex;align-items:center;justify-content:space-between;gap:2rem;width:12.5rem;font-size:1rem;font-weight:700;line-height:1.5;color:#111;text-align:left;}
.sub .bread_item > button::before{content:'';position:absolute;left:-1.625rem;top:50%;width:.25rem;height:.25rem;margin-top:-.125rem;border-radius:50%;background:#C2C4C8;}
.sub .bread_item:first-of-type > button::before{background:#6D6D6D;}
.sub .bread_item > button::after{content:'';width:.5rem;height:.5rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);flex-shrink:0;transition:transform .25s; margin-right: 0.25rem;}
.sub .bread_item.on > button::after{transform:rotate(-135deg) translateY(-2px);}
.sub .bread_item.on > button{color:var(--primary);}
.sub .bread_item ul{position:absolute;left:0;top:calc(100% + .75rem);width:12.5rem;background:#fff;border:1px solid var(--line);border-radius:.75rem;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-.5rem);transition:var(--t);z-index:20;}
.sub .bread_item.on ul{opacity:1;visibility:visible;transform:translateY(0);}
.sub .bread_item ul li + li{border-top:1px solid var(--line);}
.sub .bread_item ul a{display:block;padding:.75rem .875rem;font-size:1rem;font-weight:500;line-height:1.25;color:var(--gray);transition:var(--t);}
.sub .bread_item ul a:hover{background:var(--bg);color:var(--navy);}
.sub .bread_item ul a.cur{background:var(--primary);color:#fff;}
.sub .pill_tabs{display:none;flex-wrap:wrap;gap:.25rem;}
.sub .pill_tabs a{display:inline-flex;align-items:center;padding:.5rem 1rem;border:1px solid var(--line3);border-radius:6.25rem;font-size:.875rem;line-height:1.43;color:var(--gray4);background:#fff;}
.sub .pill_tabs a.on{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:700;}
.sub .visual_txt{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;}
.sub .visual_txt .label{font-size:.875rem;font-weight:700;line-height:1.43;color:var(--primary);}
.sub .visual_txt h2{font-size:2.8125rem;font-weight:700;line-height:1.15;letter-spacing:-.02em;color:var(--title);}
.sub .visual_txt .desc{font-size:1.125rem;line-height:1.5;color:var(--body);}
.sub .sec{padding:7.5rem 0;}
.sub .sec.gray{background:var(--bg);}
.sub .sec_head{display:flex;flex-direction:column;gap:.875rem;}
.sub .sec_head.center{align-items:center;text-align:center;}
.sub .sec_head .label{font-size:1rem;font-weight:700;line-height:1.5;color:var(--primary);}
.sub .sec_head h3{font-size:2.25rem;font-weight:700;line-height:1.22;letter-spacing:-.015em;color:var(--black);}
.sub .sec_head h3 em{font-style:normal;color:var(--primary);}
.sub .txt_body{font-size:1.25rem;line-height:1.45;letter-spacing:-.005em;color:var(--body);}
.sub .txt_body strong{font-weight:700;color:var(--navy);}
.sub .note{font-size:1rem;line-height:1.5;color:var(--body);text-align:center;}
.sub .imgbox{position:relative;border-radius:1.875rem;overflow:hidden;background:var(--bg);}
.sub .imgbox img{width:100%;}
.sub .imgbox.line{background:#fff;border:1px solid var(--line);}
.sub .imgbox.dim10::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.1);}
.sub .imgbox.max-w{max-width: 53.125rem; margin: 0 auto;}
.sub .mi{display:inline-block;width:1.25rem;height:1.25rem;flex-shrink:0;background:currentColor;
  -webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;
  mask-repeat:no-repeat;mask-position:center;mask-size:contain;transition:var(--t);}
@media (max-width:1024px){
/* 서브페이지 전용 토큰 (전역 :root 를 덮지 않도록 .sub 에 한정) */
.sub{--header-h:3.75rem;}
.sub .inner{padding:0 1.25rem;}
.sub .pc{display: none !important;}
.sub .mob{display: block !important;}
.sub .visual{padding:1.25rem 0 2.5rem;}
.sub .visual .inner{gap:0;}
.sub .bread{gap:.75rem; margin-bottom: 1.75rem;}
.sub .bread_item{width: 9.5rem;}
.sub .bread_item > button{width: 100%;gap:.5rem;font-size:.875rem;}
.sub .bread_item > button::before{display: none;}
.sub .bread_item ul{left:0;width:100%;max-width:20rem;top:calc(100% + .5rem);}
.sub .bread.has-tabs .bread_item:last-child{display:none;}
.sub .pill_tabs{display:flex; margin-bottom: 2rem;}
.sub .visual_txt{gap:.5rem;}
.sub .visual_txt .label{font-size:.75rem;line-height:1.33;}
.sub .visual_txt h2{font-size:1.75rem;line-height:1.29;letter-spacing:-.01em;}
.sub .visual_txt .desc{font-size:.875rem;line-height:1.43;}
.sub .sec{padding:3.75rem 0;}
.sub .mt_sec{margin-top:3.75rem !important;}
.sub .pt_sec{padding-top:3.75rem !important;}
.sub .pt_panel{padding-top:2.5rem !important;}
.sub .sec_head{gap:.5rem;}
.sub /* .txt_body.ta-c, .sub .note{text-align:left;}
.sub */
  .sec_head .label{font-size:.875rem;line-height:1.43;}
.sub .sec_head h3{font-size:1.5rem;line-height:1.33;letter-spacing:-.01em;}
.sub .txt_body{font-size:.875rem;line-height:1.43;letter-spacing:0;}
.sub .note{font-size:.8125rem;}
.sub .imgbox{border-radius:.875rem;}
}
@media (max-width:768px){
.sub .pc2{display: none !important;}
.sub .mob2{display: block !important;}
}

/* ---------------- sub.css ---------------- */
.sub .up{opacity:0;transform:translateY(2rem);transition:opacity .8s ease,transform .8s ease;}
.sub .up.show{opacity:1;transform:none;}
.sub .up.d1{transition-delay:.1s;}
.sub .up.d2{transition-delay:.2s;}
.sub .up.d3{transition-delay:.3s;}
.sub .img_row{display:flex;}
.sub .img_row > *{min-width:0;}
.sub .img_row.eq{gap:1.75rem;align-items:flex-start;}
.sub .img_row.eq > *{flex:1 1 0;}
.sub .pg_micro-endoscopy .img_row{gap: 2.5rem;}
.sub .pg_micro-endoscopy .img_row > .imgbox:nth-child(1){flex:605;}
.sub .pg_micro-endoscopy .img_row > .imgbox:nth-child(2){flex:955;}
.sub .col2{display:flex;gap:6.25%;}
.sub .col2 > .col_tit{width:29.0625%;flex-shrink:0;}
.sub .col2 > .col_body{width:64.6875%;display:flex;flex-direction:column;gap:1.75rem;}
.sub .col_tit h3{font-size:2rem;font-weight:700;line-height:1.25;letter-spacing:-.015em;}
.sub .col_tit h3 em{font-style:normal;color:var(--primary);}
.sub .lead{font-size:1.5rem;font-weight:700;line-height:1.33;letter-spacing:-.01em;color:var(--black);}
.sub .sign{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;}
.sub .sign .role{font-size:1.125rem;line-height:1.5;color:var(--body);}
.sub .sign .name{font-size:1.75rem;font-weight:700;line-height:1.29;letter-spacing:-.01em;}
.sub .ci_box{position:relative;display:flex;align-items:center;justify-content:center;height:30rem;background:#fff;border:1px solid var(--line2); border-radius:1.5rem;overflow:hidden;}
.sub .ci_box::before{content:'';position:absolute;inset:-1px;background-image:repeating-linear-gradient(to right,#e3e3e3 0 1px,transparent 1px 24px),repeating-linear-gradient(to bottom,#e3e3e3 0 1px,transparent 1px 24px);}
.sub .ci_box img{position:relative;width:29.375rem;max-width:70%;}
.sub .cta{position:relative;background-color:var(--navy);background-position:center;background-size:cover;background-repeat:no-repeat;color:#fff;text-align:center; min-height: 40.625rem; display: flex; align-items: center; justify-content: center;}
.sub .cta::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,var(--dim,.4));}
.sub .cta .inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:3rem;}
.sub .cta .label{font-size:1rem;font-weight:700;line-height:1.5;color:var(--primary);}
.sub .cta h3{margin-top:.75rem;font-size:2.8125rem;font-weight:700;line-height:1.15;letter-spacing:-.02em;}
.sub .cta .desc{margin-top:1rem;font-size:1.25rem;line-height:1.45;letter-spacing:-.005em;color:var(--bg);}
.sub .cta_btns{display:flex;gap:.75rem;}
.sub .cta_btns a{display:inline-flex;align-items:center;gap:.625rem;padding:.75rem 1.25rem;border-radius:1.875rem;font-size:1.125rem;line-height:1.5;transition:var(--t);color: #FFF;}
.sub .cta_btns .fill{background:var(--primary);font-weight:500;}
.sub /* .cta_btns .fill:hover{background:#cf2760;}
.sub */
.cta_btns .line{border:1px solid #fff;font-weight:700;}
.sub .cta_btns .fill .mi{-webkit-mask-image:url('/img/sub/reserve.svg');mask-image:url('/img/sub/reserve.svg');}
.sub .cta_btns .line .mi{-webkit-mask-image:url('/img/sub/ico/inquiry.svg');mask-image:url('/img/sub/ico/inquiry.svg');}
.sub .cta_btns .line.tel .mi{-webkit-mask-image:url('/img/sub/call.svg');mask-image:url('/img/sub/call.svg');}
.sub .cta_btns .line.time .mi{-webkit-mask-image:url('/img/sub/ico/clock.svg');mask-image:url('/img/sub/ico/clock.svg');}   /* 진료 시간 안내 */
.sub .cta_btns .line.map .mi{-webkit-mask-image:url('/img/sub/ico/cta-pin.svg');mask-image:url('/img/sub/ico/cta-pin.svg');}   /* 찾아오시는 길 (여백 줄인 CTA 전용 핀) */
.sub /* .cta_btns .line:hover{background:#fff;color:var(--navy);}
.sub */


.circle_list{display:flex;flex-wrap:wrap;justify-content:center;gap:1.25rem;}
.sub .circle_list.center{justify-content: center !important;}
.sub .circle_list li{position:relative;z-index:0;display:flex;align-items:center;justify-content:center;width:13rem;height:13rem;flex-shrink:0;border-radius:50%;background:#fff;text-align:center;padding:.5rem;font-size:1.5rem;font-weight:700;line-height:1.33;letter-spacing:-.01em;transition:color .3s ease;color: rgba(0,0,0,0.7);}
.sub .circle_list li::before{content:'';position:absolute;inset:0;z-index:-1;border-radius:50%;background:linear-gradient(180deg,var(--primary) 0%,rgba(231,51,110,0) 100%);opacity:0;transition:opacity .3s ease;}
.sub .circle_list li:hover::before{opacity:1;}
.sub .circle_list li:hover{color:#fff;}
.sub .num_card{padding:2.25rem;background:#fff;border:1px solid var(--line);border-radius:1rem;}
.sub .num_card.gray{background: #F9F9F9; border: none;}
.sub .num_card + .num_card{margin-top:1.25rem;}
.sub .card_grid .num_card + .num_card, .sub .card_grid .num_card{margin-top:0;}
.sub .num_head{display:flex;align-items:flex-start;gap:.75rem;}
.sub .imgbox + .num_head{margin-top:3rem;}
.sub .num_head .mark{flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:1.75rem;height:1.75rem;margin-top:.125rem;padding:0 .5rem;background:var(--primary);border-radius:1.25rem;color:#fff;font-size:.875rem;font-weight:700;line-height:1.43;}
.sub .num_head h4{font-size:1.5rem;font-weight:700;line-height:1.33;letter-spacing:-.01em;color:var(--navy);}
.sub .num_desc{margin-top:1rem;font-size:1.25rem;line-height:1.45;letter-spacing:-.00625em;color:var(--body);}
.sub .num_desc.sm{margin-top:1rem;font-size:1rem;line-height:1.45;letter-spacing:-.005em;color:var(--body);}
/* 수술의 핵심 요약 박스 */
.sub .key_box{margin-top:1.25rem;padding:1.25rem 1.5rem;border-radius:.75rem;background:var(--bg); border: 1px dashed #5a6975;}
.sub .sec.gray .key_box{background:#fff;}
.sub .key_box strong{display:block;font-size:1.125rem;font-weight:700;line-height:1.45;color:var(--navy);}
.sub .key_box p{margin-top:.5rem;font-size:1.125rem;line-height:1.5;color:var(--body);}
.sub_list{display:flex;flex-direction:column;gap:.75rem;margin-top:1.75rem;}
.sub_list > li{padding:1.25rem 1.5rem;background:var(--bg);border-radius:.5rem;}
.sub_list > li.fd-c{display: flex; flex-direction: column; align-items: flex-start; gap: 1rem;}
.sub_list > li .imgbox{width: 100%; border-radius: 0.875rem;}
.sub_list strong{display:block;font-size:1.25rem;font-weight:700;line-height:1.45;letter-spacing:-.005em;color:var(--navy);}
.sub_list span{display:block;margin-top:.25rem;font-size:1.125rem;line-height:1.5;color:var(--body2);}
.sub_list span.has_list{margin-top:.5rem;}   /* 내부에 체크리스트가 들어가는 경우 */
/* 세로 단계 흐름 : sub_list 안에서 핑크 원 번호로 단계 순서 표시 */
.sub_list .proc_list{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;}
.sub_list .proc_list > li{display:flex;align-items:flex-start;gap:.875rem;padding:1rem 1.25rem;background:#fff;border-radius:.5rem;}
.sub_list .proc_list .mark{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--primary);color:#fff;font-size:.875rem;font-weight:700;line-height:1;}
.sub_list .proc_list b{display:block;font-size:1.125rem;font-weight:700;line-height:1.45;color:var(--navy);}
.sub_list .proc_list p{margin-top:.25rem;font-size:1rem;line-height:1.5;color:var(--body2);}
.sub .thumb{flex-shrink:0;width:12.5rem;overflow:hidden;background:#0d1b35;}
.sub .thumb img{display:block;width:100%;}
.sub .num_card.row{display:flex;align-items:flex-start;gap:2rem;}
.sub .num_card.row > .ct{flex:1;min-width:0;}
.sub .num_card.row .num_desc{margin-top:.875rem;}
.sub_list > li.row{display:flex;align-items:center;gap:2rem;}
.sub_list > li.row > .tx{flex:1;min-width:0;}
.sub .step_wrap > .st_tit{margin-bottom:1.5rem;font-size:1.75rem;font-weight:700;line-height:1.33;letter-spacing:-.01em;color:#fff;}
.sub .step_list{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;}
.sub .step_item{padding:2.25rem 2rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);border-radius:1rem;}
.sub .step_item .st{display:block;font-size:.8125rem;font-weight:700;line-height:1.45;color:#FFF;}
.sub .step_item h4{margin-top:.25rem;font-size:1.375rem;font-weight:700;line-height:1.45;letter-spacing:-.005em;color:#fff;}
.sub .step_item p{margin-top:.75rem;font-size:1rem;line-height:1.5;color:var(--bg);}
.sub .check_list{display:flex;flex-direction:column;gap:.25rem;}
.sub .check_list li{position:relative;padding-left:1.75rem;}
.sub .check_list li::before{content:'';position:absolute;left:0;top:.25em;width:1.125rem;height:1.125rem;background:var(--primary);border-radius:50%;}
.sub .check_list li::after{content:'';position:absolute;left:.3125rem;top:.6em;width:.5rem;height:.25rem;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);}
.sub .tbl_wrap{overflow-x:auto;}
.sub .cmp_wrap > .tbl_wrap{-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.sub .cmp_wrap > .tbl_wrap::-webkit-scrollbar{display:none;}
.sub .cmp_wrap.is-scrollable > .tbl_wrap{cursor:grab;}
.sub .cmp_wrap.is-dragging > .tbl_wrap{cursor:grabbing;user-select:none;}
.sub .cmp_wrap.is-dragging > .tbl_wrap *{pointer-events:none;}
.sub .tbl{min-width:37.5rem;border-top:2px solid var(--navy); border-collapse: collapse;}
.sub .tbl_wrap > .tbl{width:100%;}  /* 이용안내·내과 등 밝은 섹션 표는 래퍼 폭에 맞춤 */
.sub .tbl th, .sub .tbl td{padding:1.25rem 1rem;border-bottom:1px solid var(--line);font-size:1.125rem;line-height:1.5;text-align:center;}
.sub .tbl th{background:var(--bg);font-weight:700;color:var(--navy);}
.sub .tbl td{color:var(--body);}
.sub .tbl thead th{font-size: 1.25rem;}
.sub .tbl tbody th{background:#fff;text-align:left;}
.sub .tbl tbody tr:last-child th,
.sub .tbl tbody tr:last-child td{border-bottom: none;}
/* 상단 라운드 + 네이비 헤더 표 */
.sub .tbl_round{border-radius:1.25rem; border:1px solid var(--line);}
.sub .tbl_round .tbl{border-top:0;}
.sub .tbl_round .tbl thead th{background:var(--navy-strong);color:#fff;border-bottom:0;}
.sub .tbl_round .tbl thead th + th{border-left: 1px solid #28425A;}
.sub .tbl_round .tbl tbody th{background:var(--bg); text-align: center; border-right:1px solid var(--line); color: #000;}
.sub .sec.gray .tbl_round .tbl tbody th{background:#FFF;}
.sub .tbl_round .tbl tbody td{background:#fff;}
.sub .tbl_round .tbl tbody td + td{border-left:1px solid var(--line);}
/* 어두운 섹션 위의 정보 표 */
.sub .sec_dark .tbl_wrap{background:#fff;border-radius:1.25rem;}
.sub .sec_dark .tbl{width:100%;min-width:56rem;border-top:0;border-collapse:collapse;}
.sub .sec_dark .tbl thead th{background:var(--navy-strong);color:#fff;border-bottom:0;}
.sub .sec_dark .tbl tbody th{background:var(--bg);text-align:center;}
.sub .sec_dark .tbl tbody tr:last-child th,
.sub .sec_dark .tbl tbody tr:last-child td{border-bottom:0;}
.sub .card_grid{display:grid;gap:1.25rem;}
.sub .card_grid.c2{grid-template-columns:repeat(2,1fr);}
.sub .card_grid.c3{grid-template-columns:repeat(3,1fr);}
.sub .card_grid.c4{grid-template-columns:repeat(4,1fr);}
.sub .card_grid.c5{grid-template-columns:repeat(5,1fr);}
.sub .card_grid2.c2{gap: 3.5rem;}
.sub .pg_endoscopy .card_grid.c3{gap: 1rem;}
.sub .point_box{padding:2.5rem;background:var(--bg);border-radius:1.25rem;}
.sub .point_box.navy{background:var(--navy);color:#fff;}
.sub .point_box.navy .txt_body{color:rgba(255,255,255,.85);}
.sub .sec_body{margin-top:3.5rem;}
.sub .sec_body.sm{margin-top:2.5rem;}
.sub .stack{display:flex;flex-direction:column;gap:3rem;}
.sub .stack.sm{gap:2rem;}
.sub .stack.lg{gap:4rem;}
@media (max-width:1024px){
.sub .img_row.eq{gap: 1.25rem;}
.sub .col2{flex-direction:column;gap:1.25rem;}
.sub .col2 > .col_tit, .sub .col2 > .col_body{width:100%;}
.sub .col2 > .col_body{gap:1.25rem;}
.sub .col_tit h3{font-size:1.5rem;line-height:1.33;letter-spacing:-.01em;}
.sub .lead{font-size:1.125rem;line-height:1.4;}
.sub .sign{justify-content:flex-start;gap:.5rem;}
.sub .sign .role{font-size:.875rem;}
.sub .sign .name{font-size:1.25rem;}
.sub .pg_micro-endoscopy .img_row{gap: 1.25rem;}
.sub .ci_box{height:12.5rem;border-radius:.875rem;}
.sub .ci_box img{width:60%;}
.sub .cta{min-height: initial;}
.sub .cta .inner{gap:1.75rem;}
.sub .cta .label{font-size:.875rem;}
.sub .cta h3{margin-top:.5rem;font-size:1.5rem;line-height:1.33;letter-spacing:-.01em;}
.sub .cta .desc{margin-top:.5rem;font-size:.875rem;line-height:1.43;}
.sub .cta_btns a{justify-content:center;font-size:.9375rem;padding:.75rem 1rem;}
.sub .circle_list{gap:1rem; justify-content: flex-start;}
.sub .circle_list li{width:calc((100% - 3rem) / 4);height:auto;aspect-ratio:1/1;font-size:1rem;line-height:1.29;padding:.25rem;}
.sub .circle_list.center li{width:calc((100% - 2rem) / 3);}
.sub .num_card{padding:1.25rem;border-radius:.75rem;}
.sub .num_card + .num_card{margin-top:.75rem;}
.sub .num_head{gap: 0.5rem;}
.sub .imgbox + .num_head{margin-top:1.5rem;}
.sub .num_head h4{font-size:1.125rem;line-height:1.4;}
.sub .num_head .mark{min-width:1.25rem;height:1.25rem;padding: 0; font-size:.75rem;margin-top:.2rem;}
.sub .num_desc{margin-top:.625rem;font-size:.875rem;line-height:1.43;}
.sub .num_desc.sm{margin-top:.625rem;font-size:.875rem;line-height:1.43;}
.sub .key_box{margin-top:.875rem;padding:1rem 1.125rem;border-radius:.625rem;}
.sub .key_box strong{font-size:.9375rem;}
.sub .key_box p{margin-top:.375rem;font-size:.875rem;line-height:1.43;}
.sub_list{gap:.5rem;margin-top:1rem;}
.sub_list > li{padding:.75rem .875rem;border-radius:.375rem;}
.sub_list > li.fd-c{gap: 0.75rem;}
.sub_list strong{font-size:.9375rem;line-height:1.4;}
.sub_list span{font-size:.8125rem;}
.sub_list span.has_list{margin-top:.375rem;}
.sub_list .proc_list{gap:.375rem;margin-top:.625rem;}
.sub_list .proc_list > li{gap:.625rem;padding:.75rem .875rem;}
.sub_list .proc_list .mark{width:1.25rem;height:1.25rem;font-size:.75rem;}
.sub_list .proc_list b{font-size:.9375rem;}
.sub_list .proc_list p{font-size:.8125rem;}
.sub .thumb{width:35%;max-width:12.5rem;}
.sub .num_card.row{gap:1.5rem;}
.sub .num_card.row .num_desc{margin-top:.625rem;}
.sub .num_card.row > .thumb{width:30%;}
.sub_list > li.row{gap:1.5rem;}
.sub .step_wrap > .st_tit{margin-bottom:1rem;font-size:1.125rem;}
.sub .step_list{grid-template-columns:1fr;gap:.75rem;}
.sub .step_item{padding:1.25rem;border-radius:.75rem;}
.sub .step_item h4{font-size:1rem;line-height:1.4;}
.sub .step_item p{margin-top:.5rem;font-size:.875rem;}
.sub .check_list li{padding-left:1.5rem;font-size:.875rem;line-height:1.43;}
.sub .check_list li::before{width:.875rem;height:.875rem;}
.sub .check_list li::after{left:.25rem;top:.62em;width:.375rem;height:.1875rem;}
.sub .tbl th, .sub .tbl td{padding:.75rem .5rem;font-size:.875rem;}
.sub .tbl thead th{font-size: 1rem;}
.sub .sec_dark .tbl_wrap{border-radius:.75rem;}
.sub .sec_dark .tbl{min-width:42rem;}
.sub .tbl_round{border-radius:.75rem .75rem 0 0;}
.sub .card_grid{gap:.75rem;}
.sub .card_grid2.c2{gap: 2rem 1.25rem;}
.sub .point_box{padding:1.25rem;border-radius:.75rem;}
.sub .sec_body{margin-top:1.5rem;}
.sub .sec_body.sm{margin-top:1.25rem;}
.sub .stack{gap:1.5rem;}
.sub .stack.sm{gap:1rem;}
.sub .stack.lg{gap:2rem;}
.sub .card_grid.c4{grid-template-columns:repeat(2,1fr);}
.sub .card_grid.c5{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:768px){
.sub .cta_btns{width:100%;flex-direction:column;}
.sub .card_grid.c2, .sub .card_grid.c3, .sub .card_grid.c4, .sub .card_grid.c5{grid-template-columns:1fr;}
.sub .img_row{flex-direction:column;gap:.75rem;}
.sub .img_row.eq{gap:1.25rem;}
.sub .img_row.eq > *{flex: initial;}
}
@media (max-width:600px){
.sub .circle_list{gap: 0.5rem;}
.sub .circle_list li{width:calc((100% - 1rem) / 3) !important; font-size: 0.875rem;}
}
.sub .bg_endo-sec04_img01{background-image:url('/img/treatment/endo-sec04_img01.jpg');}
.sub .bg_endo-sec05_img01{background-image:url('/img/treatment/endo-sec05_img01.webp');}
.sub .bg_endo-sec08_img01{background-image:url('/img/treatment/endo-sec08_img01.webp');}
.sub .bg_endo-sec10_img01{background-image:url('/img/treatment/endo-sec10_img01.webp');}
.sub .bg_fusion-sec04_img01{background-image:url('/img/treatment/fusion-sec04_img01.webp');}
.sub .bg_fusion-sec06_img01{background-image:url('/img/treatment/fusion-sec06_img01.webp');}
.sub .bg_fusion-sec08_img01{background-image:url('/img/treatment/fusion-sec08_img01.webp');}
.sub .bg_fusion-sec11_img01{background-image:url('/img/treatment/fusion-sec11_img01.webp');}
.sub .bg_greeting-sec03_img01{background-image:url('/img/about/greeting-sec03_img01.webp');}
.sub .bg_inj-sec05_img01{background-image:url('/img/treatment/inj-sec05_img01.webp');}
.sub .bg_inj-sec08_img01{background-image:url('/img/treatment/inj-sec08_img01.webp');}
.sub .bg_inj-sec10_img01{background-image:url('/img/treatment/inj-sec10_img01.webp');}
.sub .bg_micro-sec04b_img01{background-image:url('/img/treatment/micro-sec04b_img01.webp');}
.sub .bg_micro-sec07_img01{background-image:url('/img/treatment/micro-sec07_img01.webp');}
.sub .bg_micro-sec09_img01{background-image:url('/img/treatment/micro-sec09_img01.webp');}
.sub .bg_plasty-sec05_img01{background-image:url('/img/treatment/plasty-sec05_img01.webp');}
.sub .bg_plasty-sec08_img01{background-image:url('/img/treatment/plasty-sec08_img01.webp');}
.sub .bg_plasty-sec10_img01{background-image:url('/img/treatment/plasty-sec10_img01.webp');}
.sub .bg_special-sec04_img01{background-image:url('/img/treatment/special-sec04_img01.webp');}
.sub .bg_special-sec06_img01{background-image:url('/img/treatment/special-sec06_img01.webp');}
.sub .bg_special-sec09_img01{background-image:url('/img/treatment/special-sec09_img01.webp');}
.sub .bg_special-sec11_img01{background-image:url('/img/treatment/special-sec11_img01.webp');}
.sub .bg_vertebro-sec03_img01{background-image:url('/img/treatment/vertebro-sec03_img01.webp');}
.sub .bg_vertebro-sec08_img01{background-image:url('/img/treatment/vertebro-sec08_img01.webp');}
.sub .bg_vertebro-sec10_img01{background-image:url('/img/treatment/vertebro-sec10_img01.webp');}
.sub .back-disc-bg01{background-image:url('/img/disease/back-disc-bg01.webp');}
.sub .back-disc-bg02{background-image:url('/img/treatment/fusion-sec11_img01.webp');}
.sub .neck-disc-bg01{background-image:url('/img/disease/neck-disc-bg01.webp');}
.sub .neck-disc-bg02{background-image:url('/img/disease/neck-disc-bg02.webp');}
.sub .neck-stenosis-bg01{background-image:url('/img/disease/neck-stenosis-bg01.webp');}
.sub .neck-stenosis-bg02{background-image:url('/img/disease/neck-stenosis-bg02.webp');}
.sub .neck-forward-bg01{background-image:url('/img/disease/neck-forward-bg01.webp');}
.sub .neck-forward-bg02{background-image:url('/img/disease/neck-forward-bg02.webp');}
.sub .neck-myelopathy-bg01{background-image:url('/img/disease/neck-myelopathy-bg01.webp');}
.sub .neck-myelopathy-bg02{background-image:url('/img/disease/neck-myelopathy-bg02.webp');}
.sub .neck-myofascial-bg01{background-image:url('/img/disease/neck-myofascial-bg01.webp');}
.sub .neck-myofascial-bg02{background-image:url('/img/disease/neck-myofascial-bg02.webp');}
.sub .neck-opll-bg01{background-image:url('/img/disease/neck-opll-bg01.webp');}
.sub .neck-opll-bg02{background-image:url('/img/disease/neck-opll-bg02.webp');}
.sub .knee-oa-bg01{background-image:url('/img/disease/knee-oa-bg01.webp');}
.sub .knee-oa-bg02{background-image:url('/img/disease/knee-oa-bg02.webp');}
.sub .knee-meniscus-bg01{background-image:url('/img/disease/knee-meniscus-bg01.webp');}
.sub .knee-meniscus-bg02{background-image:url('/img/disease/knee-meniscus-bg02.webp');}
.sub .knee-cartilage-bg01{background-image:url('/img/disease/knee-cartilage-bg01.webp');}
.sub .knee-cartilage-bg02{background-image:url('/img/disease/knee-cartilage-bg02.webp');}
.sub .knee-acl-bg01{background-image:url('/img/disease/knee-acl-bg01.webp');}
.sub .knee-acl-bg02{background-image:url('/img/disease/knee-acl-bg02.webp');}
.sub .shoulder-cuff-bg01{background-image:url('/img/disease/shoulder-cuff-bg01.webp');}
.sub .shoulder-cuff-bg02{background-image:url('/img/disease/shoulder-cuff-bg02.webp');}
.sub .shoulder-frozen-bg01{background-image:url('/img/disease/shoulder-frozen-bg01.webp');}
.sub .shoulder-frozen-bg02{background-image:url('/img/disease/shoulder-frozen-bg02.webp');}
.sub .shoulder-calcific-bg01{background-image:url('/img/disease/shoulder-calcific-bg01.webp');}
.sub .shoulder-calcific-bg02{background-image:url('/img/disease/shoulder-calcific-bg02.webp');}
.sub .shoulder-disloc-bg01{background-image:url('/img/disease/shoulder-disloc-bg01.webp');}
.sub .shoulder-disloc-bg02{background-image:url('/img/disease/shoulder-disloc-bg02.webp');}
.sub .shoulder-oa-bg01{background-image:url('/img/disease/shoulder-oa-bg01.webp');}
.sub .shoulder-oa-bg02{background-image:url('/img/disease/shoulder-oa-bg02.webp');}
.sub .hip-avn-bg01{background-image:url('/img/disease/hip-avn-bg01.webp');}
.sub .hip-avn-bg02{background-image:url('/img/disease/hip-avn-bg02.webp');}
.sub .hip-fx-bg01{background-image:url('/img/disease/hip-fx-bg01.webp');}
.sub .hip-fx-bg02{background-image:url('/img/disease/hip-fx-bg02.webp');}
.sub .hip-oa-bg01{background-image:url('/img/disease/hip-oa-bg01.webp');}
.sub .hip-oa-bg02{background-image:url('/img/disease/hip-oa-bg02.webp');}
.sub .hip-fai-bg01{background-image:url('/img/disease/hip-fai-bg01.webp');}
.sub .hip-fai-bg02{background-image:url('/img/disease/hip-fai-bg02.webp');}
.sub .foot-plantar-bg01{background-image:url('/img/disease/foot-plantar-bg01.webp');}
.sub .foot-plantar-bg02{background-image:url('/img/disease/foot-plantar-bg02.webp');}
.sub .foot-bunion-bg01{background-image:url('/img/disease/foot-bunion-bg01.webp');}
.sub .foot-bunion-bg02{background-image:url('/img/disease/foot-bunion-bg02.webp');}
.sub .foot-arthritis-bg01{background-image:url('/img/disease/foot-arthritis-bg01.webp');}
.sub .foot-arthritis-bg02{background-image:url('/img/disease/foot-arthritis-bg02.webp');}
.sub .foot-instab-bg01{background-image:url('/img/disease/foot-instab-bg01.webp');}
.sub .foot-instab-bg02{background-image:url('/img/disease/foot-instab-bg02.webp');}
.sub .foot-achilles-bg01{background-image:url('/img/disease/foot-achilles-bg01.webp');}
.sub .foot-achilles-bg02{background-image:url('/img/disease/foot-achilles-bg02.webp');}
.sub .foot-toenail-bg01{background-image:url('/img/disease/foot-toenail-bg01.webp');}
.sub .foot-toenail-bg02{background-image:url('/img/disease/foot-toenail-bg02.webp');}
.sub .foot-fx-bg01{background-image:url('/img/disease/foot-fx-bg01.webp');}
.sub .foot-fx-bg02{background-image:url('/img/disease/foot-fx-bg02.webp');}
.sub .elbow-tennis-bg01{background-image:url('/img/disease/elbow-tennis-bg01.webp');}
.sub .elbow-tennis-bg02{background-image:url('/img/disease/elbow-tennis-bg02.webp');}
.sub .elbow-cts-bg01{background-image:url('/img/disease/elbow-cts-bg01.webp');}
.sub .elbow-cts-bg02{background-image:url('/img/disease/elbow-cts-bg02.webp');}
.sub .elbow-cubital-bg01{background-image:url('/img/disease/elbow-cubital-bg01.webp');}
.sub .elbow-cubital-bg02{background-image:url('/img/disease/elbow-cubital-bg02.webp');}
.sub .elbow-dq-bg01{background-image:url('/img/disease/elbow-dq-bg01.webp');}
.sub .elbow-dq-bg02{background-image:url('/img/disease/elbow-dq-bg02.webp');}
.sub .elbow-trigger-bg01{background-image:url('/img/disease/elbow-trigger-bg01.webp');}
.sub .elbow-trigger-bg02{background-image:url('/img/disease/elbow-trigger-bg02.webp');}
.sub .elbow-ganglion-bg01{background-image:url('/img/disease/elbow-ganglion-bg01.webp');}
.sub .elbow-ganglion-bg02{background-image:url('/img/disease/elbow-ganglion-bg02.webp');}
.sub .elbow-tfcc-bg01{background-image:url('/img/disease/elbow-tfcc-bg01.webp');}
.sub .elbow-tfcc-bg02{background-image:url('/img/disease/elbow-tfcc-bg02.webp');}
@media (max-width:768px){
.sub .bg_endo-sec04_img01{background-image:url('/img/treatment/endo-sec04_img01_m.jpg');}
.sub .bg_endo-sec05_img01{background-image:url('/img/treatment/endo-sec05_img01_m.webp');}
.sub .bg_endo-sec08_img01{background-image:url('/img/treatment/endo-sec08_img01_m.webp');}
.sub .bg_endo-sec10_img01{background-image:url('/img/treatment/endo-sec10_img01_m.webp');}
.sub .bg_fusion-sec04_img01{background-image:url('/img/treatment/fusion-sec04_img01_m.webp');}
.sub .bg_fusion-sec06_img01{background-image:url('/img/treatment/fusion-sec06_img01_m.webp');}
.sub .bg_fusion-sec08_img01{background-image:url('/img/treatment/fusion-sec08_img01_m.webp');}
.sub .bg_fusion-sec11_img01{background-image:url('/img/treatment/fusion-sec11_img01_m.webp');}
.sub .bg_greeting-sec03_img01{background-image:url('/img/about/greeting-sec03_img01.webp');}
.sub .bg_inj-sec05_img01{background-image:url('/img/treatment/inj-sec05_img01_m.webp');}
.sub .bg_inj-sec08_img01{background-image:url('/img/treatment/inj-sec08_img01_m.webp');}
.sub .bg_inj-sec10_img01{background-image:url('/img/treatment/inj-sec10_img01_m.webp');}
.sub .bg_micro-sec04b_img01{background-image:url('/img/treatment/micro-sec04b_img01_m.webp');}
.sub .bg_micro-sec07_img01{background-image:url('/img/treatment/micro-sec07_img01_m.webp');}
.sub .bg_micro-sec09_img01{background-image:url('/img/treatment/micro-sec09_img01_m.webp');}
.sub /* .bg_plasty-sec05_img01{background-image:url('/img/treatment/plasty-sec05_img01.webp');}
.sub */
  .bg_plasty-sec08_img01{background-image:url('/img/treatment/plasty-sec08_img01_m.webp');}
.sub .bg_plasty-sec10_img01{background-image:url('/img/treatment/plasty-sec10_img01_m.webp');}
.sub .bg_special-sec04_img01{background-image:url('/img/treatment/special-sec04_img01_m.webp');}
.sub .bg_special-sec06_img01{background-image:url('/img/treatment/special-sec06_img01_m.webp');}
.sub .bg_special-sec09_img01{background-image:url('/img/treatment/special-sec09_img01_m.webp');}
.sub .bg_special-sec11_img01{background-image:url('/img/treatment/special-sec11_img01_m.webp');}
.sub .bg_vertebro-sec03_img01{background-image:url('/img/treatment/vertebro-sec03_img01_m.webp');}
.sub .bg_vertebro-sec08_img01{background-image:url('/img/treatment/vertebro-sec08_img01_m.webp');}
.sub .bg_vertebro-sec10_img01{background-image:url('/img/treatment/vertebro-sec10_img01_m.webp');}
.sub .back-disc-bg01{background-image:url('/img/disease/back-disc-bg01_m.webp');}
.sub .back-disc-bg02{background-image:url('/img/treatment/fusion-sec11_img01_m.webp');}
.sub .neck-disc-bg01{background-image:url('/img/disease/neck-disc-bg01_m.webp');}
.sub .neck-disc-bg02{background-image:url('/img/disease/neck-disc-bg02_m.webp');}
.sub .neck-stenosis-bg01{background-image:url('/img/disease/neck-stenosis-bg01_m.webp');}
.sub .neck-stenosis-bg02{background-image:url('/img/disease/neck-stenosis-bg02_m.webp');}
.sub .neck-forward-bg01{background-image:url('/img/disease/neck-forward-bg01_m.webp');}
.sub .neck-forward-bg02{background-image:url('/img/disease/neck-forward-bg02_m.webp');}
.sub .neck-myelopathy-bg01{background-image:url('/img/disease/neck-myelopathy-bg01_m.webp');}
.sub .neck-myelopathy-bg02{background-image:url('/img/disease/neck-myelopathy-bg02_m.webp');}
.sub .neck-myofascial-bg01{background-image:url('/img/disease/neck-myofascial-bg01_m.webp');}
.sub .neck-myofascial-bg02{background-image:url('/img/disease/neck-myofascial-bg02_m.webp');}
.sub .neck-opll-bg01{background-image:url('/img/disease/neck-opll-bg01_m.webp');}
.sub .neck-opll-bg02{background-image:url('/img/disease/neck-opll-bg02_m.webp');}
.sub .knee-oa-bg01{background-image:url('/img/disease/knee-oa-bg01_m.webp');}
.sub .knee-oa-bg02{background-image:url('/img/disease/knee-oa-bg02_m.webp');}
.sub .knee-meniscus-bg01{background-image:url('/img/disease/knee-meniscus-bg01_m.webp');}
.sub .knee-meniscus-bg02{background-image:url('/img/disease/knee-meniscus-bg02_m.webp');}
.sub .knee-cartilage-bg01{background-image:url('/img/disease/knee-cartilage-bg01_m.webp');}
.sub .knee-cartilage-bg02{background-image:url('/img/disease/knee-cartilage-bg02_m.webp');}
.sub .knee-acl-bg01{background-image:url('/img/disease/knee-acl-bg01_m.webp');}
.sub .knee-acl-bg02{background-image:url('/img/disease/knee-acl-bg02_m.webp');}
.sub .shoulder-cuff-bg01{background-image:url('/img/disease/shoulder-cuff-bg01_m.webp');}
.sub .shoulder-cuff-bg02{background-image:url('/img/disease/shoulder-cuff-bg02_m.webp');}
.sub .shoulder-frozen-bg01{background-image:url('/img/disease/shoulder-frozen-bg01_m.webp');}
.sub .shoulder-frozen-bg02{background-image:url('/img/disease/shoulder-frozen-bg02_m.webp');}
.sub .shoulder-calcific-bg01{background-image:url('/img/disease/shoulder-calcific-bg01_m.webp');}
.sub .shoulder-calcific-bg02{background-image:url('/img/disease/shoulder-calcific-bg02_m.webp');}
.sub .shoulder-disloc-bg01{background-image:url('/img/disease/shoulder-disloc-bg01_m.webp');}
.sub .shoulder-disloc-bg02{background-image:url('/img/disease/shoulder-disloc-bg02_m.webp');}
.sub .shoulder-oa-bg01{background-image:url('/img/disease/shoulder-oa-bg01_m.webp');}
.sub .shoulder-oa-bg02{background-image:url('/img/disease/shoulder-oa-bg02_m.webp');}
.sub .hip-avn-bg01{background-image:url('/img/disease/hip-avn-bg01_m.webp');}
.sub .hip-avn-bg02{background-image:url('/img/disease/hip-avn-bg02_m.webp');}
.sub .hip-fx-bg01{background-image:url('/img/disease/hip-fx-bg01_m.webp');}
.sub .hip-fx-bg02{background-image:url('/img/disease/hip-fx-bg02_m.webp');}
.sub .hip-oa-bg01{background-image:url('/img/disease/hip-oa-bg01_m.webp');}
.sub .hip-oa-bg02{background-image:url('/img/disease/hip-oa-bg02_m.webp');}
.sub .hip-fai-bg01{background-image:url('/img/disease/hip-fai-bg01_m.webp');}
.sub .hip-fai-bg02{background-image:url('/img/disease/hip-fai-bg02_m.webp');}
.sub .foot-plantar-bg01{background-image:url('/img/disease/foot-plantar-bg01_m.webp');}
.sub .foot-plantar-bg02{background-image:url('/img/disease/foot-plantar-bg02_m.webp');}
.sub .foot-bunion-bg01{background-image:url('/img/disease/foot-bunion-bg01_m.webp');}
.sub .foot-bunion-bg02{background-image:url('/img/disease/foot-bunion-bg02_m.webp');}
.sub .foot-arthritis-bg01{background-image:url('/img/disease/foot-arthritis-bg01_m.webp');}
.sub .foot-arthritis-bg02{background-image:url('/img/disease/foot-arthritis-bg02_m.webp');}
.sub .foot-instab-bg01{background-image:url('/img/disease/foot-instab-bg01_m.webp');}
.sub .foot-instab-bg02{background-image:url('/img/disease/foot-instab-bg02_m.webp');}
.sub .foot-achilles-bg01{background-image:url('/img/disease/foot-achilles-bg01_m.webp');}
.sub .foot-achilles-bg02{background-image:url('/img/disease/foot-achilles-bg02_m.webp');}
.sub .foot-toenail-bg01{background-image:url('/img/disease/foot-toenail-bg01_m.webp');}
.sub .foot-toenail-bg02{background-image:url('/img/disease/foot-toenail-bg02_m.webp');}
.sub .foot-fx-bg01{background-image:url('/img/disease/foot-fx-bg01_m.webp');}
.sub .foot-fx-bg02{background-image:url('/img/disease/foot-fx-bg02_m.webp');}
.sub .elbow-tennis-bg01{background-image:url('/img/disease/elbow-tennis-bg01_m.webp');}
.sub .elbow-tennis-bg02{background-image:url('/img/disease/elbow-tennis-bg02_m.webp');}
.sub .elbow-cts-bg01{background-image:url('/img/disease/elbow-cts-bg01_m.webp');}
.sub .elbow-cts-bg02{background-image:url('/img/disease/elbow-cts-bg02_m.webp');}
.sub .elbow-cubital-bg01{background-image:url('/img/disease/elbow-cubital-bg01_m.webp');}
.sub .elbow-cubital-bg02{background-image:url('/img/disease/elbow-cubital-bg02_m.webp');}
.sub .elbow-dq-bg01{background-image:url('/img/disease/elbow-dq-bg01_m.webp');}
.sub .elbow-dq-bg02{background-image:url('/img/disease/elbow-dq-bg02_m.webp');}
.sub .elbow-trigger-bg01{background-image:url('/img/disease/elbow-trigger-bg01_m.webp');}
.sub .elbow-trigger-bg02{background-image:url('/img/disease/elbow-trigger-bg02_m.webp');}
.sub .elbow-ganglion-bg01{background-image:url('/img/disease/elbow-ganglion-bg01_m.webp');}
.sub .elbow-ganglion-bg02{background-image:url('/img/disease/elbow-ganglion-bg02_m.webp');}
.sub .elbow-tfcc-bg01{background-image:url('/img/disease/elbow-tfcc-bg01_m.webp');}
.sub .elbow-tfcc-bg02{background-image:url('/img/disease/elbow-tfcc-bg02_m.webp');}
}
.sub .imgbox.empty{aspect-ratio:16/9;background:#d9d9d9;}
.sub .step_wrap .feat_card{min-height:17.5rem;}
.sub .step_wrap .feat_card .en{margin-top:0;}
.sub .sec_dark .feat_card{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);}
.sub .sec_dark .feat_card h4, .sub .sec_dark .feat_card p{color: #FFF;}
.sub .sec_dark .feat_card .en{color: var(--primary);}
.sub .btn_more{display:inline-flex;align-items:center;gap:.25rem;margin-top:1rem;font-size:1rem;font-weight:700;line-height:1.5;color:var(--primary);}
.sub .btn_more .mi{width:1.125rem;height:1.125rem;-webkit-mask-image:url('/img/sub/ico/arrow-right.svg');mask-image:url('/img/sub/ico/arrow-right.svg');}
@media (max-width:1024px){
.sub .step_wrap .feat_card{min-height:11rem;}
.sub .btn_more{margin-top:.625rem;font-size:.875rem;}
}
.sub .card_grid.card_grid3{gap:4rem 2.5rem;}
.sub .card_grid3 .imgbox{aspect-ratio:16/10;}
.sub .card_grid3 .imgbox img{width:100%;height:100%;object-fit:cover;}
.sub .card_grid3 .imgbox + .num_head{margin-top:1.875rem;}
/* 질환 페이지 치료방법 섹션 카드 이미지 : 항상 770/510 (card_grid2·3 공통) */
.sub .sec_treat .card_grid .imgbox{aspect-ratio:770/510;}
.sub .sec_treat .card_grid .imgbox img{width:100%;height:100%;object-fit:cover;}
.sub .sec_treat .card_grid .imgbox + .num_head{margin-top:1.875rem;}
@media (max-width:1024px){
.sub .sec_treat .card_grid .imgbox + .num_head{margin-top:1.25rem;}
}
.sub .sym_grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 1.25rem;counter-reset:sym;}
.sub .sym_grid li{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem 1.75rem;background:var(--bg);border-radius:.75rem;font-size:1.125rem;line-height:1.5;color:var(--body);}
.sub .sym_grid li::before{counter-increment:sym;content:counter(sym,decimal-leading-zero);flex-shrink:0;margin-top:.0625rem;font-size:.9375rem;font-weight:800;line-height:1.8;color:var(--primary);}
.sub .sec.gray .sym_grid li{background:#fff;border:1px solid var(--line);}
.sub .sym_wrap{display:flex;flex-direction:column;gap:2rem;}
.sub .sym_slider{overflow:hidden; width: 100%;}
.sub .sym_slider .swiper-wrapper{align-items:stretch;}
.sub .sym_card{flex-shrink:0;height:auto;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:1rem;overflow:hidden;}
.sub .sym_card .imgbox{aspect-ratio:5/3; border-radius: 0;}
.sub .sym_card .imgbox img{width:100%;height:100%;object-fit:cover;}
.sub .sym_card .txt{flex:1;padding:1.75rem 1.25rem;text-align:center;}
.sub .sym_card .txt b{font-size:1.125rem;font-weight:700;line-height:1.45;letter-spacing:-.01em;color:var(--navy);}
.sub .sym_card .txt p{margin-top:.5rem;font-size:1rem;line-height:1.5;color:var(--body2);}
.sub .sym_bar{display: none;}
.sub .sym_bar.swiper-scrollbar{position:relative;left:0;top:0;width:100%;height:.25rem;margin:0;background:var(--line);border-radius:.25rem;}
.sub .sym_bar .swiper-scrollbar-drag{background:var(--navy);border-radius:.25rem;cursor:grab;}
.sub .sym_bar .swiper-scrollbar-drag:active{cursor:grabbing;}
@media (max-width:1024px){
.sub .card_grid.card_grid3{gap:2rem 1.25rem;}
.sub .card_grid3 .imgbox + .num_head{margin-top:1.25rem;}
.sub .sym_grid{grid-template-columns:1fr;gap:.5rem;}
.sub .sym_grid li{padding:.875rem 1rem;gap:.625rem;font-size:.875rem;line-height:1.45;}
.sub .sym_grid li::before{font-size:.75rem;line-height:1.7;}
.sub .sym_wrap{gap:1.5rem;}
.sub .sym_card{border-radius:.75rem;}
.sub .sym_card .txt{padding:1.125rem .875rem;}
.sub .sym_card .txt b{font-size:1rem;line-height:1.4;}
.sub .sym_card .txt p{margin-top:.375rem;font-size:.875rem;}
}
@media (max-width:768px){
.sub .sym_slider{width:calc(100% + 1.25rem);}
.sub .sym_card .txt{padding:1rem .75rem;}
.sub .sym_card .txt b{font-size:.9375rem;}
}

/* ---------------- treatment.css ---------------- */
.sub .txt_img{display:flex;align-items:center;gap:5%;}
.sub .txt_img > .t{width:50%;display:flex;flex-direction:column;gap:2.5rem;}
.sub .txt_img > .i{width:45%;flex-shrink:0;}
.sub .txt_img.rev{flex-direction:row-reverse;}
.sub .type_row{display:flex;gap:3rem;align-items:flex-start;}
.sub .type_row > .i{width:38.75%;flex-shrink:0;position:sticky;top:calc(var(--header-h) + 3.5rem);}
.sub .type_row > .l{flex:1;min-width:0;}
.sub .type_row .imgbox.swap_img > img{transition:opacity .5s ease;}
.sub .type_row .imgbox.swap_img > .sw{position:absolute;left:0;top:0;width:100%;opacity:0;}
.sub .type_row .imgbox.swap_img.is-swap > img:first-child{opacity:0;}
.sub .type_row .imgbox.swap_img.is-swap > .sw{opacity:1;}
.sub .type_row > .l > .imgbox + .num_card{margin-top:1.25rem;}
.sub .mid_tit{font-size: 2rem; font-weight: 700;}
.sub .type_row .circle_list{justify-content: flex-start !important;}
.sub .cmp_wrap{position:relative;}
.sub .cmp{display:flex;align-items:center;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.sub .cmp::-webkit-scrollbar{display:none;}
.sub .swipe_ic{display:none;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;
  flex-direction:column;align-items:center;justify-content:center;gap:.125rem;
  width:5.3125rem;height:5.375rem;border-radius:50%;background:var(--primary);
  color:#fff;font-size:1.0625rem;font-weight:700;line-height:1.35;pointer-events:none;
  opacity:0;transition:opacity .3s ease;}
.sub .swipe_ic img{width:1.75rem;height:1.75rem;filter:brightness(0) invert(1);}
.sub .cmp_wrap.is-scrollable .swipe_ic{display:flex;opacity:1;}
.sub .cmp_wrap.is-scrollable.is-scrolled .swipe_ic{opacity:0;}
.sub .cmp_wrap.is-scrollable .cmp{cursor:grab;}
.sub .cmp_wrap.is-dragging .cmp{cursor:grabbing;user-select:none;}
.sub .cmp_wrap.is-dragging .cmp *{pointer-events:none;}
.sub .cmp_a{width:51.875%;min-width:31.25rem;border-radius:1.875rem 0 0 1.5rem;overflow:hidden; border-left:1px solid var(--line); border-bottom:1px solid var(--line);}
.sub .cmp_b{width:48.125%;min-width:29rem;background:#fff;border-radius:1.0625rem;overflow:hidden;border: 1px solid var(--primary);}
.sub .cmp_a .hd, .sub .cmp_b .hd{font-size:1.25rem;font-weight:700;line-height:1.45;letter-spacing:-.005em;color:#fff;text-align:center; display: flex; align-items: center; justify-content: center;}
.sub .cmp_a .hd{display:flex;background:var(--navy-strong);}
.sub .cmp_a .hd span{padding:1.5rem 0; display: block;}
.sub .cmp_a .hd span:first-child{width:31.3%;flex-shrink:0;border-right: 1px solid #28425A;}
.sub .cmp_a .hd span:last-child{flex:1;}
.sub .cmp_b .hd{background:var(--primary);height: 5.625rem;}
.sub .cmp_a .rw{display:flex;border-top:1px solid var(--line);background:#fff;}
.sub .cmp_a .rw > *{padding:1.5rem 1.75rem;font-size:1.125rem;line-height:1.5;}
.sub .cmp_a .rw dt{width:31.3%;flex-shrink:0;font-weight:700;text-align:center;border-right:1px solid var(--line);}
.sub .cmp_a .rw dd{color:var(--body);}
.sub .cmp_b .rw{padding:1.5rem 1.625rem;border-top:1px solid var(--primary);font-size:1.5rem;font-weight:700;line-height:1.33;letter-spacing:-.01em;color:#c72a5d;text-align:center;}
/* 비교표 행 내부 상세보기 버튼 */
.sub .cmp_a .rw dd{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;}.sub .cmp .btn_out.xs{flex-shrink:0;padding:.375rem .875rem;border-color:#292A2D;font-size:.875rem;font-weight:500;line-height:1.45;gap:.25rem;color:#292A2D;vertical-align:middle;}
.sub .cmp .btn_out.xs .mi{width:1rem;height:1rem;}
.sub .cmp_b .rw .btn_out.xs{margin-left:.75rem;}
.sub .sec_dark{position:relative;background-color:var(--navy);background-position:center;background-size:cover;background-repeat:no-repeat;color:#fff; min-height: 50rem; display: flex; align-items: center; justify-content: center;}
.sub .sec_dark::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,var(--dim,.5));}
.sub .sec_dark > .inner{position:relative;z-index:1;}
.sub .sec_dark .sec_head h3{color:#fff;}
.sub .sec_dark .note{color:#fff;}
.sub .sec_dark .txt_body{color:var(--bg);}
.sub .spec_row{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;}
.sub .spec_item{display:flex;flex-direction:column;align-items:center;gap:1.25rem;text-align:center;color:#fff;flex:1;min-width:8rem;}
.sub .spec_row .spec_item + .spec_item{position:relative;}
.sub .spec_row .spec_item + .spec_item::before{content:'';position:absolute;left:-1rem;top:50%;transform:translateY(-50%);width:1px;height:6.25rem;background:rgba(255,255,255,.2);}
.sub .spec_item img{width: 1.875rem;}
.sub .spec_item .k{font-size:1.25rem;line-height:1.45;letter-spacing:-.005em;}
.sub .spec_item .v{margin-top:.5rem;font-size:1.375rem;font-weight:700;line-height:1.45;letter-spacing:-.005em;}
/* 한 줄에 7개 이상 들어가는 수술정보 : 폰트·아이콘 축소 (.sm 붙은 줄만) */
.sub .spec_row.sm{gap:1.25rem;}
.sub .spec_row.sm .spec_item{gap:1rem;min-width:7rem;}
.sub .spec_row.sm .spec_item img{width:1.625rem;}
.sub .spec_row.sm .spec_item .k{font-size:1.125rem;}
.sub .spec_row.sm .spec_item .v{margin-top:.5rem;font-size:1.1875rem;}
.sub .spec_row.sm .spec_item + .spec_item::before{left:-.625rem;height:5rem;}
.sub .spec_tit{margin-bottom:1.75rem;font-size:1.5rem;font-weight:700;line-height:1.33;letter-spacing:-.01em;color:#fff;}
.sub .card{padding: 2.25rem 2rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);border-radius:1rem;}
.sub .card h4{font-size:1.25rem;font-weight:700;line-height:1.45;color:#fff;}
.sub .card p{margin-top:.625rem;font-size:1rem;line-height:1.5;color:var(--bg);}
.sub .card .en{margin-top: 0 !important; margin-bottom:.75rem;font-size:1rem;font-weight:700;line-height:1.5;color:var(--primary);}
.sub .feat_slider{overflow:hidden; width: 100%;}
.sub .feat_slider.wide{width:calc(100% + (50vw - 50%));}
.sub .feat_slider .swiper-wrapper{align-items:stretch;}
.sub .feat_slider.wide .swiper-wrapper{--swiper-wrapper-transition-timing-function:cubic-bezier(.22,.61,.36,1);}
.sub .feat_card{flex-shrink:0;height:auto;display:flex;flex-direction:column;justify-content:flex-start;min-height:23.5rem;padding:3.75rem 2.5rem;background:#f9f9f9;border-radius:1.25rem;}
.sub .feat_card:last-child{margin-right: 0 !important;}
.sub .feat_slider.wide .feat_card{width:27.5rem;}
.sub .feat_slider.wh .feat_card{background: #FFF;}
.sub .feat_card .fi{width:3rem;height:3rem;}
.sub .feat_card .en{margin-top:3.75rem;font-size:.875rem;font-weight:700;line-height:1.43;color:var(--primary);}
.sub .feat_card h4{margin-top:.5rem;font-size:1.5rem;font-weight:700;line-height:1.33;letter-spacing:-.01em;color:var(--navy);}
.sub .feat_card p{margin-top:.75rem;font-size:1.125rem;line-height:1.5;color:var(--body2);}
.sub .faq{display:flex;flex-direction:column;gap:1.25rem;}
.sub .faq_item{background:#fff;border-radius:6.25rem;transition:background .35s ease,border-radius .35s ease;}
.sub .sec:not(.gray) .faq_item{background: var(--bg);}
.sub .faq_item.on{background:var(--navy) !important;border-radius:2.5rem;}
.sub .faq_q{display:flex;align-items:flex-start;gap:1.25rem;width:100%;padding:2.25rem 2.75rem;text-align:left;color:#292a2d;transition:color .35s ease;}
.sub .faq_item.on .faq_q{color:#fff;}
.sub .faq_q .m{flex-shrink:0;font-size:1.5rem;font-weight:500;line-height:1.33;letter-spacing:-.01em;}
.sub .faq_q .arw{flex-shrink:0;position:relative;width:1.5rem;height:1.5rem;margin-top:.25rem;}
.sub .faq_q .arw img{position:absolute;inset:0;width:100%;height:100%;transition:opacity .3s ease;}
.sub .faq_q .arw .op{opacity:0;}
.sub .faq_item.on .faq_q .arw .cl{opacity:0;}
.sub .faq_item.on .faq_q .arw .op{opacity:1;}
.sub .faq_cont{flex:1;min-width:0;display:flex;flex-direction:column;}
.sub .faq_cont .qt{font-size:1.5rem;font-weight:500;line-height:1.33;letter-spacing:-.01em;}
.sub .faq_a{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1);}
.sub .faq_item.on .faq_a{grid-template-rows:1fr;}
.sub .faq_a .tx{display:block;overflow:hidden;font-size:1.25rem;line-height:1.45;letter-spacing:-.005em;color:#fff;}
.sub .faq_a .tx::before{content:'';display:block;height:.5rem;}
.sub .case_head{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;}
.sub .btn_out{display:inline-flex;align-items:center;gap:.25rem;padding:.75rem 1.5rem;border:1px solid #fff;border-radius:1.875rem;font-size:1rem;line-height:1.5;color:#fff;transition:var(--t);}
.sub .btn_out:hover{background:#fff;color:#000;}
.sub .btn_out .mi{-webkit-mask-image:url('/img/sub/ico/arrow-right.svg');mask-image:url('/img/sub/ico/arrow-right.svg');}
.sub .btn_out .mi2{-webkit-mask-image:url('/img/sub/ico/arrow-right2.svg');mask-image:url('/img/sub/ico/arrow-right2.svg');}
/* btn_out 아이콘 변형 : 온라인 예약(하단 CTA 와 같은 예약 아이콘) · 간편예약(퀵메뉴 달력) · 외부/전화(대각선 화살표) */
.sub .btn_out .mi.ic_rsv{-webkit-mask-image:url('/img/sub/reserve.svg');mask-image:url('/img/sub/reserve.svg');}
.sub .btn_out .mi.ic_cal{-webkit-mask-image:url('/img/main/ic_cal.svg');mask-image:url('/img/main/ic_cal.svg');}
.sub .btn_out .mi.ic_out{-webkit-mask-image:url('/img/sub/ico/arrow-up-right.svg');mask-image:url('/img/sub/ico/arrow-up-right.svg');}
.sub .btn_out .mi.ic_down{-webkit-mask-image:url('/img/sub/ico/download.svg');mask-image:url('/img/sub/ico/download.svg');}   /* 서식 파일 다운로드 */
.sub .btn_out.fill{background: var(--primary); border-color: var(--primary); color: #FFF !important;}
.sub .case_imgs{display:flex;justify-content:center;}
.sub .btn_out.dark{color:var(--navy);border-color:var(--navy);}
.sub .btn_out.dark:hover{color: #FFF; background: var(--navy);}
.sub .case_imgs img{width:25rem;max-width:50%;}
.sub .video_box{width:53.125rem;aspect-ratio: 16/9; max-width:100%;margin:0 auto;border-radius:1rem;overflow:hidden;background:#102638;}
.sub .video_box iframe{width: 100%; height: 100%;}
.sub .video_box img{width:100%;}
.sub .ba{display:flex;justify-content:center;}
.sub .ba figure{width:25rem;max-width:50%;}
.sub .ba figure img{width:100%;}
.sub .ba figcaption{padding:.75rem 1.25rem;background:#eaebec;color:var(--gray3);font-size:1.125rem;font-weight:700;line-height:1.5;text-align:center;}
.sub .ba figure.af figcaption{background:var(--primary);color:#fff;}
.sub .ba_group{display:flex;justify-content:center;gap:1.75rem;flex-wrap:wrap;}
.sub .ba_group .ba{flex:0 1 37.5rem;}
.sub .ba_group .ba figure{width:50%;max-width:none;}
.sub .imgbox.ba{position: relative;}
.sub .imgbox.ba figure{width: 50%;}
.sub .imgbox.ba figcaption{background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.60) 100%); position: absolute; left: 0; bottom: 0; width: 100%; color: #FFF; font-weight: 600;}
.sub .dr_row{display:flex;gap:3.75rem;align-items:flex-start;}
.sub .dr_head{width:19.6875%;flex-shrink:0;display:flex;flex-direction:column;gap:2.5rem;position: relative;z-index: 3;}
.sub .dr_head .label{font-size:1rem;font-weight:700;line-height:1.5;color:var(--primary);}
.sub .dr_head h3{margin-top:1.25rem;font-size:2.8125rem;font-weight:700;line-height:1.15;letter-spacing:-.02em;color:var(--title);}
.sub .dr_nav{display:flex;gap:.8125rem;}
.sub .dr_nav.num3{display: none;}
.sub .dr_nav button{display:flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;border:1px solid var(--gray3);border-radius:50%;font-size:1.125rem;transition:var(--t);color:var(--gray3);}
.sub .dr_nav button img{width: 1.4rem; transition:var(--t);}
.sub .dr_nav button:hover{background:var(--primary);border-color:var(--primary);color:#fff;}
.sub .dr_nav button:hover img{filter: brightness(0) invert(1);}
.sub .dr_list{flex:1;min-width:0;overflow:visible; position: relative;}
.sub .dr_list::before{content: ''; display: block; width: 100%; height: 100%; background: #FFF; position: absolute; left: -100%; top: 0; z-index: 2;}
.sub .sec.gray .dr_list::before{background: var(--bg);}
.sub .dr_list .swiper-wrapper{align-items:flex-start;}
.sub .dr_item{height:auto;}
.sub .dr_item .ph{position:relative;border-radius:1.25rem;overflow:hidden;background:#dfe1e5;aspect-ratio:380/430;}
.sub .dr_item .ph.empty::after{content:'추후 전달 시 삽입 예정';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;text-align:center;font-size:1rem;line-height:1.5;color:rgba(20,45,66,.32);}
.sub .dr_item .ph img{width:100%;height:100%;object-fit:cover;}
.sub .dr_item .nm{display:flex;align-items:baseline;gap:.75rem;margin-top:1.875rem;}
.sub .dr_item .nm b{font-size:1.75rem;font-weight:700;line-height:1.29;letter-spacing:-.01em;color:#111;}
.sub .dr_item .nm span{font-size:1.125rem;line-height:1.5;color:var(--gray3);}
.sub .dr_item .dp{display:flex;flex-wrap:wrap;gap:.9375rem;margin-top:.625rem;font-size:1.125rem;line-height:1.5;color:var(--gray3);}
.sub .dr_item .dp em{font-style:normal;font-weight:500;color:#002a7b;}
.sub .dr_item .dp em::after{content: ''; display: inline-block; width: 1px; height: 0.625rem; background: #8E8E8E; margin-left: 0.9375rem; vertical-align: middle; }
@media (max-width:1024px){
.sub .card{padding:1.25rem;border-radius:.75rem;}
.sub .card h4{font-size:1rem;}
.sub .card p{margin-top:.375rem; font-size: 0.875rem;}
.sub .card .en{font-size: 0.875rem;}
.sub .txt_img{flex-direction:column !important;gap:1.5rem;margin-top: 0.5rem;}
.sub .txt_img > .t, .sub .txt_img > .i{width:100%;}
.sub .txt_img > .t{gap:1.25rem;}
.sub .txt_img > .i + .t{gap: 0;}
.sub .txt_img > .i + .t:has(> .sec_head){gap:1.25rem;}   /* 텍스트 칸 안에 제목이 있는 경우 (제목·본문·버튼 간격 유지) */
.sub .type_row{gap:1.5rem;}
.sub .cmp_a{flex:1;width:max-content;min-width:0;border-radius:.75rem 0 0 .75rem;}
.sub .cmp_b{flex:1;min-width:0;border-radius:.75rem;}
.sub .cmp_a .hd, .sub .cmp_b .hd{font-size:.9375rem;}
.sub .cmp_a .hd span{padding:.875rem;}
.sub .cmp_a .hd span:first-child, .sub .cmp_a .rw dt{width:6rem;flex:0 0 auto;}
.sub .cmp_a .rw > *{padding:.875rem 1rem;font-size:.8125rem;}
.sub .cmp_b .hd{height: 4rem;}
.sub .cmp_b .rw{padding:.875rem 1rem;font-size:.9375rem;line-height:1.4;}
.sub .cmp_a .rw dd{gap:.5rem;}
.sub .cmp .btn_out.xs{width:auto;margin:0;order:0;padding:.25rem .625rem;font-size:.75rem;}
.sub .cmp .btn_out.xs .mi{width:.875rem;height:.875rem;}
.sub .cmp_b .rw .btn_out.xs{margin-left:.5rem;}
/* scroll_1024 : 1024px 부터 표 너비를 고정해 가로 스와이프로 전환 */
.sub .cmp_wrap.scroll_1024 .cmp_a{flex:0 0 30rem;width:max-content;}
.sub .cmp_wrap.scroll_1024 .cmp_b{flex:0 0 30rem;}
.sub .sec_dark{min-height: initial;}
.sub .spec_row{gap:1.25rem 0; justify-content: flex-start;}
.sub .spec_item{flex:0 0 33.333%;min-width:0;gap:.625rem;}
.sub .spec_row .spec_item + .spec_item::before{left: 0; height: 5rem;}
.sub .spec_row .spec_item:nth-child(4):before,
.sub .spec_row .spec_item:nth-child(7):before{display: none;}
.sub .spec_item img{width:2rem;height:2rem;}
.sub .spec_item .k{font-size:.8125rem;}
.sub .spec_item .v{margin-top:.25rem;font-size:.9375rem;line-height:1.4;}
/* .sm 은 PC 전용 축소이므로 모바일은 기본값으로 되돌린다 */
.sub .spec_row.sm{gap:1.25rem 0;}
.sub .spec_row.sm .spec_item{gap:.625rem;}
.sub .spec_row.sm .spec_item img{width:2rem;}
.sub .spec_row.sm .spec_item .k{font-size:.8125rem;}
.sub .spec_row.sm .spec_item .v{margin-top:.25rem;font-size:.9375rem;}
.sub .spec_row.sm .spec_item + .spec_item::before{left:0;height:5rem;}
.sub .feat_slider.wide{width:calc(100% + 1.25rem);}
.sub .feat_card{width: calc((100% - 24px) / 3);;min-height:14rem;padding:1.5rem 1.25rem;border-radius:.75rem;}
.sub .feat_slider.wide .feat_card{width:15rem}
.sub .feat_slider.wide .feat_card:last-child{margin-right: 1.25rem !important;}
.sub .feat_card .fi{width:2rem;height:2rem;}
.sub .feat_card .en{margin-top:1.5rem;}
.sub .feat_card h4{margin-top:.375rem;font-size:1.0625rem;line-height:1.35;}
.sub .feat_card p{margin-top:.5rem;font-size:.875rem;}
.sub .faq{gap:.625rem;}
.sub .faq_item.on{border-radius:1.5rem;}
.sub .faq_q{padding: 1.25rem;gap:.625rem;}
.sub .faq_q .m, .sub .faq_cont .qt{font-size:1rem;line-height:1.4;}
.sub .faq_q .arw{width:1.125rem;height:1.125rem;margin-top:.0625rem;}
.sub .faq_a .tx{font-size:.875rem;line-height:1.43;}
.sub .faq_a .tx::before{height:.375rem;}
.sub /* .case_head{align-items:flex-start;text-align:left;}
.sub */
  .case_head{display: contents;}
.sub .btn_out{font-size:1rem;padding:.75rem 1.25rem; justify-content: center; width: fit-content; margin: 0 auto; order: 9; gap: 0.625rem;}
.sub .btn_out.fill{font-size: 0.875rem; padding: 0.5rem 1rem;}
.sub .ba figcaption{padding:.5rem .75rem;font-size:.875rem;}
.sub .dr_row{flex-direction:column;gap:1.5rem;}
.sub .dr_head{width:100%;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:1rem;}
.sub .dr_head h3{margin-top:.5rem;font-size:1.5rem;line-height:1.33;letter-spacing:-.01em;}
.sub .dr_nav{gap: 0.625rem;}
.sub .dr_nav button{width:2.5rem;height:2.5rem;}
.sub .dr_nav button img{width: 1.07144rem;}
.sub .dr_list{width:100%;}
.sub .dr_list .swiper-slide{width: 16.875rem;}
.sub .dr_list.num3 .swiper-slide{width: calc((100% - 24px) / 3);}
.sub .dr_item .ph{border-radius:.75rem;}
.sub .dr_item .ph.empty::after{font-size:.75rem;}
.sub .dr_item .nm{margin-top:1.25rem;gap:.75rem;}
.sub .dr_item .nm b{font-size:1.25rem;}
.sub .dr_item .nm span{font-size:.875rem;}
.sub .dr_item .dp{margin-top:.25rem;gap: 0.75rem; font-size:.875rem;}
.sub .dr_item .dp em::after{margin-left: 0.75rem;}
.sub .btn_out.dark{font-size: 0.875rem; padding: 0.55rem 1rem; gap: 0.5rem;}
.sub .btn_out.dark .mi{width: 1.125rem;}
}
@media (max-width:768px){
.sub .cmp_a{flex:0 0 auto;}
.sub .cmp_b{flex:0 0 22rem;}
.sub .btn_out{width: 100%;}
.sub .feat_slider{width:calc(100% + 1.25rem);}
.sub .feat_card{width:15rem}
.sub .dr_nav.num3{display: flex;}
.sub .dr_list.num3 .swiper-slide{width: 16.875rem;}
.sub .type_row{flex-direction:column;gap:1.5rem;}
.sub .type_row > .i, .sub .type_row > .l{width:100%;}
.sub .type_row > .i{position:static;}
.sub .type_row .imgbox.swap_img > .sw{display:none;}
.sub .type_row .imgbox.swap_img > img:first-child{opacity:1;}
.sub .type_row > .l > .imgbox{margin-top:2rem;}
.sub .type_row > .l > .imgbox + .num_card{margin-top:1.5rem;}
.sub .cmp_wrap.scroll_1024 .cmp_a{flex:0 0 26rem;}
.sub .cmp_wrap.scroll_1024 .cmp_b{flex:0 0 22rem;}
}
@media (max-width:600px){
.sub .spec_row{gap: 1.75rem 0;}
.sub .thumb{width:100%;max-width:100%;}
.sub .num_card.row{flex-direction:column;gap:1rem;}
.sub .num_card.row > .thumb{width:100%;}
.sub_list > li.row{flex-direction:column;align-items:stretch;gap:.875rem;}
.sub .spec_item{flex: 0 0 50%;}
.sub .spec_row .spec_item:nth-child(odd):before{display: none;}
.sub .spec_row .spec_item:nth-child(4):before{display: block;}
}

/* ---------------- Swiper 호환 보정 ----------------
   전역으로 로드되는 Swiper 5.4.3 CSS 는 .swiper-container 를 스타일하지만
   이 페이지들의 마크업은 v6+ 방식(.swiper)이므로 컨테이너 규칙만 보충한다.
   .swiper-wrapper / .swiper-slide 는 5.4.3 CSS 가 그대로 제공한다. */
.sub .swiper{position:relative;z-index:1;list-style:none;padding:0;}
.sub .feat_slider.wide .swiper-wrapper{transition-timing-function:cubic-bezier(.22,.61,.36,1);}

/* ---------------- 관절센터 (treatment/joint) ----------------
   기존 프레임워크 재활용 + 관절센터 신규 구성 요소만 보충한다.
   탭 전환(.jt_tabs/.pill_menu/.jt_panel), 카드 변형(.feat_card.bd/.lg, .card.lt),
   조건 박스(.cond_box), 목적 리스트(.line_list), STEP 그리드(.step_flow)/행(.step_rows) */
.sub .sec[id]{scroll-margin-top:6.5rem;}

/* 탭 : 카드형(관절내시경 부위별) */
.sub .jt_tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem;}
.sub .jt_tabs button{padding:1.5rem 1.25rem;background:#fff;border:1px solid #EAEBEC;border-radius:1rem;font-size:1.25rem;font-weight:700;line-height:1.45;color:#171719;cursor:pointer;transition:var(--t); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.875rem;}
.sub .jt_tabs button i{width: 100%; height: 3.75rem;}
.sub .jt_tabs button:nth-child(1) i{background: url(/img/treatment/arth3_ic01.svg) no-repeat center / contain;}
.sub .jt_tabs button:nth-child(2) i{background: url(/img/treatment/arth3_ic02.svg) no-repeat center / contain;}
.sub .jt_tabs button:nth-child(3) i{background: url(/img/treatment/arth3_ic03.svg) no-repeat center / contain;}
.sub .jt_tabs button:nth-child(4) i{background: url(/img/treatment/arth3_ic04.svg) no-repeat center / contain;}
.sub .jt_tabs button:nth-child(5) i{background: url(/img/treatment/arth3_ic05.svg) no-repeat center / contain;}
.sub .jt_tabs button:nth-child(1).on i{background: url(/img/treatment/arth3_ic01_w.svg) no-repeat center / contain;}
.sub .jt_tabs button:nth-child(2).on i{background: url(/img/treatment/arth3_ic02_w.svg) no-repeat center / contain;}
.sub .jt_tabs button:nth-child(3).on i{background: url(/img/treatment/arth3_ic03_w.svg) no-repeat center / contain;}
.sub .jt_tabs button:nth-child(4).on i{background: url(/img/treatment/arth3_ic04_w.svg) no-repeat center / contain;}
.sub .jt_tabs button:nth-child(5).on i{background: url(/img/treatment/arth3_ic05_w.svg) no-repeat center / contain;}
.sub .jt_tabs button:hover{border-color:var(--navy);}
.sub .jt_tabs button.on{background:var(--navy);border-color:var(--navy);color:#fff;}
/* 가로 스크롤 구간(1024 이하)에서 마우스 드래그로도 넘길 수 있게 */
.sub .jt_tabs.is-scrollable{cursor:grab;}
.sub .jt_tabs.is-dragging{cursor:grabbing;user-select:none;}
.sub .jt_tabs.is-dragging *{pointer-events:none;}

/* 탭 : 알약형(부위별 치료 페이지) */
.sub .pill_menu_wrap{display:flex;justify-content:center;}
.sub .pill_menu{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(18.75rem,1fr);width:fit-content;max-width:100%;overflow-x:auto;background:#fff;border:1px solid #EAEBEC;border-radius:100px;}
.sub .pill_menu button{padding:.75rem 1.5rem;border-radius:1.875rem;font-size:1.25rem;line-height:1.45;letter-spacing:-.005em;white-space:nowrap;color:#8E8E8E;cursor:pointer;transition:var(--t);}
.sub .pill_menu button.on{background:var(--primary);color:#fff;font-weight:700;}
.sub .pill_menu{-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.sub .pill_menu::-webkit-scrollbar{display:none;}
.sub .pill_menu.is-scrollable{cursor:grab;}
.sub .pill_menu.is-dragging{cursor:grabbing;user-select:none;}
.sub .pill_menu.is-dragging *{pointer-events:none;}

/* 탭 패널 */
.sub .jt_panel{display:none;}
.sub .jt_panel.on{display:block;}

/* 카드 변형 : 흰 배경 + 테두리(그리드 배치용) */
.sub .feat_card.bd{background:#fff;border:1px solid #EAEBEC;min-height:15.375rem;padding:2.5rem 2rem;}
.sub .feat_card.bd .en{margin-top:0;}
.sub .feat_card.bd p{margin-top:2rem;font-size:1rem;}
.sub .feat_card.bd h4{margin-top:.625rem;}
.sub .card_grid .feat_card{width:auto;}
a.feat_card{cursor:pointer;}
/* .sub a.feat_card.bd:hover{border-color:var(--primary);} */
/* 카드 변형 : 와이드(주사치료 상세 등 슬라이더용) + 소제목 */
.sub .feat_slider.wide .feat_card.lg{width:38rem;padding:2.5rem;background:var(--bg);}
.sub .feat_card.lg .en{margin-top:0;}
.sub .feat_card .sb{margin-top:1.75rem;font-size:1.25rem;font-weight:700;line-height:1.45;color:#171719;}
.sub .feat_card .sb + p{margin-top:1.25rem;}
.sub .feat_card .bm{margin-top:auto;padding-top:1.25rem;}
/* 카드 변형 : 밝은 카드(흰 배경 섹션의 질환 카드) */
.sub .card.lt{background:var(--bg);border-color:transparent;}
.sub .card.lt h4{font-size:1.5rem;line-height:1.33;letter-spacing:-.01em;color:#292A2D;}
.sub .card.lt p{margin-top:.75rem;color:#70737C;}
.sub .card.lt .en{color: var(--pink);}
.sub .card.lt .btn_out{margin-top:1.25rem;padding:.75rem 1.5rem;color:#292A2D;border-color:#292A2D;}
.sub .card.lt .btn_out:hover{background:var(--navy);border-color:var(--navy);color:#fff;}
.sub .card .btn_out{margin-top:1.5rem;font-size:1rem;padding:.5rem 1.25rem;}

/* 조건 박스 : "이런 경우 고려할 수 있습니다" */
.sub .cond_box{background:var(--bg);border-radius:1rem;padding:2.5rem;}
.sub .sec.gray .cond_box{background:#fff;}
.sub .cond_box .bt{display:flex;align-items:center;gap:.625rem;margin-bottom:1.25rem;font-size:1.25rem;font-weight:700;line-height:1.45;color:var(--navy);}
.sub .cond_box .bt .mk{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;flex-shrink:0;border-radius:50%;background:var(--primary);color:#fff;font-size:.9375rem;font-weight:700;}
.sub .sec_dark .cond_box{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);}
.sub .sec_dark .cond_box .bt,
.sub .sec_dark .cond_box .txt_body{color:#fff;}
.sub .sec_dark .cond_box .dot_list li{color:#fff;}   /* 다크 배경 안내 박스의 점 목록 */
/* .cond_box.solid : 다크 배경 위에서도 흰 카드로 (위쪽 흰 카드와 통일) */
.sub .sec_dark .cond_box.solid{background:#fff;border-color:transparent;}
.sub .sec_dark .cond_box.solid .bt{color:var(--navy);}
.sub .sec_dark .cond_box.solid .dot_list li{color:#171719;}
.sub .check_list.cols{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 2.5rem;}
.sub .cond_box .note{margin-top:1.25rem;}

/* 목적 리스트 : 상단 보더형 4열 */
.sub .line_list{display:grid;grid-template-columns:repeat(4,1fr);gap:2.5rem;}
.sub .line_list li{border-top:2px solid var(--navy);padding-top:1.5rem;}
.sub .line_list .no{font-size:.875rem;font-weight:700;line-height:1.45;color:var(--primary); margin-top: 0 !important;}
.sub .line_list h4{margin-top:.5rem;font-size:1.5rem;font-weight:700;line-height:1.35;color:var(--navy);}
.sub .line_list p{margin-top:.75rem;font-size:1rem;line-height:1.5;color:#5A5C63;}

/* STEP 그리드 : 3열 카드 + 원형 화살표 */
.sub .step_flow{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.sub .step_flow .sf{position:relative;background:#fff;border-radius:1.25rem;padding:2.25rem 2rem;}
.sub .sec:not(.gray) .step_flow .sf{background:var(--bg);}
.sub .sec:not(.gray) .step_flow .sf .sf_dept{background: #E4E9EE; color: #3D5467;}   /* 흰 섹션(연회색 카드) : 연한 네이비 톤 칩 */
/* 탭 안에 .sec.gray 를 중첩하면 바깥 .sec 때문에 위 규칙이 걸리므로 되돌린다 */
.sub .sec.gray .step_flow .sf{background:#fff;}
.sub .step_flow .sf .st{margin-top:0;font-size:.875rem;font-weight:700;line-height:1.45;color:var(--primary);}
.sub .step_flow .sf h4{margin-top:.5rem;font-size:1.25rem;font-weight:700;line-height:1.45;color:var(--navy);}
.sub .step_flow .sf p{margin-top:1rem;font-size:1rem;line-height:1.5;color:#5A5C63;}
.sub .step_flow .sf .imgbox{margin-bottom:1.5rem;}
.sub .step_flow .sf_arw{position:absolute;top:50%;right:0;transform:translate(50%,-50%);z-index:1;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--primary);}
.sub .step_flow .sf_arw .mi{width:1rem;height:1rem;color:#fff;}
.sub .sf_arw .mi{-webkit-mask-image:url('/img/sub/ico/arrow-right.svg');mask-image:url('/img/sub/ico/arrow-right.svg');}

/* STEP 행 : 가로 행 카드 + 행 사이 아래 화살표 */
.sub .check_row{display:flex;justify-content:space-between;gap:5rem;}
.sub .check_row > .t{flex:0 0 25rem;display:flex;flex-direction:column;gap:1.75rem;}
.sub .check_row > .r{flex:1;min-width:0;}
.sub .step_rows{display:flex;flex-direction:column;}
.sub .step_rows .sr{position:relative;display:flex;align-items:center;gap:3rem;background:#fff;border-radius:1.25rem;padding:1.5rem 3rem;}
.sub .sec:not(.gray) .step_rows .sr{background:var(--bg);}
.sub .step_rows .sr + .sr{margin-top:2.25rem;}
.sub .step_rows .sr + .sr::before{content:'';position:absolute;top:-2.25rem;left:50%;transform:translateX(-50%) rotate(90deg);width:2.25rem;height:2.25rem;background:var(--primary);-webkit-mask:url('/img/sub/ico/arrow-right.svg') center / 1.375rem no-repeat;mask:url('/img/sub/ico/arrow-right.svg') center / 1.375rem no-repeat;}
.sub .step_rows .sr .h{flex:0 0 12.5rem;}
.sub .step_rows .sr .st{font-size:.875rem;font-weight:700;line-height:1.45;color:var(--primary);}
.sub .step_rows .sr h4{margin-top:.25rem;font-size:1.375rem;font-weight:700;line-height:1.45;color:var(--navy);}
.sub .step_rows .sr p{font-size:1.125rem;line-height:1.5;color:#5A5C63;}

/* 강조 배너 칩 (A → B → C) */
.sub .chip_row{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;}
.sub .chip_row span{padding:.5rem 1.5rem;border:1px solid rgba(255,255,255,.4);border-radius:2rem;font-size:1.125rem;font-weight:700;line-height:1.5;}
.sub .chip_row i{font-style:normal;font-weight:700;color:var(--primary);}
.sub .point_box.navy .label{color:var(--primary);font-weight:700;}
.sub .point_box.navy h4{font-size:1.75rem;font-weight:700;line-height:1.35;color:#fff;}
.sub .point_box.navy{display:flex;flex-direction:column;gap:1.5rem;align-items:center;text-align:center;padding:3.75rem 2.5rem;}

/* 타이틀 크기 변형 */
.sub .sec_head.lg h3{font-size:2.8125rem;letter-spacing:-.02em;line-height:1.15;}
.sub .sec_head.md h3{font-size:2rem;letter-spacing:-.015em;line-height:1.25;}
.sub .mid_tit.sm{font-size:1.5rem;line-height:1.43;letter-spacing:-.01em;color:var(--navy);}
/* 중제목 + 카드 묶음 : 시안 panel_box01(8177:10562) 타이틀↔리스트 간격 28px */
.sub .panel_box{display:flex;flex-direction:column;gap:1.75rem;}
.sub .sec_dark .mid_tit{color:#fff;}
/* 본문 소제목 (fs24 강조 문장) */
.sub .txt_sub{font-size:1.5rem;font-weight:700;line-height:1.33;letter-spacing:-.01em;color:var(--navy);}
.sub .sec_dark .txt_sub{color: #fff;}
.sub .sec_dark .txt_body{color: #DBDCDF;}
.sub .txt_sub + .txt_body{margin-top:1.75rem; line-height: 150%;}
/* 조건 박스 가로형 : 좌측 타이틀 + 우측 2열 도트 리스트 */
.sub .cond_box.row{display:flex;align-items:flex-start;gap:6.25rem;padding:2rem;}
.sub .cond_box.row .bt{flex-shrink:0;margin-bottom:0;}
.sub .dot_list{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.5rem;}
.sub .dot_list li{position:relative;padding-left:1.0625rem;font-size:1rem;line-height:1.5;color:#171719;}
.sub .dot_list li::before{content:'';position:absolute;left:0;top:.625rem;width:5px;height:5px;border-radius:50%;background:var(--primary);}
.sub .dot_list.v{display:flex;flex-direction:column;gap:.375rem;}   /* 1열 세로 도트 목록 (카드 안 설명 등) */
.sub .dot_list.v li{line-height:1.55;color:var(--body);}
/* 다크 질환 카드 : fs24 타이틀 변형 */
.sub .card.md h4{font-size:1.5rem;letter-spacing:-.01em;}
/* 아웃라인 버튼 네이비 변형 */
.sub .btn_out.nv{color:var(--navy);border-color:var(--navy);}
.sub .btn_out.nv:hover{background:var(--navy);border-color:var(--navy);color:#fff;}
/* 노트 크게(fs16) */
.sub .note.lg{font-size:1rem;line-height:1.5;}
/* 낮은 다크 섹션 (치료사례 등 콘텐츠가 적은 풀블리드) */
.sub .sec_dark.sm{min-height:0;}
/* 오버플로 컷 (의료진 슬라이더 등 가로로 넘치는 섹션) */
.sub .sec.ovh{overflow:hidden;}
.sub .pg_non-surgical .card .btn_out{padding: 0.75rem 1.5rem;}
.sub .pg_non-surgical .sec_dark .note{color: #E1E2E4;}
.sub .pg_arthroscopy .feat_card .fi{width: 2.75rem; height: auto; margin-bottom: 2rem; display: block;}

/* 관절센터 배경 이미지 */
.sub .bg_nonsurg-sec05_bg01{background-image:url('/img/treatment/nonsurg-sec05_bg01.webp');}
.sub .bg_nonsurg-sec12_bg01{background-image:url('/img/treatment/nonsurg-sec12_bg01.jpg');}
.sub .bg_nonsurg-sec08_bg01{background-image:url('/img/treatment/nonsurg-sec08_bg01.webp');}
.sub .bg_nonsurg-sec10_bg01{background-image:url('/img/treatment/nonsurg-sec10_bg01.webp');}
.sub .bg_treat-cta_bg01{background-image:url('/img/treatment/treat-cta_bg01.webp');}
.sub .bg_arthro-sec03_bg01{background-image:url('/img/treatment/arthro-sec03_bg01.webp');}
.sub .bg_arthro-sec05_bg01{background-image:url('/img/treatment/arthro-sec05_bg01.webp');}
.sub .bg_arthro-sec07_bg01{background-image:url('/img/treatment/arthro-sec07_bg01.webp');}
.sub .bg_arthro-sec09_bg01{background-image:url('/img/treatment/arthro-sec09_bg01.jpg');}
.sub .bg_shoulder-spec_bg01{background-image:url('/img/treatment/shoulder-spec_bg01.webp');}
.sub .bg_shoulder-endo_bg01{background-image:url('/img/treatment/shoulder-endo_bg01.webp');}
.sub .bg_shoulder-case_bg01{background-image:url('/img/treatment/shoulder-case_bg01.webp');}
.sub .bg_shoulder-hto_bg01{background-image:url('/img/treatment/shoulder-hto_bg01.jpg'); min-height: initial;}
.sub .bg_knee-hto_bg01{background-image:url('/img/treatment/knee-hto_bg01.webp'); min-height: initial;}
.sub .bg_shoulder-cta_bg01{background-image:url('/img/treatment/shoulder-cta_bg01.jpg');}
@media (max-width:768px){
.sub .bg_nonsurg-sec05_bg01{background-image:url('/img/treatment/nonsurg-sec05_bg01_m.jpg');}
.sub .bg_nonsurg-sec12_bg01{background-image:url('/img/treatment/nonsurg-sec12_bg01_m.jpg');}
.sub .bg_nonsurg-sec08_bg01{background-image:url('/img/treatment/nonsurg-sec08_bg01_m.jpg');}
.sub .bg_nonsurg-sec10_bg01{background-image:url('/img/treatment/nonsurg-sec10_bg01_m.jpg');}
.sub .bg_treat-cta_bg01{background-image:url('/img/treatment/treat-cta_bg01_m.jpg');}
.sub .bg_arthro-sec03_bg01{background-image:url('/img/treatment/arthro-sec03_bg01_m.jpg');}
.sub .bg_arthro-sec05_bg01{background-image:url('/img/treatment/arthro-sec05_bg01_m.jpg');}
.sub .bg_arthro-sec07_bg01{background-image:url('/img/treatment/arthro-sec07_bg01_m.jpg');}
.sub .bg_arthro-sec09_bg01{background-image:url('/img/treatment/arthro-sec09_bg01_m.jpg');}
.sub .bg_shoulder-spec_bg01{background-image:url('/img/treatment/shoulder-spec_bg01_m.jpg');}
.sub .bg_shoulder-endo_bg01{background-image:url('/img/treatment/shoulder-endo_bg01_m.jpg');}
.sub .bg_shoulder-case_bg01{background-image:url('/img/treatment/shoulder-case_bg01_m.jpg');}
.sub .bg_shoulder-hto_bg01{background-image:url('/img/treatment/shoulder-hto_bg01_m.jpg');}
.sub .bg_knee-hto_bg01{background-image:url('/img/treatment/knee-hto_bg01_m.webp');}
.sub .bg_shoulder-cta_bg01{background-image:url('/img/treatment/shoulder-cta_bg01_m.jpg');}
}

/* 관절센터 배경 이미지 : 부위별 치료 페이지 (시안 8538:9122)
   무릎/고관절/족부·발목/팔꿈치·수부/골절·외상 — 768 이하 모바일 전용(2x) 이미지로 교체 */
.sub .bg_knee-cart_bg01{background-image:url('/img/treatment/knee-cart_bg01.webp');}
.sub .bg_knee-endo_bg01{background-image:url('/img/treatment/knee-endo_bg01.webp');}
.sub .bg_knee-hto_bg02{background-image:url('/img/treatment/knee-hto_bg02.webp');}
.sub .bg_knee-lig_bg01{background-image:url('/img/treatment/knee-lig_bg01.webp');}
.sub .bg_knee-case_bg01{background-image:url('/img/treatment/knee-case_bg01.webp');}
.sub .bg_knee-cta_bg01{background-image:url('/img/treatment/knee-cta_bg01.webp');}
.sub .bg_knee-tka_bg01{background-image:url('/img/treatment/knee-tka_bg01.webp');}
.sub .bg_hip-spec_bg01{background-image:url('/img/treatment/hip-spec_bg01.webp');}
.sub .bg_hip-case_bg01{background-image:url('/img/treatment/hip-case_bg01.webp');}
.sub .bg_hip-cta_bg01{background-image:url('/img/treatment/hip-cta_bg01.webp');}
.sub .bg_foot-mica_bg01{background-image:url('/img/treatment/foot-mica_bg01.webp');}
.sub .bg_foot-endo_bg01{background-image:url('/img/treatment/foot-endo_bg01.webp');}
.sub .bg_foot-case_bg01{background-image:url('/img/treatment/foot-case_bg01.webp');}
.sub .bg_foot-cta_bg01{background-image:url('/img/treatment/foot-cta_bg01.webp');}
.sub .bg_foot-lig_bg01{background-image:url('/img/treatment/foot-lig_bg01.webp');}
.sub .bg_foot-arth_bg01{background-image:url('/img/treatment/foot-arth_bg01.webp');}
.sub .bg_elbow-spec_bg01{background-image:url('/img/treatment/elbow-spec_bg01.webp');}
.sub .bg_elbow-endo_bg01{background-image:url('/img/treatment/elbow-endo_bg01.webp');}
.sub .bg_elbow-case_bg01{background-image:url('/img/treatment/elbow-case_bg01.webp');}
.sub .bg_elbow-cta_bg01{background-image:url('/img/treatment/elbow-cta_bg01.webp');}
.sub .bg_fx-point_bg01{background-image:url('/img/treatment/fx-point_bg01.webp');}
.sub .bg_fx-spec_bg01{background-image:url('/img/treatment/fx-spec_bg01.webp');}
.sub .bg_fx-case_bg01{background-image:url('/img/treatment/fx-case_bg01.webp');}
.sub .bg_fx-cta_bg01{background-image:url('/img/treatment/fx-cta_bg01.webp');}
@media (max-width:768px){
.sub .bg_knee-cart_bg01{background-image:url('/img/treatment/knee-cart_bg01_m.webp');}
.sub .bg_knee-endo_bg01{background-image:url('/img/treatment/knee-endo_bg01_m.webp');}
.sub .bg_knee-hto_bg02{background-image:url('/img/treatment/knee-hto_bg02_m.webp');}
.sub .bg_knee-lig_bg01{background-image:url('/img/treatment/knee-lig_bg01_m.webp');}
.sub .bg_knee-case_bg01{background-image:url('/img/treatment/knee-case_bg01_m.webp');}
.sub .bg_knee-cta_bg01{background-image:url('/img/treatment/knee-cta_bg01_m.webp');}
.sub .bg_knee-tka_bg01{background-image:url('/img/treatment/knee-tka_bg01_m.webp');}
.sub .bg_hip-spec_bg01{background-image:url('/img/treatment/hip-spec_bg01_m.webp');}
.sub .bg_hip-case_bg01{background-image:url('/img/treatment/hip-case_bg01_m.webp');}
.sub .bg_hip-cta_bg01{background-image:url('/img/treatment/hip-cta_bg01_m.webp');}
.sub .bg_foot-mica_bg01{background-image:url('/img/treatment/foot-mica_bg01_m.webp');}
.sub .bg_foot-endo_bg01{background-image:url('/img/treatment/foot-endo_bg01_m.webp');}
.sub .bg_foot-case_bg01{background-image:url('/img/treatment/foot-case_bg01_m.webp');}
.sub .bg_foot-cta_bg01{background-image:url('/img/treatment/foot-cta_bg01_m.webp');}
.sub .bg_foot-lig_bg01{background-image:url('/img/treatment/foot-lig_bg01_m.webp');}
.sub .bg_foot-arth_bg01{background-image:url('/img/treatment/foot-arth_bg01_m.webp');}
.sub .bg_elbow-spec_bg01{background-image:url('/img/treatment/elbow-spec_bg01_m.webp');}
.sub .bg_elbow-endo_bg01{background-image:url('/img/treatment/elbow-endo_bg01_m.webp');}
.sub .bg_elbow-case_bg01{background-image:url('/img/treatment/elbow-case_bg01_m.webp');}
.sub .bg_elbow-cta_bg01{background-image:url('/img/treatment/elbow-cta_bg01_m.webp');}
.sub .bg_fx-point_bg01{background-image:url('/img/treatment/fx-point_bg01_m.webp');}
.sub .bg_fx-spec_bg01{background-image:url('/img/treatment/fx-spec_bg01_m.webp');}
.sub .bg_fx-case_bg01{background-image:url('/img/treatment/fx-case_bg01_m.webp');}
.sub .bg_fx-cta_bg01{background-image:url('/img/treatment/fx-cta_bg01_m.webp');}
}

@media (max-width:1024px){
.sub .jt_tabs{display:flex;gap:.75rem;overflow-x:auto;margin-left:-1.25rem;margin-right:-1.25rem;padding:0 1.25rem;}
.sub .jt_tabs::-webkit-scrollbar{display: none;}
.sub .jt_tabs button{flex:1 0 8.75rem;padding:1rem .75rem;font-size:1rem;border-radius:.75rem;}
.sub .jt_tabs button i{height: 2.75rem;}
.sub .pill_menu_wrap{margin:0 -1.25rem;padding:0 1.25rem;}
.sub .pill_menu{grid-auto-columns:auto;}
.sub .pill_menu button{padding:.625rem 1.25rem;font-size:.9375rem;}
.sub .feat_slider.wide .feat_card.lg{width:20rem; padding: 1.5rem;}
.sub .feat_slider.wide .feat_card.lg .btn_out{font-size: 0.875rem; padding: 0.65rem 1rem;}
.sub .feat_slider.wide .feat_card.lg .btn_out .mi{ width: 1rem; height: 1rem;}
.sub .feat_card .sb{margin-top: 1.25rem;}
.sub .feat_card.bd{padding:1.5rem 1.25rem;min-height:0;}
.sub .card.lt h4{font-size:1rem;line-height:1.35;}
.sub .card.lt p{margin-top:.375rem;}
.sub .card.lt .btn_out{padding:.55rem 1rem; font-size: 0.875rem; gap: 0.5rem;}
.sub .card.lt .btn_out .mi{width: 1.125rem; height: 1.125rem;}
.sub .panel_box{gap:1.25rem;}
.sub .feat_card.bd p{margin-top: 1rem; font-size: 0.9375rem;}
.sub .cond_box{padding:1.5rem 1.25rem;}
.sub .check_list.cols{grid-template-columns:1fr;gap:.5rem;}
.sub .cond_box.row{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.5rem 1.25rem;}
.sub .cond_box .bt .mk{width: 1.375rem; height: 1.375rem; font-size: 0.875rem;}
.sub .cond_box .bt{font-size: 1.125rem;}
.sub .dot_list{grid-template-columns:1fr;gap:.35rem;}
.sub .dot_list li{font-size: 0.9375rem; padding-left: 0.875rem;}
.sub .dot_list li::before{top: 0.45rem;}
.sub .card.md h4{font-size:1.25rem;}
.sub .txt_sub{font-size:1.125rem;}
.sub .sec_head.lg h3{font-size:1.75rem;}
.sub .sec_head.md h3{font-size:1.375rem;}
.sub .mid_tit.sm{font-size:1.25rem;}
.sub #sec_exercise .stack{gap: 2rem;}
.sub .line_list{grid-template-columns:1fr;gap:1.5rem; margin-top: 1.25rem !important;}
.sub .line_list h4{font-size:1.125rem;}
.sub .line_list p{font-size: 0.9375rem;}
.sub .step_flow{grid-template-columns:1fr;gap:1.25rem;}
.sub .step_flow .sf{padding:1.5rem 1.25rem;}
.sub .step_flow .sf_arw{display:none;}
.sub .check_row{flex-direction:column;gap:2rem;}
.sub .check_row > .t{flex:none;gap:1rem;}
.sub .step_rows .sr{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1.5rem 1.25rem;}
.sub .step_rows .sr + .sr{margin-top:1.75rem;}
.sub .step_rows .sr + .sr::before{top:-1.75rem;width:1.75rem;height:1.75rem;-webkit-mask-size:1.125rem;mask-size:1.125rem;}
.sub .step_rows .sr .h{flex:none;}
.sub .step_rows .sr h4{font-size:1.125rem;}
.sub .step_rows .sr p{font-size:.9375rem;}
.sub .chip_row span{font-size:.9375rem;padding:.375rem 1rem;}
.sub .point_box.navy{padding:2rem 1.25rem;gap:1rem;}
.sub .point_box.navy h4{font-size:1.25rem;}
.sub .pg_non-surgical .card .btn_out{padding: 0.55rem 1.25rem; font-size: 0.875rem; gap: 0.5rem;}
.sub .pg_non-surgical .card .btn_out .mi{width: 1.125rem; height: 1.125rem;}
.sub .pg_non-surgical .cmp_a .hd span:first-child, .sub .cmp_a .rw dt{width: 8rem;}
.sub .pg_non-surgical .cmp_b{flex: 0.55;}
.sub .pg_arthroscopy .feat_card .fi{width: 1.75rem; margin-bottom: 1rem;}
}
@media (max-width:768px){
.sub .pg_non-surgical .cmp_b{flex: 0 0 22rem;}
.sub .jt_panel .btn_out,
.sub .card.lt .btn_out{width: auto;}
.sub .jt_tabs button{gap: 0.5rem; padding: 0.875rem;}
.sub .jt_tabs button i{height: 2rem;}
.sub .chip_row{gap: 0.5rem;}
}

/* ── 척추내시경 : 시술 정의(sec01) 내시경 화면 밴드 ──────────
   Figma 7825:7347 / 개별 클래스로만 구성해 공통 클래스에 영향 없음 */
.sub .endo_media{display:flex;flex-direction:column;gap:1rem;}
.sub .endo_media .card_grid.c3{gap:1rem;}
.sub .endo_media .imgbox{border-radius: 1.25rem;}
.sub .endo_scope{display:flex;flex-direction:column;gap:.5rem;}
.sub .endo_scope_row{display:flex; overflow: hidden; border-radius: 1.25rem;}
.sub .endo_scope_row .im{flex:1 1 0;min-width:0;aspect-ratio:530/375;overflow:hidden;background:#eee;}
.sub .endo_scope_row .im img{width:100%;height:100%;object-fit:cover;}
.sub .endo_scope_cap{display:flex;align-items:center;justify-content:center;padding:.75rem 1.25rem;background:#eaebec;border-radius:.75rem;font-size:1.125rem;font-weight:700;line-height:1.5;color:var(--gray3);text-align:center;}
@media (max-width:1024px){
.sub .endo_media{gap:.75rem;}
.sub .endo_media .card_grid.c3{gap:.75rem;}
.sub .endo_scope_cap{padding:.625rem 1rem;border-radius:.5rem;font-size:1rem;}
}
@media (max-width:768px){
.sub .endo_scope_row{flex-direction:column;}
.sub .endo_scope_row .im{flex:none;width:100%;}
.sub .endo_scope_cap{font-size:.9375rem;}
}

/* ── 척추내시경 : 치료강점(sec03) 전용 ─────────────────────────
   Figma 7796:4954 / 개별 클래스로만 구성해 공통 클래스에 영향 없음 */
.sub .endo_str > div{min-width:0;}
.sub .endo_str .endo_acad{grid-column:1/-1;}
.sub .endo_roll .swiper{overflow:hidden;border-radius:inherit;}
.sub .endo_roll .swiper-slide{flex-shrink:0;width:100%;}
.sub .endo_roll .swiper-slide img{display:block;width:100%;}
.sub .endo_roll_nav{position:absolute;right:1.25rem;bottom:1.25rem;z-index:2;display:flex;align-items:center;gap:.625rem;}
.sub .endo_roll_nav button{display:flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;padding:0;background:#fff;border-radius:50%;color:var(--gray3);cursor:pointer;transition:var(--t);}
.sub .endo_roll_nav .mi{width:1.375rem;height:1.375rem;-webkit-mask-image:url('/img/sub/ico/arrow-thin-right.svg');mask-image:url('/img/sub/ico/arrow-thin-right.svg');}
.sub .endo_roll_nav .prev .mi{transform:rotate(180deg);}
.sub .endo_roll_nav button:hover{background:var(--primary);border-color:var(--primary);color:#fff;}
.sub .endo_acad_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.sub .endo_acad_grid .imgbox{aspect-ratio:520/376;border-radius:1.375rem;background:#eee;}
.sub .endo_acad_grid .imgbox img{width:100%;height:100%;object-fit:cover;}
.sub .endo_acad_tx{margin-top:3rem;}
.sub .endo_acad_award{margin-top:1.25rem;}
.sub .endo_acad_more{margin-top:1.25rem;gap:.625rem;}
.sub .endo_acad_more .ar{font-size:1.25rem;line-height:1.45;}
.sub .endo_img{margin: 2rem auto 0; max-width: 50.0625rem;}
@media (max-width:1024px){
.sub .endo_roll_nav{right:1rem;bottom:1rem;gap:.5rem;}
.sub .endo_roll_nav button{width:2.5rem;height:2.5rem;}
.sub .endo_roll_nav .mi{width:1.125rem;height:1.125rem;}
.sub .endo_acad_grid{gap:.75rem;}
.sub .endo_acad_grid .imgbox{border-radius:.875rem;}
.sub .endo_acad_tx{margin-top:2rem;}
.sub .endo_acad_more{width:auto;margin:1.25rem 0 0;order:0;justify-content:flex-start;gap:.5rem;padding:.625rem 1.25rem;font-size:.9375rem;}
.sub .endo_acad_more .ar{font-size:1.125rem;}
.sub .endo_img{margin: 1.5rem auto 0;}
}
@media (max-width:768px){
.sub .endo_roll_nav{right:.75rem;bottom:.75rem;}
.sub .endo_acad_grid{grid-template-columns:repeat(2,1fr);gap:.5rem;}
.sub .endo_acad_tx{margin-top:1.5rem;}
.sub .endo_acad_award{margin-top:1rem;}
.sub .endo_acad_more{margin-top:1rem;padding:.5rem 1.125rem;font-size:.875rem;}
.sub .endo_acad_more .ar{font-size:1rem;}
.sub .endo_img{margin: 1rem auto 0;}
}


/* ── 원형 치료 안내 : 원 안에 부위명 + 설명 ──────────────────
   관절내시경 고관절 탭(HIP ARTHROSCOPY) sec_dark 안에서 사용.
   원 안쪽 내접 사각형에 글이 들어오도록 지름/패딩을 rem 으로 고정한다 */
.sub .care_round{display:flex;justify-content:center;gap:2.5rem;}
.sub .care_round > li{flex:none;}
.sub .care_round .ci{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;width:18rem;height:18rem;padding:1.5rem;border-radius:50%;background:var(--bg);border:1px solid var(--line);text-align:center;}
.sub .care_round .k{font-size:1.25rem;font-weight:700;line-height:1.33;letter-spacing:-.01em;color:var(--navy);}
.sub .care_round .k em{display:block;margin-top:.125rem;font-style:normal;font-size:1rem;font-weight:500;}
.sub .care_round .v{font-size:.9375rem;line-height:1.5;color:var(--body2);word-break:keep-all;}
.sub .sec_dark .care_round .ci{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3);}
.sub .sec_dark .care_round .k{color:#fff;}
.sub .sec_dark .care_round .v{color:var(--bg);}
@media (max-width:1024px){
.sub .care_round{gap:1rem;}
.sub .care_round .ci{width:14rem;height:14rem;padding:2.25rem;gap:.5rem;}
.sub .care_round .k{font-size:1.0625rem;line-height:1.35;}
.sub .care_round .k em{font-size:.875rem;}
.sub .care_round .v{font-size:.8125rem;line-height:1.45;}
}
@media (max-width:768px){
.sub .care_round{flex-direction:column;align-items:center;gap:1rem;}
.sub .care_round .ci{width:15rem;height:15rem;padding:2.5rem;gap:.625rem;}
.sub .care_round .k{font-size:1.125rem;}
.sub .care_round .v{font-size:.875rem;}
}

/* ── br 줄바꿈 구간 제어 ── */
.sub br.b_off{display:none;}
.sub br.b_s1640,
.sub br.b_s1440,
.sub br.b_s1280,
.sub br.b_s1024,
.sub br.b_s900,
.sub br.b_s768,
.sub br.b_s600,
.sub br.b_s500{display:none;}
@media (max-width:1640px){
.sub br.b_h1640{display:none;}
.sub br.b_s1640{display:inline;}
}
@media (max-width:1440px){
.sub br.b_h1440{display:none;}
.sub br.b_s1440{display:inline;}
}
@media (max-width:1280px){
.sub br.b_h1280{display:none;}
.sub br.b_s1280{display:inline;}
}
@media (max-width:1024px){
.sub br.b_h1024{display:none;}
.sub br.b_s1024{display:inline;}
}
@media (max-width:900px){
.sub br.b_h900{display:none;}
.sub br.b_s900{display:inline;}
}
@media (max-width:768px){
.sub br.b_h768{display:none;}
.sub br.b_s768{display:inline;}
}
@media (max-width:600px){
.sub br.b_h600{display:none;}
.sub br.b_s600{display:inline;}
}
@media (max-width:500px){
.sub br.b_h500{display:none;}
.sub br.b_s500{display:inline;}
}

/* ── 어깨치료(시안 8142:7999) 보강 ────────────────────────────
   적응증 카드 아이콘 / STEP 4열 / 치료사례 BEFORE·AFTER */
.sub .feat_card.bd .fi{width:2.75rem;height:2.75rem;}          /* 시안 44px */
.sub .feat_card.bd .fi + .en{margin-top:2rem;}                 /* 시안 아이콘↔번호 32px */
.sub .feat_card.bd .fi + h4{margin-top:2rem;}   /* 번호(.en) 없이 아이콘 바로 아래 제목 */
.sub .step_flow.c4{grid-template-columns:repeat(4,1fr);gap:1.75rem;}
.sub .step_flow.c5{grid-template-columns:repeat(5,1fr);}
.sub .pg_hip .card_grid.c2 .feat_card{position:relative;overflow:hidden;min-height: initial; background: var(--navy) center / cover no-repeat;}
/* 비교 카드 배경(시안 8543:9130) + 딤 : 텍스트 가독성 */
.sub .pg_hip .card_grid.c2 .feat_card::before{content:'';position:absolute;inset:0;background:#000; opacity: 0.5;}
.sub .pg_hip .card_grid.c2 .feat_card > *{position:relative;z-index:1;}
.sub .pg_hip .card_grid.c2 .feat_card.bg_hip-cmp01{background-image:url('/img/treatment/hip-cmp_bg01.webp');}
.sub .pg_hip .card_grid.c2 .feat_card.bg_hip-cmp02{background-image:url('/img/treatment/hip-cmp_bg02.webp');}
.sub .pg_hip .card_grid.c2 .feat_card *{color: #FFF;}
.sub .pg_hip .card_grid.c2 .feat_card h3{margin-top: 0.75rem;}
.sub .pg_hip .card_grid.c2 .feat_card p{margin-top: 0.9375rem;}
.sub .pg_hip .card_grid.c2 .feat_card .bm{padding-top: 0; margin-top: 1.75rem;}
.sub .pg_hip .card_grid.c2 .feat_card .btn_out:hover,
.sub .pg_hip .card_grid.c2 .feat_card .btn_out:hover *{color: var(--navy);}
@media (max-width:1024px){
.sub .feat_card.bd .fi{width:2.25rem;height:2.25rem;}
.sub .feat_card.bd .fi + .en{margin-top:1.25rem;}
.sub .feat_card.bd .fi + h4{margin-top:1.25rem;}
.sub .step_flow.c4{grid-template-columns:1fr;gap:1.25rem;}
.sub .step_flow.c5{grid-template-columns:1fr;}
}
/* STEP 그리드 변형 : 이미지 풀블리드 카드 (시안 step_item 8144:8358)
   .fb 가 붙은 .step_flow 에만 적용 → 다른 페이지의 .step_flow 는 그대로 */
.sub .sec .step_flow.fb .sf{padding:0 0 1.75rem;background:#fff;border:1px solid #EAEBEC;border-radius:1.25rem;}
.sub .step_flow.fb .sf .imgbox{margin:0 0 1.75rem;border-radius:1.1875rem 1.1875rem 0 0;aspect-ratio:379/211;background:#eee;}
.sub .step_flow.fb .sf .imgbox img{width:100%;height:100%;object-fit:cover;}
.sub .step_flow.fb .sf .imgbox.line{aspect-ratio:4/3;background:#fff;border: none; border-bottom:1px solid #EAEBEC;}  /* 질환 진행단계 일러스트(4:3)는 잘리지 않게 */
.sub .step_flow.fb .sf .st{padding:0 1.75rem 0 1.25rem;}
.sub .step_flow.fb .sf h4{margin-top:.625rem;padding:0 1.75rem 0 1.25rem;letter-spacing:-.005em;}
.sub .step_flow.fb .sf p{margin-top:1.25rem;padding:0 1.75rem 0 1.25rem;}
/* 치료사례 BEFORE/AFTER : 실사 이미지 들어오기 전 플레이스홀더 비율 */
.sub .ba figure .imgbox{border-radius:0;aspect-ratio:400/320;}
@media (max-width:1024px){
.sub .sec .step_flow.fb .sf{padding:0 0 1.25rem;}
.sub .step_flow.fb .sf .imgbox{margin-bottom:1.25rem;}
.sub .step_flow.fb .sf .st,
.sub .step_flow.fb .sf h4{padding:0 1.25rem;}
.sub .step_flow.fb .sf p{margin-top:1rem;padding:0 1.25rem;}
}
/* 강조 배너용 흐름 표시 : 항목 사이에 화살표 (밝은 섹션 기준) */
.sub .flow_row{display:flex;align-items:center;justify-content:center;gap:2.5rem;flex-wrap:wrap;}
.sub .flow_row li{position:relative;padding:1rem 2.25rem;background:#fff;border:1px solid var(--line);border-radius:6.25rem;font-size:1.25rem;font-weight:700;line-height:1.45;letter-spacing:-.005em;color:var(--navy);}
.sub .flow_row li + li::before{content:'';position:absolute;left:-1.25rem;top:50%;transform:translate(-50%,-50%);width:1.125rem;height:1.125rem;background:var(--primary);-webkit-mask:url('/img/sub/ico/arrow-right2.svg') no-repeat center/contain;mask:url('/img/sub/ico/arrow-right2.svg') no-repeat center/contain;}
.sub .sec_dark .flow_row li{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3);color:#fff;}
.sub .sec_dark .flow_row li + li::before{background:#fff;}
@media (max-width:1024px){
.sub .flow_row{gap:1.75rem;}
.sub .flow_row li{padding:.75rem 1.5rem;font-size:1rem;}
.sub .flow_row li + li::before{left:-.875rem;width:1rem;height:1rem;}
}
@media (max-width:768px){
.sub .flow_row{flex-direction:column;gap:1.75rem;}
.sub .flow_row li{width:100%;text-align:center;}
.sub .flow_row li + li::before{left:50%;top:-.875rem;transform:translate(-50%,-50%) rotate(90deg);}
}
/* 수술정보 : 치료법이 둘로 나뉠 때 소제목 + 표를 묶는다 */
.sub .spec_group{display:flex;flex-direction:column;gap:2rem;}
@media (max-width:1024px){
.sub .spec_group{gap:1.25rem;}
}
/* 아래 섹션으로 내려가는 버튼 : 화살표를 아래로 */
.sub .btn_out .mi.dn{transform:rotate(90deg);}
/* 버튼 2개 이상을 한 줄로 */
.sub .btn_row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;}
.sub .btn_row .btn_more{margin-top:0;}
@media (max-width:1024px){
.sub .btn_row{gap:.625rem;}
.sub .btn_row .btn_out{margin:0;}
}
.sub .btn_row.ta-c{justify-content:center;}

/* ── 주요 적용 질환 카드 : 이미지형 (관절내시경, 시안 8460:9075) ──
   .card.lt 에 .pic 이 붙을 때만 적용 → 다른 페이지의 .card.lt 는 그대로 */
.sub .card.lt.pic{display:flex;flex-direction:column;padding:0;background:#fff;border:1px solid #EAEBEC;border-radius:1.25rem;overflow:hidden;}
.sub .card.lt.pic .imgbox{flex:none;aspect-ratio:515/365;border-radius:0;background:#eee;border:0;border-bottom:1px solid #E1E2E4;}
.sub .card.lt.pic .imgbox.line{background:#fff;}
.sub .card.lt.pic .imgbox.empty{aspect-ratio:515/365;background:#eee;}
.sub .card.lt.pic .imgbox img{width:100%;height:100%;object-fit:cover;}
.sub .card.lt.pic .cb{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:1.75rem;}
.sub .card.lt.pic .cb p{font-size:1.125rem;line-height:1.5;}
.sub .card.lt.pic .cb .btn_out{margin-top:auto;padding-top:.75rem;padding-bottom:.75rem;}
.sub .card.lt.pic .cb p + .btn_out{margin-top:1.25rem;}
/* 카드 하단 태그 : 사용 프로그램·장비 등 보조 정보를 카드 맨 아래에 작게 정렬 */
.sub .card.lt.pic .tag_row{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .75rem;width:100%;margin-top:auto;padding-top:1.25rem;}
.sub .card.lt.pic .cb p + .tag_row{margin-top:auto;}
.sub .card.lt.pic .tag_row .tt{font-size:.9375rem;font-weight:600;line-height:1.5;color:#70737C;}
.sub .card.lt.pic .tag_row ul{display:flex;flex-wrap:wrap;gap:.375rem;}
.sub .card.lt.pic .tag_row li{position:relative;display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border:1px solid #D3D5DA;border-radius:2rem;background:#F1F2F4;font-size:.9375rem;font-weight:600;line-height:1.5;color:var(--navy);}
/* 태그 툴팁 : ! 아이콘에 마우스 오버·포커스 시 설명 노출 (카드 overflow 안쪽, 태그 위로 띄움) */
.sub .tag_row .tip_ic{display:inline-flex;align-items:center;justify-content:center;width:1.125rem;height:1.125rem;flex-shrink:0;border-radius:50%;background:var(--primary);color:#fff;font-size:.75rem;font-weight:700;line-height:1;cursor:help;}
.sub .tag_row .tip_box{position:absolute;left:0;bottom:calc(100% + .625rem);z-index:5;width:20rem;max-width:calc(100vw - 2.5rem);padding:.875rem 1rem;border-radius:.625rem;background:var(--navy);color:#fff;font-size:.875rem;font-weight:400;line-height:1.5;opacity:0;visibility:hidden;transform:translateY(.25rem);transition:opacity .2s,transform .2s,visibility .2s;pointer-events:none;}
.sub .tag_row .tip_box::after{content:'';position:absolute;left:1.25rem;top:100%;border:.375rem solid transparent;border-top-color:var(--navy);}
.sub .tag_row .has_tip:hover .tip_box, .sub .tag_row .tip_ic:focus + .tip_box{opacity:1;visibility:visible;transform:none;}
@media (max-width:1024px){
.sub .card.lt.pic{border-radius:.875rem;}
.sub .card.lt.pic .cb{padding:1.25rem;}
.sub .card.lt.pic .cb p{font-size:.9375rem;}
.sub .card.lt.pic .tag_row{padding-top:1rem;}
.sub .card.lt.pic .tag_row .tt, .sub .card.lt.pic .tag_row li{font-size:.8125rem;}
.sub .tag_row .tip_box{width:16rem;font-size:.8125rem;}
}

/* ── 나란한 두 장 이미지 (수술 전|후 X-ray, 관절경 비교 등) ──
   .imgbox 안에서 4px 간격으로 붙이고 768 이하에서는 세로로 떨어뜨린다 */
.sub .img_pair{display:flex;}
.sub .img_pair > img{flex:1 1 0;min-width:0;width:auto;}
@media (max-width:768px){
.sub .img_pair{flex-direction:column;}
.sub .img_pair > img{flex:none;width:100%;}
}

/* ── 센터·병원소개·이용안내 배경 이미지 (재활/뇌신경/내과/특화/둘러보기/이용안내) ── */
.sub .bg_rehab-bg01{background-image:url('/img/treatment/rehab-bg01.webp');}
.sub .bg_rehab-bg02{background-image:url('/img/treatment/rehab-bg02.webp');}
.sub .bg_neuro-bg02{background-image:url('/img/treatment/neuro-bg02.webp');}
.sub .bg_internal-bg01{background-image:url('/img/treatment/internal-bg01.webp');}
.sub .bg_growth-bg01{background-image:url('/img/treatment/growth-bg01.webp');}
.sub .bg_tour-bg01{background-image:url('/img/about/tour-bg01.webp');}
.sub .bg_guide-bg01{background-image:url('/img/about/guide-bg01.webp');}
.sub .bg_guide-bg02{background-image:url('/img/about/guide-bg02.webp');}
.sub .bg_growth-bg02{background-image:url('/img/treatment/growth-bg02.webp');}
.sub .bg_varicose-bg01{background-image:url('/img/treatment/varicose-bg01.webp');}
.sub .bg_neuro-bg03{background-image:url('/img/treatment/neuro-bg03.webp');}
.sub .bg_internal-bg03{background-image:url('/img/treatment/internal-bg03.webp');}
@media (max-width:768px){
.sub .bg_rehab-bg01{background-image:url('/img/treatment/rehab-bg01_m.webp');}
.sub .bg_rehab-bg02{background-image:url('/img/treatment/rehab-bg02_m.webp');}
.sub .bg_neuro-bg02{background-image:url('/img/treatment/neuro-bg02_m.webp');}
.sub .bg_internal-bg01{background-image:url('/img/treatment/internal-bg01_m.webp');}
.sub .bg_growth-bg01{background-image:url('/img/treatment/growth-bg01_m.webp');}
.sub .bg_tour-bg01{background-image:url('/img/about/tour-bg01_m.webp');}
.sub .bg_guide-bg01{background-image:url('/img/about/guide-bg01_m.webp');}
.sub .bg_guide-bg02{background-image:url('/img/about/guide-bg02_m.webp');}
.sub .bg_growth-bg02{background-image:url('/img/treatment/growth-bg02_m.webp');}
.sub .bg_varicose-bg01{background-image:url('/img/treatment/varicose-bg01_m.webp');}
.sub .bg_neuro-bg03{background-image:url('/img/treatment/neuro-bg03_m.webp');}
.sub .bg_internal-bg03{background-image:url('/img/treatment/internal-bg03_m.webp');}
}

/* ── 알약 탭 압축형(층별 안내처럼 탭이 많을 때) · 상단 보더 목록 5열 ── */
.sub .pill_menu.sm{grid-auto-columns:auto;}
.sub .pill_menu.sm button{padding:.75rem 1.75rem;}
.sub .pg_doctors .pill_menu.sm{width:100%;grid-auto-columns:1fr;}
.sub .pg_doctors .pill_menu.sm button{width:100%;padding:.75rem .5rem;text-align:center;}
.sub .line_list.c5{grid-template-columns:repeat(5,1fr);gap:2rem;}
@media (max-width:1024px){
.sub .line_list.c5{grid-template-columns:1fr;gap:1.5rem;}
}

/* ── 아이콘 항목 그리드 : 검사 항목·준비물 등 짧은 항목을 아이콘과 함께 나열 ──
   .ic_flow(기본 4열) / .c5 5열 / .c3 3열 — 카드 그리드와 다른 리듬을 만들 때 사용 */
.sub .ic_flow{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;}
.sub .ic_flow.c3{grid-template-columns:repeat(3,1fr);}
.sub .ic_flow.c5{grid-template-columns:repeat(5,1fr);}
.sub .ic_flow > li{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:2.25rem 1rem;background:#fff;border:1px solid var(--line);border-radius:1rem;text-align:center;transition:var(--t);}
.sub .sec:not(.gray) .ic_flow > li{background:var(--bg);border-color:transparent;}
/* .sub .ic_flow > li:hover{border-color:var(--primary);} */
.sub .ic_flow .ci{display:flex;align-items:center;justify-content:center;width:4.25rem;height:4.25rem;flex-shrink:0;border-radius:50%;background:#fff;}
.sub .sec.gray .ic_flow .ci{background:var(--bg);}
.sub .ic_flow .ci img{width:2.25rem;height:2.25rem;}
.sub .ic_flow .k{font-size:1.125rem;font-weight:700;line-height:1.4;letter-spacing:-.005em;color:var(--navy);}
.sub .ic_flow .v{margin-top:.5rem;font-size:.9375rem;line-height:1.5;color:#5A5C63;}
@media (max-width:1024px){
.sub .ic_flow{grid-template-columns:repeat(2,1fr);gap:.75rem;}
.sub .ic_flow.c3, .sub .ic_flow.c5{grid-template-columns:repeat(2,1fr);}
.sub .ic_flow > li{gap:.875rem;padding:1.25rem .75rem;border-radius:.75rem;}
.sub .ic_flow .ci{width:3.25rem;height:3.25rem;}
.sub .ic_flow .ci img{width:1.75rem;height:1.75rem;}
.sub .ic_flow .k{font-size:.9375rem;}
.sub .ic_flow .v{margin-top:.375rem;font-size:.8125rem;}
}

/* ── 시간 안내 카드 : 진료시간처럼 구분별 시간을 표 대신 카드로 보여줄 때 ── */
.sub .time_grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;}
.sub .time_card{padding:2.5rem;background:#fff;border:1px solid var(--line);border-radius:1.25rem;}
.sub .sec:not(.gray) .time_card{background:var(--bg);border-color:transparent;}
.sub .time_card .d{display:inline-flex;align-items:center;padding:.375rem 1.125rem;border-radius:6.25rem;background:var(--navy);color:#fff;font-size:.9375rem;font-weight:700;line-height:1.5;}
.sub .time_card .d.pt{background:var(--primary);}
.sub .time_card dl{margin-top:1.75rem;}
.sub .time_card dl > div{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-bottom:1.125rem;margin-bottom:1.125rem;border-bottom:1px dashed var(--line2);}
.sub .time_card dl > div:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0;}
.sub .time_card dt{flex-shrink:0;font-size:1.125rem;line-height:1.5;color:var(--body);}
.sub .time_card dd{font-size:1.5rem;font-weight:700;line-height:1.33;letter-spacing:-.01em;color:var(--navy);text-align:right;}
.sub .time_card dd.off{font-size:1.125rem;font-weight:500;color:var(--gray4);}
.sub .time_grid + .note{margin-top:1.25rem;}
@media (max-width:1024px){
.sub .time_grid{grid-template-columns:1fr;gap:.75rem;}
.sub .time_card{padding:1.5rem 1.25rem;border-radius:.875rem;}
.sub .time_card dl{margin-top:1.25rem;}
.sub .time_card dl > div{padding-bottom:.875rem;margin-bottom:.875rem;}
.sub .time_card dt{font-size:.9375rem;}
.sub .time_card dd{font-size:1.125rem;}
.sub .time_card dd.off{font-size:.9375rem;}
}

/* ── 의료진 소개 리스트 / 상세 ── */
.sub .pt_panel{display: flex; flex-direction: column; gap: 5rem;}
.sub .pg_doctors .doc_group .sec_head{margin-bottom:1.75rem;}
.sub .pg_doctors .sec_head h3{display:inline-flex;align-items:center;gap:.625rem;font-size:1.75rem;line-height:1.3;}
.sub .pg_doctors .sec_head h3 i{flex-shrink:0;width:.625rem;height:.625rem;border-radius:50%;background:var(--primary);}
.sub .doc_grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;}
.sub .doc_card{display:flex;align-items:stretch;min-height:26.5rem;background:var(--bg);border-radius:1.25rem;overflow:hidden;} /* min-height : 간단소개 6줄 카드 높이 기준 */
.sub .doc_ph{width:42%;flex-shrink:0;aspect-ratio:380/360;}
.sub .doc_ph img{width:100%;height:100%;object-fit:cover;object-position:top center;}
.sub .doc_ph.empty{position:relative;}
.sub .doc_ph.empty::after{content:'이미지 준비중';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(20,45,66,.32);font-size:1rem;}
.sub .doc_info{flex:1;min-width:0;display:flex;flex-direction:column;padding:2rem 2rem 1.5rem;}
.sub .doc_center{font-size:1rem;font-weight:700;line-height:1.5;color:var(--primary);}
.sub .doc_name{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem;}
.sub .doc_name b{font-size:1.75rem;font-weight:700;line-height:1.3;letter-spacing:-.01em;color:var(--title);}
.sub .doc_name span{font-size:1.125rem;line-height:1.5;color:var(--gray3);}
.sub .doc_card .doc_meta{display:flex;align-items:center;flex-wrap:wrap;margin-top:.5rem;font-size:1.125rem;line-height:1.5;color:var(--body);}
.sub .doc_card .doc_meta em{font-style:normal;font-weight:700;color:var(--navy);}
.sub .doc_card .doc_meta em + span::before{content:'|';display:inline-block;margin:0 .6rem;color:#c5c8cf;font-weight:400;}
.sub .doc_field{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line);list-style:none;font-size:1rem;line-height:1.55;color:var(--body);}
.sub .doc_field li{position:relative;padding-left:1rem;}
.sub .doc_field li + li{margin-top:.35rem;}
.sub .doc_field li::before{content:'•';position:absolute;left:0;color:var(--navy);}
.sub .doc_more{margin-top:auto;padding-top:1.5rem;}
.sub .doc_more .btn_out{padding:.5rem 1.125rem;font-size:.875rem;gap:.125rem;}
.sub .doc_more .btn_out .mi{width:1rem;height:1rem;}

.sub .doc_view{display:flex;align-items:flex-start;gap:4rem;}
.sub .doc_view_ph{width:38%;max-width:28rem;flex-shrink:0;aspect-ratio:380/460;border-radius:1.25rem;overflow:hidden;background:#e8eaee;}
.sub .doc_view_ph img{width:100%;height:100%;object-fit:cover;object-position:top center;}
.sub .doc_view_ph.empty{position:relative;}
.sub .doc_view_ph.empty::after{content:'이미지 준비중';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(20,45,66,.32);}
.sub .doc_view_info{flex:1;min-width:0;}
.sub .doc_view_info .doc_name{margin-top:0;}
.sub .doc_view_info .doc_name b{font-size:2.25rem;}
.sub .doc_view_info .doc_meta{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin-top:.75rem;font-size:1.125rem;line-height:1.5;color:var(--body);}
.sub .doc_view_info .doc_meta em{font-style:normal;font-weight:700;color:var(--navy);}
.sub .doc_view_info .doc_meta em::after{content:'';display:inline-block;width:1px;height:.7em;margin-left:.75rem;background:var(--line);vertical-align:middle;}
.sub .doc_schedule{margin-top:2.5rem;}
.sub .doc_schedule .tbl{table-layout:fixed;width:100%;min-width:40rem;}
.sub .doc_schedule .tbl col.label{width:12%;}
.sub .doc_schedule .tbl col.day{width:14.666%;}
.sub .doc_schedule .tbl th,
.sub .doc_schedule .tbl td{padding:.875rem .35rem;}
/* 스케줄 셀 : 진료/치료/내시경 = 컬러 원, 전화문의·격주·2,4,5주 = 텍스트 */
.sub .sch_dot{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;}
.sub .sch_dot i{display:block;width:.875rem;height:.875rem;border-radius:50%;background:var(--navy);}
.sub .sch_dot.is-clinic i{background:#3B8BEA;}
.sub .sch_dot.is-treat i{background:#18C9A6;}
.sub .sch_dot.is-endo i{background:var(--primary);}
.sub .sch_txt{font-size:.9375rem;font-weight:500;line-height:1.3;letter-spacing:-.02em;color:var(--navy);white-space:nowrap;}
.sub .hours_head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.75rem;}
.sub .sch_legend{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;font-size:.9375rem;font-weight:500;color:var(--body);}
.sub .sch_legend li{display:inline-flex;align-items:center;gap:.5rem;}
.sub .doc_schedule_head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.875rem;}
.sub .doc_schedule_tit{font-size:1.125rem;font-weight:700;color:var(--title);}
.sub .hours_tbl .tbl{table-layout:fixed;width:100%;min-width:56rem;}
.sub .hours_tbl .tbl col.doc{width:16%;}
.sub .hours_tbl .tbl col.period{width:8%;}
.sub .hours_tbl .tbl col.day{width:12.666%;}
.sub .hours_tbl .tbl th,
.sub .hours_tbl .tbl td{padding:.75rem .3rem;}
.sub .hours_tbl .tbl tbody th.hours_doc{text-align:center;padding-left:.75rem;padding-right:.75rem;}
.sub .hours_tbl .hours_doc a{display:flex;flex-direction:column;align-items:center;gap:.2rem;color:inherit;}
.sub .hours_tbl .hours_doc b{font-size:1.125rem;font-weight:700;color:var(--navy);}
.sub .hours_tbl .hours_doc span{font-size:.875rem;font-weight:500;color:var(--gray3);}
.sub .hours_tbl .hours_doc a:hover b{color:var(--primary);}
.sub .hours_tbl + .note, .sub .hours_cmp + .note{margin-top:1.25rem;}
/* 표 thead 모바일 고정 복제본 (js/tbl_sticky.js, .tbl_wrap.js_sticky_head) — 1024 이하에서만 표시 */
.sub .tbl_sticky{display:none;position:fixed;z-index:90;overflow:auto hidden;background:var(--navy-strong);border:1px solid var(--navy-strong);box-shadow:0 .5rem 1.25rem rgba(8,21,33,.12);scrollbar-width:none;}
.sub .tbl_sticky::-webkit-scrollbar{display:none;}
.sub .tbl_sticky .tbl{min-width:0;width:auto;border:0;table-layout:fixed;}
.sub .tbl_sticky th{border-bottom:0;background:var(--navy-strong);color:#fff;font-weight:700;text-align:center;vertical-align:middle;word-break:keep-all;}
.sub .tbl_sticky th + th{border-left:1px solid #28425A;}
.sub .doc_career{font-size:1.125rem;line-height:1.7;color:var(--body);}
.sub .doc_career ul,
.sub .doc_career ol{padding-left:1.25rem;}
.sub .doc_career li + li{margin-top:.35rem;}
/* 약력 dl : 소제목(dt) 아래로 항목(dd) 나열, dd 앞 원형 불릿(텍스트 색) */
.sub .doc_career_dl{margin:0;}
.sub .doc_career_dl .grp{padding:1.5rem 0;border-top:1px solid var(--line);}
.sub .doc_career_dl .grp:first-child{padding-top:0;border-top:0;}
.sub .doc_career_dl .grp:last-child{padding-bottom:0;}
.sub .doc_career_dl dt{margin-bottom:.625rem;font-size:1.375rem;font-weight:700;line-height:1.5;color:var(--navy);}
.sub .doc_career_dl dd{position:relative;margin:0;padding-left:1rem;font-size:1.125rem;line-height:1.6;color:var(--body);word-break:keep-all;}
.sub .doc_career_dl dd + dd{margin-top:.125rem;}
.sub .doc_career_dl dd::before{content:'';position:absolute;left:0;top:.7em;width:.3125rem;height:.3125rem;border-radius:50%;background:currentColor;}
.sub .doc_view_btns{margin-top:3rem; text-align: center;}

@media (max-width:1024px){
.sub .pt_panel{gap: 3rem;}
.sub .pg_doctors .doc_group .sec_head{margin-bottom:1rem;}
.sub .pg_doctors .sec_head h3{gap:.5rem;font-size:1.25rem;}
.sub .pg_doctors .sec_head h3 i{width:.5rem;height:.5rem;}
.sub .doc_grid{grid-template-columns:1fr;gap:.75rem;}
.sub .doc_card{min-height:0;border-radius:.875rem;} /* 모바일은 1열이라 높이 통일 불필요, 사진 과도 세로 늘어남 방지 */
.sub .doc_ph{width:38%;}
.sub .doc_info{padding:1.25rem 1.25rem 1rem;}
.sub .doc_center{font-size:.875rem;}
.sub .doc_name b{font-size:1.25rem;}
.sub .doc_name span{font-size:.875rem;}
.sub .doc_card .doc_meta{margin-top:.35rem;font-size:.875rem;}
.sub .doc_field{margin-top:.75rem;padding-top:.75rem;font-size:.8125rem;}
.sub .doc_more{padding-top:1rem;}
.sub .doc_more .btn_out{padding:.45rem 1rem;font-size:.8125rem;width:auto;margin:0;}
.sub .doc_view{flex-direction:column;gap:1.5rem;}
.sub .doc_view_ph{width:100%;max-width:none;aspect-ratio:380/420;border-radius:.875rem;}
.sub .doc_view_info .doc_name b{font-size:1.5rem;}
.sub .doc_view_info .doc_meta{font-size:.9375rem;}
.sub .doc_schedule{margin-top:1.5rem;}
.sub .doc_schedule .tbl th,
.sub .doc_schedule .tbl td{padding:.625rem .2rem;font-size:.9375rem;}
.sub .sch_dot i{width:.75rem;height:.75rem;}
.sub .sch_txt{font-size:.8125rem;}
.sub .sch_legend{gap:.375rem .875rem;font-size:.875rem;}
.sub .hours_head{flex-direction:column;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;}
.sub .hours_tbl .tbl th,
.sub .hours_tbl .tbl td{padding:.5rem .2rem;font-size:.875rem;}
.sub .hours_tbl .tbl tbody th.hours_doc{padding-left:.5rem;padding-right:.5rem;}
.sub .tbl_sticky.on{display:block;}
.sub .tbl_sticky th{padding:.5rem .2rem;font-size:.875rem;}
.sub .hours_tbl .hours_doc b{font-size:1rem;}
.sub .pg_doctors .pill_menu.sm{width:max-content;max-width:none;grid-auto-columns:minmax(5.75rem,1fr);}
.sub .doc_career{font-size:.9375rem;}
.sub .doc_career_dl .grp{padding:1.125rem 0;}
.sub .doc_career_dl dt{font-size:1.0625rem;margin-bottom:.375rem;}
.sub .doc_career_dl dd{font-size:.9375rem;padding-left:.875rem;}
.sub .doc_career_dl dd::before{top:.65em;width:.25rem;height:.25rem;}
.sub .doc_view_btns{margin-top:2rem;}
}

/* ---------------- 온라인 예약 ---------------- */
.sub .pg_reservation .sec{padding-bottom:5rem;}
.sub .rsv_grid{display:grid;grid-template-columns:1fr 1fr;gap:3.75rem 4.5rem;align-items:start;}
.sub .rsv_grid > .rsv_col:last-child{position:sticky;top:calc(var(--header-h, 6rem) + 3rem);}   /* PC : 오른쪽(달력/시간) 컬럼 고정 — 페이지 상단 body{overflow:visible} 필요 */
.sub .rsv_sec + .rsv_sec{margin-top:2.25rem;}
.sub .rsv_sec h3{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.125rem;font-weight:700;line-height:1.4;color:var(--title);}
.sub .rsv_sec h3 em{font-style:normal;color:var(--navy);}
.sub .rsv_ip{width:100%;height:3.25rem;padding:0 1.125rem;border:1px solid var(--line);border-radius:.5rem;background:#fff;font-size:1rem;color:var(--title);transition:var(--t); outline: none !important;}
.sub .rsv_ip:focus{border-color:var(--navy) !important;}
.sub .rsv_ip::placeholder{color:#b4b8c0;}
.sub select.rsv_ip{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%23878a93' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1.125rem center;padding-right:2.5rem;}
.sub .rsv_ta{height:8.75rem;padding:1rem 1.125rem;resize:vertical;line-height:1.5;}
.sub .rsv_split{display:flex;align-items:center;gap:.75rem;margin-top:.75rem;}
.sub .rsv_dash{flex-shrink:0;color:var(--gray2);}
.sub .rsv_pills{display:flex;flex-wrap:wrap;gap:.75rem;}
.sub .rsv_pill{flex:1 1 0;min-width:6.5rem;}
.sub .rsv_pills.wrap .rsv_pill{flex:0 1 calc(33.333% - .5rem);}
.sub .rsv_pill input{position:absolute;opacity:0;pointer-events:none;}
.sub .rsv_pill span{display:flex;align-items:center;justify-content:center;min-height:3.25rem;padding:.75rem 1rem;border:1px solid var(--line);border-radius:.5rem;background:#fff;font-size:1rem;color:var(--body);text-align:center;cursor:pointer;transition:var(--t);word-break:keep-all;}
.sub .rsv_pill input:checked + span{border-color:var(--navy);background:var(--navy);color:#fff;font-weight:700;}
.sub .rsv_pill input:focus-visible + span{outline:2px solid var(--primary);outline-offset:2px;}
.sub .rsv_docs{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem 1.25rem;}   /* PC 4열, 카드 폭은 열에 맞춰 자동 */
.sub .rsv_docs_empty{grid-column:1/-1;width:100%;padding:1.25rem 0;font-size:1rem;color:var(--gray);text-align:left;}
.sub .rsv_docs_note{grid-column:1/-1;width:100%;margin:0;font-size:.9375rem;line-height:1.6;color:var(--gray);}
.sub .rsv_docs_note::before{content:'• ';}
/* 의료진 미지정 : 텍스트 대신 회색 사람 라인 아이콘 */
.sub .rsv_doc_ph.empty.none::after{content:'';background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b9c0c9' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.75'/%3E%3Cpath d='M4.75 20.5c0-3.4 3.2-5.75 7.25-5.75s7.25 2.35 7.25 5.75'/%3E%3C/svg%3E") center/42% no-repeat;}
.sub .rsv_doc{display:flex;flex-direction:column;align-items:center;width:auto;min-width:0;cursor:pointer;}
.sub .rsv_doc input{position:absolute;opacity:0;pointer-events:none;}
.sub .rsv_doc_ph{display:block;width:100%;height:auto;aspect-ratio:1/1;border-radius:1rem;overflow:hidden;background:#e8eaee;border:2px solid transparent;transition:var(--t);}
.sub .rsv_doc_ph img{width:100%;height:100%;object-fit:cover;object-position:top center;}
.sub .rsv_doc_ph.empty{position:relative;}
.sub .rsv_doc_ph.empty::after{content:'이미지 준비중';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.875rem;color:rgba(20,45,66,.32);}
.sub .rsv_doc_name{margin-top:.85rem;font-size:1.125rem;line-height:1.4;color:var(--body);text-align:center;word-break:keep-all;}
.sub .rsv_doc_name b{font-weight:700;color:var(--title);}
.sub .rsv_doc input:checked + .rsv_doc_ph{border-color:var(--navy);}
.sub .rsv_doc input:checked ~ .rsv_doc_name,
.sub .rsv_doc input:checked ~ .rsv_doc_name b{color:var(--navy);}
.sub .rsv_doc input:focus-visible + .rsv_doc_ph{outline:2px solid var(--primary);outline-offset:2px;}
.sub .rsv_cal{overflow:hidden;border:1px solid var(--line);border-radius:1rem;}
.sub .rsv_cal_hd{display:flex;align-items:center;justify-content:space-between;padding:1.125rem 1.5rem;background:var(--navy);color:#fff;}
.sub .rsv_cal_hd strong{font-size:1.25rem;font-weight:700;}
.sub .rsv_cal_nav{display:flex;gap:.5rem;}
.sub .rsv_cal_nav button{width:2rem;height:2rem;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:transparent;position:relative;}
.sub .rsv_cal_nav button::before{content:'';position:absolute;left:50%;top:50%;width:.45rem;height:.45rem;border-right:1.5px solid #fff;border-bottom:1.5px solid #fff;}
.sub .rsv_cal_nav #rsvPrev::before{transform:translate(-30%,-50%) rotate(135deg);}
.sub .rsv_cal_nav #rsvNext::before{transform:translate(-70%,-50%) rotate(-45deg);}
.sub .rsv_cal table{width:100%;table-layout:fixed;border-collapse:collapse;}
.sub .rsv_cal th,.sub .rsv_cal td{height:3.25rem;text-align:center;font-size:.9375rem;font-weight:500;}
.sub .rsv_cal th{color:var(--gray2);background:#fff;}
.sub .rsv_cal th.sun,.sub .rsv_cal td.sun button{color:#e03131;}
.sub .rsv_cal th.sat,.sub .rsv_cal td.sat button{color:#2f6bdc;}
.sub .rsv_cal td button{width:2.25rem;height:2.25rem;border-radius:50%;font-size:inherit;color:inherit;transition:var(--t);}
.sub .rsv_cal td.is-off button{color:#c5c8cf;cursor:default;}
.sub .rsv_cal td.is-saturday button{color:#2f6bdc;cursor:pointer;}
.sub .rsv_cal td.is-on button{background:var(--navy);color:#fff !important;}
.sub .rsv_privacy_hd{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem;}
.sub .rsv_privacy_hd strong{font-size:1rem;font-weight:700;color:var(--title);}
.sub .rsv_privacy_more{font-size:.875rem;color:var(--gray);text-decoration:underline;text-underline-offset:.15rem;}
/* 인라인 약관 박스(.rsv_privacy_box) 제거 — 전문보기 버튼(공통 팝업)만 사용 */
.sub .rsv_check{display:flex;align-items:center;gap:.6rem;margin-top:1rem;font-size:1rem;color:var(--title);cursor:pointer;}
.sub .rsv_check input{width:1.125rem;height:1.125rem; appearance: none; border: 1px solid #ccc; border-radius: 0.25rem;}
.sub .rsv_check input:checked{border-color: var(--navy); background: var(--navy) url(/img/icon/ic_chk.svg) no-repeat center / 0.875rem;}
.sub .rsv_bottom{display:flex;align-items:flex-end;justify-content:center;gap:2rem;margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--line);}   /* 예약 서비스 영역 주석 처리 → 예약/취소 버튼 가운데 정렬 */
.sub .rsv_svc strong{display:block;margin-bottom:1.25rem;font-size:1.5rem;font-weight:700;color:var(--title);}
.sub .rsv_svc_btns{display:flex;flex-wrap:wrap;gap:.875rem;}
.sub .rsv_svc_btn{display:inline-flex;align-items:center;gap:.75rem;min-height:4rem;padding:.875rem 1.5rem;border:1px solid var(--line);border-radius:4rem;background:#fff;font-size:1.125rem;color:var(--title);transition:var(--t);}
.sub .rsv_svc_btn:hover{border-color:var(--navy);}
.sub .rsv_svc_btn .ico{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:var(--navy);color:#fff;font-size:.875rem;font-weight:800;}
.sub .rsv_svc_btn.tel .ico{background:url('/img/main/ic_phone.svg') center/1.25rem no-repeat;background-color:#f3f5f7;filter:none;}
.sub .rsv_svc_btn.naver .ico{background:#03c75a;}
.sub .rsv_svc_btn b{font-size:1.25rem;font-weight:700;}
.sub .rsv_actions{display:flex;gap:.75rem;min-width:22rem;}
.sub .rsv_btn{display:inline-flex;align-items:center;justify-content:center;flex:1;min-height:3.5rem;padding:0 1.5rem;border-radius:3.5rem;font-size:1.125rem;font-weight:700;transition:var(--t);}
.sub .rsv_btn.fill{background:var(--navy);color:#fff;}
.sub .rsv_btn.fill:hover{background:var(--navy-strong);}
.sub .rsv_btn.line{border:1px solid var(--navy);color:var(--navy);background:#fff;}
/* .sub .rsv_btn.line:hover{background:var(--navy);color:#fff;} */
.sub:has(.pg_reservation-complete) .visual{padding-bottom:2.5rem;}
.sub .rsv_done{max-width:56rem;margin:0 auto;padding:0 0 4rem;text-align:center;}
.sub .rsv_done .txt_body{font-size:1.125rem;line-height:1.7;}
.sub .rsv_done_label{margin-bottom:.75rem;font-size:.875rem;font-weight:700;color:var(--primary);}
.sub .rsv_done h3{margin-bottom:1rem;font-size:2rem;font-weight:700;color:var(--title);}
.sub .rsv_done_info{margin:0 0 2.5rem;padding:2rem 2.75rem;border:1px solid var(--line);border-radius:1rem;text-align:left;}
.sub .rsv_done_info li{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.125rem 0;border-bottom:1px solid var(--line);}
.sub .rsv_done_info li:last-child{border-bottom:0;}
.sub .rsv_done_info span{flex-shrink:0;min-width:6.5rem;font-size:1.125rem;color:var(--gray);}
.sub .rsv_done_info b{font-size:1.25rem;font-weight:700;color:var(--title);}
.sub .rsv_done_btns{display:flex;justify-content:center;gap:.75rem;}
.sub .rsv_done_btns .rsv_btn{min-width:10rem;flex:0 1 auto;}
/* 예약 개인정보취급방침 팝업(.rsv_pop) 제거 — 온라인 상담과 동일한 공통 팝업(/use/privacy_popup.php) 사용 */

@media (max-width:1280px){
.sub .rsv_docs{grid-template-columns: repeat(3, 1fr);}
}

@media (max-width:1024px){
.sub .rsv_grid{grid-template-columns:1fr;gap:2.5rem;}
.sub .rsv_grid > .rsv_col:last-child{position:static;}   /* 1024 이하 1열 → sticky 해제 */
.sub .rsv_pills.wrap .rsv_pill{flex:1 1 calc(50% - .375rem);}
.sub .rsv_docs{grid-template-columns:repeat(4,1fr);gap:1.25rem .875rem;}   /* 1024~769 : 1열 전환으로 폭이 넓어져 5열 */
.sub .rsv_doc_ph{border-radius:.75rem;}
.sub .rsv_doc_name{margin-top:.6rem;font-size:.9375rem;}
.sub .rsv_bottom{flex-direction:column;align-items:stretch;}
.sub .rsv_actions{min-width:0;width:100%;}
.sub .rsv_cal th,.sub .rsv_cal td{height:2.75rem;font-size:.8125rem;}
.sub .rsv_cal td button{width:2rem;height:2rem;}
.sub .rsv_done h3{font-size:1.5rem;}
.sub .rsv_done .txt_body{font-size:1rem;}
.sub .rsv_done_info{padding:1.5rem 1.25rem;}
.sub .rsv_done_info li{padding:.875rem 0;}
.sub .rsv_done_info span{min-width:5rem;font-size:1rem;}
.sub .rsv_done_info b{font-size:1.0625rem;}
.sub .rsv_done_btns{flex-direction:column;}
.sub .rsv_done_btns .rsv_btn{width:100%;}
.sub .board_success .rsv_done_btns{flex-direction:row;}
.sub .board_success .rsv_done_btns .rsv_btn{width:auto;}
.sub .rsv_ip{height:3rem;padding:0 1rem;font-size:0.875rem;}
.sub .rsv_ta{padding: 0.75rem 1rem; height: 8.75rem;}
.sub .rsv_check{font-size: 0.875rem;}
}

@media (max-width:768px){
.sub .rsv_docs{grid-template-columns:repeat(2,1fr);gap:1.25rem .75rem;}   /* 768 이하 : 2열 */
}

/* ---------------- 비급여 진료비 안내 ---------------- */
/* 검색창은 메인 .s5_search / .s5_go 스타일(main.css) 그대로 사용, 위치 여백만 조정 */
.sub .pg_non-covered-fees .fee_search{margin-top:0;margin-bottom:3.75rem;}
.sub .pg_non-covered-fees .fee_tabs{width:100%;max-width:48rem;grid-auto-columns:1fr;}
.sub .pg_non-covered-fees .fee_tabs a{display:flex;align-items:center;justify-content:center;padding:.75rem 1.25rem;border-radius:1.875rem;font-size:1.25rem;line-height:1.45;letter-spacing:-.005em;white-space:nowrap;color:#8E8E8E;transition:var(--t);}
.sub .pg_non-covered-fees .fee_tabs a.on{background:var(--primary);color:#fff;font-weight:700;}
.sub .pg_non-covered-fees .fee_box{margin-top:2.5rem;}
.sub .pg_non-covered-fees .fee_tbl_wrap{overflow:visible;}
.sub .pg_non-covered-fees .fee_tbl{min-width:0;width:100%;table-layout:fixed;}
.sub .pg_non-covered-fees .up{opacity:1;transform:none;}
.sub .pg_non-covered-fees .fee_tbl th,
.sub .pg_non-covered-fees .fee_tbl td{padding:.875rem .4rem;font-size:.9375rem;word-break:keep-all;color:#1b2436;}
.sub .pg_non-covered-fees .fee_tbl thead th{vertical-align:middle;background:#0e2233;color:#fff;font-size:1rem;}
.sub .pg_non-covered-fees .fee_tbl thead tr + tr th{border-top:1px solid #28425A;}
.sub .pg_non-covered-fees .fee_tbl thead tr:first-child th:first-child{border-top-left-radius:calc(1.25rem - 1px);}
.sub .pg_non-covered-fees .fee_tbl thead tr:first-child th:last-child{border-top-right-radius:calc(1.25rem - 1px);}
.sub .pg_non-covered-fees .fee_tbl .in_row th{font-size:.875rem;font-weight:600;}
.sub .pg_non-covered-fees .fee_tbl[data-cols="12"] th,
.sub .pg_non-covered-fees .fee_tbl[data-cols="12"] td{padding:.75rem .25rem;font-size:.8125rem;}
.sub .pg_non-covered-fees .fee_tbl[data-cols="12"] thead th{font-size:.875rem;}
.sub .pg_non-covered-fees .fee_tbl tbody td{background:#fff;color:#1b2436;}
.sub .pg_non-covered-fees .fee_tbl .fee_group td{background:#f7f7f8;font-size:1.125rem;font-weight:700;color:#142d42;}
.sub .pg_non-covered-fees .fee_tbl_sticky{display:none;position:fixed;z-index:90;overflow:auto hidden;background:var(--navy-strong);border:1px solid var(--navy-strong);box-shadow:0 .5rem 1.25rem rgba(8,21,33,.12);scrollbar-width:none;}
.sub .pg_non-covered-fees .fee_tbl_sticky::-webkit-scrollbar{display:none;}
.sub .pg_non-covered-fees .fee_tbl_sticky.on{display:block;}
.sub .pg_non-covered-fees .fee_tbl_sticky .tbl{min-width:0;width:auto;border:0;}
.sub .pg_non-covered-fees .fee_tbl_sticky th{padding:1.25rem 1rem;border-bottom:0;background:var(--navy-strong);color:#fff;font-size:1.25rem;font-weight:700;line-height:1.4;text-align:center;word-break:keep-all;vertical-align:middle;}
.sub .pg_non-covered-fees .fee_tbl_sticky th + th{border-left:1px solid #28425A;}
.sub .pg_non-covered-fees .fee_tbl_sticky thead tr + tr th{border-top:1px solid #28425A;}
.sub .pg_non-covered-fees .fee_tbl_sticky .in_row th{font-size:1rem;font-weight:600;}

@media (max-width:1024px){
.sub .pg_non-covered-fees .fee_search{margin:0 auto 1.5rem;}
.sub .pg_non-covered-fees .fee_tabs{max-width:none;width:max-content;}
.sub .pg_non-covered-fees .fee_tabs a{padding:.625rem 1rem;font-size:.9375rem;}
.sub .pg_non-covered-fees .fee_box{margin-top:1.5rem;}
.sub .pg_non-covered-fees .fee_tbl_wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;cursor:grab;scrollbar-width:none;}
.sub .pg_non-covered-fees .fee_tbl_wrap::-webkit-scrollbar{display:none;}
.sub .pg_non-covered-fees .fee_tbl_wrap.is-dragging{cursor:grabbing;user-select:none;}
.sub .pg_non-covered-fees .fee_tbl{min-width:64rem;width:max-content;table-layout:auto;}
.sub .pg_non-covered-fees .fee_tbl[data-cols="9"]{min-width:54rem;}
.sub .pg_non-covered-fees .fee_tbl[data-cols="6"]{min-width:42rem;}
.sub .pg_non-covered-fees .fee_tbl th,
.sub .pg_non-covered-fees .fee_tbl td{padding:.75rem .5rem;font-size:.875rem;}
.sub .pg_non-covered-fees .fee_tbl .fee_group td{font-size:.9375rem;}
.sub .pg_non-covered-fees .fee_tbl_wrap{border-radius:.75rem .75rem 0 0;overflow:hidden;overflow-x:auto;}
.sub .pg_non-covered-fees .fee_tbl thead tr:first-child th:first-child{border-top-left-radius:calc(.75rem - 1px);}
.sub .pg_non-covered-fees .fee_tbl thead tr:first-child th:last-child{border-top-right-radius:calc(.75rem - 1px);}
.sub .pg_non-covered-fees .fee_tbl_sticky th{padding:.75rem .5rem;font-size:.875rem;}
.sub .pg_non-covered-fees .fee_tbl_sticky th{border-radius:0 !important;}
.sub .pg_non-covered-fees .fee_tbl_sticky .in_row th{font-size:.8125rem;}
}

/* ── 센터 슬라이드 : 가운데 크게 + 양옆 작게 (메인 sec07 영상자료 방식) ──
   .fac_wrap > .fac_slider.swiper > .fac_card(.imgbox + .fac_cap) / .fac_prev·.fac_next */
.sub .fac_sec{overflow:hidden;}
.sub .fac_wrap{position:relative;}
.sub .fac_slider.swiper{overflow:visible;}
.sub .fac_slider .swiper-slide{width:60rem;transform:scale(.8);transition:transform .6s ease;}
.sub .fac_slider .swiper-slide-active{transform:scale(1);}
.sub .fac_card{position:relative;}
.sub .fac_card .imgbox{position:relative;aspect-ratio:16/10;border-radius:1.25rem;overflow:hidden;}
.sub .fac_card .imgbox img{width:100%;height:100%;object-fit:cover;}
.sub .fac_card .imgbox::after{content:'';position:absolute;inset:0;background:rgba(20,45,66,.35);transition:opacity .6s ease;pointer-events:none;}
.sub .fac_slider .swiper-slide-active .imgbox::after{opacity:0;}
.sub .fac_cap{position:absolute;left:1.5rem;bottom:1.5rem;z-index:2;padding:.5rem 1.125rem;border-radius:2rem;background:rgba(20,45,66,.8);color:#fff;font-size:1rem;font-weight:600;line-height:1.5;opacity:0;transition:opacity .4s ease;}
.sub .fac_slider .swiper-slide-active .fac_cap{opacity:1;}
.sub .fac_prev, .sub .fac_next{position:absolute;top:50%;z-index:5;display:flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;border:1px solid #e3e3e3;border-radius:50%;background:#fff;transform:translateY(-50%);transition:var(--t);}
.sub .fac_prev{left:calc(50% - 31.625rem);}
.sub .fac_next{right:calc(50% - 31.625rem);}
.sub .fac_prev img, .sub .fac_next img{width:1.4rem;transition:var(--t);}
.sub .fac_prev:hover, .sub .fac_next:hover{background:var(--primary);border-color:var(--primary);}
.sub .fac_prev:hover img, .sub .fac_next:hover img{filter:brightness(0) invert(1);}
@media (max-width:1024px){
.sub .fac_slider .swiper-slide{width:80%;transform:scale(.9);}
.sub .fac_card .imgbox{border-radius:.875rem;}
.sub .fac_cap{left:.875rem;bottom:.875rem;padding:.375rem .875rem;font-size:.875rem;}
.sub .fac_prev, .sub .fac_next{width:2.5rem;height:2.5rem;}   /* 태블릿·모바일도 노출 : 가운데 슬라이드(80%) 양쪽 가장자리에 */
.sub .fac_prev{left:calc(10% - 1.25rem);}
.sub .fac_next{right:calc(10% - 1.25rem);}
.sub .fac_prev img, .sub .fac_next img{width:1.125rem;}
}
@media (max-width:768px){
.sub .fac_slider .swiper-slide{width:92%;transform:scale(.94);}   /* 모바일 : 가운데 슬라이드를 더 넓게 */
.sub .fac_prev, .sub .fac_next{width:2.25rem;height:2.25rem;}
.sub .fac_prev{left:calc(4% - 1.125rem + .5rem);}
.sub .fac_next{right:calc(4% - 1.125rem + .5rem);}
.sub .fac_prev img, .sub .fac_next img{width:1rem;}
}

/* ── 가로 배너 이미지 : 소개 섹션에서 텍스트 아래 한 장으로 길게 (1600x550) ── */
.sub .imgbox.wide{aspect-ratio:1600/550;}
.sub .imgbox.wide img{width:100%;height:100%;object-fit:cover;}
@media (max-width:768px){
.sub .imgbox.wide{aspect-ratio:16/9;}
.sub .imgbox.wide:has(.mob2){aspect-ratio:auto;}   /* 모바일 전용 이미지(.mob2)가 있으면 원본 비율 그대로 */
.sub .imgbox.wide .mob2{height:auto;}
}

/* ── 검진 프로그램 카드 : 왼쪽 아이콘 원 + 가격 배지(네이비) + 타이틀 ── */
.sub .pkg_card{display:flex;align-items:flex-start;gap:1.5rem;}
.sub .pkg_card .ct{flex:1;min-width:0;}
.sub .pkg_ic{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:4.5rem;height:4.5rem;border-radius:50%;background:var(--bg);}
.sub .pkg_ic img{width:2.625rem;height:2.625rem;}
.sub .pkg_card .num_head{align-items:center;flex-wrap:wrap;gap:.5rem .75rem;}
.sub .pkg_card .price{flex-shrink:0;padding:.25rem .75rem;border-radius:.375rem;background:var(--pink);color:#fff;font-size:1rem;font-weight:700;line-height:1.5;}
@media (max-width:1024px){
.sub .pkg_card{gap:1rem;}
.sub .pkg_ic{width:3.25rem;height:3.25rem;}
.sub .pkg_ic img{width:1.875rem;height:1.875rem;}
.sub .pkg_card .num_head{gap:.375rem .5rem;}
.sub .pkg_card .price{padding:.125rem .5rem;font-size:.8125rem;}
}

/* 원형 목록 : 흰 배경 섹션에서는 원을 연회색으로 (흰 원이 배경에 묻히지 않도록) / .ic = 원 안에 아이콘 + 텍스트 */
.sub .sec:not(.gray):not(.sec_dark) .circle_list li{background:var(--bg);}
.sub .circle_list.ic li{flex-direction:column;gap:.875rem;font-size:1.25rem;}
.sub .circle_list.ic li img{width:2.75rem;height:2.75rem;transition:filter .3s ease;}
.sub .circle_list.ic li:hover img{filter:brightness(0) invert(1);}

/* 검진 프로그램 비교표 : 체크 아이콘 + 2단 헤더 */
.sub .pkg_tbl .tbl{min-width:68rem;}
.sub .pkg_tbl .tbl thead tr + tr th{border-top:1px solid #28425A;}
.sub .pkg_tbl .tbl thead tr + tr th:first-child{border-left:1px solid #28425A;}
.sub .pkg_tbl .tbl th, .sub .pkg_tbl .tbl td{padding:1rem .75rem;font-size:1rem;}
.sub .pkg_tbl .tbl thead th{font-size:1.0625rem;}
.sub .pkg_tbl .tbl tbody th{white-space:nowrap;}
.sub .pkg_tbl .tbl td img{display:block;width:1.5rem;height:1.5rem;margin:0 auto;}
.sub .pkg_tbl .mk, .sub .pkg_tbl + .note .mk, .sub .note .mk{color:var(--primary);font-weight:700;}
@media (max-width:1024px){
.sub .pkg_tbl .tbl{min-width:52rem;}
.sub .pkg_tbl .tbl th, .sub .pkg_tbl .tbl td{padding:.75rem .5rem;font-size:.8125rem;}
.sub .pkg_tbl .tbl td img{width:1.125rem;height:1.125rem;}
.sub .circle_list.ic li{gap:.375rem;font-size:.875rem;}
.sub .circle_list.ic li img{width:1.75rem;height:1.75rem;}
}

/* 국가건강검진 추가항목 표 : 신규·변경 항목 행 강조 */
.sub .nh_tbl .tbl{table-layout:fixed;}
.sub .sec .nh_tbl.tbl_round .tbl tbody tr.hl th, .sub .nh_tbl .tbl tbody tr.hl td{background:#FFF4F7;}
.sub .nh_tbl .tbl tbody tr.hl th, .sub .nh_tbl .tbl tbody tr.hl td:last-child{font-weight:700;}
.sub .nh_tbl .tbl tbody tr.hl td:last-child{color:var(--primary);}

/* 번호 소제목 : 숫자를 핑크 테두리 원으로 */
.sub .mid_tit.num{display:flex;align-items:center;gap:.75rem;}
.sub .mid_tit.num .no{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--primary);color:#fff;font-size:.9375rem;font-weight:700;line-height:1;}
@media (max-width:1024px){
.sub .mid_tit.num{gap:.5rem;}
.sub .mid_tit.num .no{width:1.375rem;height:1.375rem;font-size:.75rem;}
}

/* 아이콘 항목 가로형 (.ic_flow.row) : 아이콘 원 왼쪽 + 텍스트 오른쪽, 흰 알약형 카드 */
.sub .ic_flow.row{gap:1rem;}
.sub .ic_flow.row > li{flex-direction:row;align-items:center;gap:1.25rem;padding:1.25rem 1.75rem;border-color:transparent;border-radius:6.25rem;text-align:left;/* box-shadow:0 .25rem 1rem rgba(20,45,66,.05); */ border: 1px solid #EAEBEC;}
/* .sub .ic_flow.row > li:hover{border-color:var(--primary);} */
.sub .ic_flow.row .ci, .sub .sec.gray .ic_flow.row .ci{width:4.25rem;height:4.25rem;background:#FFF0F4;}
.sub .ic_flow.row .ci img{width:2.375rem;height:2.375rem;}
.sub .ic_flow.row .k{font-size:1.375rem;line-height:1.4;}
.sub .ic_flow.row .v{margin-top:.25rem;font-size:1.0625rem;}
@media (max-width:1024px){
.sub .ic_flow.row{grid-template-columns:repeat(2,1fr);gap:.625rem;}
.sub .ic_flow.row > li{gap:.875rem;padding:.875rem 1.25rem;}
.sub .ic_flow.row .ci, .sub .sec.gray .ic_flow.row .ci{width:3rem;height:3rem;}
.sub .ic_flow.row .ci img{width:1.625rem;height:1.625rem;}
.sub .ic_flow.row .k{font-size:1rem;}
.sub .ic_flow.row .v{margin-top:.125rem;font-size:.875rem;}
}
@media (max-width:660px){
   .sub .ic_flow.row{grid-template-columns:1fr;}
}

/* 안내 박스 연핑크 배경 (.cond_box.pink) : 흰 카드 사이에서 구분되도록 */
.sub .cond_box.pink, .sub .sec.gray .cond_box.pink{background:#FFF1F5; border: 1px solid #F7C3D4;}

/* 암검진 목록 (.cancer_list) : 2열 가로형 카드 — 암 이름 | 대상 연령 | 검사방법 / li.hl = 강조 카드 */
.sub .cancer_list{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 1.25rem;}
.sub .cancer_list > li{display:grid;grid-template-columns:9rem 1fr 1.3fr;align-items:start;gap:1.5rem;padding:1.75rem 2rem;border:1px solid transparent;border-radius:1rem;background:var(--bg);}
.sub .cancer_list .nm{font-size:1.375rem;font-weight:700;line-height:1.4;color:var(--navy);}
.sub .cancer_list dl{padding-left:1.5rem;border-left:1px solid var(--line);}
.sub .cancer_list dt{display:flex;align-items:center;gap:.5rem;font-size:1.0625rem;font-weight:700;line-height:1.5;color:var(--navy);}
.sub .cancer_list dt::before{content:'';width:.375rem;height:.375rem;flex-shrink:0;border-radius:50%;background:var(--primary);}
.sub .cancer_list dd{margin-top:.5rem;font-size:1.0625rem;line-height:1.5;color:var(--body);}
.sub .cancer_list em{display:inline-block;margin-top:.25rem;padding:.125rem .5rem;border-radius:.25rem;background:var(--primary);color:#fff;font-size:.8125rem;font-style:normal;font-weight:600;}
.sub .cancer_list > li.hl{border-color:#F7C3D4;background:#FFF4F7;}
@media (max-width:1024px){
.sub .cancer_list{grid-template-columns:1fr;gap:.625rem;}
.sub .cancer_list > li{grid-template-columns:1fr 1fr;gap:.75rem 1rem;padding:1.125rem 1.25rem;border-radius:.75rem;}
.sub .cancer_list .nm{grid-column:1 / -1;font-size:1.0625rem;}
.sub .cancer_list dl{padding-left:0;border-left:0;}
.sub .cancer_list dt{gap:.375rem;font-size:1rem;}
.sub .cancer_list dd{margin-top:.25rem;font-size:.875rem;}
.sub .cancer_list em{font-size:.6875rem;}
}

/* 아이콘 항목 2열 (.ic_flow.c2) : 오시는 길 기본 안내 등 좌우 2단 */
.sub .ic_flow.c2{grid-template-columns:repeat(2,1fr);}
@media (max-width:660px){
.sub .ic_flow.c2{grid-template-columns:1fr;}
}

/* ── 원칙 스크롤 (.prin_wrap) : 왼쪽 이미지 sticky 고정 + 오른쪽 텍스트 스크롤, 가운데 온 항목(.on)에 맞춰 이미지 교체 ──
   JS : sub_page.js initPrinciples (GSAP ScrollTrigger, 없으면 IntersectionObserver) / 페이지에 body{overflow:initial} 필요 */
.sub .prin_wrap{display:flex;align-items:flex-start;gap:6rem;}
.sub .prin_media{position:sticky;top:calc(var(--header-h, 6rem) + 3rem);flex:0 0 48%;}
.sub .prin_imgs{position:relative;aspect-ratio:770/640;border-radius:1.25rem;overflow:hidden;background:#dfe3e8;}
.sub .prin_imgs img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.05);transition:opacity .7s ease,transform 1.4s ease;}
.sub .prin_imgs img.on{opacity:1;transform:none;}
.sub .prin_list{flex:1;min-width:0;}
.sub .prin_item{display:flex;flex-direction:column;justify-content:center;min-height:var(--prin-h, 40rem);padding:3rem 0;opacity:.25;transition:opacity .5s ease;}   /* --prin-h = 왼쪽 이미지 높이(JS) → 첫 항목 텍스트가 이미지 세로 가운데 */
.sub .prin_item:first-child{padding-top:0;}
.sub .prin_item:last-child{padding-bottom:0;}
.sub .prin_item + .prin_item{border-top:1px solid var(--line);}
.sub .prin_item.on{opacity:1;}
.sub .prin_item .m_img{display:none;}
.sub .prin_item .cat{display:flex;align-items:center;gap:.625rem;font-size:1rem;font-weight:700;line-height:1.5;color:var(--primary);}
.sub .prin_item .cat .no{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;height:1.625rem;padding:0 .5rem;border-radius:2rem;background:var(--primary);color:#fff;font-size:.8125rem;font-weight:700;line-height:1;}
.sub .prin_item h4{margin-top:1rem;font-size:2rem;font-weight:700;line-height:1.38;letter-spacing:-.02em;color:var(--navy);word-break:keep-all;}
.sub .prin_item .lead{margin-top:1.5rem;font-size:1.25rem;font-weight:700;line-height:1.5;color:#171719;}
.sub .prin_item .desc{margin-top:.75rem;font-size:1.125rem;line-height:1.65;color:var(--body);word-break:keep-all;}
.sub .prin_item .btn_row{margin-top:2rem;}
@media (max-width:1024px){
.sub .prin_wrap{display:block;}
.sub .prin_media{display:none;}
.sub .prin_item{min-height:0;padding:2.5rem 0;opacity:1;}
.sub .prin_item .m_img{display:block;aspect-ratio:16/10;margin-bottom:1.25rem;border-radius:.875rem;}
.sub .prin_item .m_img img{width:100%;height:100%;object-fit:cover;}
.sub .prin_item .cat{gap:.5rem;font-size:.875rem;}
.sub .prin_item .cat .no{min-width:1.875rem;height:1.375rem;font-size:.75rem;}
.sub .prin_item h4{margin-top:.625rem;font-size:1.25rem;}
.sub .prin_item .lead{margin-top:1rem;font-size:1rem;}
.sub .prin_item .desc{margin-top:.5rem;font-size:.9375rem;}
.sub .prin_item .btn_row{margin-top:1.25rem;}
.sub .prin_item .btn_out{width:auto;margin:0;}   /* 모바일 공통 btn_out 100%·가운데 정렬 해제 → 원래 너비 */
}

/* ── 커버 히어로 (.cover_hero) : 화면 고정(pin) 후 아래에서 배경 이미지가 덮이며 텍스트가 흰색으로 ──
   JS : sub_page.js initCoverHero (GSAP ScrollTrigger 필요, 없으면 .is-static 으로 최종 상태 노출) */
.sub .cover_hero{position:relative;}
.sub .cover_pin{position:relative;display:flex;align-items:center;height:calc(100vh - var(--header-h));min-height:36rem;overflow:hidden;background:#fff;}
.sub .cover_bg{position:absolute;inset:0;clip-path:inset(100% 30% 0% 30% round 2rem);will-change:clip-path;}   /* 아래 가운데 작은 박스 → 전체 화면으로 (JS) */
.sub .cover_bg img{width:100%;height:100%;object-fit:cover;}
.sub .cover_bg::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.6);}
.sub .cover_txt{position:relative;z-index:2;text-align:center;}
.sub .cover_txt .label{font-size:1rem;font-weight:700;line-height:1.5;letter-spacing:.04em;color:var(--primary);}
.sub .cover_txt .c_tit{margin-top:.875rem;font-size:2.75rem;font-weight:700;line-height:1.22;letter-spacing:-.015em;color:var(--navy);}
.sub .cover_txt .c_sub{margin-top:1.25rem;font-size:1.75rem;font-weight:600;line-height:1.4;letter-spacing:-.01em;color:#171719;}
.sub .cover_txt .c_sub em{font-style:normal;color:var(--primary);}
.sub .cover_txt .c_txt{margin-top:2rem;font-size:1.25rem;line-height:1.7;color:var(--body);word-break:keep-all;}
.sub .cover_hero.is-static .cover_bg{clip-path:none;}
.sub .cover_hero.is-static .c_tit, .sub .cover_hero.is-static .c_sub, .sub .cover_hero.is-static .c_txt{color:#fff;}
@media (max-width:1024px){
.sub .cover_pin{min-height:30rem;}
.sub .cover_txt .label{font-size:.8125rem;}
.sub .cover_txt .c_tit{margin-top:.5rem;font-size:1.75rem;line-height:1.3;}
.sub .cover_txt .c_sub{margin-top:1rem;font-size:1.1875rem;}
.sub .cover_txt .c_txt{margin-top:1.25rem;font-size:.9375rem;}
}

/* 미션·비전 (mission-vision) : MISSION | VISION 두 칸 + 아래 가로 이미지 */
.sub .mv_row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;}
.sub .mv_col{position:relative;padding:3rem 10rem 3rem 3rem;border-radius:1.25rem;background:var(--bg);}   /* 오른쪽 여백 = 우측 하단 아이콘 자리 */
.sub .mv_ic{position:absolute;right:2.5rem;bottom:2.5rem;display:block;width:7rem;height:7rem;}   /* 배경 없이 큰 옅은 회색 아이콘 */
.sub .mv_ic img{width:100%;height:100%;}
.sub .mv_col .label{font-size:1rem;font-weight:700;line-height:1.5;letter-spacing:.04em;color:var(--primary);}
.sub .mv_mission{margin-top:1rem;font-size:2.25rem;font-weight:700;line-height:1.3;letter-spacing:-.02em;color:var(--navy);}
.sub .mv_mission em{font-style:normal;color:var(--primary);}
.sub .mv_vision{display:flex;flex-direction:column;gap:.75rem;margin-top:1.25rem;}
.sub .mv_vision li{position:relative;padding-left:1.125rem;}
.sub .mv_vision li::before{content:'';position:absolute;left:0;top:.75rem;width:.375rem;height:.375rem;border-radius:50%;background:var(--primary);}
.sub .mv_vision p{font-size:1.25rem;font-weight:600;line-height:1.45;color:#171719;word-break:keep-all;}
.sub .mv_img{margin-top:5rem;}
@media (max-width:1024px){
.sub .mv_row{grid-template-columns:1fr;gap:.75rem;}
.sub .mv_col{padding:1.5rem 5.5rem 1.5rem 1.25rem;border-radius:.875rem;}
.sub .mv_ic{right:1rem;bottom:1rem;width:4rem;height:4rem;}
.sub .mv_col .label{font-size:.8125rem;}
.sub .mv_mission{margin-top:.625rem;font-size:1.375rem;}
.sub .mv_vision{gap:.5rem;margin-top:.875rem;}
.sub .mv_vision li{padding-left:.875rem;}
.sub .mv_vision li::before{top:.55rem;width:.3125rem;height:.3125rem;}
.sub .mv_vision p{font-size:.9375rem;}
.sub .mv_img{margin-top:2.5rem;}
}

/* 스크롤 확장 이미지 (.scroll_expand) : 좌우가 들어간 상태에서 스크롤에 맞춰 전체 폭으로 넓어짐 (JS initScrollExpand, GSAP 필요) */
.sub .scroll_expand{will-change:clip-path;}

/* 의료진 카드 580px 이하 : 이미지 위 + 텍스트 아래 세로 배치 */
@media (max-width:580px){
.sub .doc_card{flex-direction:column;}
.sub .doc_ph{width:100%;aspect-ratio:1/1; overflow: hidden;}
.sub .doc_info{padding:1.25rem 1.25rem 1.25rem;}
}

/* 병원 둘러보기 층 제목 (.floor_head) : 가운데 정렬, 층수 옆에 주요 시설을 작게 (1024px 이하는 아래로) */
.sub .sec_head.floor_head{flex-direction:row;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:.5rem 1.25rem;text-align:center;}
.sub .floor_head .floor_desc{font-size:1.125rem;font-weight:500;line-height:1.5;color:#5a5c63;word-break:keep-all;}
@media (max-width:1024px){
.sub .sec_head.floor_head{flex-direction:column;align-items:center;gap:.375rem;}
.sub .floor_head .floor_desc{font-size:.875rem;}
}

/* ── 오시는 길 (guide/directions) ── */
/* 기본 안내 : 배경 없는 행 목록, 작은 회색 원 아이콘 + 항목명 + 내용 */
.sub .dir_top{align-items:stretch;}
.sub .dir_info{border-top:1px solid var(--navy);}
.sub .dir_info li{display:flex;align-items:center;gap:1rem;padding:1.125rem 0;border-bottom:1px solid var(--line);}
.sub .dir_info .ci, .sub .way_tit .ci{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:2.75rem;height:2.75rem;border-radius:50%;background:#f1f2f4;}
.sub .dir_info .ci img{width:1.5rem;height:1.5rem;}
.sub .dir_info .k{flex:0 0 5.5rem;font-size:1rem;font-weight:700;color:var(--navy);}
.sub .dir_info .v{flex:1;min-width:0;font-size:1.0625rem;line-height:1.5;color:#171719;word-break:keep-all;}
.sub .dir_info .v a{color:inherit;font-weight:700;}
.sub .dir_top .btn_row{flex-wrap:wrap;}
.sub .dir_map{height:100%;min-height:26rem;border-radius:1.25rem;overflow:hidden;background:#e8eaee;}
/* 카카오 약도(roughmap) : 지도 칸을 꽉 채우고 하단 정보·컨트롤 영역은 숨김 (메인 sec10 과 같은 방식) */
.sub .dir_map .root_daum_roughmap_landing, .sub .dir_map .root_daum_roughmap .wrap_map{width:100% !important;height:100% !important;}
.sub .dir_map .root_daum_roughmap .wrap_controllers, .sub .dir_map .root_daum_roughmap .cont, .sub .dir_map .map_border{display:none;}

/* 지도 앱 버튼 : 네이버(초록) · 카카오(노랑) · 구글(흰 바탕 + 4색 G) 브랜드 컬러 */
.sub .map_btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.375rem;border:1px solid transparent;border-radius:2rem;font-size:1rem;font-weight:700;line-height:1.4;transition:filter .2s,box-shadow .2s;}
.sub .map_btn img{width:1.25rem;height:1.25rem;flex-shrink:0;}
.sub .map_btn:hover{filter:brightness(.95);}
.sub .map_btn.naver{background:#03C75A;color:#fff;}
.sub .map_btn.kakao{background:#FEE500;color:#191919;}
.sub .map_btn.google{background:#fff;border-color:#dadce0;color:#3c4043;}
.sub .map_btn.google:hover{filter:none;box-shadow:0 .125rem .5rem rgba(60,64,67,.15);}
@media (max-width:1024px){
.sub .map_btn{gap:.375rem;padding:.625rem 1rem;font-size:.875rem;}
.sub .map_btn img{width:1rem;height:1rem;}
}

/* 교통편 안내 : 지하철·버스·자가용 탭 (pill_menu + jt_panel) → 흰 카드 안에 아이콘 제목 + 내용 */
.sub .pill_menu.way_tabs{grid-auto-columns:minmax(11rem,1fr);}
.sub .way_head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;}   /* 제목(왼쪽) · 탭(오른쪽) 한 줄 */
.sub .way_head .pill_menu_wrap{flex-shrink:0;}
.sub .way_card{display:grid;grid-template-columns:14rem 1fr;gap:2.5rem;padding:3rem 3.5rem;border-radius:1.25rem;background:#fff;}
.sub .way_tit{display:flex;align-items:center;gap:1rem;align-self:start;}
.sub .way_tit .ci{width:3.5rem;height:3.5rem;background:#f1f2f4;}
.sub .way_tit .ci img{width:1.875rem;height:1.875rem;}
.sub .way_tit h4{font-size:1.5rem;font-weight:700;line-height:1.35;color:var(--navy);}
.sub .way_body{min-width:0;display:flex;flex-direction:column;gap:1rem;padding-top:.625rem;}
.sub .way_lead{font-size:1.25rem;font-weight:700;line-height:1.45;color:#171719;}
.sub .way_txt{font-size:1.0625rem;line-height:1.7;color:var(--body);word-break:keep-all;}
.sub .way_note{font-size:.9375rem;line-height:1.6;color:#878a93;word-break:keep-all;}
.sub .way_flow{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 2rem;counter-reset:wf;}
.sub .way_flow li{position:relative;display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.125rem;border-radius:2rem;background:#f7f7f8;font-size:1rem;font-weight:600;color:#171719;counter-increment:wf;}
.sub .way_flow li::before{content:counter(wf);display:inline-flex;align-items:center;justify-content:center;width:1.375rem;height:1.375rem;border-radius:50%;background:var(--primary);color:#fff;font-size:.75rem;font-weight:700;}
.sub .way_flow li + li::after{content:'';position:absolute;left:-1.375rem;top:50%;width:.75rem;height:.75rem;background:#b4b4b8;transform:translateY(-50%);-webkit-mask:url('/img/sub/ico/arrow-right2.svg') no-repeat center/contain;mask:url('/img/sub/ico/arrow-right2.svg') no-repeat center/contain;}
.sub .way_rows{border-top:1px solid #d9dbe0;}
.sub .way_rows .rw{display:grid;grid-template-columns:11rem 1fr auto;gap:1.5rem;align-items:baseline;padding:1rem .25rem;border-bottom:1px solid #d9dbe0;}
.sub .way_rows .rw:not(:has(.w)){grid-template-columns:11rem 1fr;}
.sub .way_rows dt{font-size:1rem;font-weight:700;color:var(--navy);}
.sub .way_rows dd{font-size:1rem;line-height:1.6;color:#171719;word-break:keep-all;}
.sub .way_rows dd.w{font-size:.9375rem;color:var(--primary);font-weight:600;white-space:nowrap;}
@media (max-width:1024px){
.sub .dir_info li{gap:.75rem;padding:.875rem 0;}
.sub .dir_info .ci{width:2.25rem;height:2.25rem;}
.sub .dir_info .ci img{width:1.25rem;height:1.25rem;}
.sub .dir_info .k{flex-basis:4.25rem;font-size:.875rem;}
.sub .dir_info .v{font-size:.9375rem;}
.sub .dir_map{min-height:18rem;border-radius:.875rem;}
.sub .pill_menu.way_tabs{grid-auto-columns:minmax(6.5rem,1fr);}
.sub .way_head{flex-direction:column;align-items:stretch;gap:1.25rem;}
.sub .way_head .sec_head{text-align:center;align-items:center;}   /* 1024 이하 : 타이틀 가운데 */
.sub .way_card{grid-template-columns:1fr;gap:1.25rem;padding:1.5rem 1.25rem;border-radius:.875rem;}
.sub .way_tit .ci{width:2.75rem;height:2.75rem;}
.sub .way_tit .ci img{width:1.5rem;height:1.5rem;}
.sub .way_tit h4{font-size:1.125rem;}
.sub .way_body{gap:.75rem;padding-top:0;}
.sub .way_lead{font-size:1.0625rem;}
.sub .way_txt{font-size:.9375rem;}
.sub .way_txt br{display:none;}
.sub .way_note{font-size:.8125rem;}
.sub .way_flow{flex-direction:column;align-items:flex-start;gap:1.25rem;}
.sub .way_flow li{padding:.5rem .875rem;font-size:.875rem;}
.sub .way_flow li + li::after{left:1.25rem;top:-.625rem;transform:translate(-50%,-50%) rotate(90deg);}
.sub .way_rows .rw, .sub .way_rows .rw:not(:has(.w)){grid-template-columns:1fr;gap:.25rem;padding:.875rem .125rem;}
.sub .way_rows dt, .sub .way_rows dd{font-size:.875rem;}
.sub .way_rows dd.w{font-size:.8125rem;white-space:normal;}
}

/* 탭 칩형 (.pill_menu.chip) : 게시판 분류 필터(.ins_filter)처럼 떨어진 테두리 알약 버튼 */
.sub .pill_menu.chip{display:flex;gap:.5rem;grid-auto-columns:auto;background:none;border:0;border-radius:0;}
.sub .pill_menu.chip button{flex:none;padding:.75rem 1.5rem;border:1px solid #e7e9ef;border-radius:6.25rem;background:#fff;font-size:1rem;font-weight:500;line-height:1.5;letter-spacing:-.01em;color:#8e8e8e;}
.sub .pill_menu.chip button:hover{border-color:var(--primary);color:var(--primary);}
.sub .pill_menu.chip button.on{background:var(--primary);border-color:var(--primary);font-weight:700;color:#fff;}
@media (max-width:1024px){
.sub .pill_menu.chip{gap:.375rem;}
.sub .pill_menu.chip button{padding:.625rem 1.25rem;font-size:.9375rem;line-height:1.47;}
}
@media (max-width:768px){
.sub .pill_menu.chip{gap:.25rem;}
.sub .pill_menu.chip button{padding:.5rem 1rem;font-size:.875rem;line-height:1.43;}
}

/* 진료 예약 안내 (guide/outpatient .rsv_row) : 왼쪽 이미지가 오른쪽 카드 두 장 높이에 맞춰 꽉 참 */
.sub .type_row.rsv_row{align-items:stretch;}
.sub .rsv_row > .i{position:static;width:45%;}
.sub .rsv_row > .i .imgbox{height:100%;min-height:22rem;border-radius:1.25rem;overflow:hidden;}
.sub .rsv_row > .i .imgbox img{width:100%;height:100%;object-fit:cover;}
.sub .rsv_row > .l{display:flex;flex-direction:column;gap:1.25rem;}
.sub .rsv_row > .l .num_card{flex:1;margin:0;}
@media (max-width:1024px){
.sub .type_row.rsv_row{flex-direction:column;gap:1.25rem;}
.sub .rsv_row > .i{width:100%;}
.sub .rsv_row > .i .imgbox{height:auto;min-height:0;aspect-ratio:16/10;border-radius:.875rem;}
.sub .rsv_row > .l{gap:.75rem;}
.sub .rsv_row .btn_row{flex-wrap:wrap;justify-content:flex-start;gap:.5rem;}   /* 모바일도 PC 처럼 버튼을 가로로 나란히 */
.sub .rsv_row .btn_row .btn_out{width:auto;margin:0;padding:.5rem .875rem;font-size:.8125rem;gap:.375rem;}
.sub .rsv_row .btn_row .btn_out .mi{width:1rem;height:1rem;}
}

/* 영양주사 목록 (vaccination .inj_list) : 흰 알약 카드 2열(768 이하 1열) + 오른쪽 끝 네이비 가격 배지 (검진 프로그램 .price 와 같은 모양) */
.sub .ic_flow.row.inj_list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;}   /* 한 줄에 2개, 칸이 내용 때문에 넓어지지 않게 */
.sub .inj_note_m{display:none;margin-top:1.5rem;}   /* 영양주사 안내 : 1281 이상은 제목 칸, 1280 이하는 목록 아래 */
.sub .inj_list > li{min-width:0;}
.sub .inj_list > li .k{flex:1;min-width:0;word-break:keep-all;}
.sub .inj_list .price{flex-shrink:0;margin-left:auto;padding:.25rem .75rem;border-radius:.375rem;background:var(--navy);color:#fff;font-size:1rem;font-weight:700;line-height:1.5;white-space:nowrap;}
@media (max-width:1280px){
/* 1025~1280 : 왼쪽 제목 칸(25rem) 때문에 카드가 좁아져 넘치므로 제목을 위로 올리고 목록을 전체 폭으로 */
.sub .check_row.inj_row{flex-direction:column;gap:2rem;}
.sub .check_row.inj_row > .t{flex:none;gap:1rem;}
.sub .check_row.inj_row > .t, .sub .check_row.inj_row > .t .sec_head,
.sub .check_row.inj_row > .t .note{align-items:center;text-align:center !important;}   /* 1280 이하 : 타이틀·설명·안내 가운데 */
.sub .inj_note_pc{display:none;}
.sub .inj_note_m{display:block;}
}
@media (max-width:1024px){
.sub .inj_list .price{padding:.125rem .5rem;font-size:.8125rem;}
}
@media (max-width:768px){
.sub .ic_flow.row.inj_list{grid-template-columns:1fr;}   /* 768 이하 1열 */
}

/* 예방접종 카드 (vaccination .vac_grid) : 4열에서 가격이 줄넘김되지 않게 여백·아이콘·글자 축소 (이 섹션만) */
.sub .vac_grid .num_card{padding:1.5rem 1.25rem;}
.sub .vac_grid.card_grid{gap:1rem;}
.sub .vac_grid .pkg_card{gap:.875rem;}
.sub .vac_grid .pkg_ic{width:3.25rem;height:3.25rem;}
.sub .vac_grid .pkg_ic img{width:1.875rem;height:1.875rem;}
.sub .vac_grid .pkg_card .num_head{gap:.375rem .5rem;}
.sub .vac_grid .num_head h4{font-size:1.25rem;line-height:1.4;}
.sub .vac_grid .pkg_card .price{padding:.125rem .5rem;font-size:.9375rem;white-space:nowrap;}
.sub .vac_grid .num_desc{margin-top:.5rem;font-size:1.0625rem;line-height:1.5;}
@media (max-width:1024px){
.sub .vac_grid .num_card{padding:1.125rem 1rem;}
.sub .vac_grid .pkg_ic{width:2.75rem;height:2.75rem;}
.sub .vac_grid .pkg_ic img{width:1.5rem;height:1.5rem;}
.sub .vac_grid .num_head h4{font-size:1.0625rem;}
.sub .vac_grid .pkg_card .price{font-size:.8125rem;}
.sub .vac_grid .pkg_card .num_head{flex-wrap:nowrap;justify-content:space-between;}   /* 가격 배지를 오른쪽 끝으로 (영양주사와 동일) */
.sub .vac_grid .pkg_card .num_head h4{flex:1;min-width:0;}
.sub .vac_grid .num_desc{font-size:.875rem;}
}


/* 주차 안내 정보 카드 (.ic_flow.park_info) : 작은 회색 항목명 + 굵은 네이비 값 */
.sub .ic_flow.park_info .k{font-size:.9375rem;font-weight:500;color:#5A5C63;}
.sub .ic_flow.park_info .v{margin-top:.375rem;font-size:1.375rem;font-weight:700;line-height:1.4;letter-spacing:-.01em;color:var(--navy);word-break:keep-all;}
@media (max-width:1024px){
.sub .ic_flow.park_info .k{font-size:.8125rem;}
.sub .ic_flow.park_info .v{margin-top:.25rem;font-size:1.0625rem;}
}

/* 제목 + 우측 끝 버튼 한 줄 (.head_row) : 왼쪽 제목·설명(.t) / 오른쪽 버튼, 768 이하 세로 배치 */
.sub .head_row{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;}
.sub .head_row > .t{display:flex;flex-direction:column;gap:1.25rem;}
.sub .head_row .btn_out{flex-shrink:0;margin:0;}
@media (max-width:768px){
.sub .head_row{flex-direction:column;align-items:flex-start;gap:1.25rem;}
.sub .head_row > .t{gap:.75rem;}
}

/* ── 제증명 발급 안내 (guide/certificate) ─────────────────────── */
/* STEP 카드 담당 부서 칩 (.sf_dept) */
.sub .step_flow .sf .sf_dept{display:inline-flex;align-items:center;margin-top:1.25rem;padding:.25rem .75rem;border-radius:6.25rem;background:#EDEEF0;font-size:.875rem;font-weight:700;line-height:1.5;color:#5A5C63;}
.sub .step_flow .sf p + .sf_dept{margin-top:1rem;}
/* 구비서류 표 (.doc_tbl) : 신청자 왼쪽 · 번호 목록 왼쪽 정렬, 괄호 보충설명은 회색 한 줄 아래로 */
.sub .tbl.doc_tbl .c_who{width:28%;}
.sub .tbl.doc_tbl thead th{font-size:1.125rem;}
.sub .tbl.doc_tbl thead th span{display:block;margin-top:.125rem;font-size:.9375rem;font-weight:500;color:var(--body);}
.sub .tbl.doc_tbl tbody th{font-size:1.0625rem;vertical-align:middle;word-break:keep-all;}
.sub .tbl.doc_tbl tbody td{padding:1.5rem 1.75rem;font-size:1rem;line-height:1.6;text-align:left;}
.sub .tbl.doc_tbl.self tbody td{text-align:center;}
.sub .tbl.doc_tbl.self tbody td + td{border-left:1px solid var(--line);}
.sub .tbl.doc_tbl .num_ol{display:flex;flex-direction:column;gap:.5rem;counter-reset:ol;}
.sub .tbl.doc_tbl .num_ol li{position:relative;padding-left:1.5rem;counter-increment:ol;}
.sub .tbl.doc_tbl .num_ol li::before{content:counter(ol) '.';position:absolute;left:0;top:0;font-weight:700;color:var(--primary);}
.sub .tbl.doc_tbl .num_ol li span{display:block;font-size:.875rem;color:#8E8E8E;}
.sub .tbl.doc_tbl td p.sm{margin-top:.5rem;font-size:.875rem;color:#8E8E8E;}
/* 발급 비용 요금 목록 (.fee_list) : 흰 카드 안 2열, 항목명 왼쪽 · 금액 오른쪽 (넓은 표 여백 대신) */
.sub .fee_list{display:grid;grid-template-columns:1fr 1fr;column-gap:4rem;padding:1rem 3rem;background:#fff;border-radius:1.25rem; border: 1px solid var(--line);}
.sub .fee_list li{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.125rem 0;border-bottom:1px solid var(--line);}
.sub .fee_list li:nth-last-child(1),
.sub .fee_list li:nth-last-child(2):nth-child(odd){border-bottom:0;}
.sub .fee_list .n{font-size:1.0625rem;line-height:1.5;color:#171719;}
.sub .fee_list .p{flex-shrink:0;font-size:1.125rem;font-weight:700;line-height:1.5;color:var(--navy);}
/* 아이콘 정보 카드 2열 (.ic_flow.c2) */
.sub .ic_flow.c2{grid-template-columns:repeat(2,1fr);}
.sub .ic_flow.park_info .v small{font-size:.9375rem;font-weight:500;color:#5A5C63;}
@media (max-width:1024px){
.sub .step_flow .sf .sf_dept{margin-top:.75rem;font-size:.8125rem;}
.sub .tbl.doc_tbl{min-width:40rem;}
.sub .tbl.doc_tbl thead th{font-size:.9375rem;}
.sub .tbl.doc_tbl thead th span{font-size:.8125rem;}
.sub .tbl.doc_tbl tbody th{font-size:.875rem;}
.sub .tbl.doc_tbl tbody td{padding:1rem;font-size:.875rem;}
.sub .tbl.doc_tbl .num_ol{gap:.375rem;}
.sub .tbl.doc_tbl .num_ol li{padding-left:1.125rem;}
.sub .tbl.doc_tbl .num_ol li span, .sub .tbl.doc_tbl td p.sm{font-size:.8125rem;}
.sub .fee_list{column-gap:2rem;padding:.5rem 1.5rem;border-radius:.75rem;}
.sub .fee_list li{padding:.875rem 0;}
.sub .fee_list .n{font-size:.875rem;}
.sub .fee_list .p{font-size:.9375rem;}
.sub .ic_flow.park_info .v small{font-size:.8125rem;}
}
@media (max-width:768px){
.sub .fee_list{grid-template-columns:1fr;padding:.25rem 1.25rem;}
.sub .fee_list li:nth-last-child(2):nth-child(odd){border-bottom:1px solid var(--line);}
.sub .ic_flow.c2{grid-template-columns:1fr;}
}
/* 구비서류 섹션 (.doc_sec) : 표 둥근형(.tbl_round) 헤더 보충설명 색 · 소제목↔표 간격 축소 */
.sub .doc_sec .stack.sm{gap:1.25rem;}
.sub .tbl_round .tbl.doc_tbl thead th span{color:rgba(255,255,255,.7);}
@media (max-width:1024px){
.sub .doc_sec .stack.sm{gap:.75rem;}
}
/* 아이콘 정보 카드 보충설명 (.park_info .d) */
.sub .ic_flow.park_info .d{margin-top:.375rem;font-size:.9375rem;line-height:1.5;color:#8E8E8E;word-break:keep-all;}
@media (max-width:1024px){
.sub .ic_flow.park_info .d{margin-top:.25rem;font-size:.8125rem;}
}
/* 서식 다운로드 버튼 (.form_sec) : 태블릿·모바일에서 본문(.num_desc 14px)보다 작게 */
@media (max-width:1024px){
.sub .form_sec .btn_out{width:auto;margin:0;padding:.5rem 1rem;font-size:.8125rem;gap:.375rem;}   /* 100% 폭 해제 → 글자 길이만큼 */
}

/* 환자 권리장전 (.rights_group) : 카드·구분선 없이 왼쪽 구분 제목 + 오른쪽 소제목·본문 목록 */
.sub .rights_group{display:grid;grid-template-columns:20rem 1fr;gap:2.5rem;}
.sub .rights_group .rg_tit{font-size:1.75rem;font-weight:700;line-height:1.4;letter-spacing:-.01em;color:var(--navy);}
.sub .rights_list{display:flex;flex-direction:column;gap:1rem;}
.sub .rights_list > div{padding:2rem 2.5rem;background:var(--bg);border-radius:1.25rem;}   /* 항목별 박스 (흰 섹션 : 연회색) */
.sub .sec.gray .rights_list > div{background:#fff;}   /* 회색 섹션 : 흰 박스 */
.sub .rights_list dt{display:flex;gap:.5rem;font-size:1.25rem;font-weight:700;line-height:1.45;color:#171719;}
.sub .rights_list dt span{flex-shrink:0;color:var(--primary);}
.sub .rights_list dd{margin-top:.625rem;padding-left:1.75rem;font-size:1.0625rem;line-height:1.65;color:var(--body);word-break:keep-all;}
@media (max-width:1024px){
.sub .rights_group{grid-template-columns:1fr;gap:1.25rem;}
.sub .rights_group .rg_tit{font-size:1.25rem;}
.sub .rights_list{gap:.625rem;}
.sub .rights_list > div{padding:1.25rem;border-radius:.75rem;}
.sub .rights_list dt{font-size:1rem;gap:.375rem;}
.sub .rights_list dd{margin-top:.375rem;padding-left:1.375rem;font-size:.875rem;line-height:1.6;}
}

/* =========================================================================
   통합검색 (/search.php)
   - 검색바는 메인 sec05 검색(s5_search) 톤, 탭은 .pill_menu.chip 재사용
   - 결과 리스트는 각 게시판 리스트 스킨 마크업 그대로 (board.css + 스킨 style.css)
   ========================================================================= */
.sub .srh_result .srh_bar{display:flex;justify-content:center;margin-bottom:3.75rem;}
.sub .srh_input{position:relative;display:flex;gap:.625rem;width:37.5rem;max-width:100%;}
.sub .srh_input input{flex:1;height:3.75rem;border:2px solid var(--navy);border-radius:3.125rem;padding:0 1.5rem;font-size:1.125rem;font-weight:700;line-height:1.5;color:var(--navy);}
.sub .srh_input input::placeholder{color:rgba(20,45,66,.45);font-weight:500;}
.sub .srh_go{width:3.75rem;height:3.75rem;border-radius:50%;background:var(--navy);border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--t);}
.sub .srh_go:hover{background:var(--primary);}
.sub .srh_go img{width:1.5rem;filter:brightness(0) invert(1);}
.sub .srh_summary{margin-bottom:1.5rem;font-size:1.375rem;line-height:1.45;color:var(--body);word-break:keep-all;}
.sub .srh_summary b{font-weight:700;color:var(--primary);}
.sub .srh_tabs{justify-content:flex-start;margin-bottom:2.5rem;}
.sub .srh_tabs .pill_menu.chip{flex-wrap:wrap;}
.sub .srh_tabs .pill_menu.chip button em{margin-left:.25rem;font-style:normal;font-weight:700;color:var(--primary);}
.sub .srh_tabs .pill_menu.chip button.on em{color:#fff;}
.sub .srh_cont .srh_item + .srh_item{margin-top:5rem;}
.sub .srh_tit_box{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem;margin-bottom:1.75rem;}
.sub .srh_tit{display:flex;align-items:baseline;gap:.75rem;}
.sub .srh_tit strong{font-size:1.75rem;font-weight:700;line-height:1.35;color:#171719;}
.sub .srh_tit .cnt{font-size:1.125rem;font-weight:600;color:var(--primary);}
.sub .srh_tit_box .srh_more{width:auto;margin:0;padding:.5rem 1.25rem;background:var(--pink);border-color:var(--pink);color:#fff;font-weight:600;flex-shrink:0;}   /* 기본 .btn_out(흰 테두리)은 흰 배경에서 안 보임 → 네이비 필 */
/* .sub .srh_tit_box .srh_more:hover{background:var(--primary);border-color:var(--primary);} */
.sub .srh_no_data .srh_total{margin-bottom:1rem;font-size:1.125rem;color:var(--body);}
.sub .srh_no_data .srh_total b{color:var(--primary);}
.sub .srh_result .faq_bd .faq_item:first-child{border-top:1px solid #000;}
@media (max-width:1024px){
.sub .srh_result .srh_bar{margin-bottom:2rem;}
.sub .srh_input{width:100%;max-width:30rem;}
.sub .srh_input input{height:2.75rem;font-size:1rem;padding:0 1.25rem;}
.sub .srh_go{width:2.75rem;height:2.75rem;}
.sub .srh_go img{width:1.1rem;}
.sub .srh_summary{margin-bottom:1rem;font-size:1.125rem;}
.sub .srh_tabs{margin-bottom:1.5rem;}
.sub .srh_cont .srh_item + .srh_item{margin-top:3rem;}
.sub .srh_tit_box{margin-bottom:1.25rem;gap:.75rem;}
.sub .srh_tit{gap:.5rem;}
.sub .srh_tit strong{font-size:1.25rem;}
.sub .srh_tit .cnt{font-size:.9375rem;}
.sub .srh_tit_box .srh_more{padding:.375rem .875rem;font-size:.8125rem;gap:.375rem;}
.sub .srh_no_data .srh_total{font-size:.9375rem;margin-bottom:.75rem;}
}
