@charset "utf-8";
/* CSS Document */
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; font-weight:inherit; color:inherit;}
ul,ol,li{ list-style:none;}
p, span, a, div, li, dd, dt, h1, h2, h3, h4, label, strong, em, b, i{word-break: keep-all;}
img { border:none; max-width:100%;}
em,i{ font-style:normal !important;}
strong,th{ font-weight:800;}
b{ font-weight:900;}
table{ table-layout:fixed; border-collapse:collapse; border-spacing:0;}
input, button, textarea, select{ display:inline-block; vertical-align:middle; font-family:inherit;}
input[type=button], input[type=submit], button, input[type=checkbox], input[type=radio]{ cursor:pointer;}
select{ max-width:100%;}
*:focus{ outline:none;}
a, input, button, textarea, select, li{ -webkit-tap-highlight-color:transparent;}
input[type="text"],input[type="password"],input[type=button],input[type=submit],input[type="file"],button,label,textarea{ appearance:none; -webkit-appearance:none; -moz-appearance:none;}

::selection     { background:#1864ab; color:#fff !important;}
::-moz-selection{ background:#1864ab; color:#fff !important;}

a,
a:visited,
a:active,
a:hover{ text-decoration:none;}

body {font-family:SUIT,sans-serif; font-weight:400; line-height:1.3; color:#111; font-size:16px; -webkit-font-smoothing:antialiased}
/* body{font-family:ptd,sans-serif; font-weight:400; line-height:1.3; color:#111; font-size:16px; -webkit-font-smoothing:antialiased} */
body:not(.pop){ display:flex; flex-direction:column; min-height:100vh; min-height:calc(var(--vh, 1vh) * 100)}
html.pop body{ display:block; min-height:inherit}
html.hidden{ overflow-y:hidden}
#contents {overflow: hidden;}
.dp2_greetings #contents{overflow: unset;}

/*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;}
.vs{ vertical-align:baseline !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;}
.pf{ position:fixed; z-index:inherit;}
.pa100{ position:absolute; left:0; top:0; width:100%; height:100%}

.di{ display:inline-block; *display:inline; zoom:1;}
.db{ display:block !important;}
.dn{ display:none !important;}

/*inc*/
.con_idx { position: relative}
.con_idx>.idx { position: absolute; left: 0; top: 0; width: 100%; visibility: hidden; filter: alpha(opacity=0); opacity: 0; display: none; } 
.con_idx>.idx.on { position: relative; visibility: visible; filter: alpha(opacity=100); opacity: 1; display: block; } 

.dwrap{ position:relative; width:2000px; left:50%; margin-left:-1000px}



/**/
.layer_wrap{ position:fixed; left:0; top:0; width:100%; height:100%; z-index:1003}
.layer_wrap .layer_bg{position:absolute; z-index:9999; width:100%; height:100%; left:0; top:0; background:#000; opacity:.5}
.layer_wrap .layer_frame{ position:absolute; z-index:10000; left:0; top:0; width:100%; height:100%}
html.pop{background:transparent; display:flex; justify-content:center; align-items:center; width:100%; height:100vh}
html.pop .popWrap{ position:relative; display:flex; flex-direction:column; justify-content:center; max-width:96vw; height:90vh}
html.pop .popWrap .popTit{ position:relative; z-index:1; padding:.5em 1em .5em 2em; display:flex; align-items:center; background:var(--siteC); border-radius:.5em .5em 0 0; transform:translateY(1px); color:#fff}
html.pop .popWrap .popTit .tit{ flex:1 1 100%}
html.pop .popWrap .popTit .tit .t1{ font-weight:700; font-size:1.375em}
html.pop .popWrap .popTit .tit .t2{ font-weight:700; font-size:1.125em}
html.pop .popWrap .popTit .popClose{ flex:0 0 auto; text-align:center; width:3em; line-height:3em; border-radius:100%; text-align:center; opacity:.6}
html.pop .popWrap .popTit .popClose .xi{ transition:.3s; font-size:1.75em}
html.pop .popWrap .popTit .popClose .xi:before{ content:"\e9af"}
html.pop .popWrap .popTit .popClose:hover{ opacity:1}
html.pop .popWrap .popTit .popClose:hover .xi{ transform:rotate(180deg)}
html.pop .popWrap .popIn{ box-sizing:border-box; padding:2em 2em 3em 2em;  background:#fff; border-radius:0 0 .5em .5em; box-shadow:1px 1px 10px #333; position:relative}
html.pop .popWrap .popIn .popCon{ min-height:5em}
html.pop .popWrap .popBtn{ position:relative; z-index:1; display:flex; background:#fff; border-radius:0 0 .5em .5em; transform:translateY(1px); overflow:hidden; padding-top:.5em; margin-top:-.5em; box-sizing:border-box}
html.pop .popWrap .popBtn:before{ content:""; position:absolute; left:0; top:0; height:.5em; width:100%; background:#fff}
html.pop .popWrap .popBtn .input_st{ border-radius:0}

html.pop .popWrap.st1{ width:100%; background:rgba(0,0,0,.8); max-width:100vw; height:100vh; position:fixed; left:0; top:0}
html.pop .popWrap.st1 .popTit{ background:none; border-bottom:1px solid rgba(255,255,255,.2); color:#fff; padding:.5em 2em}
html.pop .popWrap.st1 .popTit .popClose{ color:#fff}
html.pop .popWrap.st1 .popIn{ flex:1 1 0%; min-height:0; padding:0; background:none; border-radius:0; box-shadow:none; padding:0}
html.pop .popWrap.st1 .popIn .popCon{ height:100%}

html.pop .popWrap.img {width: 25vw; opacity: 0; transform: scale(0.5); transition: 0.5s;}
html.pop .popWrap.img.ani {opacity: 1; transform: scale(1);}
html.pop .popWrap.img .popTit {background: transparent; padding: 0 0 1em 0; justify-content: flex-end;}
html.pop .popWrap.img .popTit .popClose .xi {color: #fff; text-align: right;}
html.pop .popWrap.img .tit .t1 {display: inline-block; font-size: 1.125rem; color: #fff; font-weight: 500; margin-top: 1rem;}



.scrollst{overflow-y:auto; scrollbar-width: thin; scrollbar-color: gray transparent;scrollbar-face-color: #666;
  scrollbar-track-color: #f1f1f1;
  scrollbar-arrow-color: none;
  scrollbar-highlight-color: #f1f1f1;
  scrollbar-3dlight-color: none;
  scrollbar-shadow-color: #fff;
  scrollbar-darkshadow-color: none;}
.scrollst::-webkit-scrollbar  { width: 5px}
.scrollst::-webkit-scrollbar-track  { background-color:#f5f5f5}
.scrollst::-webkit-scrollbar-thumb  { border-radius: 10px; background-color:#7996ad; background-clip: padding-box; border:none}
.scrollst::-webkit-scrollbar-button  { width: 0; height: 0;}

/**/
.pd0{ padding:0 !important;}
.pt0{ padding-top:0 !important;}
.pb0{ padding-bottom:0 !important;}

.mg0 { margin: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;}
.mb60{ margin-bottom:60px !important;}

.ml0 { margin-left:0 !important;}
.ml5 { margin-left:5px !important;}
.ml10{ margin-left:10px !important;}
.ml20{ margin-left:20px !important;}
.ml23{ margin-left:23px !important;}
.ml29{ margin-left:29px !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;}

.ps05{ margin-top:.5em !important}
.ps1{ margin-top:1em !important}
.ps2{ margin-top:2em !important}
.ps3{ margin-top:3em !important}
.ps4{ margin-top:4em !important}
.ps5{ margin-top:5em !important}
.ps{ margin-top:5em !important}


/**/
.c_white { color:#fff !important;}
.c_black { color:#000 !important;}
.c_gray  { color:#777 !important;}
.c_dgray { color:#555 !important;}
.c_blue  { color:#2b9cbb !important;}
.c_red   { color:#fb2217 !important;}
.c_orange{ color:#f55110 !important;}
.c_green { color:#3dab1d !important;}
.c_point { color:#1e489e !important;}
.c_point2 { color:#ed6e33 !important;}
.c_point3 { color:#ddd !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;}
.fs21{ font-size:1.6em !important;}

.fsS{ font-size:0.875em !important;}
.fsB{ font-size:1.250em !important;}

.fwL { font-weight:300}
.fwR { font-weight:400}
.fwB { font-weight:700}
.fwEB{ font-weight:900}
.fwB2 {font-weight:600}
.fwB3 {font-weight:500}

.fstL { text-decoration:underline;}
.fstLV{ text-decoration:line-through;}
.fstUC{ text-transform:uppercase;}
.fstH1{ line-height:1.4 !important;}
.fstH2{ line-height:1.6 !important;}
.fstH3{ line-height:1.8 !important;}

/*loadingBar*/
#loadingBar{position:relative;width:100%;}
.loadingBar{ position:absolute; left:0; top:0; width:100%; height:1000px; background:rgba(255,255,255,.5); z-index:98;}

/*tooltip*/
.ui-tooltip{ position:absolute; z-index: 9999; max-width:20em !important; padding:.5em 1em !important; background:#fff !important; border:1px solid #ccc !important; border-radius:.25em !important; font-size:.750em !important; font-family:'Malgun Gothic',sans-serif !important; font-weight:inherit !important; box-shadow:none !important;}
.ui-helper-hidden{ display:none;}
.ui-helper-hidden-accessible{ border:0; clip:rect(0 0 0 0); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; width:1px;}

/*soon*/
.soon{background:#f5f5f5; height:50vh; padding:1em}
.soon .img{ width:10em; padding-bottom:120%; margin-right:2em}
.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.25em; color:#999}

/**/
.loader_wrap{ position: fixed; left:0; top:0; width:100vw; height:100vh; z-index:10000; background:rgba(255,255,255,.5); display:flex; justify-content:center; align-items:center}
.load .loader_wrap{ display:none}
.loader{animation: rotate 1s infinite; height: 50px; width: 50px;}
.loader:before,
.loader:after{ border-radius: 50%; content: ''; display: block; height: 20px; width: 20px;}
.loader:before{ animation: ball1 1s infinite; background-color: #cb2025; box-shadow: 30px 0 0 #f8b334; margin-bottom: 10px;}
.loader:after{ animation: ball2 1s infinite; background-color: #00a096; box-shadow: 30px 0 0 #97bf0d;}
@keyframes rotate {
0% { transform: rotate(0deg) scale(0.8);}
50% { transform: rotate(360deg) scale(1.2);}
100% { transform: rotate(720deg) scale(0.8);}
}
@keyframes ball1 {
0% { box-shadow: 30px 0 0 #f8b334;}
50% { box-shadow: 0 0 0 #f8b334; margin-bottom: 0; transform: translate(15px,15px); }
100% { box-shadow: 30px 0 0 #f8b334; margin-bottom: 10px;}
}
@keyframes ball2 {
0% { box-shadow: 30px 0 0 #97bf0d;}
50% { box-shadow: 0 0 0 #97bf0d; margin-top: -20px; transform: translate(15px,15px);}
100% { box-shadow: 30px 0 0 #97bf0d; margin-top: 0;}
}


.scrollAni{ opacity:0}
.scrollAni.on{ opacity:1; transition:.5s; transition-timing-function:ease-out;}
.scrollAni.on.ts2{ transition:2s}
.scrollAni.fade{ opacity:0}
.scrollAni.fade.on{ opacity:1}
.scrollAni.moveL{ transform:translateX(-10rem); }
.scrollAni.moveL.on{ transform:translateX(0); }
.scrollAni.moveR{ transform:translateX(10rem)}
.scrollAni.moveR.on{ transform:translateX(0)}
.scrollAni.moveT{ transform:translateY(10rem)}
.scrollAni.moveT.on{ transform:translateY(0)}
.scrollAni.moveB{ transform:translateY(-10rem)}
.scrollAni.moveB.on{ transform:translateY(0)}
.scrollAni.width{ width:0}
.scrollAni.width.on{ width:100%}
.scrollAni.scale.on{ transform:scale(1)}
.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.zoomOut{ transform:scale(1.3)}
.scrollAni.zoomOut.on{ transform:scale(1)}
.scrollAni.zoomIn{ transform:scale(.7); border-radius:1em}
.scrollAni.zoomIn.on{ transform:scale(1); border-radius:0}
.scrollAni.radius{ border-radius:3em; transition:3s;}
.scrollAni.radius.on{ border-radius:0}
.scrollAni.delay.on:nth-child(2){ transition-delay:.3s}
.scrollAni.delay.on:nth-child(3){ transition-delay:.5s}
.scrollAni.delay.on:nth-child(4){ transition-delay:.7s}
.scrollAni.delay.on:nth-child(5){ transition-delay:.9s}
.scrollAni.delay.on:nth-child(6){ transition-delay:1.1s}
.scrollAni.delay.on:nth-child(7){ transition-delay:1.3s}
.scrollAni.delay.on:nth-child(8){ transition-delay:1.5s}
.scrollAni.delay.on:nth-child(9){ transition-delay:1.7s}
.scrollAni.delay.on:nth-child(10){ transition-delay:1.9s}


.gsSplit > i{ min-width:.25em; transform:translateY(0); opacity:0}
.gsSplit.on > i{ animation-name: splitAni; animation-duration: .3s; animation-fill-mode: forwards;}
@keyframes splitAni{
30% { transform:translateY(-.75em); opacity:0}
100% {transform:translateY(0); opacity:1}
}
.gsSplit.on.d1 > i{animation-duration: 1s}

.gsSvg > path{ transform:translateY(0); opacity:0}
.gsSvg.on > path{ animation-name: splitSvgAni; animation-duration: 1.5s; animation-fill-mode: forwards;}
@keyframes splitSvgAni{
30% { transform:translateY(-200%); opacity:0}
100% {transform:translateY(0); opacity:1}
}
.gsSvg.on > path:nth-child(2){ animation-delay:.1s}
.gsSvg.on > path:nth-child(3){ animation-delay:.2s}
.gsSvg.on > path:nth-child(4){ animation-delay:.3s}
.gsSvg.on > path:nth-child(5){ animation-delay:.4s}
.gsSvg.on > path:nth-child(6){ animation-delay:.5s}
.gsSvg.on > path:nth-child(7){ animation-delay:.6s}
.gsSvg.on > path:nth-child(8){ animation-delay:.7s}

.gsClass.opacity{ opacity:0; transition:1.5s}
.gsClass.opacity.on{ opacity:1}

.gsClass.move{ opacity:0; transition:.5s}
.gsClass.move.mT{ transform:translateY(10vmin)}
.gsClass.move.mB{ transform:translateY(-10vmin)}
.gsClass.move.mL{ transform:translateX(20vmin)}
.gsClass.move.mR{ transform:translateX(-20vmin)}
.gsClass.move.on{ opacity:1; transform:translate(0)}

.gsClass.tShow .el{ overflow:hidden}
.gsClass.tShow .el > i{ transform:translateY(10vh); transition:1s}
.gsClass.tShow.on .el > i{transform:translateY(0)}
.gsClass.tShow.on .el.d1 > i{ transition-delay:.3s}
.gsClass.tShow.on .el.d2 > i{ transition-delay:.6s}
.gsClass.tShow.on .el.d3 > i{ transition-delay:.9s}

.gsClass.tEffect{background: linear-gradient(90deg, #000, #000 50%, rgba(0,0,0,0.2) 0); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-size: 200% 100%; background-position: 100%}
.gsClass.tEffect.on{background-position: 0; transition:2s; transition-timing-function:cubic-bezier(0.5, 0, 1, 1)}

.gsClass.imgShow{overflow:hidden}
.gsClass.imgShow .el{ transition:1s;}
.gsClass.imgShow.left .el{ transform:translateX(-100%)}
.gsClass.imgShow.right .el{ transform:translateX(100%)}
.gsClass.imgShow.top .el{ transform:translateY(-100%)}
.gsClass.imgShow.bottom .el{ transform:translateY(100%)}
.gsClass.imgShow.on .el{transform:translate(0)}

.gsClass.listShow .el{ transform:translateY(20vmin); opacity:0; transition:1s}
.gsClass.listShow.on .el{ transform:translateY(0); opacity:1}
.gsClass.listShow.on .el:nth-child(1){ transition-delay:.2s}
.gsClass.listShow.on .el:nth-child(2){ transition-delay:.4s}
.gsClass.listShow.on .el:nth-child(3){ transition-delay:.6s}
.gsClass.listShow.on .el:nth-child(4){ transition-delay:.8s}
.gsClass.listShow.on .el:nth-child(5){ transition-delay:1s}
.gsClass.listShow.on .el:nth-child(6){ transition-delay:1.2s}
.gsClass.listShow.on .el:nth-child(7){ transition-delay:1.4s}
.gsClass.listShow.on .el:nth-child(8){ transition-delay:1.6s}
.gsClass.listShow.on .el:nth-child(9){ transition-delay:1.8s}
.gsClass.listShow.on .el:nth-child(10){ transition-delay:2s}
.gsClass.listShow.st1 .el{ transform:rotateY(180deg)}
.gsClass.listShow.st1.on .el{ transform:rotateY(0deg)}

.gsClass.accordion .el{ transition:1.5s}
.gsClass.accordion .el:nth-child(1){ transform:translate(0,0)}
.gsClass.accordion .el:nth-child(2){ transform:translate(-100%,0)}
.gsClass.accordion .el:nth-child(3){ transform:translate(-200%,0)}
.gsClass.accordion .el:nth-child(4){ transform:translate(-300%,0)}
.gsClass.accordion.on .el{ transform:translate(0,0)}

.gsClass.on{transition-timing-function:ease-in}
.gsClass.on.d1{ transition-delay:.3s}
.gsClass.on.d2{ transition-delay:.6s}