@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}

.contain {width:100%; max-width:1260px; padding-left:30px; padding-right:30px; margin:0 auto;}
.contain:after {content:""; display:block; clear:both;}

.only-desktop {display:block;}
.only-desktop-tablet {display:block;}
.only-tablet-mobile {display:none;}
.only-tablet {display:none;}
.only-mobile {display:none;}

/* header */
#header {position:relative; width:100%; text-align:center; background:#fff; z-index:100;}
#header .contain {position:relative; max-width:1460px; z-index:2;}

.sitelogo {position:absolute; top:50%; left:30px; margin-top:-30px; z-index:2;}

#gnb {margin:0 114px 0 200px; text-align:right;}
#gnb > ul {display:inline-flex;}
#gnb > ul > li {position:relative; padding:0 35px;}
#gnb > ul > li:after {content:""; position:absolute; bottom:0; left:50%; width:0; height:4px; background:#0000ff; transition:.2s;}
#gnb > ul > li > a {display:block; color:#2c2c2c; font-size:20px; font-weight:500; line-height:120px; letter-spacing:-.04em;}
#gnb > ul > li.active:after {width:40px; margin-left:-20px;}
#gnb .submenu {display:none; position:absolute; left:20px;}
#gnb .submenu ul {display:flex; white-space:nowrap;}
#gnb .submenu ul li {padding:10px 24px;}
#gnb .submenu ul li a {display:block; color:#fff; font-size:16px; font-weight:300; line-height:50px; letter-spacing:-.03em;}
#gnb .submenu ul li a:hover {text-decoration:underline;}
#gnb .m3 .submenu {left:10px;}
#gnb .m5 .submenu {left:-35px;}
#gnb .m6 .submenu {left:auto; right:20px;}

.submenu-bg {display:none; position:absolute; left:0; width:100%; background:#0000ff; opacity:.3;}

.top-link {position:absolute; top:50%; right:30px; margin-top:-12px; color:#505050; font-size:16px; line-height:1.5em;}
.top-link a {display:inline-block; vertical-align:top;}
.top-link .ico-sitemap {padding-left:26px; background:url("../images/common/icon_sitemap.png") 0 50% no-repeat;}

/* for mobile */
.btn-m-menu {display:none; position:absolute; top:50%; right:30px; width:28px; height:28px; margin-top:-14px; text-indent:-9999em; z-index:50;}
.btn-m-menu span {position:absolute; left:0; right:0; top:13px; height:3px; background:#2c2c2c;}
.btn-m-menu span:before,
.btn-m-menu span:after {content:" "; position:absolute; left:0; right:0; height:3px; background:#2c2c2c;}
.btn-m-menu span:before {top:-10px;}
.btn-m-menu span:after {bottom:-10px;}

.mobile-navigation {display:none; 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:102;}
.mobile-navigation .home {padding:20px 20px;}
.mobile-navigation .home img {height:40px;}
.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:11px 20px; display:block; color:#242424; font-size:17px; font-weight:600; 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:12px; height:12px; border-right:2px solid #454545; border-bottom:2px solid #454545;}
.mobile-navigation .nav-menu>ul>li.active>a {color:#0000ff;}
.mobile-navigation .nav-menu>ul>li.active>a:after {transform:translateY(-35%) rotate(-135deg); border-color:#0000ff;}
.mobile-navigation .nav-menu .submenu {display:none; padding:16px 20px; background:#0000ff; color:#fff; font-size:15px; font-weight:300; line-height:1.5em;}
.mobile-navigation .nav-menu .submenu > ul > li > a {display:block; padding:6px 0;}
.mobile-navigation .close {position:absolute; top:27px; 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:2px;}
.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 {position:relative; background:#000; height:800px; overflow:hidden;}
.main-visual .item {position:relative; height:800px; overflow:hidden;}
.main-visual .img {position:absolute; top:0; left:0; width:100%; height:100%; transition:4s; transform:scale(1.08); background-position:50% 50%; background-repeat:no-repeat; background-size:cover;}
.main-visual .bg1 {background-image:url("../images/main/mv1.jpg");}
.main-visual .bg2 {background-image:url("../images/main/mv2.jpg");}
.main-visual .caption {position:absolute; top:50%; left:0; width:100%; padding:0 50px; text-align:center; transform:translateY(-50%); color:#fff;  z-index:50;}
.main-visual .caption .t1 {font-size:56px; font-weight:700; line-height:1.3em; letter-spacing:-.04em; margin-bottom:25px;}
.main-visual .caption .t2 {font-size:24px; font-weight:300; line-height:1.3em; letter-spacing:-.04em;}
.main-visual .active .img {transform:scale(1);}
.main-visual .slick-dots {position:absolute; bottom:60px; left:0; width:100%; line-height:0; text-align:center; z-index:50;}
.main-visual .slick-dots li {display:inline-block; vertical-align:top; margin:0 9px;}
.main-visual .slick-dots li button {position:relative; display:block; overflow:hidden; width:30px; height:30px; opacity:.4; border-radius:100%; background:transparent; border:1px solid transparent; text-indent:-9999em; font-size:0; line-height:0;}
.main-visual .slick-dots li button:after {content:""; position:absolute; top:50%; left:50%; margin:-6px 0 0 -6px; width:12px; height:12px; background:#fff; border-radius:100%;}
.main-visual .slick-dots li.slick-active button {opacity:1; border-color:#fff;}

#main .contain {max-width:1460px;}

.m-head {text-align:center; margin-bottom:47px;}
.m-head h2 {color:#2c2c2c; font-size:42px; line-height:1.3em; margin-bottom:15px;}
.m-head p {color:#505050; font-size:18px; line-height:1.4em;}

.main-about {position:relative; padding:100px 0; background:url("../images/main/about_bg.png") 0 0 no-repeat;}
.main-about:before {content:""; position:absolute; top:0; left:0; width:100%; height:100%; background:url("../images/main/about_bg2.png") 100% 100% no-repeat;}
.main-about .contain {position:relative; z-index:2;}
.main-about .m-head {text-align:left;}
.main-about .m-head h2 {margin-bottom:26px;}
.main-about ul {display:flex; align-items:flex-start;}
.main-about ul li {margin-right:33px; text-align:center;}
.main-about ul li:last-child {margin-right:0;}
.main-about ul li:nth-child(odd) {padding-top:40px;}
.main-about ul li a {display:block; width:180px; height:180px; padding:39px 0 0; background:#fff; border:1px solid #dfdfdf; color:#2c2c2c; font-size:18px; line-height:1.4em;}
.main-about ul li i {display:block; margin:0 auto 24px; width:60px; height:60px; background-position:50% 50%; background-repeat:no-repeat; transition:.2s;}
.main-about ul li .ico-1 {background-image:url("../images/main/about_icon1.png");}
.main-about ul li .ico-2 {background-image:url("../images/main/about_icon2.png");}
.main-about ul li .ico-3 {background-image:url("../images/main/about_icon3.png");}
.main-about ul li a:hover {color:#fff; background:#0000ff; border-color:#0000ff;}
.main-about ul li a:hover i {transform:translateY(-5px)}
.main-about ul li a:hover .ico-1 {background-image:url("../images/main/about_icon1_on.png");}
.main-about ul li a:hover .ico-2 {background-image:url("../images/main/about_icon2_on.png");}
.main-about ul li a:hover .ico-3 {background-image:url("../images/main/about_icon3_on.png");}

.main-product {background:#fafafa; padding:100px 0;}
.main-product .slider {position:relative; padding:0 55px;}
.main-product .slider .swiper-container {padding:0 30px;}
.main-product .slider ul li {text-align:center;}
.main-product .slider ul li a {display:block;}
.main-product .slider ul li .thumb {position:relative; height:0; padding-bottom:100%; overflow:hidden; margin-bottom:13px;} 
.main-product .slider ul li .thumb:after {content:""; position:absolute; top:0; left:0; right:0; bottom:0; border:1px solid #dfdfdf; transition:.2s;}
.main-product .slider ul li .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;}
.main-product .slider ul li .tit {color:#2c2c2c; font-size:18px; line-height:1.4em;}
.main-product .slider ul li a:hover .thumb {box-shadow:5px 5px 30px rgba(0,0,0,.15);}
.main-product .slider ul li a:hover .thumb:after {border:6px solid #0000ff;}
.main-product .slider ul li a:hover .tit {color:#0000ff}
.main-product .slide-btn {position:absolute; top:50%; margin-top:-47px; width:55px; height:55px; border-radius:100%; overflow:hidden; text-indent:-999em; background-color:#333; background-position:50% 50%; background-repeat:no-repeat;}
.main-product .slide-btn.prev {left:0; background-image:url("../images/main/pro_slide_prev.png");}
.main-product .slide-btn.next {right:0; background-image:url("../images/main/pro_slide_next.png");}

.main-equipment {padding:100px 0; overflow:hidden;}
.main-equipment ul {display:flex; padding:0 -25px;}
.main-equipment ul li {width:25%; padding:0 25px; text-align:center;}
.main-equipment ul li a {position:relative; display:flex; align-items:center; justify-content:center; color:#fff; height:350px; background-position:50% 50%; background-repeat:no-repeat; background-size:cover;}
.main-equipment ul li a:before {content:""; position:absolute; top:0; left:0; right:0; bottom:0; background:#000; opacity:.3; transition:.2s;}
.main-equipment ul li a:after {content:""; position:absolute; top:0; left:0; right:0; bottom:0; transition:.2s;}
.main-equipment ul li .bg1 {background-image:url("../images/main/equ1.jpg");}
.main-equipment ul li .bg2 {background-image:url("../images/main/equ2.jpg");}
.main-equipment ul li .bg3 {background-image:url("../images/main/equ3.jpg");}
.main-equipment ul li .bg4 {background-image:url("../images/main/equ4.jpg");}
.main-equipment ul li .tit {position:relative; width:100%; padding:15px; font-size:24px; font-weight:500; line-height:1.4em;}
.main-equipment ul li .tit .more {display:none; margin:33px auto 0; width:140px; height:50px; font-size:16px; font-weight:400; line-height:48px; border:1px solid #fff;}
.main-equipment ul li a:hover {box-shadow:5px 5px 30px rgba(0,0,0,.15);}
.main-equipment ul li a:hover::before {opacity:.7;}
.main-equipment ul li a:hover::after {border:12px solid #0000ff;}
.main-equipment ul li a:hover .tit .more {display:block;}

.main-links ul {display:flex;}
.main-links ul li {width:50%; text-align:center;}
.main-links ul li a {display:flex; align-items:center; justify-content:center; font-size:32px; font-weight:700; line-height:1.3em; color:#fff; height:200px; background-position:50% 50%; background-repeat:no-repeat; background-size:cover;}
.main-links ul li a span:after {content:""; display:inline-block; vertical-align:middle; margin:-.2em 0 0 20px; transition:.2s; width:55px; height:55px; background:url("../images/main/arrow.png") 50% 50% no-repeat; border:1px solid #fff; border-radius:100%;}
.main-links ul li a:hover span:after {transform:translateX(10px);}
.main-links ul li .bg1 {background-image:url("../images/main/link1.jpg");}
.main-links ul li .bg2 {background-image:url("../images/main/link2.jpg");}

/* sub */
.sub-visual {height:360px; padding-bottom:60px; text-align:center; overflow:hidden; display:flex; align-items:center; justify-content:center; color:#fff; background-color:#eee; background-repeat:no-repeat; background-position:50% 50%; background-size:cover;}
.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.bg5 {background-image:url("../images/common/sv5.jpg");}
.sub-visual.bg6 {background-image:url("../images/common/sv6.jpg");}
.sub-visual h2 {font-size:46px; line-height:1.3em; letter-spacing:0.04em;}
.sub-visual.none-path {padding-bottom:0;}

.path-wrap {position:relative; margin-top:-60px; z-index:50;}
.path-wrap:after {content:""; display:block; clear:both;}
.path-wrap .inner {display:flex; max-width:1200px; margin:0 auto; background:rgba(0,0,0,.7);}
.path-wrap .home a {display:block; overflow:hidden; text-indent:-999em; width:60px; height:60px; background:#0000ff url("../images/common/home.png") 50% 50% no-repeat;}
.path-wrap .path {position:relative; min-width:260px; border-right:1px solid rgba(255,255,255,.3);}
.path-wrap .path:nth-child(2) {min-width:250px;}
.path-wrap .path > a {display:block; position:relative; height:60px; color:#fff; line-height:60px; font-size:18px; font-weight:400; letter-spacing:-.04em; padding:0 60px 0 20px;}
.path-wrap .path > a:after {content:""; position:absolute; top:50%; right:30px; margin-top:-7px; width:14px; height:14px; background:url("../images/common/path_down.png") 50% 50% no-repeat;}
.path-wrap .path ul {display:none; position:absolute; left:-1px; right:-1px; background:#f4f4f4; border:1px solid #dfdfdf;}
.path-wrap .path ul li {border-bottom:1px solid #dfdfdf;}
.path-wrap .path ul li:last-child {border-bottom:0;}
.path-wrap .path ul li a {display:block; padding:14px 19px; font-size:16px; font-weight:400; line-height:1.4em; letter-spacing:-.04em;}
.path-wrap .path ul li a:hover,
.path-wrap .path ul li.active a {background:#fff; color:#0000ff;}

.sub-title {text-align:center; padding:95px 0 50px;}
.sub-title h2 {color:#2c2c2c; font-size:36px; line-height:1.3em; letter-spacing:-.04em;}
.sub-title h2:after {content:""; display:block; width:8px; height:8px; background:#0000ff; margin:15px auto 0; border-radius:100%;}
.sub-title.none-dot {padding-bottom:65px;}
.sub-title.none-dot h2:after {display:none;}

#contArea {max-width:1260px; padding-left:30px; padding-right:30px; margin:0 auto;}

.real-cont {padding-bottom:100px; min-height:300px;}

/* footer */
#footer {color:#7f7f7f; font-size:14px; font-weight:300; line-height:1.5em; letter-spacing:-.03em; background:#1e1e1e;}
#footer address {font-style:normal;}
#footer .contain {max-width:1400px;}

.foot-links {border-bottom:1px solid #313131; padding:13px 0;}
.foot-links ul {display:flex;}
.foot-links ul li {padding:0 20px; position:relative;}
.foot-links ul li:before {content:""; position:absolute; top:50%; left:0; width:1px; height:18px; margin-top:-9px; background:#4f4f4f}
.foot-links ul li:first-child {padding-left:0;}
.foot-links ul li:first-child::before {display:none;}
.foot-links ul li:last-child {padding-right:0;}
.foot-links ul li a {display:inline-block; padding-left:22px; color:#fff; font-size:16px; font-weight:200; line-height:1.5em; background:url("../images/common/icon_link.png") 0 4px no-repeat;}

.foot-info {padding:26px 0;}
.foot-info .contain {display:flex; align-items:center;}
.foot-info .f-logo {order:2; width:270px; text-align:right;}
.foot-info .f-info {flex:1 1 auto; min-width:0; width:1%;}
.foot-info .f-info span {display:inline-block; vertical-align:top; margin:3px 15px 3px 0;}
.foot-info .f-info .comp {font-size:16px; color:#fff;}
.foot-info .f-info .copyright {margin-top:12px;}