@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-family:inherit; font-size:inherit; font-weight:inherit;}
ul,ol,li{list-style:none}
img { border:none; max-width:100%}
em,i{ font-style:normal}
table{ table-layout:fixed; border-collapse:collapse; border-spacing:0;}
/*font{ display:inline-block !important; vertical-align:top !important;}*/
input, button, textarea, select{ font-size:inherit; font-family:inherit; vertical-align:middle}
input[type=button], input[type=submit], button{ cursor:pointer;}
a, input, button, textarea, select, li{ -webkit-tap-highlight-color:transparent}
*:focus, a:focus, input:focus, button:focus, textarea:focus, select:focus{ outline:none;}
input[type="text"],input[type="password"],input[type=button],input[type=submit],input[type="file"],input[type=tel],input[type=image],button,label,textarea,select{ -webkit-appearance:none; -moz-appearance:none; appearance:none;}
select{ padding:0 25px 0 10px; background:url(../images/inc/select_arrow.png) no-repeat right center #fff; max-width:100%;}
select::-ms-expand{ display:none;}

::selection { background:#0052b8; color:#fff !important;}
::-moz-selection { background:#0052b8; color:#fff !important;}

a:link   { color:#333; text-decoration:none}
a:visited{ color:#333;}
a:active { color:#333;}
a:hover  { color:#333; text-decoration:none}

html{ overflow-x:hidden; overflow-y:scroll}
body{ font-family:'NotoSans',sans-serif; font-weight:400; line-height:1.2; letter-spacing:-.5px;}

/*inc*/
.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;}

.vb_h{visibility:hidden !important;}
.vb_v{visibility:visible !important;}

.pr{ position:relative; z-index:inherit}
.pa{ position:absolute; z-index:inherit}
.pf{ position:fixed; 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;}

.di_wrap{ font-size:0}
.di_wrap > *{ display:inline-block; *display:inline; zoom:1; vertical-align:top; font-size:16px; font-size:1rem;}

.fl_wrap{ *zoom:1;}
.fl_wrap > *{ float:left}
.fl_wrap:after{ content:""; display:block; clear:both;}

.di_table{ display:table; table-layout:fixed; width:100%; border-collapse:collapse; border-spacing:0; box-sizing:border-box;}
.di_table .tr{ display:table-row;}
.di_table .th,
.di_table .td{ display:table-cell; vertical-align:middle;}

/**/
.flex{ display:flex}
.flex.wrap{ flex-wrap:wrap}
.flex.col{ flex-direction:column}
.flex.space{ justify-content: space-between}
.flex.spaceA{ justify-content: space-around}
.flex.hc{ justify-content:center}
.flex.hr{ justify-content:flex-end}
.flex.vc{ align-content:center; align-items:center}
.flex.vt{ align-content:flex-start; align-items:flex-start}
.flex .mgL{ margin-left:auto}
.flex .mgR{ margin-right:auto}
.flex .mgT{ margin-top:auto}
.flex .grow{ flex:1 1 1%}

/**/
.sec1 > * { width:100% !important}
.sec2 > * { width:50% !important}
.sec3 > * { width:33.33% !important}
.sec4 > * { width:25% !important}
.sec5 > * { width:20% !important}
.sec6 > * { width:16.66% !important}
.sec7 > * { width:14.28% !important}
.sec8 > * { width:12.5% !important}
.sec9 > * { width:11.11% !important}
.sec10 > *{ width:10% !important}

.tt_cut{ text-overflow:ellipsis; white-space:nowrap; overflow:hidden;}

.vm_wrap{ display:block; text-align:center; white-space:nowrap}
.vm_wrap:before{ content:""; display:inline-block; *display:inline; zoom:1; vertical-align:middle; width:0; height:100%;}
.vm_tt{ display:inline-block; *display:inline; zoom:1; vertical-align:middle; white-space:normal;}
.vm_wrap img{ display:inline-block; *display:inline; zoom:1; vertical-align:middle; max-height:100%;}

.va_wrap{ display:block; text-align:center; white-space: nowrap}
.va_tt{display:inline-block; *display:inline; zoom:1; vertical-align:middle; width:auto; height:auto; white-space:normal}
.va_wrap:before{ content:""; display:inline-block; *display:inline; zoom:1; vertical-align:middle; width:0; height:100%}
.va{display:inline-block; *display:inline; zoom:1; vertical-align:middle; max-width:100%; height:auto; white-space:normal}
.va_wrap img{vertical-align:middle; display:inline-block; *display:inline; zoom:1; max-width:100%; max-height:100%}

.resize{ display:block; height:0; padding-bottom:66.6666%; position:relative}
.resize .re{ position:absolute; left:0; top:0; width:100%; height:100%}
.resize.s1 { padding-bottom:100%;}
.resize.s2 { padding-bottom:66.6666%;}
.resize.s3 { padding-bottom:80%;}
.resize.s4 { padding-bottom:44.99%}
.resize.s5 { padding-bottom:33.99%}
.resize.s6 { padding-bottom:26.99%}
.resize.s7 { padding-bottom:50%}
.resize.s8 { padding-bottom:10%}

.bgFix{ background-position:center !important; background-repeat:no-repeat !important; background-size:cover !important}

.img_resize{ display:block;}
.img_resize img{ max-height:100%;}

.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;}

.input_sec { display:inline-block; *display:inline; zoom:1; vertical-align:middle; text-align:center; width:.8em;}

/**/
.line_ani,
.line_ani_wrap{ position:relative; z-index:inherit}
.line_ani .line{ position:absolute; background:#3578a8; 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:2px}
.line_ani:hover .line.lineR,
.line_ani:hover .line.lineL{ width:2px; 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.rotate{}
.scrollAni.rotate.on{ transform:rotate(180deg)}
.scrollAni.scale{ transform:scale(0)}
.scrollAni.scale.on{ transform:scale(1)}
.scrollAni.scaleX{ transform:scaleX(0); transform-origin:left top}
.scrollAni.scaleX.on{ transform:scaleX(1)}
.scrollAni.scaleX.right{transform-origin:right top}
.scrollAni.scaleY{ transform:scaleY(0); transform-origin:left top}
.scrollAni.scaleY.on{ transform:scaleY(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;}


/**/
.line_ani,
.line_ani_wrap{ position:relative; z-index:inherit}
.line_ani .line{ position:absolute; background:#1dbcb7; width:0; height:0}
.line_ani .line.lineT{ left:-1px; top:-1px; transition:width 0.4s;}
.line_ani .line.lineR{ right:-1px; top:-1px; transition:height 0.4s;}
.line_ani .line.lineB{ right:-1px; bottom:-1px; transition:width 0.4s;}
.line_ani .line.lineL{ left:-1px; bottom:-1px; transition:height 0.4s;}
.line_ani:hover .line.lineT,
.line_ani:hover .line.lineB{ width:100%; height:2px}
.line_ani:hover .line.lineR,
.line_ani:hover .line.lineL{ width:2px; height:100%}

.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 .layer_img{position:absolute; z-index:10000; left:2%; top:2%; width:96%; height:96%;}
.layer_wrap .layer_img img{ position:relative; z-index:2;}

.layer_wrap.on{ visibility:visible}
.layer_wrap.on .layer_bg{ opacity:.7}
.layer_wrap.on .layer_frame{ margin-top:0}

body.pop{background:transparent; display:flex; justify-content:center; align-items:center; width:100vw; height:100vh}
body.pop .popWrap{ position:relative; display:flex; justify-content:center; align-items:center; max-width:96vw}
body.pop .popWrap .popTit{position:absolute; left:0; top:0; width:100%; z-index:1}
body.pop .popWrap .popTit .tit{ display:block; width:100%; text-overflow:ellipsis; white-space:nowrap; overflow:hidden; height:4em; padding:0 2em; border-bottom:1px solid #ccc; background:#fff; box-sizing:border-box; border-radius:5px 5px 0 0; display:flex; align-items:center}
body.pop .popWrap .popTit .tit .t1{ font-weight:700; font-size:1.5em; letter-spacing:-1px; color:#222}
body.pop .popWrap .popTit .popClose{position:absolute; z-index:10000; right:1em; top:.5em; text-align:center; width:3em; line-height:3em; border-radius:100%; text-align:center; box-shadow:0 0 5px 1px rgba(0,0,0,.3); background:#fff; cursor:}
body.pop .popWrap .popTit .popClose .xi{ transition:.3s}
body.pop .popWrap .popTit .popClose .xi:before{ content:"\e9af"}
body.pop .popWrap .popTit .popClose:hover .xi{ transform:rotate(180deg)}
body.pop .popWrap .popIn{ background:#fff; border-radius:5px; box-shadow:1px 1px 10px #333; position:relative; text-align:left; white-space:normal; width:100%; max-width:96vw; max-height:96vh}
body.pop .popWrap .popIn .popCon{ padding:3em 2em 5em 2em}
body.pop .popWrap .popTit + .popIn .popCon{ padding-top:5.5em}

/**/
.pd0{ padding:0 !important;}
.pt0{ padding-top:0 !important;}

.mt0{ margin-top:0 !important;}
.mt5{ margin-top:5px !important;}
.mt10{ margin-top:10px !important;}
.mt20{ margin-top:20px !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;}
.mb20{ margin-bottom:20px !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;}
.ml20{ margin-left:20px !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;}
.mr20{ margin-right:20px !important;}
.mr30{ margin-right:30px !important;}
.mr40{ margin-right:40px !important;}
.mr50{ margin-right:50px !important;}

/**/
.c_black{ color:#000 !important;}
.c_gray{ color:#777 !important;}
.c_blue{ color:#2a5caa !important;}
.c_red{ color:#b91515 !important;}
.c_point{ color:#ff3347 !important;}

.fs10{ font-size:0.625em !important;}
.fs11{ font-size:0.688em !important;}
.fs12{ font-size:0.750em !important;}
.fs13{ font-size:0.813em !important;}
.fs14{ font-size:0.875em !important;}
.fs15{ font-size:0.938em !important;}
.fs16{ font-size:1.000em !important;}
.fs17{ font-size:1.063em !important;}
.fs18{ font-size:1.125em !important;}
.fs19{ font-size:1.188em !important;}
.fs20{ font-size:1.250em !important;}

/**/
.inp_w1{ width:90px}
.inp_w2{ width:180px}
.inp_w3{ width:250px}
.inp_w4{ width:150px}
.inp_w5{ width:160px}
.inp_w6{ width:160px}
.inp_w7{ width:290px}

.inp_w10{ width:10%}
.inp_w15{ width:15%}
.inp_w20{ width:20%}
.inp_w25{ width:25%}
.inp_w30{ width:30%}
.inp_w35{ width:35%}
.inp_w40{ width:40%}
.inp_w45{ width:45%}
.inp_w50{ width:50%}
.inp_w53{ width:53%}
.inp_w60{ width:60%}
.inp_w65{ width:65%}
.inp_w70{ width:70%}
.inp_w75{ width:75%}
.inp_w80{ width:80%}
.inp_w85{ width:85%}
.inp_w90{ width:90%}
.inp_w95{ width:95%}
.inp_w100{ width:100%}
.textarea_w1{ width:100%; height:200px; padding:12px 12px;}
.textarea_w2{ width:100%; height:120px; padding:12px 12px;}


/*nav*/
.l-nav{ background:#fff;}
.l-nav .nav_logo{ padding:0 20px; overflow:hidden;}
.l-nav .nav_logo .vm_wrap{ display:block; height:60px;}
.l-nav .nav_logo .logo{ float:left;}
.l-nav .nav_logo .logo img{ height:35px;}
.l-nav .nav_close{ float:right;}
.l-nav .nav_close .xi{ font-size:2.125em;}

.l-nav .menu_wrap{ display:table; table-layout:fixed; width:100%; background:#2669ea;}
.l-nav .menu_wrap > li{ display:table-cell; vertical-align:middle; text-align:center; height:50px; border-left:1px solid rgba(255,255,255,.3); border-right:1px solid rgba(0,0,0,.2);}
.l-nav .menu_wrap > li > a{ display:block; padding:0 .5em; font-size:1.125em; color:#fff;}
.l-nav .menu_wrap > li:first-child{ border-left:none;}

.l-nav .gnb{ margin:20px; background:#fff; border:1px solid #393a3e; box-shadow:1px 1px 5px rgba(0,0,0,.1); border-radius:3px; overflow:hidden;}
.l-nav .gnb .m_mypage{ display:none;}
.l-nav .gnb .vm_wrap{ text-align:left;}
.l-nav .gnb > li .dp1{ position:relative; display:block; height:40px; padding:0 20px; border-top:1px dashed #ddd; font-size:1.125em; color:#000;}
.l-nav .gnb > li:first-child .dp1{ border-top:none;}
.l-nav .gnb > li .dp1:after{ content:"\e914"; font-family:xeicon; font-size:1.750em; color:#999; position:absolute; right:10px; top:50%; margin-top:-15px;}
.l-nav .gnb > li .dp1.nolink:after{ content:"\e93f";}
.l-nav .gnb > li.on .dp1,
.l-nav .gnb > li .dp1.on{ background:#393a3e; border-color:#393a3e; color:#fff;}
.l-nav .gnb > li.on .dp1:after,
.l-nav .gnb > li .dp1.on:after{ color:#fff;}

.l-nav .gnb .dp2{ display:none; padding:10px 20px; background:#f9f9f9; font-size:1.063em;}
.l-nav .gnb .dp2 > li > a{ position:relative; display:block; padding:10px 0 10px 15px; border-top:1px solid #fff; border-bottom:1px solid #eee;}
.l-nav .gnb .dp2 > li > a:before{ content:"\e97e"; font-family:xeicon; color:#666; position:absolute; left:0; top:50%; margin-top:-7px; width:auto;}
.l-nav .gnb .dp2 > li:first-child > a{ border-top:none}
.l-nav .gnb .dp2 > li:last-child > a{ border-bottom:none}
.l-nav .gnb .dp2 > li.on > a{ color:#2669ea;}
.l-nav .gnb .dp3{ padding:10px 0;}
.l-nav .gnb .dp3 > li > a{ display:block; padding:.3em 15px; font-size:.938em; color:#888;}
.l-nav .gnb .dp3 > li.on > a{ background:#f1f1f1; color:#222;}
.l-nav .gnb > li.on .dp2{ display:block;}

.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:1
}
.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;
}
