@charset "utf-8";/* layout.css는 전체적인 레이아웃 스타일을 정의합니다. */

.fancybox-close {background-color:#242424 !important;}

#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; } 


/* header */
#header {position:fixed; top:0; left:0; width:100%; z-index:90; background:#fff; box-shadow:rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;} 
#header .contain {display:flex; align-items:center; justify-content:space-between; position:relative; height:var(--header-height); max-width:1460px !important;} 
#header .sitelogo a {display:block; width:209px; height:var(--header-height); text-indent:-999em; background-image:url(../images/common/logo-c.png); background-size:contain; background-repeat:no-repeat; background-position: 0 50%;} 

#gnb>ul { display:flex; justify-content:flex-end; margin:0 -18px;} 
#gnb>ul>li { position:relative; text-align:center; padding:0 18px; } 
#gnb>ul>li>a {position:relative; display:flex; align-items:center; flex-direction: column; justify-content:center; height:var(--header-height); color:#242424; font-size:clamp(14px, calc( 18 / var(--inner) * 100vw ), 18px); font-weight:500; letter-spacing:-.1em; line-height:1.3em;}
#gnb>ul>li:hover>a:after { content:""; width:77px; height:2px; background-color:var(--color-3); position:absolute; left:50%; bottom:0; transform:translateX(-50%); } 
#gnb>ul>li:hover>a {color:var(--color-3) !important;}

#gnb .submenu { position:absolute; top:var(--header-height); left:0; width:100%; height:0; overflow:hidden; z-index:20; } 
#gnb .submenu ul { display:block; padding:30px 0 150px; } 
#gnb .submenu ul li { padding-top:10px; text-align:center; } 
#gnb .submenu ul li:first-child {padding-top:0;}
#gnb .submenu ul li a { display:inline-block; color:#454545; line-height:2.2em; position:relative; letter-spacing: -1px;} 
#gnb .submenu ul li a strong {color:#242424;}
#gnb .submenu ul li:hover a {color:var(--color-3) ;}
#gnb .submenu ul li:hover a strong {color:var(--color-3) ;}
#gnb .submenu3 .list {display:block;font-weight:400;line-height:1.625;}

.submenu-bg { background-color:rgba(255, 255, 255, 0.95); } 
.header-fixed .submenu-bg {border-top:1px solid #ddd;}


/* 공통  */
.section {overflow:hidden;}
.flxWrap {display:flex; flex-wrap:wrap;}
.sec-pd {padding: clamp(50px, calc( 120 / var(--inner) * 100vw ), 120px) 0;}
.text-center {text-align:center;}
.text-left {text-align:left !important; }
.align-items-center {align-items:center !important;}
.justify-content-center {justify-content:center !important;}
.main-color {color:var(--color-1) !important;}
.sub-color {color:var(--color-4) !important;}
.red {color:#e32020;}
.pt-0 {padding-top:0 !important;} 
.pb-0 {padding-bottom:0 !important;}
.mb-0 {margin-bottom:0 !important;}
.mt-0 {margin-top:0 !important;}
.pt-45 {padding-top:clamp(30px, 1.4063rem + 1.1719vw, 45px);}
.font-light {font-weight:300 !important;}
.font-medium {font-weight:500 !important;}
.text-center {text-align:center !important;}
.max-wid {max-width:1460px; width:100%; margin:0 auto; padding-left:var(--container-space); padding-right:var(--container-space);}
.sec-titbox {text-align:center; line-height:1.1;}
.sec-titbox .section-tit {font-size:var(--font-size-50-28); font-weight:bold; color:#242424;}
.sec-titbox .section-dec {padding-top:28px; font-size:var(--font-size-18-15); color:#454545; line-height:1.6;}


/* main */
#main-wrap {margin-top:var(--header-height); background-image:url("../images/main/main_bg.jpg"); background-position:top center; position: relative; background-size:cover; background-repeat: no-repeat;}
#main-wrap .contain { padding-left:clamp(30px, calc( 70 / var(--inner) * 100vw ), 70px); padding-right:clamp(30px, calc( 70 / var(--inner) * 100vw ), 70px); max-width:1540px;}
#main-wrap .main-slick {width:100%; max-width:1400px; margin: 0 auto;}
.main-title {text-align: center; padding-top:clamp(120px, calc( 196 / var(--inner) * 100vw ), 196px); margin-bottom:clamp(60px, calc( 140 / var(--inner) * 100vw ), 140px);}
.main-title h1 {font-size: clamp(36px, calc( 70 / var(--inner) * 100vw ), 70px); font-weight: 700; letter-spacing: -.03em; line-height: 1em; color: #fff;}
.main-title p {font-size: clamp(20px, calc( 40 / var(--inner) * 100vw ), 40px); letter-spacing: -.03em; line-height: 1.4em; color:#fff;}
.main-title h2 {margin-top:clamp(18px, calc( 26 / var(--inner) * 100vw ), 26px); font-family:var(--font1); font-size:clamp(24px, calc( 50 / var(--inner) * 100vw ), 50px); font-weight: 500; letter-spacing: -.03em; line-height: 1.2em; color: #fea74a; }

.porduct-slick  {padding-bottom: 50px;}
.porduct-slick .items {margin: 0 -10px;}
.porduct-slick .item {padding: 0 10px; position: relative;}
.porduct-slick .item> a {display: block;}
.porduct-slick .item .img-box {background:#fff; text-align: center; border-radius: 5px;}
.porduct-slick .item .img-box img {margin: 0 auto; display: block; border-radius: 5px;}
.porduct-slick .item .caption {position: absolute; text-align: center; background:rgba(0, 0, 0, .6); top: 0; left: 10px; width: calc(100% - 20px); height: 100%; display: flex;align-items: center;justify-content:center;    flex-direction: column; opacity:0; padding:clamp(20px, calc( 40 / var(--inner) * 100vw ), 40px) clamp(10px, calc( 20 / var(--inner) * 100vw ), 20px); border:5px solid var(--color-4); border-radius:5px;}
.porduct-slick .item .caption p { margin-bottom: clamp(15px, calc( 38 / var(--inner) * 100vw ), 38px); font-size:clamp(18px, calc( 26 / var(--inner) * 100vw ), 26px); font-weight: 700; letter-spacing: -.03em; line-height: 1.4em; color: #fff;  height:clamp(54px, calc( 72 / var(--inner) * 100vw ), 72px);}
.porduct-slick .item .caption .main-btn { display:flex; align-items:center; justify-content:center; background:var(--color-4); font-weight: 500; font-size: clamp(15px, calc( 18 / var(--inner) * 100vw ), 18px); letter-spacing: -.03em;  color: #fff; width:clamp(120px, calc( 200 / var(--inner) * 100vw ), 200px); height:clamp(35px, calc( 50 / var(--inner) * 100vw ), 50px); margin: 0 auto; border-radius:50px; padding: 10px 10px;}
.porduct-slick .item:hover .caption {opacity:1; border-radius: 5px;}
.porduct-slick .slick-arrow {position:absolute;top:50%;margin-top: -22.5px;display:block;width:46px;height:46px;text-indent:-999em;background-position:50% 50%;background-repeat:no-repeat;background-color:transparent;border:0;z-index:30;outline:0;overflow:hidden;}
.porduct-slick .slick-prev {background-image:url("../images/main/main_slick_prev.png"); left:-80px; opacity: .6;}
.porduct-slick .slick-next {background-image:url("../images/main/main_slick_next.png"); right:-80px; opacity: .6;}


/* 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;} 
#sub #contArea {max-width:1260px; margin:0 auto; padding-left:var(--container-space); padding-right:var(--container-space); overflow:hidden;}
#contArea.wide { max-width:100% !important; padding-left:0 !important; padding-right:0 !important;} 
.sub-title { text-align:center;}
.sub-title h1 {padding:clamp(30px, calc( 60 / var(--inner) * 100vw ), 60px) 0 clamp(16px, calc( 32 / var(--inner) * 100vw ), 32px); margin-bottom:clamp(30px, calc( 60 / var(--inner) * 100vw ), 60px); position:relative; font-size:clamp(20px, calc( 28 / var(--inner) * 100vw ), 28px); line-height:var(--line-height-sm); font-weight:bold;} 
.sub-title h1::after {position:absolute; content:''; width: clamp(34px, calc( 40 / var(--inner) * 100vw ), 40px); height: 3px; background:var(--color-1); bottom: 0; left: 50%; margin-left: -20px;} 
.sub-box { display:flex; align-items:center; justify-content:center; width:300px; height:300px; border-radius:var(--border-radius-30); background-color:var(--color-warning); font-size:var(--font-size-20); color:var(--color-white); text-align:center; } 

.real-cont {padding:0 0 clamp(50px, calc( 100 / var(--inner) * 100vw ), 100px);} 

.sub-visual {margin-top:var(--header-height); position:relative; height:300px; 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 {padding-right:var(--container-space); padding-left:var(--container-space); max-width:1260px; width: 100%; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); z-index: 1; color: #fff; text-align: center; } 
.sub-visual .tt-wrap .tit {font-size:clamp(22px, calc( 30 / var(--inner) * 100vw ), 30px); line-height: 1.2em; font-weight: 700; font-family:var(--font2);}

.lnb-wrap {position:relative; margin-top:-30px;  padding-bottom:8px; z-index:10;} 
.lnb {max-width:1400px; width:100%;  margin:0 auto;  box-shadow: rgba(0, 0, 0, 0.3) 0px 3px 8px; background:var(--color-3);}
.lnb ul {display:flex; justify-content:center; }
.lnb ul li {width:auto; text-align:center;}
.lnb ul li.active a {color:#fff;}
.lnb ul li.active a::before {width:clamp(48px, calc( 72 / var(--inner) * 100vw ), 72px);}
.lnb ul li a {display:flex; align-items:center; justify-content:center; padding:0 clamp(20px, calc( 36 / var(--inner) * 100vw ), 36px); position:relative; height:var(--nav-height); line-height:1.2em; font-size: clamp(15px, calc( 18 / var(--inner) * 100vw ), 18px); color:rgba(255, 255, 255, 0.6); text-align:center;}
.lnb ul li a::after {position:absolute; content:''; right:0; top:50%; transform: translateY(-50%); width:1px; height:clamp(15px, calc( 25 / var(--inner) * 100vw ), 25px); background:rgba(255, 255, 255, 0.4);}
.lnb ul li a::before {position:absolute; content:''; bottom:0; left:50%; transform: translateX(-50%); width:0; height:4px; background:#fff;}
.lnb ul li:last-child a::after {display:none;}


/* footer */
#footer {background:#f5f5f5;padding:clamp(25px, calc( 32 / var(--inner) * 100vw ), 32px) 0 clamp(25px, calc( 36 / var(--inner) * 100vw ), 36px); }
#footer .contain {position:relative;}
#footer .row {display:flex; flex-wrap:wrap;}
#footer .img-box {width: 299px; margin-top: 15px;}
#footer .f-info {width: calc(100% - 299px);}
#footer .f-link {margin-bottom: clamp(10px, calc( 16 / var(--inner) * 100vw ), 16px); padding-bottom: clamp(10px, calc( 20 / var(--inner) * 100vw ), 20px); width: 100%; border-bottom:1px solid #ddd; }
#footer .f-link:after {clear: both; display: block; content: '';}
#footer .f-link ul {float: left;}
#footer .f-link ul li {display: inline-block; font-size:clamp(14px, calc( 15 / var(--inner) * 100vw ), 15px); font-weight: 500; color: #686868; line-height: 1.78em; letter-spacing: -.03em; margin-right:clamp(12px, calc( 27 / var(--inner) * 100vw ), 27px); padding-left: 20px; background:url('../images/common/pop_icon.png')center left no-repeat;}
#footer .f-link ul li:last-child {margin-right: 0px;}
#footer .scroll {float:right; position:relative;  padding-left: 21px; ; color: #707070;}
#footer .scroll:before {content:""; position:absolute; left:0px; top:50%; margin-top:-3px; display:inline-block; width:0; height:0; border-left: 8px solid transparent; border-right: 8px solid transparent; border-bottom: 8px solid #707070;}
#footer address.comp-info {font-style:normal; font-size:clamp(13px, calc( 14 / var(--inner) * 100vw ), 14px); font-weight:400; color:#686868; line-height: 1.9em; letter-spacing:-.03em;}
#footer address.comp-info  span {display:inline-block; margin-right:18px; }

/* 메인 퀵 */
.quicklist {position:fixed;right:clamp(5px, calc( 50 / var(--inner) * 100vw ), 50px); top:50%; transform:translatey(-50%);}
.quickitem  + .quickitem {margin-top:10px;}
.quickitem .link {display:block;}
.quickitem .link img {width:clamp(45px, calc( 80 / var(--inner) * 100vw ), 80px);}

/* all menu */
html.menu-all-opened {overflow:hidden;}
html.menu-all-opened .all-navigation {-ms-transform:translateX(0); transform:translateX(0); }
html.menu-all-opened .all-navigation .only-all-menu {display:block;}
html.menu-all-opened .mobile-overlay {display:block;}

.btn-all-menu {position:relative; top:0; right:0; width:24px; height:15px; text-align:center; text-indent:-9999em; z-index:99; transition:all 0.5s ease-in-out; } 
.btn-all-menu span{ position:absolute; right:0; top:0; height:2px; width:24px; background:#fff; } 
.btn-all-menu span:before,
.btn-all-menu span:after { content:" "; position:absolute; right:0; height:2px; background:#fff; transition-duration:0.3s, 0.3s; transition-delay:0.3s, 0s; } 
.btn-all-menu span:before {top:7.5px; width:24px; transition-property:top, transform; } 
.btn-all-menu span:after { bottom:-15px; width:24px; transition-property:bottom, transform; } 

.all-navigation {position:fixed; top:0; right:0; padding:20px 0; width:100%; height:100%; overflow:auto; transition:.3s ease-in-out; -ms-transform:translateX(100%); transform:translateX(100%); background:#fff; z-index:202; } 
.all-navigation .contain {padding-top:200px; max-width:1460px !important;}
.all-navigation .home {display:none;}
.all-navigation .sitelogo {display:block; margin-bottom:20px; padding-left:15px; } 
.all-navigation .sitelogo img { height:23px; } 
.all-navigation .all-nav-menu>ul>li {display:flex; align-items:center; padding:50px 0; border-bottom:1px solid #dfdfdf; } 
.all-navigation .all-nav-menu>ul>li>a {flex:1 0 410px; max-width:410px; position:relative; font-size:36px; font-weight:bold; line-height:1.3em; color:#2c2c2c;}
.all-navigation .all-nav-menu>ul>li>a:hover {color:var(--color-1);}
.all-navigation .all-nav-menu .submenu {flex:1; display:block;} 
.all-navigation .all-nav-menu .submenu>ul {display:flex;}
.all-navigation .all-nav-menu .submenu>ul>li {flex:1 0 25%; max-width:25%; padding-right:15px;}
.all-navigation .all-nav-menu .submenu>ul:after { content:""; display:block; clear:both; } 
.all-navigation .all-nav-menu .submenu>ul>li>a {display:block; position:relative; color:#898989; font-size:18px; font-weight:500; line-height:1.3em; } 
.all-navigation .all-nav-menu .submenu>ul>li>a:hover {color:var(--color-2); text-decoration: underline;}
.all-navigation .close { position:absolute; top:20px; right:100px; width:24px; height:24px; text-indent:-9999em; overflow:hidden; } 
.all-navigation .close:before,
.all-navigation .close:after { content:" "; position:absolute; top:12px; left:0; width:100%; height:2px; background:#2c2c2c; } 
.all-navigation .close:before { transform:rotate(45deg); } 
.all-navigation .close:after { transform:rotate(-45deg); } 


/* for mobile */
.only-mobile { display:none; } 
.btn-m-menu {display:none; position:relative; top:0; right:0; width:20px; height:20px; 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:0; height:2px; width:20px; background:#242424; } 
.btn-m-menu span:before,
.btn-m-menu span:after { content:" "; position:absolute; right:0; height:2px; background:#242424; transition-duration:0.3s, 0.3s; transition-delay:0.3s, 0s; } 
.btn-m-menu span:before {top:10px; width:20px; transition-property:top, transform; } 
.btn-m-menu span:after { bottom:-20px; width:20px; 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 {margin-left:15px; width:180px;}
.mobile-navigation .sitelogo {display:block; margin-bottom:20px; padding-left:15px; } 
.mobile-navigation .sitelogo img { height:23px; } 
.mobile-navigation .nav-menu>ul {margin-top:30px;}
.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:#305e92 } 
.mobile-navigation .nav-menu>ul>li.active>a:after { transform:translateY(-35%) rotate(-135deg); border-color:#305e92; } 
.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:17px; 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:#305e92 } 
.mobile-navigation .nav-menu .submenu>ul>li>a:hover:after { background:#305e92 } 
.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-navigation .submenu3 {display:none !important;}

.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; } 