@charset "utf-8";
/* =========================================================================
   생생병원 main.css  —  Figma: 생생병원 (node 7322:2251 / mobile 7519:2059)
   Desktop First. html font-size: 100% > (≤1440) 80% > (≤1024) 100%
   ========================================================================= */

/* Montserrat / Outfit — 섹션 배경 텍스트·페이지 카운터용 */
@font-face {font-family:'Montserrat'; font-weight:700; font-style:normal; src:url('/font/Montserrat-Bold.woff') format('woff'); font-display:swap;}
@font-face {font-family:'Outfit'; font-weight:400; font-style:normal; src:url('/font/Outfit-Regular.woff2') format('woff2'); font-display:swap;}
@font-face {font-family:'Outfit'; font-weight:700; font-style:normal; src:url('/font/Outfit-Bold.woff2') format('woff2'); font-display:swap;}

:root{
	--pink:#E7336E;          /* Primary/Normal */
	--navy:#142D42;          /* Navy/Normal */
	--navy-deep:#0E2233;     /* Navy/Strong */
	--navy-darkest:#081521;  /* sec06 배경 */
	--navy-foot:#0E2233;
	--gold:#E3C878;
	--black:#000;
	--txt:#000;
	--gray:#6D6D6D;          /* Neutral/700 */
	--gray2:#8E8E8E;         /* Neutral/600 */
	--gray3:#878A93;         /* Label/Assistive */
	--line:#E1E2E4;
	--line2:#E3E3E3;
	--bg-alt:#F7F7F8;
	--font:'Pretendard',-apple-system,'Malgun Gothic',sans-serif;
	--font-en:'Outfit','Pretendard',sans-serif;
	--tr:all .3s ease;
	--container:105rem;    /* 1640px = 컨텐츠 1600 + 좌우 padding 20 */
	--hd:5.625rem;           /* header 90px */
}

/* common */
*{box-sizing:border-box;}
p,dd{word-break:keep-all !important;}
.pc{display:block !important;}
.pc2{display:block !important;}
.mob{display:none !important;}
.mob2{display:none !important;}
.inner{width:100%; max-width:var(--container); margin:0 auto; padding:0 2.5rem;}
.ta-l{text-align:left;} .ta-c{text-align:center;} .ta-r{text-align:right;}
.flex{display:flex; align-items:center;}
.flex-jb{display:flex; align-items:center; justify-content:space-between;}
.flex-jc{display:flex; align-items:center; justify-content:center;}
.flex-je{display:flex; align-items:center; justify-content:flex-end;}
img{max-width:100%;}
.main_tit em{display:block; font-size:1rem; font-weight:700; color:var(--pink); line-height:1.5;}
.main_tit .tit{margin:1.25rem 0; font-size:2.8125rem; letter-spacing:-0.02em; font-weight:700; color:#1B2436; line-height:1.15;}
.main_tit p{font-size:1.25rem; letter-spacing:-0.005em; font-weight:400; color:#5B6678; line-height:1.45;}
/* label→title 간격 8px 섹션 (Figma sec03/sec07/sec10) */
.sec3 .main_tit .tit, .sec7 .main_tit .tit, .sec10 .main_tit .tit{margin-top:.5rem;}
/* 본문 섹션 공통 */
.sec{padding:7.5rem 0;}
.slide_ctrl{display:flex; align-items:center; gap:2.1875rem;}
.slide_ctrl .page{display:flex; align-items:center; gap:.625rem;}
.slide_ctrl .page .cur{font-family:var(--font-en); font-size:1.5625rem; font-weight:700; color:#000; min-width: 2rem; text-align: center;}
.slide_ctrl .page i{width:0.0625rem; height:.625rem; background:#000; transform:rotate(20deg); opacity: 0.2;}
.slide_ctrl .page .total{font-family:var(--font-en); font-size:1rem; font-weight:400; color:var(--gray2);}
.slide_ctrl .arrows{display:flex; gap:.8125rem;}
.slide_ctrl .arrows button{width:3.25rem; height:3.25rem; border-radius:50%; border:0.0625rem solid #6D6D6D; background:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:var(--tr);}
.slide_ctrl .arrows button img{width:1.375rem;}
.slide_ctrl .arrows .next img{transform:rotate(180deg);}
.slide_ctrl .arrows button:hover{background:var(--pink); border-color:var(--pink);}
.slide_ctrl .arrows button:hover img{filter:brightness(0) invert(1);}
.slide_ctrl .arrows button.swiper-button-disabled{opacity:.35; pointer-events:none;}
/* 마우스 팔로우 커서 (Figma Frame 1261156430 — 160px 핑크 원 + blur) */
.fcursor{position:fixed; left:0; top:0; z-index:950; width:10rem; height:10rem; border-radius:50%; background:rgba(231,51,110,.85); backdrop-filter:blur(4.166rem); -webkit-backdrop-filter:blur(4.166rem); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.25rem; pointer-events:none; opacity:0; transform:translate(-50%,-50%) scale(.4); transition:opacity .25s ease, transform .25s ease;}
.fcursor.show{opacity:1; transform:translate(-50%,-50%) scale(1);}
.fcursor .row{display:flex; align-items:center; gap:.3125rem; font-size:1.25rem; font-weight:700; letter-spacing:-0.005em; line-height:1.45; color:#fff;}
.fcursor .ar{width:1.25rem; height:1.25rem; background:url("/img/main/ic_chev.svg") no-repeat center/contain; filter:brightness(0) invert(1);}
.fcursor .ar.l{transform:rotate(180deg);}
.fcursor .plus{position:relative; width:1.25rem; height:1.25rem;}
.fcursor .plus::before, .fcursor .plus::after{content:''; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); background:#fff;}
.fcursor .plus::before{width:.875rem; height:.125rem;}
.fcursor .plus::after{width:.125rem; height:.875rem;}
.no_data{width:100% !important; border-top:0.125rem solid #000; border-bottom:0.0625rem solid #000; height:29.375rem !important; display:flex !important; flex-direction:column; align-items:center; justify-content:center; gap:1.75rem; margin:0 !important; aspect-ratio:initial !important;}
.no_data .icon{width:2.375rem;}
.no_data p{font-size:1.25rem; font-weight:500; letter-spacing:-0.02em; text-align:center;}


/* =========================== HEADER / GNB =========================== */
.header{position:fixed; top:0; left:0; z-index:1000; width:100%; height:var(--hd); transition:var(--tr);}
.header .inner{max-width:100%; padding:0 3.75rem; height:100%; display:flex; align-items:center; justify-content:space-between; gap:1.25rem;}
.header h1 a{display:block;}
.header h1 a img{width:7.5rem; display:block;}
.header h1 a img.logo_on{display:none;}
.header .gnb{display:flex; gap:4.6875rem;}
.header .gnb > li{position:static;}
.header .gnb > li > a{display:block; font-size:1.125rem; font-weight:600; color:#fff; line-height:5.625rem; transition:color .2s;}
.header .head_rt{display:flex; align-items:center; gap:1.75rem;}
.header .member{display:flex; align-items:center; gap:.9375rem;}
.header .member a{font-size:1rem; font-weight:500; color:#fff; letter-spacing:-0.025em;}
.header .member .line{width:0.0625rem; height:.625rem; background:rgba(255,255,255,.5); display:inline-block;}
.header .head_btns{display:flex; align-items:center; gap:.5rem;}
.hbtn{display:inline-flex; align-items:center; gap:.25rem; height:2.5rem; padding:0 1rem; font-size:1rem; font-weight:400; line-height:1.5; border-radius:.5rem; transition:var(--tr); white-space:nowrap;}
.hbtn img{width:1.25rem; transition:var(--tr);}
.hbtn.line{border:0.0625rem solid rgba(255,255,255,.6); color:#fff;}
.hbtn.line img{filter:brightness(0) invert(1);}
.hbtn.fill{background:var(--pink); color:#fff; border-radius:.5rem;}
.hbtn.fill img{filter:brightness(0) invert(1);}
.all_menu_btn{width:2rem; cursor:pointer; filter:brightness(0) invert(1);}
.all_menu_btn img{width:100%; display:block;}
.head_mob_btn{display:none !important;}
.head_bg{display:none;}

/* header on light (hover / scroll / sub) */
.header:hover, .header.fixed, .header.on, .header.is-open{background:#fff; box-shadow:0 .125rem 1.25rem rgba(0,0,0,.06);}
.header:hover h1 a img.logo, .header.fixed h1 a img.logo, .header.on h1 a img.logo, .header.is-open h1 a img.logo{display:none;}
.header:hover h1 a img.logo_on, .header.fixed h1 a img.logo_on, .header.on h1 a img.logo_on, .header.is-open h1 a img.logo_on{display:block;}
.header:hover .gnb > li > a, .header.fixed .gnb > li > a, .header.on .gnb > li > a, .header.is-open .gnb > li > a{color:#000;}
.header:hover .gnb > li:hover > a, .header.is-open .gnb > li:hover > a{color:var(--pink);}
.header:hover .member a, .header.fixed .member a, .header.on .member a, .header.is-open .member a{color:#000;}
.header:hover .member .line, .header.fixed .member .line, .header.on .member .line, .header.is-open .member .line{background:rgba(0,0,0,.5);}
.header:hover .hbtn.line, .header.fixed .hbtn.line, .header.on .hbtn.line, .header.is-open .hbtn.line{border-color:#000; color:#000;}
.header:hover .hbtn.line img, .header.fixed .hbtn.line img, .header.on .hbtn.line img, .header.is-open .hbtn.line img{filter:none;}
.header:hover .all_menu_btn, .header.fixed .all_menu_btn, .header.on .all_menu_btn, .header.is-open .all_menu_btn{filter:none;}

/* mega menu (gnb 호버 시 패널 전환 — saengsaeng-sub 공통 헤더와 동일 구조) */
.gnb_wrap{position:static;}
.gnb > li.on > a{color:var(--pink);}
.mega{position:absolute; left:0; right:0; top:100%; background:#fff; border-top:0.0625rem solid var(--line); overflow:hidden; max-height:0; opacity:0; visibility:hidden; transition:opacity .25s ease, visibility .25s; z-index:890;}
.header.is-open .mega{max-height:none; opacity:1; visibility:visible;}
.mega_panel{display:none; position:relative;}
.mega_panel.on{display:block;}
.mega_panel::before{content:''; position:absolute; left:0; top:0; bottom:0; width:23.75rem; background:var(--navy);}
.mega_in{position:relative; display:flex; align-items:flex-start; gap:6.4375rem; max-width:120rem; margin:0 auto; padding:2.5rem 2.1875rem 2.5rem 6.25rem;}
.mega_tit{flex-shrink:0; width:16.5625rem; font-size:2.25rem; font-weight:700; line-height:1.22; letter-spacing:-.015em; color:#fff;}
.mega_list{flex:1; min-width:0; display:flex; flex-direction:column; gap:1.5rem;}
.mega_group > strong{display:block; font-size:1.375rem; font-weight:700; line-height:1.45; letter-spacing:-.005em; color:var(--navy); margin-bottom:.625rem;}
.mega_group > strong a{color:var(--navy);}
.mega_group ul{display:flex; flex-wrap:wrap; gap:.75rem 1.75rem;}
.mega_group ul a{font-size:1.125rem; line-height:1.5; color:var(--gray); transition:color .2s;}
.mega_group ul a::after { content: attr(title); display: block; font-weight: bold; height: 0px; visibility: hidden; }
.mega_group ul a:hover, .mega_group ul a.cur{color:var(--pink); font-weight:600;}
.mega_card{flex-shrink:0; width:20.1875rem;}
.mega_card_slider{width:100%; overflow:hidden;}
.mega_card_slider .swiper-slide{width:100%; height:auto;}
.mega_card .thumb{width:100%; aspect-ratio:300/200; background:#f0f0f0; overflow:hidden;}
.mega_card .thumb img{width:100%; height:100%; object-fit:cover;}
.mega_card p{margin-top:1.25rem; font-size:1.25rem; font-weight:500; line-height:1.45; letter-spacing:-.005em; color:#111; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;}
.mega_card .page{display:flex; align-items:center; justify-content:center; gap:1.625rem; margin-top:1.25rem;}
.mega_card .page .num{display:flex; align-items:center; gap:.5rem;}
.mega_card .page .num b{font-family:var(--font-en); font-size:1.1875rem; font-weight:700; color:#000; min-width: 1.563rem; text-align: center;}
.mega_card .page .num i{width:0.0625rem; height:.625rem; background:#000; transform:rotate(20deg); opacity:0.2;} /* .slide_ctrl .page i 와 동일 */
.mega_card .page .num span{font-family:var(--font-en); font-size:.75rem; font-weight:400; color:var(--gray2);}
.mega_card .page .arw{display:flex; gap:.625rem;}
.mega_card .page .arw button{display:flex; align-items:center; justify-content:center; width:2.5rem; height:2.5rem; border-radius:50%; border:0.0625rem solid var(--gray); background:none; cursor:pointer; transition:var(--tr);}
.mega_card .page .arw button:hover{background:var(--pink); border-color:var(--pink); color:#fff;}
.mega_dim{position:fixed; left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,.4); opacity:0; visibility:hidden; transition:var(--tr); z-index:880;}
.mega_dim.on{opacity:1; visibility:visible;}


/* =========================== PC 전체메뉴 =========================== */
.all_menu{display:none; position:fixed; inset:0; z-index:5000; background:#fff;}
.all_menu_inner{max-width:var(--container); margin:0 auto; padding:9.25rem 1.25rem 4.5rem; height: 100svh;}
.am_top{display:flex; align-items:center; justify-content:space-between; position: absolute; left: 3.75rem; right: 3.75rem; top: 3.125rem;}
.am_top .logo img{width:7.5rem;}
.all_menu_close{width:2rem; cursor:pointer;}
.am_list{padding-right: 2rem; overflow-y:auto; max-height: 100%;}
.am_list::-webkit-scrollbar {width: 3px;}
.am_list::-webkit-scrollbar-thumb {height: 30%; background: #989BA2; border-radius: 0.625rem;}
.am_list::-webkit-scrollbar-track {background: #E1E2E4; border-radius: 0.625rem;}
.am_block{padding:2.5rem 0; border-top:0.0625rem solid var(--line);}
.am_block:first-child{border-top:0; padding-top: 0 !important;}
.am_btit{font-size:1.25rem; font-weight:700; color:#000; margin-bottom:1.25rem;}
.am_grid{display:flex; flex-wrap:wrap; gap:1.25rem 2.5rem;}
.am_grid a{width:13.75rem; font-size:1.125rem; font-weight:500; color:#000; transition:color .2s;}
.am_cols{display:flex; flex-wrap:wrap; gap:2.5rem;}
.am_cols .col{width:13.75rem;}
.am_cols .col_tit{display:block; font-size:1.125rem; font-weight:500; color:#000; margin-bottom:.75rem; transition:color .2s;}
.am_cols .col ul li + li{margin-top:.25rem;}
.am_cols .col ul a{font-size:1rem; color:var(--gray3); transition:color .2s; line-height: 150%;}
.all_menu a:hover{color:var(--pink);}


/* =========================== 모바일 전체메뉴 =========================== */
/* (≤1024 에서 노출) */


/* =========================== 퀵메뉴 =========================== */
.quick{position:fixed; right:1.875rem; bottom:max(1.875rem, calc(8.75rem - var(--iq-off, 0px))); z-index:900; transition:bottom .4s; display:flex; flex-direction:column; gap:.75rem;}
.quick.is-clamped{transition:none;}
.quick a{width:5.125rem; border-radius:.75rem; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.25rem; text-align:center; transition:var(--tr);}
.quick a img{width:1.5rem;}
.quick a span{font-size:.875rem; font-weight:700; line-height:1.43; color:#fff;}
.quick .q_book{height:4.5rem; background:var(--pink);}
.quick .q_book img{filter:brightness(0) invert(1);}
.quick .q_tel{height:4.5rem; background:var(--navy);}
.quick .q_tel img{filter:brightness(0) invert(1);}
.quick .top_btn{height:4.375rem; background:#fff; border:0.0625rem solid rgba(0,0,0,.1);}


/* =========================== VISUAL (히어로) =========================== */
.visual{position:relative;}
.vis_slider{position:relative; overflow:hidden;}
.visual .swiper-slide{position:relative; height:59.375rem;}
.visual .vis_img{height:100%;}
.visual .vis_img > a, .visual .vis_img{display:block; height:100%; overflow:hidden;}
.visual .vis_img img{width:100%; height:100%; object-fit:cover;}
.visual .vis_img::after{content:''; position:absolute; inset:0; background:rgba(0,0,0,.45); pointer-events:none; z-index:1;}
/* 비주얼 진입 시 이미지 줌 아웃 모션 (koyoum 참고) — 정지 토글 시 animation-play-state로 함께 멈춤 */
.visual .swiper-slide .vis_img img{transform:scale(1.1);}
.visual .swiper-slide-active .vis_img img{animation:visZoom 6s ease-out forwards;}
@keyframes visZoom{from{transform:scale(1.1);} to{transform:scale(1);}}
.vis_slider.paused .swiper-slide-active .vis_img img{animation-play-state:paused;}
/* 비디오 배너 */
.visual .vis_img.vis_video{position:relative;}
.visual .vis_img.vis_video .pc, .visual .vis_img.vis_video .mob{position:absolute; inset:0;}
.visual .vis_img.vis_video iframe{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; pointer-events:none;}

.visual .vis_txt{position:absolute; left:0; right:0; top:13.875rem; z-index:5; color:#fff;}
.visual .vis_txt em{display:block; font-size:1.25rem; font-weight:700; letter-spacing:-0.02em; margin-bottom:.75rem;}
.visual .vis_txt h2{font-size:3.5625rem; font-weight:700; letter-spacing:-0.025em; line-height:1.12; word-break:keep-all;}
.visual .vis_txt p{margin-top:.75rem; font-size:1.25rem; font-weight:400; letter-spacing:-0.005em; line-height:1.45; word-break:keep-all;}
.visual .vis_more{display:inline-flex; align-items:center; gap:.25rem; margin-top:2.5rem; padding:.75rem 1.5rem; font-size:1rem; color:#fff; border:0.0625rem solid #fff; border-radius:1.875rem; transition:var(--tr);}
.visual .vis_more img{width:1.25rem; filter:invert(1); transition:var(--tr);}
.visual .vis_more:hover{background:#fff; color: #000;;}
.visual .vis_more:hover img{filter:invert(0);}

/* 컨트롤 (dots + 자동재생 토글) */
.vis_ctrl{position:absolute; left:0; right:0; bottom:16.75rem; z-index:6; display:flex; align-items:center; gap:1.75rem;}
.vis_dots{display:flex; align-items:center; gap:1.5625rem; width:auto !important;}
.vis_dots .swiper-pagination-bullet{width:.3125rem; height:.3125rem; border-radius:50%; background:#fff; opacity:1; margin:0 !important;}
.vis_dots .swiper-pagination-bullet-active{width:.625rem; height:.625rem; opacity:1;}
.vis_play{position:relative; width:2.5rem; height:2.5rem; border-radius:50%; border:0.0625rem solid rgba(255,255,255,.5); background:none; cursor:pointer; flex-shrink:0;}
/* 재생 중 원이 채워지는 프로그레스 링 */
.vis_play .ring{position:absolute; inset:-0.0625rem; width:calc(100% + 0.125rem); height:calc(100% + 0.125rem); transform:rotate(-90deg); pointer-events:none;}
.vis_play .ring circle{fill:none; stroke:#fff; stroke-width:1.5; stroke-linecap:round; stroke-dasharray:122.5; stroke-dashoffset:122.5;}
.vis_play .ico_play, .vis_play .ico_pause{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);}
.vis_play .ico_pause{width:.45rem; height:.5rem; border-left:.15rem solid #fff; border-right:.15rem solid #fff;}
.vis_play .ico_play{width:0; height:0; border-top: .35rem solid transparent; border-bottom: .35rem solid transparent; border-left: .525rem solid #fff; margin-left: .12rem;}
.vis_play .ico_play{display:none;}
.vis_play.paused .ico_pause{display:none;}
.vis_play.paused .ico_play{display:block;}

/* 하단 바로가기 탭 */
.vis_tab{position:absolute; left:0; right:0; bottom:2.5rem; z-index:6; display:flex; border-radius:.75rem; overflow:hidden; border-radius: 0.75rem;}
.vis_tab .vt_item{flex:1; height:5.5rem; display:flex; align-items:center; justify-content:center; gap:.5rem; background:rgba(255,255,255,.4); position:relative; transition:var(--tr);}
.vis_tab .vt_item + .vt_item::before{content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); width:0.0625rem; height:1.75rem; background:rgba(255,255,255,.4);}
.vis_tab .vt_item img{width:2.5rem; filter:brightness(0) invert(1);}
.vis_tab .vt_item span{font-size:1.125rem; font-weight:700; color:#fff;}
.vis_tab .vt_item:hover{background:var(--pink);}

.vis_slider > .inner{height: 100%; position: relative; width: 100rem; max-width: calc(100% - 2.5rem); padding: 0;}
.vis_badge{position:absolute; right:0; bottom:10.46875rem; z-index:5; width:10rem;}
.vis_badge img{width:100%;}

/* 슬라이드 1개일 때 컨트롤 숨김 */
.vis_slider.single .vis_ctrl{display:none;}


/* =========================== SEC01 통증부위 바디맵 =========================== */
/* Figma: inner 1600 x 893(노출 830), 바디이미지가 inner 전체 폭을 차지하고 리스트가 우측에 겹침 */
.sec1{position:relative; padding:7.5rem 0 0; overflow:hidden;}
.sec1 .inner{position:relative;}
.sec1 .main_tit{position:absolute; left:2.5rem; max-width: calc(100% - 2.5rem); top:0; z-index:4;}
.sec1 .s1_map{position:relative; aspect-ratio:1600/829;}
.s1_bgtext{position:absolute; left:50%; bottom: 2.69rem; transform:translateX(-50%); font-family:'Montserrat',var(--font); font-size:13.80vw; font-weight:700; line-height:1.0566; color:#111; opacity:.02; white-space:nowrap; letter-spacing:-0.003em; z-index:0; pointer-events:none;}
.s1_figure{position:absolute; left:0; top:0; width:100%; height: 100%; z-index:1;}
.s1_figure > img{width:100%; height: 100%; object-fit: contain; display:block;}
/* 하단 화이트 페이드 (Figma sec01_bg) */
.s1_figure::after{content:''; position:absolute; left:0; right:0; bottom:0; height:24.22%; background:linear-gradient(180deg,rgba(255,255,255,0) 0%,#fff 91.83%); z-index:1; pointer-events:none;}
.s1_click{position:absolute; left:31.25%; top:31.84%; z-index:3; display:inline-flex; align-items:center; gap:.625rem; background:#000; color:#fff; border-radius:3.125rem; padding:.75rem 1.75rem .75rem 2rem; font-size:1.125rem; font-weight:700; line-height:1.5; white-space:nowrap; animation: click 1.5s infinite;}
.s1_click img{width:1.5rem; filter:brightness(0) invert(1);}
@keyframes click{
 0% {transform: scale(1);}
 50% {transform: scale(0.95);}
 100% {transform: scale(1);}
}
/* 포인트: 도트 21.67 + 링 43.33/65 리플 모션 (에이스병원 .point2 참고, 컬러는 Figma) */
.s1_point{position:absolute; left:var(--l); top:var(--t); width:1.35417rem; height:1.35417rem; padding:0; border-radius:50%; background:var(--pink); border:0; transform:translate(-50%,-50%); cursor:pointer; z-index: 2;}
.s1_point .ring1, .s1_point .ring2{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); border-radius:50%; border:0.1425rem solid var(--pink); opacity:.2; pointer-events:none; animation:s1bounce 2.2s infinite ease-out both;}
.s1_point .ring1{width:2.70833rem; height:2.70833rem;}
.s1_point .ring2{width:4.0625rem; height:4.0625rem;}
@keyframes s1bounce{0%{transform:translate(-50%,-50%) scale(0); opacity:.9;} 100%{transform:translate(-50%,-50%) scale(1); opacity:0;}}
/* 호버 툴팁 (Figma Group 39884: 흰 pill + 핑크 보더 + [!] 마크 + 커브 연결선) */
.s1_point .tip{position:absolute; right:calc(50% + 5.53125rem); bottom:calc(50% + 1.5rem); display:inline-flex; align-items:center; gap:.3125rem; height:2.6875rem; background:#fff; color:var(--pink); border:0.0625rem solid var(--pink); border-radius:3.125rem; padding:.5rem 1rem; font-size:1.125rem; font-weight:700; line-height:1.5; white-space:nowrap; opacity:0; visibility:hidden; transition:var(--tr);}
.s1_point .tip .mark{width:1rem; height:1rem; flex-shrink:0; border-radius:50%; background:var(--pink); color:#fff; font-size:.62857rem; font-weight:800; font-style:normal; line-height:1rem; text-align:center; position: relative;}
.s1_point .tip::before{content:''; position:absolute; left:100%; top:calc(100% - 1.4375rem); width:5.65rem; height:2.375rem; border-top:0.0625rem solid var(--pink); border-right:0.0625rem solid var(--pink); pointer-events:none; z-index:-3;}
.s1_point:hover .tip{opacity:1; visibility:visible;}
.s1_point.on{box-shadow:0 0 0 .375rem rgba(231,51,110,.25);}
.s1_list{position:absolute; right:0; top:53.8%; transform:translateY(-50%); width:38.125%; z-index:2; text-align:center;}
.s1_lt{display:block; font-size:2.25rem; font-weight:700; line-height:1.22; color:var(--navy); letter-spacing:-0.015em; margin-bottom:2.5rem;}
.s1_chips{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem;}
.s1_chips li{aspect-ratio:1/1; border-radius:50%; background:#F4F4F5; border:0.0625rem solid #fff; display:flex; align-items:center; justify-content:center; text-align:center; transition:var(--tr); overflow: hidden; position: relative;}
.s1_chips li::after{content: ''; display: block; width: 100%; height: 100%; position: absolute; background: linear-gradient(180deg, #E7336E 28.85%, rgba(231, 51, 110, 0.00) 100%); opacity: 0; z-index: 1; transition:var(--tr);}
.s1_chips li a{display:flex; align-items:center; justify-content:center; width:100%; height:100%; text-align:center; position:relative; z-index:2;}
.s1_chips li span{font-size:1.375rem; font-weight:700; line-height:1.45; color:rgba(0,0,0,.7); letter-spacing:-0.005em; word-break:keep-all; padding:0 .75rem; position: relative; z-index: 2; transition:var(--tr);}
.s1_chips li:hover{background: #FFF;}
.s1_chips li:hover::after{opacity: 1;}
.s1_chips li:hover span{color:#fff;}

/* =========================== SEC02 전문 진료센터 =========================== */
.sec2{position:relative; padding:7.5rem 0;}
.sec2 .bg{position:absolute; left:0; bottom:0; width:100%; height:56%; background:#F8F8F8; z-index:0;}
.sec2 .inner.s2_inner{position:relative; z-index:1; display:flex; align-items:center; gap:4.6875rem;}
.s2_left{width:46%; flex-shrink:0;}
/* 썸네일/텍스트/큰이미지 3개 스와이퍼 양방향 동기화 (doodoorim 참고) */
.s2_thumbs{margin-top:7.5rem; overflow:hidden;}
.s2_thumb{width:calc((100% - (0.9375rem * 3)) / 4) !important; margin-right: 0.9375rem; aspect-ratio: 1/1; border-radius:1.25rem; overflow:hidden; cursor:pointer;}
.s2_thumb:last-child{margin-right: 0 !important;}
.s2_thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.s2_thumb.swiper-slide-active{outline:0.1875rem solid var(--pink); outline-offset:-0.1875rem;}
.s2_info{margin-top:3.75rem; overflow:hidden;}
.s2_slide{height:auto; background:transparent;}
.s2_name{display:block; font-size:2.25rem; font-weight:700; line-height:1.22; letter-spacing:-0.015em; color:#000;}
.s2_desc{margin-top:1.25rem; font-size:1.25rem; letter-spacing:-0.005em; color:rgba(0,0,0,.8); line-height:1.45;}
.s2_tags{display:flex; flex-wrap:wrap; gap:.625rem; margin-top:1.25rem; max-width: 26rem;}
.s2_tags span{padding:.625rem 1rem; background:#fff; border:0.0625rem solid #E7E9EF; border-radius:6.25rem; font-size:1rem; line-height:1.5; color:#102638;}
.sec2 .slide_ctrl{margin-top:2.75rem;}
.s2_big{flex:1; min-width:0; margin-right:calc(50% - 50vw); overflow:hidden; border-radius:3.75rem 0 0 3.75rem;}
.s2_bigimg{height:50.625rem; overflow: hidden;}
.s2_bigimg img{width:100%; height:100%; object-fit:cover; display:block;}

/* =========================== SEC03 Why 카드 슬라이더 =========================== */
/* .s3_head 는 sec03·sec04 공용 (타이틀 좌 + slide_ctrl 우하단 정렬) */
.s3_head{display:flex; align-items:flex-end; justify-content:space-between; gap:3.75rem; margin-bottom:3.75rem;}
.s3_head .main_tit{margin:0;}
.s3_slider_wrap{position: relative;}
.s3_slider_wrap::before{position: absolute; content: ''; display: block; width: 100%; height: 100%; background: #FFF; left: -100%; top: 0; z-index: 2;}
/* .s3_slider{overflow:hidden;} */
.s3_slider .swiper-slide{width:27.5rem; height:auto;}
.s3_card{position:relative; overflow:hidden; background:#F9F9F9; border-radius:1.25rem; padding:3.75rem 2.5rem; min-height:23.875rem; display:flex; flex-direction:column; gap:3.75rem;}
/* 호버 시 카드별 배경 이미지 노출 (Figma 7719:7697, 딤은 이미지에 포함) */
.s3_card .bg{position:absolute; inset:0; z-index:0; opacity:0; transition:opacity .4s ease; pointer-events:none;}
.s3_card .bg img{width:100%; height:100%; object-fit:cover; display:block;}
.s3_card .ic, .s3_card .s3_txt{position:relative; z-index:1;}
.s3_card .ic img{width:2.75rem; transition:filter .3s;}
.s3_txt em{font-size:.875rem; font-weight:700; line-height:1.43; color:var(--pink); transition:color .3s;}
.s3_txt strong{display:block; margin-top:.5rem; font-size:1.5rem; font-weight:700; color:var(--navy); line-height:1.33; letter-spacing:-0.01em; transition:color .3s;}
.s3_txt p{margin-top:.75rem; font-size:1.125rem; color:#5A5C63; line-height:1.5; transition:color .3s;}
.s3_card:hover .bg{opacity:1;}
.s3_card:hover .ic img{filter:brightness(0) invert(1);}
.s3_card:hover .s3_txt em, .s3_card:hover .s3_txt strong, .s3_card:hover .s3_txt p{color:#fff;}

/* =========================== SEC04 의료진 =========================== */
.sec4{background:#F7F7F8;}
.s4_menu{display:flex; background:#fff; border:0.0625rem solid #EAEBEC; border-radius:1.875rem; margin-bottom:2.5rem;}
.s4_tab{flex:1; min-width:0; height:3.3125rem; border:0; background:none; border-radius:1.875rem; font-size:1.25rem; font-weight:400; line-height:1.45; color:var(--gray2); letter-spacing:-0.005em; cursor:pointer; transition:var(--tr); white-space:nowrap; padding:0 1.5rem;}
.s4_tab.on{background:var(--pink); color:#fff; font-weight:700;}
.s4_slider{overflow:hidden;}
.s4_slider .swiper-slide{width:calc((100% - (1.5rem * 3)) / 4); margin-right: 1.5rem; height:auto;}
.s4_slider .swiper-slide:last-child{margin-right: 0 !important;}
.s4_img{border-radius:1.25rem; overflow:hidden; background:#DFE1E5; aspect-ratio:380/430;}
.s4_img img{width:100%; height:100%; object-fit:cover; object-position:center top; display:block;}
.s4_txt{margin-top:1.875rem;}
.s4_name{display:flex; align-items:flex-end; gap:.75rem;}
.s4_name strong{font-size:1.75rem; font-weight:700; line-height:1.29; letter-spacing:-0.01em; color:#0B0B0B;}
.s4_name span{font-size:1.125rem; color:var(--gray);}
.s4_dept{display:flex; align-items:center; gap:.9375rem; margin-top:.625rem;}
.s4_dept em{font-size:1.125rem; font-weight:500; color:#002A7B;}
.s4_dept i{width:0.0625rem; height:.625rem; background:var(--gray2);}
.s4_dept span{font-size:1.125rem; color:var(--gray);}
.s4_card.hide{display:none;}

/* =========================== SEC05 증상 검색 (마퀴) =========================== */
.sec5{position:relative; overflow:hidden;}
.s5_bgtext{position:absolute; left:50%; top:16.34375rem; transform:translateX(-50%); font-family:'Montserrat',var(--font); font-size:16.5625rem; font-weight:700; line-height:1.0566; color:#111; opacity:.02; white-space:nowrap; letter-spacing:-0.003em; z-index:0; pointer-events:none;}
.sec5 .inner{position:relative; z-index:1;}
.sec5 .main_tit{margin-bottom:0;}
.sec5 .main_tit .tit{margin-bottom:0;}
.s5_search{display:flex; justify-content:center; gap:.625rem; margin-top:5rem;}
.s5_search input{width:34.375rem; max-width:100%; height:3.75rem; border:0.125rem solid #000; border-radius:3.125rem; padding:0 1.5rem; font-size:1.125rem; font-weight:700; line-height:1.5; font-family:var(--font); color:#000;}
.s5_search input::placeholder{color:rgba(0,0,0,.6);}
.s5_go{width:3.75rem; height:3.75rem; border-radius:50%; background:#000; border:0; cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.s5_go img{width:1.5rem; filter:brightness(0) invert(1);}
.s5_marquee{margin-top:3.75rem; display:flex; flex-direction:column; gap:1.25rem;}
/* .s5_row{overflow:hidden;} */
.s5_track{display:flex; gap:1.25rem; width:max-content;}
.s5_left .s5_track{animation:mqLeft 45s linear infinite;}
.s5_right .s5_track{animation:mqRight 45s linear infinite;}
.s5_row:hover .s5_track{animation-play-state:paused;}
@keyframes mqLeft{from{transform:translateX(0);} to{transform:translateX(-50%);}}
@keyframes mqRight{from{transform:translateX(-50%);} to{transform:translateX(0);}}
.s5_chip{flex-shrink:0; width:12.5rem; height:12.5rem; border-radius:50%; border:0.0625rem solid rgba(172,172,172,.3); display:flex; align-items:center; justify-content:center; text-align:center; font-size:1.125rem; font-weight:500; color:rgba(109,109,109,.7); line-height:1.5; position: relative; overflow: hidden; transition:var(--tr);}
.s5_chip::after{content: ''; display: block; width: 100%; height: 100%; background: linear-gradient(180deg, #E7336E 28.85%, rgba(231, 51, 110, 0.00) 100%); opacity: 0; position: absolute; left: 0; top: 0; z-index: -1; transition:var(--tr);}
.s5_chip:hover{border-color:transparent; color:#fff; font-weight:700;}
.s5_chip:hover::after{opacity: 1;}

/* =========================== SEC06 치료후기 =========================== */
.sec6{position:relative; background:var(--navy-darkest); padding:10.71875rem 0; overflow:hidden;}
.s6_bg{position:absolute; inset:0; z-index:0;}
.s6_bg img{width:100%; height:100%; object-fit:cover; display:block;}
.sec6 .inner{position:relative; z-index:1;}
.s6_head{display:flex; align-items:flex-end; justify-content:space-between; gap:2.5rem; margin-bottom:3.75rem;}
.s6_head .main_tit{margin:0;}
.s6_head .tit, .s6_head p{color:#fff;}
.sec6 .main_tit .tit{margin-top:0;}
.s6_more{display:inline-flex; align-items:center; gap:.25rem; height:3.125rem; border:0.0625rem solid #fff; border-radius:3.125rem; padding:0 1.5625rem; color:#fff; font-size:1rem; font-weight:500; line-height:1.5; flex-shrink:0; transition:var(--tr);}
.s6_more img{width:1.25rem; filter:brightness(0) invert(1); transition:var(--tr);}
.s6_more:hover{background:#fff; color:var(--navy);}
.s6_more:hover img{filter:invert(13%) sepia(59%) saturate(590%) hue-rotate(165deg) brightness(100%) contrast(94%);}
/* 왼쪽 끝은 inner 왼쪽에서 잘리고, 오른쪽은 화면 끝까지 흘러나가되
   마지막 슬라이드가 멈추는 지점은 inner 오른쪽에 맞춘다.
   overflow 는 padding box 까지 보여주므로 margin-right(음수)로 박스를 화면 밖까지 늘리고
   같은 값의 padding-right 로 상쇄해 swiper 가 재는 content box = inner 폭 을 유지시킨다.
   (swiper 는 updateSize 에서 좌우 padding 을 빼고 slidesGrid 를 계산함)
   → absolute·고정높이·가림용 가상선택자 전부 불필요. 넘친 부분은 .sec6 의 overflow:hidden 이 정리. */
.s6_slider_wrap{position:relative;}
.s6_slider{overflow:hidden; margin-right:-50vw; padding-right:50vw;}
.s6_slider .swiper-slide{width:26.25rem; height:auto; margin-right: 1.875rem; transition: var(--tr);}
.s6_slider .swiper-slide:hover{background: var(--pink);}
.s6_slider .swiper-slide:last-child{margin-right: 0 !important;}
.s6_card{position:relative; background:rgba(255,255,255,.2); border-radius:1.5625rem; padding:3.75rem 2.5rem; min-height:23.9375rem; display:flex; flex-direction:column;}
.s6_card > a{display:flex; flex-direction:column; flex:1; color:inherit;}
.s6_tag{align-self:flex-start; font-size:1rem; font-weight:600; color:#F3A7C1; transition:var(--tr);}   /* 어두운 카드 배경에서 잘 보이는 밝은 핑크 */
.s6_slider .swiper-slide:hover .s6_tag{color:#fff;}   /* 호버 시 카드가 핑크 배경이 되므로 흰색으로 */
.s6_desc{margin-top:.75rem; font-size:1.125rem; color:#fff; line-height:1.5; display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden;}
.s6_date{margin-top:1.25rem; font-size:.875rem; line-height:1.43; color:#fff;}
.s6_go{position:absolute; right:1.875rem; bottom:1.875rem; width:2.5rem; height:2.5rem; border-radius:50%; background:none; border:0.0625rem solid #F4F6F9; display:flex; align-items:center; justify-content:center; transition: var(--tr);}
.s6_go img{width:1.28875rem; filter:brightness(0) invert(1); transition: var(--tr);}
.s6_slider .swiper-slide:hover .s6_go{background: #FFF;}
.s6_slider .swiper-slide:hover .s6_go img{filter: invert(30%) sepia(80%) saturate(1582%) hue-rotate(313deg) brightness(91%) contrast(99%);}
/* swiper 공통 css(.swiper-scrollbar-horizontal 의 absolute/left/width) 오버라이드 */
.sec6 .s6_progress, .sec6 .s6_progress.swiper-scrollbar-horizontal{position:relative; left:0; right:auto; top:auto; bottom:auto; margin-top:3.75rem; height:0.1875rem; width:100%; background:rgba(255,255,255,.3); border-radius:0;}
.sec6 .s6_progress .swiper-scrollbar-drag{background:#fff; border-radius:0;}

/* =========================== SEC07 영상자료 =========================== */
.sec7{position:relative; background:var(--navy-deep); overflow:hidden;}
.s7_deco{position:absolute; left:59.74%; top:0; width:82.484375rem; height:82.484375rem; border-radius:50%; border:21.5rem solid rgba(255,255,255,.06); z-index:0;}
.sec7 .inner{position:relative; z-index:1;}
.sec7 .no_data{border-color: #FFF;}
.sec7 .no_data .icon{filter: invert(1);}
.sec7 .no_data p{color: #FFF;}
.s7_wrap{position:relative;}
/* 센터 800 + 사이드 700(scale .875, 아래로 105px) — 좌우 슬라이드 상시 노출 (Figma sec07_videolist) */
.s7_slider.swiper{overflow:visible;}
.s7_slider .swiper-slide{width:50rem; opacity:1; transform:translateY(6.5625rem) scale(.875); transform-origin:left top; transition:transform .6s ease, opacity .6s ease;}
.s7_slider .swiper-slide-next ~ .swiper-slide, .s7_slider .swiper-slide-next{transform-origin:right top;}
.s7_slider .swiper-slide-active{opacity:1; transform:translateY(0) scale(1);}
.s7_thumb{display:block; position:relative; border-radius:1.25rem; overflow:hidden; aspect-ratio:16/9; background:#D3DBE8;}
.s7_thumb img{width:100%; height:100%; object-fit:cover;}
/* 사이드(비활성) 슬라이드 딤 — 시안 오버레이를 CSS로 재현 (이미지엔 미포함) */
.s7_thumb::after{content:''; position:absolute; inset:0; background:rgba(0,0,0,.45); opacity:1; transition:opacity .6s ease; z-index:1; pointer-events:none;}
.s7_slider .swiper-slide-active .s7_thumb::after{opacity:0;}
.s7_play{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:5rem; height:5rem; border-radius:50%; background:rgba(255,255,255,.25); backdrop-filter:blur(2px); z-index:2;}
.s7_play::after{content:''; position:absolute; left:53%; top:50%; transform:translate(-50%,-50%); border-top:.75rem solid transparent; border-bottom:.75rem solid transparent; border-left:1.1875rem solid #fff;}
.s7_txt{margin-top:2.5rem; text-align:center; opacity:0; transition:opacity .4s;}
.s7_slider .swiper-slide-active .s7_txt{opacity:1;}
.s7_txt strong{display: -webkit-box; font-size:1.75rem; font-weight:700; color:#fff; letter-spacing:-0.01em; line-height:1.29; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;}
.s7_txt span{display:block; margin-top:.9375rem; font-size:1.125rem; line-height:1.5; color:#fff;}
.s7_prev, .s7_next{position:absolute; top:18.875rem; transform:translateY(-50%); width:3.25rem; height:3.25rem; border-radius:50%; border:0.0625rem solid #fff; background:none; cursor:pointer; z-index:5; display:flex; align-items:center; justify-content:center; transition:var(--tr);}
.s7_prev img, .s7_next img{width:1.375rem; filter:brightness(0) invert(1); transition:var(--tr);}
.s7_prev{left:calc(50% - 30.65rem);}
.s7_next{right:calc(50% - 30.65rem);} .s7_next img{transform:rotate(180deg);}
.s7_prev:hover, .s7_next:hover{background:var(--pink); border-color:var(--pink);}

/* =========================== SEC08 언론보도 =========================== */
.sec8{background:#fff;}
.main_tit .tit.tit-sm{font-size:2.25rem; line-height:1.22;}
.sec8 .main_tit .tit{margin:.875rem 0; color:var(--navy);}
.sec8 .main_tit p{color:#5A5C63;}
.s8_more{display:inline-flex; align-items:center; gap:.625rem; height:3.125rem; border:0.0625rem solid var(--navy); border-radius:3.125rem; padding:0 1.5625rem; color:var(--navy); font-size:1rem; font-weight:500; line-height:1.5; flex-shrink:0; transition:var(--tr);}
.s8_more img{width:1.25rem; transition:var(--tr);}
.s8_more:hover{background:var(--navy); color:#fff;}
.s8_more:hover img{filter:brightness(0) invert(1);}
.s8_row{display:flex; gap:5rem;}
.s8_feature{width:43.75%; flex-shrink:0;}
.s8_img{display:block; border-radius:1.1875rem; overflow:hidden; aspect-ratio:700/460; background:#DFE6EB;}
.s8_img img{width:100%; height:100%; object-fit:cover;}
.s8_ftxt{display:block; margin-top:1.5rem;}
.s8_ftxt em{font-size:1rem; font-weight:700; color:var(--pink);}
.s8_ftxt strong{display:-webkit-box; margin-top:.5rem; font-size:1.75rem; font-weight:700; color:var(--navy); line-height:1.29; letter-spacing:-0.01em; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.s8_list{flex:1; min-width:0;}
.s8_item{display:block; padding:1.75rem; border-bottom:0.0625rem solid #DFE6EB; transition:background .3s;}
.s8_item:first-child{border-top:0.0625rem solid #DFE6EB;}
.s8_item em{font-size:1rem; font-weight:700; color:var(--pink);}
.s8_item strong{display:block; margin:.5rem 0; font-size:1.5rem; font-weight:700; color:var(--navy); letter-spacing:-0.01em; line-height:1.33; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.s8_item span{font-size:1rem; color:var(--gray3);}
/* 호버: 배경 컬러 변경 + 자세히보기 팔로우 커서 (main_hover 시안) */
.s8_item:hover{background:#F7F7F8;}

/* =========================== SEC09 CTA =========================== */
.sec9{position:relative; background:var(--navy); padding:16.1875rem 0; overflow:hidden; text-align:center;}
.s9_bg{position:absolute; inset:0; z-index:0;}
.s9_bg img{width:100%; height:100%; object-fit:cover; display:block;}
.sec9 .inner{position:relative; z-index:1;}
.s9_label{font-size:1rem; font-weight:700; line-height:1.5; color:var(--pink);}
.s9_tit{margin-top:.75rem; font-size:2.8125rem; font-weight:700; color:#fff; letter-spacing:-0.02em; line-height:1.15;}
.s9_desc{margin-top:1rem; font-size:1.25rem; letter-spacing:-0.005em; line-height:1.45; color:#F7F7F8;}
.s9_btns{display:flex; justify-content:center; gap:.75rem; margin-top:3rem;}
.s9_btn{display:inline-flex; align-items:center; gap:.625rem; height:3.1875rem; padding:0 1.25rem; border-radius:1.875rem; font-size:1.125rem; line-height:1.5; transition:var(--tr);}
.s9_btn img{width:1.25rem; filter:brightness(0) invert(1);}
.s9_btn.fill{background:var(--pink); color:#fff; font-weight:500;}
.s9_btn.line{border:0.0625rem solid #fff; color:#fff; font-weight:700;}

/* =========================== SEC10 오시는 길 =========================== */
.sec10{background:var(--navy-deep); padding:7.5rem 0 3.75rem;}
.sec10 .main_tit .tit{color:#fff;}
.sec10 .s10_desc{color:#fff; font-size:1.125rem; line-height:1.5; letter-spacing:0;}
.s10_row{display:flex; gap:3.75rem; margin-top:3.75rem;}
.s10_map{width:56.25%; height: 35.625rem; flex-shrink:0; overflow:hidden;}
.s10_map .root_daum_roughmap_landing,
.s10_map .root_daum_roughmap .wrap_map{width:100%; height:100%;}
.s10_map .root_daum_roughmap .wrap_controllers,
.s10_map .root_daum_roughmap .cont,
.s10_map .map_border{display: none;}
.s10_info{flex:1; min-width:0; color:#fff;}
.s10_add{padding-bottom:2rem; border-bottom:0.0625rem solid rgba(255,255,255,.3);}
.s10_addtxt em{display:block; font-size:1.125rem; font-weight:500; line-height:1.5;}
.s10_addtxt strong{display:block; margin-top:.9375rem; font-size:1.25rem; font-weight:700; line-height:1.45; letter-spacing:-0.005em;}
.s10_addtxt span{display:block; margin-top:.5rem; font-size:.875rem; line-height:1.43;}
.s10_mapbtn{display:flex; gap:.9375rem; margin-top:1.875rem;}
.s10_mapbtn .mbtn{display:inline-flex; align-items:center; gap:.625rem; height:3rem; padding:0 1.75rem; border:0.0625rem solid rgba(255,255,255,.6); border-radius:1.875rem; color:#fff; font-size:1rem; font-weight:700; line-height:1.5; transition:var(--tr);}
.s10_mapbtn .mbtn img{width:.9375rem; filter:brightness(0) invert(1);}
.s10_mapbtn .mbtn:hover{background:var(--pink); border-color: var(--pink);}
.s10_item{display:flex; gap:3.75rem; padding:2rem 0; border-bottom:0.0625rem solid rgba(255,255,255,.3);}
.s10_item:last-child{border-bottom:0;}
.s10_item > em{width:4.0625rem; flex-shrink:0; white-space:nowrap; font-size:1.125rem; font-weight:500; line-height:1.5;}
.s10_val{flex:1; min-width:0;}
.s10_val .big{font-size:1.75rem; font-weight:700; line-height:1.29; letter-spacing:-0.01em;}
.s10_val .s10_sub{display:inline-flex; align-items:center; gap:.75rem; margin-left:1.25rem; font-size:.875rem; line-height:1.43;}
.s10_val.bus p, .s10_val.time p{display:flex; align-items:baseline; gap:1.25rem;}
.s10_val.bus p + p, .s10_val.time p + p{margin-top:.625rem;}
.s10_val.bus p span, .s10_val.time p span{width:6rem; flex-shrink:0; font-size:1rem; font-weight:400; line-height:1.5;}
.s10_val.bus p b, .s10_val.time p b{font-size:1.125rem; font-weight:700; line-height:1.5;}
.s10_val.time .t_row{display:flex; align-items:baseline; gap:1.75rem;}
.s10_val.time .t_row p{margin-top:0;}
.s10_val.time .t_row + p, .s10_val.time .t_row + .t_row{margin-top:.625rem;}
.s10_val.time p .off{margin-left:1.25rem; font-size:1rem; font-weight:400; line-height:1.5; font-style:normal;}


/* =========================== FOOTER =========================== */
.footer{background:var(--navy-foot); padding:3.75rem 0 max(3.75rem, calc(8.75rem - var(--iq-off, 0px))); transition:padding-bottom .4s;}
.footer .ft_top{display:flex; align-items:flex-start; justify-content:space-between; padding-bottom:2rem; border-bottom:0.0625rem solid rgba(255,255,255,.3);}
.footer .ft_logo img{width:10rem;}
.footer .ft_sns{display:flex; gap:.55rem; opacity:.6;}
.footer .ft_sns a{width:2.75rem;}
.footer .ft_sns a img{width:100%;}
.footer .ft_mid{display:flex; align-items:flex-start; justify-content:space-between; gap:2.5rem; margin-top:2.5rem;}
.footer .ft_use{display:flex; gap:1.875rem; margin-bottom:1.25rem;}
.footer .ft_use a{font-size:1rem; font-weight:500; line-height:1.625; color:#fff; letter-spacing:-0.0375em;}
.footer .ft_use a b{font-weight:700;}
.footer .ft_info p{display:flex; flex-wrap:wrap; gap:.3125rem 1.25rem; margin-bottom:.3125rem; max-width:53.125rem;}
.footer .ft_info span{font-size:1rem; font-weight:400; line-height:1.5; color:#fff;}
.footer .ft_info b{font-weight:700; margin-right:.5rem;}
.footer .ft_copy{margin-top:1.25rem; font-size:1rem; line-height:1.625; color:#fff; letter-spacing:-0.0375em;}
.footer .ft_right{text-align:right; flex-shrink:0; padding-top:2.875rem;}
.footer .ft_cs{font-size:1rem; font-weight:600; line-height:1.625; color:#fff; letter-spacing:-0.03125em;}
.footer .ft_cs b{margin-left:.5rem; font-size:1.5625rem; font-weight:800; line-height:1.4;}
.footer .ft_time{margin-top:.3125rem; font-size:1rem; line-height:1.625; color:#fff; letter-spacing:-0.0375em;}

/* 빠른문의 바 */
.inquiry_bar{position:fixed; left:0; bottom:0; z-index:800; width:100%; background:#fff; box-shadow:0 -.25rem 1.25rem rgba(0,0,0,.08); transition:transform .4s;}
.inquiry_bar.off{transform:translateY(100%);}
.inquiry_bar .inner{height:5rem; position: relative;}
.iq_tel{display:flex; align-items:center; gap:.75rem;}
.iq_tel strong{display:flex; align-items:center; gap:.3125rem; font-size:1.625rem; font-weight:800; color:var(--navy);}
.iq_tel strong img{width:1.625rem;}
.iq_tel span{font-size:.875rem; font-weight:500; color:var(--navy); letter-spacing:-0.03em;}
.iq_form{display:flex; align-items:center; justify-content: space-between; height: 100%;}
.iq_field_wrap{display: flex; align-items: center; gap: 1.875rem;}
.iq_fields{display:flex; gap:.9375rem; flex:1 1 auto; min-width:0; max-width:43.75rem;}
.iq_fields > .iq_sel{flex:220 1 0;}
.iq_fields > input[type="text"]{flex:200 1 0;}
.iq_fields > input[type="tel"]{flex:250 1 0;}
.iq_fields > *{min-width:0;}
.iq_fields select, .iq_fields input{width:100%; height:2.8125rem; border:0.0625rem solid var(--line2); border-radius:0; padding:0 1.25rem; font-size:1.125rem; font-weight:600; color:var(--navy); font-family:var(--font); background:#fff; outline: none !important; display: block;}
.iq_fields select{padding-right:2.5rem; color:#BEBEBE; background: #FFF url(/img/icon/ic_sel.svg) no-repeat right 0.8125rem center / 1.5rem;}
.iq_fields select.on{color:#000;} /* 옵션 선택 후 (js/sub.js) */
.iq_fields select option{color: #000;}
.iq_fields input::placeholder{color:#BEBEBE;}
.iq_chk{display:flex; align-items:center; gap:.5625rem; flex-shrink:0; cursor:pointer;}
.iq_chk input{width:1.25rem; height:1.25rem; appearance: none; border: 1px solid #8e8e8e;}
.iq_chk input:checked{background: #000 url(/img/icon/ic_chk.svg) no-repeat center / 1rem; border-color: #000;}
.iq_chk span{font-size:1rem; font-weight:600; color:#000;}
.iq_chk span a{text-decoration:underline 2px; text-underline-offset: 0.125rem;}
.iq_btn{height:2.8125rem; flex-shrink:0; padding:0 1.75rem; background:var(--pink); color:#fff; border:0; border-radius:.5rem; font-size:1.125rem; font-weight:700; cursor:pointer;}
.iq_close{position:absolute; right:2.5rem; top:-2.6875rem; width:3.125rem; height:2.6875rem; background:var(--pink); border:0; cursor:pointer; display:flex; align-items:center; justify-content:center;}
.iq_close img{width:.875rem; filter:brightness(0) invert(1);}


/* =========================== 팝업레이어 (newwin / #hd_pop) =========================== */
#hd_pop{position:relative; z-index:6000;}
#hd_pop .hd_pops{z-index:6000;}
#hd_pop .hd_pops_con{border:0 !important; border-radius:1.25rem; overflow:hidden; background:#fff; box-shadow:0 1.25rem 2.5rem rgba(0,0,0,.25);}
#hd_pop .hd_pops_con img{display:block; max-width:100%; height:auto;}
#hd_pop .hd_pops_footer{display:flex; align-items:center; justify-content:space-between; gap:1rem; background:#fff; padding:.75rem 1.25rem; font-size:1rem;}
#hd_pop .hd_pops_footer button{background:none; border:0; color:#000; cursor:pointer; font-size:1rem; font-family:var(--font);}
#hd_pop .hd_pops_footer .hd_pops_close{color:var(--pink); font-weight:600;}


/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media screen and (max-width:1640px){
	html{font-size:80%;}
	.inner{max-width:100%;}
	.header .inner{max-width:100%; padding: 0 2.5rem;}
	.mega_in{gap:3rem; padding:2.5rem 2.5rem 3rem 2.5rem; max-width: 100%;}
	.mega_panel::before{width:16rem;}
	.mega_tit{width:14rem; font-size:2rem;}
	.mega_card{width:16rem;}
	.all_menu_inner{max-width: 100%; padding: 7.25rem 2.5rem 3.5rem;}
	.am_top{left: 2.5rem; right: 2.5rem; top: 2.5rem;}
	.vis_slider > .inner{width: 100%; max-width:calc(100% - 5rem);}
}

@media screen and (max-width:1440px){
	.header .gnb{gap: 3.5rem;}
	.s10_map{width: 50%;}
}

@media screen and (max-width:1280px){
	.header h1 a img{width: 6.5rem;}
	.header .gnb{gap: 1.65rem;}
	.header .head_rt{gap: 1rem;}
	.header .member{gap: 0.75rem;}
	.all_menu_btn{width: 1.875rem;}
	.hbtn{padding: 0 0.875rem;}
	.mega_in{gap: 2rem; padding:2rem 2.5rem;}
	.mega_panel::before{width:12rem;}
	.mega_tit{width:10rem; font-size:1.5rem;}
	.mega_list{gap: 1.25rem;}
	.mega_group > strong{margin-bottom: 0.35rem;}
	.mega_group ul{gap: 0.25rem 1.5rem;}
	.am_cols .col{width: 12.5rem;}

	.s1_chips li span{font-size: 1.25rem;}
	.s8_row{gap: 2.5rem;}
	.s10_item{flex-direction: column; gap: 0.875rem;}

	.iq_tel{flex-direction: column; align-items: flex-start; gap: 0.25rem;}
	.iq_field_wrap{width: 63%;}
	.iq_fields{max-width: initial; flex: inherit;}
}

@media screen and (max-width:1024px){
	html{font-size:100%;}
	.pc{display:none !important;}
	.mob{display:block !important;}
	.inner{max-width:100%; padding:0 1.25rem;}

	/* HEADER */
	.header{height:3.75rem; --hd:3.75rem;}
	.header .inner{padding:0 1.25rem;}
	.header h1 a img{width:5rem;}
	.header .gnb, .header .member, .mega, .mega_dim{display:none !important;}
	.all_menu_btn{display:none !important;}
	.head_rt{gap:.75rem !important; flex-direction: row-reverse;}
	.head_btns .hbtn.line{display:none;}
	.head_btns .hbtn.fill{height:2.25rem; font-size:.875rem; border-radius:.5rem; padding:0 1rem;}
	.head_mob_btn{display:block !important; width:1.5rem; cursor:pointer; filter:brightness(0) invert(1);}
	.header:hover .head_mob_btn, .header.fixed .head_mob_btn, .header.on .head_mob_btn{filter:none;}

	/* PC 전체메뉴 숨김 */
	.all_menu{display:none !important;}

	/* 모바일 전체메뉴 — 오른쪽에서 왼쪽으로 슬라이드 인 (jaseng 참고) */
	.head_bg{display:block; position:fixed; inset:0; z-index:10000; background:#fff; visibility:hidden; transform:translateX(100%); transition:transform .4s ease, visibility .4s;}
	.head_bg.on{visibility:visible; transform:translateX(0);}
	.mob_menu{height:100%; display:flex; flex-direction:column;}
	.mob_top{position:relative; padding:1.25rem 1.25rem 0;}
	.mob_logo img{width:6.25rem;}
	.head_bg_close{position:absolute; top:1.375rem; right:1.25rem; width:1.25rem; cursor:pointer;}
	.mob_login{margin-top:2.5rem;}
	.mob_login_links{display:flex; align-items:center; gap:.9375rem;}
	.mob_login_links a{font-size:1rem; font-weight:500; color:#000;}
	.mob_login_links .line{width:0.0625rem; height:.625rem; background:#000;}
	.mob_login_btns{display:flex; gap:.5rem; margin-top:1rem;}
	.mob_login_btns .hbtn{justify-content:center; height:2.25rem; font-size:.875rem;}
	.mob_login_btns .hbtn.line{border-color:#000; color:#000;}
	.mob_login_btns .hbtn.line img{filter:none;}
	.mob_body{flex:1; display:flex; margin-top:1.25rem; border-top:1px solid #EAEBEC; min-height:0;}
	.mob_1depth{width:50%; flex-shrink:0; background:var(--navy); overflow-y:auto;}
	.mob_1depth li{display:flex; align-items:center; justify-content:space-between; padding:1rem; height:3.5rem; border-bottom:0.0625rem solid rgba(255,255,255,.3); cursor:pointer;}
	.mob_1depth li span{font-size:1rem; font-weight:700; color:#fff;}
	.mob_1depth li i{width:.37881rem; aspect-ratio: 30/53; background:url("/img/main/ic_cright.svg") no-repeat center/contain; filter:brightness(0) invert(1);}
	.mob_1depth li.on{background:#fff;}
	.mob_1depth li.on span{color:var(--navy);}
	.mob_1depth li.on i{filter:none;}
	.mob_2depth{width: 50%; overflow-y:auto; padding:1.25rem;}
	.mob_panel{display:none;}
	.mob_panel.on{display:block;}
	.mob_center + .mob_center{margin-top:1rem;}
	.mob_ctit{display:flex; align-items:center; justify-content:space-between; gap:.3125rem;}
	.mob_ctit a{font-size:.875rem; font-weight:700; color:var(--navy);}
	.mob_ctit i{width:0.6875rem; aspect-ratio: 11/6; background:url("/img/main/ic_down.svg") no-repeat center/contain; transition:var(--tr);}
	.mob_center.open .mob_ctit i{transform:rotate(-180deg);}
	.mob_3depth{display:none; padding:1rem 0 0;}
	.mob_center.open .mob_3depth{display:block;}
	.mob_3depth li + li{margin-top:.5rem;}
	.mob_3depth a{font-size:.875rem; color:#878A93; font-weight: 600; line-height: 143%;}
	.mob_center.single .mob_ctit i{display:none;}
	.mob_flat li + li{margin-top:1rem;}
	.mob_flat a{font-size:.875rem; font-weight:700; color:var(--navy);}

	/* 퀵 */
	.quick{right:.9375rem; bottom:max(.9375rem, calc(9.5rem - var(--iq-off, 0px))); gap:.5rem;}
	.quick a{width:3.75rem; border-radius:.625rem;}
	.quick a img{width:1.25rem;}
	.quick a span{font-size:.6875rem;}
	.quick .q_book, .quick .q_tel{height:3.5rem;}
	.quick .top_btn{height:3rem;}

	/* VISUAL */
	.visual .swiper-slide{height:35rem;}
	.visual .vis_txt{top:auto; bottom:10.875rem; transform:none;}
	.visual .vis_txt em{font-size:.875rem; margin-bottom:.5rem;}
	.visual .vis_txt h2{font-size:2rem; letter-spacing:-0.015em; line-height:1.25;}
	.visual .vis_txt p{font-size:.875rem; line-height:1.43; margin-top:1rem;}
	.visual .vis_more{margin-top:1.5rem; padding:.5rem 1rem; font-size:.875rem;}
	.visual .vis_more img{width: 1rem;}
	.vis_ctrl{bottom:4.5rem; gap:1.575rem;}
	.vis_dots{gap:1.40625rem;}
	.vis_dots .swiper-pagination-bullet{width:.28125rem; height:.28125rem;}
	.vis_dots .swiper-pagination-bullet-active{width:.5625rem; height:.5625rem;}
	.vis_play{width:2.25rem; height:2.25rem;}
	.vis_tab, .vis_badge{display:none;}

	/* 본문 섹션 공통 */
	.sec{padding:3.75rem 0;}
	.sec1, .sec6, .sec9{padding:3.75rem 0;}
	.main_tit .tit{font-size:1.75rem; line-height:1.29; letter-spacing:-0.01em; margin:.75rem 0;}
	.sec3 .main_tit .tit, .sec7 .main_tit .tit, .sec10 .main_tit .tit, .sec8 .main_tit .tit{margin:.75rem 0;}
	.main_tit .tit.tit-sm{font-size:1.75rem;}
	.main_tit p{font-size:1rem; line-height:1.5;}
	.main_tit em{font-size:1rem;}
	.slide_ctrl{gap:1.25rem;}
	.slide_ctrl .page .cur{font-size:1.25rem; min-width: 1.75rem;}
	.slide_ctrl .arrows{gap: 0.65rem;}
	.slide_ctrl .arrows button{width:2.5rem; height:2.5rem;}
	.slide_ctrl .arrows button img{width:1.125rem;}

	/* SEC01 — 모바일은 바디이미지 크롭이 달라 전용 이미지/좌표 사용 (Figma 7516:2502) */
	.sec1 .inner{position:static;}
	.sec1 .main_tit{position:static;}
	.sec1 .s1_map{margin-top:2rem; aspect-ratio:auto; overflow:visible;}
	.s1_bgtext{display:none;}
	.s1_figure{position:relative; width: 72%; padding-right: 1rem; height: auto; margin: 0 auto;}
	.s1_click{left:50.59%; top:29.62%; transform:none; gap:.224rem; font-size:.875rem; font-weight:400; line-height:1.43; padding:.269rem .628rem .269rem .718rem; border-radius:1.12rem;}
	.s1_click img{width:.875rem;}
	.s1_point{left:var(--ml); top:var(--mt); width:.55rem; height:.55rem;}
	.s1_point .ring1{width:1.1rem; height:1.1rem; border-width:.0925rem;}
	.s1_point .ring2{width:1.65rem; height:1.65rem; border-width:.0925rem;}
	.s1_point .tip{display:none;}
	.s1_point.on{box-shadow:0 0 0 .25rem rgba(231,51,110,.25);}
	.s1_list{position:static; width:100%; margin-top:2rem; transform:none; text-align:left;}
	.s1_lt{font-size:1.5rem; line-height:1.33; text-align:left; margin-bottom:1.25rem;}
	.s1_chips{grid-template-columns: repeat(4, minmax(0, 1fr));}
	.s1_chips li span{font-size:1rem; line-height:1.43; color:#000; padding:0 .375rem;}

	/* SEC02 */
	.sec2 .bg{height:100%;}
	.sec2 .inner.s2_inner{flex-direction:column; gap:2rem; align-items:stretch;}
	.sec2 .main_tit{order: 1;}
	.s2_left{width:100%; order: 3;}
	.s2_big{width:100%; margin-right:0; border-radius:1.25rem; order: 2;}
	.s2_bigimg{height:auto; aspect-ratio:16/11;}
	.s2_thumbs{margin-top:2rem; display: none;}
	.s2_thumb{border-radius:.75rem;}
	.s2_info{margin-top:0; min-height:0;}
	.s2_name{font-size:1.5rem;}
	.s2_desc{font-size:.9375rem; margin-top:.75rem;}
	.s2_tags{gap:.375rem; margin-top:1rem; max-width: 100%;}
	.s2_tags span{padding:.375rem .75rem; font-size:.8125rem;}
	.sec2 .slide_ctrl{margin-top:1.5rem;}

	/* SEC03·04 헤드 — 모바일 세로 스택, sec03 은 컨트롤 없음(스와이프 전용) */
	.s3_head{flex-direction:column; align-items:flex-start; gap:1.5rem; margin-bottom:2rem;}
	.sec3 .inner,
	.sec4 .inner{padding-bottom: 4.25rem; position: relative;}
	.sec3 .s3_head .slide_ctrl,
	.sec4 .s3_head .slide_ctrl{position: absolute; left: 50%; transform: translateX(-50%); bottom: 0;}
	.fcursor{display:none;}
	.s3_slider .swiper-slide{width:15.625rem;}
	.s3_card{padding: 1.75rem 1.5rem; min-height:0; gap:1rem;}
	.s3_card .ic img{width: 2.5rem;}
	.s3_txt strong{font-size:1.25rem;}
	.s3_txt p{font-size:0.875rem;}

	/* SEC04 — 모바일 탭은 개별 pill 2줄 wrap (Figma 7516:3273) */
	.s4_menu{flex-wrap:wrap; gap:.5rem; background:none; border:0; border-radius:0; overflow:visible; margin-bottom:1.5rem;}
	.s4_tab{flex:0 0 auto; height:2.25rem; font-size:.875rem; line-height:1.43; padding:0 1.25rem; background:#fff; border:0.0625rem solid #EAEBEC;}
	.s4_tab.on{border-color:var(--pink);}
	.s4_slider{overflow: visible;}
	.s4_slider .swiper-slide{width:16.875rem; margin-right: 1.25rem;}
	.s4_txt{margin-top:1.25rem;}
	.s4_name strong{font-size:1.25rem;}
	.s4_name span, .s4_dept em, .s4_dept span{font-size:.875rem;}

	/* SEC05 */
	.s5_bgtext{display:none;}
	.s5_search{margin:2rem auto 0; max-width: 30rem;}
	.s5_search input{width:100%; height:2.75rem; font-size:1rem;}
	.s5_go{width:2.75rem; height:2.75rem; flex-shrink:0;}
	.s5_go img{width:1.1rem;}
	.s5_marquee{margin-top:2rem; gap:1.25rem;}
	.s5_track{gap:1.25rem;}
	.s5_chip{width:8.75rem; height:8.75rem; font-size:.875rem; line-height:1.43;}

	/* SEC06 — 모바일은 더보기 버튼이 섹션 하단 풀폭으로 이동 (Figma btn_mob 7544:3483) */
	.sec6 .inner, .sec7 .inner, .sec8 .inner{display:flex; flex-direction:column;}
	.s6_more, .s8_more{height:2.25rem; gap:.25rem; font-size:.875rem; line-height:1.43; padding:0 1rem;}
	.s6_head{margin-bottom: 2rem;}
	.s6_more img, .s8_more img{width:1rem;}
	.s6_slider .swiper-slide{width: 16.875rem; margin-right: 1.25rem;}
	.s6_card{padding: 1.5rem 1.25rem; min-height:0;}
	.s6_tag{font-size: 0.8125rem;}
	.s6_desc{font-size:0.875rem;}
	.s6_date{margin-top: 1rem; font-size: 0.8125rem;}
	.s6_go{right:1.25rem; bottom:1.5rem; width: 2rem; height: 2rem;}
	.s6_go img{width: 1.03094rem;}
	.sec6 .s6_progress, .sec6 .s6_progress.swiper-scrollbar-horizontal{margin-top:2rem;}

	/* SEC07 — 모바일은 표준 스와이프 */
	.s7_deco{display:none;}
	.s7_slider .swiper-slide{width:85%; opacity:1; transform:none;}
	.s7_slider .swiper-slide-active{transform:none;}
	.s7_play{width:3.5rem; height:3.5rem;}
	.s7_txt{opacity:1; margin-top:1.375rem;}
	.s7_txt strong{font-size:1.125rem;}
	.s7_txt span{font-size:.875rem; margin-top:.9375rem;}
	.s7_prev, .s7_next{display:none;}

	/* SEC08 */
	.s8_row{flex-direction:column; gap:2rem;}
	.s8_feature{width:100%;}
	.s8_ftxt em{font-size: 0.9375rem;}
	.s8_ftxt strong{font-size:1.25rem;}
	.s8_item{padding: 1.25rem 0;}
	.s8_item:hover{background: #FFF;}
	.s8_item strong{font-size:1rem; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
	.s8_item em,
	.s8_item span{font-size: 0.875rem;}

	/* SEC09 */
	.s9_tit{font-size:1.75rem; line-height:1.29;}
	.s9_desc{font-size:1rem; margin-top: 0.75rem;}
	.s9_btn{height: 2.25rem; gap: .25rem; font-size: .875rem; line-height: 1.43; padding: 0 1rem;}
	.s9_btns{margin-top: 2rem;}
	.s9_btn img{width: 1rem;}

	/* SEC10 */
	.sec10{padding:3.75rem 0;}
	.sec10 .s10_desc{font-size:1rem;}
	.s10_row{flex-direction:column; gap:2rem; margin-top: 2rem;}
	.s10_map{width:100%; height: 20.25rem;}
	.s10_mapbtn{flex-wrap:wrap; gap: 0.625rem; margin-top: 1.25rem;}
	.s10_mapbtn .mbtn{font-size: 0.875rem; padding: 0 1.5rem; height: 2.875rem;}
	.s10_mapbtn .mbtn img{width: 0.875rem;}
	.s10_addtxt strong{font-size: 1rem;}
	.s10_item{flex-direction:column; gap:1rem; padding:1.5rem 0;}
	.s10_item > em{width:auto;}
	.s10_val .big{font-size:1.5rem;}
	.s10_val .s10_sub{margin-left:0; display:flex; margin-top:.75rem;}
	.s10_val.bus p, .s10_val.time p{gap: 0.5rem 1.25rem;}
	.s10_val.bus p span, .s10_val.time p span{width:5.3125rem; font-size: 0.875rem;}
	.s10_val.bus p b, .s10_val.time p b{font-size: 1rem;}
	.s10_val.time .t_row{flex-direction:column; align-items:flex-start; gap:.5rem;}
	.s10_val.time .t_row + p{margin-top:.5rem;}
	.s10_val.time p:last-child{flex-wrap:wrap;}
	.s10_val.time p .off{margin-left:0; width:100%; padding-left:6.5625rem; margin-top:.50;}

	/* FOOTER */
	.footer{padding:3rem 0 max(3rem, calc(8.975rem - var(--iq-off, 0px))); background: #081521;}
	.footer .ft_top{padding-bottom:1.5rem; align-items: center; border-color: rgba(255, 255, 255, 0.12);}
	.footer .ft_logo img{width:7.5rem;}
	.footer .ft_sns a{width:2.25rem;}
	.footer .ft_mid{flex-direction:column; gap:2rem; margin-top:1.5rem;}
	.footer .ft_use{flex-wrap:wrap; gap:.75rem 1.25rem;}
	.footer .ft_use a, .footer .ft_info span, .footer .ft_copy, .footer .ft_time{font-size:.875rem;}
	.footer .ft_info p{gap:.25rem .75rem;}
	.footer .ft_right{text-align:left; padding-top: 0;}
	.footer .ft_cs{font-size:1.25rem;}

	/* 빠른문의 바 */
	.inquiry_bar .inner{flex-direction:column; height:auto; gap:.75rem; padding:1rem 1.25rem;}
	.iq_form{flex-wrap: wrap; width:100%; gap:.75rem;}
	.iq_fields{width:100%; max-width:none;}
	.iq_tel{width: 100%;}
	.iq_tel strong{font-size: 1.125rem;}
	.iq_tel strong img{width: 1.25rem;}
	.iq_fields{gap: 0.75rem;}
	.iq_fields select, .iq_fields input{height:2.25rem; font-size:0.875rem; padding:0 .75rem; font-weight: 500;}
	.iq_fields select{padding-right:1.875rem; background-position:right .4375rem center; background-size:1.125rem;}
	.iq_chk{position: absolute; right: 1.25rem; top: 1.25rem;}
	.iq_chk input{width: 0.875rem; 	height: 0.875rem;}
	.iq_chk span{font-size: 0.875rem;}
	.iq_field_wrap{width: calc(100% - 0.75rem - 4rem);}
	.iq_btn{width:4rem; height: 2.25rem; padding: 0; font-size: 0.875rem; border-radius: 0.25rem;}
	.iq_close{top:-2.375rem; right: 0; width:2.75rem; height:2.375rem;}
}

@media screen and (max-width:768px){
	.pc2{display:none !important;}
	.mob2{display:block !important;}
	.visual .vis_txt h2{font-size:1.75rem;}
	.head_btns .hbtn.fill span{display:inline;}
	.s1_figure{width: 100%;}
	.s1_chips{gap: 0.75rem;}
	.footer .ft_top{flex-direction:column; align-items:flex-start; gap:1.25rem;}
}

@media screen and (max-width:600px){

	.s1_chips{grid-template-columns: repeat(3, minmax(0, 1fr));}
	.s2_bigimg{aspect-ratio: 172/145;}
	.s6_head{display:contents;}
	.s6_head .main_tit{margin-bottom:2rem;}
	.s6_more, .s8_more{order:9; width:100%; justify-content:center; margin-top:2rem; height: 2.5rem;}
	.s9_btns{flex-direction:column; align-items:stretch; gap:.75rem;}
	.s9_btn{justify-content:center; height: 3.1875rem; gap: 0.625rem; font-size: 1.125rem;}
	.s9_btn img{width: 1.25rem;}

}

@media screen and (max-width:500px){

	.s1_chips li span{font-size: 0.875rem;}
	.s10_map{height: 13.61669rem;}
	.inquiry_bar .inner{padding: 0.75rem;}
	.iq_form{gap: 0.65rem 0.3125rem;}
	.iq_chk{top: 0.875rem;}
	.iq_fields{gap: 0.3125rem;}
	.iq_field_wrap {width: calc(100% - 0.3125rem - 3.625rem);}
	.iq_fields select, .iq_fields input{font-size: 0.75rem; padding: 0 0.625rem;}
	.iq_fields > .iq_sel {flex: 300 1 0;}
	.iq_btn{width: 3.625rem; font-size: 0.75rem;}

}
/* ===== 간편예약 팝업 (use/easy_apply_popup.php) : 상단 제목·하단 버튼 고정, 가운데(업무시간~동의)만 스크롤 ===== */
.ea_pop{display:none; position:fixed; inset:0; z-index:10000; font-family:var(--font);}
.ea_pop.on{display:block;}
.ea_bg{position:absolute; inset:0; background:rgba(8,21,33,.6);}
.ea_inner{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:flex; flex-direction:column; width:40rem; max-width:calc(100% - 2rem); max-height:calc(100svh - 3rem); background:#fff; border-radius:1.25rem; box-shadow:0 1.5rem 3.75rem rgba(0,0,0,.25); overflow:hidden;}
.ea_close{position:absolute; right:1.25rem; top:1.25rem; z-index:2; width:2.5rem; height:2.5rem; border:0; border-radius:50%; background:var(--navy); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:var(--tr);}
.ea_close:hover{background:var(--pink);}
.ea_close img{width:.875rem; filter:brightness(0) invert(1);}
.ea_form{display:flex; flex-direction:column; min-height:0; max-height:calc(100svh - 3rem);}
.ea_form.is-hidden{display:none;}
.ea_hp_trap{position:absolute; left:-9999px; width:1px; height:1px; opacity:0;}
.ea_head{flex-shrink:0; padding:2.5rem 4.5rem 1.25rem 2.5rem; border-bottom:1px solid var(--line);}
.ea_label{display:inline-flex; align-items:center; gap:.375rem; font-family:var(--font-en); font-size:.8125rem; font-weight:700; letter-spacing:.04em; color:var(--pink);}
.ea_label img{width:1rem;}
.ea_head h3{margin-top:.5rem; font-size:1.75rem; font-weight:700; line-height:1.3; letter-spacing:-.02em; color:var(--navy);}
.ea_head h3 em{font-style:normal; color:var(--pink);}
.ea_desc{margin-top:.625rem; font-size:1rem; line-height:1.5; color:var(--gray); word-break:keep-all;}
.ea_scroll{flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:1.5rem 2.5rem 1.5rem;}
.ea_scroll::-webkit-scrollbar{width:.375rem;}
.ea_scroll::-webkit-scrollbar-thumb{background:#D5D7DB; border-radius:.375rem;}
.ea_hours{padding:1rem 1.25rem; border-radius:.75rem; background:var(--navy); color:#fff; display:flex; align-items:center; gap:1.5rem;}
.ea_hours strong{flex-shrink:0; font-size:.9375rem; font-weight:700;}
.ea_hours ul{display:flex; flex-wrap:wrap; gap:.25rem 1.25rem;}
.ea_hours li{display:flex; align-items:center; gap:.375rem; font-size:.875rem;}
.ea_hours li span{color:rgba(255,255,255,.65);}
.ea_hours li b{font-weight:700; color:#fff;}
.ea_sec{margin-top:1.5rem;}
.ea_sec_hd{display:flex; align-items:center; gap:.5rem; margin-bottom:.75rem;}
.ea_sec_hd strong{font-size:1.0625rem; font-weight:700; color:var(--navy);}
.ea_sec_hd .req, .ea_sec_hd .opt{display:inline-flex; align-items:center; height:1.375rem; padding:0 .5rem; border-radius:.375rem; font-size:.75rem; font-weight:700;}
.ea_sec_hd .req{background:rgba(231,51,110,.1); color:var(--pink);}
.ea_sec_hd .opt{background:var(--bg-alt); color:var(--gray);}
.ea_row{display:grid; grid-template-columns:1fr 1fr; gap:.75rem;}
.ea_field{display:block;}
.ea_lb{display:block; margin-bottom:.375rem; font-size:.8125rem; font-weight:600; color:var(--gray3);}
.ea_ip{width:100%; height:3.125rem; padding:0 1rem; border:1px solid var(--line); border-radius:.625rem; background:#fff; font-family:var(--font); font-size:1rem; color:var(--txt); transition:var(--tr);}
.ea_ip:focus{outline:0; border-color:var(--navy);}
.ea_ip::placeholder{color:#B4B8C0;}
.ea_ta{height:7.5rem; padding:.875rem 1rem; line-height:1.5; resize:vertical;}
.ea_note{margin-top:.625rem; font-size:.8125rem; line-height:1.5; color:var(--gray3);}
.ea_guide{margin-top:1.5rem; padding:1.125rem 1.25rem; border-radius:.75rem; background:var(--bg-alt);}
.ea_guide strong{display:block; margin-bottom:.5rem; font-size:.9375rem; font-weight:700; color:var(--navy);}
.ea_guide li{position:relative; padding-left:.75rem; font-size:.8125rem; line-height:1.6; color:var(--gray); word-break:keep-all;}
.ea_guide li::before{content:''; position:absolute; left:0; top:.5rem; width:3px; height:3px; border-radius:50%; background:var(--pink);}
.ea_guide li b{color:var(--navy);}
.ea_agree{display:flex; align-items:center; gap:.5625rem; margin-top:1.25rem; cursor:pointer;}
.ea_agree input{width:1.25rem; height:1.25rem; flex-shrink:0; appearance:none; border:1px solid #8e8e8e; border-radius:.25rem; cursor:pointer;}
.ea_agree input:checked{background:var(--pink) url(/img/icon/ic_chk.svg) no-repeat center / 1rem; border-color:var(--pink);}
.ea_agree span{font-size:.9375rem; font-weight:500; color:var(--txt);}
.ea_agree span a{font-weight:700; text-decoration:underline; text-underline-offset:.125rem;}
.ea_foot{flex-shrink:0; padding:.75rem 2.5rem 1.75rem; border-top:1px solid var(--line); background:#fff;}
.ea_err{min-height:1.25rem; margin-bottom:.5rem; font-size:.8125rem; font-weight:500; color:var(--pink);}
.ea_btns{display:flex; gap:.625rem;}
.ea_btn{flex:1; height:3.375rem; border:1px solid var(--navy); border-radius:3.375rem; font-family:var(--font); font-size:1.0625rem; font-weight:700; cursor:pointer; transition:var(--tr);}
.ea_btn.fill{background:var(--pink); border-color:var(--pink); color:#fff;}
.ea_btn.fill:hover{background:#cf2760; border-color:#cf2760;}
.ea_btn.fill:disabled{opacity:.6; cursor:default;}
.ea_btn.line{flex:0 0 8rem; background:#fff; color:var(--navy);}
.ea_btn.line:hover{background:var(--navy); color:#fff;}
.ea_done{padding:3.5rem 2.5rem 2.5rem; text-align:center;}
.ea_done img{width:3.5rem;}
.ea_done strong{display:block; margin-top:1.25rem; font-size:1.5rem; font-weight:700; color:var(--navy);}
.ea_done p{margin-top:.75rem; font-size:1rem; line-height:1.6; color:var(--gray);}
.ea_done p b{color:var(--pink);}
.ea_done .ea_btns{justify-content:center; margin-top:1.75rem;}
.ea_done .ea_btn{flex:0 0 12rem;}
@media screen and (max-width:768px){
	.ea_inner{width:100%; max-width:none; left:0; top:auto; bottom:0; transform:none; max-height:calc(100svh - 2.5rem); border-radius:1.25rem 1.25rem 0 0;}
	.ea_form{max-height:calc(100svh - 2.5rem);}
	.ea_close{right:1rem; top:1rem; width:2.125rem; height:2.125rem;}
	.ea_head{padding:1.75rem 3.75rem 1rem 1.25rem;}
	.ea_head h3{font-size:1.375rem;}
	.ea_desc{font-size:.875rem;}
	.ea_scroll{padding:1.25rem 1.25rem;}
	.ea_hours{flex-direction:column; align-items:flex-start; gap:.5rem; padding:.875rem 1rem;}
	.ea_hours ul{flex-direction:column; gap:.25rem;}
	.ea_row{grid-template-columns:1fr;}
	.ea_ip{height:2.875rem; font-size:.9375rem;}
	.ea_foot{padding:.5rem 1.25rem 1.25rem;}
	.ea_btn{height:3rem; font-size:.9375rem;}
	.ea_btn.line{flex:0 0 6rem;}
	.ea_done{padding:2.5rem 1.25rem 1.5rem;}
}

/* =========================================================================
   메인 데이터 연동 보강 (의료진·치료후기·영상·언론보도)
   - .no_data 기본 스타일은 /css/board.css 공통 사용
   ========================================================================= */
.s4_card > a{display:block; color:inherit;}
.sec6 .no_data{background:#fff; border:0; border-radius:1.25rem;}
.s7_thumb.no-image::before{content:''; position:absolute; inset:0; background:url('/img/main/no_data_ic.svg') center/2.375rem no-repeat; opacity:.35;}
.s8_img.no-image{position:relative;}
.s8_img.no-image::before{content:''; position:absolute; inset:0; background:url('/theme/basic/skin/board/dp_gallery/img/no_image.png') center/cover no-repeat;}   /* 갤러리 스킨 no image 이미지 사용 */
.s4_img.empty{position:relative;}
.s4_img.empty::after{content:'사진 준비중'; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:1rem; color:rgba(20,45,66,.35);}

/* =========================================================================
   메인 이미지 팝업 (관리자 > 환경설정 > 팝업레이어관리)
   - 시안 : 카드 380x530 / 간격 16 / 최대 3장, 그 이상은 Swiper 슬라이드
   - 모바일 : 1장씩 슬라이드
   ========================================================================= */
html.nw-pop-lock, html.nw-pop-lock body{overflow:hidden !important;}   /* 팝업 노출 중 스크롤 잠금 (Lenis 는 lenis.stop() 으로 별도 정지) */
.nw_pop{display:none; position:fixed; inset:0; z-index:10001; font-family:var(--font,'Pretendard',sans-serif);}
.nw_pop.on{display:block;}
.nw_pop .nw_dim{position:absolute; inset:0; background:rgba(54,54,54,.7);}
.nw_pop .nw_wrap{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); display:flex; flex-direction:column; gap:.75rem; width:calc(100% - 2.5rem); max-width:var(--nw-w,76.25rem);}
.nw_pop .nw_head{display:flex; justify-content:flex-end;}
.nw_pop .nw_close{display:inline-flex; align-items:center; gap:.25rem; padding:0; border:0; background:none; color:#fff; font-size:1rem; font-weight:500; line-height:1.5; cursor:pointer; transition:opacity .2s ease;}
.nw_pop .nw_close:hover{opacity:.7;}
.nw_pop .nw_close svg{width:1.5rem; height:1.5rem; fill:none;}
.nw_pop .nw_body{position:relative; z-index:1; width:100%; padding:1.25rem; background:#fff; border-radius:1.5rem; overflow:hidden;}   /* 흰 배경 박스. padding 값을 슬라이드 간격으로도 그대로 사용한다 */
.nw_pop .nw_body .swiper-slide{height:auto;}
.nw_pop .nw_card{display:block; width:100%; aspect-ratio:380/530; border-radius:1.25rem; overflow:hidden; background:#d9d9d9;}
.nw_pop .nw_card img{width:100%; height:100%; object-fit:cover; display:block;}
.nw_pop .nw_pager{position:static; margin-top:1.25rem; display:flex; justify-content:center; gap:.375rem;}
/* 도트는 흰 배경 박스 안에 놓이므로 어두운 색 사용 */
.nw_pop .nw_pager .swiper-pagination-bullet{width:.5rem; height:.5rem; margin:0 !important; background:var(--navy,#142d42); opacity:.25; transition:all .2s ease;}
.nw_pop .nw_pager .swiper-pagination-bullet-active{background:var(--pink,#E7336E); opacity:1;}
.nw_pop .nw_pager .swiper-pagination-bullet:only-child{display:none;}   /* 넘길 것이 없으면 점 숨김 */
.nw_pop .nw_foot{display:flex; justify-content:center; margin-top:.75rem;}
.nw_pop .nw_today{padding:0; border:0; background:none; color:#fff; font-size:1rem; font-weight:500; line-height:1.5; cursor:pointer; text-underline-offset:.2rem;}
.nw_pop .nw_today:hover{text-decoration:underline;}

@media screen and (max-width:1024px){
	.nw_pop .nw_wrap{gap:.5rem; max-width:22.5rem;}
	.nw_pop .nw_close{font-size:.875rem;}
	.nw_pop .nw_close svg{width:1.25rem; height:1.25rem;}
	.nw_pop .nw_body{padding:.75rem; border-radius:1.125rem;}
	.nw_pop .nw_card{border-radius:.625rem;}
	.nw_pop .nw_pager{margin-top:.875rem;}
	.nw_pop .nw_today{font-size:.875rem;}
}
