@charset "utf-8";
/* CSS Document */
.userHome body{ font-size:1.8vmin}
@media screen and (max-width: 768px), screen and (max-height: 768px) {
.userHome body{ font-size:2vmin}
}
@media screen and (max-width: 480px), screen and (max-height: 480px) {
.userHome body{ font-size:3.6vmin}
}

html{-ms-text-size-adjust: 100%; overflow-x:hidden; scrollbar-width: thin; scrollbar-color:var(--siteC) transparent; scroll-behavior: smooth;}
html.isMobile { scrollbar-color:transparent transparent}
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{ overflow-y:auto; scrollbar-color:#DDD transparent; scroll-snap-type: y mandatory}
.scrollstX{ overflow-x:auto !important; scrollbar-color:transparent transparent; scroll-snap-type: x mandatory; position:relative}
html:not(.isMobile) .scrollstX{ scrollbar-color:#ddd transparent; padding-bottom:.125em}
[class*="scrollst"]{ scrollbar-width: thin; scroll-behavior: smooth;}
[class*="scrollst"]:is(.scrollstX, .snap) > *{scroll-snap-align: start;}
[class*="scrollst"]:is(.scrollstX, .snap) > *:last-child{scroll-snap-align: end}

.scrollWst{padding:1em 0; background:#f5f5f5; box-shadow:0 0 .5em rgba(0,0,0,.2) inset}
.scrollWst .scrollst{ padding:0 1em}
.scrollst.h1{max-height:calc(100dvh - 41em); min-height:8em}

.preW{ white-space:pre-wrap;}

.toggleWrap [data-open]:before{ content:attr(data-open)}
.toggleWrap.on [data-close]:before{ content:attr(data-close)}
.toggleWrap.on .arrow{ transition:.3s; transform:rotate(180deg)}

.corner{ position:relative}
.corner > svg{ position:absolute; width:1em; height:1em}
.corner.pL > svg{ right:100%; margin-right:-1px}
.corner.pB > svg{ bottom:0; margin-bottom:-1px}
.corner.c1 path{ fill:#333}

.scrollMg{ scroll-margin-top:var(--headerH)}
.stickyW{ position:sticky; left:0; top:var(--headerH); z-index:2}
.stickyW.line{ border:1px solid #eee; border-left:none; border-right:none}
.stickyW.line.white{ border-color:#333}
.stickyW.bg1{ background:#fff}
.stickyConW{ position:relative; z-index:1}
.stickyConW > div{ min-height:40vh}
.scroll .stickyW{ z-index:1000; background:#fff}
.stickyH1{ height:var(--stickyH1)}
.stickyH2a{ height:var(--stickyH2a)}
.stickyH2b{ height:var(--stickyH2b)}
.stickyH2mg{ --mg1 : 0em; --mg2:0em; --mg3:0em; scroll-margin-top:calc(var(--mg1) + var(--mg2) + var(--mg3) + (var(--pgPD) * 2))}
html:has(.header) .stickyH2mg{--mg1:var(--headerH)}
html:has(.stickyH2a) .stickyH2mg{--mg2:var(--stickyH2a)}
html:has(.stickyH2b) .stickyH2mg{--mg3:var(--stickyH2b)}

/*inc*/
.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:.75em}
.fIco.white{ color:#fff}
.fIco.g1{ gap:.25em}
.fIco.base{ align-items:baseline}
.fIco .fi{ font-size:1.25em}
.fIco .fi.s1{ font-size:1em}
.fIco .tt1{ color:#888}
.fIco.line{ padding:.5em .75em; border-radius:.25em; border:1px solid #ddd}
.fIco.login .fi:before{ content:"\e826"}
.fIco.back .fi:before{ content:"\f007"; transform:scale(.8); transform-origin:0 50%}
.fIco.search .fi:before{ content:"\e97a"}
.fIco.push .fi:before{ content:"\e823"}
.fIco.menu .fi:before{ content:"\f2bd"}
.fIco.share .fi:before{ content:"\e9ea"}
.fIco.favorite .fi:before{ content:"\f097"}
.likeOn .fIco.favorite{ color:gold; transition:.3s}
.likeOn .fIco.favorite .fi:before{content:"\e818"}
.fIco.close .fi:before{ content:"\e8c6"}
.fIco.cog .fi:before{ content:"\ef09"}

.fIco.home .fi:before{ content:"\ef05"}
.fIco.cs .fi:before{ content:"\ea64"}
.fIco.my .fi:before{ content:"\f2bd"}
.fIco.chat .fi:before{ content:"\f0a5"}
.fIco.logout .fi:before{ content:"\e827"}

.fIco.send{ overflow:hidden}
.fIco.send .fi:before{ content:"\f1d8"}
.fIco.send:hover .fi{animation: fIcoSendAni 3s forwards; }
.fIco.arrowPrev .fi:before{ content:"\f006"}
.fIco.arrowDown .fi:before{ content:"\ec65"}
.fIco.pin .fi:before{ content:"\ed3c"}
.fIco.add .fi:before{ content:"\ef02"}
.fIco.del .fi:before{ content:"\ef01"}
.fIco.filter .fi:before{ content:"\f0b0"}
.fIco.hash .fi:before{ content:"\f029"}
.fIco.like .fi:before{ content:"\e804"; }
.likeOn .fIco.like .fi:before{ content:"\e803"}
.likeOn .fIco.like .fi{ color:var(--siteCerr)}
.likeOn.ani .fIco .fi{ animation: fIcoLikeAni 1s forwards;}
.fIco.reply .fi:before{ content:"\f3e3"}
.fIco.plus .fi:before{ content:"\e80f"}
.fIco.minus .fi:before{ content:"\e811"}
.fIco.order .fi:before{ content:"\f009"}
.fIco.delete .fi:before{ content:"\e859"}
.fIco.picture .fi:before{ content:"\e8c1"}
.fIco.filePdf{ background:#E03C31}
.fIco.filePdf .fi:before{ content:"\f1c1"}
.fIco.fileImg{ background: #66F}
.fIco.fileImg .fi:before{ content:"\eced"}
.fIco.notice .fi:before{ content:"\ed63"}
.fIco.mobile .fi:before{ content:"\f3b3"}
.fIco.pw .fi:before{ content:"\f3a0"}
.fIco.id .fi:before{ content:"\f2be"}
.fIco.name .fi:before{ content:"\f2c0"}
.fIco.mail .fi:before{ content:"\f2b7"}
.fIco.modify .fi:before{ content:"\f3a4"}
.fIco.delete .fi:before{ content:"\e859"}
.fIco.photo .fi:before{ content:"\f39d"}
.fIco.sub .fi:before{ content:"\e97e"}
.fIco.won .fi:before{ content:"\f159"}
.fIco.eye .fi:before{ content:"\e814"}
.fIco.money .fi:before{ content:"\eef2"}
.fIco.download .fi:before{ content:"\e81c"}
.fIco.upload .fi:before{ content:"\e853"}
.fIco.clear .fi:before{ content:"\e977"}
.fIco.inpCheck .fi:before{ content:"\e8a6"}
.fIco.tel .fi:before{ content:"\e9d3"}
.fIco.web .fi:before{ content:"\e9d1"}
.fIco.addr .fi:before{ content:"\ea05"}
.fIco.sub .fi:before{ content:"\e97e"}
.fIco.more .fi:before{ content:"\e949"; font-size:1.5em}

.fIco.logo{ background:var(--siteC)}
.fIco.logo img{ filter:brightness(0) invert(1); height:70%}
.fIco.gg{ background:#e04a32; color:#fff}
.fIco.nv{ background:#1ec800; color:#fff}
.fIco.fb{ background:#0766ff; color:#fff}
.fIco.kk{ background:#fde500; color:#000}
.fIco.ap{ background:#000; color:#fff}
.fIco.gg .fi:before{ content:"\f1a0"}
.fIco.nv .fi:before{ content:"\ebf9"}
.fIco.fb .fi:before{ content:"\ecd7"}
.fIco.kk .fi:before{ content:"\e830"}
.fIco.ap .fi:before{ content:"\f179"}

.fBtn{ --fBtnW : 1.5em; width:var(--fBtnW); height:var(--fBtnW); border-radius:.25em; display:flex; align-items:center; justify-content:center; background:none; border:none}
.fBtn.s1{ --fBtnW: 2em}
.fBtn.s2{ --fBtnW: 2.5em}

@keyframes fIcoLikeAni {
 50% {opacity:.2; transform:scale(1.5)}
100% {opacity:1; transform:scale(1)}
}
@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)}
}

.popMenuW{ position:relative}
.popMenuW .popMenu{ position:absolute; top:calc(100% + 1em); right:calc(var(--pgPD) * -1); opacity:0; visibility:hidden; color:#111; box-shadow:0 0 1em rgba(0,0,0,.1); display:flex; flex-direction:column; gap:.75em}
.popMenuW .popMenu:before{ content:"\e92f"; font-family:fontello; transform:scale(2) translate(-50%, -25%); color:#fff; position:absolute; right:.25em; top:0}
.popMenuW .popMenu .popMenuIn{ position:relative; background:#fff; border-radius:.5em}
.popMenuW.popMenuOn{ z-index:1}
.popMenuW.popMenuOn .popMenu{ opacity:1; visibility:visible}
.popMenuW.popMenuOn .popMenu .listSt > li > a{ white-space:nowrap; font-weight:normal; font-size:.938em}
.popMenuW.popMenuOn .popMenuBtn:not(.ori).more .fi:before{ content:"\e921"}
.popMenuW.st1 .popMenu{ position:fixed; left:50%; top:50%; transform:translate(-50%, -50%); min-width:16em; font-size:1.25em}
.popMenuW.st1 .popMenu:before{ content:""; width:100vw; height:100dvh; background:rgba(0,0,0,.6); transform:none; border-radius:0; transform:translate(-50%, -50%); left:50%; top:50%}
.popMenuW.st1 .popMenu .popMenuBtn{ --s:2.5em; width:var(--s); height:var(--s); border-radius:50%; display:flex; align-items:center; justify-content:center; position:relative; background:#fff; margin:0 auto}
.popMenuW.st1 .popMenu .popMenuBtn .fi:before{ font-size:1em}
html:has(.popMenuW.popMenuOn.st1){ overflow-y:hidden}

html:has(.modalLayer){ overflow-y:hidden}
.modalLayer{ position:fixed; inset:0; z-index:1010}
.modalLayer:before{ content:""; position:absolute; inset:0; background:#000; opacity:0}
.modalLayer .wrapIn{ position:absolute; max-width:380px; --modalLayerP : calc(var(--pgPD) * 1.5); width:calc(100% - var(--modalLayerP)); left:50%; border-radius:2em; box-shadow:0 0 2em rgba(0,0,0,.2); transform:translateX(-50%); background:#fff; box-sizing:border-box; padding-top:2.5em; padding-bottom:var(--modalLayerP); bottom:-2em; opacity:0; max-height:100dvh; overflow-x: hidden; overflow-y:auto}
.modalLayer .wrapIn > .box1{ display:flex; flex-direction:column; gap:1em;}
.modalLayer .wrapIn.wFix{ display:flex; flex-direction:column ;min-height:0}
.modalLayer .wrapIn.wFix .wGrow{ flex:1 1 0%; min-height:0; display:flex; flex-direction:column; box-sizing:border-box; width:100%}
.modalLayer .wrapIn .closeBtn{ position:absolute; right:0; top:0; transform:translate(-1.5em, 1em); width:3em; height:2em; display:flex; align-items:center; justify-content:center; background:none; border:none; border-radius:50%; opacity:.3}
.modalLayer .wrapIn .closeBtn:before{ content:"\eeb1"; font-family:fontello; font-size:2em}
.modalLayer .wrapIn .modalTit .t1{ font-weight:700; font-size:1.313em}
.modalLayer .wrapIn .modalCon .t1{ font-size:1.125em; color:#666; word-break:keep-all;line-height:1.4}
.modalLayer .wrapIn .modalBtn{ display:flex; gap:4px; margin-top:1.5em; justify-content:flex-end}
.modalLayer .wrapIn .modalBtn .st{ height:3em; font-size:1.063em; font-weight:700; border-radius:3em; background:var(--siteC); color:#fff; border:1px solid #fff; outline:1px solid var(--siteC); padding:0 1.25em; box-sizing:border-box; display:flex; align-items:center; justify-content:center; text-align:center; min-width:5em}
.modalLayer .wrapIn:has(.header){ padding-top:0 !important}
.modalLayer .wrapIn .header:not(.st1){ position:sticky; background:#fff !important}
.modalLayer .wrapIn .modalBtn .st.re{ background:#f5f5f5; color:#777; border-color:#ddd; outline-color:#ddd}
.modalLayer.on:before{ transition:.3s; opacity:.2}
.modalLayer.bg1.on:before{ opacity:.6}
.modalLayer.on .wrapIn{ transition:.3s; bottom:var(--modalLayerP); opacity:1}
.modalLayer.st1 .wrapIn{ width:100%; max-width:none; padding:3em 2em; border-radius:0; border-top-right-radius:9em; overflow: visible; min-height:20vh}
.modalLayer.st1.r1 .wrapIn{ border-radius:2em 2em 0 0; overflow:hidden}
.modalLayer.st1.p0 .wrapIn{ padding-left:0; padding-right:0}
.modalLayer.st1.p1 .wrapIn{ padding-right:4.5em}
.modalLayer.st1 .wrapIn .closeBtn{ transform:none; opacity:1; color:#fff; font-size:1.125em}
.modalLayer.st1.on .wrapIn{ bottom:0;}
.modalLayer.st2 .wrapIn{  width:100%; max-width: 100vw; bottom:auto; top:0; max-height:none; height:100dvh; transform:translateX(0); width:100%; border-radius:0}
.modalLayer.st2.on .wrapIn{ left:0;}
.modalLayer.st3 .wrapIn{ bottom:50%; transform:scale(.8) translate(-50%, 50%); transform-origin:0% 50%; overflow:hidden}
.modalLayer.st3 .header .pgTit{ justify-content:flex-start}
.modalLayer.st3 .header .pgTit:before{ font-family:fontello; position:absolute; left:2em; top:50%; transform:scale(1.8) translate(0, -50%); transform-origin:50% 0%}
.modalLayer.st3 .header.i_pay .pgTit:before{ content:"\e8ac"}
.modalLayer.st3.on .wrapIn{ transform:scale(1) translate(-50%, 50%)}
.modalLayer.bg1 .wrapIn{ background:#f5f5f5}
.modalLayer.c1 .wrapIn{ background:#000; color:#fff}
.modalLayer.c1 .wrapIn .header:not(.st1){ background:inherit !important}
.modalLayer.c1 .header .wrapF > *{ color:#FFF}
.modalLayer.c1 .header .pgTit{ background:none}

.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.ac{ justify-content:center;}
.swiperControl .paging{ position:relative; width:auto; display:flex; align-items:center; gap:.75em}
.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,.3); opacity:1; border-radius:50%; width:.75em; height:.75em; margin:0; border:.125em solid transparent; box-sizing:border-box}
.swiperControl .paging .swiper-pagination-bullet.swiper-pagination-bullet-active{ background:var(--siteC); border-color:#fff; outline:.125em solid 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}
.swiperControl.p1{ padding:1em}

.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-x:auto}
.marquee .mEl { display: inline-block; white-space: nowrap;}
.marquee.move .mEl{ animation: marquee var(--duration) linear infinite alternate;}
@keyframes marquee {
0% {transform: translateX(0);}
80% {transform: translateX(calc(-1 * var(--move)));}
100% {transform: translateX(calc(-1 * var(--move)));}
}
				
.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}

.blinkAni {animation: blinkAni 2s ease-in-out infinite;}
@keyframes blinkAni {
0%, 100% {opacity: 1;}
50% {opacity: 0;}
}

.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}

.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;}
.dragunable{ -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; }

#debugMsg{ position:fixed; left:0; top:0; width:100%; z-index:1000000; background:#000; color:#fff; padding:1em}