@charset "utf-8"; /* layout.css는 전체적인 레이아웃 스타일을 정의합니다. */

#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-tablet { display:block; } 
.only-desktop { display:block; } 
.only-tablet { display:none; } 
.only-mobile { display:none; } 

#wrapper { overflow:hidden; } 

/* header */
#header { position:absolute; width:100%; z-index:100; } 
#header .contain { position:relative; display:flex; align-items:center; justify-content:space-between; height:var(--header-height); z-index:10; max-width: 1820px !important; } 
#sub #header { position:relative; } 

.sitelogo a { display:block; width:99px; height:23px; background:url("/images/common/logo.png") no-repeat center/ contain; overflow:hidden; font-size:0; line-height:0; text-indent:-9999em; } 

#gnb { flex:1 1 auto; min-width:0; width:1%; } 
#gnb>ul { display:flex; justify-content:flex-end; padding-right:var(--space-120); } 
#gnb>ul>li { position:relative; padding:0 var(--space-60); } 
#gnb>ul>li>a { position:relative; display:flex; align-items:center; flex-direction: column; justify-content:center; height:var(--header-height); color:#fff; font-size:var(--font-size-20); font-weight:600; letter-spacing:-.03em; line-height:1.5em; } 
#gnb>ul>li>a:after { content:""; position:absolute; bottom:17px; left:50%; transform: translateX(-50%); width:7px; height:7px; border-radius: 100%; background:var(--color-primary); opacity:0; transition:.2s; } 
#gnb>ul>li.active>a:after { opacity:1; } 
#gnb>ul>li:hover>a:after { opacity:1; } 
#gnb .submenu { position:absolute; left:0; width:100%; height:0; overflow:hidden; text-align: center; } 
#gnb .submenu>ul { padding:20px 5px; } 
#gnb .submenu>ul>li>a { display:block; padding:10px 0; color:#121212; font-size:var(--font-size-17); line-height:1.33em; } 
#gnb .submenu>ul>li>a:hover { text-decoration:underline; } 
#gnb .submenu>ul>li.active>a { text-decoration:underline; } 

.submenu-bg { display:none; position:absolute; width:100%; left:0; background:#fff; border-top:1px solid #ddd; border-bottom:1px solid #eee; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; } 

.language { position:absolute; top:50%; transform:translateY(-50%); right: var(--space-60); z-index:20; } 
.language .slct { display: block; position:relative; padding: 0 21px; font-weight:600; font-size: var(--font-size-14); color: #fff; } 
.language .slct::before { content:""; position:absolute; top:50%; left:0; transform: translateY(-50%); width:16px; height:16px; background:url("/images/common/global.png"); } 
.language .slct:after { content:""; position:absolute; top:50%; transform: translateY(-50%); right: 0; width:8px; height:6px; background:url("/images/common/arrow.png") no-repeat center/contain; } 
.language ul { display:none; position:absolute; left:50%; transform: translateX(-50%); margin-top:var(--space-15); } 
.language ul li a { display:flex; justify-content: center; align-items: center; width: 60px; height: 25px; margin-bottom:8px; text-align:center; font-weight:600; font-size: var(--font-size-14); color: #fff; background-color: rgb(67, 107, 222); border-radius: 50vh; } 
.language.active ul { display:block; } 
.language.active .slct:after { transform:rotate(180deg); margin-top: -4px; } 


#header:hover { background:#fff; box-shadow: 0px 2px var(--space-20) 0px rgba(0, 0, 0, 0.1); } 
#header:hover .sitelogo a { background-image:url("/images/common/logo-blk.png") } 
#header:hover #gnb > ul > li > a { color:#242424; } 
#header:hover .btn-m-menu span,
#header:hover .btn-m-menu span:before,
#header:hover .btn-m-menu span:after { background:#242424; } 
#header:hover .language .slct  {color: #242424;}
#header:hover .language .slct::before{background-image: url(/images/common/global-on.png);}
#header:hover .language .slct::after{background-image: url(/images/common/arrow-on.png);}

#sub #header { background:#fff; box-shadow: 0px 2px var(--space-20) 0px rgba(0, 0, 0, 0.1); } 
#sub #header .sitelogo a { background-image:url("/images/common/logo-blk.png") } 
#sub #header #gnb > ul > li > a { color:#242424; } 
#sub #header .btn-m-menu span,
#sub #header .btn-m-menu span:before,
#sub #header .btn-m-menu span:after { background:#242424; } 
#sub #header .language .slct  {color: #242424;}
#sub #header .language .slct::before{background-image: url(/images/common/global-on.png);}
#sub #header .language .slct::after{background-image: url(/images/common/arrow-on.png);}

#main.fp-viewing-biz #header { background:#fff; box-shadow: 0px 2px var(--space-20) 0px rgba(0, 0, 0, 0.1); } 
#main.fp-viewing-biz #header .sitelogo a { background-image:url("/images/common/logo-blk.png") } 
#main.fp-viewing-biz #header #gnb > ul > li > a { color:#242424; } 
#main.fp-viewing-biz #header .btn-m-menu span,
#main.fp-viewing-biz #header .btn-m-menu span:before,
#main.fp-viewing-biz #header .btn-m-menu span:after { background:#242424; } 
#main.fp-viewing-biz #header .language .slct  {color: #242424;}
#main.fp-viewing-biz #header .language .slct::before{background-image: url(/images/common/global-on.png);}
#main.fp-viewing-biz #header .language .slct::after{background-image: url(/images/common/arrow-on.png);}

#main.fp-viewing-foot #header { background:#fff; box-shadow: 0px 2px var(--space-20) 0px rgba(0, 0, 0, 0.1); } 
#main.fp-viewing-foot #header .sitelogo a { background-image:url("/images/common/logo-blk.png") } 
#main.fp-viewing-foot #header #gnb > ul > li > a { color:#242424; } 
#main.fp-viewing-foot #header .btn-m-menu span,
#main.fp-viewing-foot #header .btn-m-menu span:before,
#main.fp-viewing-foot #header .btn-m-menu span:after { background:#242424; } 
#main.fp-viewing-foot #header .language .slct  {color: #242424;}
#main.fp-viewing-foot #header .language .slct::before{background-image: url(/images/common/global-on.png);}
#main.fp-viewing-foot #header .language .slct::after{background-image: url(/images/common/arrow-on.png);}

/* main */
[data-aos=fade-up] { transform: translate3d(0,100px,0); } 
.main-visual { position:relative; height:100vh; background:#000; overflow:hidden; } 
.main-visual .item { position:relative; height:100vh; overflow:hidden; } 
.main-visual .image { position:absolute; top:0; left:0; width:100%; height:100%; overflow:hidden; transition:5s linear; transform:scale(1.15); } 
.main-visual .image 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: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 40; width: 100%; max-width: 1460px; margin: 0 auto; padding: 0 var(--container-space); color: #fff; } 
.main-visual .caption img { margin:0 auto; } 
.main-visual .caption p { transition:1.2s; transform:translate(50px,0); opacity:0; } 
.main-visual .caption .txt1 { font-size:var(--font-size-18); font-weight:600; line-height:normal; letter-spacing:-.02em; } 
.main-visual .caption .txt2 { font-size:var(--font-size-52); font-weight:700; line-height: 1.46em; letter-spacing:-.02em; margin-top:var(--space-30); } 
.main-visual .caption .txt3 { font-size:var(--font-size-20); line-height:normal; letter-spacing:-.02em; margin-top:var(--space-50); } 
.main-visual .controls { position:absolute; bottom:var(--space-60); left:50%; z-index:40; display: flex; align-items: center; justify-content: end; transform: translateX(-50%); width: 100%; max-width: 1460px; margin: 0 auto; padding: 0 var(--container-space); color:#fff; } 
.main-visual .pager .current { display:inline-block; width:.6em; } 
.main-visual .progress { position:relative; margin:0 10px; width:150px; height:2px; background:rgba(255, 255, 255, 0.5); } 
.main-visual .progress-bar { position:absolute; top:0; left:0; height:100%; background:#fff; } 
.main-visual .slide-btn { width:24px; height:24px; margin-right:6px; background-color:#000; background-position:50% 50%; background-repeat:no-repeat; border-radius:100%; border:0; overflow:hidden; } 
.main-visual .slide-prev { background-image:url("../images/main/ctr_prev.svg"); } 
.main-visual .slide-next { background-image:url("../images/main/ctr_next.svg"); } 
.main-visual .slide-stop { background-image:url("../images/main/ctr_stop.svg"); } 
.main-visual .slide-play { display:none; background-image:url("../images/main/ctr_play.svg"); } 
.main-visual .active .image { transform:scale(1); } 
.main-visual .active .caption p { transform:translate(0,0); opacity:1; } 
.main-visual .active .caption .txt1 { transition-delay:.2s; } 
.main-visual .active .caption .txt2 { transition-delay:.5s; } 
.main-visual .active .caption .txt3 { transition-delay:.8s; } 
.main-visual .scroll { position:absolute; bottom:var(--space-60); left:50%; transform: translateX(-50%); animation:scrollDown .9s linear infinite alternate; z-index:40; } 
.main-visual .scroll img { width:clamp(15px, calc( 20 / var(--inner) * 100vw ), 20px );; } 

.progress-bar.animated { animation:progressBar 1 linear; } 
.progress-bar.paused { animation-play-state:paused !important; } 
.progress-bar.play { animation-play-state:running !important; } 

@keyframes progressBar { 
 0% { width:0; } 
100% { width:100%; } 
 }
@keyframes scrollDown { 
 0% { transform:translateY(0); } 
100% { transform:translateY(15px); } 
 }

.main-tit { text-align:center; padding-bottom:var(--space-60); } 
.main-tit h3 { font-size:var(--font-size-40); color:#242424; font-weight:700; letter-spacing:-.02em; line-height:normal; } 
.main-tit p { letter-spacing:-.02em; line-height:1.69em; margin-top:var(--space-30); } 

/* Main-business */
.mainbusiness-wrap { display:flex; justify-content:center; gap: var(--space-30); letter-spacing:-.02em; } 
.mainbusiness-wrap a { display:block; } 
.mainbusiness-wrap .mainbusiness-list { position:relative; transition:.4s;} 
.mainbusiness-wrap .mainbusiness-list .img img { width:277px; height:484px; } 
.mainbusiness-wrap .mainbusiness-list .caption { position:absolute; top:50%; left:0; transform:translateY(-50%); width:100%; color:#fff; text-align:center; z-index:40; } 
.mainbusiness-wrap .mainbusiness-list .caption h4 { color:#fff; font-size:var(--font-size-28); font-weight: bold; text-shadow: 0px 3px 7px rgba(0, 0, 0, 0.3);  transition:.2s;} 
.mainbusiness-wrap .mainbusiness-list .hover-box { position:absolute; top:0; left:0; width:100%; height:100%; overflow:hidden; opacity:0; transition:.2s;} 
.mainbusiness-wrap .mainbusiness-list:hover .hover-box { opacity:1;} 
.mainbusiness-wrap .mainbusiness-list:hover h4 {opacity:0;} 
.mainbusiness-wrap .mainbusiness-list:hover { width:477px; margin:0 10px; } 
.mainbusiness-wrap .mainbusiness-list .hover-box h5 { position:relative; padding-bottom:var(--space-40); margin-bottom:var(--space-40); font-size:var(--font-size-28); letter-spacing:-.02em; line-height:1em; text-shadow: 0px 3px 7px rgba(0, 0, 0, 0.3); } 
 .mainbusiness-wrap .mainbusiness-list .hover-box h5::after { position:absolute; content:""; width: clamp(34px, calc( 74 / var(--inner) * 100vw ), 74px );; height:2px; background:#fff; bottom:0; left:50%; transform: translateX(-50%); } 
.mainbusiness-wrap .mainbusiness-list .hover-box .txt { text-shadow: 0px 3px 7px rgba(0, 0, 0, 0.3); font-size:var(--font-size-20); font-weight:700; letter-spacing:-.02em; line-height:1.4em; color: #fff; } 
.mainbusiness-wrap .mainbusiness-list .hover-box ul { display:inline-flex; flex-direction:column; } 
.mainbusiness-wrap .mainbusiness-list .hover-box ul li { color: #fff; text-shadow: 0px 3px 7px rgba(0, 0, 0, 0.3); line-height:1.75em; letter-spacing:-.02em; margin-bottom:var(--space-20); } 
.mainbusiness-wrap .mainbusiness-list .hover-box ul li:last-child { margin-bottom:0; } 
.mainbusiness-wrap .btn { margin-top:var(--space-50); } 
.mainbusiness-wrap .btn img { width:clamp(26px, calc( 56 / var(--inner) * 100vw ), 56px ); } 

/* sub page */
.contain { max-width:1460px; margin:0 auto; padding-left:var(--container-space); padding-right:var(--container-space); } 
#contArea { max-width:1460px; padding-left:var(--container-space); padding-right:var(--container-space); margin:0 auto; } 
#contArea.wide { max-width:100% !important; padding-left:0; padding-right:0; } 

#sub #contArea,
#sub .contain { max-width: 1460px; } 

.sub-title { padding: var(--space-100) 0 var(--space-80); text-align:center; } 
.sub-title h1 { font-size:var(--font-size-40); line-height:1em; color:var(--color-dark); } 

.real-cont { padding:0 0 var(--space-150); } 

.sub-visual { position:relative; height:370px; z-index:10; overflow:hidden; } 
.sub-visual .background { position:absolute; top:0; left:0; width:100%; height:100%; background-position:50% 50%; background-repeat:no-repeat; background-size:cover; transform:scale(1.09); -ms-transform:scale(1.09); /* IE 9 */
 -moz-transform:scale(1.09); /* Firefox */
 -webkit-transform:scale(1.09); /* Safari and Chrome */
 -o-transform:scale(1.09); /* Opera */
transition: all 2s ease-out 0s; transition-delay: 0.1s; z-index:0; } 
.sub-visual.load .background { transform:scale(1); -ms-transform:scale(1); /* IE 9 */
 -moz-transform:scale(1); /* Firefox */
 -webkit-transform:scale(1); /* Safari and Chrome */
 -o-transform:scale(1); /* Opera */ } 
 .sub-visual .tt-wrap { width: 100%; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 1; color: #fff; font-weight:700; line-height:normal; width:100%; max-width: 1400px; margin:0 auto; padding:0 var(--container-space); } 
.sub-visual .tt-wrap .tx { text-transform: uppercase; font-size: var(--font-size-20); opacity:.5; } 
.sub-visual .tt-wrap .tit { margin-top:var(--space-15); font-size: var(--font-size-56); } 

.path-wrap { position:relative; border-bottom:1px solid #ddd; z-index:50; } 
.path-wrap .wrap { max-width:1400px; margin:0 auto; } 
.path-wrap .inner { display:flex; } 
.path-wrap .home { position:relative; } 
.path-wrap .home::before { content: ""; position: absolute; top:50%; left:0; transform: translateY(-50%); width: 1px; height: 19px; background-color: rgb(221, 221, 221); } 
.path-wrap .home::after { content: ""; position: absolute; top:50%; right:0; transform: translateY(-50%); width: 1px; height: 19px; background-color: rgb(221, 221, 221); } 
.path-wrap .home a { display:block; width:80px; height:70px; background:url("../images/common/home.png") 50% 50% no-repeat; background-size:16px; text-indent:-999em; overflow:hidden; } 
.path-wrap .part { position:relative; min-width:250px; z-index:50; } 
.path-wrap .part::after { content: ""; position: absolute; top:50%; right:0; transform: translateY(-50%); width: 1px; height: 19px; background-color: rgb(221, 221, 221); } 
.path-wrap .part > a { display:flex; align-items:center; position:relative; height:70px; color:#242424; font-weight:600; line-height:1.3em; padding:0 60px 0 30px; position:relative; } 
.path-wrap .part > a:after { content:""; position:absolute; top:50%; right: 30px; margin-top: -3px; width: 10px; height: 7px; background:url("../images/common/path_down.png") 50% 50% no-repeat; } 
.path-wrap .part ul { display:none; position:absolute; left:-1px; right:-1px; background:#fff; border:1px solid #454545; z-index:50; padding: var(--space-20) 0; } 
.path-wrap .part ul li { color:#737373; line-height:1.3em; letter-spacing: -0.02em; } 
.path-wrap .part ul li:last-child { border-bottom:0; } 
.path-wrap .part ul li a { display: block; padding: 10px 30px; } 
.path-wrap .part ul li a:hover,
.path-wrap .part ul li.active a { color:var(--color-primary); font-weight:600; } 
 
/* footer */
#footer2 { position: relative; background-color: #f1f1f1; padding: var(--space-70) 0 var(--space-60); font-size: var(--font-size-15); letter-spacing: -0.02em; } 
#footer2 .contain { display: flex; justify-content: space-between; position: relative; } 
#footer2 .foot-info .foot-tit { font-weight:700; font-size: var(--font-size-20); line-height:1em; color: var(--color-dark); } 
#footer2 .foot-info address { width: 100%; max-width: 700px; font-style: normal; margin-top:var(--space-20); } 
#footer2 .foot-info address .wrap { display: flex; flex-wrap: wrap; gap: 0 var(--space-40); } 
#footer2 .foot-info address p { font-size: var(--font-size-14); line-height: 2em; } 
#footer2 .foot-info address p strong { display: inline-block; padding-right: 15px; color: #999999; font-weight:400; } 
#footer2 .foot-info .copy { color: #999999; margin-top: var(--space-30); } 
#footer2 .copy a:hover { text-decoration: underline; } 
#footer2 .foot-menu { position: absolute; bottom: 0; right: var(--container-space); color: #242424; line-height:1.87em; text-align: right; } 

.scroll-top { position: fixed; opacity: 0; bottom: var(--space-170); right: var(--container-space); text-align: right; pointer-events: none; z-index:100; } 
.scroll-top.active { opacity: 1; pointer-events: auto; } 

#main .scroll-top { opacity:1; } 

/* for mobile */
.only-mobile { display:none; } 
.btn-m-menu { display:none; position:absolute; top:50%; margin-top:-11px; right:30px; width:30px; height:22px; text-align:center; text-indent:-9999em; z-index:99; transition:all 0.5s ease-in-out; } 
.btn-m-menu span { position:absolute; right:0; top:50%; margin-top:-1px; height:2px; width:23px; background:#fff; } 
.btn-m-menu span:before,
.btn-m-menu span:after { content:" "; position:absolute; right:0; width:30px; height:2px; background:#fff; transition-duration:0.3s, 0.3s; transition-delay:0.3s, 0s; } 
.btn-m-menu span:before { top:-10px; transition-property:top, transform; } 
.btn-m-menu span:after { bottom:-10px; transition-property:bottom, transform; } 
.mobile-navigation { position:fixed; top:0; right:0; padding:20px 0; width:400px; height:100%; overflow:auto; transition:.3s ease-in-out; -ms-transform:translateX(100%); transform:translateX(100%); background:#fff; z-index:202; } 
.mobile-navigation .home { display:block; margin-bottom:20px; padding-left:15px; } 
.mobile-navigation .home a { display:block; } 
.mobile-navigation .home img { height:20px; } 
.mobile-navigation .nav-menu>ul { margin-top:30px; } 
.mobile-navigation .nav-menu>ul>li { border-bottom:1px solid #dfdfdf; } 
.mobile-navigation .nav-menu>ul>li>a { position:relative; padding:12px 15px; display:block; color:#454545; font-size:18px; 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 #242424; border-bottom:2px solid #242424; } 
.mobile-navigation .nav-menu>ul>li.active>a { color:var(--color-primary) } 
.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; margin:-1px 0 0 0; padding:0 15px 15px; } 
.mobile-navigation .nav-menu .submenu>ul:after { content:""; display:block; clear:both; } 
.mobile-navigation .nav-menu .submenu>ul>li>a { display:block; position:relative; padding:5px 15px; color:#454545; font-size:16px; font-weight:400; line-height:1.3em; } 
.mobile-navigation .nav-menu .submenu>ul>li>a:after { display:block; content:""; position:absolute; top:14px; left:5px; width:4px; height:4px; background:#dfdfdf; border-radius:50%; transition:.3s ease-in-out; } 
.mobile-navigation .nav-menu .submenu>ul>li>a:hover { color:var(--color-primary) } 
.mobile-navigation .nav-menu .submenu>ul>li>a:hover:after { background:var(--color-primary) } 
.mobile-navigation .close { position:absolute; top:20px; right:15px; width:24px; height:24px; 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; } 
.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:201; } 

html.menu-opened { overflow:hidden; } 
html.menu-opened .mobile-navigation { -ms-transform:translateX(0); transform:translateX(0); } 
html.menu-opened .mobile-overlay { display:block; } 