@charset "utf-8";
/* layout.css는 전체적인 레이아웃 스타일을 정의합니다. */ 
body {overflow-x: hidden;}
#skipToContent a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
#skipToContent a:focus, 
#skipToContent a:active {width:200px;height:50px;background:#21272e;color:#fff;font-size:14px;font-weight:bold;text-align:center;text-decoration:none;line-height:50px}

.only-desktop {display:block;}
.only-desktop-tablet {display:block;}
.only-tablet-mobile {display:none;}
.only-tablet {display:none;}
.only-mobile {display:none;}

#wrapper {position:relative;}

.contain {max-width:1460px; margin:0 auto; padding-right:var(--space-container); padding-left:var(--space-container);}

/* header */
#header {position:fixed; top:0; left:0; width:100%; height:var(--header-height); background:transparent; border-bottom:1px solid rgba(255,255,255,0.28); transition:background .2s, border-color .2s; z-index:1000; isolation:isolate;}
body#main #header:not(.active) {background:linear-gradient(180deg, rgb(157 160 165 / 8%) 0%, rgb(88 104 135 / 32%) 68%, rgb(39 54 85 / 0%) 100%); border-bottom-color:rgba(255, 255, 255, 0.14);}
body#main #header.is-contact-navy,
body#main.fp-viewing-contact #header {background:#081123; border-bottom-color:rgba(255,255,255,0.28);}
body#main #header.is-contact-navy.active,
body#main.fp-viewing-contact #header.active {background:#081123; border-bottom-color:rgba(255,255,255,0.28);}
body#main #header.is-contact-navy.active .sitelogo a,
body#main.fp-viewing-contact #header.active .sitelogo a {background-image:url(../images/common/logo.svg);}
body#main #header.is-contact-navy.active #gnb > ul > li > a,
body#main.fp-viewing-contact #header.active #gnb > ul > li > a {color:#fff;}
body#main #header.is-contact-navy.active .hd-util-btn,
body#main.fp-viewing-contact #header.active .hd-util-btn {background:transparent; border-left-color:rgba(255,255,255,0.1);}
body#main #header.is-contact-navy.active .hd-store .ico,
body#main.fp-viewing-contact #header.active .hd-store .ico {background-image:url(../images/common/header-store-w.svg);}
body#main #header.is-contact-navy.active .hd-lang .ico,
body#main.fp-viewing-contact #header.active .hd-lang .ico {background-image:url(../images/common/header-lang-w.svg);}
#sub #header {position: sticky; top:0; background:#081123; isolation:isolate;}
#sub #header.active {background:#fff;}
#header .contain {display:flex; align-items:center; justify-content:space-between; position:relative; max-width:none; width:100%; max-width: 1920px; height: 100%; padding:0 0 0 var(--space-40); z-index:10;}
.sitelogo a {display:block; width:148px; height:64px; background:url(../images/common/logo.svg) no-repeat center / contain; flex-shrink:0;}
#gnb {display:flex; align-items:stretch; height:100%; gap:clamp(20px, 5vw, 100px); min-width:0;}
#gnb > ul {display:flex; justify-content:space-between; align-items:stretch; height:100%; text-align:left;}
#gnb > ul > li {position:relative; padding:0 clamp(12px, 2.6vw, 50px); transition:.2s;}
#gnb > ul > li > a {display:flex; flex-direction:column; align-items:flex-start; justify-content:center; height:100%; color:#fff; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; letter-spacing:-.02em; white-space:nowrap;}
#gnb > ul > li > a div {display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; overflow:hidden; height:1.5em; padding:0;}
#gnb > ul > li.active > a {color:var(--color-primary) !important;}
#gnb>ul>li>a:after {content:""; position:absolute; bottom:-1px; left:50%; width:0; height:2px; background:var(--color-primary); transition:.2s;}
#gnb>ul>li.active>a:after {width:100%; left:0;}
#gnb .submenu {position:absolute; left:0; width:max-content; min-width:100%; height:0; overflow:hidden; text-align:left; padding-left:inherit; box-sizing:border-box;}
#gnb .submenu>ul {padding:var(--space-20) 0;}
#gnb .submenu>ul>li>a {display:block; padding:16px 0; font-size:16px; font-weight:500; line-height:1.444em; white-space:nowrap; text-align:left;}
#gnb .submenu>ul>li>a:hover {color:var(--color-primary); font-weight:600;}
#gnb .submenu a[href*="clinic"] {letter-spacing:-0.06em;}
.gnb-wrap {display:flex; align-items:center; gap:var(--space-50);}
.submenu-bg {display:none; position:absolute; width:100%; left:0; background:#fff; border-top:1px solid #d9d9d9;}
.hd-util {display:flex; align-self:stretch; flex-shrink:0;}
.hd-util-btn {display:flex; align-items:center; justify-content:center; height:100%; padding:0 40px; border:0; border-left:1px solid rgba(255,255,255,0.1); background:rgba(255,255,255,0.1); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); cursor:pointer; transition:.2s;}
.hd-util-btn .ico {display:block; width:36px; height:36px; background:no-repeat center / contain;}
.hd-store .ico {background-image:url(../images/common/header-store-w.svg);}
.hd-store:hover {background: var(--color-primary) !important;}
.hd-lang .ico {background-image:url(../images/common/header-lang-w.svg);}
.hd-store:hover .ico {background-image: url(../images/common/header-store-w.svg) !important;}
.language {position:relative; align-self:stretch;}
.language .toggle-layer {display:none; position:absolute; top:100%; right:0; width:100%; min-width:116px; z-index:20; padding:var(--space-16); background:#fff; border:1px solid #eee; border-top:0; box-sizing:border-box;}
.language .toggle-layer ul {display:flex; flex-direction:column; align-items:center; gap:var(--space-12); margin:0; padding:0; list-style:none;}
.language .toggle-layer a {display:block; color:#676767; font-size:14px; font-weight:600; line-height:1.142em; letter-spacing:-0.02em; text-align:center; text-decoration:none; white-space:nowrap;}
.language .toggle-layer li.active a {color:var(--color-sub);}
.language .toggle-layer a:hover {color:var(--color-sub);}
#header.active {background:#fff; border-bottom-color:#eee;}
#header.active .sitelogo a {background-image:url(../images/common/logo-active.svg);}
#header.active #gnb > ul > li > a {color:var(--color-sub);}
#header.active .hd-util-btn {background:#fcfcfc; border-left-color:#eee;}
#header.active .hd-store .ico {background-image:url(../images/common/header-store.svg);}
#header.active .hd-lang .ico {background-image:url(../images/common/header-lang.svg);}
#header:hover #gnb > ul > li {padding: 0 clamp(14px, 2.8vw, 56px);}

/* for mobile */
.btn-m-menu {display:none; position:absolute; top:50%; right:var(--space-container); width:24px; height:24px; -webkit-transform:translateY(-50%); transform:translateY(-50%);}
.btn-m-menu div {display:flex; flex-direction:column; justify-content:center; gap:7px; width:100%; height:100%;}
.btn-m-menu span {display:block; width:100%; height:2px; background:#fff;}
#header.active .btn-m-menu span {background:#242424;}

.mobile-navigation {display:block;position:fixed; top:0; right:0; width:300px; height:100%; overflow:auto; transition:.2s linear; -ms-transform:translateX(100%); transform:translateX(100%); background:#fff; z-index:1102;}
.mobile-navigation .home {max-height:60px; padding: 19px 20px;}
.mobile-navigation .home a {display: block;  color: #2c2c2c; font-size:20px; font-weight: 700; line-height: 1.3em;}
.mobile-navigation .nav-menu>ul {border-top:1px solid #dfdfdf;}
.mobile-navigation .nav-menu>ul>li {border-bottom:1px solid #dfdfdf;}
.mobile-navigation .nav-menu>ul>li>a {position:relative; display:block; padding:13px 20px; color:#242424; font-size:18px; font-weight:700; line-height:1.3em;}
.mobile-navigation .nav-menu>ul>li>a div {display:flex; align-items:flex-end; gap:5px;}
.mobile-navigation .nav-menu>ul>li>a .en {order:2;  font-size:.8em; font-weight:500; line-height:1.3em; opacity:.4;}
.mobile-navigation .nav-menu>ul>li>a:after {content:""; position:absolute; top:50%; right:20px; transform:translateY(-75%) rotate(45deg); width:12px; height:12px; border-right:2px solid #454545; border-bottom:2px solid #454545;}
.mobile-navigation .nav-menu>ul>li.active>a:after  {transform:translateY(-35%) rotate(-135deg); border-color:var(--color-primary);}
.mobile-navigation .nav-menu .submenu {display:none; background:var(--color-primary); padding: 10px 0;}
.mobile-navigation .nav-menu .submenu > ul > li > a {display:flex; align-items:flex-end; gap:5px; padding:8px 20px; color:#fff; font-size:16px; font-weight:500; line-height:1.3em;}
.mobile-navigation .nav-menu .submenu > ul > li > a .bar {display:none;}
.mobile-navigation .nav-menu .submenu > ul > li > a .en {order:2; font-size:.8em; line-height:1.3em; font-weight:400; opacity:.4;}
.mobile-navigation .close {position:absolute; top:15px; right:15px; width:26px; height:26px; text-indent:-9999em; overflow:hidden;}
.mobile-navigation .close:before,
.mobile-navigation .close:after {content:" "; position:absolute; top:12px; left:0; width:100%; height:3px; background:#242424; border-radius:3px;}
.mobile-navigation .close:before {transform:rotate(45deg);}
.mobile-navigation .close:after {transform:rotate(-45deg);}

.mobile-overlay {display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:#000; opacity:0.6; z-index:1101;}

html.menu-opened {overflow:hidden;}
html.menu-opened .mobile-navigation {-ms-transform:translateX(0); transform:translateX(0);}
html.menu-opened .mobile-overlay {display:block;}

/* main-visual */
.main-visual .item .video-js, .main-visual .item video {position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover;}
.vjs-theme-forest .vjs-control-bar {display:none !important;}

.main-visual {position:relative; overflow: hidden; width: 100%; background: #000;}
.main-visual .item {position:relative; height: 100vh; overflow:hidden;}
.main-visual .img {position:absolute; top:0; left:0; width:100%; height:100%; overflow:hidden; transform: scale(1);}
.main-visual .img img {position:absolute; top:50%; left:0; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:cover;}
.main-visual .caption {position:absolute; top:0; left:0; bottom:var(--ft-partner-height, 0px); display:flex; flex-direction:column; justify-content:flex-end; width:100%; padding-top:calc(var(--header-height) + 24px); box-sizing:border-box; overflow:hidden; color:#fff; z-index:40;}
.main-visual .caption .contain {max-width:1900px; width: 100%;}
.main-visual .caption .txt {text-align:left; padding-bottom:var(--space-60); overflow:hidden;}
.main-visual .caption h2 {margin:0; color:rgba(255,255,255,0.8); font-family:'CormorantGaramond', serif; font-weight:300; font-style:italic; font-size:clamp(40px, min(calc(140 / 1920 * 100vw), 11vh), 140px); line-height:1.03em; letter-spacing:-0.02em; transition:1.2s; transform:translate(-50px,0); opacity:0;}
.main-visual .caption h2 span {font-family:'Pretendard', sans-serif; font-style:normal; font-weight:700; color:#fff; font-size:clamp(38px, min(calc(134 / 1920 * 100vw), 10.5vh), 134px); line-height:1.03em; letter-spacing:-0.02em;}
.main-visual .active .img {transform:scale(1);}
.main-visual .active .caption h2 {transform:translate(0,0); opacity:1; transition-delay:.2s;}
.main-visual .caption .mv-bottom {width:100%; margin-top:0; padding:var(--space-50) 0; border-top:1px solid rgba(255,255,255,0.16); background:rgba(255,255,255,0.08); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);}
.main-visual .caption .mv-bottom .contain {display:flex; align-items:center; justify-content:space-between; gap:var(--space-24); max-width:1900px;}
.main-visual .caption .mv-copy {display:flex; align-items:center; gap:var(--space-16); min-width:0;}
.main-visual .caption .mv-object {flex-shrink:0; width:40px; height:40px; background:url(../images/main/object.svg) no-repeat center / contain;}
.main-visual .caption .mv-bottom .mv-copy {margin:0; color:rgba(255,255,255,0.8); font-size:var(--font-size-24); font-weight:500; line-height:1.667em; letter-spacing:-0.02em; transition:1.2s; transform:translateY(20px); opacity:0;}
.main-visual .active .caption .mv-bottom .mv-copy {transform:translateY(0); opacity:1; transition-delay:.4s;}
.main-visual .caption .mv-scroll {display:flex; align-items:center; gap:12px; flex-shrink:0; color:#fff; font-size:var(--font-size-24); font-weight:500; line-height:1.667em; letter-spacing:-0.02em; opacity:0; transition:opacity 1.2s;}
.main-visual .active .caption .mv-scroll {opacity:1; transition-delay:.5s; animation:mvScrollBounce 1.6s ease-in-out .5s infinite;}
.main-visual .caption .mv-scroll:before {content:''; flex-shrink:0; width:18px; height:18px; background:url(../images/main/icon-scroll-down.svg) no-repeat center / contain;}
@keyframes mvScrollBounce {0%, 100% {transform:translateY(0);} 50% {transform:translateY(10px);}}

.main-visual .mv-dots {position:absolute; bottom:calc(140px + var(--ft-partner-height, 0px)); left:0; width:100%; z-index:50;}
.main-visual .mv-dots .contain {max-width:1900px; padding-bottom: var(--space-60); text-align:right; line-height:0;}
.main-visual .slick-dots {position:static; width:auto; padding:0; text-align:right; line-height:0;}
.main-visual .slick-dots li {display:inline-block; margin:0 2px;}
.main-visual .slick-dots li button {position:relative; display:block; width:40px; height:40px; background:rgba(255,255,255,0.16); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-radius:0; border:none; color:#fff; font-size:var(--font-size-16); font-weight:600; line-height:1.5em; letter-spacing:-0.02em; overflow:hidden; transition:.2s;}
.main-visual .slick-dots .slick-active button {background:#fff; color:#2c2c2c;}
.main-visual .item .video-js,
.main-visual .item video {position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover;}
.main-visual .item iframe {position:absolute; top:50%; left:50%; width:100vw; height:100vh; -webkit-transform:translate(-50%,-50%); transform:translate(-50%,-50%);}
.vjs-theme-forest .vjs-control-bar {display:none !important;}

/* main — fullpage */
#fullpage .section {overflow:hidden;}

/* main — common */
.section .contain {max-width:1900px; width: 100%;}
.main-sec-head {display:flex; align-items:flex-end; justify-content:space-between; gap:var(--space-40); padding-top:var(--space-60);}
.main-sec-tit .tit-row {display:flex; align-items:center; gap:10px; margin:0; line-height:1.14;}
.main-sec-tit .tit-en {font-family:'CormorantGaramond', serif; font-weight:600; font-style:italic; font-size:var(--font-size-72); color:var(--color-primary); letter-spacing:-0.02em;}
.main-sec-tit .tit-en.txt-white {color: #fff;}
.main-sec-tit .tit-ko {font-size:var(--font-size-68); font-weight:600; color:#121212; letter-spacing:-0.02em;}
.main-sec-tit .tit-desc {margin:var(--space-14) 0 0; font-size:var(--font-size-22); font-weight:500; line-height:1.636em; color:#676767; letter-spacing:-0.02em;}
.main-sec-tit.light .tit-ko {color:#fff;}
.main-sec-tit.light .tit-desc {color:rgba(255,255,255,0.8);}
.main-sec-pager {display:flex; align-items:center; gap:var(--space-44); flex-shrink:0; padding:10px 0;}
.main-sec-pager .pager-arrow {display:flex; align-items:center; justify-content:center; padding:0; border:0; background:transparent; cursor:pointer;}
.main-sec-pager .pager-arrow img {display:block; width:100%; height:100%; object-fit:contain;}
.main-sec-pager .pager-dots {display:flex; align-items:center; gap:var(--space-20); flex:1; justify-content:center; height: 16px;}
.main-sec-pager .pager-dot {display:block; width:6px; height:6px; margin:0; border:0; border-radius:50%; background:#2c2c2c; opacity:1; cursor:pointer; transition:.2s;}
.main-sec-pager .pager-dot.active {width:16px; height:16px; background:transparent; border:2px solid var(--color-primary);}
.product-dots.swiper-pagination-bullets,
.news-dots.swiper-pagination-bullets {position:static; width:auto; display:flex; align-items:center; gap:var(--space-20);}

/* main — glass btn */
.main-glass-btn {display:inline-flex; align-items:center; padding:var(--space-16) var(--space-24) var(--space-16) var(--space-16); border:1px solid rgba(255,255,255,0.1); border-radius:500px; background:rgba(255,255,255,0.1); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); color:rgba(255,255,255,0.8); font-size:var(--font-size-18); font-weight:600; line-height:1.556em; letter-spacing:-0.02em; transition:.2s;}
.main-glass-btn .txt {display:inline-flex; align-items:center; gap:10px;}
.main-glass-btn .txt:before {content:''; flex-shrink:0; width:24px; height:24px; background:url(../images/main/icon-more.svg) no-repeat center / contain; transition:.3s;}
.main-glass-btn:hover .txt:before {background-image:url(../images/main/icon-more-active.svg);}
.main-glass-btn:hover {background:#fff; color:var(--color-primary);}
.main-glass-btn.type-map .txt:before {background-image:url(../images/main/icon-naver-map.png); border-radius:50%;}
.main-glass-btn.type-map:hover .txt:before {background-image:url(../images/main/icon-naver-map-active.png);}

/* main — sec-about */
.sec-about {position:relative; background: url(../images/main/sec2-bg.jpg) no-repeat center/ cover;}
.sec-about .main-sec-inner {position:relative; display:flex; flex-direction:column; justify-content:flex-end; height:100%;}
.sec-about-box {position:relative; z-index:2; display:flex; flex-direction:column; gap:var(--space-80); justify-content:flex-end; height:100%;}
.sec-about-top {flex: 1; padding-top:calc(var(--header-height) + var(--space-80)) ;}
.sec-about-top .contain {display:flex; flex-direction:column; justify-content:space-between; min-height:0; height: 100%;}
.sec-about-tit {margin:0; font-size:var(--font-size-52); font-weight:500; line-height:1.31em; letter-spacing:-0.02em; color:rgba(255,255,255,0.7);}
.sec-about-tit .bright {color:#fff;}
.sec-about-row {display:flex; gap:var(--space-40); align-items:flex-start; margin-top:auto;}
.sec-about-row .box {flex: 1;}
.sec-about-desc {margin:0; font-size:var(--font-size-20); font-weight:500; line-height:1.7; letter-spacing:-0.02em; color:#fff;}
.sec-about-stats {display:flex; width:100%; margin:0; padding:0; list-style:none;}
.sec-about-stats .stat-item {flex:1; display:flex; flex-direction:column; justify-content:space-between; gap:var(--space-44); padding:var(--space-40); border-top:1px solid rgba(255,255,255,0.16); border-right:1px solid rgba(255,255,255,0.16); background:rgba(0,0,0,0.1); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);}
.sec-about-stats .stat-label {margin:0; font-size:var(--font-size-24); font-weight:600; line-height:1.667em; color:#fff; letter-spacing:-0.02em;}
.sec-about-stats .stat-note {margin:6px 0 0; font-size:var(--font-size-14); font-weight:600; line-height:1.143em; color:rgba(255,255,255,0.4); letter-spacing:-0.02em;}
.sec-about-stats .stat-num {display:flex; align-items:flex-end; justify-content:flex-end; gap:var(--space-12); margin:0; width:100%;}
.sec-about-stats .count-num {font-size:var(--font-size-64); font-weight:500; line-height:1.22; color:#fff; letter-spacing:-0.02em;}
.sec-about-stats .stat-unit {padding-bottom:6px; font-size:var(--font-size-28); font-weight:600; line-height:1.5; color:rgba(255,255,255,0.7); letter-spacing:-0.02em;}

/* main — sec-products */
.sec-products {background:#fff;}
.sec-products .main-sec-inner {background:#fff;}
.product-swiper {flex:1; min-height:0; width:100%; border-left:1px solid #dfdfdf;}
.product-swiper .swiper-slide {height:auto; }
.product-card {position:relative; display:flex; flex-direction:column; height:100%; border:1px solid #dfdfdf; border-top: none; border-bottom: none; border-left: none; overflow:hidden; transition:.2s;}
.product-card-thumb {display:flex; flex:1; align-items:center; justify-content:center; position: relative; padding-bottom: 79%; overflow: hidden; background:#fff;}
.product-card-thumb img {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -ms-transform: translate(-50%,-50%); -webkit-transform: translate(-50%, -50%); width: auto !important; height: auto !important; max-width: 62%; max-height: 100%; object-fit: contain;}
.product-card-info {display:flex; flex-direction:column; align-items:center; gap:var(--space-16); padding:var(--space-30) var(--space-24) var(--space-34); background:#f2f2f2; transition:.2s;}
.product-card-info .name {margin:0; font-size:var(--font-size-24); font-weight:500; line-height:1.667em; color:#2c2c2c; letter-spacing:-0.02em; text-align:center;}
.product-card-info .tags {display:flex; flex-wrap:wrap; justify-content:center; gap:4px;}
.product-card-info .tag {display:inline-flex; align-items:center; padding:8px 10px; font-size:var(--font-size-14); font-weight:500; line-height:1.143em; letter-spacing:-0.02em;}
.product-card-info .tag-dark {background:#121212; color:#fff;}
.product-card-info .tag-light {background:#fff; border:1px solid #eee; color:#676767;}
.product-card:after {content:''; position:absolute; top:0; right:0; width:56px; height:56px; background:url(../images/main/product-arrow.svg) no-repeat center / contain; opacity:0; transition:.2s; pointer-events:none;}
.product-card:hover .product-card-info {background:var(--color-primary);}
.product-card:hover .product-card-info .name {color:#fff;}
.product-card:hover .product-card-info .tag-dark {background:#fff; color:var(--color-primary);}
.product-card:hover .product-card-info .tag-light {background:rgba(255,255,255,0.1); border-color:rgba(255,255,255,0.1); color:#fff;}
.product-card:hover:after {opacity:1;}

.main-sec-pager .pager-arrow.swiper-button-lock {opacity: .5; pointer-events: none;}

/* main — sec-news */
.sec-products.news {background:#f6f6f6;}
.news-swiper {flex:1; min-height:0; width:100%;}
.news-swiper .swiper-slide {height:auto;}
.news-card {position:relative; display:flex; flex-direction:column; height:100%; overflow:hidden;}
.news-card-thumb {position: relative; padding-bottom: 71.5%; overflow: hidden;background:#fff;}
.news-card-thumb img {position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); -ms-transform:translate(-50%,-50%); -webkit-transform:translate(-50%,-50%); width:auto !important; height:auto !important; max-width:100%; max-height:100%; object-fit:contain;}
.news-card-thumb.is-default img {max-width:58%; max-height:42%;}
.news-card-thumb:after {content:''; position:absolute; right:0; bottom:0; width:56px; height:56px; background:url(../images/main/product-arrow.svg) no-repeat center / contain; opacity:0; transition:.2s; pointer-events:none; z-index:1;}
.news-card-body {display:flex; flex:1; flex-direction:column; justify-content:space-between; gap:var(--space-20); min-height: 194px; padding:var(--space-24); background:#fff; transition:.2s;}
.news-card-body .news-tit {margin:0; font-size:var(--font-size-24); font-weight:600; line-height:1.5; color:#2c2c2c; letter-spacing:-0.02em; height:calc(1.5em * 2); overflow:hidden; text-overflow:ellipsis; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; word-break: break-all;}
.news-card-body .news-date {margin:0; font-size:var(--font-size-16); line-height:1.5; color:#878787; letter-spacing:-0.02em;}
.news-card:hover .news-card-body {background:var(--color-primary);}
.news-card:hover .news-card-body .news-tit,
.news-card:hover .news-card-body .news-date {color:#fff;}
.news-card:hover .news-card-thumb:after {opacity:1;}


/* main — sec-contact */
.sec-contact {position:relative; background:url(../images/main/sec5-bg.jpg)no-repeat center / cover; overflow:hidden;}
.main-sec-inner {height: 100%;}
/* top(주소) | map  /  bottom(Contact Us)  — 지도 하단 = Contact Us 위 라인 */
.sec-contact-wrap {position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1fr) 44.79%; grid-template-rows:minmax(0,1fr) auto; height:100%; overflow:hidden;}
.sec-contact-left {display:contents;}
.sec-contact-top {position:relative; grid-column:1; grid-row:1; min-height:0; overflow:auto; padding-top:calc(var(--header-height) + var(--space-56)); padding-right:var(--space-40); padding-left:max(var(--space-40), calc((100vw - 1900px) / 2));}
.sec-contact-addr {margin-top:var(--space-56);}
.sec-contact-addr .addr-label {margin:0 0 24px; font-family:'CormorantGaramond', serif; font-weight:700; font-style:italic; font-size:var(--font-size-28); line-height:1.5; color:rgba(255,255,255,0.4); letter-spacing:-0.02em; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,0.4);}
.sec-contact-addr .addr-group {margin-top:22px;}
.sec-contact-addr .addr-group:first-of-type {margin-top:0;}
.sec-contact-addr .addr-group-tit {margin:0 0 8px; font-size:var(--font-size-16); font-weight:700; line-height:1.5; color:rgba(255,255,255,0.55); letter-spacing:-0.02em;}
.sec-contact-addr ul {margin:0; padding:0; list-style:none;}
.sec-contact-addr li {margin:0; border-radius:8px;}
.sec-contact-addr .addr-txt {display:flex; align-items:flex-start; width:100%; margin:0; padding:5px 10px 5px 12px; border:0; border-radius:8px; background:rgba(255,255,255,0); box-shadow:inset 2px 0 0 transparent; font-family:inherit; font-size:var(--font-size-22); line-height:1.5em; color:rgba(255,255,255,0.82); letter-spacing:-0.02em; text-align:left; cursor:pointer; transition:color .2s, background .2s, box-shadow .2s;}
.sec-contact-addr .addr-region {flex-shrink:0; min-width:2.4em; margin-right:16px; font-weight:700;}
.sec-contact-addr .addr-detail {flex:1 1 auto; min-width:0; font-weight:400; word-break:keep-all; overflow-wrap:break-word;}
.sec-contact-addr .addr-txt-hq .addr-detail {font-weight:400;}
@media (hover:hover) {
	.sec-contact-addr li:hover .addr-txt {color:#fff; background:rgba(255,255,255,0.08); box-shadow:inset 2px 0 0 rgba(255,255,255,0.7);}
}
.sec-contact-addr li.is-on .addr-txt,
.sec-contact-addr .addr-txt:active {color:#fff; background:rgba(255,255,255,0.12); box-shadow:inset 2px 0 0 var(--color-primary);}
.sec-contact-addr .addr-txt:focus {outline:none;}
.sec-contact-addr .addr-txt:focus-visible {color:#fff; background:rgba(255,255,255,0.08); box-shadow:inset 2px 0 0 rgba(255,255,255,0.7);}
.sec-contact-btns {display:flex; flex-wrap:wrap; gap:10px; margin-top:30px;}
.sec-contact-qr {position:absolute; right:40px; bottom:40px; width:202px;}
.sec-contact-qr img {display:block; width:100%; height:auto;}
.sec-contact-bottom {grid-column:1; grid-row:2; padding:var(--space-40) var(--space-40) var(--space-60) max(var(--space-40), calc((100vw - 1900px) / 2)); border-top:1px solid rgba(255,255,255,0.1); background:rgba(0,0,0,0.1); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);}
.sec-contact-bottom .contact-label {margin:0 0 var(--space-24); font-family:'CormorantGaramond', serif; font-weight:700; font-style:italic; font-size:38px; line-height:1.37; color:#fff; letter-spacing:-0.02em;}
.sec-contact-bottom .contact-list {display:flex; flex-wrap:wrap; gap:var(--space-40); margin:0; padding:var(--space-34) 0 0; border-top:1px solid rgba(255,255,255,0.1); list-style:none;}
.sec-contact-bottom .contact-list li {display:flex; align-items:center; gap:16px;}
.sec-contact-bottom .contact-list .ico {flex-shrink:0; width:48px; height:48px;}
.sec-contact-bottom .contact-list .ico img {display:block; width:100%; height:100%;}
.sec-contact-bottom .contact-list .txt {font-size:20px; font-weight:500; line-height:1.7; color:#fff; letter-spacing:-0.02em;}
/* 지도 = Address 영역(1행)만 — 하단이 Contact Us 위 라인에 정렬 */
.sec-contact-map {grid-column:2; grid-row:1; display:flex; flex-direction:column; width:100%; min-height:0; height:100%; padding-top:var(--header-height); box-sizing:border-box; overflow:hidden;}
.sec-contact-map .root_daum_roughmap, 
.sec-contact-map .root_daum_roughmap .wrap_map {width: 100%; height: 100%;}

.find-store-wrap {position:relative; display:flex; flex:1; width:100%; min-height:0; height:100%; border:1px solid #2c2c2c; overflow:hidden;}

.find-store-list {display:flex; flex-direction:column; position:relative; z-index:10; width:25%; min-width:240px; background:#fff; border-right:1px solid #2c2c2c; overflow:hidden;}
.find-store-list .search-wrap {border-bottom:1px solid #ddd;}

.find-store-list .tab-area {border-bottom:1px solid #2c2c2c;}
.find-store-list .tab-area .tabs {display:flex;}
.find-store-list .tab-area .tabs li {width:50%;}
.find-store-list .tab-area .tabs li a {display:flex; justify-content:center; align-items:center; width:100%; height:60px; padding:4px; background:#f7f7f7; font-size:16px; font-weight:700; line-height:1.3em; letter-spacing:-.04em; color:#767676; text-align:center;}
.find-store-list .tab-area .tabs li.active a {background:#2c2c2c; color:#fff;}

.find-store-list .search-area {position:relative; display:flex; gap:10px; margin:16px;}
.find-store-list .search-area .input {display:block; width:100%; height:44px; color:#505050; font-size:15px; letter-spacing:-.04em; border:1px solid #ddd; border-radius:4px;}
.find-store-list .search-area .input[type=search] {padding-right:40px;}
.find-store-list .search-area .submit {position:absolute; top:50%; right:5px; margin-top:-16px; width:32px; height:32px; border:0; background:none;}
.find-store-list .search-area .submit svg {display:block; width:18px; margin:0 auto;}
.find-store-list .total {padding:0 16px 12px; color:#2c2c2c; font-size:14px; line-height:1.3em; letter-spacing:-.04em;}
.find-store-list .total strong {color:#00a3a8;}

.find-store-list .list-area {position:relative; overflow:auto; flex:1 1 auto; min-height:0; height:1%;}
.find-store-list .list-area::-webkit-scrollbar {width:5px; height:5px; border-radius:5px; background-color:transparent;}
.find-store-list .list-area::-webkit-scrollbar-thumb {background:rgba(0,0,0,.2); border-radius:5px;}
.find-store-list .list-area ul li {display:grid; gap:8px 0; padding:20px 16px; border-bottom:1px solid #ddd; font-size:15px; line-height:1.33em; letter-spacing:-.04em; color:#505050;}
.find-store-list .list-area ul li:last-child {border-bottom:0;}
.find-store-list .list-area ul li.active {background:#f8f8f8;}
.find-store-list .list-area .name {margin-bottom:4px; font-size:18px; line-height:1.33em; letter-spacing:-.04em; color:#2c2c2c;}
.find-store-list .list-area .name strong {font-weight:600;}
.find-store-list .list-area .tel {font-weight:500; color:#a8a8a8;}

.find-store-map {position:relative; overflow:hidden; flex:1; width:100%; min-height:0; height:100%;}
.find-store-map #map {position:absolute; inset:0; width:100%; height:100%;}

.customoverlay {position:absolute; bottom:75px; left:0; z-index:20; width:300px; margin-left:-150px; padding:20px; background:#fff; border:2px solid var(--color-primary); border-radius:16px; box-shadow:0px 6px 36px 0px rgba(0, 0, 0, 0.12); font-size:15px; line-height:1.33em; letter-spacing:-.04em; color:#505050; white-space:normal;}
.customoverlay:after {content:''; position:absolute; top:100%; left:50%; margin-left:-11px; width:22px; height:14px; background:url('/images/bbs/vertex-white.png') 50% 0/contain no-repeat;}
.customoverlay .inner {position:relative; display:grid; gap:8px;}
.customoverlay .name {margin-bottom:4px; font-size:18px; font-weight:700; line-height:1.33em; letter-spacing:-.04em; color:#2c2c2c;}
.customoverlay .tel {font-weight:500; color:#a8a8a8;}
.customoverlay .close {position:absolute; bottom:0; right:0; color:#505050; font-weight:500; font-size:12px; line-height:1.5em; cursor:pointer;}

.btn-get-position {position:absolute; bottom:20px; right:20px; z-index:10; width:48px; height:48px; background:#fff; border:1px solid #2c2c2c; border-radius:12px;}
.btn-get-position svg {display:block; margin:0 auto; width:20px;}

.btn-view-map {display:none;}
.btn-view-list {display:none;}

.sec-contact-addr li .addr-txt {display:flex;}

@media (max-width: 640px){
	.sec-contact-wrap {grid-template-columns:1fr; grid-template-rows:auto auto auto;}
	.sec-contact-top {grid-column:1; grid-row:1;}
	.sec-contact-map {grid-column:1; grid-row:2; width:100%; height:250px; padding-top:0;}
	.sec-contact-bottom {grid-column:1; grid-row:3;}
	.find-store-wrap {height:100%; overflow:hidden;}
	.find-store-map {position:relative; top:auto; left:auto; bottom:auto; width:100%; height:100%; z-index:10; border-radius:0;}
	.btn-get-position {bottom:10px; right:10px; width:40px; height:40px; border-radius:8px;}
	.customoverlay {bottom:60px; width:280px; margin-left:-140px;}
}

/* sub — common */
.sub-visual {position:relative; margin:0 var(--space-24); border-radius:10px 10px 16px 16px; overflow:hidden; height:clamp(140px, calc(282 / 1920 * 100vw), 282px);}
.sub-visual .bg {position:absolute; inset:0; width:100%; height:100%; background-position:50% 50%; background-size:cover; animation:sv-zoomIn 5s forwards linear;}
.sub-visual .bg.bg1 {background-image:url(../images/common/sv1.jpg);}
.sub-visual .bg.bg2 {background-image:url(../images/common/sv2.jpg);}
.sub-visual .bg.bg3 {background-image:url(../images/common/sv3.jpg);}
.sub-visual .bg.bg4 {background-image:url(../images/common/sv4.jpg);}
.sub-visual .cell {position:absolute; top: 50%; transform: translateY(-50%); z-index:2; display:flex; align-items:center; justify-content:center; width: 100%;}
.sub-visual .cell .contain {width:100%; text-align:center;}
.sub-visual .sv-box {margin-bottom:4px;}

@keyframes sv-zoomIn {
    0% {transform:scale(1.1);}
    100% {transform:scale(1);}
}

.lnb-depth {padding: 6px 0;}
.lnb-depth .icon {display:flex; flex-shrink:0; width:18px; height:18px;}
.lnb-depth .icon img {display:block; width:100%; height:100%;}
.lnb-depth .depth:before {content: ""; display: inline-block; width: 4px; height: 4px; border-radius: 100%; background: #ccc; margin: 0 12px;}
.lnb-depth .depth {display: flex; align-items: center; font-size:var(--font-size-16); font-weight:600; line-height:1.5em; color:rgba(255,255,255,0.6); letter-spacing:-0.02em; text-decoration:none;}
.lnb-depth .depth2 {font-size:var(--font-size-16); font-weight:600; line-height:1.5em; color:#fff; letter-spacing:-0.02em;}
.sub-visual h2 {display:flex; align-items:center; justify-content:center; gap:var(--space-16); margin:0; color:#fff;}
.sub-visual h2 .tit-en {font-family:'CormorantGaramond', serif; font-weight:600; font-style:italic; font-size:var(--font-size-72); line-height:1.14em; letter-spacing:-0.02em;}
.sub-visual h2 .tit-ko {font-size:var(--font-size-68); font-weight:600; line-height:1.14em; letter-spacing:-0.02em;}
.sub-title {padding-top:var(--space-140); padding-bottom: var(--space-80); text-align:left;}
.sub-tab ~ .sub-title {padding-top: var(--space-80);}
.sub-title .cate {margin:0 0 24px; font-size:20px; font-weight:600; line-height:1.7em; color:#999; letter-spacing:-0.02em;}
.sub-title .tit {margin:0; font-size:var(--font-size-52); font-weight:600; line-height:1.5em; color:#2c2c2c; letter-spacing:-0.02em;}

#contArea {max-width:1460px; padding:0 var(--space-container); margin:0 auto;}
#contArea.wide {max-width:100%; padding:0;}
#contArea.wide.pb0 {padding-bottom:0;}
.real-cont {min-height:300px; padding-bottom: var(--space-140);}
.real-cont.pb0 {padding-bottom:0;}

.sub-section {padding:0 0 var(--space-100) 0;}
.sub-section:last-child {padding:var(--space-100) 0 var(--space-120);}

/* footer */
.quick-menu {position:fixed; top:50%; right:0; z-index:90; display:flex; flex-direction:column; gap: var(--space-20); transform: translateY(-50%); padding:var(--space-20) var(--space-16);background:#fff; border-radius: 8px 0 0 8px; border: 1px solid #eee; border-right: none;}
#sub .quick-menu {top: 50%; transform: translateY(-50%);}
.quick-menu .quick-item {display:flex; flex-direction:column; align-items:center; gap:10px; border-right:0; border-bottom:0; text-decoration:none; text-align:center;}
.quick-menu .quick-icon {display:flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius:500px; background:#f5f6f8;}
.quick-menu .quick-icon img {display:block; width:32px; height:32px; object-fit:contain;}
.quick-menu .quick-icon.is-stack {position:relative;}
.quick-menu .quick-txt {display:flex; flex-direction:column; align-items:center;}
.quick-menu .quick-txt .tit {font-size:15px; font-weight:600; line-height:1.33em; color:#676767; letter-spacing:-0.04em;}
.quick-menu .quick-txt .sub {font-size:14px; font-weight:600; line-height:1.43em; color:#a8a8a8; letter-spacing:-0.04em;}

#footer {position:relative; background:#081123;}
.ft-partner {position: absolute; bottom: 0; left: 0; width: 100%; background:#fff; border-top:1px solid #eee;}
.ft-partner .main-partner {padding:var(--space-16) 0; border-top:1px solid #eee;}
.ft-partner .main-partner:first-child {border-top:0;}
.ft-partner .partner-slide {position:relative; width:100%; margin:0 auto; overflow:hidden;}
.ft-partner .logo-slider {display:flex;}
.ft-partner .logo-slider .logo-item {flex:0 0 auto; position:relative; width:clamp(120px, calc(200 / var(--inner) * 100vw), 200px); margin:0 10px; pointer-events:none;}
.ft-partner .logo-slider .logo-item .img {position: relative; padding-bottom: 40%; overflow:hidden;}
.ft-partner .logo-slider .logo-item .img img {position: absolute; left: 50%; top: 50%; width: 100%; height: 100%; object-fit: contain; transform: translate(-50%, -50%);}
.ft-partner .logo-slider .js-marquee-wrapper {display:flex;}
.ft-partner .logo-slider .js-marquee {display:flex; flex:0 0 auto; gap:20px;}

#footer .contain {max-width: 1900px;}
#footer .ft-body {padding: var(--space-34) 0;}
#footer .ft-body-inner {display:flex; flex-direction:column; gap:var(--space-34); }
#footer .ft-main {display:flex; flex-direction:column; gap:var(--space-90); padding-bottom:var(--space-40); border-bottom:1px solid rgba(255,255,255,0.08);}
#footer .ft-head {display:flex; align-items:center; justify-content:space-between; gap:var(--space-24);}
#footer .ft-info-wrap {display:flex; flex-direction:column; gap:var(--space-30);}
#footer .scroll-top {display:flex; align-items:center; gap:var(--space-16); text-decoration:none;}
#footer .scroll-top .txt {font-size:var(--font-size-18); font-weight:600; line-height:1.55em; color:#fff; letter-spacing:-0.02em;}
#footer .scroll-top .ico {display:flex; align-items:center; justify-content:center; width:58px; height:58px; flex-shrink:0;}
#footer .scroll-top .ico img {display:block; width:100%; height:100%; object-fit:contain;}
#footer .ft-info-box {display:flex; align-items:center; gap:var(--space-24); padding:var(--space-24); border-radius:4px; background:rgba(255,255,255,0.04);}
#footer .ft-company {flex-shrink:0; margin:0; font-size:var(--font-size-18); font-weight:600; line-height:1.55em; color:#fff; letter-spacing:-0.02em;}
#footer .ft-info-detail {flex:1; min-width:0; display:flex; align-items:center; justify-content:space-between; gap:var(--space-24); flex-wrap:wrap; font-size:var(--font-size-16); font-weight:500; line-height:1.5em; color:#e7e7e7; letter-spacing:-0.02em;}
#footer .ft-addr {margin:0; white-space:nowrap;}
#footer .ft-contact {display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-24); margin:0; padding:0; list-style:none;}
#footer .ft-meta {display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-24); font-size:var(--font-size-16); font-weight:600; line-height:1.5em; color:rgba(255,255,255,0.7); letter-spacing:-0.02em;}
#footer .ft-meta-left {display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-24);}
#footer .ft-meta-right {display:flex; flex-wrap:wrap; align-items:center; gap:40px;}
#footer .ft-meta-right a {color:rgba(255,255,255,0.7); text-decoration:none;}
#footer .ft-bottom {display:flex; align-items:center; justify-content:space-between; gap:var(--space-24);}
#footer .ft-copy {display:flex; flex-wrap:wrap; align-items:center; gap:0 var(--space-24);}
#footer .ft-copy .copyright {margin:0; font-size:var(--font-size-16); font-weight:600; line-height:1.5em; color:rgba(255,255,255,0.7); letter-spacing:-0.02em;}
#footer .ft-copy .designer {margin:0; font-size:var(--font-size-16); font-weight:500; line-height:1.5em; color:rgba(255,255,255,0.04); letter-spacing:-0.02em;}
#footer .ft-copy .designer a {color:inherit; text-decoration:none;}
#footer .ft-family {position:relative; flex-shrink: 0;}
#footer .ft-family-btn {display:flex; align-items:center; gap:var(--space-44); padding:var(--space-16) var(--space-24); border:0; border-radius:60px; font-size:15px; font-weight:600; line-height:1.07em; color:#fff; letter-spacing:-0.02em; background:rgba(255,255,255,0.1); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); cursor:pointer;}
#footer .ft-family-btn .ico {display:flex; align-items:center; justify-content:center; width:10px; height:10px;}
#footer .ft-family-btn .ico img {display:block; width:100%; height:100%; object-fit:contain;}
#footer .ft-family.open .ft-family-btn .ico {transform:rotate(180deg);}
#footer .ft-family-list {position:absolute; right:0; bottom:calc(100% + 8px); min-width:169px; margin:0; padding:var(--space-20) var(--space-16); list-style:none; display:flex; flex-direction:column; gap:var(--space-14); border-radius:8px; border:1px solid rgba(255,255,255,0.1); background:rgba(255,255,255,0.1); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); z-index:5;}
#footer .ft-family-list[hidden] {display:none !important;}
#footer .ft-family-list li {margin:0;}
#footer .ft-family-list a {display:block; padding:0; font-size:14px; font-weight:600; line-height:1.142em; color:rgba(255,255,255,0.5); letter-spacing:-0.02em; text-decoration:none; white-space:nowrap;}
#footer .ft-family-list a:hover {color:#fff;}

