@charset "utf-8";


@font-face {
  font-family: 'Pretendard';
  src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Light.woff2') format('woff2');
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: 'Pretendard';
  src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Regular.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Pretendard';
  src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Medium.woff2') format('woff2');
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: 'Pretendard';
  src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: 'Pretendard';
  src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Bold.woff2') format('woff2');
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: 'Pretendard';
  src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-ExtraBold.woff2') format('woff2');
  font-weight: 800;
  font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Black.woff2') format('woff2');
    font-weight: 900;
    font-display: swap;
}


:root {
  color-scheme: only light;
  --app-vh: 1vh;
  --app-viewport-height: 100vh;
  --res: min(11.11vw, calc(var(--app-vh) * 5.244));
  --cont-h: min(210vw, var(--app-viewport-height));
  --kv-ratio: 1;
  --kv-rev-ratio: 1;
  --ease-scale: cubic-bezier(.1, 1.3, .75, 1);
  --ease-move: cubic-bezier(.1, .75, .85, 1);
  --theme: #d2000f;
  --red: 255,0,0;
  --tcolor: #fff;
  --bgcolor: 16,16,16;
}

@media (min-aspect-ratio: 4/3) {
  :root {
    --res: min(8.75vw, calc(var(--app-vh) * 8.75));
    --cont-h: min(140vw, calc(var(--app-vh) * 140));
    --kv-ratio: 0.75;
    --kv-rev-ratio: 1.25;
  }
}

/* reset */
* {
  margin: 0;
  padding: 0;
}

*,
*::before,
*::after {
  box-sizing: content-box;
}

*:disabled,
*[disabled] {
  cursor: default;
  pointer-events: none;
}

html,
body {
  padding: 0;
  margin: 0;
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  height: 100%;
  background: rgb(var(--bgcolor));
  font-size: var(--res);
}

body {
  -webkit-font-smoothing: antialiased;
  line-height: 0;
  font-weight: 400;
  color: var(--tcolor);
  font-family: 'Pretendard', -apple-system, system-ui, Roboto, 'Noto Sans KR', 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
  font-style: normal;
  forced-color-adjust: none;
}


div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
p,
table,
th,
td,
span,
small,
strong,
form,
fieldset,
legend,
select,
button,
input,
textarea,
figure,
figcaption {
  margin: 0;
  margin-block: 0;
  padding: 0;
  font-style: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
  word-wrap: break-word;
  word-break: keep-all;
  border: 0 none;
  outline: none;
}

ul,
ol {
  list-style: none;
}

button {
  box-shadow: none;
  outline: 0;
  border: 0 none;
  background: transparent;
  cursor: pointer;
}

button::-moz-focus-inner {
  padding: 0;
}

a,
a:focus,
a:active,
body:not(.is-mobile) a:hover {
  outline: none;
  box-shadow: none;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

input,
select {
  -o-appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0 none;
  outline: 0 none;
}


img,
picture,
video,
canvas,
svg {
  display: block;
  width: 100%;
  object-fit: cover;
}


a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor;
}

textarea:not([rows]) {
  min-height: 7em;
}

input:focus,
input:active {
  border: 0 none;
  outline: none
}

::-ms-clear {
  display: none;
}

::-ms-reveal {
  display: none;
}

::-webkit-scrollbar {
  width: .18rem;
  background: rgba(0, 0, 0, 0);
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb,
::-webkit-scrollbar-thumb:hover {
  border: .06rem solid transparent;
  background-clip: padding-box;
  background-color: rgba(255, 255, 255, .5);
  border-radius: .09rem;
}

html {
  scrollbar-color: rgba(255, 255, 255, .5) transparent;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.app-page-wrap input:-internal-autofill-selected,
.app-page-wrap input,
.app-page-wrap input:-webkit-autofill,
.app-page-wrap input:autofill {
  background-color: transparent !important;
  appearance: none !important;
  padding-block: 0;
  padding-inline: 0;
}

input,
label,
button {
  -webkit-tap-highlight-color: transparent;
}

body.resizing * {
  transition: none !important;
  animation-duration: 0s !important;
  animation-delay: 0s !important;
  animation-iteration-count: 1 !important;
  animation-fill-mode: forwards !important;
}

body.anchor-jumping * {
  transition: none !important;
  animation-duration: 0s !important;
  animation-delay: 0s !important;
  animation-iteration-count: 1 !important;
  animation-fill-mode: forwards !important;
}



/* event-page */
#evt_main {
  position: relative;
  width: 100%;
  height: auto;
  overflow-x: clip;
  background: rgb(var(--bgcolor));
}

#evt_header {
  position: fixed;
  left: 0;
  width: 100%;
  top: 0;
  z-index: 99;
}

.section,
.section .key-visual,
.section .content {
  position: relative;
  width: 100%;
  height: auto;
  overflow: visible;
}

.section .h-cover {
  height: var(--app-viewport-height);
  min-height: calc(var(--cont-h)*0.75);
}

footer .background,
.section .background {
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  left: 50%;
  transform: translate3d(-50%, 0, 0);
  top: 0;
  pointer-events: none;
}

footer .background,
.section .background>* {
  position: absolute;
  left: 50%;
}

.section .content {
  position: relative;
  width: 100%;
  height: auto;
  overflow: visible;
  z-index: 1
}

.key-visual:not(.h-cover) .container,
.content:not(.h-cover) .container {
  height: var(--cont-h);
}

.key-visual:not(.h-cover),
.content:not(.h-cover)[data-parallax] {
	--content-scroll-height: var(--cont-h);
  --content-container-height: var(--cont-h);
  --content-parallax-shift: 0px;
	height: auto;
}

.key-visual:not(.h-cover)>.background,
.content:not(.h-cover)[data-parallax]>.background {
  position: absolute;
  max-width:min(var(--app-viewport-height), var(--cont-h));
  top: 0;
  height: var(--cont-h);
  transform: translate3d(-50%, var(--content-parallax-shift), 0);
  will-change: transform;
}

.section .key-visual:not(.h-cover)>.container,
.section .content:not(.h-cover)[data-parallax]>.container {
  min-height: var(--cont-h);
  height: var(--content-container-height);
  will-change: height;
  transition:height 0.5s var(--ease-move);
}

.container {
  width: calc(100% - 1rem);
  max-width: 9rem;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
}

.container>* {
  display: block;
  flex: none;
}
.container .aligner{
  display:block;
  pointer-events:none;
}

.screen-out {
  position: absolute;
  display: block;
  right: 100%;
  bottom: 100%;
  width: .01rem;
  height: .01rem;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
}

@keyframes rotate180 {
  to {
    transform: translate3d(-50%, -50%, 0) rotate(225deg);
  }
}


/* header */
#evt_header .container {
  max-width: calc(100% - 1rem)
}

#evt_header .ci {
  width:min(21.6vw, 2.16rem);
}

#evt_header .ci a{
  display:block;height:auto;width:100%;
}

#evt_header .ci svg {
  display: block;
  width: 100%;
  height: auto;
  fill:var(--tcolor);
  transition: fill .1s var(--ease-move);
}

#evt_header.on-top .ci svg{
  fill:var(--bgcolor);
}

#evt_header .container {
  flex-direction: row;
  justify-content: space-between;
  height: min(13vw, 1.3rem);
}

#nav {
  flex: 1;
}

#nav ul {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: min(6.4vw, .64rem);
  gap: min(2vw, .2rem);
}

#nav ul>li {
  flex: none;
  display: block;
  width: min(18.5vw, 1.85rem);
}

#nav ul>li>a {
  display: block;
  font-weight: 800;
  color: #000;
  text-align: center;
  width: 100%;
  background: #7d7d7d;
  letter-spacing: -.05em;
  transition: background-color .1s var(--ease-move), color .1s var(--ease-move);
  font-size: min(3.6vw, .36rem);
  line-height: min(4.4vw, .44rem);
  padding: min(1vw, .1rem) 0;
  border-radius: min(3.2vw, .32rem);
}

body:not(.is-mobile) #nav ul>li>a:hover,
#nav ul>li>a.on {
  color: var(--tcolor);
  background: var(--theme);
}

@media (min-aspect-ratio: 4/3) {
  #evt_header .container {
    max-width: calc(100% - 2rem)
  }
  #evt_header .ci {
    width: 1.36rem
  }
  #nav ul {
    height: .4rem;
    gap: .24rem
  }
  #nav ul>li {
    width: 1.56rem;
  }
  #nav ul>li>a {
    font-size: .27rem;
    line-height: .33rem;
    padding: .04rem 0;
    border-radius: .21rem;
  }
}


/* main */
#evt_main .container {
  flex-direction: column;
  justify-content: center;
}

#evt_main .container .aligner{
  flex:1
}

.container .description.reveal span{
  opacity:0;
  will-change: transform, opacity;
  transform: translate3d(0, 100%, 0);
  transition: transform 2s var(--ease-move), opacity 1s var(--ease-scale);
}

.container .description.reveal[data-visible="true"] span{
  opacity:1;
  transform: translate3d(0, 0, 0);
}
.container .description.reveal[data-visible="true"] span:nth-child(1){
  transition-delay: .3s;
}
.container .description.reveal[data-visible="true"] span:nth-child(2){
  transition-delay: .5s;
}
.container .description.reveal[data-visible="true"] span:nth-child(3){
  transition-delay: .7s;
}

.section .key-visual .background.has-fade,
.section .content .background.has-fade,
.section .key-visual .background .visual,
.section .content .background .visual{
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-position: center center;
  mask-position: center center;
  contain: paint;
  isolation: isolate;
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.section .key-visual .background.has-fade,
.section .content .background.has-fade{
  overflow:hidden;
  width:100%;
  max-width:100%;
  --bg-remain:calc(100% - (var(--kv-ratio)*20rem));
  -webkit-mask-image: linear-gradient(
    to right,
    transparent calc(var(--bg-remain)/2),
    black calc(var(--bg-remain) + .6rem),
    black calc(100% - var(--bg-remain) - .6rem),
    transparent calc(100% - (var(--bg-remain)/2))
  );
  mask-image: linear-gradient(
    to right,
    transparent calc(var(--bg-remain)/2),
    black var(--bg-remain),
    black calc(var(--bg-remain) + .6rem),
    black calc(100% - var(--bg-remain) - .6rem),
    transparent calc(100% - (var(--bg-remain)/2))
  );
}
.section .key-visual .background .visual,
.section .content .background .visual{
  z-index:0;
  position:absolute;
  left:50%;
  transform:translate3d(-50%,0,0);
  height:auto;
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 40%,
    black 75%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 40%,
    black 75%,
    transparent 100%
  );
}

.sec-title {
  display: block;
  margin: 0 auto;
  width:8rem;
  position: relative;
  transform: translate3d(0, 50%, 0);
  will-change: transform, opacity;
  opacity: 0;
  transition: transform 2.5s var(--ease-move), opacity .75s var(--ease-scale);
}

.sec-title>strong,
.sec-title>span {
  display: block;
  width: 100%;
  height: auto
}

.sec-title>strong{
  position:relative;
  z-index:1;
}

.sec-title>strong + strong{
  position:relative;
  z-index:0;
  transform: translate3d(0, -.4rem, 0);
  will-change: transform;
  transition: transform 3s var(--ease-scale);
}

.sec-title span{
  will-change: transform, clip-path;
  transform: translate3d(0, -100%, 0);
  clip-path: inset(0 2.2rem 0 2.2rem);
  transition: clip-path 2s var(--ease-move), transform 3s var(--ease-scale);
}

.init .sec-title[data-visible="true"] {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition-delay: .5s;
}
.init .sec-title[data-visible="true"] strong + strong{
  transform: translate3d(0, 0, 0);
  transition-delay: .5s;
}
.init .sec-title[data-visible="true"] span{
  transform: translate3d(0, 0, 0);
  clip-path: inset(0 0 0 0) !important;
  transition-delay: .5s;
}


.description {
  display: block;
  text-align: center;
  width: 100%;
  font-size: .69rem;
  letter-spacing: -.05em;
  line-height: 1.2;
}

.description>span {
  display: block;
  font-weight: 400;
}

.description>span strong {
  font-weight: 700
}

.description .accent {
  color: var(--theme) !important;
}


.deco-line{
  display:block;position:relative;
  width:100%;
  -moz-box-sizing:border-box;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
}
.deco-line::before{
  content:"";display:block;position:relative;margin:0 auto;height:0;
  will-change:height;
  transition: height 1.7s var(--ease-move);
}
.init .content .deco-line[data-visible="true"]::before{
  height:100%;
}


.video{
  position:relative;
  width:100%;
  max-width:15rem;
  margin:0 auto;
  opacity:0;
  transform: translate3d(0, 25%, 0);
  will-change: opacity, transform;
  transition: transform 2s var(--ease-move), opacity 1s var(--ease-scale);
}

.video::before{
  content:"";display:block;position:absolute;left:0;bottom:0;height:35%;pointer-events:none;width:100%;
  background:linear-gradient(180deg,rgba(var(--bgcolor),0) 0%,rgba(var(--bgcolor),1) 65%);
}

.video[data-visible="true"]{
  opacity:1;
  transform: translate3d(0, 0, 0);
  transition-delay: .3s;
}

.video .btn-play{
  display:block;width:100%;height:auto;
  position:absolute;left:0;top:0
}
.video .btn-play::before{
  content:"";display:block;width:100%;padding-top:56.25%;
}
.video .btn-play > img{
  width:100%;
  height:100%;
  object-fit: fill;
  position:absolute;
  left:0;
  top:0;
}

.video .btn-play .icon{
  position:absolute;left:50%;top:55%;
  transform:translate3d(-50%, -50%, 0);
  width:1.08rem;
  height:1.08rem;
  will-change: transform;
  pointer-events:none;
  transition: transform .25s var(--ease-move);
}

body:not(.is-mobile) .video .btn-play:hover .icon{
  transform:translate3d(-50%, -50%, 0) scale3d(1.08, 1.08, 1);
}

body:not(.is-mobile) .video .btn-play:active .icon,
.video .btn-play:active .icon{
  transform:translate3d(-50%, -50%, 0) scale3d(1, 1, 1);
  transition-duration: 0s;
}

body.is-mobile .video .btn-play:active .icon{
  transform:translate3d(-50%, -50%, 0) scale3d(.93, .93, 1);
}


.btn-action{
  display:block;
  width:8rem;
  margin:0 auto;
  position:relative;
  z-index:1;
  height:1.15rem;
}

.btn-action::before{
  content:"";display:block;position:absolute;left:0;top:0;width:100%;height:100%;
  border-radius:.72rem;
  transform:scale3d(1, 1, 1);
  transition: transform .1s var(--ease-move);
}

.btn-action > span{
  position:absolute;left:0;width:100%;text-align:center;color:var(--tcolor);letter-spacing:-.05em;top:50%;transform:translate3d(0, -50%, 0);line-height:1.2;
}

body:not(.is-mobile) .btn-action:hover::before{
  opacity:0.85;
}

.btn-action:active::before{
  transform:scale3d(.98, .98, 1);
  transition-duration: 0s;
}

.container .prod-line{
  display:block;margin:0 auto;background:var(--tcolor);width:0;height:.07rem;will-change:width;transition:width .4s var(--ease-move);
}
.container .prod-line[data-visible="true"]{
  width:.36rem;
  transform:translate3d(0, 0, 0);
  transition-delay: .65s;
} 
.container .description.prod-dc{
  font-size:.6rem;
  line-height:.72rem;
  padding-top:.26rem;
}

@keyframes scrollDown {
  0%, 100% {
    transform: translate3d(0, -5%, 0);
    opacity:0;
  }
  45%,  
  50% {
    transform: translate3d(0, 50%, 0);
    opacity:1;
  }
}


.sec-blank{
  display:block;height:calc(var(--cont-h)*0.35);
}

#trophy .sec-blank{
  height:calc(var(--cont-h)*0.25);
}


/* about */
#about .content {
  background: rgb(var(--bgcolor));
}
#about .key-visual{
  background:url(img/bg-wht.gif) no-repeat center / cover;
}
#about .key-visual .container{
  height:100%;
}

#about .key-visual .background {
  /*background:url(img/about-kv-bg.gif) repeat center / auto;*/
  overflow: clip;
}

#about .key-visual .aligner.btm{
  flex:none;
  height:10.8rem;
}

.scroll-down{
  width:1rem;margin:0 auto;display:block;position:relative;top:1rem;
  opacity:.5;
}
.scroll-down > svg{
  fill:var(--tcolor);
  animation:scrollDown 1.8s ease-in-out infinite;
}
#about .key-visual .scroll-down{
  position:absolute;left:50%;
  top:auto;
  bottom:1rem;
  transform:translate3d(-50%, 0, 0);
  opacity:.8;
}
#about .key-visual .scroll-down > svg{
  fill:var(--bgcolor);
}

#about .hand {
  width: calc(var(--kv-ratio) * 24.16rem);
  bottom: calc(var(--kv-rev-ratio) * -2.95rem);
  transform: translate3d(-50%, -4%, 0) scale3d(1.05, 1.05, 1.05);
  transform-origin: 67% 20%;
  will-change: transform, opacity, filter;
  filter: blur(0.15rem);
  opacity: 0;
  transition: transform 3s var(--ease-move), filter 1.8s var(--ease-move), opacity .75s var(--ease-scale);
}

.init #about .hand {
  opacity: 1;
  filter: blur(0);
  transform: translate3d(-50%, 0, 0) scale3d(1, 1, 1);
  transition-delay: .35s;
}

#about .sec-title>strong + strong{
  margin-top:-.34rem
}
#about .sec-title span{
  margin-top:.1rem
}

#about .content.cnt-01 .container{
  max-width:none;
  width:100%;
}
#about .content.cnt-01 .dc-02{
  font-size:.6rem;
  line-height:.8rem
}

#about .content.cnt-02 .visual{
  opacity:.5;
  top:12%;
  width:calc(var(--kv-ratio)*24rem);
}

#about .content.cnt-02 .visual > img{
  margin-left:-8%
}

#about .content.cnt-02 .dc-01{
  font-size:.44rem;
}
#about .content.cnt-02 .dc-02{
  font-size:.6rem;
}

#about .content.cnt-02 .deco-line{
  flex:1.48;
  padding:.88rem 0;
}
#about .content.cnt-02 .deco-line::before{
  width:.01rem;background:var(--tcolor);
}
#about .content.cnt-02 .aligner.btm{
  flex:0.735
}

#about .content.cnt-03 .visual{
  opacity:.7;
  bottom:21.65%;
  width:calc(var(--kv-ratio)*21.4rem);  
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 15%,
    black 50%,
    black 70%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    transparent 15%,
    black 50%,
    black 70%,
    transparent 100%
  );
}

#about .content.cnt-03 .visual > img{
  margin-left:5%
}

#about .content.cnt-03 .aligner.top{
  flex:0.2
}

#about .content.cnt-03 .buttons{
  width:100%;
  margin-bottom:.72rem;
  opacity:0;
  will-change:transform, opacity;
  transform: translate3d(0, 25%, 0);
  transition: transform 2.5s var(--ease-move), opacity 1.5s var(--ease-move);
}

#about .content.cnt-03 .buttons .flx{
  display:flex;
  align-items:stretch;
  gap:.22rem;
  height:2.65rem;
  margin-bottom:.32rem
}
#about .content.cnt-03 .buttons .flx.short{
  height:1.6rem;
}

#about .content.cnt-03 .btn-link{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:.3rem;
  text-align:center;
} 

#about .content.cnt-03 .buttons > .btn-link{
  background:var(--bgcolor);
  color:var(--tcolor);
  height:1.6rem;
  border: 1px solid rgba(255,255,255,.5)
}
#about .content.cnt-03 .buttons .flx .btn-link{
  flex:1;
  background:var(--tcolor);
  height:100%
}


#about .content.cnt-03 .btn-link> span{
  flex:none;
}

#about .content.cnt-03 .buttons .flx.short .btn-link em,
#about .content.cnt-03 .buttons .flx.short .btn-link strong,
#about .content.cnt-03 .btn-link em,
#about .content.cnt-03 .btn-link strong{
  display:block;
  letter-spacing: -.05em;
  font-style:normal;
  font-weight:300;
  font-size:.41rem;
  line-height:.48rem;
}
#about .content.cnt-03 .buttons .flx.short .btn-link strong,
#about .content.cnt-03 .btn-link strong{
  font-weight:800;
}


#about .content.cnt-03 .flx .btn-link em,
#about .content.cnt-03 .flx .btn-link strong{
  font-size:.36rem;
  line-height:.44rem;
}

#about .content.cnt-03 .buttons .flx .btn-link em{
  color:black;
}
#about .content.cnt-03 .buttons .flx .btn-link strong{
  color:red;
}

#about .content.cnt-03 .buttons[data-visible="true"]{
  transform: translate3d(0, 0, 0);
  opacity:1;
  transition-delay: .5s;
}

@media (min-aspect-ratio: 4/3) {
  #about .key-visual .aligner.btm{
    height:calc(var(--cont-h)*0.3);
  }
}



/* trophy */
#trophy .sec-title{
  padding:0 0 .9rem
}
#trophy .sec-title>strong + strong{
  margin-top:-.2rem
}
#trophy .sec-title>span{
  margin-top:.16rem
}

#trophy .btn-action::before{background:var(--theme)}
#trophy .btn-action > span{  
  font-size:.42rem;
  line-height:.55rem;
  font-weight:700;
}
#trophy .video::before{
  height:50%;
  background: linear-gradient(180deg, rgba(var(--bgcolor), 0) 0%, rgba(var(--bgcolor), 1) 100%);
}
#trophy .video[data-visible="true"]{
  transition-delay: .5s;
}

#trophy .key-visual .background{
  height:100%
}
#trophy .key-visual .container{
  max-width:none;
  width:100%;
  height:calc(var(--cont-h)*1.2);
}
#trophy .key-visual .visual{
  opacity:.3;
  bottom:-7.5%;;
  width:calc(var(--kv-ratio)*20rem);
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 30%,
    black 65%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    transparent 30%,
    black 65%,
    transparent 100%
  );
}

#trophy .key-visual .dc-01{
  font-size:.8rem;
  line-height:1.2;
  padding:.5rem 0 1.5rem;
}
#trophy .key-visual .dc-02{
  font-size:.36rem;
  line-height:1.2;
  padding-bottom:.56rem;
}
#trophy .key-visual .dc-02,
#trophy .key-visual .dc-03,
#trophy .key-visual .dc-04{
  font-size:.44rem;
  line-height:1.2;
}
#trophy .key-visual .dc-02{
  padding-bottom:.52rem;
}
#trophy .key-visual .dc-03{
  padding-bottom:.52rem;
}

#trophy .cnt-01 .aligner.btm,
#trophy .cnt-02 .aligner.btm,
#trophy .cnt-03 .aligner.btm{flex:none;height:1.04rem}


#trophy .content.cnt-01 .visual{
  top:0;width:calc(var(--kv-ratio)*20rem);
  -webkit-mask-image: linear-gradient(
    to bottom,
    black 0%,
    black 50%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    black 0%,
    black 50%,
    transparent 100%
  );
}

#trophy .content.cnt-01 .visual > img{
  margin-top:-20%;
  transform-origin:50% 15%
}

#trophy .content.cnt-02 .visual{
  top:10%;width:calc(var(--kv-ratio)*20rem);
  padding-bottom:calc(var(--kv-ratio)*5rem);
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 25%,
    black 60%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 25%,
    black 60%,
    transparent 100%
  );
}
#trophy .content.cnt-02 .visual > img{
  margin:0 auto;width:calc(var(--kv-ratio)*16rem);
  margin-top:-15%;
  transform-origin:50% 0
}

#trophy .content.cnt-03 .visual{
  top:5%;
  width:calc(var(--kv-ratio)*20rem);
  padding-bottom:calc(var(--kv-ratio)*5rem);
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 25%,
    black 55%,
    transparent 90%
  );
  mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 25%,
    black 55%,
    transparent 90%
  );
}

#trophy .content.cnt-03 .visual> img{
  margin:0 auto;width:calc(var(--kv-ratio)*6rem);
  transform-origin:50% 15%;
}


#trophy .content.cnt-04 .container{
  width:100%;
  height:calc(var(--cont-h)*1.32);
}

#trophy .content.cnt-04 .aligner.btm{
  flex:0.125;
  min-height:.6rem
}
#trophy .content.cnt-04 .deco-line{
  flex:1;
  padding:.78rem 0 0;
}
#trophy .content.cnt-04 .deco-line::before{
  width:.01rem;
  background:var(--tcolor);
}
.init #trophy .content.cnt-04 .deco-line[data-visible="true"]{
  transition-delay: 1s;
}
#trophy .frm-header-top{
  display:block;height:0;
}
#trophy .content.cnt-04 .frm-header{
  padding-top:.78rem
}
#trophy .content.cnt-04 .description.tit{
  font-size:.8rem;
  line-height:1.2;
  padding:.16rem 0 .68rem;
}
#trophy .content.cnt-04 .description.dc-01,
#trophy .content.cnt-04 .description.dc-02,
#trophy .content.cnt-04 .description.dc-03,
#trophy .content.cnt-04 .description.dc-04{
  font-size:.44rem;
  line-height:.6rem;
  padding-bottom:.28rem
}

#trophy .content.cnt-04 .description.dc-03{
  padding-top:.65rem
}
#trophy .content.cnt-04 .description.dc-04{
  margin-bottom:.48rem;
}

#trophy .content.cnt-04 form{
  display:block;width:8rem;margin:0 auto;
}

#trophy .content.cnt-04 .description.notice{
  width:fit-content;margin:.6rem auto 0;
  text-align:left;
  font-size:.275rem;
  line-height:1.6;
}
#trophy .content.cnt-04 .description.notice > span{
  font-weight:300
}

#trophy .content.cnt-04 form .btn-action{
  width:100%;
  margin-top:.45rem
}


.frm-block{
  display:flex;
  align-items: stretch;
  justify-content: space-between;
  width:100%;
  background:#464646;
  border-radius:.56rem;
  min-height:1.14rem;
  -moz-box-sizing:border-box;
  -webkit-box-sizing:border-box;
  box-sizing: border-box;
}
.frm-block.msg{
  padding:.6rem .5rem
}

.frm-block > label{
  background:#323232;
  border-radius:.56rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items: center;
  flex:none;
  width:2.7rem;
  font-size:.42rem;
  line-height:.55rem;
  letter-spacing:-.05em;
  text-align:center;
  font-weight:600
}
.frm-block input,
.frm-block textarea{
  flex:1;
  background:#464646;
  border:0 none;
  -moz-box-sizing:border-box;
  -webkit-box-sizing:border-box;
  box-sizing: border-box;
  color:var(--tcolor);
  font-weight:300;
  letter-spacing:-.05em;
}

.frm-block textarea{
  font-size:.36rem;
  line-height:.47rem;
}
.frm-block input{
  font-size:.42rem;
  line-height:.55rem;
}

.frm-block + .frm-block{
  margin-top:.25rem
}
.frm-block.msg + .frm-block{
  margin-top:.48rem
}
.frm-block .frm-wrap{
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-right:.1rem
}
.frm-block .frm-wrap input{
  flex:none;
  display:block;width:100%;padding:0 .35rem
}
.frm-block textarea{
  font-family:'Pretendard', sans-serif;
  resize:none
}

.check-list{
  display:block;
  margin-top:.32rem;opacity:0;
  transform:translate3d(0, .5rem, 0);
  will-change: opacity, transform;
  transition:transform 2s var(--ease-move), opacity 1s var(--ease-scale);
}

form[data-visible="true"] .check-list{
  opacity:1;
  transform:translate3d(0, 0, 0);
  transition-delay: .5s;
}

.check-list label,
.check-list .btn {
  font-family:'Pretendard', sans-serif;
  letter-spacing:-.05em;
  font-weight: 400;
  display: inline-block;
  vertical-align: middle;
  padding: 0;
  font-size: .36rem;
  line-height: .48rem;
  color:rgba(255,255,255,.7)
}

.check-list label {
  position: relative;
  padding-left: .72rem;
}

.check-list li {
  display: block;
  height:.48rem;
  position: relative;
  white-space: nowrap;
  padding-left:.56rem
}

.check-list input {
  position: absolute;
  font-size: 1px;
  line-height: 1px;
  right: 100%;
  bottom: 100%;
}

.check-list label::before {
  content: "";
  display: block;
  left: 0;
  top: 0;
  width: .48rem;
  height: .48rem;
  background:#464646;
  border-radius: .08rem;
  box-sizing: border-box;
  position: absolute;
}

.check-list label::after{
  content: "";
  display: block;
  left: 0;
  top: 0;
  position:absolute;
  width: .48rem;
  height: .48rem;
  border-radius: .08rem;
  background: var(--theme);
  transform: scale3d(.6, .6, .6);
  opacity:0;
}

.check-list input:checked+label::after {
  opacity:1;
}

.check-list .btn {
  cursor: pointer;
  margin-left: .12rem
}

body:not(.is-mobile) .check-list .btn:hover{
  color:var(--tcolor)
}


#trophy .content.cnt-04 .frm-header,
#trophy .content.cnt-04 .notice{
  opacity:0;transform:translate3d(0,.5rem,0);
  will-change: opacity, transform;
  transition:transform 2s var(--ease-move), opacity 1s var(--ease-scale);
}

#trophy .content.cnt-04 .frm-header[data-visible="true"],
#trophy .content.cnt-04 form[data-visible="true"] + .notice{
  opacity:1;
  transform:translate3d(0, 0, 0);
}
#trophy .content.cnt-04 .frm-header[data-visible="true"]{
  transition-delay:.15s
}
#trophy .content.cnt-04 form[data-visible="true"] + .notice{
  transition-delay:.3s
}

.reveal .frm-block,
.reveal .btn-action{
  opacity:0;
  transform:translate3d(0, .5rem, 0);
  will-change:opacity, transform;
  transition:transform 2s var(--ease-move), opacity 1s var(--ease-scale);
}
.reveal[data-visible="true"] .frm-block,
.reveal[data-visible="true"] .btn-action{
  opacity:1;
  transform:translate3d(0, 0, 0);
}
.reveal[data-visible="true"] .frm-block.msg{
  transition-delay: .2s;
}
.reveal[data-visible="true"] .frm-block.frm-1{
  transition-delay: .3s;
}
.reveal[data-visible="true"] .frm-block.frm-2{
  transition-delay: .4s;
}
.reveal[data-visible="true"] .btn-action{
  transition-delay: .5s;
}



@media (min-aspect-ratio: 4/3) {
  #trophy .key-visual .container{
    height:calc(var(--cont-h)*1.6);
  }
  #trophy .key-visual .background{
    height:100%;
  }
  #trophy .key-visual .aligner{
    min-height:2rem
  }
  #trophy .key-visual .visual{
    width:calc(var(--kv-ratio)*20rem);
  }
  #trophy .content.cnt-04 .container{
    height:calc(var(--cont-h)*1.4);
  }
}



/* popup */
#popup .key-visual .sec-title{width:7.16rem;}
#popup .key-visual .sec-title>strong + strong{
  margin-top:-.3rem
}
#popup .key-visual .sec-title>span{
  margin-top:.17rem
}

#popup .content .sec-title{width:6.24rem;margin-bottom:2.55rem}
#popup .content .sec-title>strong + strong{
  margin-top:-.26rem
}
#popup .content .sec-title>span{
  margin-top:.16rem
}

#popup .key-visual{
  background: linear-gradient(
    to bottom,
    transparent 25%,
    black 40%
  );
}
#popup .key-visual .background{
  height:100%;
}
#popup .key-visual .visual{
  top:33%;
  width:125%;
  max-width:calc(var(--kv-ratio)*18rem);
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 25%,
    black 50%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 25%,
    black 50%,
    transparent 100%
  )
}

#popup .key-visual .aligner.top{
  flex:0.2;
}
#popup .key-visual .aligner.btm{
  flex:0.125;
}

#popup .content .background{
  max-width:none;
  height:100%;
  background:#000
}

#popup .content .background::after{
  content:"";display:block;position:absolute;left:0;bottom:0;width:100%;height:78%;
  background:linear-gradient(to bottom, rgba(182, 0, 22, 0) 0%, rgba(146, 0, 18, 1) 81.5%, rgba(146, 0, 18, 0.2) 100%);
}

#popup .content .visual.top{
  top:0;width:calc(var(--kv-ratio)*24rem);
}
#popup .content .visual.btm{
  bottom:0;width:calc(var(--kv-ratio)*20rem);
}
#popup .content .trophy{
  position:absolute;width:9.2rem;left:50%;top:10.7%;
  transform:translate3d(-50%, 15%, 0);opacity:0;
  will-change: transform, opacity;
  transition: transform 1s var(--ease-move), opacity .5s var(--ease-move);
}
#popup .content .confetti{
  position:absolute;top:0;left:50%;width:10rem;
  transform:translate3d(-50%, -25%, 0) scale3d(1.1, 1.1, 1.1);opacity:0;
  will-change: transform, opacity;
  transition: transform 3s var(--ease-move), opacity .5s var(--ease-move);
}

#popup .content .visual[data-visible="true"] .trophy,
#popup .content .visual[data-visible="true"] .confetti{
  transform:translate3d(-50%, 0, 0) scale3d(1, 1, 1);
  opacity:1;
  transition-delay: 0s;
}

.init #popup .sec-title[data-visible="true"],
.init #popup .sec-title[data-visible="true"] strong,
.init #popup .sec-title[data-visible="true"] span{
  transition-delay: .2s;
}


#popup .content .container{
  height:calc(var(--cont-h)*2.9);
}
#popup .content .aligner.top{
  flex:1
}
#popup .content .deco-line{
  flex:0.2;
  padding:1.2rem 0;
}
#popup .content .deco-line::before{
  width:.01rem;
  background:var(--tcolor);
}
#popup .content .aligner.btm{
  flex:0.45
}
#popup .content .sub-title{
  display:block;
  text-align:center;
  letter-spacing:-.05em;
  font-weight:500;
  font-size:.69rem;line-height:1.2;font-weight:600
}
#popup .content .dc-box{
  width:100%;
  position:relative;
}
#popup .content .dc-box p{
  display:block;
  text-align:center;
  letter-spacing:-.05em;
  font-weight:500;
}
#popup .content .dc-box p > span{
  display:block;font:inherit;letter-spacing:inherit
}
#popup .content .dc-box .no,
#popup .content .dc-box .name{font-size:.6rem;line-height:1.2}

#popup .content .dc-box .no{
  letter-spacing:-.05em;font-weight:600
}
#popup .content .dc-box .name{
  letter-spacing:-.01em;font-weight:900;
  padding-top:.4rem
}
#popup .content .dc-box .details{
  font-size:.36rem;line-height:1.5;font-weight:400;
  letter-spacing:-.05em;
  padding-top:.4rem
}

#popup .content .dc-01 .desc-01{
  font-size:.44rem;line-height:.7rem;letter-spacing:-.025em;
  padding-bottom:.75rem;
}
#popup .content .dc-01 .desc-02{
  font-size:.45rem;line-height:.72rem;letter-spacing:-.025em;
}
#popup .content .divider,
#popup .content .info-line{
  display:block;
  flex:none;
  width:0;
  will-change: width;
  transition: width 2s var(--ease-move);
}
#popup .content .divider{
  margin:1.72rem auto;
  height:.02rem;
  background:url(img/popup-line.png) repeat-x center / auto 100%;
}
#popup .content .info-line{
  margin:.97rem auto;
  height:.03rem;
  background:var(--tcolor);
}
#popup .content .dc-02 .tit,
#popup .content .dc-03 .tit{
  font-size:.69rem;line-height:.83rem;font-weight:600;
  padding-bottom:.4rem
}

#popup .content .dc-03 .desc{
  font-size:.36rem;line-height:1.5;font-weight:300
}
#popup .content .dc-03 .desc + .desc{
  margin-top:.5rem
}

.social-links{display:flex;gap:.3rem;justify-content:center;align-items:center;height:2.55rem;margin-bottom:.8rem}
.social-links > li{flex:none;width:fit-content}
.social-links .btn-social{
  display:block;
  width:.64rem;height:.64rem;
  border-radius:.06rem;
  overflow:clip
}

#popup .btn-action{
  height:1.32rem;  
}
#popup .btn-action::before{background:#0d1012}
#popup .btn-action > span{
  font-size:.5rem;font-weight:600;
}

#popup .ci{
  display:block;width:2.46rem;margin:0 auto;margin-top:3.12rem
}
#popup .ci > svg{
  fill:var(--tcolor);
}



#popup .content .sub-title,
#popup .content .dc-box,
#popup .content .social-links,
#popup .content .ci{
  opacity:0;
  transform:translate3d(0, .5rem, 0);
  will-change: opacity, transform;
  transition: transform 2s var(--ease-move), opacity 1s var(--ease-move);
}
#popup .btn-action{
  opacity:0;
  transform:scale3d(1.05, 1.05, 1.05);
  will-change: opacity, transform;
  transition: transform .65s var(--ease-move), opacity .5s var(--ease-move);
}

#popup .content .sub-title[data-visible="true"],
#popup .content .dc-box[data-visible="true"],
#popup .content .social-links[data-visible="true"],
#popup .content .ci[data-visible="true"]{
  opacity:1;
  transform:translate3d(0, 0, 0);
  transition-delay: .5s;
}


#popup .content .dc-box[data-visible="true"] .info-line{
  width:.6rem;
  transition-delay: .5s
}

#popup .content .btn-action[data-visible="true"]{
  opacity:1;
  transform:scale3d(1, 1, 1);
  transition-delay: .5s;
}
#popup .content .divider[data-visible="true"]{
  width:5.9rem;
  transition-delay:.5s
}


@media (min-aspect-ratio: 4/3) {
  #popup .content .visual.top{
    width:calc(var(--kv-ratio)*30rem);
  }
  #popup .content .container{
    height:calc(var(--cont-h)*3.4);
  }
}


/* ancore */

#ancore{background:#000}
#ancore .container{
  height:auto;
  max-height:none;
  width:100%;
  max-width:10rem;
  padding-top:4.2rem;
  padding-bottom:2.1rem;
}

#ancore .subject{
  display:block;text-align:center;font-weight:300;font-size:.4rem;line-height:1.2;color:#fff
}

#ancore .ancore-title{
  width:8.34rem;margin:0 auto;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.25rem;height:2.52rem;
}

#ancore .ancore-title::before,
#ancore .ancore-title::after{
  content:"";display:block;position:absolute;top:0;background:url(img/ancore-title-deco.png) no-repeat center / 100% auto;width:.85rem;height:100%
}

#ancore .ancore-title.v2{
  height:4rem
}
#ancore .ancore-title.v2::before,
#ancore .ancore-title.v2::after{
  width:1.2rem
}

#ancore .ancore-title::before{
  left:0;
}
#ancore .ancore-title::after{
  right:0;
  transform:rotate3d(0,1,0,180deg)
}
#ancore .ancore-title span,
#ancore .ancore-title strong{
  display:block;flex:none
}
#ancore .ancore-title .for{
  text-align:center;font-weight:500;font-size:.38rem;line-height:.48rem;color:#fff
}
#ancore .ancore-title strong{
  width:5.87rem;margin:0 auto;position:relative;
}
#ancore .ancore-title.v2 strong{
  width:5.92rem
}
#ancore .ancore-title strong .light{
  position:absolute;width:.8rem;height:.7rem;left:.08rem;top:.14rem;transform:translate3d(-50%,-50%, 0);
}
#ancore .ancore-title.v2 strong .light{
  width:1.2rem;height:1.05rem;left:.05rem;top:.14rem
}
#ancore .ancore-title strong .light::before{
  opacity:0;
  content:"";display:block;position:absolute;left:0;width:100%;height:100%;top:0;background:url(img/ancore-title-light.png) no-repeat center / 100% auto
}

#ancore .ancore-title[data-visible="true"] strong .light::before{
  animation: ancore-title-light 3s linear infinite;
}

@keyframes ancore-title-light {
  0% {
    transform: scale3d(0.3, 0.3, 0.3) rotate3d(0, 0, 1, -60deg);
    opacity:0;
  }
  45%,
  55% {
    transform: scale3d(1.1, 1.1, 1) rotate3d(0, 0, 1, 0deg);
    opacity:1;
  }
  100% {
    transform: scale3d(0.3, 0.3, 0.3) rotate3d(0, 0, 1, 60deg);
    opacity:0;
  }
}


#ancore .ancore-title .blank{
  height:.2rem
}

#ancore .is-closed{
  margin-top:.21rem;
  text-align:center;
  line-height:.72rem;font-size:.45rem;letter-spacing:-.05em;font-weight:400;color:#fff
}

#ancore .is-closed >strong{font-weight:700}

#ancore .event-notice{
  margin-top:.5rem;
  text-align:center;
  line-height:.6rem;font-size:.4rem;letter-spacing:-.025em;font-weight:400;color:#fff
}

#ancore .event-notice .accent{color:var(--theme)}
#ancore .thank-you{
  margin-top:.8rem;
  text-align:center;
  line-height:.6rem;font-size:.45rem;letter-spacing:-.025em;font-weight:700;color:#fff
}
#ancore .reopen{
  margin-top:.1rem;
  text-align:center;
  line-height:.62rem;font-size:.4rem;letter-spacing:-.025em;font-weight:400;color:#fff
}
#ancore .reopen > strong{font-weight:700;display:block}

#ancore .photograph{
  opacity:.8;
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 5%,
    black 40%,
    black 45%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    transparent 5%,
    black 40%,
    black 45%,
    transparent 100%
  )
}

#ancore .photograph > img{
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 10%,
    black 90%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 10%,
    black 90%,
    transparent 100%
  )
}
#ancore .trophy{
  width:6.04rem;margin:0 auto;display:block;
  margin-top:.66rem;
  margin-bottom:.22rem;
  -webkit-mask-image: linear-gradient(
    to bottom,
    black 0%,
    black 40%,
    transparent 95%
  );
  mask-image: linear-gradient(
    to bottom,
    black 0%,
    black 40%,
    transparent 95%
  )
}

#ancore .trophy.small{
  width:3.24rem;margin-top:.22rem;margin-bottom:.8rem;
  -webkit-mask-image: linear-gradient(
    to bottom,
    black 0%,
    black 70%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    black 0%,
    black 70%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    black 0%,
    black 70%,
    transparent 100%
  )
}

#ancore .key-visual .background{
  height:100%;
  mask:none;
  -webkit-mask:none;
}
#ancore .key-visual .visual{
  top:0;
  width:100%;
  min-width:calc(var(--kv-ratio)*20rem)
}
#ancore .key-visual .visual.back{
  background:url(img/ancore-kv-bg.jpg) repeat-x center top / 24rem auto;
  -webkit-mask-image: linear-gradient(
    to bottom,
    black 0%,
    black 35%,
    transparent 90%
  );
  mask-image: linear-gradient(
    to bottom,
    black 0%,
    black 35%,
    transparent 90%
  );
  height:max(10.88rem, calc(var(--kv-ratio)*10.88rem));
}
#ancore .key-visual .visual.default{
  background:url(img/ancore-kv-bg.jpg) repeat-x center top / 45rem auto;
  -webkit-mask-image: linear-gradient(
    to bottom,
    black 0%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    black 0%,
    transparent 100%
  );
  height:max(20.4rem, calc(var(--kv-ratio)*20.4rem));
}
#ancore .key-visual .visual.front{
  height:calc(var(--kv-ratio)*1588rem);
  -webkit-mask-image:none;
  mask-image:none;
}

#ancore .key-visual .background .corner{
  width:calc(var(--kv-ratio)*10rem);
  position:absolute;top:0;
}

#ancore .key-visual .background .corner.rgt{
  right:0
}
#ancore .key-visual .background .corner.lft{
  left:0
}
#ancore .key-visual .background .corner.lft > img{
  transform:rotate3d(0, 1, 0, 180deg)
}


#ancore .content .container{
  width:100%;
  padding-top:0;padding-bottom:0
}

#ancore .content .notice{
  margin-top:.5rem;
  text-align:center;
  line-height:.6rem;font-size:.4rem;letter-spacing:-.05em;font-weight:300;color:#fff
}

#ancore .content .aligner.btm{
  flex:0.125;
  min-height:.6rem
}
#ancore .content .deco-line{
  flex:1;
  padding:.78rem 0 0;
}
#ancore .content .deco-line::before{
  width:.01rem;
  background:var(--tcolor);
}
.init #ancore .content .deco-line[data-visible="true"]{
  transition-delay: 1s;
}

#ancore .frm-header-top{
  display:block;height:0;
}
#ancore .content .frm-header{
  padding-top:.78rem
}
#ancore .content .description.tit{
  font-size:.8rem;
  line-height:1.2;
  padding:.16rem 0 .68rem;
}

#ancore .content .description.dc-01,
#ancore .content .description.dc-02{
  font-size:.4rem;
  line-height:.6rem;
  padding-bottom:.5rem;
  letter-spacing:-.05em;
  font-weight:400
}

#ancore .content .description.dc-01{
  padding-top:1.5rem
}
#ancore .content .description.dc-02{
  margin-bottom:.35rem;
}

#ancore .content .description span > strong{
  font-weight:700;
  font-size:.55rem;line-height:.76rem
}

#ancore .content form{
  display:block;width:8rem;margin:0 auto;
}

#ancore .content .description.notice{
  width:fit-content;margin:.6rem auto 0;
  text-align:left;
  font-size:.275rem;
  line-height:1.6;
}

#ancore .content .description.notice > span{
  font-weight:300
}

#ancore .content form .btn-action{
  width:100%;
  margin-top:.45rem
}

#ancore .subject,
#ancore .ancore-title,
#ancore .is-closed,
#ancore .trophy,
#ancore .photograph,
#ancore .event-notice,
#ancore .thank-you,
#ancore .content .frm-header,
#ancore .content .notice{
  opacity:0;transform:translate3d(0,.5rem,0);
  will-change: opacity, transform;
  transition:transform 2s var(--ease-move), opacity 1s var(--ease-scale);
}

#ancore .subject[data-visible="true"],
#ancore .ancore-title[data-visible="true"],
#ancore .is-closed[data-visible="true"],
#ancore .reopen[data-visible="true"],
#ancore .trophy[data-visible="true"],
#ancore .photograph[data-visible="true"],
#ancore .event-notice[data-visible="true"],
#ancore .thank-you[data-visible="true"],
#ancore .content .frm-header[data-visible="true"],
#ancore .content form[data-visible="true"] + .notice{
  opacity:1;
  transform:translate3d(0, 0, 0);
}
#ancore .content .frm-header[data-visible="true"]{
  transition-delay:.15s
}
#ancore .content form[data-visible="true"] + .notice{
  transition-delay:.3s
}


#ancore .btn-action::before{background:var(--theme)}
#ancore .btn-action > span{  
  font-size:.42rem;
  line-height:.55rem;
  font-weight:700;
}


/* footer */
#footer{background:#000}
#footer .content .background{
  max-width:none;
  height:100%;
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 50%,
    black 100%
  );
  mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 50%,
    black 100%
  );
}
#footer .content .background::after{
  content:"";display:block;position:absolute;left:0;bottom:0;width:100%;height:130%;
  background:linear-gradient(to bottom, rgba(146, 0, 18, 0) 0%, rgba(146, 0, 18, 0.5) 50%, rgba(146, 0, 18, 0.5) 100%);
}
#footer .content .visual.btm{
  bottom:0;width:calc(var(--kv-ratio)*16rem);height:calc(var(--kv-ratio)*8rem);overflow:hidden
}

#footer .content .aligner.top{
  flex:3
}
#footer .content .aligner.btm{
  flex:2
}

#footer .ci{
  display:block;width:2.46rem;margin:0 auto
}
#footer .ci > svg{
  fill:var(--tcolor);
}

#footer .content .ci{
  opacity:0;
  transform:translate3d(0, .5rem, 0);
  will-change: opacity, transform;
  transition: transform 2s var(--ease-move), opacity 1s var(--ease-move);
}
#footer .content .ci[data-visible="true"]{
  opacity:1;
  transform:translate3d(0, 0, 0);
  transition-delay: .5s;
}

#footer .content .container{
  height:calc(var(--cont-h)*0.35);
}



/* layer */
#layer{
  position:fixed;left:0;top:0;width:100%;height:100%;
  display:none;
  align-items:center;justify-content:center;
  background:rgba(0,0,0,.7);
  backdrop-filter:blur(0.05rem);
  z-index:999;
}

#layer .video-layer,
#layer .alert-layer,
#layer .invite-layer{
  position:relative;
  margin:0 auto;
  width:fit-content;
  display:none;
}

#layer .video-layer .close-button{
  position:absolute;right:0;top:-.5rem;width:1rem;height:1rem;
}

#layer .video-layer .close-button > img{
  width:100%;height:100%;object-fit:fill;
}
#layer .video-layer .close-button::before,
#layer .video-layer .close-button::after{
  content:"";
  display:block;position:absolute;left:50%;top:50%;
  background:var(--tcolor);
  transform:translate3d(-50%, -50%, 0) rotate(45deg);
  border-radius: .03rem;
}

#layer .video-layer .close-button:active{
  transform:scale3d(0.95, 0.95, 1);
}

body:not(.is-mobile) #layer .video-layer .close-button:hover::before,
body:not(.is-mobile) #layer .video-layer .close-button:hover::after{
  animation:rotate180 .5s var(--ease-move) forwards;
}

#layer .video-layer .close-button::before{
  width:100%;height:.05rem
}
#layer .video-layer .close-button::after{
  width:.05rem;height:100%;
}

#layer .video-container{
  aspect-ratio:16/9;
  background:#000;
  width:min(calc((var(--app-viewport-height) - 2rem) * 16 / 9), 96vw);
  height:auto;
  max-height:calc(var(--app-viewport-height) - 2rem);
  margin-top:.5rem
}

#layer .video-container > div,
#layer .video-container > iframe{
  width:100%;
  height:100%;
}


#layer .alert-container{
  width:7.2rem;
  margin:0 auto;
  background:#fff;
  border-radius:.8rem;
  color:black;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:1rem .45rem .72rem;
  min-height:1.5rem;
}
#layer .alert-container p{
  flex:none;
  letter-spacing:-.05em;
  font-weight:300;
  text-align:center;
  word-wrap:break-word;
  word-break:keep-all;
}
#layer .alert-container .invite-line{
  flex:none;width:100%;height:.01rem;background:black;margin:.44rem 0
}

#layer .alert-container p strong{
  font-weight:800
}
#layer .alert-container .tit{
  width:5.2rem;margin:0 auto;margin-bottom:.33rem
}
#layer .alert-container .description{
  font-size:.42rem;line-height:1.4
}
#layer .alert-container .notice,
#layer .alert-container .awards{
  font-size:.36rem;line-height:1.2;font-weight:500
}

#layer .alert-container .btn-action{
  margin-top:.48rem;
  height:.8rem;
  width:5.36rem;
}
#layer .alert-container .btn-action + .btn-action{
  margin-top:.15rem
}
#layer .alert-container .btn-action::before{
  background-color:#323232;
}
#layer .alert-container .btn-action.accent::before{
  background-color:var(--theme)
}
#layer .alert-container .btn-action > span{
  font-size:.36rem;line-height:1.2;font-weight:500;
  color:var(--tcolor)
}

#layer .alert-layer .btn-action{
  width:3.2rem;
}





.cs-title{display:block;margin:0 auto;width:6.36rem}
.cs-title strong,
.cs-title span{display:block;height:auto;opacity:0;will-change:transform, opacity;
  transition: transform 2s var(--ease-move), opacity 1s var(--ease-scale);
}
.cs-title strong{transform:translate3d(0, 25%, 0)}
.cs-title span{width:50%;margin:0 auto;margin-top:.3rem;transform:translate3d(0, 100%, 0)}

.cs-title[data-visible="true"] strong,
.cs-title[data-visible="true"] span{
  opacity:1;
  transform:translate3d(0, 0, 0);
}

.cs-title[data-visible="true"] strong{
  transition-delay: .5s;
}
.cs-title[data-visible="true"] span{
  transition-delay: .7s;
}

.coming-soon-ci{
  position:absolute;bottom:.9rem;left:50%;transform:translate3d(-50%, 0, 0);
  display:block;flex:none;width:1.08rem;
}
.coming-soon-ci svg{
  fill:var(--tcolor)
}






.btn-banner{position:fixed;width:1.92rem;bottom:.6rem;right:.6rem;z-index:9;pointer-events:auto;cursor:pointer;will-change: transform, opacity;transition: transform .3s var(--ease-move), opacity 1s var(--ease-scale);opacity:0;transform:translate3d(0, 10%, 0)}

#evt_main.init .btn-banner{
  opacity:1;
  transform:translate3d(0, 0, 0);
  transition-delay: 4s;
}