@charset "utf-8";
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.6/dist/web/static/pretendard.css");
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300..700;1,300..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Libertinus+Sans:ital,wght@0,400;0,700;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@font-face {
    font-family: 'Suit';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Thin.woff2') format('woff2');
    font-weight: 500;
    font-display: swap;
}

/* 초기화 */
html {overflow-y:scroll}
body {margin:0;padding:0;font-size:0.75em;font-family:'pretendard', dotum, sans-serif;background:#fff}
html, h1, h2, h3, h4, h5, h6, form, fieldset, img {margin:0;padding:0;border:0}
h1, h2, h3, h4, h5, h6 {font-size:1em;font-family:'pretendard', dotum, sans-serif}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block}

ul, dl,dt,dd {margin:0;padding:0;list-style:none}
legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
label, input, button, select, img {vertical-align:middle;font-size:1em}
input, button {margin:0;padding:0;font-family:'pretendard', dotum, sans-serif;font-size:1em}
input[type="submit"] {cursor:pointer}
button {cursor:pointer}

textarea, select {font-family:'pretendard', dotum, sans-serif;font-size:1em}
select {margin:0}
p {margin:0;padding:0;word-break:break-all}
hr {display:none}
pre {overflow-x:scroll;font-size:1.1em}
a {color:#000;text-decoration:none}

*, :after, :before {
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
}

/*input[type=text],input[type=password], textarea {
-webkit-transition:all 0.30s ease-in-out;
-moz-transition:all 0.30s ease-in-out;
-ms-transition:all 0.30s ease-in-out;
-o-transition:all 0.30s ease-in-out;
outline:none;
}

input[type=text]:focus,input[type=password]:focus, textarea:focus,select:focus {
-webkit-box-shadow:0 0 5px #9ed4ff;
-moz-box-shadow:0 0 5px #9ed4ff;
box-shadow:0 0 5px #9ed4ff;
border:1px solid #558ab7 !important;
}*/

.placeholdersjs {color:#aaa !important}


/* 팝업레이어 */
#hd_pop {z-index:1000;position:relative;margin:0 auto;height:0}
#hd_pop h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
.hd_pops {position:absolute;border:1px solid #e9e9e9;background:#fff}
.hd_pops img {max-width:100%}
.hd_pops_con {}
.hd_pops_footer {padding:0;background:#000;color:#fff;text-align:left;position:relative}
.hd_pops_footer:after {display:block;visibility:hidden;clear:both;content:""}
.hd_pops_footer button {padding:10px;border:0;color:#fff}
.hd_pops_footer .hd_pops_reject {background:#000;text-align:left}
.hd_pops_footer .hd_pops_close {background:#393939;position:absolute;top:0;right:0}





/*! Animate */

@keyframes bgZoomIn {
    0% { transform: translate(50%, 50%) scale(0.5); opacity: 0; }
    100% { transform: translate(0, 0) scale(1); opacity: 1; }
}
@keyframes fadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
@keyframes fadeUp {
    0% { opacity: 0; transform: translateY(50px); }
    100% { opacity: 1; transform: translateY(0px); }
}
@keyframes rotateEaseOut {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(-1080deg); }
}
@keyframes rotateEaseShort {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(-360deg); }
}
@keyframes bgScale{ 
    0% { transform: scale(1.07) translateZ(0); }
    100% { transform: scale(1) translateZ(0); }
}
@keyframes spread {
    0% {
      opacity: 0;
      transform: translate(-50%, -50%) scale(0.9);
    }
    50% {
      opacity: 1;
      transform: translate(-50%, -50%) scale(1);
    }
    100% {
      opacity: 1;
      /* 가운데 기준으로 좌/우 이동 */
      transform: translate(-50%, -50%) scale(1);
    }
}
/* 왼쪽 카드 */
@keyframes spread-left {
0% { opacity:0; transform:translate(-50%, -50%) scale(0.9); }
50% { opacity:1; transform:translate(-50%, -50%) scale(1); }
100% { opacity:1; transform:translate(calc(-50% - 500px), -50%) scale(1); }
}
/* 가운데 카드 */
@keyframes spread-center {
0% { opacity:0; transform:translate(-50%, -50%) scale(0.9); }
50% { opacity:1; transform:translate(-50%, -50%) scale(1); }
100% { opacity:1; transform:translate(-50%, -50%) scale(1); }
}
/* 오른쪽 카드 */
@keyframes spread-right {
0% { opacity:0; transform:translate(-50%, -50%) scale(0.9); }
50% { opacity:1; transform:translate(-50%, -50%) scale(1); }
100% { opacity:1; transform:translate(calc(-50% + 500px), -50%) scale(1); }
}


/*! Color & Fonts */
::selection { background-color: #cecece; }
.ft_out { font-family: 'Outfit', sans-serif; font-style: normal; }
.ft_pop { font-family: 'Poppins', sans-serif; font-style: normal; }
.ft_cor { font-family: "Cormorant", serif; font-style: normal; font-weight: 300; }
.ft_lib { font-family: "Libertinus Sans", sans-serif; font-weight: 400; font-style: normal; }
.ft_sut { font-family: "Suit"; font-style: normal; font-weight: 500; }
.cl_white { color: #fff; }
.cl_main { color: #CE9D9E; }

#wrapper { overflow: hidden; }






/*! Header (Legacy) */
/*
#hd{ position: fixed; left: 0; top: 0; height: 90px; width: 100%; background-color: #fff; z-index: 990; transition: all .2s ease-out; }

** Intro
#hd.intro{ height: 90px; background-color: transparent; }
#hd.intro .pc{ height: 100%; }
#hd.intro .hd_top{ display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; padding: 0 5%; }
#hd.intro .hd_top #logo a{ display: inline-block; width: 100px; height: 30px; background: url(../img/logo-intro.svg) no-repeat center center; background-size: contain; text-indent: -9999px; overflow: hidden; transition: all .2s ease-in-out; }
#hd.intro.on{ background-color: transparent; box-shadow: none; }

** Basic
#hd .hd_top{ display: flex; justify-content: space-between; align-items: center; width: 100%; height: 100%; padding: 0 5%; }
#hd .hd_top #logo a{ display: inline-block; width: 286px; height: 21px; background: url(../img/logo.svg) no-repeat center center; background-size: contain; text-indent: -9999px; overflow: hidden; transition: all .2s ease-in-out; }
#hd .pc nav{ display: flex; justify-content: flex-end; align-items: center; }
#hd .pc nav ul{ display: flex; justify-content: flex-end; }
#hd .pc nav ul > li{ position: relative; margin-right: 70px; }
#hd .pc nav ul > li:last-of-type{ margin-right: 0; }
#hd .pc nav ul > li > a{ position: relative; text-align: center; font-size: 18px; font-weight: 600; line-height: 90px; display: block; transition: all .2s ease-out; }
#hd .pc nav ul > li:hover > a{ color: #CE9D9E; }
#hd .pc nav ul > li > ol{ list-style: none; display: none; position: absolute; left: 50%; top: 88px; transform: translateX(-50%); width: 150px; padding: 30px 20px; border-top: 3px solid #CE9D9E; background: #f4f4f4; }
#hd .pc nav ul > li > ol li{ text-align: center; margin-bottom: 20px; }
#hd .pc nav ul > li > ol li:last-of-type{ margin-bottom: 0; }
#hd .pc nav ul > li > ol li a{ position: relative; display: inline-block; font-size: 16px; font-weight: 300; color: #121212; line-height: 18px; transition: all .2s ease-in-out; }
#hd .pc nav ul > li > ol li a::after{ position: absolute; left: 0; bottom: 0; width: 0%; height: 1px; background: #CE9D9E; content: ''; display: block; transition: all .2s ease-out; }
#hd .pc nav ul > li > ol li a:hover{ color: #CE9D9E; }
#hd .pc nav ul > li > ol li a:hover::after{ width: 100%; }

#hd .pc .nav-right { display: flex; justify-content: flex-end; align-items: center; }

* 햄버거 버튼
#hd .pc .nav-right .menu-button button { background: none; border: none; font-size: 22px; cursor: pointer; }
#hd .pc .nav-right .menu-button button { width: 30px; height: 18px; position: relative; border: none; background: none; cursor: pointer; z-index: 11; }
#hd .pc .nav-right .menu-button .bar { display: block; position: absolute; height: 2px; width: 100%; background: #111; border-radius: 2px; transition: all .3s ease; }
#hd .pc .nav-right .menu-button .bar.top { top: 0; }
#hd .pc .nav-right .menu-button .bar.middle { top: 8px; right: 0; width: 70%; }
#hd .pc .nav-right .menu-button .bar.bottom { bottom: 0; }
* X 아이콘으로 변형
#hd .pc .nav-right .menu-button.active .bar.top { transform: rotate(45deg); top: 8px; }
#hd .pc .nav-right .menu-button.active .bar.middle { opacity: 0; }
#hd .pc .nav-right .menu-button.active .bar.bottom { transform: rotate(-45deg); bottom: 8px; }

* 드랍다운
#hd .pc .dropdown-menu { max-height: 0; overflow: hidden; transition: max-height .4s ease-in-out; background: #f4f4f4; box-shadow: 0 4px 6px rgba(0,0,0,0.05); position: absolute; top: 88px; left: 0; width: 100%; z-index: 100; }
#hd .pc .dropdown-menu.show { max-height: 700px; }
#hd .pc .dropdown-inner { max-width: 1600px; margin: 0 auto; display: flex; justify-content: center; align-items: stretch; flex-wrap: wrap; padding: 30px 0; }
#hd .pc .dropdown-inner > div{ width: 180px; border-right: 1px solid #DBDBDB; padding: 0 20px; }
#hd .pc .dropdown-inner > div:first-of-type{ border-left: 1px solid #DBDBDB; }
#hd .pc .dropdown-menu h4{ transition: all .2s ease-out; }
#hd .pc .dropdown-menu h4 > a{ position: relative; display: inline-block; font-size: 16px; font-weight: 600; transition: all .2s ease-out; }
#hd .pc .dropdown-menu h4 > a::after{ position: absolute; opacity: 0; right: -11px; top: -3px; display: block; width: 10px; height: 10px; background: url(../img/dropmenu-ico.svg) no-repeat center center; background-size: contain; content: ''; transition: all .2s ease-out; }
#hd .pc .dropdown-menu ul { margin-top: 15px; list-style: none; }
#hd .pc .dropdown-menu li > a{ display: flex; justify-content: flex-start; align-items: center; font-size: 14px; line-height: 24px; color: #aaa; transition: all .2s ease-out; }
#hd .pc .dropdown-inner > div:hover > h4 > a::after{ opacity: 1; }
#hd .pc .dropdown-menu li > a:hover{ color: #CE9D9E; }

.lang-select { position: relative; display: inline-block; margin-left: 30px; }
.lang-current { display: flex; align-items: center; gap: 6px; padding: 7px 50px 7px 10px; border-radius: 25px; background: #f4f4f4; border: none; cursor: pointer; }
.lang-current img { width: 36px; height: 36px; border-radius: 50%; }
.lang-current span{  color: #121212; font-size: 18px; }
.lang-current .arrow { position: absolute; right: 20px; top: 50%; transform: translateY(-50%) rotate(45deg); border: solid #121212; border-width: 0 2px 2px 0; display: inline-block; padding: 3px; transition: transform .2s; z-index: 30; }
.lang-select.open .lang-current .arrow { transform: translateY(-50%) rotate(-135deg); }
  
* 드롭다운 목록
.lang-list { position: absolute; top: 0; left: 0; width: 100%; background: #f4f4f4; border-radius: 25px; overflow: hidden; padding: 7px 10px; list-style: none; margin: 0; display: none; z-index: 20; }
.lang-list li a { display: flex; align-items: center; gap: 6px; margin-bottom: 7px; text-decoration: none; color: #121212; font-size: 18px; }
.lang-list li a img { width: 36px; height: 36px; border-radius: 50%; }
.lang-list li a:hover { background: #f5f5f5; }
.lang-list li.is-current a{ pointer-events: none; opacity: 1; }
* 활성화 상태
.lang-select.open .lang-list { display: block; }
.lang-select.open .lang-current .arrow { transform: rotate(-135deg); }
  

* on
#hd.on { background-color: rgba(255, 255, 255, .3); -webkit-box-shadow: 0 2px 20px 0 rgba(0,0,0,0.05); box-shadow: 0 2px 20px 0 rgba(0,0,0,0.05); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
#hd .mobile { display: none; }
*/

/*! Header (New GNB) */
#hd.gnb-new { position: absolute; top: 30px; width: 460px; max-width: calc(100% - 24px); z-index: 990; --gnb-shift: 0px; transition: transform .45s ease, opacity .45s ease; }
#hd.gnb-new.gnb-center { left: 50%; transform: translateX(-50%) translateY(var(--gnb-shift)); }
#hd.gnb-new.gnb-right { right: 30px; left: auto; transform: translateY(var(--gnb-shift)); }
.subpage-body #hd.gnb-new { position: fixed; width: calc(26.041667% - 60px); }
.subpage-body #hd.gnb-new.gnb-right { right: 30px; }
.stemcell-body #hd.gnb-new { position: fixed; }

:root {
  --gnb-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --gnb-open-dur: 1200ms;
  --gnb-item-dur: 850ms;
  --gnb-sub-dur: 800ms;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.35);
  opacity: 0;
  transition: opacity var(--gnb-open-dur) var(--gnb-ease);
  pointer-events: none;
  z-index: 500;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
body.gnb-open::after { opacity: 1; transition-delay: calc(var(--gnb-open-dur) * 0.4); }

@keyframes gnbDropCenter {
  from { opacity: 0; transform: translateX(-50%) translateY(-30px); }
  to { opacity: 1; transform: translateX(-50%) translateY(0); }
}

@keyframes gnbDropRight {
  from { opacity: 0; transform: translateY(-30px); }
  to { opacity: 1; transform: translateY(0); }
}

.gnb-bar { height: 64px; background: #fff; border: 1px solid #121212; }
.gnb-open .gnb-bar { border-bottom: none; }
.gnb-bar-inner { height: 100%; padding: 0 18px; display: flex; align-items: center; justify-content: center; position: relative; }

.gnb-logo a { display: inline-block; width: 31px; height: 30px; text-indent: -9999px; overflow: hidden; background: url(../img/logo-gnb.svg) no-repeat center center; background-size: contain; }

.gnb-toggle { position: absolute; right: 18px; top: 50%; transform: translateY(-50%); width: 20px; height: 12px; background: none; border: 0; padding: 0; cursor: pointer; }
.gnb-toggle-line { display: block; width: 20px; height: 3px; background: #121212; border-radius: 2px; transition: transform .3s ease, opacity .3s ease; }
.gnb-toggle-line + .gnb-toggle-line { margin-top: 6px; width: 20px; margin-left: 0; }
.gnb-open .gnb-toggle-line:first-child { transform: translateY(4.5px) rotate(45deg); }
.gnb-open .gnb-toggle-line:last-child { transform: translateY(-4.5px) rotate(-45deg); }

.gnb-overlay { position: absolute; left: 0; top: 100%; width: 100%; opacity: 0; max-height: 0; overflow: hidden; pointer-events: none; transition: max-height var(--gnb-open-dur) var(--gnb-ease), opacity var(--gnb-open-dur) var(--gnb-ease); will-change: max-height, opacity; }
.gnb-overlay.show { opacity: 1; max-height: 1200px; pointer-events: auto; }
.gnb-overlay-bg { display: none; }

.gnb-overlay-panel { width: 100%; background: #fff; border: 1px solid #121212; border-top: none; display: flex; flex-direction: column; transform: translateY(-24px); opacity: 0; transition: transform var(--gnb-open-dur) var(--gnb-ease), opacity var(--gnb-open-dur) var(--gnb-ease); will-change: transform, opacity; }
.gnb-overlay.show .gnb-overlay-panel { transform: translateY(0); opacity: 1; }

.gnb-overlay-top { display: none; }
.gnb-overlay-top .gnb-logo a { width: 42px; height: 42px; }
.gnb-close { display: none; }

.gnb-menu { padding: 10px 24px 30px; text-align: center; }
.gnb-list { list-style: none; margin: 0; padding: 0; }
.gnb-item { margin: 0; opacity: 0; transform: translateY(-12px); transition: opacity var(--gnb-item-dur) var(--gnb-ease), transform var(--gnb-item-dur) var(--gnb-ease); }
.gnb-overlay.show .gnb-item { opacity: 1; transform: translateY(0); }
.gnb-overlay.show .gnb-item:nth-child(1) { transition-delay: 60ms; }
.gnb-overlay.show .gnb-item:nth-child(2) { transition-delay: 120ms; }
.gnb-overlay.show .gnb-item:nth-child(3) { transition-delay: 180ms; }
.gnb-overlay.show .gnb-item:nth-child(4) { transition-delay: 240ms; }
.gnb-overlay.show .gnb-item:nth-child(5) { transition-delay: 300ms; }
.gnb-overlay.show .gnb-item:nth-child(6) { transition-delay: 360ms; }
.gnb-overlay.show .gnb-item:nth-child(7) { transition-delay: 420ms; }
.gnb-main { width: 100%; border: 0; background: none; font-size: 30px; font-weight: 700; letter-spacing: -0.02em; color: #111; cursor: pointer; padding: 4px 0; transition: color .2s ease; }
.gnb-main:hover { color: #333; }

.gnb-sub { list-style: none; margin: 0; padding: 0; max-height: 0; overflow: hidden; transition: max-height var(--gnb-sub-dur) var(--gnb-ease), padding var(--gnb-sub-dur) var(--gnb-ease), opacity var(--gnb-sub-dur) var(--gnb-ease); opacity: 0; }
.gnb-sub li { padding: 4px 0; }
.gnb-sub a { font-size: 22px; color: #aaa; font-weight: 500; transition: color .2s ease; }
.gnb-sub a:hover { color: #111; }



.gnb-item.is-open .gnb-sub { max-height: 260px; padding: 6px 0 10px; opacity: 1; }

.gnb-lang { border-top: none; padding: 12px 0; display: flex; justify-content: center; position: relative; }
.gnb-lang::before { content: ""; position: absolute; left: 50%; top: 0; width: 100%; height: 1px; background: #121212; transform: translateX(-50%) scaleX(0); transform-origin: center; transition: transform var(--gnb-open-dur) var(--gnb-ease); }
.gnb-overlay.show .gnb-lang::before { transform: translateX(-50%) scaleX(1); transition-delay: calc(var(--gnb-open-dur) * 0.4); }
.gnb-lang-btn { border: 0; background: none; font-size: 18px; font-weight: 600; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; color: #121212; -webkit-text-fill-color: #121212; }
.gnb-lang-btn:hover, .gnb-lang-btn:focus, .gnb-lang-btn:active { color: #121212; -webkit-text-fill-color: #121212; }
.gnb-lang-icon { width: 20px; height: 20px; display: block; }

.gnb-copy { background: #111; color: #fff; text-align: center; font-size: 12px; padding: 10px 16px; }








/*! 공통 서브페이지 레이아웃 */
.subpage-layout { position: relative; height: 100vh; display: flex; background: #f5f3f0; overflow: hidden; }
.subpage-back { position: absolute; left: 30px; top: 30px; width: 64px; height: 64px; border: 1px solid #121212; background: #fff; display: inline-flex; align-items: center; justify-content: center; z-index: 5; overflow: hidden; }
.subpage-back::before { content: ""; position: absolute; left: 0; bottom: -100%; width: 100%; height: 100%; background: #111; transition: bottom .35s ease; }
.subpage-back span { position: relative; z-index: 1; width: 24px; height: 24px; background: url(../img/arw-prev.svg) no-repeat center center; background-size: 24px 24px; }
.subpage-back:hover::before { bottom: 0; }
.subpage-back:hover span { background-image: url(../img/arw-prev-on.svg); background-size: 26px 26px; }

.subpage-visual { flex: 0 0 73.958333%; height: 100%; background-color: #fff; background-repeat: no-repeat; background-position: center center; background-size: cover; animation: subpageVisualIn .4s ease both; }
.subpage-panel { flex: 0 0 26.041667%; background: #fff; border-left: 1px solid #121212; padding: 0 30px; box-sizing: border-box; height: 100%; overflow: hidden; }
.subpage-panel-inner { height: 100%; padding: 140px 0 40px; overflow-y: auto; }
.subpage-panel-inner { scrollbar-width: none; -ms-overflow-style: none; }
.subpage-panel-inner::-webkit-scrollbar { width: 0; height: 0; }
.subpage-layout.is-overlay > .subpage-visual,
.subpage-layout.is-overlay > .subpage-panel { visibility: hidden; }
.subpage-layout.is-overlay .subpage-back { opacity: 0; visibility: hidden; pointer-events: none; }

.subpage-title h1 { font-size: 36px; font-weight: 700; line-height: 44px; margin-bottom: 10px; }
.subpage-title p { font-size: 24px; font-weight: 500; color: #121212; margin-bottom: 30px; }
.subpage-title::after { content: ""; display: block; width: 100%; height: 1px; background: #121212; margin-bottom: 30px; }

.subpage-section { margin-bottom: 22px; }
.subpage-section h2 { font-size: 24px; font-weight: 600; margin-bottom: 12px; }
.subpage-section p { font-size: 16px; line-height: 1.6; color: #121212; }

.subpage-links { margin-top: 30px; border-top: 1px solid #121212; }
.subpage-link { position: relative; display: flex; align-items: center; justify-content: space-between; padding: 14px 4px; font-size: 20px; font-weight: 600; border: 0; border-bottom: 1px solid #121212; overflow: hidden; transition: color .35s ease; color: #121212; background: none; width: 100%; text-align: left; }
.subpage-link::before { content: ""; position: absolute; left: 0; bottom: -100%; width: 100%; height: 100%; background: #111; transition: bottom .35s ease; z-index: 0; }
.subpage-link * { color: inherit; }
.subpage-link-text { position: relative; z-index: 1; font-style: normal; transform: translateX(0px); transition: transform .35s ease; }
.subpage-link span { position: relative; z-index: 1; width: 16px; height: 16px; background: url(../img/btn-go-cont.svg) no-repeat center center; background-size: 16px 16px; transition: transform .35s ease, background-image .35s ease; }
.subpage-link { color: #121212; }
.subpage-link:hover::before { bottom: 0; }
.subpage-link:hover { color: #fff; }
.subpage-link:hover span { background-image: url(../img/btn-go-cont-on.svg); transform: translateX(-10px); }
.subpage-link:hover .subpage-link-text { transform: translateX(10px); }

.subpage-overlay { position: absolute; inset: 0; display: none; z-index: 1200; }
.subpage-overlay.is-active { display: flex; }
.subpage-overlay .subpage-visual { height: 100%; visibility: visible; }
.subpage-overlay.is-closing .subpage-visual { animation: subpageVisualOut .4s ease both; }
.subpage-overlay.is-closing .subpage-panel--overlay { animation: subpagePanelOut .4s ease both; }
.subpage-panel--overlay { border-left: 1px solid #121212; }
.subpage-panel-inner--overlay { height: 100%; padding: 140px 0 60px; overflow-y: auto; }
.subpage-panel-inner--overlay::-webkit-scrollbar { width: 0; height: 0; }

.subpage-panel-head { position: relative; padding: 0 0 14px; border-bottom: 1px solid #121212; margin: 0 0 20px; display: flex; align-items: center; justify-content: space-between; }
.subpage-panel-head h2 { font-family: 'Poppins', sans-serif; font-size: 36px; font-weight: 700; line-height: 0.92; letter-spacing: -0.02em; }
.subpage-panel-head h2.ft_pop { font-family: 'Poppins', sans-serif !important; font-size: 36px !important; font-weight: 700; line-height: 0.92; letter-spacing: -0.02em; }
.subpage-panel-close { width: 44px; height: 44px; border: 1px solid #121212; background: #fff; font-size: 24px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; line-height: 1; }

.subpage-panel-body { padding-right: 10px; }
.subpage-panel-body h3 { font-size: 18px; font-weight: 700; margin-bottom: 10px; }
.subpage-panel-body p { font-size: 16px; line-height: 1.6; color: #121212; }
.info-list { margin: 0; }
.info-row { display: grid; grid-template-columns: 82px 1fr; column-gap: 6px; padding: 6px 0; font-size: 16px; }
.info-row dt { font-weight: 700; }
.info-row dd { margin: 0; }

.antiage-formula { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 14px; }
.antiage-pill { display: inline-flex; align-items: center; border: 1px solid #121212; padding: 6px 12px; font-size: 14px; font-weight: 600; }
.antiage-plus { font-size: 18px; font-weight: 700; }
.antiage-list,
.antiage-steps,
.antiage-checklist { margin: 0; padding: 0; list-style: none; }
.antiage-list li,
.antiage-checklist li { position: relative; padding-left: 14px; margin: 8px 0; font-size: 16px; line-height: 1.6; }
.antiage-list li::before,
.antiage-checklist li::before { content: ""; position: absolute; left: 0; top: 10px; width: 6px; height: 6px; background: #121212; border-radius: 50%; }
.antiage-steps li { padding: 8px 0; font-size: 16px; line-height: 1.6; }
.antiage-steps strong { display: inline-block; min-width: 74px; font-size: 12px; }

.antiage-skill-list { margin: 0; padding: 0; list-style: none; }
.antiage-skill-list li { padding: 12px 0; }
.antiage-skill-list li:first-child { padding-top: 0; }
.antiage-skill-list li:last-child { padding-bottom: 0; }
.antiage-skill-list strong { display: block; font-size: 18px; font-weight: 700; margin-bottom: 8px; }
.antiage-skill-list p { margin: 0; font-size: 15px; line-height: 1.6; color: #121212; }

.antiage-process-intro { margin: 0 0 16px; font-size: 16px; line-height: 1.6; color: #121212; }
.antiage-process-steps { margin: 0; padding: 0; list-style: none; }
.antiage-process-steps li { position: relative; padding-left: 18px; margin: 12px 0; font-size: 16px; line-height: 1.6; }
.antiage-process-steps li::before { content: ""; position: absolute; left: 0; top: 11px; width: 6px; height: 6px; background: #121212; }
.antiage-step-label { display: inline-block; font-weight: 700; margin-right: 6px; }

.antiage-point-grid { display: flex; flex-direction: column; gap: 18px; }
.antiage-point-row { display: grid; grid-template-columns: 112px 20px 112px 20px 120px; align-items: center; gap: 10px; }
.antiage-point-circle { width: 112px; height: 112px; border: 1px solid #121212; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; text-align: center; font-size: 14.5px; line-height: 1.35; padding: 10px; box-sizing: border-box; }
.antiage-point-plus { font-size: 21px; font-weight: 700; text-align: center; }
.antiage-point-arrow { font-size: 21px; font-weight: 700; text-align: center; }
.antiage-point-result { width: 120px; min-height: 112px; background: #111; color: #fff; display: inline-flex; align-items: center; justify-content: center; text-align: center; font-size: 14.5px; line-height: 1.4; padding: 10px; box-sizing: border-box; }

.antiage-selfcheck { margin: 0 0 20px; padding: 0; list-style: none; }
.antiage-selfcheck li { position: relative; padding-left: 14px; margin: 8px 0; font-size: 15px; line-height: 1.6; }
.antiage-selfcheck li::before { content: "-"; position: absolute; left: 0; top: 0; }
.antiage-age-group { margin-top: 18px; }
.antiage-age-group h4 { margin: 0 0 6px; font-size: 18px; font-weight: 700; }
.antiage-age-group p { margin: 0; font-size: 15px; line-height: 1.6; color: #121212; }

.fresh-point-list { margin: 0; padding: 0; list-style: none; }
.fresh-point-list li { margin: 14px 0; }
.fresh-point-list strong { display: block; font-size: 18px; font-weight: 700; margin-bottom: 6px; }
.fresh-point-list p { margin: 0; font-size: 15px; line-height: 1.6; color: #121212; }

.fresh-process-list { margin: 0; padding: 0; list-style: none; }
.fresh-process-list li { position: relative; padding-left: 18px; margin: 12px 0; font-size: 16px; line-height: 1.6; }
.fresh-process-list li::before { content: ""; position: absolute; left: 0; top: 11px; width: 6px; height: 6px; background: #121212; }
.fresh-step-label { display: inline-block; font-weight: 700; margin-right: 6px; }

.fresh-selfcheck { margin: 0; padding: 0; list-style: none; }
.fresh-selfcheck li { position: relative; padding-left: 14px; margin: 8px 0; font-size: 15px; line-height: 1.6; }
.fresh-selfcheck li::before { content: "-"; position: absolute; left: 0; top: 0; }

.fresh-result-intro { margin: 0 0 18px; font-size: 15px; line-height: 1.6; color: #121212; }
.fresh-result-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.fresh-result-item { border: 1px solid #121212; border-radius: 50%; height: 125px; display: inline-flex; align-items: center; justify-content: center; text-align: center; font-size: 14px; line-height: 1.3; }

.fresh-solution-table { display: grid; grid-template-columns: 1fr 1fr; margin: 16px 0; border-top: 1px solid #121212; border-bottom: 1px solid #121212; }
.fresh-solution-cell { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 14px 12px; min-height: 86px; }
.fresh-solution-cell--title { min-height: 110px; gap: 6px; }
.fresh-solution-title-text { font-size: 14px; font-weight: 700; }
.fresh-solution-icon { width: 96px; height: auto; object-fit: contain; display: block; }
.fresh-solution-cell:nth-child(n+3) { border-top: 1px solid #121212; }
.fresh-solution-cell:nth-child(2n) { border-left: 1px solid #121212; }
.fresh-solution-label { font-size: 13px; font-weight: 700; margin-bottom: 4px; }
.fresh-solution-value { font-size: 13px; line-height: 1.5; word-break: keep-all; }
.fresh-solution-foot { margin-top: 18px; }
.fresh-solution-foot h4 { margin: 0 0 6px; font-size: 16px; font-weight: 700; }
.fresh-solution-foot p { margin: 0; font-size: 14px; line-height: 1.6; color: #121212; }

.mitosome-result-list { margin: 0; padding: 0; list-style: none; }
.mitosome-result-list li { margin: 14px 0; }
.mitosome-result-list strong { display: block; font-size: 18px; font-weight: 700; margin-bottom: 6px; }
.mitosome-result-list p { margin: 0; font-size: 15px; line-height: 1.6; color: #121212; }

.mitosome-process-list { margin: 0; padding: 0; list-style: none; }
.mitosome-process-list li { position: relative; padding-left: 18px; margin: 12px 0; font-size: 16px; line-height: 1.6; }
.mitosome-process-list li::before { content: ""; position: absolute; left: 0; top: 11px; width: 6px; height: 6px; background: #121212; }
.mitosome-step-label { display: inline-block; font-weight: 700; margin-right: 6px; }

.mitosome-selfcheck { margin: 0; padding: 0; list-style: none; }
.mitosome-selfcheck li { position: relative; padding-left: 14px; margin: 8px 0; font-size: 15px; line-height: 1.6; }
.mitosome-selfcheck li::before { content: "-"; position: absolute; left: 0; top: 0; }

.mitosome-point-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 1px solid #121212; border-bottom: 1px solid #121212; margin: 8px 0 16px; }
.mitosome-point-card { background: #e6e6e6; min-height: 110px; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 14px; color: #1a4ecb; padding: 10px; border-bottom: 1px solid #121212; }
.mitosome-point-label { font-size: 13px; font-weight: 700; text-align: center; padding: 6px 0; border-bottom: 1px solid #121212; }
.mitosome-point-card:nth-child(2n+1),
.mitosome-point-label:nth-child(2n+1) { border-right: 1px solid #121212; }
.mitosome-point-label:nth-child(7),
.mitosome-point-label:nth-child(8) { border-bottom: 0; }
.mitosome-point-notes { margin: 0; padding: 0; list-style: none; }
.mitosome-point-notes li { margin: 8px 0; font-size: 15px; line-height: 1.6; }

.doctor-card { margin-top: 24px; border: 1px solid #121212; padding: 18px; background: #fff; }
.doctor-card--visual { position: absolute; right: 40px; bottom: 40px; width: 340px; }
.doctor-title { font-size: 12px; color: #121212; margin-bottom: 6px; }
.doctor-name { font-size: 22px; font-weight: 700; margin-bottom: 4px; }
.doctor-sub { font-size: 13px; margin-bottom: 12px; }
.doctor-edu strong { display: block; font-size: 12px; margin-bottom: 6px; }
.doctor-edu ul { list-style: none; margin: 0; padding: 0; }
.doctor-edu li { font-size: 12px; line-height: 1.6; }

.oxygen-process-list { margin: 0; padding: 0; list-style: none; }
.oxygen-process-list li { position: relative; padding-left: 18px; margin: 12px 0; font-size: 16px; line-height: 1.6; }
.oxygen-process-list li::before { content: ""; position: absolute; left: 0; top: 11px; width: 6px; height: 6px; background: #121212; }
.oxygen-step-label { display: inline-block; font-weight: 700; margin-right: 6px; }

.oxygen-result-list { margin: 0; padding: 0; list-style: none; }
.oxygen-result-list li { display: grid; grid-template-columns: 24px 1fr; column-gap: 14px; margin: 22px 0; align-items: center; }
.oxygen-result-content strong { display: block; font-size: 18px; font-weight: 700; line-height: 1.35; margin-bottom: 0; }
.oxygen-result-content p { margin: 0; font-size: 16px; line-height: 1.6; color: #121212; }
.oxygen-result-icon { width: 24px; height: 24px; display: block; object-fit: contain; margin-top: 0; }

.oxygen-selfcheck { margin: 0; padding: 0; list-style: none; }
.oxygen-selfcheck li { position: relative; padding-left: 14px; margin: 8px 0; font-size: 15px; line-height: 1.6; }
.oxygen-selfcheck li::before { content: "-"; position: absolute; left: 0; top: 0; }

.lifting-point-list { margin: 0; padding: 0; list-style: none; }
.lifting-point-list li { margin: 14px 0; }
.lifting-point-list strong { display: block; font-size: 18px; font-weight: 700; margin-bottom: 6px; }
.lifting-point-list p { margin: 0; font-size: 15px; line-height: 1.6; color: #121212; }
.lifting-point-sublist { margin: 8px 0 0; padding: 0; list-style: none; }
.lifting-point-sublist li { margin: 6px 0; font-size: 15px; line-height: 1.6; }

.lifting-selfcheck { margin: 0; padding: 0; list-style: none; }
.lifting-selfcheck li { position: relative; padding-left: 14px; margin: 8px 0; font-size: 15px; line-height: 1.6; }
.lifting-selfcheck li::before { content: "-"; position: absolute; left: 0; top: 0; }

.shurink-point-list { margin: 0; padding: 0; list-style: none; }
.shurink-point-list li { margin: 14px 0; }
.shurink-point-list strong { display: block; font-size: 18px; font-weight: 700; margin-bottom: 6px; }
.shurink-point-list p { margin: 0; font-size: 15px; line-height: 1.6; color: #121212; }
.shurink-point-sublist { margin: 8px 0 0; padding: 0; list-style: none; }
.shurink-point-sublist li { margin: 6px 0; font-size: 15px; line-height: 1.6; }

.shurink-selfcheck { margin: 0; padding: 0; list-style: none; }
.shurink-selfcheck li { position: relative; padding-left: 14px; margin: 8px 0; font-size: 15px; line-height: 1.6; }
.shurink-selfcheck li::before { content: "-"; position: absolute; left: 0; top: 0; }

.volnewmer-selfcheck { margin: 0; padding: 0; list-style: none; }
.volnewmer-selfcheck li { position: relative; padding-left: 14px; margin: 8px 0; font-size: 15px; line-height: 1.6; }
.volnewmer-selfcheck li::before { content: "-"; position: absolute; left: 0; top: 0; }

.eve-selfcheck { margin: 0; padding: 0; list-style: none; }
.eve-selfcheck li { position: relative; padding-left: 14px; margin: 8px 0; font-size: 15px; line-height: 1.6; }
.eve-selfcheck li::before { content: "-"; position: absolute; left: 0; top: 0; }

.eve-point-list { margin: 0; padding: 0; list-style: none; }
.eve-point-list li { margin: 14px 0; }
.eve-point-list strong { display: block; font-size: 18px; font-weight: 700; margin-bottom: 6px; }
.eve-point-list p { margin: 0; font-size: 15px; line-height: 1.6; color: #121212; }

.eve-result-list { margin: 16px 0 0; padding: 0; list-style: none; }
.eve-result-list li { display: grid; grid-template-columns: 24px 1fr; column-gap: 14px; margin: 22px 0; align-items: center; }
.eve-result-content strong { display: block; font-size: 18px; font-weight: 700; line-height: 1.35; margin-bottom: 0; }
.eve-result-icon { width: 24px; height: 24px; display: block; object-fit: contain; }

.mskin-selfcheck { margin: 0; padding: 0; list-style: none; }
.mskin-selfcheck li { position: relative; padding-left: 14px; margin: 8px 0; font-size: 15px; line-height: 1.6; }
.mskin-selfcheck li::before { content: "-"; position: absolute; left: 0; top: 0; }

.mskin-result-list { margin: 16px 0 0; padding: 0; list-style: none; }
.mskin-result-list li { display: grid; grid-template-columns: 24px 1fr; column-gap: 14px; margin: 22px 0; align-items: center; }
.mskin-result-content strong { display: block; font-size: 18px; font-weight: 700; line-height: 1.35; margin-bottom: 0; }
.mskin-result-icon { width: 24px; height: 24px; display: block; object-fit: contain; }
.mskin2-result-list li { grid-template-columns: 24px 1fr; column-gap: 14px; margin: 22px 0; }
.mskin2-result-content strong { font-size: 18px; line-height: 1.35; margin-bottom: 0; }
.mskin2-result-icon { width: 24px; height: 24px; }

.mskin3-selfcheck { margin: 0; padding: 0; list-style: none; }
.mskin3-selfcheck li { position: relative; padding-left: 14px; margin: 8px 0; font-size: 15px; line-height: 1.6; }
.mskin3-selfcheck li::before { content: "-"; position: absolute; left: 0; top: 0; }

.mskin3-result-list { margin: 16px 0 0; padding: 0; list-style: none; }
.mskin3-result-list li { display: grid; grid-template-columns: 24px 1fr; column-gap: 14px; margin: 22px 0; align-items: center; }
.mskin3-result-content strong { display: block; font-size: 18px; font-weight: 700; line-height: 1.35; margin-bottom: 0; }
.mskin3-result-content p { margin: 0; font-size: 15px; line-height: 1.6; color: #121212; }
.mskin3-result-icon { width: 24px; height: 24px; display: block; object-fit: contain; }

.thermage-point-list { margin: 0; padding: 0; list-style: none; }
.thermage-point-list li { margin: 14px 0; }
.thermage-point-list strong { display: block; font-size: 18px; font-weight: 700; margin-bottom: 6px; }
.thermage-point-list p { margin: 0; font-size: 15px; line-height: 1.6; color: #121212; }

.thermage-result-list { margin: 10px 0 0; padding: 0; list-style: none; }
.thermage-result-list li { margin: 6px 0; font-size: 15px; line-height: 1.6; }

.thermage-selfcheck { margin: 0; padding: 0; list-style: none; }
.thermage-selfcheck li { position: relative; padding-left: 14px; margin: 8px 0; font-size: 15px; line-height: 1.6; }
.thermage-selfcheck li::before { content: "-"; position: absolute; left: 0; top: 0; }

.thermage-faq { margin: 0; }
.thermage-faq dt { font-size: 24px; font-weight: 700; margin: 16px 0 6px; }
.thermage-faq dd { margin: 0 0 10px; font-size: 15px; line-height: 1.6; color: #121212; }

.primer-point-list { margin: 0; padding: 0; list-style: none; }
.primer-point-list li { margin: 14px 0; }
.primer-point-list strong { display: block; font-size: 24px; font-weight: 700; margin-bottom: 8px; }
.primer-point-subtitle { font-size: 16px; font-weight: 700; margin: 10px 0 6px; }
.primer-point-sublist { margin: 0 0 6px; padding: 0; list-style: none; }
.primer-point-sublist li { margin: 4px 0; font-size: 15px; line-height: 1.6; }
.primer-point-list p { margin: 0; font-size: 15px; line-height: 1.6; color: #121212; }

.primer-skill-list { margin: 0; padding: 0; list-style: none; }
.primer-skill-list li { position: relative; padding-left: 14px; margin: 8px 0; font-size: 15px; line-height: 1.6; }
.primer-skill-list li::before { content: "-"; position: absolute; left: 0; top: 0; }

.primer-selfcheck { margin: 0; padding: 0; list-style: none; }
.primer-selfcheck li { position: relative; padding-left: 14px; margin: 8px 0; font-size: 15px; line-height: 1.6; }
.primer-selfcheck li::before { content: "-"; position: absolute; left: 0; top: 0; }

.onda-point-list { margin: 10px 0; padding: 0; list-style: none; }
.onda-point-list li { position: relative; padding-left: 14px; margin: 6px 0; font-size: 15px; line-height: 1.6; }
.onda-point-list li::before { content: "-"; position: absolute; left: 0; top: 0; }

.onda-selfcheck { margin: 0; padding: 0; list-style: none; }
.onda-selfcheck li { position: relative; padding-left: 14px; margin: 8px 0; font-size: 15px; line-height: 1.6; }
.onda-selfcheck li::before { content: "-"; position: absolute; left: 0; top: 0; }

.onda-result-list { margin: 16px 0 0; padding: 0; list-style: none; }
.onda-result-list li { display: grid; grid-template-columns: 24px 1fr; column-gap: 14px; margin: 22px 0; align-items: center; }
.onda-result-content strong { display: block; font-size: 18px; font-weight: 700; line-height: 1.35; margin-bottom: 0; }
.onda-result-content p { margin: 0; font-size: 15px; line-height: 1.6; color: #121212; }
.onda-result-icon { width: 24px; height: 24px; display: block; object-fit: contain; }

/* Align icon to the first (bold) line for list items with multi-line descriptions */
.oxygen-result-list li,
.mskin3-result-list li,
.onda-result-list li {
  align-items: start;
}
.oxygen-result-icon,
.mskin3-result-icon,
.onda-result-icon {
  margin-top: 2px;
}

.subpage-visual-caption { position: absolute; right: 40px; bottom: 40px; border: 1px solid #121212; background: #fff; padding: 12px 18px; min-width: 220px; box-sizing: border-box; }
.subpage-visual-caption-title { font-size: 12px; font-weight: 700; margin-bottom: 6px; }
.subpage-visual-caption-text { font-size: 16px; font-weight: 600; }

.subpage-panel-nav { position: absolute; left: 30px; bottom: 20px; display: flex; gap: 8px; }
.subpage-panel-prev, .subpage-panel-next { width: 44px; height: 44px; border: 1px solid #121212; background: #fff; cursor: pointer; }
.subpage-panel-prev .btn-fill-icon,
.subpage-panel-next .btn-fill-icon { width: 24px; height: 24px; display: inline-block; background-size: 24px 24px; background-position: center; background-repeat: no-repeat; filter: none; transition: filter .35s ease; }
.subpage-panel-prev .btn-fill-icon,
.subpage-panel-next .btn-fill-icon { transform: translateY(2px); }
.subpage-panel-prev .btn-fill-icon { background-image: url(../img/panel-prev.svg); }
.subpage-panel-next .btn-fill-icon { background-image: url(../img/panel-next.svg); }
.subpage-panel-next { margin-left: -1px; }
.subpage-panel-prev.btn-fill:hover .btn-fill-icon,
.subpage-panel-next.btn-fill:hover .btn-fill-icon { filter: brightness(0) invert(1); }

body.gnb-overlay-open #hd.gnb-new { opacity: 0; pointer-events: none; --gnb-shift: -120px; }
#hd.is-hidden { opacity: 0; pointer-events: none; --gnb-shift: -40px; }

.subpage-overlay { position: absolute; inset: 0; display: none; z-index: 10; }
.subpage-overlay.is-active { display: flex; }
.subpage-panel--overlay { border-left: 1px solid #121212; }
.subpage-panel-inner--overlay { height: 100%; padding: 30px 0 60px; overflow-y: auto; }
.subpage-panel-inner--overlay::-webkit-scrollbar { width: 0; height: 0; }

.subpage-panel-head { position: relative; padding: 0 0 14px; border-bottom: 1px solid #121212; margin: 0 0 20px; }
.subpage-panel-head h2 { font-family: 'Poppins', sans-serif; font-size: 36px; font-weight: 700; line-height: 0.92; letter-spacing: -0.02em; }
.subpage-panel-close { position: absolute; right: 0; top: 0px; width: 62px; height: 62px; border: 1px solid #121212; background: #fff; font-size: 36px; cursor: pointer; }
.subpage-panel-close .btn-fill-text { transform: translateY(0); color: #121212; }

.subpage-panel-body { padding-right: 10px; }
.subpage-panel-body h3 { font-size: 24px; font-weight: 700; margin-bottom: 10px; word-break: keep-all; }
.subpage-panel-body p { font-size: 16px; line-height: 1.6; color: #121212; word-break: keep-all; }

.doctor-card { margin-top: 24px; border: 1px solid #121212; padding: 18px; }
.doctor-title { font-size: 16px; color: #121212; margin-bottom: 4px; }
.doctor-name { font-size: 24px; font-weight: 700; margin-bottom: 4px; }
.doctor-sub { font-size: 16px; margin-bottom: 35px; }
.doctor-edu strong { display: block; font-size: 22px; margin-bottom: 6px; }
.doctor-edu ul { list-style: none; margin: 0; padding: 0; }
.doctor-edu li { font-size: 16px; line-height: 1.6; }
.doctor-card--mobile { display: none; }
.doctor-mobile-divider { display: none; }

.subpage-panel-nav { position: absolute; left: 30px; bottom: 40px; display: flex; gap: 0px; }
.subpage-panel-prev, .subpage-panel-next { width: 64px; height: 64px; border: 1px solid #121212; background: #fff; font-size: 20px; cursor: pointer; }

#hd.is-hidden { opacity: 0; pointer-events: none; }

.btn-fill { position: relative; overflow: hidden; }
.btn-fill::before { content: ""; position: absolute; left: 0; bottom: -100%; width: 100%; height: 100%; background: #111; transition: bottom .35s ease; z-index: 0; }
.btn-fill-text { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; line-height: 1; transform: translateY(-3px); }
.btn-fill:hover::before { bottom: 0; }
.btn-fill:hover .btn-fill-text { color: #fff; }







/*! 서브페이지별 비주얼 */

/** 첫번째소개 */

.subpage-visual--about1 { background-image: url(../img/bg_about1.png); }

/** 닥터스 */
.subpage-visual--about-doctors1 { background-image: url(../img/bg_about_doctors1.png); background-position: top center; }
.subpage-visual--about-doctors2 { background-image: url(../img/bg_about_doctors2.png); background-position: top center; }
/** 로케이션 */
.subpage-visual--location { position: relative; background-image: none; background-color: #fff; overflow: hidden; }
.subpage-overlay.is-active .subpage-visual--location { height: 100%; }
.subpage-visual--location .map-box { position: absolute; inset: 0; width: 100%; height: 100%; }
.subpage-visual--location .root_daum_roughmap { position: absolute; inset: 0; width: 100% !important; height: 100% !important; }
.subpage-visual--location .root_daum_roughmap .wrap_map { width: 100% !important; height: 100% !important; }
.subpage-visual--location .root_daum_roughmap .wrap_map iframe { width: 100% !important; height: 100% !important; }
.subpage-visual--location .root_daum_roughmap .wrap_controllers,
.subpage-visual--location .root_daum_roughmap .wrap_btn_roadview,
.subpage-visual--location .root_daum_roughmap .wrap_btn_zoom,
.subpage-visual--location .root_daum_roughmap .map_border,
.subpage-visual--location .root_daum_roughmap .border1,
.subpage-visual--location .root_daum_roughmap .border2 { display: none !important; }

/** 안티에이징 */
.subpage-visual--antiage1 { background-image: url(../img/bg_antiage1.png); }
.subpage-visual--antiage1-skill1 { background-image: url(../img/bg_antiage1_skill1.png); }
.subpage-visual--antiage1-skill2 { background-image: url(../img/bg_antiage1_skill2.png); }
.subpage-visual--antiage1-skill3 { background-image: url(../img/bg_antiage1_skill3.png); }
.subpage-visual--antiage1-skill4 { background-image: url(../img/bg_antiage1_skill4.png); }
.subpage-visual--antiage1-skill5 { background-image: url(../img/bg_antiage1_skill5.png); }
.subpage-visual--antiage1-process { background-image: url(../img/bg_antiage1_process.png); }
.subpage-visual--antiage1-point { background-image: url(../img/bg_antiage1_point.png); }
.subpage-visual--antiage1-check { background-image: url(../img/bg_antiage1_check.png); }
.subpage-visual--antiage1,
.subpage-visual--antiage1-skill1,
.subpage-visual--antiage1-skill2,
.subpage-visual--antiage1-skill3,
.subpage-visual--antiage1-skill4,
.subpage-visual--antiage1-skill5,
.subpage-visual--antiage1-process,
.subpage-visual--antiage1-point,
.subpage-visual--antiage1-check { background-size: cover; background-position: center center; background-repeat: no-repeat; background-color: #fff; }

/** 울써마지 스템리프팅 */
.subpage-visual--antiage2 { background-image: url(../img/bg_antiage2_main.png); }
.subpage-visual--antiage2-process { background-image: url(../img/bg_antiage2_process.png); }
.subpage-visual--antiage2-result { background-image: url(../img/bg_antiage2_result.png); }
.subpage-visual--antiage2-selfcheck { background-image: url(../img/bg_antiage2_selfcheck.png); }
.subpage-visual--antiage2,
.subpage-visual--antiage2-process,
.subpage-visual--antiage2-result,
.subpage-visual--antiage2-selfcheck { background-size: cover; background-position: center center; background-repeat: no-repeat; background-color: #fff; }

.antiage2-process-block { margin-top: 24px; }
.antiage2-process-block h4 { margin: 8px 0 0; font-size: 24px; line-height: 1.3; font-weight: 700; }
.antiage2-result-list { margin: 20px 0 0; padding: 0; list-style: none; }
.antiage2-result-list li { margin: 20px 0; }
.antiage2-result-list strong { display: block; font-size: 24px; font-weight: 700; line-height: 1.35; margin-bottom: 4px; }
.antiage2-result-list p { margin: 0; font-size: 15px; line-height: 1.6; color: #121212; word-break: keep-all; }
.antiage2-selfcheck { margin: 0; padding: 0; list-style: none; }
.antiage2-selfcheck li { position: relative; padding-left: 14px; margin: 8px 0; font-size: 15px; line-height: 1.6; word-break: keep-all; }
.antiage2-selfcheck li::before { content: "-"; position: absolute; left: 0; top: 0; }

/** 프레시실 */
.subpage-visual--antiage3 { background-image: url(../img/bg_antiage3_main.png); }
.subpage-visual--antiage3-point { background-image: url(../img/bg_antiage3_point.png); }
.subpage-visual--antiage3-solution { background-image: url(../img/bg_antiage3_solution.png); }
.subpage-visual--antiage3-result { background-image: url(../img/bg_antiage3_result.png); }
.subpage-visual--antiage3-process { background-image: url(../img/bg_antiage3_process.png); }
.subpage-visual--antiage3-selfcheck { background-image: url(../img/bg_antiage3_selfcheck.png); }
.subpage-visual--antiage3,
.subpage-visual--antiage3-point,
.subpage-visual--antiage3-solution,
.subpage-visual--antiage3-result,
.subpage-visual--antiage3-process,
.subpage-visual--antiage3-selfcheck { background-size: cover; background-position: center center; background-repeat: no-repeat; background-color: #fff; }

/** 미토좀 */
.subpage-visual--antiage4 { background-image: url(../img/bg_antiage4_main.png); }
.subpage-visual--antiage4-result { background-image: url(../img/bg_antiage4_result.png); }
.subpage-visual--antiage4-process { background-image: url(../img/bg_antiage4_process.png); }
.subpage-visual--antiage4-selfcheck { background-image: url(../img/bg_antiage4_check.png); }
.subpage-visual--antiage4-point { background-image: url(../img/bg_antiage4_point.png); }
.subpage-visual--antiage4,
.subpage-visual--antiage4-result,
.subpage-visual--antiage4-process,
.subpage-visual--antiage4-selfcheck,
.subpage-visual--antiage4-point { background-size: cover; background-position: center center; background-repeat: no-repeat; background-color: #fff; }

/** 고압산소 */
.subpage-visual--antiage5 { background-image: url(../img/bg_antiage5_main.png); }
.subpage-visual--antiage5-process { background-image: url(../img/bg_antiage5_process.png); }
.subpage-visual--antiage5-result { background-image: url(../img/bg_antiage5_result.png); }
.subpage-visual--antiage5-selfcheck { background-image: url(../img/bg_antiage5_selfcheck.png); }
.subpage-visual--antiage5,
.subpage-visual--antiage5-process,
.subpage-visual--antiage5-result,
.subpage-visual--antiage5-selfcheck { background-size: cover; background-position: center center; background-repeat: no-repeat; background-color: #fff; }

/** 울쎄라 */
.subpage-visual--lifting1 { background-image: url(../img/bg_lifting1_main.png); }
.subpage-visual--lifting1-skill { background-image: url(../img/bg_lifting1_skill.png); }
.subpage-visual--lifting1-point { background-image: url(../img/bg_lifting1_point.png); }
.subpage-visual--lifting1-selfcheck { background-image: url(../img/bg_lifting1_selfcheck.png); }
.subpage-visual--lifting1,
.subpage-visual--lifting1-skill,
.subpage-visual--lifting1-point,
.subpage-visual--lifting1-selfcheck { background-size: cover; background-position: center center; background-repeat: no-repeat; background-color: #fff; }

/** 써마지 */
.subpage-visual--lifting2 { background-image: url(../img/bg_lifting2_main.png); }
.subpage-visual--lifting2-point { background-image: url(../img/bg_lifting2_point.png); }
.subpage-visual--lifting2-result1 { background-image: url(../img/bg_lifting2_result1.png); }
.subpage-visual--lifting2-result2 { background-image: url(../img/bg_lifting2_result2.png); }
.subpage-visual--lifting2-selfcheck { background-image: url(../img/bg_lifting2_selfcheck.png); }
.subpage-visual--lifting2-faq { background-image: url(../img/bg_lifting2_faq.png); }
.subpage-visual--lifting2,
.subpage-visual--lifting2-point,
.subpage-visual--lifting2-result1,
.subpage-visual--lifting2-result2,
.subpage-visual--lifting2-selfcheck,
.subpage-visual--lifting2-faq { background-size: cover; background-position: center center; background-repeat: no-repeat; background-color: #fff; }

/** 프라임레이즈 */
.subpage-visual--lifting3 { background-image: url(../img/bg_lifting3_main.png); }
.subpage-visual--lifting3-point { background-image: url(../img/bg_lifting3_point.png); }
.subpage-visual--lifting3-skill { background-image: url(../img/bg_lifting3_skill.png); }
.subpage-visual--lifting3-selfcheck { background-image: url(../img/bg_lifting3_selfcheck.png); }
.subpage-visual--lifting3,
.subpage-visual--lifting3-point,
.subpage-visual--lifting3-skill,
.subpage-visual--lifting3-selfcheck { background-size: cover; background-position: center center; background-repeat: no-repeat; background-color: #fff; }

/** 온다 */
.subpage-visual--lifting4 { background-image: url(../img/bg_lifting4_main.png); }
.subpage-visual--lifting4-result { background-image: url(../img/bg_lifting4_result.png); }
.subpage-visual--lifting4-point { background-image: url(../img/bg_lifting4_point.png); }
.subpage-visual--lifting4-selfcheck { background-image: url(../img/bg_lifting4_selfcheck.png); }
.subpage-visual--lifting4,
.subpage-visual--lifting4-result,
.subpage-visual--lifting4-point,
.subpage-visual--lifting4-selfcheck { background-size: cover; background-position: center center; background-repeat: no-repeat; background-color: #fff; }

/** 슈링크 유니버스 */
.subpage-visual--lifting5 { background-image: url(../img/bg_lifting5_main.png); }
.subpage-visual--lifting5-point1 { background-image: url(../img/bg_lifting5_point1.png); }
.subpage-visual--lifting5-point2 { background-image: url(../img/bg_lifting5_point2.png); }
.subpage-visual--lifting5-point3 { background-image: url(../img/bg_lifting5_point3.png); }
.subpage-visual--lifting5-point4 { background-image: url(../img/bg_lifting5_point4.png); }
.subpage-visual--lifting5-selfcheck { background-image: url(../img/bg_lifting5_selfcheck.png); }
.subpage-visual--lifting5,
.subpage-visual--lifting5-point1,
.subpage-visual--lifting5-point2,
.subpage-visual--lifting5-point3,
.subpage-visual--lifting5-point4,
.subpage-visual--lifting5-selfcheck { background-size: cover; background-position: center center; background-repeat: no-repeat; background-color: #fff; }

/** 볼류머리프팅 */
.subpage-visual--lifting6 { background-image: url(../img/bg_lifting6_main.png); }
.subpage-visual--lifting6-point1 { background-image: url(../img/bg_lifting6_point1.png); }
.subpage-visual--lifting6-point2 { background-image: url(../img/bg_lifting6_point2.png); }
.subpage-visual--lifting6-selfcheck { background-image: url(../img/bg_lifting6_selfcheck.png); }
.subpage-visual--lifting6,
.subpage-visual--lifting6-point1,
.subpage-visual--lifting6-point2,
.subpage-visual--lifting6-selfcheck { background-size: cover; background-position: center center; background-repeat: no-repeat; background-color: #fff; }

/** 이브타이탄 */
.subpage-visual--lifting7 { background-image: url(../img/bg_lifting7_main.png); }
.subpage-visual--lifting7-result { background-image: url(../img/bg_lifting7_result.png); }
.subpage-visual--lifting7-skill { background-image: url(../img/bg_lifting7_skill.png); }
.subpage-visual--lifting7-point { background-image: url(../img/bg_lifting7_point.png); }
.subpage-visual--lifting7-selfcheck { background-image: url(../img/bg_lifting7_selfcheck.png); }
.subpage-visual--lifting7,
.subpage-visual--lifting7-result,
.subpage-visual--lifting7-skill,
.subpage-visual--lifting7-point,
.subpage-visual--lifting7-selfcheck { background-size: cover; background-position: center center; background-repeat: no-repeat; background-color: #fff; }

/** 리쥬란힐러 */
.subpage-visual--mskin1 { background-image: url(../img/bg_mskin1_main.png); }
.subpage-visual--mskin1-result { background-image: url(../img/bg_mskin1_result.png); }
.subpage-visual--mskin1-selfcheck { background-image: url(../img/bg_mskin1_selfcheck.png); }
.subpage-visual--mskin1,
.subpage-visual--mskin1-result,
.subpage-visual--mskin1-selfcheck { background-size: cover; background-position: center center; background-repeat: no-repeat; background-color: #fff; }

/** 광채주사 */
.subpage-visual--mskin2 { background-image: none; }
.subpage-visual--mskin2-result { background-image: none; }
.subpage-visual--mskin2-point { background-image: none; }
.subpage-visual--mskin2-selfcheck { background-image: url(../img/bg_antiage1_check.png); }
.subpage-visual--mskin2,
.subpage-visual--mskin2-result,
.subpage-visual--mskin2-point,
.subpage-visual--mskin2-selfcheck { background-size: cover; background-position: center center; background-repeat: no-repeat; background-color: #fff; }
.subpage-visual--mskin2,
.subpage-visual--mskin2-result,
.subpage-visual--mskin2-point {
  position: relative;
  background-color: #ededed;
}
.subpage-visual--mskin2::after,
.subpage-visual--mskin2-result::after,
.subpage-visual--mskin2-point::after {
  content: "이미지 준비중";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  min-width: 320px;
  height: 78px;
  border: 1px solid #8f8f8f;
  background: #ededed;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 42px;
  font-weight: 700;
  line-height: 1;
  color: #121212;
  letter-spacing: -0.04em;
  box-sizing: border-box;
  text-align: center;
}

/** 쥬베룩 */
.subpage-visual--mskin3 { background-image: url(../img/bg_mskin3_main.png); }
.subpage-visual--mskin3-result { background-image: url(../img/bg_mskin3_result.png); }
.subpage-visual--mskin3-point { background-image: url(../img/bg_mskin3_point.png); }
.subpage-visual--mskin3-selfcheck { background-image: url(../img/bg_mskin3_selfcheck.png); }
.subpage-visual--mskin3,
.subpage-visual--mskin3-result,
.subpage-visual--mskin3-point,
.subpage-visual--mskin3-selfcheck { background-size: cover; background-position: center center; background-repeat: no-repeat; background-color: #fff; }

/** 스킨프로그램 */
.subpage-visual--volpet1 { background-image: url(../img/bg_volpet1_main.png); }
.subpage-visual--volpet1-skill { background-image: url(../img/bg_volpet1_skill.png); }
.subpage-visual--volpet1-point { background-image: url(../img/bg_volpet1_point.png); }
.subpage-visual--volpet1-selfcheck { background-image: url(../img/bg_volpet1_selfcheck.png); }
.subpage-visual--volpet1,
.subpage-visual--volpet1-skill,
.subpage-visual--volpet1-point,
.subpage-visual--volpet1-selfcheck { background-size: cover; background-position: center center; background-repeat: no-repeat; background-color: #fff; }

.volpet-point-block { margin-top: 22px; }
.volpet-point-check { margin: 0; padding: 0; list-style: none; }
.volpet-point-check li { margin: 4px 0; font-size: 15px; line-height: 1.45; font-weight: 400; }
.volpet-point-check li::before { content: "✓ "; font-weight: 700; }
.volpet-selfcheck { margin: 0; padding: 0; list-style: none; }
.volpet-selfcheck li { position: relative; padding-left: 14px; margin: 8px 0; font-size: 15px; line-height: 1.6; }
.volpet-selfcheck li::before { content: "-"; position: absolute; left: 0; top: 0; }

/** 맞춤실리프팅 */
.subpage-visual--volpet2 { background-image: url(../img/bg_volpet2_main.png); }
.subpage-visual--volpet2-point { background-image: url(../img/bg_volpet2_point.png); }
.subpage-visual--volpet2-selfcheck { background-image: url(../img/bg_volpet2_selfcheck.png); }
.subpage-visual--volpet2,
.subpage-visual--volpet2-point,
.subpage-visual--volpet2-selfcheck { background-size: cover; background-position: center center; background-repeat: no-repeat; background-color: #fff; }

.volpet2-point-block { margin-top: 22px; }
.volpet2-point-check { margin: 0; padding: 0; list-style: none; }
.volpet2-point-check li { margin: 4px 0; font-size: 15px; line-height: 1.45; font-weight: 400; }
.volpet2-point-check li::before { content: "✓ "; font-weight: 700; }
.volpet2-selfcheck { margin: 0; padding: 0; list-style: none; }
.volpet2-selfcheck li { position: relative; padding-left: 14px; margin: 8px 0; font-size: 15px; line-height: 1.6; }
.volpet2-selfcheck li::before { content: "-"; position: absolute; left: 0; top: 0; }

.subpage-visual-note { position: absolute; right: 40px; bottom: 40px; border: 1px solid #121212; background: #fff; padding: 12px 18px; max-width: 380px; box-sizing: border-box; }
.subpage-visual-note-title { font-size: 12px; font-weight: 700; margin-bottom: 6px; }
.subpage-visual-note-text { font-size: 14px; line-height: 1.5; }





@keyframes subpageVisualIn {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes subpageVisualOut {
  from { opacity: 1; transform: translateY(0); }
  to { opacity: 0; transform: translateY(30px); }
}

@keyframes subpagePanelOut {
  from { opacity: 1; }
  to { opacity: 0; }
}






/*! Intro */
.mintro { position: relative; height: 100vh; background-color: #F8F8F8; overflow: hidden; display: flex; justify-content: center; align-items: center; }
.mintro .inner { position: relative; width: 1600px; height: auto; margin: 0 auto; display: flex; flex-direction: column; align-items: center; }

.mintro .inner .logo-intro { width: 100%; display: flex; justify-content: flex-start; padding: 0 6%; }
.mintro .inner .logo-intro > span{ width: 170px; height: auto; display: block; }
.mintro .inner .logo-intro > span > img{ width: 100%; height: auto; object-fit: contain; }

.mintro .inner .card-group { position: relative; height: 560px; display: flex; justify-content: center; align-items: center; gap: 0; margin-top: 70px; }
.mintro .card { width: 450px; height: 560px; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) scale(.9); opacity: 0; transition: all .5s ease-out; animation: spread 1s ease forwards .5s; }
.mintro .card.plas { z-index: 3; animation-name: spread-left; }
.mintro .card.skin  { z-index: 2; animation-name: spread-center; }
.mintro .card.cell { z-index: 1; animation-name: spread-right; }
.mintro .card .inner { position: relative; overflow: hidden; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; border-radius: 40px; overflow: hidden; }
.mintro .card.plas .inner { background: url(../img/mintro-bg-plas.png) no-repeat bottom center; background-size: contain; }
.mintro .card.skin .inner { background: url(../img/mintro-bg-skin.png) no-repeat bottom center; background-size: contain; }
.mintro .card.cell .inner { background: url(../img/mintro-bg-cell.png) no-repeat bottom center; background-size: contain; }
.mintro .card .inner > span{ position: relative; display: block; width: 53px; height: auto; z-index: 3; transition: all .2s ease-out; }
.mintro .card .inner > span > img{ width: 100%; height: auto; object-fit: contain; }

.mintro .card .inner .cover-on { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; z-index: 2; }
.mintro .card .inner .cover-on .inner { position: relative; display: block; width: 100%; padding: 60px 40px; }
.mintro .card .inner .cover-on .inner .shadow { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; opacity: 0; background: url(../img/mintro-cover.png) no-repeat top center; background-size: cover; z-index: 1; transition: all .3s ease-out; }
.mintro .card:hover > .inner > span{ opacity: 0; }
.mintro .card:hover > .inner .cover-on .inner .shadow{ opacity: 1; transition-delay: .1s; }
.mintro .card .inner .cover-on .inner > div{ position: relative; width: 100%; display: flex; justify-content: space-between; align-items: center; z-index: 2; transform: translateY(10px); opacity: 0; transition: all .2s ease-out; }
.mintro .card .inner .cover-on .inner > div > h4{ font-size: 32px; color: #fff; line-height: 40px; }
.mintro .card .inner .cover-on .inner > div > span{ display: flex; justify-content: center; align-items: center; width: 60px; height: 60px; border-radius: 50%; }
.mintro .card.plas .inner .cover-on .inner > div > span{ background-color: #b7c7c3; }
.mintro .card.skin .inner .cover-on .inner > div > span{ background-color: #e9dfca; }
.mintro .card.cell .inner .cover-on .inner > div > span{ background-color: #d7c6c8; }
.mintro .card .inner .cover-on .inner > ul{ position: relative; margin-top: 30px; z-index: 2; transform: translateY(20px); opacity: 0; transition: all .2s ease-out; }
.mintro .card .inner .cover-on .inner > ul > li{ position: relative; font-size: 18px; line-height: 28px; color: #fff; padding-left: 12px; }
.mintro .card .inner .cover-on .inner > ul > li::before{ position: absolute; display: block; top: 12px; left: 0; width: 4px; height: 4px; background-color: #fff; border-radius: 50%; content: ''; }
.mintro .card:hover .inner .cover-on .inner > div{ opacity: 1; transform: translateY(0); transition-delay: .2s; }
.mintro .card:hover .inner .cover-on .inner > ul{ opacity: 1; transform: translateY(0); transition-delay: .2s; }





/*! Index */

/** mvisual */
.mvisual { position: relative; height: 100vh; background-color: #fff; overflow: hidden; }

.scene { position: relative; width: 100vw; height: 100%; perspective: 900px; overflow: hidden; touch-action: none; }
.object { position: absolute; width: 80px; height: 80px; border-radius: 20px; background-color: #f39c12; transform-style: preserve-3d; backface-visibility: hidden; transition: opacity .6s; }

/* 각 오브젝트 배경색과 위치 조절 */
.o1  { width: 440px; height: 439px; background: url(../img/mvisual-obj1.png) no-repeat; background-size: contain; }
.o2  { width: 500px; height: 463px; background: url(../img/mvisual-obj2.png) no-repeat; background-size: contain; }
.o3  { width: 500px; height: 463px; background: url(../img/mvisual-obj3.png) no-repeat; background-size: contain; }
.o4  { width: 500px; height: 463px; background: url(../img/mvisual-obj4.png) no-repeat; background-size: contain; }
.o5  { width: 440px; height: 428px; background: url(../img/mvisual-obj5.png) no-repeat; background-size: contain; }

.hover-card { position: fixed; top: 0; left: 0; max-width: min(78vw, 420px); display: flex; align-items: stretch; justify-content: flex-start; visibility: hidden; border: 1px solid #121212; background: #fff; cursor: default; pointer-events: none; overflow: hidden; z-index: 10; clip-path: inset(calc(50% - .5px) 0 calc(50% - .5px) 0); transition: clip-path .34s cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear .34s; will-change: clip-path; }
.hover-card::before { content: ""; position: absolute; left: 0; bottom: -100%; width: 100%; height: 100%; background: #111; transition: bottom .35s ease; z-index: 0; }
.hover-card::after { content: ""; position: absolute; left: 0; top: 50%; width: 100%; height: 1px; background: #121212; transform: translateY(-50%); opacity: 1; transition: opacity .1s linear .16s; z-index: 2; }
.hover-card.active { visibility: visible; pointer-events: none; clip-path: inset(0 0 0 0); transition: clip-path .38s cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 0s; }
.hover-card.active::after { opacity: 0; transition: opacity .08s linear 0s; }
.hover-card-copy { position: relative; z-index: 1; flex: 1; padding: 14px; display: flex; flex-direction: column; justify-content: center; gap: 4px; opacity: 0; transition: opacity .1s ease, transform .35s ease, color .35s ease; }
.hover-card.active .hover-card-copy { opacity: 1; transition-delay: .16s; }
.hover-card .card-title { margin: 0; color: #121212; font-family: 'Poppins'; font-size: 14px; font-weight: 700; line-height: 1.1; letter-spacing: -0.02em; text-transform: uppercase; word-break: break-word; transition: color .35s ease; }
.hover-card .card-desc { margin: 0; color: #121212; font-size: 18px; font-weight: 600; line-height: 1.15; letter-spacing: -0.02em; word-break: keep-all; transition: color .35s ease; }
.hover-card:hover::before { bottom: 0; }
.hover-card:hover .card-title,
.hover-card:hover .card-desc { color: #fff; }

  




/*! Stemcell */
.stemcell-body { background: #f2f5f8; }
.stemcell-page { position: relative; background: #f2f5f8; color: #fff; overflow: hidden; }
.stem-inner { width: 1620px; max-width: calc(100% - 80px); margin: 0 auto; position: relative; }
.stem-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }
.stemcell-page :is(h1, h2, h3, p, strong) { word-break: keep-all; }

/** stemcell Section1 */
.stem-hero { position: relative; min-height: 100vh; display: flex; align-items: flex-end; overflow: hidden; background: #dce8f2; }
.stem-hero::before { content: ""; position: absolute; inset: 0; background: url(../img/bg_stemcell_s1.png) no-repeat center center; background-size: cover; transform: scale(1.05); transform-origin: center center; transition: transform 3s cubic-bezier(0.22, 1, 0.36, 1); pointer-events: none; }
.stem-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8, 31, 49, .08) 0%, rgba(5, 18, 33, .5) 100%); pointer-events: none; }
.stem-hero-inner { z-index: 2; padding: 0 0 112px; color: #fff; text-align: left; }
.stem-hero-eyebrow { margin: 0 0 18px; font-family: 'Outfit', sans-serif; font-size: 14px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; opacity: .88; }
.stem-hero-title { margin: 0; font-family: 'Pretendard', 'Poppins', sans-serif; font-size: 58px; line-height: 1.12; font-weight: 700; letter-spacing: -0.03em; text-shadow: 0 10px 24px rgba(9, 28, 44, .25); }
.stem-hero-copy { margin: 20px 0 0; font-size: 18px; line-height: 1.6; font-weight: 400; letter-spacing: -0.01em; max-width: 760px; opacity: .95; }
@keyframes stemTextIn { 0% { opacity: 0; transform: translate3d(0, 24px, 0); } 100% { opacity: 1; transform: translate3d(0, 0, 0); } }

/** stemcell Section2 */
.stem-intro { position: relative; height: 100vh; min-height: 100vh; background: #f2f5f8; color: #121212; overflow: hidden; }
.stem-s2-top { position: relative; height: 35vh; min-height: 0; background: #fff; border-top: 1px solid rgba(18, 18, 18, .08); z-index: 3; }
.stem-s2-visual { position: relative; height: 65vh; min-height: 0; z-index: 1; overflow: hidden; }
.stem-s2-visual::before { content: ""; position: absolute; inset: 0; background: url(../img/bg_stemcell_s2.png) no-repeat center center; background-size: cover; transform: scale(1.05); transform-origin: center center; transition: transform 3s cubic-bezier(0.22, 1, 0.36, 1); }
.stem-s2-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 17, 25, .12) 0%, rgba(10, 17, 25, .45) 100%); }
.stem-s2-inner { position: absolute; left: 50%; top: 112px; transform: translateX(-50%); z-index: 4; width: 1620px; max-width: calc(100% - 80px); }
.stem-s2-brand-row { display: flex; align-items: flex-end; gap: 20px; }
.stem-s2-first { margin: 0; width: 460px; line-height: 0; }
.stem-s2-first img { display: block; width: 100%; height: auto; }
.stem-s2-label { font-size: 41px; line-height: 1.12; font-weight: 700; color: #0f1217; letter-spacing: -0.02em; }
.stem-s2-main { margin: 0; padding-top: 50px; width: 1362px; line-height: 0; }
.stem-s2-main img { display: block; width: 100%; height: auto; }
.stem-s2-desc { position: absolute; right: clamp(360px, 12vw, 360px); top: 420px; margin: 0; max-width: 470px; font-size: 24px; line-height: 1.45; font-weight: 500; letter-spacing: -0.01em; color: #fff; }
.stem-s2-desc strong { display: block; font-size: 34px; line-height: 1.22; margin-bottom: 20px; font-weight: 700; }

/** stemcell Section3 */
.stem-points { position: relative; height: 100vh; min-height: 100vh; background: #eceef2; border-bottom: 1px solid #121212; overflow: hidden; }
.stem-points-grid { display: grid; grid-template-columns: repeat(3, 1fr); height: 100%; }
.stem-point { position: relative; height: 100%; overflow: hidden; }
.stem-point-media { position: absolute; inset: 0; }
.stem-point-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.stem-point::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(12, 14, 18, .08) 0%, rgba(12, 14, 18, .14) 100%); pointer-events: none; }
.stem-point-caption { position: absolute; left: 30px; right: 30px; bottom: 50px; z-index: 2; background: #fff; border: 1px solid #121212; padding: 16px 20px 14px; color: #121212; }
.stem-point-caption strong { display: block; font-family: 'Outfit', 'Pretendard', sans-serif; font-size: 14px; line-height: 1; font-weight: 700; letter-spacing: -0.01em; }
.stem-point-caption p { margin: 8px 0 0; font-size: 18px; line-height: 1.18; font-weight: 400; letter-spacing: -0.02em; word-break: keep-all; }
.stem-points-nav { display: none; }
.stem-section-03 .stem-point.stem-reveal { opacity: 0; transform: translate3d(0, 64px, 0) scale(.97); filter: saturate(.78); transition: opacity .9s ease, transform .95s cubic-bezier(.2, .8, .2, 1), filter .9s ease; }
.stem-section-03.is-active .stem-point.stem-reveal { opacity: 1; transform: translate3d(0, 0, 0) scale(1); filter: saturate(1); }
.stem-section-03 .stem-point-caption { transform: translate3d(0, 26px, 0); opacity: 0; transition: transform .75s ease, opacity .75s ease; transition-delay: calc(var(--reveal-delay, 0s) + .12s); }
.stem-section-03.is-active .stem-point-caption { transform: translate3d(0, 0, 0); opacity: 1; }

/** stemcell Section4 */
.stem-safe { position: relative; height: 100vh; min-height: 100vh; background: #fff; overflow: hidden; }
.stem-safe-inner { height: 100%; display: flex; align-items: center; z-index: 3; }
.stem-safe-copy { width: 670px; position: relative; z-index: 4; color: #111317; }
.stem-safe-title { margin: 0; font-size: 70px; line-height: 1.1; letter-spacing: -0.04em; font-weight: 700; }
.stem-safe-badge { display: inline-flex; width: 60px; margin-left: 5px; vertical-align: baseline; transform: translateY(5px); }
.stem-safe-badge img { width: 100%; height: auto; display: block; }
.stem-safe-desc { margin: 56px 0 0; font-size: 24px; line-height: 1.45; letter-spacing: -0.02em; font-weight: 500; color: #111317; }
.stem-safe-desc strong { font-weight: 700; }
.stem-safe-visual { position: absolute; inset: 0; width: 100%; max-width: none; height: 100%; z-index: 1; }
.stem-safe-visual img { width: 100%; height: 100%; object-fit: cover; object-position: right center; display: block; }
.stem-section-04 .stem-safe-copy.stem-reveal { opacity: 0; transform: translate3d(-74px, 0, 0); filter: blur(4px); transition: opacity .9s ease, transform 1s cubic-bezier(.2, .8, .2, 1), filter .85s ease; }
.stem-section-04 .stem-safe-visual.stem-reveal { opacity: 0; transform: translate3d(64px, 0, 0); clip-path: inset(0 0 0 34%); transition: opacity 1s ease, transform 1.1s cubic-bezier(.2, .8, .2, 1), clip-path 1.2s cubic-bezier(.2, .8, .2, 1); }
.stem-section-04 .stem-safe-badge { transform: translateY(5px) scale(.74) rotate(-18deg); transition: transform .65s cubic-bezier(.19, 1, .22, 1); transition-delay: calc(var(--reveal-delay, 0s) + .36s); }
.stem-section-04.is-active .stem-safe-copy.stem-reveal { opacity: 1; transform: translate3d(0, 0, 0); filter: blur(0); }
.stem-section-04.is-active .stem-safe-visual.stem-reveal { opacity: 1; transform: translate3d(0, 0, 0); clip-path: inset(0 0 0 0); }
.stem-section-04.is-active .stem-safe-badge { transform: translateY(5px) scale(1) rotate(0); }

/** stemcell Section5 */
.stem-dna { position: relative; height: 100vh; min-height: 100vh; background: #efefef; overflow: hidden; }
.stem-dna-inner { height: 100%; display: flex; align-items: center; z-index: 3; }
.stem-dna-copy { width: 700px; position: relative; z-index: 4; color: #0e1116; }
.stem-dna-title { margin: 0; font-size: 70px; line-height: 1.1; letter-spacing: -0.04em; font-weight: 700; }
.stem-dna-desc { margin: 56px 0 0; font-size: 24px; line-height: 1.45; letter-spacing: -0.02em; font-weight: 500; color: #0f1318; }
.stem-dna-desc strong { font-weight: 700; }
.stem-dna-visual { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; }
.stem-dna-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(239, 239, 239, .56) 0%, rgba(239, 239, 239, .2) 36%, rgba(239, 239, 239, 0) 60%); pointer-events: none; z-index: 2; }
.stem-dna-visual video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center center; display: block; opacity: 1; transform: scale(1.04); transition: transform 3.2s cubic-bezier(0.22, 1, 0.36, 1), opacity .32s linear; }
.stem-section-05 .stem-dna-copy.stem-reveal { opacity: 0; transform: translate3d(0, 42px, 0); transition: opacity .85s ease, transform .95s cubic-bezier(.2, .8, .2, 1); }
.stem-section-05 .stem-dna-visual.stem-reveal { opacity: 0; transform: scale(1.08); filter: blur(2px); transition: opacity 1.2s ease, transform 2.2s cubic-bezier(.2, .8, .2, 1), filter .9s ease; }
.stem-section-05.is-active .stem-dna-copy.stem-reveal { opacity: 1; transform: translate3d(0, 0, 0); }
.stem-section-05.is-active .stem-dna-visual.stem-reveal { opacity: 1; transform: scale(1); filter: blur(0); }

/** stemcell Section6 */
.stem-process { position: relative; height: 100vh; min-height: 100vh; background: #fff; overflow: hidden; color: #111317; }
.stem-process-lines { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.stem-s6-side { position: absolute; top: 50%; width: 760px; height: 760px; transform: translateY(-50%); }
.stem-s6-side-left { left: -470px; }
.stem-s6-side-right { right: -470px; }
.stem-s6-wave { position: absolute; inset: 0; border: 1px solid rgba(17, 19, 23, .78); border-radius: 50%; opacity: .62; transform-origin: center center; }
.stem-s6-wave.w2 { inset: 100px; opacity: .58; }
.stem-s6-wave.w3 { inset: 200px; opacity: .54; }
.stem-s6-wave.w4 { inset: 300px; opacity: .5; }
.stem-process-inner { position: relative; z-index: 3; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.stem-process-eyebrow { margin: 0; font-family: 'Poppins', 'Pretendard', sans-serif; font-size: 18px; line-height: 1; letter-spacing: -0.01em; font-weight: 700; }
.stem-process-title { margin: 18px 0 0; text-align: center; font-size: 70px; line-height: 1.18; letter-spacing: -0.045em; font-weight: 700; }
.stem-process-list { margin-top: 50px; width: 600px; display: flex; flex-direction: column; gap: 14px; }
.stem-process-item { border: 1px solid #2e2f33; background: #fff; padding: 20px 30px; }
.stem-process-item h3 { margin: 0; font-family: 'Outfit', 'Pretendard', sans-serif; font-size: 20px; line-height: 1; letter-spacing: -0.01em; font-weight: 700; }
.stem-process-item h3::before { content: "▪"; margin-right: 10px; font-size: .9em; vertical-align: 1px; }
.stem-process-item p { margin: 8px 0 0; font-size: 18px; line-height: 1.25; letter-spacing: -0.02em; font-weight: 500; word-break: keep-all; }
.stem-section-06 .stem-s6-wave { transform: scale(.9); opacity: 0; animation: stemSignalSpread 4.8s linear infinite; animation-play-state: paused; will-change: transform, opacity; }
.stem-section-06 .stem-s6-wave.w2 { animation-delay: -1.2s; }
.stem-section-06 .stem-s6-wave.w3 { animation-delay: -2.4s; }
.stem-section-06 .stem-s6-wave.w4 { animation-delay: -3.6s; }
.stem-section-06.is-active .stem-s6-wave { animation-play-state: running; }
@keyframes stemSignalSpread {
  0% { opacity: 0; transform: scale(.9); }
  12% { opacity: .58; }
  78% { opacity: .24; }
  100% { opacity: 0; transform: scale(1.09); }
}

/** stemcell Section7 */
.stem-trust { position: relative; min-height: 100vh; background: #fff; color: #101216; overflow: hidden; }
.stem-trust-visual { position: relative; width: 100%; height: 62vh; min-height: 440px; overflow: hidden; }
.stem-trust-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center center; display: block; transform: scale(1.03); transition: transform 2.6s cubic-bezier(0.22, 1, 0.36, 1); }
.stem-trust-inner { padding: 90px 0 110px; display: flex; flex-direction: column; align-items: center; text-align: center; }
.stem-trust-title { margin: 0; font-size: 70px; line-height: 1.16; letter-spacing: -0.045em; font-weight: 700; }
.stem-trust-desc { margin: 36px 0 0; font-size: 24px; line-height: 1.45; letter-spacing: -0.02em; font-weight: 500; color: #1a1d22; }
.stem-trust-org { margin-top: 42px; width: 700px; max-width: 100%; border: 1px solid #2e2f33; background: #fff; padding: 14px 18px; }
.stem-trust-org img { width: 100%; height: auto; display: block; }

/** stemcell Section8 */
.stem-team { position: relative; height: 100vh; min-height: 100vh; overflow: hidden; color: #fff; }
.stem-team-bg { position: absolute; inset: 0; z-index: 1; }
.stem-team-slide { position: absolute; inset: 0; opacity: 0; transition: opacity .9s ease; }
.stem-team-slide.is-on { opacity: 1; }
.stem-team-slide img { width: 100%; height: 100%; object-fit: cover; object-position: center center; display: block; }
.stem-team::after { content: ""; position: absolute; inset: 0; background: rgba(13, 17, 26, .34); z-index: 2; pointer-events: none; }
.stem-team-inner { position: relative; z-index: 3; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.stem-team-title { margin: 0; font-size: 70px; line-height: 1.1; letter-spacing: -0.045em; font-weight: 700; text-shadow: 0 12px 30px rgba(0, 0, 0, .2); }
.stem-team-desc { margin: 28px 0 0; font-size: 24px; line-height: 1.5; letter-spacing: -0.02em; font-weight: 400; color: rgba(255, 255, 255, .94); }
.stem-team-nav { position: relative; left: auto; bottom: auto; margin-top: 40px; display: flex; gap: 0; }

/** stemcell Section9 */
.stem-closing { position: relative; height: 100vh; min-height: 100vh; background: #fff; overflow: hidden; color: #fff; }
.stem-closing-visual { position: absolute; inset: 0; z-index: 1; }
.stem-closing-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center center; display: block; transform: scale(1.03); transition: transform 2.6s cubic-bezier(0.22, 1, 0.36, 1); }
.stem-closing-inner { position: relative; z-index: 3; height: 66vh; display: flex; align-items: flex-end; }
.stem-closing-top { width: 1300px; max-width: min(1300px, calc(100% - 40px)); line-height: 0; }
.stem-closing-top img { width: 100%; height: auto; display: block; }
.stem-closing-bottom { position: absolute; left: 0; right: 0; bottom: 0; height: 35vh; min-height: 260px; z-index: 4; background: #fff; }
.stem-closing-bottom .stem-inner { height: 100%; display: flex; align-items: center; }
.stem-closing-bottom-title { margin: 0; width: 780px; max-width: min(780px, calc(100% - 40px)); line-height: 0; }
.stem-closing-bottom-title img { width: 100%; height: auto; display: block; }

/** stemcell Common Motion */
.stem-section .stem-reveal { opacity: 0; transform: translate3d(0, 28px, 0); transition: opacity .85s ease, transform .85s ease; transition-delay: var(--reveal-delay, 0s); will-change: opacity, transform; }
.stem-section.is-active .stem-reveal { opacity: 1; transform: translate3d(0, 0, 0); }
.stem-section-01.is-active::before, .stem-section-02.is-active .stem-s2-visual::before { transform: scale(1); }
.stem-section-03.is-active .stem-point-media img { transform: scale(1); }
.stem-section-04.is-active .stem-safe-visual img { transform: scale(1); }
.stem-section-05.is-active .stem-dna-visual video { transform: scale(1); }
.stem-section-07.is-active .stem-trust-visual img { transform: scale(1); }
.stem-section-08.is-active .stem-team-slide.is-on img { transform: scale(1); }
.stem-section-09.is-active .stem-closing-visual img { transform: scale(1); }
.stem-point-media img { transform: scale(1.04); transition: transform 2.8s cubic-bezier(0.22, 1, 0.36, 1); }
.stem-safe-visual img { transform: scale(1.03); transition: transform 2.8s cubic-bezier(0.22, 1, 0.36, 1); }
.stem-team-slide img { transform: scale(1.03); transition: transform 2.8s cubic-bezier(0.22, 1, 0.36, 1); }

/** stemcell Typography */
.stem-hero-title, .stem-safe-title, .stem-dna-title, .stem-process-title, .stem-trust-title, .stem-team-title { font-size: 70px; line-height: 1.12; letter-spacing: -0.045em; }
.stem-hero-copy, .stem-s2-desc, .stem-safe-desc, .stem-dna-desc, .stem-trust-desc, .stem-team-desc { font-size: 24px; line-height: 1.45; }

/*! Aside */
#aside { position: fixed; bottom: 10vh; right: 0; z-index: 890; }

/*! Footer */
#ft.intro{ display: none; }
#ft.ft-main{ position: fixed; bottom: 0; left: 0; width: 100%; height: 260px; transform: translateY(100%); transition: transform .4s ease; z-index: 100; }
#ft.ft-main.open { transform: translateY(0); }
.ft-toggle { position: fixed; display: flex; align-items: center; justify-content: center; bottom: 0; left: 50%; transform: translate(-50%, 0); z-index: 200; width: 70px; height: 32px; border: none; background: #fff; border: 1px solid #121212; border-bottom: 0; cursor: pointer; transition: transform .4s ease; }
.ft-toggle .arrow {position: relative; width: 12px; height: 12px; }
.ft-toggle .arrow::before{ position: absolute; left: 50%; top: 70%; width: 10px; height: 10px; box-sizing: border-box; border: 0 solid transparent; border-right-width: 3px; border-bottom-width: 3px; border-right-color: #121212; border-bottom-color: #121212; transform: translate(-50%, -50%) rotate(-135deg); transform-origin: 50% 50%; transition: transform .3s ease; will-change: transform; transition-delay: .3s; content: ''; }
#ft.open + .ft-toggle .arrow::before, .ft-toggle.active .arrow::before{ transform: translate(-50%, -50%) rotate(45deg); }
.ft-toggle.active{ transform: translate(-50%, -259px); }

#ft { background-color: #fff; border-top: 1px solid #121212; padding: 50px 0; }
#ft .inner { position: relative; width: 1600px; min-height: 150px; margin: 0 auto; display: flex; justify-content: flex-start; align-items: flex-start; flex-wrap: nowrap; }
#ft .inner .left-call { width: 220px; display: flex; align-items: flex-start; padding-top: 8px; }
#ft .inner .left-call > span{ width: 170px; height: auto; display: block; }
#ft .inner .left-call > span > img{ width: 100%; height: auto; object-fit: contain; }

#ft .inner .right-info { width: 700px; }
#ft .inner .right-info > ul > li{ display: flex; justify-content: flex-start; align-items: center; line-height: 30px; }
#ft .inner .right-info .lable { font-size: 14px; color: #121212; width: 90px; font-weight: 500; display: block; }
#ft .inner .right-info .l-info { font-size: 14px; color: #121212; word-break: keep-all; font-weight: 300; }

#ft .inner .ft-bottom { position: absolute; right: 0; top: 0; margin: 0; }
#ft .inner .ft-bottom .l-copy { width: auto; }
#ft .inner .ft-bottom .l-copy .copyright { font-size: 14px; color: #121212; line-height: 20px; font-weight: 300; text-align: right; }

#ft .inner .ft-sns { position: absolute; bottom: 0; right: 0; width: 325px; height: 50px; display: flex; justify-content: flex-start; align-items: center; }
#ft .inner .ft-sns > a{ position: relative; overflow: hidden; display: block; width: 50px; height: 50px; margin-right: 5px; }
#ft .inner .ft-sns > a:last-of-type{ margin-right: 0; }
#ft .inner .ft-sns > a { border: 1px solid #121212; background: #fff; }
#ft .inner .ft-sns > a.btn-fill::before{ background: #121212; }
#ft .inner .ft-sns > a > span{ position: relative; z-index: 1; display: block; width: 100%; height: 100%; background-repeat: no-repeat; background-position: center; background-size: auto; transition: filter .35s ease; }
#ft .inner .ft-sns > a > span.ftsns-kakao{ background-image: url(../img/ft-sns-kakao-cut.svg); }
#ft .inner .ft-sns > a > span.ftsns-blog{ background-image: url(../img/ft-sns-blog-cut.svg); }
#ft .inner .ft-sns > a > span.ftsns-cafe{ background-image: url(../img/ft-sns-cafe-cut.svg); }
#ft .inner .ft-sns > a > span.ftsns-youtube{ background-image: url(../img/ft-sns-youtube-cut.svg); }
#ft .inner .ft-sns > a > span.ftsns-facebook{ background-image: url(../img/ft-sns-facebook-cut.svg); }
#ft .inner .ft-sns > a > span.ftsns-insta{ background-image: url(../img/ft-sns-insta-cut.svg); }
#ft .inner .ft-sns > a > span.ftsns-facebook{ background-size: 13px auto; }
#ft .inner .ft-sns > a.btn-fill:hover > span{ filter: brightness(0) invert(1); }





/*! Device/Interaction */
@media (hover: none) and (pointer: coarse) {
  .gnb-main:hover { color: #111; }
  .gnb-sub a:hover { color: #aaa; }
}

/*! Small PC 1280 ~ 1599 */
@media (max-width: 1599px) {
  /** Intro */
  .mintro .inner { width: calc(100% - 40px); }
  /** Stemcell */
  .stem-inner { width: 1620px; max-width: calc(100% - 40px); }
  .stem-hero-title { font-size: 58px; }
  .stem-s2-inner { top: 96px; width: 1620px; max-width: calc(100% - 40px); }
  .stem-s2-first { width: clamp(240px, 30vw, 390px); }
  .stem-s2-label { font-size: 35px; margin-bottom: 18px; }
  .stem-s2-main { width: clamp(560px, 69vw, 930px); }
  .stem-s2-desc { right: clamp(80px, 8vw, 180px); top: 380px; max-width: 420px; font-size: 20px; line-height: 1.45; }
  .stem-s2-desc strong { font-size: 30px; }
  .stem-point-caption { left: 20px; right: 20px; bottom: 20px; padding: 14px 16px 12px; }
  .stem-point-caption strong { font-size: 14px; }
  .stem-point-caption p { margin-top: 8px; font-size: 18px; }
  .stem-safe-copy { width: 560px; }
  .stem-safe-title { font-size: 58px; }
  .stem-safe-badge { width: 58px; margin-left: 14px; }
  .stem-safe-desc { margin-top: 44px; font-size: 20px; line-height: 1.45; }
  .stem-safe-visual { inset: 0; width: 100%; max-width: none; }
  .stem-dna-copy { width: 580px; }
  .stem-dna-title { font-size: 58px; }
  .stem-dna-desc { margin-top: 42px; font-size: 20px; }
  .stem-s6-side { width: 640px; height: 640px; }
  .stem-s6-side-left { left: -410px; }
  .stem-s6-side-right { right: -410px; }
  .stem-process-inner { padding-top: 88px; padding-bottom: 34px; box-sizing: border-box; justify-content: center; }
  .stem-process-eyebrow { font-size: 16px; line-height: 1.1; }
  .stem-process-title { margin-top: 14px; font-size: 52px; line-height: 1.14; }
  .stem-process-list { margin-top: 30px; width: 760px; gap: 12px; }
  .stem-process-item { padding: 16px 22px 14px; }
  .stem-process-item h3 { font-size: 26px; }
  .stem-process-item p { margin-top: 9px; font-size: 16px; line-height: 1.35; }
  .stem-trust-visual { height: 56vh; min-height: 360px; }
  .stem-trust-inner { padding: 68px 0 82px; }
  .stem-trust-title { font-size: 58px; }
  .stem-trust-desc { margin-top: 28px; font-size: 20px; }
  .stem-trust-org { margin-top: 36px; width: 640px; }
  .stem-team-title { font-size: 58px; }
  .stem-team-desc { margin-top: 22px; font-size: 20px; }
  .stem-team-nav { margin-top: 32px; }
  .stem-closing-inner { height: 72vh; }
  .stem-closing-top { margin-bottom: 28px; width: 1080px; }
  .stem-closing-bottom { height: 28vh; min-height: 220px; }
  .stem-closing-bottom-title { width: 640px; }
  /** Footer */
  #ft .inner { width: calc(100% - 40px); }
}

/*! Tablet 769 ~ 1279 */
@media (max-width: 1279px) {
  /** Subpage Layout */
  .subpage-layout { flex-direction: column; }
  .subpage-visual { min-height: 50vh; }
  .subpage-panel { width: 100%; border-left: none; border-top: 1px solid #121212; }
  .subpage-panel-inner { padding-top: 110px; }

  /** Skin Program (volpet1) */
  .volpet-point-block { margin-top: 18px; }
  .volpet-point-check li { font-size: 14px; line-height: 1.6; }
  .volpet-selfcheck li { font-size: 14px; line-height: 1.6; }

  /** Fresh Thread Lifting (volpet2) */
  .volpet2-point-block { margin-top: 18px; }
  .volpet2-point-check li { font-size: 14px; line-height: 1.6; }
  .volpet2-selfcheck li { font-size: 14px; line-height: 1.6; }

  /** Ulthermage StemLifting (antiage2) */
  .antiage2-process-block h4 { font-size: 21px; }
  .antiage2-result-list strong { font-size: 21px; line-height: 1.35; }
  .antiage2-result-list p,
  .antiage2-selfcheck li { font-size: 14px; line-height: 1.6; }

  /** Intro Cards (show hover content by default) */
  .mintro { height: auto; min-height: 100vh; padding: 40px 0; }

  .mintro .inner .logo-intro { width: 100%; display: flex; justify-content: flex-start; padding: 0 1%; }
  .mintro .inner .logo-intro > span{ width: 140px; height: auto; display: block; }

  .mintro .inner .card-group {
    width: 100%;
    height: auto;
    margin-top: 40px;
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 18px;
  }
  .mintro .card {
    position: relative;
    left: auto;
    top: auto;
    width: calc((100% - 36px) / 3);
    max-width: 420px;
    height: 460px;
    opacity: 1;
    transform: none;
    animation: none;
  }
  .mintro .card .inner { border-radius: 30px; }
  .mintro .card .inner > span { display: none; }
  .mintro .card .inner .cover-on .inner .shadow { opacity: 1; }
  .mintro .card .inner .cover-on .inner > div,
  .mintro .card .inner .cover-on .inner > ul {
    opacity: 1;
    transform: translateY(0);
  }

  /** Stemcell */
  .stemcell-page .stem-section { height: 100vh; min-height: 100vh; }
  .stemcell-page { overflow: visible; }
  .stem-inner { width: calc(100% - 48px); max-width: none; }
  .stem-hero-title { font-size: 52px; }
  .stem-s2-inner { width: calc(100% - 48px); max-width: none; }
  .stem-s2-first { width: 320px; }
  .stem-s2-main { width: 820px; }
  .stem-s2-desc { right: 40px; top: 310px; font-size: 18px; line-height: 1.45; }
  .stem-s2-desc strong { font-size: 28px; }
  .stem-safe-title, .stem-dna-title, .stem-process-title, .stem-trust-title, .stem-team-title { font-size: 52px; line-height: 1.14; }
  .stem-hero-copy, .stem-s2-desc, .stem-safe-desc, .stem-dna-desc, .stem-process-item p, .stem-trust-desc, .stem-team-desc { font-size: 18px; line-height: 1.45; }
  .stem-process-list { width: 640px; }

  /** Footer */
  #ft.ft-main{ height: 310px; }
  .ft-toggle.active{ transform: translate(-50%, -309px); }
  #ft{ padding: 24px 0 30px; }
  #ft .inner { width: calc(100% - 40px); min-height: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
  #ft .inner .left-call { width: auto; padding-top: 0; order: 1; margin-bottom: 15px; }
  #ft .inner .left-call > span{ width: 124px; }
  #ft .inner .right-info { width: 100%; order: 2; margin-bottom: 20px; }
  #ft .inner .right-info > ul > li{ line-height: 24px; align-items: flex-start; }
  #ft .inner .right-info .lable { width: 74px; font-size: 12px; }
  #ft .inner .right-info .l-info { font-size: 12px; line-height: 20px; }
  #ft .inner .ft-bottom { position: static; width: 100%; order: 3; margin-top: 0; margin-bottom: 20px; }
  #ft .inner .ft-bottom .l-copy .copyright { font-size: 12px; line-height: 18px; text-align: left; }
  #ft .inner .ft-sns { position: static; width: auto; height: auto; order: 4; display: flex; gap: 6px; margin-bottom: 30px; }
  #ft .inner .ft-sns > a{ width: 40px; height: 40px; margin-right: 0; }
  #ft .inner .ft-sns > a > span{ background-size: 17px auto; }
  #ft .inner .ft-sns > a > span.ftsns-facebook{ background-size: 13px auto; }
}

/*! Mobile 768 이하 */
@media (max-width: 768px) {
  /** Mobile Base Subpage */
  .subpage-layout--mobile-v1 { position: relative; display: block; height: auto; min-height: 100vh; overflow: visible; background: #fff; } .subpage-layout--mobile-v1 .subpage-back { left: 20px; top: 112px; width: auto; height: auto; border: 0; background: transparent; display: inline-flex; align-items: center; gap: 6px; line-height: 1; } .subpage-layout--mobile-v1 .subpage-back::before { content: ""; position: static; width: 16px; height: 16px; background: none; } .subpage-layout--mobile-v1 .subpage-back > span { width: 16px; height: 16px; background: url(../img/panel-prev.svg) no-repeat center center; background-size: 16px 16px; } .subpage-layout--mobile-v1 .subpage-back::after { content: "Back"; font-family: 'Poppins', sans-serif; font-size: 14px; font-weight: 700; color: #121212; } .subpage-layout--mobile-v1 .subpage-visual { width: 100%; min-height: 52vh; border-bottom: 1px solid #121212; background-size: cover; background-position: center center; } .subpage-layout--mobile-v1 .subpage-panel { width: 100%; border: 0; background: #fff; height: auto; overflow: visible; } .subpage-layout--mobile-v1 .subpage-panel-inner { height: auto; padding: 20px 20px 30px; overflow: visible; } .subpage-layout--mobile-v1 .subpage-title h1 { font-size: 24px; line-height: 1.15; margin-bottom: 6px; letter-spacing: -0.02em; } .subpage-layout--mobile-v1 .subpage-title p { font-size: 14px; margin-bottom: 16px; line-height: 1.25; } .subpage-layout--mobile-v1 .subpage-title::after { margin-bottom: 16px; } .subpage-layout--mobile-v1 .subpage-section { margin-bottom: 20px; } .subpage-layout--mobile-v1 .subpage-section h2 { font-size: 16px; line-height: 1.4; margin-bottom: 10px; } .subpage-layout--mobile-v1 .subpage-section p { font-size: 14px; line-height: 1.65; } .subpage-layout--mobile-v1 .subpage-links { margin-top: 0; border-top: 1px solid #121212; } .subpage-layout--mobile-v1 .subpage-link { padding: 14px 0; font-size: 16px; line-height: 1.2; } .subpage-layout--mobile-v1 .subpage-link span { width: 15px; height: 15px; background-size: 15px 15px; } .subpage-layout--mobile-v1 .subpage-overlay { position: fixed; inset: 0; background: #fff; z-index: 1500; overflow-y: auto; } .subpage-layout--mobile-v1 .subpage-overlay.is-active { display: block; } .subpage-layout--mobile-v1 .subpage-overlay .subpage-visual { min-height: 0; height: 260px; width: calc(100% - 40px); margin: 110px 20px 16px; border: 0; } .subpage-layout--mobile-v1 .subpage-panel--overlay { border: 0; background: #fff; } .subpage-layout--mobile-v1 .subpage-panel-inner--overlay { height: auto; padding: 0 20px 28px; overflow: visible; } .subpage-layout--mobile-v1 .subpage-panel-head { position: fixed; left: 20px; top: 70px; width: calc(100% - 40px); margin: 0; padding: 0 60px 12px 0; border-bottom: 1px solid #121212; background: #fff; z-index: 3; } .subpage-layout--mobile-v1 .subpage-panel-head h2 { font-size: 18px; line-height: 1.2; } .subpage-layout--mobile-v1 .subpage-panel-close { right: 0; top: 0; width: 44px; height: 44px; font-size: 24px; border: 1px solid #121212; background: #fff; } .subpage-layout--mobile-v1 .subpage-panel-body { padding-right: 0; } .subpage-layout--mobile-v1 .subpage-panel-body h3 { font-size: 16px; line-height: 1.35; margin-bottom: 10px; } .subpage-layout--mobile-v1 .subpage-panel-body p { font-size: 14px; line-height: 1.6; } .subpage-layout--mobile-v1 .subpage-panel-nav { display: none; } .subpage-layout--mobile-v1 .subpage-visual-caption { right: auto; left: 10px; bottom: 10px; padding: 6px 8px; min-width: 0; } .subpage-layout--mobile-v1 .subpage-visual-caption-title { font-size: 10px; margin-bottom: 2px; } .subpage-layout--mobile-v1 .subpage-visual-caption-text { font-size: 11px; } .subpage-body #hd.gnb-new { width: calc(100% - 24px); } .subpage-body #hd.gnb-new.gnb-right { left: 50%; right: auto; transform: translateX(-50%) translateY(var(--gnb-shift)); }

  /** GNB / Back Button */
.subpage-body #hd.gnb-new {
    width: 95%;
    left: 50%;
    right: auto;
    transform: translateX(-50%) translateY(var(--gnb-shift));
  }
  .subpage-layout--mobile-v1 .subpage-back { position: fixed; left: calc(2.5% + 5px); top: 104px; gap: 8px; overflow: visible; }
  .subpage-layout--mobile-v1 .subpage-back {
    left: calc(2.5% + 8px);
    top: 88px;
    width: 38px;
    height: 38px;
    border: 1px solid #121212;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 0;
    line-height: 0;
    z-index: 4;
  }
  .subpage-layout--mobile-v1 .subpage-back::before {
    content: "";
    position: static;
    left: auto;
    bottom: auto;
    width: 18px;
    height: 18px;
    border: 0;
    transform: none;
    background: url(../img/panel-prev.svg) no-repeat center center;
    background-size: 18px 18px;
  }
  .subpage-layout--mobile-v1 .subpage-back::after { content: none; }
  .subpage-layout--mobile-v1 .subpage-back > span { display: none; }
  .subpage-layout--mobile-v1 .subpage-panel { width: 95%; margin: 0 auto; padding: 0; }
  .subpage-layout--mobile-v1 .subpage-panel-inner { padding: 20px 0 62px; }
  /** Overlay/Main Visual */
  .subpage-layout--mobile-v1 .subpage-overlay .subpage-visual,
  .subpage-overlay .subpage-visual {
    width: 95%;
    height: 332px !important;
    margin: 80px auto 16px !important;
    border: 0;
    background-color: #fff !important;
    background-position: center top;
  }
  /** Main Visual */
  .subpage-layout--mobile-v1 > .subpage-visual {
    width: 95%;
    height: 300px !important;
    min-height: auto;
    margin: 92px auto 16px !important;
    border: 0;
    background-color: #fff !important;
    background-position: center top;
    background-size: contain;
  }
  .subpage-layout--mobile-v1 .subpage-overlay .subpage-visual--antiage1-skill1,
  .subpage-layout--mobile-v1 .subpage-overlay .subpage-visual--antiage1-skill2,
  .subpage-layout--mobile-v1 .subpage-overlay .subpage-visual--antiage1-skill3,
  .subpage-layout--mobile-v1 .subpage-overlay .subpage-visual--antiage1-skill4,
  .subpage-layout--mobile-v1 .subpage-overlay .subpage-visual--antiage1-skill5,
  .subpage-layout--mobile-v1 .subpage-overlay .subpage-visual--antiage1-process {
    background-size: contain !important;
    background-position: center top !important;
  }
  /** Overlay Panel Layout */
  .subpage-layout--mobile-v1 .subpage-panel--overlay { width: 95%; margin: 0 auto; }
  .subpage-layout--mobile-v1 .subpage-panel-inner--overlay {
    padding: 0 0 62px;
    overflow-y: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .subpage-layout--mobile-v1 .subpage-panel-inner--overlay::-webkit-scrollbar { width: 0; height: 0; }
  /** Overlay Header */
  .subpage-layout--mobile-v1 .subpage-panel-head {
    left: 0;
    top: 0;
    width: 100%;
    transform: none;
    padding: 12px 2.5%;
    box-sizing: border-box;
    min-height: 68px;
    display: flex;
    align-items: center;
  }
  .subpage-layout--mobile-v1 .subpage-panel-head h2 {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 0.92;
    padding-right: 0;
  }
  .subpage-layout--mobile-v1 .subpage-panel-head h2.ft_pop {
    font-family: 'Poppins', sans-serif !important;
    font-size: 24px !important;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 0.92;
  }
  .subpage-layout--mobile-v1 .subpage-panel-close {
    position: static;
    margin-left: auto;
    transform: none;
    right: auto;
    top: auto;
  }
  .subpage-layout--mobile-v1 .subpage-panel-close .btn-fill-text { color: #121212; -webkit-text-fill-color: #121212; }
  /** Overlay Nav Buttons */
  .subpage-layout--mobile-v1 .subpage-overlay .subpage-panel-nav,
  .subpage-overlay .subpage-panel-nav {
    position: fixed;
    left: calc(2.5% + 8px);
    top: 88px;
    display: flex !important;
    gap: 0;
    z-index: 4;
  }
  .subpage-layout--mobile-v1 .subpage-overlay .subpage-panel-prev,
  .subpage-layout--mobile-v1 .subpage-overlay .subpage-panel-next,
  .subpage-overlay .subpage-panel-prev,
  .subpage-overlay .subpage-panel-next {
    width: 38px;
    height: 38px;
    border: 1px solid #121212;
    background: #fff;
  }
  .subpage-layout--mobile-v1 .subpage-overlay .subpage-panel-next,
  .subpage-overlay .subpage-panel-next {
    margin-left: -1px;
  }
  .subpage-layout--mobile-v1 .subpage-overlay .subpage-panel-prev .btn-fill-icon,
  .subpage-layout--mobile-v1 .subpage-overlay .subpage-panel-next .btn-fill-icon,
  .subpage-overlay .subpage-panel-prev .btn-fill-icon,
  .subpage-overlay .subpage-panel-next .btn-fill-icon {
    width: 18px;
    height: 18px;
    background-size: 18px 18px;
    transform: none;
  }
  .subpage-layout--mobile-v1 .subpage-overlay .subpage-panel-prev.btn-fill:hover,
  .subpage-layout--mobile-v1 .subpage-overlay .subpage-panel-next.btn-fill:hover,
  .subpage-overlay .subpage-panel-prev.btn-fill:hover,
  .subpage-overlay .subpage-panel-next.btn-fill:hover {
    background: #fff;
  }
  .subpage-layout--mobile-v1 .subpage-overlay .subpage-panel-prev.btn-fill:hover .btn-fill-icon,
  .subpage-layout--mobile-v1 .subpage-overlay .subpage-panel-next.btn-fill:hover .btn-fill-icon,
  .subpage-overlay .subpage-panel-prev.btn-fill:hover .btn-fill-icon,
  .subpage-overlay .subpage-panel-next.btn-fill:hover .btn-fill-icon {
    filter: none;
  }
  .subpage-layout--mobile-v1 .subpage-overlay {
    background: #fff !important;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .subpage-layout--mobile-v1 .subpage-overlay::-webkit-scrollbar { width: 0; height: 0; }
  .subpage-layout--mobile-v1 .subpage-link,
  .subpage-layout--mobile-v1 .subpage-link::before,
  .subpage-layout--mobile-v1 .subpage-link .subpage-link-text,
  .subpage-layout--mobile-v1 .subpage-link span { transition: none; }
  .subpage-layout--mobile-v1 .subpage-link:hover::before { bottom: -100%; }
  .subpage-layout--mobile-v1 .subpage-link:hover { color: #121212; }
  .subpage-layout--mobile-v1 .subpage-link:hover .subpage-link-text { transform: translateX(0); }
  .subpage-layout--mobile-v1 .subpage-link:hover span { transform: translateX(0); background-image: url(../img/btn-go-cont.svg); }
  /** Disable Mobile Hover Effect */
  .subpage-layout--mobile-v1 .subpage-overlay .btn-fill::before,
  .subpage-overlay .btn-fill::before {
    display: none !important;
    content: none !important;
  }
  .subpage-layout--mobile-v1 .subpage-overlay .btn-fill,
  .subpage-overlay .btn-fill {
    overflow: visible;
  }
  /** Doctors Panel Typography */
  .subpage-layout--mobile-v1 .subpage-overlay[data-panel="doctors"] .doctor-card--visual,
  .subpage-layout--mobile-v1 .subpage-overlay[data-panel="doctors2"] .doctor-card--visual,
  .subpage-overlay[data-panel="doctors"] .doctor-card--visual,
  .subpage-overlay[data-panel="doctors2"] .doctor-card--visual {
    display: none !important;
  }
  .subpage-layout--mobile-v1 .subpage-overlay[data-panel="doctors"] .doctor-card--mobile,
  .subpage-layout--mobile-v1 .subpage-overlay[data-panel="doctors2"] .doctor-card--mobile,
  .subpage-overlay[data-panel="doctors"] .doctor-card--mobile,
  .subpage-overlay[data-panel="doctors2"] .doctor-card--mobile {
    display: block;
    margin: 0 0 16px;
    border: 0;
    padding: 0;
    background: transparent;
  }
  .subpage-layout--mobile-v1 .subpage-overlay[data-panel="doctors"] .doctor-card--mobile .doctor-title,
  .subpage-layout--mobile-v1 .subpage-overlay[data-panel="doctors2"] .doctor-card--mobile .doctor-title,
  .subpage-overlay[data-panel="doctors"] .doctor-card--mobile .doctor-title,
  .subpage-overlay[data-panel="doctors2"] .doctor-card--mobile .doctor-title {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    margin-bottom: 2px;
  }
  .subpage-layout--mobile-v1 .subpage-overlay[data-panel="doctors"] .doctor-card--mobile .doctor-name,
  .subpage-layout--mobile-v1 .subpage-overlay[data-panel="doctors2"] .doctor-card--mobile .doctor-name,
  .subpage-overlay[data-panel="doctors"] .doctor-card--mobile .doctor-name,
  .subpage-overlay[data-panel="doctors2"] .doctor-card--mobile .doctor-name {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 2px;
  }
  .subpage-layout--mobile-v1 .subpage-overlay[data-panel="doctors"] .doctor-card--mobile .doctor-sub,
  .subpage-layout--mobile-v1 .subpage-overlay[data-panel="doctors2"] .doctor-card--mobile .doctor-sub,
  .subpage-overlay[data-panel="doctors"] .doctor-card--mobile .doctor-sub,
  .subpage-overlay[data-panel="doctors2"] .doctor-card--mobile .doctor-sub {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    margin-bottom: 14px;
  }
  .subpage-layout--mobile-v1 .subpage-overlay[data-panel="doctors"] .doctor-card--mobile .doctor-edu strong,
  .subpage-layout--mobile-v1 .subpage-overlay[data-panel="doctors2"] .doctor-card--mobile .doctor-edu strong,
  .subpage-overlay[data-panel="doctors"] .doctor-card--mobile .doctor-edu strong,
  .subpage-overlay[data-panel="doctors2"] .doctor-card--mobile .doctor-edu strong {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 8px;
  }
  .subpage-layout--mobile-v1 .subpage-overlay[data-panel="doctors"] .doctor-card--mobile .doctor-edu li,
  .subpage-layout--mobile-v1 .subpage-overlay[data-panel="doctors2"] .doctor-card--mobile .doctor-edu li,
  .subpage-overlay[data-panel="doctors"] .doctor-card--mobile .doctor-edu li,
  .subpage-overlay[data-panel="doctors2"] .doctor-card--mobile .doctor-edu li {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
  }
  .subpage-layout--mobile-v1 .subpage-overlay[data-panel="doctors"] .doctor-mobile-divider,
  .subpage-layout--mobile-v1 .subpage-overlay[data-panel="doctors2"] .doctor-mobile-divider,
  .subpage-overlay[data-panel="doctors"] .doctor-mobile-divider,
  .subpage-overlay[data-panel="doctors2"] .doctor-mobile-divider {
    display: block;
    height: 1px;
    background: #121212;
    margin: 0 0 14px;
  }

  /** Result Icon List Typography */
  .oxygen-result-list li,
  .eve-result-list li,
  .mskin-result-list li,
  .mskin2-result-list li,
  .mskin3-result-list li,
  .onda-result-list li {
    grid-template-columns: 24px 1fr;
    column-gap: 12px;
    margin: 14px 0;
  }
  .oxygen-result-icon,
  .eve-result-icon,
  .mskin-result-icon,
  .mskin2-result-icon,
  .mskin3-result-icon,
  .onda-result-icon {
    width: 24px;
    height: 24px;
  }
  .oxygen-result-content strong,
  .eve-result-content strong,
  .mskin-result-content strong,
  .mskin2-result-content strong,
  .mskin3-result-content strong,
  .onda-result-content strong {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 2px;
  }
  .oxygen-result-content p,
  .mskin3-result-content p,
  .onda-result-content p {
    font-size: 14px;
    line-height: 1.6;
  }

  /** Overlay Fallback */
  .subpage-overlay .subpage-panel-head {
    padding: 12px 2.5%;
    min-height: 68px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
  }
  .subpage-overlay .subpage-panel-head h2 {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -0.02em;
    padding-right: 56px;
    line-height: 0.92;
  }
  .subpage-overlay .subpage-panel-head h2.ft_pop {
    font-family: 'Poppins', sans-serif !important;
    font-size: 24px !important;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 0.92;
  }
  .subpage-overlay .subpage-panel-close {
    width: 44px;
    height: 44px;
    position: static;
    margin-left: auto;
    right: auto;
    top: auto;
    transform: none;
  }
  .subpage-overlay .subpage-panel-close .btn-fill-text {
    transform: translateY(0);
    color: #121212;
    -webkit-text-fill-color: #121212;
  }
  .subpage-overlay .subpage-visual {
    background-color: #fff !important;
    background-position: center top;
  }
  .subpage-layout--mobile-v1 > .subpage-visual--mskin2,
  .subpage-layout--mobile-v1 .subpage-overlay .subpage-visual--mskin2,
  .subpage-layout--mobile-v1 .subpage-overlay .subpage-visual--mskin2-result,
  .subpage-layout--mobile-v1 .subpage-overlay .subpage-visual--mskin2-point {
    background-color: #ededed !important;
  }
  .subpage-layout--mobile-v1 > .subpage-visual--mskin2::after,
  .subpage-layout--mobile-v1 .subpage-overlay .subpage-visual--mskin2::after,
  .subpage-layout--mobile-v1 .subpage-overlay .subpage-visual--mskin2-result::after,
  .subpage-layout--mobile-v1 .subpage-overlay .subpage-visual--mskin2-point::after {
    min-width: 180px;
    height: 48px;
    font-size: 24px;
  }

  /** Skin Program (volpet1) */
  .subpage-overlay[data-panel="point"] .volpet-point-check li { font-size: 14px; line-height: 1.55; }
  .subpage-overlay[data-panel="selfcheck"] .volpet-selfcheck li { font-size: 14px; line-height: 1.6; margin: 6px 0; }

  /** Fresh Thread Lifting (volpet2) */
  .subpage-overlay[data-panel="point"] .volpet2-point-check li { font-size: 14px; line-height: 1.55; }
  .subpage-overlay[data-panel="selfcheck"] .volpet2-selfcheck li { font-size: 14px; line-height: 1.6; margin: 6px 0; }

  /** Ulthermage StemLifting (antiage2) */
  .subpage-layout--mobile-v1 .subpage-visual--antiage2-process,
  .subpage-layout--mobile-v1 .subpage-visual--antiage2-result,
  .subpage-layout--mobile-v1 .subpage-visual--antiage2-selfcheck {
    background-position: center center !important;
  }
  .subpage-overlay[data-panel="process"] .antiage2-process-block { margin-top: 14px; }
  .subpage-overlay[data-panel="process"] .antiage2-process-block h4 { font-size: 18px; margin-top: 6px; }
  .subpage-overlay[data-panel="result"] .antiage2-result-list { margin-top: 12px; }
  .subpage-overlay[data-panel="result"] .antiage2-result-list li { margin: 12px 0; }
  .subpage-overlay[data-panel="result"] .antiage2-result-list strong { font-size: 16px; line-height: 1.35; }
  .subpage-overlay[data-panel="result"] .antiage2-result-list p { font-size: 14px; line-height: 1.6; word-break: keep-all; }
  .subpage-overlay[data-panel="selfcheck"] .antiage2-selfcheck li { margin: 6px 0; font-size: 14px; line-height: 1.6; word-break: keep-all; }

  /** Point Component */
  .antiage-point-grid { gap: 12px; }
  .antiage-point-row {
    --pt-circle: min(24vw, 82px);
    --pt-result: min(26vw, 90px);
    --pt-sign: min(4vw, 14px);
    grid-template-columns: var(--pt-circle) var(--pt-sign) var(--pt-circle) var(--pt-sign) var(--pt-result);
    gap: 4px;
    justify-content: space-between;
  }
  .antiage-point-circle {
    width: var(--pt-circle);
    height: var(--pt-circle);
    font-size: clamp(11px, 3.8vw, 14px);
    line-height: 1.25;
    padding: 8px;
  }
  .antiage-point-plus,
  .antiage-point-arrow {
    width: var(--pt-sign);
    font-size: clamp(24px, 3.8vw, 30px);
    line-height: 1;
  }
  .antiage-point-result {
    width: var(--pt-result);
    min-height: var(--pt-circle);
    font-size: clamp(11px, 3.8vw, 14px);
    line-height: 1.3;
    padding: 8px;
    word-break: keep-all;
  }

  /** Scrollbar Hide */
  .subpage-overlay,
  .subpage-panel-inner--overlay {
    background: #fff !important;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .subpage-overlay::-webkit-scrollbar,
  .subpage-panel-inner--overlay::-webkit-scrollbar { width: 0; height: 0; }
  /** Hover Card */
  .hover-card { max-width: calc(100vw - 32px); }
  .hover-card-copy { padding: 12px; }
  .hover-card .card-title { font-size: 16px; }
  .hover-card .card-desc { font-size: 18px; }

  /** Intro Cards (vertical stack) */
  .mintro { padding: 24px 0 40px; }
  .mintro .inner .logo-intro { justify-content: flex-start; padding: 0 1%; }
  .mintro .inner .logo-intro > span{ width: 120px; }
  .mintro .inner .card-group {
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
  }
  .mintro .card {
    width: min(92vw, 350px);
    height: 170px;
    max-width: none;
  }
  .mintro .card .inner { border-radius: 15px; }
  .mintro .card.plas .inner,
  .mintro .card.skin .inner,
  .mintro .card.cell .inner { background-size: cover; }
  .mintro .card .inner .cover-on .inner { padding: 20px 20px; }
  .mintro .card .inner .cover-on .inner > div > h4 { font-size: 20px; line-height: 1.2; }
  .mintro .card .inner .cover-on .inner > div > h4 > br{ display: none; }
  .mintro .card .inner .cover-on .inner > ul { margin-top: 10px; }
  .mintro .card .inner .cover-on .inner > ul > li { font-size: 13px; line-height: 1.5; padding-left: 10px; }
  .mintro .card .inner .cover-on .inner > ul > li::before{ top: 9px; width: 3px; height: 3px; }
  .mintro .card .inner .cover-on .inner > div > span{ width: 35px; height: 35px; }
  .mintro .card .inner .cover-on .inner > div > span > img{ width: 18px; height: auto; object-fit: contain; }

  /** Stemcell */
  .stemcell-page .stem-section { height: 100vh; min-height: 100vh; }
  .stemcell-page .btn-fill::before { display: none !important; content: none !important; }
  .stemcell-page .btn-fill:hover::before { bottom: -100% !important; }
  .stemcell-page .btn-fill:hover .btn-fill-icon,
  .stemcell-page .subpage-panel-prev.btn-fill:hover .btn-fill-icon,
  .stemcell-page .subpage-panel-next.btn-fill:hover .btn-fill-icon { filter: none !important; }
  .stem-inner { width: calc(100% - 32px); }
  .stem-hero { min-height: 64vh; }
  .stem-hero-inner { padding: 0 0 34px; }
  .stem-hero-eyebrow { margin-bottom: 10px; font-size: 11px; letter-spacing: .12em; }
  .stem-hero-title { font-size: 34px; line-height: 1.1; }
  .stem-hero-copy { margin-top: 10px; font-size: 14px; line-height: 1.45; max-width: 320px; }
  .stem-intro { height: 100vh; min-height: 100vh; background: #fff; }
  .stem-s2-top { height: 34vh; min-height: 0; padding: 0; background: #fff; }
  .stem-s2-visual { height: 66vh; min-height: 0; }
  .stem-s2-inner { position: absolute; left: 16px; right: 16px; top: calc(34vh - 98px); transform: none; width: auto; max-width: none; margin: 0; }
  .stem-s2-brand-row { display: flex; flex-direction: column; align-items: flex-start; }
  .stem-s2-label { order: 1; margin: 0 0 4px; font-size: 16px; line-height: 1.25; color: #101216; }
  .stem-s2-first { order: 2; width: 166px; }
  .stem-s2-main { width: 330px; padding-top: 8px; }
  .stem-s2-desc { position: relative; right: auto; top: auto; margin-top: 14px; max-width: 330px; font-size: 14px; line-height: 1.45; color: rgba(255, 255, 255, .95); }
  .stem-s2-desc strong { font-size: 16px; margin-bottom: 8px; line-height: 1.25; color: #fff; }
  .stem-points { height: 100vh; min-height: 100vh; padding-bottom: 0; }
  .stem-points-grid { position: relative; display: block; height: 100%; }
  .stem-section-03 .stem-points-grid .stem-point { position: absolute; inset: 0; opacity: 0 !important; pointer-events: none; transition: opacity .45s ease; transform: none !important; filter: none !important; }
  .stem-section-03 .stem-points-grid .stem-point.is-on { opacity: 1 !important; pointer-events: auto; }
  .stem-point-caption { left: 10px; right: 120px; bottom: 40px; padding: 8px 10px 7px; min-height: 64px; display: flex; flex-direction: column; justify-content: center; }
  .stem-point-caption strong { font-size: 11px; }
  .stem-point-caption p { margin-top: 4px; font-size: 11px; line-height: 1.3; }
  .stem-points-nav { position: absolute; right: 10px; bottom: 40px; z-index: 4; margin-top: 0; display: flex; justify-content: center; gap: 0; }
  .stem-points-nav .subpage-panel-prev, .stem-points-nav .subpage-panel-next { position: relative; z-index: 5; width: 56px; height: 64px; border-width: 1px; }
  .stem-points-nav .subpage-panel-next { margin-left: -1px; }
  .stem-points-nav .subpage-panel-prev .btn-fill-icon, .stem-points-nav .subpage-panel-next .btn-fill-icon { width: 16px; height: 16px; background-size: 16px 16px; transform: translateY(0); }
  .stem-safe { height: 100vh; min-height: 100vh; padding: 0; background: #fff; }
  .stem-safe-inner { min-height: 0; height: 100%; align-items: flex-end; padding-bottom: 88px; }
  .stem-safe-copy { width: 290px; }
  .stem-safe-title { font-size: 34px; line-height: 1.1; }
  .stem-safe-badge { width: 26px; margin-left: 4px; transform: translateY(1px); }
  .stem-safe-desc { margin-top: 16px; font-size: 14px; line-height: 1.45; }
  .stem-safe-visual { background: url(../img/bg_stemcell_s4_body_mo.png) no-repeat 28% center; background-size: cover; }
  .stem-safe-visual img { display: none; }
  .stem-dna { height: 100vh; min-height: 100vh; }
  .stem-dna-inner { align-items: flex-start; padding-top: 38vh; }
  .stem-dna-copy { width: 210px; }
  .stem-dna-title { font-size: 34px; line-height: 1.1; }
  .stem-dna-desc { margin-top: 14px; font-size: 14px; line-height: 1.45; }
  .stem-process { height: 100vh; min-height: 100vh; padding: 0; }
  .stem-s6-side { width: 420px; height: 420px; }
  .stem-s6-side-left { left: 50%; top: -240px; transform: translateX(-50%); }
  .stem-s6-side-right { left: 50%; right: auto; top: auto; bottom: -240px; transform: translateX(-50%); }
  .stem-s6-wave.w2 { inset: 35px; }
  .stem-s6-wave.w3 { inset: 70px; }
  .stem-s6-wave.w4 { inset: 105px; }
  .stem-process-inner { height: 100%; justify-content: center; }
  .stem-process-eyebrow { font-size: 14px; line-height: 1.35; letter-spacing: .01em; }
  .stem-process-title { margin-top: 8px; font-size: 34px; line-height: 1.15; }
  .stem-process-list { width: 100%; margin-top: 18px; gap: 8px; }
  .stem-process-item { padding: 10px 12px; }
  .stem-process-item h3 { font-size: 14px; }
  .stem-process-item h3::before { margin-right: 6px; }
  .stem-process-item p { margin-top: 4px; font-size: 14px; line-height: 1.45; }
  .stem-trust { height: 100vh; min-height: 100vh; display: flex; flex-direction: column; background: #fff; }
  .stem-trust-visual { flex: 0 0 50vh; height: 50vh; min-height: 0; }
  .stem-trust-inner { flex: 1 1 auto; padding: 0 0 18px; display: flex; flex-direction: column; justify-content: center; }
  .stem-trust-title { font-size: 34px; line-height: 1.2; }
  .stem-trust-desc { margin-top: 12px; font-size: 14px; line-height: 1.45; }
  .stem-trust-org { width: calc(100% - 16px); margin-top: 14px; padding: 7px 9px; }
  .stem-team { height: 360px; min-height: 0; }
  .stem-team-title { font-size: 34px; line-height: 1.2; }
  .stem-team-desc { margin-top: 10px; font-size: 14px; line-height: 1.45; }
  .stem-team-nav { margin-top: 14px; }
  .stem-team-nav .subpage-panel-prev, .stem-team-nav .subpage-panel-next { width: 38px; height: 38px; border-width: 1px; display: flex; align-items: center; justify-content: center; line-height: 0; }
  .stem-team-nav .subpage-panel-next { margin-left: -1px; }
  .stem-team-nav .subpage-panel-prev .btn-fill-icon, .stem-team-nav .subpage-panel-next .btn-fill-icon { width: 18px; height: 18px; background-size: 18px 18px; transform: none; }
  .stem-closing { height: 101vh; min-height: 101vh; background: #fff; }
  .stem-closing-visual { position: relative; height: 66vh; }
  .stem-closing-inner { position: absolute; left: 16px; right: 16px; top: 0; height: 66vh; align-items: flex-end; z-index: 3; }
  .stem-closing-top { width: 330px; margin: 0; }
  .stem-closing-bottom { position: relative; height: 35vh; min-height: 92px; padding: 0; display: flex; align-items: flex-start; }
  .stem-closing-bottom .stem-inner { align-items: flex-start; padding-top: 30px; }
  .stem-closing-bottom-title { width: 210px; }
}

/*! Small Mobile 640 이하 */
@media (max-width: 640px) {
  /** Subpage Layout */
  .subpage-back { left: 16px; top: 16px; width: 40px; height: 40px; }
  .subpage-panel-inner { padding: 90px 20px 30px; }

  /** GNB / Back Button */
  #hd.gnb-new { top: 20px; width: 95%; }
  #hd.gnb-new.gnb-center { left: 50%; right: auto; transform: translateX(-50%); }
  #hd.gnb-new.gnb-right { right: auto; left: 50%; transform: translateX(-50%); }
  .subpage-layout--mobile-v1 .subpage-back { position: fixed; top: 100px; }
  .gnb-bar { height: 60px; }
  .gnb-bar-inner { padding: 0 16px; }
  .gnb-main { font-size: 20px; }
  .gnb-sub a { font-size: 14px; }

  /** Footer */
  #ft.ft-main{ height: 340px; }
  .ft-toggle.active{ transform: translate(-50%, -339px); }
  #ft .inner { width: calc(100% - 28px); gap: 0; }

  /** Skin Program (volpet1) */
  .subpage-overlay[data-panel="point"] .volpet-point-check li { font-size: 13px; }
  .subpage-overlay[data-panel="selfcheck"] .volpet-selfcheck li { font-size: 13px; }

  /** Fresh Thread Lifting (volpet2) */
  .subpage-overlay[data-panel="point"] .volpet2-point-check li { font-size: 13px; }
  .subpage-overlay[data-panel="selfcheck"] .volpet2-selfcheck li { font-size: 13px; }

  /** Ulthermage StemLifting (antiage2) */
  .subpage-overlay[data-panel="process"] .antiage2-process-block h4 { font-size: 17px; }
  .subpage-overlay[data-panel="result"] .antiage2-result-list strong { font-size: 15px; }
  .subpage-overlay[data-panel="result"] .antiage2-result-list p,
  .subpage-overlay[data-panel="selfcheck"] .antiage2-selfcheck li { font-size: 13px; }
  #ft .inner .left-call > span{ width: 112px; }
  #ft .inner .right-info > ul > li{ flex-wrap: wrap; }
  #ft .inner .right-info .lable { width: 62px; }
  #ft .inner .right-info .l-info { width: calc(100% - 62px); word-break: keep-all; }
}

/* 게시물 선택복사 선택이동 */
#copymove {}
#copymove .win_desc {text-align:center;display:block}
#copymove .tbl_wrap {margin:20px}
#copymove .win_btn {padding:0 20px 20px}
.copymove_current {float:right;background:#ff3061;padding:5px;color:#fff;border-radius:3px}
.copymove_currentbg {background:#f4f4f4}

/* 화면낭독기 사용자용 */
#hd_login_msg {position:absolute;top:0;left:0;font-size:0;line-height:0;overflow:hidden}
.msg_sound_only, .sound_only {display:inline-block !important;position:absolute;top:0;left:0;width:0;height:0;margin:0 !important;padding:0 !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important}

/* 본문 바로가기 */
#skip_to_container a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
#skip_to_container a:focus, #skip_to_container a:active {width:100%;height:75px;background:#21272e;color:#fff;font-size:2em;font-weight:bold;text-align:center;text-decoration:none;line-height:3.3em}

/* ie6 이미지 너비 지정 */
.img_fix {width:100%;height:auto}

/* 캡챠 자동등록(입력)방지 기본 -pc */
#captcha {display:inline-block;position:relative}
#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
#captcha #captcha_img {height:40px;border:1px solid #898989;vertical-align:top;padding:0;margin:0}
#captcha #captcha_mp3 {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px}
#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px}
#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid #ccc;background:#fff;font-size:1.333em;font-weight:bold;text-align:center;border-radius:3px;vertical-align:top}
#captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}

/* 캡챠 자동등록(입력)방지 기본 - mobile */
#captcha.m_captcha audio {display:block;margin:0 0 5px;width:187px}
#captcha.m_captcha #captcha_img {width:160px;height:60px;border:1px solid #e9e9e9;margin-bottom:3px;margin-top:5px;display:block}
#captcha.m_captcha #captcha_reload {position:static;margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px}
#captcha.m_captcha #captcha_reload span {display:none}
#captcha.m_captcha #captcha_key {margin:0;padding:0 5px;width:115px;height:29px;border:1px solid #b8c9c2;background:#f7f7f7;font-size:1.333em;font-weight:bold;text-align:center;line-height:29px;margin-left:3px}
#captcha.m_captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}
#captcha.m_captcha #captcha_mp3 {width:31px;height:31px;background:url('../../../img/captcha2.png') no-repeat 0 0 ; vertical-align:top;overflow:hidden;cursor:pointer;text-indent:-9999px;border:none}

/* ckeditor 단축키 */
.cke_sc {margin:0 0 5px;text-align:right}
.btn_cke_sc {display:inline-block;padding:0 10px;height:23px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;line-height:1.9em;vertical-align:middle;cursor:pointer}
.cke_sc_def {margin:0 0 5px;padding:10px;border:1px solid #ccc;background:#f7f7f7;text-align:center}
.cke_sc_def dl {margin:0 0 5px;text-align:left;zoom:1}
.cke_sc_def dl:after {display:block;visibility:hidden;clear:both;content:""}
.cke_sc_def dt, .cke_sc_def dd {float:left;margin:0;padding:5px 0;border-bottom:1px solid #e9e9e9}
.cke_sc_def dt {width:20%;font-weight:bold}
.cke_sc_def dd {width:30%}

/* ckeditor 태그 기본값 */
#bo_v_con ul {display:block;list-style-type:disc;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px}
#bo_v_con ol {display:block;list-style-type:decimal;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px}
#bo_v_con li {display:list-item}

/* 버튼 */
a.btn,.btn {line-height:35px;height:35px;padding:0 10px;text-align:center;font-weight:bold;border:0;font-size:1.4em;
-webkit-transition:background-color 0.3s ease-out;
-moz-transition:background-color 0.3s ease-out;
-o-transition:background-color 0.3s ease-out;
transition:background-color 0.3s ease-out}

a.btn01 {display:inline-block;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;vertical-align:middle}
a.btn01:focus, a.btn01:hover {text-decoration:none}
button.btn01 {display:inline-block;margin:0;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none}
a.btn02 {display:inline-block;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none;vertical-align:middle}
a.btn02:focus, .btn02:hover {text-decoration:none}
button.btn02 {display:inline-block;margin:0;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none}

.btn_confirm {text-align:right} /* 서식단계 진행 */

.btn_submit {border:0;background:#3a8afd;color:#fff;cursor:pointer;border-radius:3px}
.btn_submit:hover {background:#2375eb}
.btn_close {border:1px solid #dcdcdc;cursor:pointer;border-radius:3px;background:#fff}
a.btn_close {text-align:center;line-height:50px}

a.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
button.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
.btn_cancel:hover {background:#aaa}
a.btn_frmline, button.btn_frmline {display:inline-block;width:128px;padding:0 5px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
a.btn_frmline {}
button.btn_frmline {font-size:1em}

/* 게시판용 버튼 */
a.btn_b01,.btn_b01 {display:inline-block;color:#bababa;text-decoration:none;vertical-align:middle;border:0;background:transparent}
.btn_b01:hover, .btn_b01:hover {color:#000}
a.btn_b02,.btn_b02 {display:inline-block;background:#253dbe;padding:0 10px;color:#fff;text-decoration:none;border:0;vertical-align:middle}
a.btn_b02:hover, .btn_b02:hover {background:#0025eb}
a.btn_b03, .btn_b03 {display:inline-block;background:#fff;border:1px solid #b9bdd3;color:#646982;text-decoration:none;vertical-align:middle}
a.btn_b03:hover, .btn_b03:hover {background:#ebedf6}
a.btn_b04, .btn_b04 {display:inline-block;background:#fff;border:1px solid #ccc;color:#707070;text-decoration:none;vertical-align:middle}
a.btn_b04:hover, .btn_b04:hover {color:#333;background:#f9f9f9}
a.btn_admin,.btn_admin {display:inline-block;color:#d13f4a;text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */
.btn_admin:hover, a.btn_admin:hover {color:#ff3746}


/* 기본테이블 */
.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing:0 5px;background:#fff;border-top:1px solid #ececec;border-bottom:1px solid #ececec} 
.tbl_wrap caption {padding:10px 0;font-weight:bold;text-align:left}
.tbl_head01 {margin:0 0 10px}
.tbl_head01 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
.tbl_head01 thead th {padding:20px 0;font-weight:normal;text-align:center;border-bottom:1px solid #ececec;height:40px}
.tbl_head01 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
.tbl_head01 tfoot th, .tbl_head01 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center}
.tbl_head01 tbody th {padding:8px 0;border-bottom:1px solid #e8e8e8}
.tbl_head01 td {color:#666;padding:10px 5px;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1;line-height:1.4em;height:60px;word-break:break-all}
.tbl_head01 tbody tr:hover td {background:#fafafa}
.tbl_head01 a:hover {text-decoration:underline}

.tbl_head02 {margin:0 0 10px}
.tbl_head02 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
.tbl_head02 thead th {padding:5px 0;border-top:1px solid #d1dee2;border-bottom:1px solid #d1dee2;background:#e5ecef;color:#383838;font-size:0.95em;text-align:center;letter-spacing:-0.1em}
.tbl_head02 thead a {color:#383838}
.tbl_head02 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
.tbl_head02 tfoot th, .tbl_head02 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center}
.tbl_head02 tbody th {padding:5px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:#fff}
.tbl_head02 td {padding:5px 3px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:#fff;line-height:1.4em;word-break:break-all}
.tbl_head02 a {}

/* 폼 테이블 */
.tbl_frm01 {margin:0 0 20px}
.tbl_frm01 table {width:100%;border-collapse:collapse;border-spacing:0}
.tbl_frm01 th {width:70px;padding:7px 13px;border:1px solid #e9e9e9;border-left:0;background:#f5f8f9;text-align:left}
.tbl_frm01 td {padding:7px 10px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:transparent}
.wr_content textarea,.tbl_frm01 textarea,.form_01 textarea, .frm_input {border:1px solid #d0d3db;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;
-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
}
.tbl_frm01 textarea {padding:2px 2px 3px}
.frm_input {height:40px}

.full_input {width:100%}
.half_input {width:49.5%}
.twopart_input {width:385px;margin-right:10px}
.tbl_frm01 textarea, .write_div textarea {width:100%;height:100px}
.tbl_frm01 a {text-decoration:none}
.tbl_frm01 .frm_file {display:block;margin-bottom:5px}
.tbl_frm01 .frm_info {display:block;padding:0 0 5px;line-height:1.4em}

/*기본 리스트*/
.list_01 ul {border-top:1px solid #ececec}
.list_01 li {border-bottom:1px solid #ececec;background:#fff;padding:10px 15px;list-style:none;position:relative}
.list_01 li:nth-child(odd) {background:#f6f6f6}
.list_01 li:after {display:block;visibility:hidden;clear:both;content:""}
.list_01 li:hover {background:#f9f9f9}
.list_01 li.empty_li {text-align:center;padding:20px 0;color:#666}

/*폼 리스트*/
.form_01 h2 {font-size:1.167em}
.form_01 li {margin-bottom:10px}
.form_01 ul:after,
.form_01 li:after {display:block;visibility:hidden;clear:both;content:""}
.form_01 .left_input {float:left}
.form_01 .margin_input {margin-right:1%}
.form_01 textarea {height:100px;width:100%}
.form_01 .frm_label {display:inline-block;width:130px}

/* 자료 없는 목록 */
.empty_table {padding:50px 0 !important;text-align:center}
.empty_list {padding:20px 0 !important;color:#666;text-align:center}

/* 필수입력 */
.required, textarea.required {background-image:url('../img/require.png') !important;background-repeat:no-repeat !important;background-position:right top !important}

/* 테이블 항목별 정의 */
.td_board {width:80px;text-align:center}
.td_category {width:80px;text-align:center}
.td_chk {width:30px;text-align:center}
.td_date {width:60px;text-align:center}
.td_datetime {width:110px;text-align:center}
.td_group {width:80px;text-align:center}
.td_mb_id {width:100px;text-align:center}
.td_mng {width:80px;text-align:center}
.td_name {width:100px;text-align:left}
.td_nick {width:100px;text-align:center}
.td_num {width:50px;text-align:center}
.td_numbig {width:80px;text-align:center}
.td_stat {width:60px;text-align:center}

.txt_active {color:#5d910b}
.txt_done {color:#e8180c}
.txt_expired {color:#ccc}
.txt_rdy {color:#8abc2a}

/* 새창 기본 스타일 */
.new_win {position:relative}
.new_win .tbl_wrap {margin:0 20px}
.new_win #win_title {font-size:1.3em;height:50px;line-height:30px;padding:10px 20px;background:#fff;color:#000;-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1);
-moz-box-shadow:0 1px 10px rgba(0,0,0,.1);
box-shadow:0 1px 10px rgba(0,0,0,.1)}
.new_win #win_title .sv {font-size:0.75em;line-height:1.2em}
.new_win .win_ul {margin-bottom:15px;padding:0 20px}
.new_win .win_ul:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_ul li {float:left;background:#fff;text-align:center;padding:0 10px;border:1px solid #d6e9ff;border-radius:30px;margin-left:5px}
.new_win .win_ul li:first-child {margin-left:0}
.new_win .win_ul li a {display:block;padding:8px 0;color:#6794d3}
.new_win .win_ul .selected {background:#3a8afd;border-color:#3a8afd;position:relative;z-index:5}
.new_win .win_ul .selected a {color:#fff;font-weight:bold}
.new_win .win_desc {position:relative;margin:10px;border-radius:5px;font-size:1em;background:#f2838f;color:#fff;line-height:50px;text-align:left;padding:0 20px}
.new_win .win_desc i {font-size:1.2em;vertical-align:baseline}
.new_win .win_desc:after {content:"";position:absolute;left:0;top:0;width:4px;height:50px;background:#da4453;border-radius:3px 0 0 3px}
.new_win .frm_info {font-size:0.92em;color:#919191}
.new_win .win_total {float:right;display:inline-block;line-height:30px;font-weight:normal;font-size:0.75em;color:#3a8afd;background:#f6f6f6;padding:0 10px;border-radius:5px}
.new_win .new_win_con {margin:20px 0;padding:20px}
.new_win .new_win_con:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .new_win_con2 {margin:20px 0}
.new_win .btn_confirm:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_btn {text-align:center}
.new_win .cert_btn {margin-bottom:30px;text-align:center}
.new_win .btn_close {padding:0 20px;height:45px;overflow:hidden;cursor:pointer}
.new_win .btn_submit {padding:0 20px;height:45px;font-weight:bold;font-size:1.083em}

/* 검색결과 색상 */
.sch_word {color:#fff;background:#ff005a;padding:2px 5px 3px;line-height:18px;margin:0 2px}

/* 자바스크립트 alert 대안 */
#validation_check {margin:100px auto;width:500px}
#validation_check h1 {margin-bottom:20px;font-size:1.3em}
#validation_check p {margin-bottom:20px;padding:30px 20px;border:1px solid #e9e9e9;background:#fff}

/* 사이드뷰 */
.sv_wrap {position:relative;font-weight:normal}
.sv_wrap .sv {z-index:1000;display:none;margin:5px 0 0;font-size:0.92em;background:#333;
-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)}
.sv_wrap .sv:before {content:"";position:absolute;top:-6px;left:15px;width:0;height:0;border-style:solid;border-width:0 6px 6px 6px;border-color:transparent transparent #333 transparent}
.sv_wrap .sv a {display:inline-block;margin:0;padding:0 10px;line-height:30px;width:100px;font-weight:normal;color:#bbb}
.sv_wrap .sv a:hover {background:#000;color:#fff}
.sv_member {color:#333}
.sv_on {display:block !important;position:absolute;top:23px;left:0px;width:auto;height:auto}
.sv_nojs .sv {display:block}

/* 페이징 */
.pg_wrap {clear:both;float:left;display:inline-block}
.pg_wrap:after {display:block;visibility:hidden;clear:both;content:""} 
.pg {text-align:center}
.pg_page, .pg_current {display:inline-block;vertical-align:middle;background:#eee;border:1px solid #eee}
.pg a:focus, .pg a:hover {text-decoration:none}
.pg_page {color:#959595;font-size:1.083em;height:30px;line-height:28px;padding:0 5px;min-width:30px;text-decoration:none;border-radius:3px}
.pg_page:hover {background-color:#fafafa}
.pg_start {text-indent:-999px;overflow:hidden;background:url('../img/btn_first.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_prev {text-indent:-999px;overflow:hidden;background:url('../img/btn_prev.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_end {text-indent:-999px;overflow:hidden;background:url('../img/btn_end.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_next {text-indent:-999px;overflow:hidden;background:url('../img/btn_next.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_start:hover,.pg_prev:hover,.pg_end:hover,.pg_next:hover {background-color:#fafafa}

.pg_current {display:inline-block;background:#3a8afd;border:1px solid #3a8afd;color:#fff;font-weight:bold;height:30px;line-height:30px;padding:0 10px;min-width:30px;border-radius:3px}

/* cheditor 이슈 */
.cheditor-popup-window *, .cheditor-popup-window :after, .cheditor-popup-window :before {
-webkit-box-sizing:content-box;
-moz-box-sizing:content-box;
box-sizing:content-box;
}

/* Mobile화면으로 */
#device_change {display:block;margin:0.3em;padding:0.5em 0;border:1px solid #eee;border-radius:2em;background:#fff;color:#000;font-size:2em;text-decoration:none;text-align:center}
