@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;}

#wrapper {position:relative; width:100%; overflow:hidden;}

#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; margin:0 auto; padding-left:30px; padding-right:30px;}
.contain:after {content:" "; display:block; clear:both;}

/* header */
#header {position:fixed; width:100%; z-index:102; top:0; left:0; right:0;}
#header:after {position:absolute; content:''; bottom:0; left:0; right:0; height:1px; background-color:#fff; opacity:.4;}
#header .contain {max-width:1780px; position:relative; display:flex; align-items:center;}
#header .sitelogo a {display:block; width:216px; height:69px; font-size:0; line-height:0; text-indent:-9999px; background-image:url('../images/common/logo.png'); background-position:0 0; background-repeat:no-repeat; background-size:contain;}

#header .etc {margin-right:40px;}
#header .etc a {margin-right:20px; padding:5px 20px; border:1px solid #fff; color:#fff; font-weight:600; border-radius:30px; display:inline-block;}
#header .etc a:last-child {margin-right:0; font-family:'Montserrat', sans-serif;}
#header .etc i {width:22px; height:22px; margin:-3px 7px 0 0; vertical-align:middle; display:inline-block; background-size:cover; background-repeat:no-repeat; background-position:50% 50%;}
#header .etc .ico1 {background-image:url('../images/common/head_ico1.png');}
#header .etc .ico2 {background-image:url('../images/common/head_ico2.png');}

#header.fixed .etc a {color:#333; border-color:#ddd;}
#header.fixed .etc .ico1 {background-image:url('../images/common/head_ico1_on.png');}
#header.fixed .etc .ico2 {background-image:url('../images/common/head_ico2_on.png');}

#header.header-hover .etc a {color:#333; border-color:#ddd;}
#header.header-hover .etc .ico1 {background-image:url('../images/common/head_ico1_on.png');}
#header.header-hover .etc .ico2 {background-image:url('../images/common/head_ico2_on.png');}

#header.fixed {background-color:#fff;}
#header.fixed:after {background-color:#ddd; opacity:1;}
#header.fixed .sitelogo a {background-image:url('../images/common/logo_on.png');}
#header.fixed #gnb > ul > li > a {color:#242424;}
#header.fixed .btn-m-menu span,
#header.fixed .btn-m-menu span:before,
#header.fixed .btn-m-menu span:after {background-color:#242424;}

#header.header-hover {background-color:#fff;}
#header.header-hover:after {background-color:#ddd; opacity:1;}
#header.header-hover .sitelogo a {background-image:url('../images/common/logo_on.png');}
#header.header-hover #gnb > ul > li > a {color:#242424;}
#header.header-hover .btn-m-menu span,
#header.header-hover .btn-m-menu span:before,
#header.header-hover .btn-m-menu span:after {background-color:#242424;}

html.menu-opened #header {background-color:#fff;}
html.menu-opened #header:after {background-color:#ddd; opacity:1;}
html.menu-opened #header .sitelogo a {background-image:url('../images/common/logo_on.png');}
html.menu-opened #header #gnb > ul > li > a {color:#242424;}

#gnb {position:relative; flex:1;}
#gnb > ul {display:flex; justify-content:center;}
#gnb > ul > li {position:relative; z-index:1;}
#gnb > ul > li > a {min-width:220px; text-align:center; justify-content:center; font-size:20px; height:100px; display:flex; align-items:center; font-weight:600; color:#fff;}
#gnb > ul > li:hover > a {color:#fff !important; background-color:#2d2b44;}
#gnb > ul > li:hover .submenu {background-color:#2d2b44;}
#gnb > ul > li:hover .submenu ul li a {color:#fff;}

#gnb .submenu {height:0; overflow:hidden; position:absolute; left:0; width:100%; text-align:center; z-index:15;}
#gnb .submenu > ul {position:relative; padding:36px 0;}
#gnb .submenu > ul > li {font-size:18px; margin-bottom:22px; line-height:1.65em;}
#gnb .submenu > ul > li:last-child {margin-bottom:0;}
#gnb .submenu > ul > li > a {display:inline-block;}
#gnb .submenu > ul > li:hover > a {text-decoration:underline;}

.submenu-bg {display:none; position:absolute; top:100px; left:0; width:100%; background-color:#fff;}

/* for mobile */
.btn-m-menu {position:relative;width:27px;height:27px;text-align:center;text-indent:-9999em;z-index:50;}
.btn-m-menu span {position:absolute; right:0; top:50%; width:20px; height:2px; background:#fff;}
.btn-m-menu span:before,
.btn-m-menu span:after {content:" "; position:absolute; right:0; width:27px; height:2px; background:#fff; transition-duration:0.3s, 0.3s; transition-delay:0.3s, 0s;}
.btn-m-menu span:before {top:-9px; transition-property:top, transform;}
.btn-m-menu span:after {bottom:-9px; transition-property:bottom, transform;}

.mobile-navigation {color:#fff; position:fixed; top:0; right:0; width:100%; height:100%; overflow:auto; transition:.3s ease-in-out; -ms-transform:translateX(100%); transform:translateX(100%); background:#2d2b44; z-index:102;}
.mobile-navigation .flex {height:100vh; display:flex; align-items:center;}
.mobile-navigation i {flex:1 63%; max-width:63%; text-align:center;}
.mobile-navigation .nav-menu {padding-left:130px; flex:1; position:relative;}
.mobile-navigation .nav-menu:before {left:0; width:1px; height:680px; position:absolute; content:''; top:50%; transform:translateY(-50%); background-color:#575569;}
.mobile-navigation .nav-menu>ul>li {margin-bottom:20px;}
.mobile-navigation .nav-menu>ul>li:last-child {margin-bottom:0;}
.mobile-navigation .nav-menu>ul>li>a {font-size:30px; position:relative; display:block; font-weight:600; line-height:1.3em;}
.mobile-navigation .nav-menu>ul>li.active {margin:80px 0;}
.mobile-navigation .nav-menu>ul>li:first-child.active {margin-top:0;}
.mobile-navigation .nav-menu>ul>li:last-child.active {margin-bottom:0;}
.mobile-navigation .nav-menu>ul>li.active>a {font-size:40px;}
.mobile-navigation .nav-menu .submenu {display:none;}
.mobile-navigation .nav-menu .submenu>ul {margin-top:30px;}
.mobile-navigation .nav-menu .submenu>ul>li {margin-bottom:10px;}
.mobile-navigation .nav-menu .submenu>ul>li:last-child {margin-bottom:0;}
.mobile-navigation .nav-menu .submenu>ul>li>a {font-size:20px; display:block; font-weight:500; line-height:1.4em;}
.mobile-navigation .nav-menu .submenu>ul>li>a:hover {text-decoration:underline;}

.mobile-navigation .home {position:absolute; top:15px; left:100px;}
.mobile-navigation .bot {font-size:15px; color:#d5d5d5; position:absolute; bottom:100px; left:100px;}
.mobile-navigation .bot span {padding-right:35px;}
.mobile-navigation .bot p span:last-child {padding-right:0;}
.mobile-overlay {display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:#000; opacity:0.6; z-index:101;}

.nav-close {top:40px; right:100px; position:fixed; z-index:110; display:none;}

html.menu-opened .nav-close {display:block;}
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 {position:relative; width:100%; line-height:0; overflow:hidden;}
.main-visual .item {position:relative; height:980px; z-index:1; overflow:hidden;}
.main-visual .item .img {position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; background-repeat:no-repeat; background-position:50% 50%; background-size:cover; opacity:1 !important; animation-duration:3s; transition:all 1s ease;}
.main-visual .txt {text-align:center; max-width:1400px; padding:0 30px; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:100%; color:#fff;}
.main-visual .txt strong {font-size:80px; margin-bottom:40px; font-family:'Libre Baskerville', serif; line-height:.8em; letter-spacing:0; display:block;}
.main-visual .txt p {font-size:20px; line-height:1.5em; letter-spacing:.05em; font-weight:300;}
.main-visual br.pc-none {display:none;}

.libre {font-family:'Libre Baskerville', serif;}

.main-visual .slick-arrow {position:absolute; width:26px; height:53px; top:50%; transform:translateY(-50%); z-index:88; border:0; font-size:0; line-height:0; background-color:transparent; background-position:50% 50%; background-repeat:no-repeat; background-size:contain;}
.main-visual .slick-prev {left:60px; background-image:url("/images/main/mv_prev.png");}
.main-visual .slick-next {right:60px; background-image:url("/images/main/mv_next.png");}

.main-visual .slick-dots {position:absolute; bottom:60px; left:0; width:100%; text-align:center; line-height:0; z-index:50;}
.main-visual .slick-dots li {margin:0 7px; display:inline-block;}
.main-visual .slick-dots li button {width:14px; height:14px; font-size:0; line-height:0; border:none; background:#fff; opacity:.4; border-radius:100%;}
.main-visual .slick-dots li.slick-active button {opacity:1;}

.animated {transition:all .5s ease;}

.main-visual [data-animation-in] {opacity:0; animation-duration:1.5s; transition:opacity 0.5s ease 0.3s; transition:1s;}

@keyframes zoomInImage {
 from {transform:scale3d(1.05, 1.05, 1.05); transition:1s;}
 to {transform:scale3d(1, 1, 1); transition:1s;}
}
.zoomInImage {animation-name:zoomInImage;}

@keyframes zoomOutImage {
 from {transform:scale3d(1, 1, 1); transition:1s;}
 to {transform:scale3d(1.08, 1.08, 1.08); transition:1s;}
}
.zoomOutImage {animation-name:zoomOutImage;transition:1s;}

.sc-down {bottom:60px; right:40px; position:absolute; z-index:10; line-height:0; animation:pulse 2s infinite;}

@-webkit-keyframes pulse {
 0% {
 -webkit-transform:translate(0, 0);
 transform:translate(0, 0);}
 50% {
 -webkit-transform:translate(0, 10px);
 transform:translate(0, 10px);}
 100% {
 -webkit-transform:translate(0, 0);
 transform:translate(0, 0);} 
}

@keyframes pulse {
 0% {
 -webkit-transform:translate(0, 0);
 transform:translate(0, 0);}
 50% {
 -webkit-transform:translate(0, 10px);
 transform:translate(0, 10px);}
 100% {
 -webkit-transform:translate(0, 0);
 transform:translate(0, 0);} 
}

.main-sec2 {position:relative; z-index:1; background:#fff;}
.main-sec2 .doc-tit {font-weight:700;}
.main-sec2 .wrap {display:flex; margin:0 -20px;}
.main-sec2 .item {width:25%; padding:0 20px; position:relative;}
.main-sec2 .item .bg {height:440px; background-size:cover; background-repeat:no-repeat; background-position:50% 50%; position:relative;}
.main-sec2 .bg1 {background-image:url('../images/main/main_sec2bg1.jpg');}
.main-sec2 .bg2 {background-image:url('../images/main/main_sec2bg2.jpg');}
.main-sec2 .bg3 {background-image:url('../images/main/main_sec2bg3.jpg');}
.main-sec2 .bg4 {background-image:url('../images/main/main_sec2bg4.jpg');}
.main-sec2 .item .bot {font-size:22px; padding-top:10px; margin-top:40px; border-top:1px solid #242424; font-weight:600; color:#242424; letter-spacing:-.04em;}
.main-sec2 .item:hover .bg:after {position:absolute; content:''; top:0; left:0; right:0; bottom:0; background-color:#000; opacity:.75;}
.main-sec2 .item:hover .inner {display:block;}
.main-sec2 .inner {position:absolute; top:70px; width:100%; left:50%; transform:translateX(-50%); display:none;}
.main-sec2 .inner .title {font-size:36px; color:#fff; line-height:1.4em; letter-spacing:-.03em; text-align:center;}
.main-sec2 .inner ul {margin-top:40px;}
.main-sec2 .inner ul li {margin-bottom:15px;}
.main-sec2 .inner ul li:last-child {margin-bottom:0;}
.main-sec2 .inner ul li a {width:170px; height:45px; margin:0 auto; color:#fff; font-weight:500; border:1px solid rgba(221,221,221,.55); display:flex; text-align:center; align-items:center; justify-content:center;}
.main-sec2 .inner ul li:hover a {background-color:#9a9492; border-color:#9a9492;} 

.main-sec3 {padding:190px 0 310px; background-size:contain; background-position:0 100%; background-image:url('../images/main/sec3bg.png'); background-repeat:no-repeat; overflow:hidden; background-color:#f8f8f8; position:relative;}
.main-sec3 .tit {font-size:80px; font-weight:700; color:#9a9492; line-height:1em;}
.main-sec3 p {margin-bottom:32px; line-height:1.6em;}
.main-sec3 p:last-child {margin-bottom:0;}
.main-sec3 .col-r {width:880px; height:800px; top:-270px; right:-130px; position:absolute;}

.circle-wrap {position:relative;}
.circle-1 {padding-bottom:calc(100% - 2px); border-radius:100%;}
.circle-2 {position:absolute; top:34px; left:34px; right:34px; bottom:34px; border-radius:100%;}
.circle-2 span {position:absolute; top:0; left:0; right:0; bottom:0; border:1px solid #ddd; border-radius:100%; animation:10s circle_rotate linear infinite;}
.circle-2 span:before {content:""; position:absolute; top:0; left:50%; transform:translate(-50%,-50%); background:#9a9492; width:13px; height:13px; border-radius:100%;}
.circle-3 {position:absolute; top:75px; left:75px; right:75px; bottom:75px; background-image:url('../images/main/sec3img.png'); background-size:cover; background-repeat:no-repeat; background-position:50% 50%; /* background:#9a9492; */ border-radius:100%;}
.circle-3 .img {position:absolute; border-radius:100%; box-shadow:1px 3px 10px rgba(0,0,0,.15);}
.circle-3 .img1 {left:-150px; top:50%; transform:translateY(-50%);}
.circle-3 .img2 {bottom:-130px; left:50%; transform:translateX(-50%);}

@keyframes circle_rotate{
	0% {transform:rotate(0);}
	100% {transform:rotate(360deg);}
}

.mobile-br {display:none;}

.main-sec4 {max-width:1920px; margin:0 auto; overflow:hidden;}
.main-sec4 .contain {position:relative;}
.main-sec4 .plus {width:185px; height:50px; top:0; right:30px; position:absolute; align-items:center; justify-content:center; text-align:center; display:flex; color:#2b2b43; font-weight:600; border:1px solid #2b2b43;}
.main-sec4 .plus:hover {color:#fff; background-color:#2b2b43;}
.main-sec4 .doc-tit {font-weight:700; text-align:left !important;}
.prdSlider {position:relative; text-align:center;}
.prdSlider .swiper {margin:0 -25px; width:1920px;}
.prdSlider .thumb {position:relative; padding-bottom:75%; margin-bottom:18px; overflow:hidden;}
.prdSlider .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;}
.prdSlider .swiper-slide {padding:0 25px 95px;}
.prdSlider .swiper-slide .title {font-size:24px; font-weight:600; letter-spacing:-.03em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:#333; line-height:1.3em;}
.prdSlider .swiper-pagination {left:25px; right:25px; max-width:1400px; position:absolute; height:3px; bottom:0; background:#ddd; width:auto;}
.prdSlider .swiper-pagination-progressbar-fill {background-color:#2b2b43 !important;}
.prdSlider .slide-btn {position:absolute; width:29px; height:18px; bottom:30px; z-index:20; border:0; font-size:0; line-height:0; background-color:transparent; background-position:50% 50%; background-repeat:no-repeat; background-size:100% 100%; background-size:contain; display:inline-block;}
.prdSlider .prev {left:0; background-image:url("../images/main/sec4-prev.png");}
.prdSlider .next {right:0; background-image:url("../images/main/sec4-next.png");}
.prdSlider .prev:hover {background-image:url("../images/main/sec4-prev-on.png");}
.prdSlider .next:hover {background-image:url("../images/main/sec4-next-on.png");}

.main-pad {padding:150px 0;}
.main-pad2 {padding:120px 0;}
.main-pad.bgc {background-color:#fafafa;}
.main-pad .contain {max-width:1460px;}

.main-sec5 {background-color:#fafafa;}
.main-sec5 .wrap {display:flex; margin:0 -60px;}
.main-sec5 .col {padding:0 60px; width:50%; position:relative;}
.main-sec5 .col .plus {top:15px; right:60px; position:absolute;}
.main-sec5 .doc-tit {margin-bottom:20px; text-align:left; font-weight:700;}
.main-sec5 ul {border-top:2px solid #2d2b44;}
.main-sec5 ul li {padding:15px 0; border-bottom:1px solid #ddd; align-items:center; background-color:#fff; display:flex;}
.main-sec5 ul li .date {width:90px; text-align:center;}
.main-sec5 ul li .date .year {font-size:14px; font-weight:500; color:#999; letter-spacing:-.03em; line-height:1.4em;}
.main-sec5 ul li .date .day {font-size:30px; font-weight:700; letter-spacing:0; color:#2d2b44;}
.main-sec5 ul li a {padding-left:32px; font-size:18px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-weight:500; flex:1;}
.main-sec5 .col-r ul li .date .day {color:#9a9492;}

/* sub page */
.sub-visual {position:relative; height:571px; color:#fff; overflow:hidden; background:#333;}
.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 strong {font-size:50px; line-height:1em; display:block; 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 {position:relative; width:100%; z-index:1; margin-top:-70px; background-color:rgba(45,43,68,.8);}
.lnb ul {position:relative; display:flex; z-index:2;}
.lnb ul li {position:relative; z-index:1; width:auto;}
.lnb ul li a {font-size:20px; padding:0 30px; height:70px; color:#fff; opacity:.5; letter-spacing:-.03em; font-weight:500; display:flex; align-items:center; position:relative; width:100%; z-index:1;}
.lnb ul li:first-child a {padding-left:0;}
.lnb ul li:last-child a {padding-right:0;}
.lnb ul li.active a {opacity:1;}
.lnb ul li:after {position:absolute; content:''; width:5px; height:5px; top:50%; transform:translateY(-50%); border-radius:100%; right:0; background-color:#fff;}
.lnb ul li:last-child:after {display:none;}

#contArea {width:100%; max-width:1260px; margin:0 auto; padding:0 30px;}
#contArea.wide {max-width:none; padding:0;}

.sub-title {padding:95px 0 75px; text-align:center; position:relative;}
.sub-title:after {width:45px; height:5px; bottom:55px; left:50%; transform:translateX(-50%); background-color:#2d2b44; border-radius:10px; position:absolute; content:'';}
.sub-title h1 {font-size:40px; color:#242424; line-height:1.3em; letter-spacing:-.03em; font-weight:600;}

.real-cont {padding-bottom:130px;}

/* footer */
#footer {font-size:15px; padding:47px 0; letter-spacing:-.03em; color:#ccc; background-color:#242424;}
#footer .contain {max-width:1780px; position:relative;}
.f-logo {position:absolute; top:0; right:30px;}
.f-link {margin-bottom:70px; display:flex;}
.f-link li {margin-right:30px; letter-spacing:0; color:#c3c3c3;}
.f-link li:last-child {margin-right:0;}
.f-info {line-height:1.7em; font-style:normal;}
.f-info span {padding-right:30px;}
.f-info span.copy {margin-top:15px; color:#666; display:block;}
.f-info span a {padding-left:30px; font-size:14px; letter-spacing:-.03em; color:#5a5a5a; color:#242424;}

.go-top {position:fixed; bottom:30px; right:30px; z-index:100;}

.f-desktop {display:block;}
.f-tablet {display:none;}
.f-mobile {display:none;}