@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; top:0; left:0; width:100%; background-color: transparent; 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: 1800px !important;} 
#header .sitelogo a {display:block; width:190px; height:53px; background: url(/images/common/logo.png) no-repeat center/contain;} 
#gnb {text-align:center; flex:1 1 auto; min-width:0; width:1%;} 
#gnb>ul {display:flex; justify-content:center;} 
#gnb>ul>li {position:relative; padding:0 var(--padding-50-16);} 
#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-18-16); font-weight:600; line-height:1.666em;} 
#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:5px 0; line-height:2.125em; font-weight:500;} 
#gnb .submenu>ul>li>a:hover {color:var(--color-primary); font-weight:600;} 
#gnb .submenu>ul>li.active>a {color:var(--color-primary); font-weight:600;} 
.submenu-bg {display:none; position:absolute; width:100%; left:0; background:rgba(255, 255, 255, 0.96); border-top:1px solid #ddd;} 

.btn-catalog {display:flex; justify-content: center; align-items: center; width:170px; height:40px; border: 1px solid #fff; font-weight:600; color: #fff; border-radius: 50vh;} 

#header.header-wht {background-color: #fff;} 
#header.header-wht .sitelogo a {background-image: url(/images/common/logo-on.png);} 
#header.header-wht #gnb>ul>li>a {color: var(--color-dark);} 
#header.header-wht .btn-catalog {color: var(--color-secondary); border: 1px solid var(--color-secondary);} 

/* main */
 .main-visual {position:relative; height:100vh; overflow:hidden;} 
.main-visual .slick-slide {position:relative; height:100vh; overflow:hidden;} 
.main-visual .item {position:absolute; top:0; left:0; width:100%; height: 100vh; overflow:hidden;} 
.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%);} 
.main-visual .item 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 .slick-dots {position:absolute; bottom:40px; left:0; width:100%; text-align:center; line-height:0; z-index:50;} 
.main-visual .slick-dots li {display:inline-block; margin:0 5px;} 
.main-visual .slick-dots li button {position:relative; display:block; width:18px; height:18px; background:transparent; border:1px solid transparent; border-radius:100%; overflow:hidden; text-indent:-9999em; transition:.2s;} 
.main-visual .slick-dots li button:before {content:""; position:absolute; top:50%; left:50%; margin:-4px 0 0 -4px; width:8px; height:8px; background:#fff; border-radius:100%;} 
.main-visual .slick-dots .slick-active button {border:2px solid #fff;} 
.main-visual .slick-dots .slick-active button:before {background:transparent} 
 .main-visual .slick-arrow {display:none !important;} 
.main-visual .caption {position: absolute; top: 50%; transform: translateY(-50%); width: 100%; z-index: 40;} 
.main-visual .caption p.t1 {margin-bottom: var(--margin-30-10); font-size: var(--font-size-70-30); line-height: 1em; letter-spacing: 0; font-family: "Roboto", sans-serif; font-weight: 700; color: var(--color-primary);} 
.main-visual .caption p.t2 {color: #fff; font-weight: 500; font-size: var(--font-size-22-18); line-height: 1.545em;} 
.main-visual .controls {position: absolute; top: calc(50% + 120px); left: 0; z-index: 40; width: 100%;} 
.main-visual .slide-btn {width:46px; height:46px; border: 1px solid #fff; background-size: 13px auto; background-color: transparent; background-position:center; background-repeat:no-repeat; overflow:hidden; background-image:url("../images/main/arrow-wht.png");} 
.main-visual .slide-prev {transform: rotate(180deg);} 
.main-visual .slide-next {margin-left: -4px;} 
.main-visual .slide-btn:hover {border: 1px solid var(--color-secondary); background-color: var(--color-secondary);} 
.main-visual .contain {max-width: 1800px;} 

/* section */
.section {background-position:center; background-repeat:no-repeat; background-size:cover;} 
.section .flex-wrap {display:flex; justify-content: space-between;} 
.section .flex-wrap.ai-center {align-items: center;} 
.section .flex-wrap .dot-list {width:50%;} 

.m-head {margin-bottom:var(--margin-60-30); text-align:center;} 
.m-head .m-tit {font-size: var(--font-size-54-34); color: var(--color-dark); font-weight:800; line-height: 1em;} 
.m-head p {font-size: var(--font-size-18-16); line-height: 1.222em; margin-top:var(--margin-20-10);} 

.section-inner {padding:var(--padding-140-40) 0;} 

.main-solution {position:relative;} 
.main-solution::before {content: ""; position: absolute; bottom:0; left:0; width:609px; height:459px; background: url(/images/main/bg-solution-01.png) no-repeat center/contain; z-index: -1;} 
.main-solution::after {content: ""; position: absolute; top:0; right:0; width:475px; height:550px; background: url(/images/main/bg-solution-02.png) no-repeat center/contain; z-index: -1;} 

 /* main-solution */
 .solution-wrap ul {display:flex; flex-wrap: wrap; margin:0 -35px;} 
 .solution-wrap ul li {width:50%; padding:0 35px;} 
 .solution-wrap ul li a {display:flex; justify-content: center; align-items: center; height:300px; border-radius: 12px; background-position:center; background-repeat:no-repeat; background-size:cover; color: #fff; font-weight:700; font-size: var(--font-size-32-22); letter-spacing: 0;} 
 .solution-wrap ul li:nth-child(1) a {background-image: url(/images/main/solution-01.jpg);} 
 .solution-wrap ul li:nth-child(2) a {background-image: url(/images/main/solution-02.jpg);} 
 .solution-wrap a {display:flex; justify-content: center; align-items: center; height: 100%; color: #fff; font-weight:700; font-size: var(32); letter-spacing:0; text-align:center;} 

 .main-biz {width: 100%; background-image: url(/images/main/bg-biz.jpg); background-position: top center; background-repeat: no-repeat; background-size: 100% 560px;} 
.main-biz .icon-list {display: flex; justify-content: center; padding-top: var(--padding-170-20);} 
.main-biz .icon-list > li {width: 33.3333%; margin-right: var(--margin-100-8); text-align: center; border-radius: 12px; box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.2); background-color: #fff;} 
.main-biz .icon-list > li:last-child {margin-right: 0;} 
.main-biz .icon-list > li a {display: block; padding: var(--padding-60-16) 0 var(--padding-30-16);} 
.main-biz .icon-list > li .ico {margin-bottom: var(--margin-30-10);} 
.main-biz .icon-list > li h3 {margin-bottom: var(--margin-20-10); font-size: var(--font-size-24-20); color: #333333;} 
.main-biz .icon-list > li p {font-weight: 500; line-height: 1.5em;} 

.main-project {position:relative; margin-bottom:var(--margin-140-40);} 
.main-project::before {content: ""; position: absolute; left: 11%; bottom: 0; width: 100%; height: 500px; background-image: url(/images/main/bg-project.jpg); background-repeat: no-repeat; background-position: center; background-size: cover; border-top-left-radius: 50vh; border-bottom-left-radius: 50vh;} 
.project-area .con {display:flex;} 
.project-area .con .slide-wrap {max-width: 100%; min-width: 0; width: 1%; flex: 1 1 auto; position: relative; margin-left: 23%;} 
.project-slide {position: relative;} 
.main-project .contain {position:relative;} 
.main-project .arrows {position: absolute; top: 0; right: 0; z-index: 50; display: flex; width: 101px;} 
.main-project .swiper-button-next, 
.main-project .swiper-button-prev {position: absolute; top:0 !important; right: 0; transform: none !important; z-index: 10; cursor: pointer; display: block !important; --swiper-theme-color: none; --swiper-navigation-size: 0; transition: .3s; width: 46px; height: 46px; border: 1px solid #ddd; background-size: 13px auto; background-color: #fff; background-position: center; background-repeat: no-repeat; overflow: hidden; background-image: url(/images/main/arrow-grey.png);} 
.main-project .swiper-button-next:hover,
.main-project .swiper-button-prev:hover {border: 1px solid #ddd; background-color: var(--color-secondary);} 
.main-project .swiper-button-prev {transform: rotate(180deg) !important;} 
.swiper .swiper-button-next:after, 
.swiper .swiper-button-prev:after {font-size: 0;} 
.projectSwiper {margin:-30px;} 
.projectSwiper .swiper-slide {padding:30px;} 
.projectSwiper a {display:block;} 
.projectSwiper .thumb {position:relative; padding-bottom:81.19%; margin-bottom:var(--margin-20-10); overflow:hidden; border-radius: 12px; box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.2);} 
.projectSwiper .thumb img {position:absolute; top:50%; left:0; transition:.4s ease-in-out; 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; border-radius: 12px;} 
.projectSwiper .tit {display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:#fff; font-weight:700; font-size:var(--font-size-24-16); line-height:1.5em;} 
.projectSwiper .desc {display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color:#fff; font-size:var(--font-size-18-14); line-height:1.555em; margin-top:6px;} 

/* sub page */
.contain {max-width:1600px; margin:0 auto; padding-left:var(--container-space); padding-right:var(--container-space);} 
#contArea {max-width:1600px; 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: 1400px;} 

.sub-title {margin: var(--margin-100-60) 0 var(--margin-80-20);} 
.sub-title h1 {font-size:var(--font-size-48-24); line-height:1.375em; color:var(--color-dark); line-height:1em;} 

.real-cont {padding:0 0 var(--padding-120-80);} 

.sub-visual {position:relative; height:490px; 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: 0; top: 50%; transform: translateY(-50%); z-index: 1; color: #fff; text-align: center;} 
.sub-visual .tt-wrap .tit {padding-top: var(--padding-35-15); font-size: var(--font-size-58-28); line-height: 1.2em; font-weight: 700;} 

.lnb-wrap {position:relative; border-bottom:1px solid #ddd; background: #f6f5f5;} 
.lnb {margin:0 auto; max-width:1200px;} 
.lnb ul {display:flex;} 
.lnb ul li {flex:1; text-align:center;} 
.lnb ul li a {position:relative; display:flex; flex-direction:column; justify-content:center; align-items:center; width:100%; height: var(--lnb-height); padding:0 15px; color: #505050; font-size:var(--font-size-18-15); font-weight: 600; line-height:1.2em; letter-spacing:-.03em;} 
.lnb ul li>a:after {content:""; position:absolute; bottom: -2px; left: 50%; width: 0; height: 4px; background:var(--color-primary); transition:.2s; z-index:10;} 
.lnb ul li.active>a:after {width:100%; left:0;} 
.lnb ul li.active {color: var(--color-primary);} 
.lnb ul li.active a {color:#fff; color: var(--color-primary);} 

/* footer */
#footer {background-color: #fff; padding: var(--padding-50-20) 0; font-size: var(--font-size-15-13); border-top:1px solid #ddd;} 
#footer .contain {display: flex; justify-content: space-between; align-items: end;} 
#footer .foot-info {max-width: 880px;} 
#footer .foot-logo {margin-bottom:var(--margin-30-10); width: 190px;
    height: 53px;  background: url(../images/common/foot-logo.png) no-repeat 50% 50%/contain; } 
#sub #footer .foot-logo {background-image:url(../images/common/sub-foot-logo.png);}
#footer .foot-info address {font-style: normal; display: flex; flex-wrap: wrap; margin: 0 -20px;} 
#footer .foot-info address p {padding: 0 20px; line-height: 1.6em;} 
#footer .foot-info .copy {font-size: var(--font-size-14-12); color: #888888; line-height: 1.428em; margin-top: var(--margin-30-10);} 
#footer .foot-menu {display: flex; justify-content: flex-end; margin: 0 -16px;} 
#footer .foot-menu li {position:relative; padding: 0 16px;} 
#footer .foot-menu li:first-child::after {content: ""; position: absolute; top:50%; right:0; transform: translateY(-50%); width:1px; height:10px; background-color: #ddd;} 
#footer .copy a:hover {text-decoration: underline;} 

.scroll-top {position: fixed; opacity: 0; bottom: 300px; right: 20px; width: 56px; height: 56px; display: flex; justify-content: center; align-items: center; background: url(../images/common/top.png) no-repeat 50% 50%/contain; pointer-events: none;} 
.scroll-top.active {opacity: 1; pointer-events: auto;} 

#sub #footer {background-color: #222222;} 
#sub #footer address p {color: #ccc;} 
#sub #footer .foot-info .copy {color: #888;} 
#sub #footer .foot-menu li a {color: #888;} 
#sub #footer .foot-menu li:first-child::after {background-color: #888;} 

/* 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:35px;} 
.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 #2c2c2c; border-bottom:2px solid #2c2c2c;} 
.mobile-navigation .nav-menu>ul>li.active>a {color:#f89b1c} 
.mobile-navigation .nav-menu>ul>li.active>a:after {transform:translateY(-35%) rotate(-135deg); border-color:#f89b1c;} 
.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:#f89b1c} 
.mobile-navigation .nav-menu .submenu>ul>li>a:hover:after {background:#f89b1c} 
.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:#2c2c2c;} 
.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;} 