/* TERASU design tokens | t-footer | TERASU original build */
.t-ui-footer-fix {
  left: 0;
  margin-left: auto;
  margin-right: auto;
  pointer-events: none;
  position: fixed;
  right: 0;
  top: calc(100vh - 230em / var(--t-em));
  top: calc(100dvh - 230em / var(--t-em));
  width: calc(600em / var(--t-em));
  z-index: 1000;
}
.t-ui-footer-fix__close {
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 calc(2em / var(--t-em)) #000 inset;
  display: grid;
  height: calc(42em / var(--t-em));
  place-items: center;
  position: absolute;
  right: calc(-15em / var(--t-em));
  top: calc(-15em / var(--t-em));
  width: calc(42em / var(--t-em));
}
.t-ui-footer-fix__close:after,
.t-ui-footer-fix__close:before {
  background-color: #000;
  content: "";
  grid-area: 1/1;
  height: calc(2em / var(--t-em));
  transform: rotate(45deg);
  width: calc(16.97em / var(--t-em));
}
.t-ui-footer-fix__close:after {
  transform: rotate(-45deg);
}
.t-ui-footer-fix__close,
.t-ui-footer-fix__inner {
  pointer-events: auto;
  transition-property: opacity, visibility;
}
#t-fix:checked ~ .t-ui-footer-fix__close,
#t-fix:checked ~ .t-ui-footer-fix__inner {
  opacity: 0;
  visibility: hidden;
}
.t-ui-footer-fix__close {
  z-index: 1;
}
.t-ui-footer-fix__inner {
  transition-property: filter;
}
.t-ui-footer-fix__inner:hover {
  filter: brightness(1.1);
}
.t-ui-footer-fix__inner img {
  width: 100%;
}
@media (min-width: 48em) {
  .t-ui-footer-fix {
    max-width: calc(1660em / var(--t-em));
    top: calc(100vh - 220em / var(--t-em));
    top: calc(100dvh - 220em / var(--t-em));
    width: calc(100% - 120em / var(--t-em));
  }
  .t-ui-footer-fix__close {
    height: calc(25em / var(--t-em));
    right: calc(-10em / var(--t-em));
    top: calc(-10em / var(--t-em));
    width: calc(25em / var(--t-em));
  }
  .t-ui-footer-fix__close:after,
  .t-ui-footer-fix__close:before {
    width: calc(11.31em / var(--t-em));
  }
  .t-ui-footer-fix__inner {
    display: block;
    margin-left: auto;
    width: calc(250em / var(--t-em));
  }
}
.t-ui-btn {
  --t-em: 20;
  --t-h: 95em;
  --t-pd: 0em;
  --t-sdw: 2em;
  --t-sdwColor: #fff;
  align-items: center;
  border-radius: 10em;
  box-shadow: 0 0 0 calc(2em / var(--t-em)) #000 inset;
  display: grid;
  font-weight: 700;
  gap: calc(10em / var(--t-em));
  grid-auto-flow: column;
  grid-template-rows: auto;
  height: calc(var(--t-h) / var(--t-em));
  padding-left: calc(var(--t-pd) / var(--t-em));
  padding-right: calc(var(--t-pd) / var(--t-em) - 0.06em);
  transition-property: background-color, color;
}
.t-ui-btn.Alt {
  --t-accent: #00c2a8;
  --t-pd: 0em;
  --t-sdwColor: #000;
  background-color: #000;
  box-shadow: none;
  color: #fff;
}
.t-ui-btn.Alt:hover {
  background-color: var(--t-accent);
  color: #000;
}
.t-ui-btn.Alt:hover .f {
  background-color: #000;
  color: var(--t-accent);
}
.t-ui-btn:hover {
  background-color: #000;
  color: #fff;
}
.t-ui-btn:hover .h > span {
  translate: 0 calc(var(--t-sdw) * -1);
}
.t-ui-btn .h {
  display: flex;
  overflow: hidden;
}
.t-ui-btn .h > span {
  --t-d: 12ms;
  text-shadow: 0 var(--t-sdw) 0 var(--t-sdwColor);
  transition-delay: var(--t-d);
  transition-property: translate;
}
.t-ui-btn .h > span:nth-child(2) {
  transition-delay: calc(var(--t-d) * 2);
}
.t-ui-btn .h > span:nth-child(3) {
  transition-delay: calc(var(--t-d) * 3);
}
.t-ui-btn .h > span:nth-child(4) {
  transition-delay: calc(var(--t-d) * 4);
}
.t-ui-btn .h > span:nth-child(5) {
  transition-delay: calc(var(--t-d) * 5);
}
.t-ui-btn .h > span:nth-child(6) {
  transition-delay: calc(var(--t-d) * 6);
}
.t-ui-btn .h > span:nth-child(7) {
  transition-delay: calc(var(--t-d) * 7);
}
.t-ui-btn .h > span:nth-child(8) {
  transition-delay: calc(var(--t-d) * 8);
}
.t-ui-btn .h > span:nth-child(9) {
  transition-delay: calc(var(--t-d) * 9);
}
.t-ui-btn .h > span:nth-child(10) {
  transition-delay: calc(var(--t-d) * 10);
}
.t-ui-btn .h > span:nth-child(11) {
  transition-delay: calc(var(--t-d) * 11);
}
.t-ui-btn .h > span:nth-child(12) {
  transition-delay: calc(var(--t-d) * 12);
}
.t-ui-btn .h > span:nth-child(13) {
  transition-delay: calc(var(--t-d) * 13);
}
.t-ui-btn .h > span:nth-child(14) {
  transition-delay: calc(var(--t-d) * 14);
}
.t-ui-btn .h > span:nth-child(15) {
  transition-delay: calc(var(--t-d) * 15);
}
.t-ui-btn .f {
  --t-em: 16;
  --t-h: 33em;
  --t-pd: 0em;
  align-items: center;
  background-color: var(--t-accent);
  border-radius: calc(6em / var(--t-em));
  color: #000;
  display: grid;
  height: calc(var(--t-h) / var(--t-em));
  padding-left: calc(var(--t-pd) / var(--t-em));
  padding-right: calc(var(--t-pd) / var(--t-em) - 0.06em);
  transition-property: background-color, color;
}
@media not screen and (min-width: 48em) {
  .t-ui-btn,
  .t-ui-btn .f {
    justify-content: center;
  }
}
@media (min-width: 48em) {
  .t-ui-btn {
    --t-em: 12;
    --t-h: 38em;
    --t-pd: 23em;
    gap: calc(5em / var(--t-em));
  }
  .t-ui-btn.Alt {
    --t-pd: 17em;
  }
  .t-ui-btn .f {
    --t-em: 10;
    --t-h: 16em;
    --t-pd: 6em;
  }
}
.t-ui-section__title {
  --t-em: 36;
  --t-let: 0.12em;
  display: grid;
  font-weight: 700;
  gap: calc(10em / var(--t-em));
  justify-items: center;
  line-height: calc(54 / var(--t-em));
  margin-bottom: calc(68em / var(--t-em));
}
.t-ui-section__title.Inview .En span,
.t-ui-section__title.Inview .Jp span {
  translate: 0 0;
}
.t-ui-section__title .En,
.t-ui-section__title .Jp {
  display: flex;
  overflow: hidden;
}
.t-ui-section__title .En span,
.t-ui-section__title .Jp span {
  --t-d: 12ms;
  transition-delay: calc(var(--t-d) * 1 + 0.3s);
  transition-property: translate;
  translate: 0 100%;
}
.t-ui-section__title .En span:nth-child(2),
.t-ui-section__title .Jp span:nth-child(2) {
  transition-delay: calc(var(--t-d) * 2 + 0.3s);
}
.t-ui-section__title .En span:nth-child(3),
.t-ui-section__title .Jp span:nth-child(3) {
  transition-delay: calc(var(--t-d) * 3 + 0.3s);
}
.t-ui-section__title .En span:nth-child(4),
.t-ui-section__title .Jp span:nth-child(4) {
  transition-delay: calc(var(--t-d) * 4 + 0.3s);
}
.t-ui-section__title .En span:nth-child(5),
.t-ui-section__title .Jp span:nth-child(5) {
  transition-delay: calc(var(--t-d) * 5 + 0.3s);
}
.t-ui-section__title .En span:nth-child(6),
.t-ui-section__title .Jp span:nth-child(6) {
  transition-delay: calc(var(--t-d) * 6 + 0.3s);
}
.t-ui-section__title .En span:nth-child(7),
.t-ui-section__title .Jp span:nth-child(7) {
  transition-delay: calc(var(--t-d) * 7 + 0.3s);
}
.t-ui-section__title .En span:nth-child(8),
.t-ui-section__title .Jp span:nth-child(8) {
  transition-delay: calc(var(--t-d) * 8 + 0.3s);
}
.t-ui-section__title .En span:nth-child(9),
.t-ui-section__title .Jp span:nth-child(9) {
  transition-delay: calc(var(--t-d) * 9 + 0.3s);
}
.t-ui-section__title .En span:nth-child(10),
.t-ui-section__title .Jp span:nth-child(10) {
  transition-delay: calc(var(--t-d) * 10 + 0.3s);
}
.t-ui-section__title .En span:nth-child(11),
.t-ui-section__title .Jp span:nth-child(11) {
  transition-delay: calc(var(--t-d) * 11 + 0.5s);
}
.t-ui-section__title .En span:nth-child(12),
.t-ui-section__title .Jp span:nth-child(12) {
  transition-delay: calc(var(--t-d) * 12 + 0.5s);
}
.t-ui-section__title .En span:nth-child(13),
.t-ui-section__title .Jp span:nth-child(13) {
  transition-delay: calc(var(--t-d) * 13 + 0.5s);
}
.t-ui-section__title .En span:nth-child(14),
.t-ui-section__title .Jp span:nth-child(14) {
  transition-delay: calc(var(--t-d) * 14 + 0.5s);
}
.t-ui-section__title .En span:nth-child(15),
.t-ui-section__title .Jp span:nth-child(15) {
  transition-delay: calc(var(--t-d) * 15 + 0.5s);
}
.t-ui-section__title .En {
  --t-em: 80;
  --t-let: 0.03em;
  content: attr(data-en);
  font-family: Outfit, sans-serif;
  font-weight: 700;
  line-height: calc(101 / var(--t-em));
}
.t-ui-section__copy {
  --t-em: 36;
  font-weight: 700;
  line-height: calc(52 / var(--t-em));
  margin-bottom: calc(93em / var(--t-em));
  padding-bottom: calc(1em / var(--t-em));
  padding-top: calc(1em / var(--t-em));
  text-align: center;
}
.t-ui-section__btn {
  --t-em: 30;
  --t-h: 135em;
  --t-sdwColor: #000;
  background-color: #000;
  box-shadow: none;
  color: #fff;
  margin-left: auto;
  margin-right: auto;
  place-items: center;
  transition-property: background-color, color;
  width: calc(630em / var(--t-em));
}
.t-ui-section__btn.Alt {
  background-color: #fff;
  color: #000;
}
.t-ui-section__btn:hover {
  background-color: #00c2a8;
  color: #000;
}
@media not screen and (min-width: 48em) {
  .t-ui-section > .t-ui-target {
    top: calc(-120em / var(--t-em));
  }
}
@media (min-width: 48em) {
  .t-ui-section__title {
    --t-em: 30;
    gap: calc(12em / var(--t-em));
    line-height: calc(45 / var(--t-em));
  }
  .t-ui-section__copy {
    --t-em: 28;
    line-height: calc(40 / var(--t-em));
    margin-bottom: calc(79em / var(--t-em));
    padding-bottom: calc(0.5em/var (--t-em));
    padding-top: calc(0.5em/var (--t-em));
  }
  .t-ui-section__btn {
    --t-em: 18;
    --t-h: 82em;
    width: calc(398em / var(--t-em));
  }
}
.t-ui-footer {
  background-color: #000;
  color: #fff;
  display: grid;
  gap: calc(30em / var(--t-em));
  justify-items: center;
  padding-bottom: calc(54em / var(--t-em));
  padding-top: calc(56em / var(--t-em));
}
.t-ui-footer__bnr {
  display: grid;
  gap: calc(25em / var(--t-em));
  margin-bottom: calc(50em / var(--t-em));
}
.t-ui-footer__list {
  --t-em: 22;
  --t-let: 0.06em;
  display: grid;
  font-weight: 700;
  gap: 1em 2em;
  grid-auto-flow: column;
  line-height: calc(33 / var(--t-em));
}
.t-ui-footer__list a:hover {
  text-decoration: underline;
}
.t-ui-footer__copyright {
  --t-em: 22;
  --t-let: 0.06em;
  font-weight: 700;
  line-height: calc(33 / var(--t-em));
}
@media (min-width: 48em) {
  .t-ui-footer {
    grid-auto-flow: column;
    grid-template-rows: repeat(2, auto);
    justify-content: space-between;
    padding-bottom: calc(58em / var(--t-em));
    padding-top: calc(61em / var(--t-em));
  }
  .t-ui-footer__bnr {
    gap: calc(18em / var(--t-em));
    grid-column: span 2;
    grid-template-columns: repeat(2, calc(481em / var(--t-em)));
    justify-content: center;
  }
  .t-ui-footer__bnr li:only-child {
    grid-column: span 2;
    margin-inline: auto;
    width: calc(481em / var(--t-em));
  }
  .t-ui-footer__list {
    margin-left: calc(-90em / var(--t-em));
  }
  .t-ui-footer__copyright,
  .t-ui-footer__list {
    --t-em: 14;
    line-height: calc(20 / var(--t-em));
  }
  .t-ui-footer__copyright {
    margin-right: calc(-90em / var(--t-em));
  }
}
