@charset "utf-8";
/* CSS Document */
@-ms-viewport{width:device-width}
html{-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;}
html,body,div,p,span,a,img,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,form,input,select,textarea,button,label,fieldset,table,tr,td,th,tbody,thead,tfoot,caption,video,strong,em,i,b{margin:0;padding:0; word-break:keep-all; font-size:inherit}
ul,ol,li{list-style:none}
img { border:none; max-width:100%}
em,i{ font-style:normal}
table{ border-collapse:collapse; border-spacing:0;}
span, strong, a, em, i, b, input, button, textarea, select{ font-size:inherit; font-family:inherit; vertical-align:middle}
strong,h1,h2,h3,th{ font-weight:inherit}
input[type=button], input[type=submit], button{ cursor:pointer}
select{ max-width:100%}
input[type=text], input[type=button], input[type=submit], input[type=tel], input[type=file], button, label, textarea{ appearance:none;-webkit-appearance:none; -webkit-border-radius:0}
a, input, button, textarea, select, li{ -webkit-tap-highlight-color:transparent}

a:link{color:#111;text-decoration:none}
a:visited{color:#111;}
a:active{color:#111;}
a:hover{color:#111;text-decoration:none}

html{overflow-x:hidden}
body{font-family:'ns',sans-serif; font-weight:400; line-height:1.3; letter-spacing:-.5px; opacity: 0;}
body.fix, html.fix{ overflow-y:hidden; height:100%}
body.load{ opacity:1;}

/*inc*/

.flex{ display:flex}
.flex.wrap{ flex-wrap:wrap}
.flex.col{ flex-direction:column}
.flex.space{ justify-content: space-between}
.flex.vspace{ align-content:space-between}
.flex.hc{ justify-content:center}
.flex.hr{ justify-content:flex-end}
.flex.vt{ align-content:flex-start; align-items:flex-start}
.flex.vc{ align-content:center; align-items:center}
.flex.vb{ align-content:flex-end; align-items:flex-end}
.flex .mgL{ margin-left:auto}
.flex .mgR{ margin-right:auto}
.flex .mgT{ margin-top:auto}

.cp{ cursor:pointer !important}

.al{ text-align: left !important;}
.ac{ text-align: center !important;}
.ar{ text-align: right !important;}

.vt{ vertical-align:top !important;}
.vm{ vertical-align:middle !important;}
.vb{ vertical-align:bottom !important;}

.fl{ float:left !important;}
.fr{ float:right !important;}
.cl{ clear:both !important; display:block}
.oh{ overflow:hidden !important;}

.pr{ position:relative; z-index:inherit}
.pa{ position:absolute; z-index:inherit}
.pa100{ position:absolute; z-index:inherit; left:0; top:0; width:100%; height:100%}

.di{display:inline-block; *display:inline; zoom:1;}
.db{ display:block !important;}
.dn{ display:none !important;}

.wrap_idx{ overflow:hidden}
.con_idx{ position:relative}
.con_idx > .idx{ position:absolute; left:0; top:0; width:100%; visibility:hidden;filter:alpha(opacity=0);opacity:0;}
.con_idx > .idx.on{ position:relative; visibility: visible; filter:alpha(opacity=100);opacity:1;}

.fixWrap{position:relative;}
.fixWrap .fixIn{ position:absolute; height:100%}
.fixWrap .fixIn .fixObj{ position:absolute; transition:.3s}
.fixWrap .fixIn .fixObj.scroll{ position:fixed}
.fixWrap .fixIn .fixObj.bottom{ position:absolute; bottom:0}

.line_ani,
.line_ani_wrap{ position:relative; z-index:inherit}
.line_ani .line{ position:absolute; background:#111; width:0; height:0}
.line_ani .line.lineT{ left:0; top:-1px; transition:width 0.3s;}
.line_ani .line.lineR{ right:-1px; top:0; transition:height 0.3s;}
.line_ani .line.lineB{ right:0; bottom:-1px; transition:width 0.3s;}
.line_ani .line.lineL{ left:-1px; bottom:0; transition:height 0.3s;}
.line_ani:hover .line.lineT,
.line_ani:hover .line.lineB{ width:100%; height:3px}
.line_ani:hover .line.lineR,
.line_ani:hover .line.lineL{ width:3px; height:100%}

.scrollAni{ visibility:hidden; transition:.5s}
.scrollAni.on{ visibility:visible}
.scrollAni.moveL{ transform:translateX(-10em); opacity:0}
.scrollAni.moveL.on{ transform:translateX(0); opacity:1}
.scrollAni.moveR{ transform:translateX(10em); opacity:0}
.scrollAni.moveR.on{ transform:translateX(0); opacity:1}
.scrollAni.moveT{ transform:translateY(7em); opacity:0}
.scrollAni.moveT.on{ transform:translateY(0); opacity:1}
.scrollAni.moveB{ transform:translateY(-7em); opacity:0}
.scrollAni.moveB.on{ transform:translateY(0); opacity:1}

.scrollAni .delay1 { transition-delay:.6s;}
.scrollAni .delay2 { transition-delay:.9s;}
.scrollAni .delay3 { transition-delay:1.2s;}
.scrollAni .delay4 { transition-delay:1.5s;}
.scrollAni .delay5 { transition-delay:1.8s;}
.scrollAni .delay6 { transition-delay:2.1s;}
.scrollAni .delay7 { transition-delay:2.4s;}
.scrollAni .delay8 { transition-delay:2.7s;}
.scrollAni .delay9 { transition-delay:3.0s;}
.scrollAni .delay10{ transition-delay:3.3s;}

.gnbLineWrap{ position:relative}
.gnbLineWrap .gnbLine{ position:absolute; bottom:0; height:2px; background:#990000; opacity:0}
.gnbLineWrap .gnbLine.on{ transition:left .3s; opacity:1}
.gnbLineWrap .gnbLine.st1{ bottom:-1px; height:1px; background:#000}

.layer_wrap{ position:fixed; left:0; top:0; width:100%; height:100%; visibility:hidden; z-index:1000}
.layer_wrap .layer_bg{position:absolute; z-index:9999; width:100%; height:100%; left:0; top:0; background:#000; opacity:0; transition:.5s}
.layer_wrap .layer_frame{ position:absolute; z-index:10000; left:0; top:0; margin-top:90%; width:100%; height:100%; transition:.5s}

.layer_wrap.on{ visibility:visible}
.layer_wrap.on .layer_bg{ opacity:.5}
.layer_wrap.on .layer_frame{ margin-top:0}

body.pop{background:transparent}
body.pop .popWrap{ position:absolute; left:2%; top:2%; width:96%; height:96%; text-align:center; white-space:nowrap}
body.pop .popWrap:before{ content: ""; display: inline-block; width: 0; height: 100%; margin-right: -4px; vertical-align: middle}
body.pop .popWrap .popIn{ display: inline-block; vertical-align: middle; background:#fff; border-radius:0 0 5px 5px; box-shadow:1px 1px 10px #333; position:relative; text-align:left; white-space:normal;max-height:100%; max-width:100%;}
body.pop .popWrap .popIn:before{ content: attr(data-tit); position:absolute; left:0; top:0; width:100%; z-index:1; color:#fff; display:block; left:0; top:0; padding:.7em 4em .7em 1em; font-weight:700; font-size:1.25em; letter-spacing:-1px; background:#111; text-overflow:ellipsis; white-space:nowrap; overflow:hidden; box-sizing:border-box}
body.pop .popWrap .popIn .popCon{ padding:4.5em 1.25em 2em 1.25em; min-width:250px}
body.pop .popWrap .popIn .popClose{position:absolute; z-index:10000; right:0; top:0; width:1.75em; padding:.3em 0; color:#fff; text-align:center;font-size:2rem; opacity:.8}
body.pop .popWrap .popIn .popClose:hover{ opacity:1}

/*특허 팝업창*/
.layerImg_bg{ width:100%; height:100%; background:#000; position:fixed; z-index:9999; left:0; top:0; display:none; filter:alpha(opacity=70);opacity:0.7;}
.layer_img {border:3px solid #081c36; width:500px !important; left:50% !important; margin-left:-250px !important;}
.layer_img img{ min-width:500px;}



/*nav*/
.l-nav{ background:#fff;}
.l-nav .nav_logo{ position:relative; padding:15px 20px; text-align:left;}
.l-nav .nav_logo .logo{ display:block; height:40px;}
.l-nav .nav_logo img{ height:2.2em}
.l-nav .nav_close{ display:block; position:absolute; z-index:inherit; right:1em; top:5%; margin-top:-15px; font-size:1.5em; z-index: 99;}
.l-nav .nav_close:before{ content:"\e921"; font-family:xeicon;}

.l-nav .menu_wrap{ background:#2a8f93;}
.l-nav .menu_wrap .menu{}
.l-nav .menu_wrap .menu .vm_wrap{ height:35px;}
.l-nav .menu_wrap .menu > li{ font-size:.875rem;}
.l-nav .menu_wrap .menu > li > a{ color:#fff; border-left:1px solid rgba(255,255,255,.3);}
.l-nav .menu_wrap .menu > li:first-child > a{ border-left:none;}

.l-nav .column{ padding:10px 10px 20px 10px; background:#f5f5f5;}
.l-nav .gnb{ margin:5px 10px 0 10px; background:#fff; border:1px solid #393a3e; box-shadow:1px 1px 5px rgba(0,0,0,.1); border-radius:3px; overflow:hidden; font-size:inherit}
.l-nav .gnb:first-child{ margin-top:0;}
.l-nav .gnb > li{ width:100%}
.l-nav .gnb > li .dp1{ position:relative; display:block; height:50px !important; padding:0 20px; border-top:1px dashed #ddd; font-size:.875em; color:#000; width:100%; text-align:left; padding-left:20px}
.l-nav .gnb > li:first-child .dp1{ border-top:none;}
.l-nav .gnb > li .dp1:after{content:"\e942"; font-family:xeicon; font-size:1.750em; color:#555; position:absolute; right:50px; top:50%; margin-top:-14px;}
.l-nav .gnb > li .dp1.nolink:after{content:"\e93f";}
.l-nav .gnb > li .dp1.on{ background:#393a3e; border-color:#393a3e; color:#fff;}
.l-nav .gnb > li .dp1.on:after{ color:#fff;}
.l-nav .gnb.point{ background:#1c1c1f; border:none;}
.l-nav .gnb.point > li .dp1{ color:#fff;}
.l-nav .gnb.point > li .dp1:after{ color:#fff;}

.l-nav .gnb .dp2{ display:none; padding:10px 20px; background:#f9f9f9; font-size:.875em;}
.l-nav .gnb .dp2 > li{ width:100%}
.l-nav .gnb .dp2 > li > a{ display:block; height: auto !important; padding:10px 0; border-top:1px solid #fff; border-bottom:1px solid #eee; text-align:left; font-size:.875em}
.l-nav .gnb .dp2 > li > a:before{ content:"\e97e"; font-family:xeicon; color:#666; margin-right:20px; vertical-align:middle;}
.l-nav .gnb .dp2 > li:first-child > a{ border-top:none}
.l-nav .gnb .dp2 > li:last-child > a{ border-bottom:none}

.l-wrapper{ overflow:hidden}
.l-main {
  -webkit-transition: -webkit-transform 500ms ease;
  -moz-transition: -moz-transform 500ms ease;
  -o-transition: -o-transform 500ms ease;
  transition: transform 500ms ease;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  position: relative;
  z-index: inherit;
  overflow: hidden;
}

.l-nav {
  -webkit-transition: opacity 700ms ease;
  -moz-transition: opacity 700ms ease;
  -o-transition: opacity 700ms ease;
  transition: opacity 700ms ease;
  opacity: 0;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 0;
  overflow-y: auto;
  overflow-x: hidden;
  z-index:11111111
}
.l-nav::-webkit-scrollbar {width: 0;}

html.l-nav-open .l-nav{width: 80%;}

html.l-nav-open,
html.l-nav-open body {
  height: 100%;
  overflow: hidden
}
html.l-nav-closing body {
  background: none;
}
html.l-nav-open .l-main {/*
  -webkit-transform: translate3d(-80%, 0, 0);
  -moz-transform: translate3d(-80%, 0, 0);
  -o-transform: translate3d(-80%, 0, 0);
  transform: translate3d(-80%, 0, 0);
  */
}
html.l-nav-open .l-nav {
  -webkit-overflow-scrolling: touch;
  -moz-overflow-scrolling: touch;
  -ms-overflow-scrolling: touch;
  -o-overflow-scrolling: touch;
  overflow-scrolling: touch;
  opacity: 1;
  -webkit-box-shadow: 0 0 0.5625rem #666;
  box-shadow: 0 0 0.5625rem #666;
}
.l-nav-open .l-nav,
.l-nav-closing .l-nav {
  display: block;
}






@media screen and (-webkit-min-device-pixel-ratio:0){
body.pop .popWrap .popIn .popClose{padding:.2em 0;}
}

/**/
.pd0{ padding:0 !important;}
.pt0{ padding-top:0 !important;}

.mt0{ margin-top:0 !important;}
.mt3{ margin-top:3px !important;}
.mt5{ margin-top:5px !important;}
.mt10{ margin-top:10px !important;}
.mt15{ margin-top:15px !important;}
.mt20{ margin-top:20px !important;}
.mt25{ margin-top:25px !important;}
.mt30{ margin-top:30px !important;}
.mt40{ margin-top:40px !important;}
.mt50{ margin-top:50px !important;}

.mb0{ margin-bottom:0 !important;}
.mb5{ margin-bottom:5px !important;}
.mb10{ margin-bottom:10px !important;}
.mb15{ margin-bottom:15px !important;}
.mb20{ margin-bottom:20px !important;}
.mb25{ margin-bottom:25px !important;}
.mb30{ margin-bottom:30px !important;}
.mb40{ margin-bottom:40px !important;}
.mb50{ margin-bottom:50px !important;}

.ml0{ margin-left:0 !important;}
.ml5{ margin-left:5px !important;}
.ml10{ margin-left:10px !important;}
.ml15{ margin-left:15px !important;}
.ml20{ margin-left:20px !important;}
.ml25{ margin-left:25px !important;}
.ml30{ margin-left:30px !important;}
.ml40{ margin-left:40px !important;}
.ml50{ margin-left:50px !important;}

.mr0{ margin-right:0 !important;}
.mr5{ margin-right:5px !important;}
.mr10{ margin-right:10px !important;}
.mr15{ margin-right:15px !important;}
.mr20{ margin-right:20px !important;}
.mr25{ margin-right:25px !important;}
.mr30{ margin-right:30px !important;}
.mr40{ margin-right:40px !important;}
.mr50{ margin-right:50px !important;}

.fwB{ font-weight:700}
.fwM{ font-weight:500}
.fwR{ font-weight:400}
.fwL{ font-weight:300}

.fs32{ font-size:2em !important}
.fs15{ font-size:.938em !important}
.fs14{ font-size:.875em !important}
.fs13{ font-size:.813em !important}
.fs12{ font-size:.75em !important}

.sec2 > li{ width:50% !important}
.sec3 > li{ width:33.33% !important}
.sec4 > li{ width:25% !important}
.sec5 > li{ width:20% !important}
.sec6 > li{ width:16.66% !important}
.sec7 > li{ width:14.28% !important}
.sec8 > li{ width:12.5% !important}
.sec9 > li{ width:11.11% !important}
.sec10 > li{ width:10% !important}

.flex-viewport{height:0; opacity:0; overflow:hidden; width:100%; margin-right:-1px}
.flex-viewport:before,
.flex-viewport:after{ content:"";}
.flex-viewport ~ *{ opacity:0}
.ready .flex-viewport{ height:auto; opacity:1; transition:.3s}
.ready .flex-viewport ~ *{ opacity:1; transition-delay:.1s}
.slides{ overflow:hidden}
.slides > li{ overflow:hidden}

.scrollst{ overflow:hidden}

.loading_st{position:fixed; left:0; top:0; width:100%; height:100%; z-index:1001; text-align:center; transition:.3s}
.loading_st .xi:before{ content:"\ec34"; font-size:3em; color:#00a3dd}
.load .loading_st{ display:none}

.fadeAni{ animation-name: fadeAni; animation-duration: 2s; animation-iteration-count: infinite}
@keyframes fadeAni{
30% {opacity:0}
50% {opacity:1}
}
.fadeAni:hover{animation-name:none;}

.prewrap{white-space:pre-wrap;}

.soon{background:#f5f5f5; height:50vh; padding:1em}
.soon .xi{ font-size:20em; opacity:.1}
.soon .tt .t1{ display:block; font-weight:700; font-size:3em; color:#333}
.soon .tt .t2{ display:block; font-size:1.5em; color:#999}
