@charset "utf-8";
/* layout.css는 전체적인 레이아웃 스타일을 정의합니다. */ 

.only-desktop {display:block !important;}
.only-tablet {display:none !important;}
.only-mobile {display:none !important;}
.only-desktop-tablet {display:block !important;}
.only-tablet-mobile {display:none !important;}

#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}

.contain {width:100%; max-width:1500px; margin:0 auto; padding-left:30px; padding-right:30px;}
.contain:after {content:" "; display:block; clear:both;}

/* header */
#header {font-family:"Outfit", serif; position:absolute; width:100%; z-index:102; top:0; left:0; right:0; color:#fff;}
#header .contain {max-width:1820px; position:relative; display:flex; align-items:center;}
.sitelogo a {display:block; background:url('../images/common/logo.png') 0 50%/ contain no-repeat;}
.sitelogo img {visibility:hidden; height:62px;}

#gnb {position:relative; text-align:center; flex:1;}
#gnb > ul {display:flex; justify-content:center;}
#gnb > ul > li {position:relative; z-index:1;}
#gnb > ul > li > a {height:100px; padding:0 var(--gnb-gutter); font-size:var(--font-size-19); letter-spacing:-.04em; display:flex; align-items:center; justify-content:center; position:relative; text-align:center; z-index:5;}

#gnb .submenu {width:220px; margin-top:1px; border-radius:0 0 10px 10px; display:none; position:absolute; left:50%; transform:translateX(-50%); background-color:#fff; z-index:1;}
#gnb .submenu ul {padding:28px 0; text-align:center;}
#gnb .submenu ul li {margin-bottom:15px;}
#gnb .submenu ul li a {line-height:1.3em; display:block;}
#gnb .submenu ul li:hover a {color:var(--color-primary); text-decoration:underline;}
#gnb .submenu ul li:last-child {margin-bottom:0;}

#sub #wrapper {padding-top:100px;}
#sub #header {color:#242424;}
#sub .sitelogo a {background-image:url('../images/common/logo-on.png');}
#sub .btn-m-menu span,
#sub .btn-m-menu span:before,
#sub .btn-m-menu span:after {background-color:#242424;}

/* for mobile */
.btn-m-menu {position:relative;width:30px;height:30px;text-align:center;text-indent:-9999em;z-index:50; display:block;}
.btn-m-menu span {position:absolute; right:0; top:50%; width:20px; height:3px; background:#fff; border-radius:2px;}
.btn-m-menu span:before,
.btn-m-menu span:after {content:" "; position:absolute; right:0; width:27px; height:3px; background:#fff; transition-duration:0.3s, 0.3s; transition-delay:0.3s, 0s; border-radius:2px;}
.btn-m-menu span:before {top:-9px; transition-property:top, transform;}
.btn-m-menu span:after {bottom:-9px; transition-property:bottom, transform;}

.mobile-navigation {position:fixed; top:0; right:0; width:280px; height:100%; overflow:auto; transition:.3s ease-in-out; -ms-transform:translateX(100%); transform:translateX(100%); background:#fff; z-index:102;}
.mobile-navigation .home {display:flex; align-items:center; height:var(--header-height); padding:10px 20px;}
.mobile-navigation .nav-menu>ul>li {border-bottom:1px solid #dfdfdf;}
.mobile-navigation .nav-menu>ul>li>a {position:relative; padding:10px 18px; display:block; color:#333; font-size:17px; font-weight:500; line-height:1.3em;}
.mobile-navigation .nav-menu>ul>li>a:after {content:""; position:absolute; top:50%; right:15px; transform:translateY(-75%) rotate(45deg); width:10px; height:10px; border-right:2px solid #454545; border-bottom:2px solid #454545;}
.mobile-navigation .nav-menu>ul>li.active {background:#f4f4f4}
.mobile-navigation .nav-menu>ul>li.active>a {color:#fff; background:var(--color-primary);}
.mobile-navigation .nav-menu>ul>li.active>a:after {transform:translateY(-35%) rotate(-135deg); border-color:#fff}
.mobile-navigation .nav-menu>ul>li.home>a {padding:19px 18px;}
.mobile-navigation .nav-menu>ul>li.home>a:after {display:none;}
.mobile-navigation .nav-menu .submenu {display:none; margin:-1px 0 0 0; padding:10px 0;}
.mobile-navigation .nav-menu .submenu ul li a {display:block; padding:5px 18px; color:#454545; font-size:14px; font-weight:400; line-height:1.4em;}
.mobile-navigation .nav-menu .submenu ul li a:hover {color:var(--color-primary);}
.mobile-navigation .close {position:absolute; top:34px; right:18px; 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:2px; 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:101;}

html.menu-opened .mobile-navigation {-ms-transform:translateX(0); transform:translateX(0);}
html.menu-opened .mobile-overlay {display:block;}
html.menu-opened .btn-m-menu span {background:none !important;}
html.menu-opened .btn-m-menu span:before,
html.menu-opened .btn-m-menu span:after {transition-delay:0s, 0.3s; background-color:#242424;}
html.menu-opened .btn-m-menu span:before {top:0; transform:rotate(45deg);}
html.menu-opened .btn-m-menu span:after {bottom:0; transform:rotate(-45deg);}

/* main */
.main-visual {background-color:#333; height:100vh; font-family:"Outfit", serif; position:relative; width:100%; overflow:hidden;}
.main-visual .image {position:absolute; top:0; left:0; width:100%; height:100%; overflow:hidden; transition:2s; opacity:0; transform:scale(1.1); background-repeat:no-repeat; background-position:50% 0; background-size:cover;}
.main-visual [data-aos=fade-up] {transform:translate3d(0,30px,0);}
.loaded .main-visual .image {transform:scale(1); opacity:1;}

.main-visual .image img {width:100%;}
.main-visual .caption {position:absolute; top:50%; width:100%; color:#fff; -webkit-transform:translateY(-50%); transform:translateY(-50%);}
.main-visual .caption-container {position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); width:100%; max-width:1460px; color:#fff; padding:0 30px;}

.main-visual .txt2,
.main-visual .txt3 {white-space:nowrap; overflow:hidden; line-height:1.2em; letter-spacing:-.03em;}
.main-visual .txt2 {min-height:1.3em; margin-bottom:var(--space-60); font-size:var(--font-size-100); font-weight:700;}
.main-visual .txt3 {min-height:2.6em; font-size:var(--font-size-22);}
.main-visual .txt3 .blink-caret {margin-left:20px;}
.main-visual .blink-caret {display:none; vertical-align:middle;}

.m-tit {margin-bottom:var(--space-50); color:#242424;}
.m-tit p {margin-bottom:var(--space-20); position:relative; font-size:var(--font-size-18); letter-spacing:-.03em; line-height:1.4em;}
.m-tit h2 {font-size:var(--font-size-48); letter-spacing:-.04em; line-height:1.2em;}

.main-sec2 {padding:var(--space-150) 0 0;}
.main-slider-nav .slick-track,
.main-slider-nav .slick-list {transform:none !important;}
.main-slider-nav {margin-bottom:var(--space-60); max-width:800px;}
.main-slider-nav .item {margin-right:10px;}
.main-slider-nav .item p {height:var(--space-60); align-items:center; justify-content:center; display:flex; font-size:var(--font-size-18); color:#999; font-weight:500; border:1px solid #ddd; text-align:center; border-radius:30px;}
.main-slider-nav .item.slick-current p {color:#fff; background-color:#242424; border-color:#242424;}
.main-slider-for {max-width:1920px; margin:0 auto;}
.main-slider-for .item {padding:0 70px; opacity:.2;}
.main-slider-for .cont {opacity:0; margin-top:var(--space-90); display:flex;}
.main-slider-for .col-l {width:58%; color:#242424;}
.main-slider-for .col-l .kr {font-size:var(--font-size-18); font-weight:600;}
.main-slider-for .col-l .en {margin-top:10px; font-size:var(--font-size-40); font-weight:700; letter-spacing:-.03em; line-height:1.3em;}
.main-slider-for .col-r {flex:1;}
.main-slider-for .col-r ul li {padding-left:20px; margin-bottom:12px; font-size:var(--font-size-20); font-weight:500; letter-spacing:-.03em; line-height:1.3em; position:relative;}
.main-slider-for .col-r ul li:last-child {margin-bottom:0;}
.main-slider-for .col-r ul li:before {font-size:20px; position:absolute; content:'·'; left:0; font-weight:900; color:#242424;}
.main-slider-for .item.slick-current,
.main-slider-for .item.slick-current .cont {opacity:1;}

.about-hero {padding:var(--space-200) 0;}
.about-hero .about-title {position:absolute; top:30%; left:0; z-index:2; width:100%; color:#242424;}
.about-hero .about-title h2 {font-size:60px; line-height:1.33em; letter-spacing:-.03em; display:inline; color:transparent; background:linear-gradient(to right, rgba(0, 0, 0,1) 50%, rgba(0, 0, 0,.3) 50%); background-size:200% 100%; background-position-x:100%; background-clip:text; -webkit-background-clip:text;}
.about-hero-image {position:relative; height:50vh;} 

.main-sec4 {padding:160px 0; background-color:#000;}
.main-sec4 .item {border-bottom:1px solid #4d4d4d; padding:var(--space-60); display:flex; color:#fff;}
.main-sec4 .item:first-child {border-top:1px solid #4d4d4d;}
.main-sec4 .col-l {flex-direction:column; display:flex; flex:1;}
.main-sec4 .tit {font-size:var(--font-size-60); letter-spacing:-.03em; line-height:1.2em; font-family:"Outfit", serif;}
.main-sec4 .num {color:rgba(255,255,255,.1); letter-spacing:-.03em; line-height:.7em; font-size:clamp(25px, calc( 160 / var(--inner) * 100vw ), 160px); font-family:"Outfit", serif;;}
.main-sec4 .cnt {width:775px; display:flex; align-items:flex-end;}
.main-sec4 .img {order:2;}
.main-sec4 .txt {flex:1;}
.main-sec4 .txt span {margin-bottom:var(--space-35); font-size:var(--font-size-20); display:block; letter-spacing:-.03em; line-height:1.4em; color:#717171; font-family:"Outfit", serif;}
.main-sec4 .txt p {font-size:var(--font-size-22); letter-spacing:-.03em; font-weight:500; line-height:1.64em;}

.main-sec4 .num,
.main-sec4 .img,
.main-sec4 .txt {transform:translateY(20px); transition:opacity 0.5s ease, transform 0.5s ease;}

.main-sec4 .active .col-l {gap:var(--space-70) 0;}
.main-sec4 .active .num,
.main-sec4 .active .img,
.main-sec4 .active .txt {opacity:1; transform:translateY(0);}

.main-sec4 .item.active {transition:all 2s ease-in-out;}
.main-sec4 .item.active .col-l {animation-duration:1000ms;}
.main-sec4 .item.active .txt {animation-duration:1000ms;}

.main-sec5 {overflow:hidden; padding:var(--space-200) 0; gap:var(--space-20) 0; display:flex; flex-direction:column;}
.main-sec5 .m-tit {text-align:center;}
.main-sec5 .flex {display:flex;}
.main-sec5 .flex a {pointer-events:none;}

/* sub page */
.sub-visual {position:relative; height:clamp(300px, calc( 900 / var(--inner) * 100vw ), 900px); color:#fff; background:#333; overflow:hidden;}
.sub-visual .bg {position:absolute; top:0; left:0; width:100%; height:100%; overflow:hidden; transition:2s; opacity:0; transform:scale(1.1); background-repeat:no-repeat; background-position:50% 0; background-size:cover;}
.sub-visual .inner {position:absolute; top:50%; left:0; width:100%; transform:translateY(-50%);}
.sub-visual .txt1 {font-size:clamp(15px, calc( 20 / var(--inner) * 100vw ), 20px); font-weight:600; line-height:1.2em; letter-spacing:-.03em;}
.sub-visual .txt2 {font-size:clamp(16px, calc( 58 / var(--inner) * 100vw ), 58px); margin:20px 0 var(--space-50); font-weight:700; line-height:1.2em; letter-spacing:-.03em;}
.sub-visual .txt3 {font-size:clamp(17px, calc( 22 / var(--inner) * 100vw ), 22px); font-weight:500; line-height:1.64em; letter-spacing:-.03em;}
.sub-visual .bg1 {background-image:url("../images/common/sv1.jpg");}
.sub-visual .bg2 {background-image:url("../images/common/sv2.jpg");}
.sub-visual .bg3 {background-image:url("../images/common/sv3.jpg");}
.sub-visual .bg4 {background-image:url("../images/common/sv4.jpg");}
.sub-visual [data-aos=fade-up] {transform:translate3d(0,30px,0);}
.loaded .sub-visual .bg {transform:scale(1); opacity:1;}

.lnb {border-bottom:1px solid #ddd; position:relative; width:100%; z-index:1; text-align:center;}
.lnb ul {gap:0 var(--space-80); position:relative; display:flex; justify-content:center; z-index:2;}
.lnb ul li {position:relative; z-index:1; width:auto;}
.lnb ul li a {height:60px; font-size:var(--font-size-18); align-items:center; justify-content:center; display:flex; letter-spacing:-.03em; font-weight:500; position:relative;}
.lnb ul li.active a {color:var(--color-primary);}
.lnb ul li.active:after {height:2px; bottom:-1px; position:absolute; content:''; left:0; right:0; background-color:var(--color-primary);}

.sub-title {font-family:"Outfit", serif; padding:var(--space-120) 0; text-align:center;}
.sub-title .pg-name {margin-bottom:var(--space-50); display:flex; gap:0 40px; align-items:center; justify-content:center;}
.sub-title .pg-name span {position:relative; color:#999;}
.sub-title .pg-name span.home {width:14px; height:16px; display:none; background:url('../images/common/home.png') no-repeat 50% 50% / contain;}
.sub-title .pg-name span:after {width:3px; height:3px; top:50%; transform:translateY(-50%); right:-22px; position:absolute; content:''; border-radius:100%; background-color:#ccc;}
.sub-title .pg-name span:last-child:after {display:none;}
.sub-title h1 {font-size:var(--font-size-70); letter-spacing:-.03em; line-height:.8em; color:#222; letter-spacing:0;}

#contArea {width:100%; max-width:1500px; margin:0 auto; padding:0 30px;}
#contArea.wide {max-width:none; padding:0;}

.real-cont {padding-bottom:clamp(80px, calc( 200 / var(--inner) * 100vw ), 200px);}

/* footer */
#footer {padding:var(--space-80) 0 var(--space-90); background-color:#000; color:#878787;}
#footer .contain {position:relative;}

.f-logo {margin-bottom:var(--space-70);}
.go-top {position:absolute; top:0; right:30px;}

.foot-flex {display:flex;}
.foot-flex .col-l {flex:1;}
.foot-flex address {line-height:1.75em; font-style:normal;}
.foot-flex address p {font-weight:600;}
.foot-flex address span {padding-right:30px; position:relative;}
.foot-flex address span:after {position:absolute; content:'|'; right:10px;}
.foot-flex address span.mail:after,
.foot-flex address span.last:after {display:none;}

.foot-flex .col-r {text-align:right;}
.foot-flex .col-r > * {display:block;}
.foot-flex .col-r .copy {font-size:var(--font-size-14);}

.f-desktop {display:block;}
.f-tablet {display:none;}
.f-mobile {display:none;}