@charset "utf-8";
/* CSS Document */

html{-ms-text-size-adjust: 100%; overflow:hidden}
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: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}

.scrollst{scrollbar-width: thin; scrollbar-color:#DDD transparent}
.scrollstX{ overflow-x:auto; scrollbar-width: thin; scrollbar-color:#aaa transparent}
.preW{ white-space:pre-wrap;}

/*inc*/
.conIdx:not(.on){position: absolute; z-index: -1; display: inline-block; overflow: hidden; height: 1px; width: 1px; border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); word-break: initial; word-wrap: initial;}

.dwrap{ overflow:hidden}
.dwrap img{ position:relative; width:1920px; left:50%; margin-left:-960px; display:block; max-width:none}

.inLayer{ position:relative; z-index:1; color:#555; font-weight:500; color:#666; font-size:1rem}
.inLayer .inLayerBtn{ cursor:pointer; position:relative; z-index:1}
.inLayer .inLayerBtn .arrow{ margin-left:.5em; transition:.3s}
.inLayer .inLayerBtn .arrow:before{ content:"\ee1e"; font-family:fontello}
.inLayer .inLayerCon{position:absolute; left:-1em; top:100%; width:max-content; margin-top:.75em; background:#fff; border-radius:1em; box-shadow:0 0 1em rgba(0,0,0,.2); opacity:0; visibility:hidden; transform:translateY(1em); box-sizing:border-box; padding:1em}
.inLayer .inLayerCon:before{ content:"\e856"; font-family:fontello; position:absolute; left:.75em; transform:translateY(30%); bottom:100%; color:#fff; line-height:1; font-size:2em}
.inLayer .inLayerCon .txt{ font-size:.875em}
.inLayer.right .inLayerCon{ left:auto; right:0}
.inLayer.right .inLayerCon:before{ left:auto; right:.75em}
.inLayer.on .inLayerBtn .arrow{ transform:rotate(180deg)}
.inLayer.on .inLayerCon{transition:.3s; opacity:1; visibility:visible; transform:translateY(0)}

.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:94vh; filter:drop-shadow(0 0 1em rgba(0,0,0,.2))}
html.pop .popWrap .popTit{ flex:0 0 auto; position:relative; z-index:1; padding:1em 1.5em; display:flex; align-items:center; background:var(--siteGra); border-radius:.5em .5em 0 0; color:#fff}
html.pop .popWrap .popTit .tit{ flex:1 1 0%; min-width:0; line-height:1.1}
html.pop .popWrap .popTit .tit .t1{ font-weight:700; font-size:1.313em}
html.pop .popWrap .popTit .tit .t2{ font-weight:700; font-size:1.125em}
html.pop .popWrap .popTit .popClose{ width:2em; height:2em; display:flex; align-items:center; justify-content:center}
html.pop .popWrap .popTit .popClose .fi{ font-size:1.5em}
html.pop .popWrap .popTit .popClose .fi:before{ content:"\e8c2"}
html.pop .popWrap .popTit .popClose:hover{ opacity:1}
html.pop .popWrap .popIn{ flex:0 1 auto; box-sizing:border-box; padding:1.5em; padding-bottom:2.5em; background:#fff; position:relative; overflow-y:auto}
html.pop .popWrap .popIn:last-child{ border-radius:0 0 .5em .5em;}
html.pop .popWrap .popIn .popCon{ min-height:5em}
html.pop .popWrap .popBtn{ flex:0 0 auto; position:relative; overflow:hidden; border-radius:0 0 .5em .5em; display:flex;}
html.pop .popWrap .popBtn > *{ flex:1;}
html.pop .popWrap .popBtn .input_st{ border-radius:0; font-size:1.063em; font-weight:500}
html.pop .popWrap .popBtn .st{ display:flex; align-items:center; justify-content:center; text-align:center; height:4em; gap:.5em; border:none; background:#f5f5f5; position:relative; color:#777}
html.pop .popWrap .popBtn .st:before{ content:""; position:absolute; left:-1px; top:0; width:100%; height:100%; border:1px solid #ddd; border-right:none; border-bottom:none}
html.pop .popWrap .popBtn .st .t1{ font-weight:700; font-size:1.125em}
html.pop .popWrap .popBtn .st.c0{ background:var(--siteC2); color:#fff}
html.pop .popWrap .popBtn .st.c1{ color:var(--siteC)}
html.pop .popWrap .popBtn .st.c2{ background:green; color:#fff}

.fIco{ display:inline-flex; align-items:center; gap:.313em}
.fIco .fi{ font-size:1.313em}
.fIco.ok .fi:before{ content:"\ed16"}
.fIco.next .fi{ transition:.3s}
.fIco.next .fi:before{ content:"\ed6b"}
.fIco.next:hover .fi{ transform:translateX(50%)}
.fIco.search .fi:before{ content:"\efd9"}
.fIco.book .fi:before{ content:"\e891"}
.fIco.send{ overflow:hidden}
.fIco.send .fi:before{ content:"\f1d8"}
.fIco.send:hover .fi{animation: fIcoSendAni 3s forwards; }
.fIco.write .fi:before{ content:"\e831"}
.fIco.down .fi:before{ content:"\edd0"}
.fIco.cog .fi:before{ content:"\ec53"}
.fIco.add .fi:before{ content:"\effb"}

 @keyframes fIcoSendAni {
0% { transform: translate(0)}
10% {opacity:1;transform: translate(0)}
50% {transform: translate(1em, -200%)}
51% {opacity:0; transform: translate(-1em, 200%)}
52% {opacity:1; transform: translate(-1em, 200%)}
90% {transform: translate(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%}

.wrapHide{ position:absolute; opacity:0; width:0; z-index:-1; visibility:hidden}

/**/
.dot-loader {
  position: relative;
  width: 50px;
  height: 50px;
  animation: rotate 1.2s linear infinite;
}

.dot-loader span {
  position: absolute;
  width: 10px;
  height: 10px;
  background: #333;
  border-radius: 50%;
  animation: pulse 1.2s ease-in-out infinite;
}

.dot-loader span:nth-child(1) {
  transform: rotate(0deg) translate(20px);
}
.dot-loader span:nth-child(2) {
  transform: rotate(120deg) translate(20px);
  animation-delay: 0.2s;
}
.dot-loader span:nth-child(3) {
  transform: rotate(240deg) translate(20px);
  animation-delay: 0.4s;
}

@keyframes rotate {
  100% { transform: rotate(360deg); }
}

@keyframes pulse {
  0%, 100% { transform: scale(0.7); opacity: 0.5; }
  50% { transform: scale(1); opacity: 1; }
}

.swiperBtn{ width:1.75em; height:1.75em; position: static; display:flex; align-items:center; justify-content:center; z-index:100; cursor:pointer; opacity:1; transition:.3s}
.swiperBtn:before{font-family:fontello}
.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:1.375em}
.swiperBtn.ico1.prev:before{ content:"\e908"}
.swiperBtn.ico1.next:before{ content:"\e90b"}
.swiperBtn:hover{ color:#111}
.swiperBtn.white{ color:#fff; border-color:rgba(255,255,255,.5)}
.swiperBtn.c0{ background:#fff}
.swiperBtn.c1{ background:#ddd; color:#666;}
.swiperBtn.line.pause:hover,
.swiperBtn.line.play{ background:var(--siteC); border-color:rgba(255,255,255,.2)}
.swiperBtn.shadow{ box-shadow:0 0 1em rgba(0,0,0,.1)}

.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.grow.ac{ justify-content:center}
.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; background:rgba(0,0,0,.4); opacity:1; border-radius:50%; width:.5em; height:.5em; margin:0}
.swiperControl .paging .swiper-pagination-bullet.swiper-pagination-bullet-active{ background:var(--siteC); transition:.5s}
.swiperControl .paging.white .swiper-pagination-bullet{ border-color:#fff}
.swiperControl .paging.white .swiper-pagination-bullet.swiper-pagination-bullet-active{ background:#fff}
.swiperControl .paging.white.swiper-pagination-progressbar{ filter:brightness(0) invert(1)}
.swiperControl.bt{ transform:translateY(25%); padding-left:.5em}

.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}
.swiperEach{ position:relative}
.swiperEach[data-delay="1"] .swiper-wrapper{transition-timing-function:linear}

.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);
}
}

.marquee{overflow: hidden; white-space: nowrap; min-width:100%}
.marquee:not(:hover) .el{display: inline-block; animation: marqueeAni 5s linear infinite;}
@keyframes marqueeAni {
0% {
		transform: translateX(100%);
}
100% {
		transform: translateX(-100%);
}
}
				
.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{ opacity:0}
.gsSplit.on{ opacity:1}
.gsSplit > i{ min-width:.25em; transform:translateY(0); opacity:0}
.gsSplit.on > i{ animation-name: splitAni; animation-duration: 1s; animation-fill-mode: forwards;}
@keyframes splitAni{
30% { transform:translateY(2vmin); opacity:0}
60% {transform:translateY(-2vmin); opacity:1}
100% {transform:translateY(0); opacity:1}
}
.gsSplit.d1 > i{animation-duration: 1s}

.gsSplit2{ opacity:0}
.gsSplit2.on{ opacity:1}
.gsSplit2 > i{ min-width:.25em; opacity:0; filter: blur(1em); transform: scale(4)}
.gsSplit2.on > i{ animation: splitAni2 1.5s ease-out forwards}
@keyframes splitAni2{
100% { opacity:1;  filter: blur(0); transform: scale(1);}
}

.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}
.gsClass.opacity.on{ opacity:1; transition-duration:1.5s}

.gsClass.move{ opacity:0}
.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); transition-duration:.5s}

.gsClass.tShow .el{ display:block; overflow:hidden}
.gsClass.tShow .el > i{ transform:translateY(10vh); line-height:1}
.gsClass.tShow.on .el > i{transform:translateY(0); transition-duration:1s}
.gsClass.tShow.on.d1 .el > i{ transition-delay:.2s}
.gsClass.tShow.on.d2 .el > i{ transition-delay:.4s}

.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-duration:1s; transition-timing-function:cubic-bezier(0.5, 0, 1, 1)}

.gsClass.imgShow{overflow:hidden}
.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); transition-duration:1s}

.gsClass.listShow .el{ transform:translateY(20vmin); opacity:0}
.gsClass.listShow.on .el{ transform:translateY(0); opacity:1; transition-duration:1s}
.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{ overflow:hidden}
.gsClass.accordion .el:nth-child(1){ transform:translate(calc(300% + (var(--mainSecGap) * 2)),0)}
.gsClass.accordion .el:nth-child(2){ transform:translate(calc(200% + var(--mainSecGap)),0)}
.gsClass.accordion .el:nth-child(3){ transform:translate(100%,0)}
.gsClass.accordion.on .el{ transform:translate(0,0); transition-duration:.8s; transition-timing-function:ease-out}
.gsClass.accordion.on .el:nth-child(1){ transition-delay:.4s}
.gsClass.accordion.on .el:nth-child(2){ transition-delay:.2s}

.gsClass.on{transition-timing-function:ease-in}
.gsClass.on.d1{ transition-delay:.3s}
.gsClass.on.d2{ transition-delay:.6s}
.gsClass.on.d3{ transition-delay:.9s}
.gsClass.on.d4{ transition-delay:1.2s}
.gsClass.on.d5{ transition-delay:1.5s}

.soon{background:#fff; border:1px solid #eee; border-radius:1em; color:#333; height:50vh; padding:1em; display:flex; align-items:center; justify-content:center; gap:1em}
.soon .fi{ display:flex; font-size:10em; 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;}