@charset "utf-8";
/* CSS Document */

html{-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%; overflow-x:hidden; overflow-y:scroll}
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; 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, label{ display:inline-block; font-size:inherit; font-family:inherit; color:inherit; vertical-align: baseline}
strong,h1,h2,h3,th{ font-weight:inherit}
input[type=button], button, textarea, select{ appearance:none;-webkit-appearance:none; -moz-appearance: none; max-width:100%; cursor:pointer}
select{ max-width:100%; background:url(../images/inc/arrow_down.svg) right .75em center no-repeat #fff; background-size:.85em auto}
a, input, button, textarea, select, li{ -webkit-tap-highlight-color:transparent}
a:focus, input:focus, button:focus, textarea:focus, select:focus{ outline:none}
a:focus:not(:focus-visible), input:focus:not(:focus-visible), button:focus:not(:focus-visible), textarea:focus:not(:focus-visible), select:focus:not(:focus-visible){ outline: none}
iframe{ border:none}
a,
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: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}

.ffEN{ font-family: "Orbitron", SUIT, sans-serif; font-optical-sizing: auto; font-weight: <weight>;  font-style: normal;}

/*inc*/
.conIdx{ width:0; height:0; overflow:hidden; visibility:hidden}
.conIdx.on{ width:auto; height:auto; visibility:visible}

.dwrap{ overflow:hidden}
.dwrap img{ position:relative; width:1980px; left:50%; margin-left:-990px; display:block; max-width:none}

.layerWrap{ position:fixed; left:0; top:0; width:100%; height:100%; z-index:1003}
.layerWrap .layerBg{position:absolute; z-index:9999; width:100%; height:100%; left:0; top:0; background:#000; opacity:.5}
.layerWrap .layerFrame{ 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%}

.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:var(--siteC); background-clip: padding-box; border:none}
.scrollst::-webkit-scrollbar-button  { width: 0; height: 0;}
.scrollst.c1::-webkit-scrollbar-track{ background:#aaa}
.scrollst.c1::-webkit-scrollbar-thumb{ background-color:#333}

.wrapHide{ position:absolute; opacity:0; width:0; z-index:-1; visibility: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:#1f5aa7}
.load .loading_st{ display:none}

.swiperBtn{ width:2.5em; height:2.5em; position: static; display:flex; align-items:center; justify-content:center; z-index:100; cursor:pointer; font-size:1.125em; opacity:1; transition:.3s}
.swiperBtn:before{font-family:xeicon}
.swiperBtn.prev:before{content:"\e93d"}
.swiperBtn.next:before{content:"\e940"}
.swiperBtn.pause:before{content:"\ea3b"}
.swiperBtn.play:before{content:"\ea3e"}
.swiperBtn.ab{ position:absolute; top:50%;}
.swiperBtn.ab.prev{ left:0; transform:translate(-50%, -50%)}
.swiperBtn.ab.next{ right:0; transform:translate(50%, -50%)}
.swiperBtn.ab.in.prev{ transform:translate(.5em, -50%)}
.swiperBtn.ab.in.next{ transform:translate(-.5em, -50%)}
.swiperBtn.line{ border:1px solid #ddd}
.swiperBtn.round{ border-radius:50%}
.swiperBtn.s1{ font-size:2em}
.swiperBtn.ico1.prev:before{ content:"\e908"}
.swiperBtn.ico1.next:before{ content:"\e90b"}
.swiperBtn:hover{ background:#111; color:#fff}
.swiperBtn.white{ color:#fff; border-color:rgba(255,255,255,.5)}
.swiperBtn.c1{ background:#ddd; color:#666;}
.swiperBtn.line.white:hover,
.swiperBtn.line.white.play{ background:#1f5aa7; border-color:rgba(255,255,255,.2)}

.swiperControl{ display:flex; align-items:center; gap:.5em; z-index:10}
.swiperControl.hc{ justify-content:center;}
.swiperControl .paging{ position:relative; width:auto; display:flex; align-items:center; gap:.5em}
.swiperControl .paging.grow{ flex:1 1 0%; min-width:0}
.swiperControl .paging:first-child{ margin-right:1em}
.swiperControl .paging.swiper-pagination-progressbar{ height:2px;}
.swiperControl .paging.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{ background:#111}
.swiperControl .paging.swiper-pagination-fraction{ line-height:1}
.swiperControl .paging.swiper-pagination-fraction > span.swiper-pagination-current{ color:var(--siteC); font-size:1.375em; font-weight:700}
.swiperControl .paging.swiper-pagination-fraction > span.swiper-pagination-total{ color:#333; padding-left:.5em; margin-left:.5em; position:relative}
.swiperControl .paging.swiper-pagination-fraction > span.swiper-pagination-total:before{ content:""; position:absolute; left:0; top:0; width:1px; height:100%; background:#333; transform:rotate(30deg)}
.swiperControl .paging .swiper-pagination-bullet{ position:relative; border:1px solid #111; background:none; opacity:1; border-radius:0; width:.5em; height:.5em; margin:0; transition:.5s}
.swiperControl .paging .swiper-pagination-bullet.swiper-pagination-bullet-active{ background:#111; transform:rotate(45deg)}
.swiperControl .paging.white.swiper-pagination-progressbar{ filter:brightness(0) invert(1)}

.swiperPauseWrap .play{ display: none}
.swiperPauseWrap.pause .play{ display: flex; background:#111; color:#fff}
.swiperPauseWrap.pause .pause{ display: none}
.swiperPaging span.swiper-pagination-progressbar-fill{ background:#111}
.slider_wrap{ position:relative}

.fadeAni{ animation-name: fadeAni; animation-duration: 2s; animation-iteration-count: infinite}
@keyframes fadeAni{
30% {opacity:0}
50% {opacity:1}
}
.fadeAni:hover{animation-name: none}

.rotateAni{ animation-name: rotateAni; animation-duration: 20s; transform-origin:center; animation-timing-function:linear; animation-iteration-count: infinite}
@keyframes rotateAni{
100% {transform:rotate(360deg)}
}

.moveDownAni{ animation-name: moveDownAni; animation-duration: 3s; transform-origin:center; animation-iteration-count: infinite}
@keyframes moveDownAni{
50% { transform:translateY(1em)}
}
.moveDownAni:hover{animation-name: none}

.downAni{ animation-name: downAni; animation-duration: 3s; animation-iteration-count: infinite}
@keyframes downAni{
70% { transform:translateY(0)}
85% { transform:translateY(.5em)}
100% { transform:translateY(0)}
}

.textAniW{ display:flex; line-height:1}
.textAni{ animation: textAni 10s linear infinite; white-space:nowrap}
.textAni:before{ content:"·"; padding:0 .25em}
@keyframes textAni {
0% {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
100% {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
}
}

.scaleAni{ animation-name: scaleAni; animation-duration: 4s; animation-iteration-count: infinite; animation-direction:alternate}
@keyframes scaleAni{
100% { transform:scale(1.2)}
}

.yAni{ animation-name: yAni; animation-duration: 5s; animation-iteration-count: infinite; animation-timing-function:linear; animation-direction:alternate}
@keyframes yAni{
0% { transform:translateY(0)}
25% { transform:translateY(-2em)}
75% { transform:translateY(2em)}
100% { transform:translateY(0)}
}
.yAni.d1{ animation-delay:.5s}
.yAni.d2{ animation-delay:1s}
.yAni.d3{ animation-delay:1.5s}
.yAni.d4{ animation-delay:2s}
.yAni.d5{ animation-delay:2.5s}

.circleAni{ animation-name: circleAni; animation-duration: 2s; animation-iteration-count: infinite; opacity:0}
@keyframes circleAni{
50% { opacity:1}
100% { padding:.75em; opacity:0}
}
.circleAni.d1{ animation-delay:.5s}
.circleAni.d2{ animation-delay:1s}
.circleAni.d3{ animation-delay:1.5s}

.scrollAni{ opacity:0}
.scrollAni.on{ opacity:1; transition:1s; 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:.6s}
.scrollAni.delay.on:nth-child(4){ transition-delay:.9s}
.scrollAni.delay.on:nth-child(5){ transition-delay:1.2s}
.scrollAni.delay.on:nth-child(6){ transition-delay:1.5s}
.scrollAni.delay.on:nth-child(7){ transition-delay:1.8s}
.scrollAni.delay.on:nth-child(8){ transition-delay:2.1s}
.scrollAni.delay.on:nth-child(9){ transition-delay:2.4s}
.scrollAni.delay.on:nth-child(10){ transition-delay:2.7s}

.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.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.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}

.soon{background:#fff; border:1px solid transparent; background:#f5f5f5; color:#333; height:50vh; padding:1em}
.soon .img{ width:10em; padding-bottom:120%; margin-right:2em}
.soon .xi{ font-size:16em; opacity:.1}
.soon .tt .t1{ display:block; font-weight:700; font-size:3em}
.soon .tt .t2{ display:block; font-size:1.25em; opacity:.5}

.animationStop *{animation: none !important;  transition: none !important;}