@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:inline-table;}
.only-desktop {display:block;}
.only-tablet {display:none;}
.only-mobile {display:none;}

.contain {max-width:1440px; padding: 0 30px; margin: 0 auto;}

/* header */
#header {position:relative; top:0; left:0; width:100%; background:#fff; z-index:100;}
#header .head {position:relative; display:flex; justify-content: flex-end; align-items:center; z-index:2;}

.pull-right {display:flex; align-items:center;}

.sitelogo {position: absolute; left: 50px;}
.sitelogo a {display:block; background:url("../images/common/logo.png") 0 50% no-repeat;}

#gnb {margin-right: 210px;}
#gnb > ul {position:relative; display:flex; text-align:center;}
#gnb > ul > li {position:relative;}
#gnb > ul > li > a {position:relative; display:block; padding:0 60px; font-family: 'Montserrat', sans-serif; color:#242424; font-size:20px; font-weight:500; line-height:100px; letter-spacing:0;}

#gnb .submenu {display:none; position:absolute; left:50%; transform:translateX(-50%);}
#gnb .submenu ul {display:flex; white-space:nowrap;}
#gnb .submenu ul li {padding:0 15px;}
#gnb .submenu ul li a {display:block; font-family: 'Montserrat', sans-serif; color:#fff; font-size:16px; font-weight:500; line-height:50px; letter-spacing:0;}
#gnb .submenu ul li a:hover {text-decoration:underline;}

.submenu-bg {display:none; position:absolute; left:0; width:100%; height:0; background:rgba(0,125,198,.8);}

#sub .submenu ul li a {display:block; color:#242424; font-size:18px; font-weight:400; letter-spacing:-0.03;}
#sub .submenu ul li:hover a , #sub .submenu ul li.active a {color: #0085cb; text-decoration: none;}
#sub .submenu-bg {border-top:1px solid #ddd; border-bottom:1px solid #ddd; display:none; position:absolute; left:0; width:100%; height:0; background:#fff;}

/* for mobile */
.btn-m-menu {position:absolute; top:50%; right:50px; width:30px; height:24px; margin-top:-14px; text-indent:-9999em; z-index:50;}
.btn-m-menu span {position:absolute; left:0; right:0; width: 20px; top:12px; height:2px; background:#242424;}
.btn-m-menu span:before,
.btn-m-menu span:after {content:" "; position:absolute; left:-10px; right:0; height:2px; background:#242424; width: 30px;}
.btn-m-menu span:before {top:-9px;}
.btn-m-menu span:after {bottom:-9px;}

.mobile-navigation {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:150;}
.mobile-navigation .home {display:flex; align-items:center; height:80px; padding:0 20px;}
.mobile-navigation .home img {height:28px;}
.mobile-navigation .nav-menu>ul {border-top:1px solid #ddd;}
.mobile-navigation .nav-menu>ul>li {border-bottom:1px solid #ddd;}
.mobile-navigation .nav-menu>ul>li>a {position:relative; padding:12px 48px 12px 20px; display:block; color:#242424; font-size:18px; font-weight:500; line-height:1.5em;}
.mobile-navigation .nav-menu>ul>li>a:after {content:""; position:absolute; top:50%; right:20px; transform:translateY(-75%) rotate(45deg); width:13px; height:13px; border-right:1px solid #505050; border-bottom:1px solid #505050;}
.mobile-navigation .nav-menu>ul>li.active>a {color:#fff; background:#0085cb;}
.mobile-navigation .nav-menu>ul>li.active>a:after {transform:translateY(-35%) rotate(-135deg); border-color:#fff;}
.mobile-navigation .nav-menu .submenu {display:none; padding:10px 20px; background:#fafafa; color:#454545; font-size:15px; font-weight:400; line-height:1.5em;}
.mobile-navigation .nav-menu .submenu p {font-size:16px; font-weight:500; line-height:1.3em; margin-bottom:5px;}
.mobile-navigation .nav-menu .submenu ul li a {display:block; padding:6px 0;}
.mobile-navigation .nav-menu .submenu ul li a:hover {color:#0085cb;}
.mobile-navigation .nav-menu .submenu .col {padding:10px 0;}
.mobile-navigation .nav-menu .submenu .col ul li a {padding:3px 0;}
.mobile-navigation .nav-menu .submenu .col ul li a:before {content:"-"; margin-right:4px;}

.mobile-navigation .close {position:absolute; top:20px; 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:3px; background:#454545; 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 {overflow:hidden;}
html.menu-opened .mobile-navigation {-ms-transform:translateX(0); transform:translateX(0);}
html.menu-opened .mobile-overlay {display:block;}

/* main */
.main-visual .item {position:relative; padding-bottom:45.833%; overflow:hidden;}
.main-visual .item 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;}

.main-visual .slick-arrow {position:absolute; top:50%; background-color: transparent; margin-top:-25px; width:70px; height:70px; border-radius:100%; overflow:hidden; text-indent:-999em; background-position:50% 50%; background-repeat:no-repeat; border:0; z-index:50;}
.main-visual .slick-prev {left:90px; background-image:url("../images/main/prev.png");}
.main-visual .slick-next {right:90px; background-image:url("../images/main/next.png");}    
.main-visual .slick-arrow:hover {background-color:rgba(0,0,0,.2);}

.main-visual .slick-dots {position:absolute; bottom:50px; left:0; width:100%; display:flex; align-items:center; justify-content:center; z-index:50;}
.main-visual .slick-dots li {display:flex; align-items:center; padding: 0 15px;}

.main-visual .slick-dots li button {position:relative; display:block; width:13px; height:13px; background:#ccc; border-radius:100%; border:0; overflow:hidden; text-indent:-999em;}
.main-visual .slick-dots li.slick-active button {width:32px; height:32px; margin:0 -2px; background:transparent; border:1px solid #fff;}
.main-visual .slick-dots li.slick-active button:after {content:""; position:absolute; top:50%; left:50%; width:13px; height:13px; transform:translate(-50%,-50%); background:#fff; border-radius:100%;}

.main-project {margin: 100px 0;}
.main-project .contain {max-width:1780px; padding: 0 30px; position: relative; display:flex; justify-content: space-between;}
.main-project .main-tit {position: relative; width: 20.81%;}
.main-project .main-tit h2 {font-family: 'Titillium Web', sans-serif; color: #242424; font-size:40px; font-weight:600; line-height:1.3em; letter-spacing:-.01em; margin-bottom: 4px;}
.main-project .main-tit p {font-family: 'Pretendard',sans-serif; color: #686868; font-size:16px; font-weight:500; line-height:1.3em; letter-spacing:-.01em;}
.main-project .main-con {flex:1 1 auto; min-width: 0; width: 1%; margin: 0 -7px;}
.main-project .main-con .con {padding: 0 7px;}
.main-project .main-con .con a {display:block;}
.main-project .main-con .con .txt {font-family: 'Pretendard',sans-serif; color: #686868; font-size:16px; font-weight:500; line-height:1.3em; letter-spacing:-.01em; margin-top: 20px;}
.main-project .main-con .con .tit {font-family: 'Pretendard',sans-serif; color: #242424; font-size:20px; font-weight:500; line-height:1.3em; letter-spacing:-.01em; margin-top: 5px;}

.main-project .main-con .img {position:relative; padding-bottom:74.157%; overflow:hidden;}
.main-project .main-con .img 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;}
.main-project .main-con .con:hover .img img {min-height:105% !important;}

.main-project .main-btn {position: absolute; top: 120px; color: #454545; font-size:16px; font-weight:400; line-height:1.3em; letter-spacing: 0;}
.main-project .main-btn:before {content:""; position: absolute; bottom: -2px; left: 0; width: 100%; height: 1px; background-color: #686868;}
.main-project .main-btn:hover {color: #0079c6;}
.main-project .main-btn:hover:before {background-color: #0079c6;}

.main-project .main2-arrows {position: absolute; bottom:0; left: 30px;}
.main-project .main2-arrows .slick-next {background: url(../images/main/project-next.png); background-size: cover;}
.main-project .main2-arrows .slick-prev {background: url(../images/main/project-prev.png); background-size: cover; margin-right: 10px;}
.main-project .main2-arrows .slick-arrow {background-position: 50% 50%; background-repeat: no-repeat; width:50px; height:50px; text-indent:-999em; border:0; overflow:hidden;}

.main-project .main2-arrows .slick-next:hover {background: url(../images/main/project-next-h.png); background-size: cover;}
.main-project .main2-arrows .slick-prev:hover {background: url(../images/main/project-prev-h.png); background-size: cover; margin-right: 10px;}

.main-project .main2-dots {position: absolute; bottom:0; z-index: 10; left: 80px; font-size:14px; font-weight: 500; letter-spacing:-.02em; color:#2c2c2c;}
.main-project .main2-dots .current {color:#7f2000; font-size:17px;}

.main-con {height: auto;}
.main-video {background: url("../images/main/video-bg.jpg")50% 50% no-repeat; background-size: cover;}
.main-video .contain {max-width:1780px; padding: 0 30px;}
.main-video .contain .about{display:flex; padding-top: 130px; margin-bottom: 70px;}
.main-video .contain .about .video {width: 50%;}
.main-video .contain .about .tit {width: 50%;}
.main-video .contain .about .tit h2 {position: relative; margin-bottom: 30px; padding-bottom: 30px; font-family: 'Titillium Web', sans-serif; color: #fff; font-size:40px; font-weight:600; line-height:1.4em; letter-spacing:0;}
.main-video .contain .about .tit h2:before {content:""; position: absolute; width: 70px; height: 3px; background-color: #fff; bottom: 0;}
.main-video .contain .about .tit .tt {font-family: 'Pretendard',sans-serif; margin-bottom: 20px; line-height: 1.25em; color: #fff; font-size:24px; font-weight:500; letter-spacing:-0.01em;}
.main-video .contain .about .tit p {font-family: 'Pretendard',sans-serif; line-height: 1.5em; color: #d5d5d5; font-size:16px; font-weight:400; letter-spacing:0;}

.main-video .contain .boxes {display:flex; flex-wrap:wrap;}
.main-video .contain .boxes .box {width: 25%; height: 440px;}
.main-video .contain .boxes .box a {display:block;}
.main-video .contain .boxes .box .img {overflow:hidden;}
.main-video .contain .boxes .box:hover .img img {transform:scale(1.2); transition: .2s;}
.main-video .contain .boxes .box .text {padding-left: 50px; position: relative; width: 100%; height: 219px; margin-top: -321px;} 
.main-video .contain .boxes .box .tit {margin-bottom: 5px; font-family: 'Titillium Web', sans-serif; color: #fff; font-size:29.74px; font-weight:600; line-height:1.4em; letter-spacing:0;}
.main-video .contain .boxes .box .txt {font-family: 'Pretendard',sans-serif; line-height: 1.375em; color: #fff; font-size:15.86px; font-weight:400; letter-spacing:-0.01em;}
.main-video .contain .boxes .box .more {position: absolute; bottom: 0; font-family: 'Pretendard',sans-serif; line-height: 1.375em; color: #fff; font-size:15.64px; font-weight:500; letter-spacing:-0.01em;}
.main-video .contain .boxes .box:hover .more {font-size:17px}
.main-video .contain .boxes .box .more .img {margin-left: 10px;}

/* sub */
.mobile {display:none;}
#contArea {max-width:1440px; padding-left:30px; padding-right:30px; margin:0 auto;}
#contArea.wide {max-width:100%; padding-left:0; padding-right:0;}

.sub-title {padding:100px 0 50px; text-align:center;}
.sub-title h2 {font-family: 'Montserrat', sans-serif; color:#242424; font-size:35px; line-height:1.4em; letter-spacing:0; font-weight: 600;}

.real-cont {min-height:300px; padding-bottom:100px; 	}

/* footer */
#footer { padding:67px 0 100px 0; background:#57636d; overflow:hidden;}
#footer .contain {display:flex; flex-wrap:wrap; max-width:1780px; padding: 0 30px; margin: 0 auto;}
#footer address {font-style:normal;}

.foot-links {width: 50%;}
.foot-links h2 {font-family: 'Pretendard',sans-serif; color:#fff; font-size:16px; line-height:1.2em; letter-spacing:-.01em; font-weight: 500;}
.foot-links ul {display:flex;}
.foot-links ul li {font-family: 'Pretendard',sans-serif; position: relative; margin-right: 20px; color:#dfdfdf; font-size:14px; font-weight: 400;}
.foot-links ul li:last-child {margin-right: 0;}
.foot-links .copyright {font-family: 'Pretendard',sans-serif;  font-size:14px; color:#dfdfdf;  line-height:1.571em; letter-spacing:-.01em;}

.foot-info {width: 50%;}
.foot-info h2 {font-family: 'Pretendard',sans-serif; color:#fff; font-size:16px; line-height:1.4em; letter-spacing:-.01em; font-weight: 500;}
.foot-info address {font-family: 'Pretendard',sans-serif; color:#dfdede; font-size:14px; line-height:1.571em; letter-spacing:-.01em;}
.foot-info address span {display:inline-block; margin-right: 20px;}

/* pop_wrap */
.pop_wrap h2 {background: #0085cb !important;}
