@charset "UTF-8";
/* splide */
.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__arrow {
  align-items: center;
  background: #ccc;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  height: 2em;
  justify-content: center;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2em;
  z-index: 1;
}

.splide__arrow svg {
  fill: #000;
  height: 1.2em;
  width: 1.2em;
}

.splide__arrow:hover:not(:disabled) {
  opacity: 0.9;
}

.splide__arrow:disabled {
  opacity: 0.3;
}

.splide__arrow:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__arrow--prev {
  left: 1em;
}

.splide__arrow--prev svg {
  transform: scaleX(-1);
}

.splide__arrow--next {
  right: 1em;
}

.splide.is-focus-in .splide__arrow:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__pagination {
  bottom: 0.5em;
  left: 0;
  padding: 0 1em;
  position: absolute;
  right: 0;
  z-index: 1;
}

.splide__pagination__page {
  background: #ccc;
  border: 0;
  border-radius: 50%;
  display: inline-block;
  height: 8px;
  margin: 3px;
  opacity: 0.7;
  padding: 0;
  position: relative;
  transition: transform 0.2s linear;
  width: 8px;
}

.splide__pagination__page.is-active {
  background: #fff;
  transform: scale(1.4);
  z-index: 1;
}

.splide__pagination__page:hover {
  cursor: pointer;
  opacity: 0.9;
}

.splide__pagination__page:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__pagination__page:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__progress__bar {
  background: #ccc;
  height: 3px;
}

.splide__slide {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.splide__slide:focus {
  outline: 0;
}

@supports (outline-offset: -3px) {
  .splide__slide:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide__slide:focus-visible {
    border: 3px solid #0bf;
  }
}
@supports (outline-offset: -3px) {
  .splide.is-focus-in .splide__slide:focus {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide.is-focus-in .splide__slide:focus {
    border: 3px solid #0bf;
  }
  .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
    border-color: #0bf;
  }
}
.splide__toggle {
  cursor: pointer;
}

.splide__toggle:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__toggle:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__track--nav > .splide__list > .splide__slide {
  border: 3px solid transparent;
  cursor: pointer;
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 3px solid #000;
}

.splide__arrows--rtl .splide__arrow--prev {
  left: auto;
  right: 1em;
}

.splide__arrows--rtl .splide__arrow--prev svg {
  transform: scaleX(1);
}

.splide__arrows--rtl .splide__arrow--next {
  left: 1em;
  right: auto;
}

.splide__arrows--rtl .splide__arrow--next svg {
  transform: scaleX(-1);
}

.splide__arrows--ttb .splide__arrow {
  left: 50%;
  transform: translate(-50%);
}

.splide__arrows--ttb .splide__arrow--prev {
  top: 1em;
}

.splide__arrows--ttb .splide__arrow--prev svg {
  transform: rotate(-90deg);
}

.splide__arrows--ttb .splide__arrow--next {
  bottom: 1em;
  top: auto;
}

.splide__arrows--ttb .splide__arrow--next svg {
  transform: rotate(90deg);
}

.splide__pagination--ttb {
  bottom: 0;
  display: flex;
  flex-direction: column;
  left: auto;
  padding: 1em 0;
  right: 0.5em;
  top: 0;
}

/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

#root,
#__next {
  isolation: isolate;
}

ul,
ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

img,
picture,
video,
canvas,
svg {
  height: auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

sup {
  font-size: 0.5em;
}

html {
  font-size: 2.5641025641vw;
}
@media screen and (min-width: 769px) {
  html {
    font-size: 10px;
  }
}

:root {
  --remPC: 7.857px;
  --scrollbar: 0;
  --key-color: #FFF08C;
}
@media screen and (min-width: 1506px) {
  :root {
    --remPC: 0.5208333333vw;
  }
}

body {
  background: #ffad26;
  color: #fff;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.8571428571;
  letter-spacing: 0.08em;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  text-align: justify;
  word-break: break-all;
  font-feature-settings: "palt" 1;
  font-optical-sizing: auto;
}
@media screen and (max-width: 768px) {
  body {
    background: #fff;
  }
}
body.on-hamburger {
  overflow: hidden;
}
body.on-hamburger .layout-header {
  overflow: visible;
  pointer-events: auto;
}
body.on-hamburger .layout-header__background, body.on-hamburger .layout-header__inner {
  opacity: 1;
  visibility: visible;
}
body.on-hamburger .layout-header__inner {
  position: absolute;
}

a {
  color: #1558d6;
  text-decoration: underline;
}
@media (hover: hover) {
  a:hover {
    text-decoration: none;
  }
}
@media (hover: none) {
  a:active {
    text-decoration: none;
  }
}

em {
  font-style: normal;
}

img, iframe {
  display: block;
  width: 100%;
}

iframe {
  height: auto;
  aspect-ratio: 16/9;
}

button {
  padding: 0;
  border: none;
  background-color: transparent;
  touch-action: manipulation;
  cursor: pointer;
}

@media screen and (min-width: 769px) {
  .only-sp {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .only-pc {
    display: none !important;
  }
}

.mt-100dvh {
  margin-top: 100vh;
}
@media screen and (min-width: 769px) {
  .mt-100dvh {
    margin-top: calc(85.2 * var(--remPC));
  }
}

.bg-dark-gray {
  background-color: #1E1E1E;
  color: #fff;
}

.bg-white {
  background-color: #fff;
}

.color-white {
  color: #fff;
}

.color-yellow {
  color: var(--key-color);
}

.color-red {
  color: #E21413;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-weight-bold {
  font-weight: 700;
}

.text-space-narrow {
  letter-spacing: 0.02em;
}

.text-underline {
  text-decoration: underline;
}

@media screen and (min-width: 769px) {
  .text-center-pc {
    text-align: center;
  }
}

@media screen and (max-width: 768px) {
  .text-center-sp {
    text-align: center;
  }
}

.hover-opacity a, .hover-opacity button {
  transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
  will-change: opacity;
}
@media (hover: hover) {
  .hover-opacity a:hover, .hover-opacity button:hover {
    opacity: 0.85;
  }
}
@media (hover: none) {
  .hover-opacity a:active, .hover-opacity button:active {
    opacity: 0.85;
  }
}

.hover-underline a, .hover-underline button {
  text-decoration: underline;
}
@media (hover: hover) {
  .hover-underline a:hover, .hover-underline button:hover {
    text-decoration: none;
  }
}
@media (hover: none) {
  .hover-underline a:active, .hover-underline button:active {
    text-decoration: none;
  }
}

.slide-up {
  transform: translateY(4rem);
  opacity: 0;
  transition: transform 0.6s cubic-bezier(0.39, 0.575, 0.565, 1), opacity 0.6s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.slide-up.on-first-access {
  transition-delay: 0.7s;
}
.slide-up.on-first-access.on-first-access-0 {
  transition-delay: 0.7s;
}
.slide-up.on-first-access.on-first-access-0:after {
  transition-delay: 1.05s;
}
.slide-up.on-first-access.on-first-access-1 {
  transition-delay: 0.775s;
}
.slide-up.on-first-access.on-first-access-1:after {
  transition-delay: 1.125s;
}
.slide-up.on-first-access.on-first-access-2 {
  transition-delay: 0.85s;
}
.slide-up.on-first-access.on-first-access-2:after {
  transition-delay: 1.2s;
}
.slide-up.on-first-access.on-first-access-3 {
  transition-delay: 0.925s;
}
.slide-up.on-first-access.on-first-access-3:after {
  transition-delay: 1.275s;
}
.slide-up.on-first-access.on-first-access-4 {
  transition-delay: 1s;
}
.slide-up.on-first-access.on-first-access-4:after {
  transition-delay: 1.35s;
}
.slide-up.on-first-access.on-first-access-5 {
  transition-delay: 1.075s;
}
.slide-up.on-first-access.on-first-access-5:after {
  transition-delay: 1.425s;
}
.slide-up.on-first-access.on-first-access-6 {
  transition-delay: 1.15s;
}
.slide-up.on-first-access.on-first-access-6:after {
  transition-delay: 1.5s;
}
.slide-up.on-first-access.on-first-access-7 {
  transition-delay: 1.225s;
}
.slide-up.on-first-access.on-first-access-7:after {
  transition-delay: 1.575s;
}
.slide-up.on-first-access.on-first-access-8 {
  transition-delay: 1.3s;
}
.slide-up.on-first-access.on-first-access-8:after {
  transition-delay: 1.65s;
}
.slide-up.on-first-access.on-first-access-9 {
  transition-delay: 1.375s;
}
.slide-up.on-first-access.on-first-access-9:after {
  transition-delay: 1.725s;
}
.slide-up.on-first-access.on-first-access-10 {
  transition-delay: 1.45s;
}
.slide-up.on-first-access.on-first-access-10:after {
  transition-delay: 1.8s;
}
.slide-up.on-first-access.on-first-access-11 {
  transition-delay: 1.525s;
}
.slide-up.on-first-access.on-first-access-11:after {
  transition-delay: 1.875s;
}
.slide-up.on-first-access.on-first-access-12 {
  transition-delay: 1.6s;
}
.slide-up.on-first-access.on-first-access-12:after {
  transition-delay: 1.95s;
}
.slide-up.on-first-access.on-first-access-13 {
  transition-delay: 1.675s;
}
.slide-up.on-first-access.on-first-access-13:after {
  transition-delay: 2.025s;
}
.slide-up.on-first-access.on-first-access-14 {
  transition-delay: 1.75s;
}
.slide-up.on-first-access.on-first-access-14:after {
  transition-delay: 2.1s;
}
.slide-up.on-first-access.on-first-access-15 {
  transition-delay: 1.825s;
}
.slide-up.on-first-access.on-first-access-15:after {
  transition-delay: 2.175s;
}
.slide-up.is-inview {
  transform: translateY(0);
  opacity: 1;
  will-change: transform, opacity;
}

.slide-belt {
  position: relative;
  z-index: 1;
}
.slide-belt::before {
  display: block;
  width: 39.3rem;
  height: calc(100% - 4.8rem);
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform-origin: left center;
  translate: -50% -50%;
  scale: 0 1;
  z-index: -1;
  background-color: #E21413;
  transition: scale 0.8s cubic-bezier(0.23, 1, 0.32, 1);
  will-change: scale;
}
.slide-belt > * {
  opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) 0.2s;
}
.slide-belt.is-inview::before {
  scale: 1;
}
.slide-belt.is-inview > * {
  opacity: 1;
}

.delay-01 {
  transition-delay: 0.1s;
}

.delay-02 {
  transition-delay: 0.2s;
}

.component-accordion {
  border: 1px solid #fff;
  margin-top: 2.9rem;
}
.component-accordion__button {
  position: relative;
  color: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  width: 100%;
  height: 5.8rem;
}
.component-accordion__button::-webkit-details-marker {
  display: none;
}
.component-accordion__button:before, .component-accordion__button:after {
  display: block;
  width: 1.5rem;
  height: 1px;
  content: "";
  position: absolute;
  top: 50%;
  right: 1.4rem;
  translate: 0 -50%;
  background: #fff;
  transition: rotate 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
  will-change: rotate;
}
.component-accordion__button:after {
  rotate: 90deg;
}
.component-accordion__content {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.component-accordion__content[aria-hidden=false] {
  grid-template-rows: 1fr;
}
.component-accordion__inner {
  overflow: hidden;
  padding: 0 2.9rem 0;
  transition: padding 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.component-accordion__inner > *:first-child {
  margin-top: 0;
}
.component-accordion[aria-expanded=true] .component-accordion__content {
  height: auto;
}
.component-accordion[aria-expanded=true] .component-accordion__button:after {
  rotate: 0deg;
}
.component-accordion[aria-expanded=true] .component-accordion__inner {
  padding-top: 1.4rem;
  padding-bottom: 2.9rem;
}

.component-button {
  text-align: center;
  margin-top: 4rem;
}
.component-button a, .component-button button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 25rem;
  height: 5rem;
  position: relative;
  border-radius: 5rem;
  background-color: var(--key-color);
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #021E7C;
  font-weight: 700;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  text-decoration: none;
  text-align: center;
  transition: background-color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media screen and (max-width: 768px) {
  .component-button a, .component-button button {
    transition-duration: 0s;
  }
}
@media (hover: hover) {
  .component-button a:hover, .component-button button:hover {
    background-color: #021E7C;
    color: #fff;
  }
  .component-button a:hover:not([target=_blank])::after, .component-button button:hover:not([target=_blank])::after {
    translate: 50% -50%;
    border-color: var(--key-color);
  }
  .component-button a:hover[target=_blank]::after, .component-button button:hover[target=_blank]::after {
    background: #fff;
  }
}
@media (hover: none) {
  .component-button a:active, .component-button button:active {
    background-color: #021E7C;
    color: #fff;
  }
  .component-button a:active:not([target=_blank])::after, .component-button button:active:not([target=_blank])::after {
    translate: 50% -50%;
    border-color: var(--key-color);
  }
  .component-button a:active[target=_blank]::after, .component-button button:active[target=_blank]::after {
    background: #fff;
  }
}
.component-button a[target=_blank], .component-button button[target=_blank] {
  width: 29rem;
}
.component-button a[target=_blank]::after, .component-button button[target=_blank]::after {
  content: "";
  background: #021E7C;
  -webkit-mask: url(../../assets/img/icn_blank.svg) no-repeat center center;
          mask: url(../../assets/img/icn_blank.svg) no-repeat center center;
  -webkit-mask-size: contain;
          mask-size: contain;
  display: block;
  width: 1.4rem;
  height: 1.4rem;
  content: "";
  position: absolute;
  top: 50%;
  right: 1.7rem;
  translate: 0 -50%;
  transition: background-color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
  will-change: background-color;
}
.component-button--anchor {
  padding-top: 4rem;
  margin-top: 0;
}

.layout-footer {
  color: #fff;
  background: #000;
}
@media screen and (min-width: 769px) {
  .layout-footer {
    width: 39rem;
    margin-left: auto;
  }
}
.layout-footer-sns {
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.6rem;
  padding: 1.4rem 0 1.4rem;
}
.layout-footer-sns__item {
  display: flex;
  justify-content: center;
  align-items: center;
}
.layout-footer-sns__item a {
  text-decoration: none;
}
.layout-footer-sns__item--x a {
  width: 2.6rem;
}
.layout-footer-sns__item--instagram a {
  width: 3.2rem;
}
.layout-footer-sns__item--youtube a {
  width: 3.6rem;
}
.layout-footer-sns__item--tiktok a {
  width: 3.3rem;
}
.layout-footer__inner {
  padding: 4.4rem 2rem 5rem;
}
.layout-footer .footer-nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.layout-footer .footer-nav:nth-of-type(2) {
  margin-top: 0.4rem;
}
.layout-footer .footer-nav__item a {
  display: inline-block;
  color: #fff;
  font-size: 1.2rem;
  line-height: 1.1;
  text-decoration: none;
  letter-spacing: 0.02em;
  padding: 0 0.8rem;
  border-left: 1px solid #fff;
}
.layout-footer .footer-nav__item:last-of-type a {
  border-right: 1px solid #fff;
}
.layout-footer .footer-copyright {
  font-size: 1.2rem;
  letter-spacing: 0.01em;
  text-align: center;
  margin-top: 1.4rem;
}

.component-hamburger {
  position: absolute;
  top: 50%;
  right: 2rem;
  translate: 0 -50%;
  width: 3rem;
  height: 3rem;
  z-index: 1;
  pointer-events: auto;
  transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), visibility 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  will-change: opacity;
}
@media (hover: hover) {
  .component-hamburger:hover {
    opacity: 0.5 !important;
  }
}
@media (hover: none) {
  .component-hamburger:active {
    opacity: 0.5 !important;
  }
}
.component-hamburger button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  height: 100%;
  position: relative;
  display: block;
}
.component-hamburger__line {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  translate: 0 -50%;
  height: 0.2rem;
  transition: translate 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), rotate 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  will-change: translate, rotate;
}
.component-hamburger__line:nth-of-type(1) {
  translate: 0 calc(-50% - 0.8rem);
}
.component-hamburger__line:nth-of-type(2) {
  translate: 0 calc(-50% + 0.8rem);
}
.component-hamburger__line div {
  width: 100%;
  height: 100%;
  background-color: #021E7C;
  will-change: background-color;
}
.component-hamburger__line[class*=js] div {
  transform-origin: left center;
  scale: 0 1;
  background-color: #021E7C;
  will-change: scale;
}

.on-hamburger .component-hamburger {
  opacity: 1;
  visibility: visible;
}
.on-hamburger .component-hamburger__line {
  translate: 0 -50%;
  opacity: 0;
}
.on-hamburger .component-hamburger__line:nth-of-type(1) {
  rotate: 20deg;
  opacity: 1;
}
.on-hamburger .component-hamburger__line:nth-of-type(2) {
  rotate: -20deg;
  opacity: 1;
}

.layout-header {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 999;
  background: var(--key-color);
  pointer-events: none;
  height: 4.6rem;
  transition: opacity 0.6s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media screen and (min-width: 769px) {
  .layout-header {
    left: auto;
    right: auto;
    width: 39rem;
  }
}
.layout-header__background, .layout-header__inner {
  opacity: 0;
  visibility: hidden;
  pointer-events: auto;
  transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), visibility 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
  will-change: opacity;
}
.layout-header__background {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  background-color: var(--key-color);
  -webkit-backdrop-filter: blur(0.5rem);
          backdrop-filter: blur(0.5rem);
}
@media screen and (min-width: 769px) {
  .layout-header__background {
    left: auto;
    right: auto;
    width: 39rem;
  }
}
.layout-header__inner {
  position: relative;
  opacity: 0;
  visibility: hidden;
  width: 100%;
  padding: min(21.021021021vh, 14rem) 5rem min(6.9069069069vh, 4.6rem);
  max-height: 100dvh;
  overflow: auto;
}
@media screen and (min-width: 769px) {
  .layout-header__inner {
    left: auto;
    right: auto;
    width: 39rem;
  }
}
.layout-header .component-hamburger {
  z-index: 1;
}
.layout-header .header-logo {
  z-index: 1;
  position: absolute;
  top: 50%;
  left: 2rem;
  transform: translateY(-50%);
  width: 6.5rem;
  height: 3.6rem;
  margin-left: auto;
  transition: opacity 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
  pointer-events: auto;
}
.layout-header .header-nav {
  display: flex;
  flex-direction: column;
  gap: min(4.2042042042vh, 2.8rem);
}
.layout-header .header-nav .header-nav-links {
  display: flex;
  flex-direction: column;
  border-top: 1px solid #021E7C;
}
.layout-header .header-nav .header-nav-links__item {
  border-bottom: 1px solid #021E7C;
}
.layout-header .header-nav .header-nav-links__item a {
  font-family: "Caprasimo", sans-serif;
  color: #021E7C;
  font-size: min(3.6036036036vh, 2.4rem);
  line-height: 1;
  letter-spacing: 0.05em;
  text-decoration: none;
  display: flex;
  align-items: center;
  height: min(6.9069069069vh, 4.6rem);
  padding-left: 1rem;
  pointer-events: none;
  opacity: 0.7;
}
.layout-header .header-nav .header-nav-links__item.is-active a {
  pointer-events: auto;
  opacity: 1;
}
.layout-header .header-nav .header-nav-sub {
  display: flex;
  flex-direction: column;
  gap: min(1.0510510511vh, 0.7rem);
  font-size: min(2.4024024024vh, 1.6rem);
  line-height: 1.5;
}
.layout-header .header-nav .header-nav-sub__item a {
  color: #021E7C;
  font-size: min(2.4024024024vh, 1.6rem);
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-decoration: none;
  font-weight: 700;
  pointer-events: none;
  opacity: 0.7;
}
.layout-header .header-nav .header-nav-sub__item.is-active a {
  pointer-events: auto;
  opacity: 1;
}
.layout-header .header-nav .header-nav-sns {
  display: flex;
  gap: 2.6rem;
  margin-top: min(6.9069069069vh, 4.6rem);
}
.layout-header .header-nav .header-nav-sns__item {
  display: flex;
  justify-content: center;
  align-items: center;
}
.layout-header .header-nav .header-nav-sns__item a {
  text-decoration: none;
}
.layout-header .header-nav .header-nav-sns__item--x a {
  width: min(3.6036036036vh, 2.4rem);
}
.layout-header .header-nav .header-nav-sns__item--instagram a {
  width: min(4.3543543544vh, 2.9rem);
}
.layout-header .header-nav .header-nav-sns__item--youtube a {
  width: min(5.4054054054vh, 3.6rem);
}
.layout-header .header-nav .header-nav-sns__item--tiktok a {
  width: min(5.2552552553vh, 3.5rem);
}
.layout-header .is-disabled {
  opacity: 0.5;
  pointer-events: none;
}

body:has(.section-visual) .layout-header {
  opacity: 0;
  pointer-events: none;
}
body:has(.section-visual).is-scrolled .layout-header {
  opacity: 1;
  pointer-events: auto;
}
body:has(.section-visual).is-scrolled.is-scroll-up .layout-header {
  opacity: 0;
  pointer-events: none;
}
body:has(.section-visual).is-scrolled.is-scroll-up.on-hamburger .layout-header {
  opacity: 1;
  pointer-events: auto;
}

.is-scrolled.is-scroll-up .layout-header {
  opacity: 0;
  pointer-events: none;
}
.is-scrolled.is-scroll-up.on-hamburger .layout-header {
  opacity: 1;
  pointer-events: auto;
}

.section {
  padding: 5rem 0;
}
.section__heading {
  font-family: "Caprasimo", sans-serif;
  color: var(--key-color);
  font-size: 4rem;
  line-height: 1.5;
  text-align: center;
  display: flex;
  justify-content: center;
  opacity: 0;
}
.section__heading-inner {
  position: relative;
}
.section__heading-on, .section__heading-off {
  display: inline-block;
  overflow: hidden;
  transform: translate(0, 100%);
  transition: transform 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.section__heading-on span, .section__heading-off span {
  display: inline-block;
  transform: translate(0, 110%);
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.section__heading-on span:nth-of-type(1), .section__heading-off span:nth-of-type(1) {
  transition-delay: 0s;
}
.section__heading-on span:nth-of-type(2), .section__heading-off span:nth-of-type(2) {
  transition-delay: 0.035s;
}
.section__heading-on span:nth-of-type(3), .section__heading-off span:nth-of-type(3) {
  transition-delay: 0.07s;
}
.section__heading-on span:nth-of-type(4), .section__heading-off span:nth-of-type(4) {
  transition-delay: 0.105s;
}
.section__heading-on span:nth-of-type(5), .section__heading-off span:nth-of-type(5) {
  transition-delay: 0.14s;
}
.section__heading-on span:nth-of-type(6), .section__heading-off span:nth-of-type(6) {
  transition-delay: 0.175s;
}
.section__heading-on span:nth-of-type(7), .section__heading-off span:nth-of-type(7) {
  transition-delay: 0.21s;
}
.section__heading-on span:nth-of-type(8), .section__heading-off span:nth-of-type(8) {
  transition-delay: 0.245s;
}
.section__heading-on span:nth-of-type(9), .section__heading-off span:nth-of-type(9) {
  transition-delay: 0.28s;
}
.section__heading-on span:nth-of-type(10), .section__heading-off span:nth-of-type(10) {
  transition-delay: 0.315s;
}
.section__heading-on span:nth-of-type(11), .section__heading-off span:nth-of-type(11) {
  transition-delay: 0.35s;
}
.section__heading-on span:nth-of-type(12), .section__heading-off span:nth-of-type(12) {
  transition-delay: 0.385s;
}
.section__heading-on span:nth-of-type(13), .section__heading-off span:nth-of-type(13) {
  transition-delay: 0.42s;
}
.section__heading-on span:nth-of-type(14), .section__heading-off span:nth-of-type(14) {
  transition-delay: 0.455s;
}
.section__heading-on span:nth-of-type(15), .section__heading-off span:nth-of-type(15) {
  transition-delay: 0.49s;
}
.section__heading-on span:nth-of-type(16), .section__heading-off span:nth-of-type(16) {
  transition-delay: 0.525s;
}
.section__heading-on span:nth-of-type(17), .section__heading-off span:nth-of-type(17) {
  transition-delay: 0.56s;
}
.section__heading-on span:nth-of-type(18), .section__heading-off span:nth-of-type(18) {
  transition-delay: 0.595s;
}
.section__heading-on span:nth-of-type(19), .section__heading-off span:nth-of-type(19) {
  transition-delay: 0.63s;
}
.section__heading-on {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  clip-path: inset(0 100% 0 0);
  opacity: 0;
  transition: clip-path 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0.65s, opacity 0.8s cubic-bezier(0.075, 0.82, 0.165, 1) 0.65s, transform 1.2s cubic-bezier(0.23, 1, 0.32, 1);
}
.section__heading-off {
  color: #fff;
  position: relative;
}
.section__heading + .section__inner {
  margin-top: 3rem;
}
.section__heading.is-inview {
  opacity: 1;
}
.section__heading.is-inview .section__heading-off, .section__heading.is-inview .section__heading-on {
  transform: translate(0, 0);
  will-change: transform;
}
.section__heading.is-inview .section__heading-off span, .section__heading.is-inview .section__heading-on span {
  transform: translate(0, 0);
  will-change: transform;
}
.section__heading.is-inview .section__heading-on {
  clip-path: inset(0 0 0 0);
  opacity: 1;
  will-change: clip-path, -webkit-clip-path, opacity;
}
.section__heading-first {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2.4rem;
  line-height: 1.4166666667;
  font-weight: 700;
  text-align: center;
  margin-top: 4.2rem;
}
.section__heading-second {
  font-family: "Zen Kaku Gothic New", sans-serif;
  position: relative;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 700;
  display: flex;
  align-items: center;
  margin-top: 4.2rem;
  padding-bottom: 1.2rem;
}
.section__heading-second:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 1px;
  background: #fff;
  scale: 0 1;
  transition: scale 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0.35s;
  transform-origin: left center;
}
.section__heading-second.is-inview:after {
  scale: 1 1;
  will-change: scale;
}
.section__heading-second--disc:before {
  color: var(--key-color);
  content: "・";
  margin-right: 0.1em;
  margin-left: 0.1em;
  flex-shrink: 0;
}
.section__inner {
  padding: 0 2rem;
}
.section__inner:not(.section__inner--item) > *:first-child {
  margin-top: 0;
}
.section__inner--item:nth-of-type(n + 2) {
  position: relative;
  margin-top: 4rem;
  border-top: 1px solid transparent;
}
.section__inner--item:nth-of-type(n + 2):before {
  content: "";
  position: absolute;
  top: 0;
  left: 2rem;
  width: calc(100% - 4rem);
  height: 1px;
  background: #fff;
}
.section__inner--item:last-of-type {
  padding-bottom: 4rem;
}
.section__inner--item:last-of-type:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 2rem;
  width: calc(100% - 4rem);
  height: 1px;
  background: #fff;
}
.section__inner--border-top {
  position: relative;
  margin-top: -5rem;
  padding-top: 6rem;
  border-top: 1px solid transparent;
}
.section__inner--border-top:before {
  content: "";
  position: absolute;
  top: 0;
  left: 2rem;
  width: calc(100% - 4rem);
  height: 1px;
  background: #fff;
}
.section__inner--lower {
  padding: 0 5rem;
}
.section__copy {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2.3rem;
  line-height: 1.5217391304;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-top: 4.2rem;
}
.section__subheading {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2rem;
  line-height: 1.5217391304;
  text-align: center;
  font-weight: 700;
  margin-top: 4.2rem;
  margin-bottom: 2.8rem;
}
.section__subheading--small {
  font-size: 1.8rem;
}
.section__subheading--space-wide {
  letter-spacing: 0.2em;
}
.section__subheading--next-text {
  margin-bottom: 1.4rem;
}
.section__text-intro {
  font-size: 1.6rem;
  line-height: 1.8125;
  margin-top: 2.9rem;
}
.section__lead {
  font-size: 1.6rem;
  font-weight: 700;
  margin-top: 2rem;
}
.section__lead + .section__text {
  margin-top: 0.4rem;
}
.section__lead + .section__note {
  margin-top: 0.6rem;
}
.section__text {
  margin-top: 1.6rem;
}
.section__text:is(ul) li {
  list-style: disc;
  list-style-position: inside;
}
.section__text + .section__note {
  margin-top: 1rem;
}
.section__text strong {
  font-weight: 700;
}
.section__text--large {
  font-size: 1.6rem;
  line-height: 1.8125;
  margin-top: 1.8125em;
}
.section__note {
  font-size: 1.2rem;
  line-height: 1.8333333333;
  margin-top: 2rem;
}
.section__text a, .section__note a {
  color: #fff;
  text-decoration: underline;
}
.section__text a:hover, .section__note a:hover {
  text-decoration: none;
}
.section__movie {
  width: 100%;
  margin-top: 3.6rem;
}
.section__movie iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
}
.section__image {
  width: 100%;
  margin: 3.4rem 0 0;
}
.section__image + .section__image {
  margin-top: 1.5rem;
}
.section__date {
  font-size: 1.2rem;
  line-height: 1.8333333333;
}
.section__date + .section__heading-second {
  margin-top: 0;
}

.section-visual + .section {
  padding-top: 4rem;
}

.layout-container .button-entry {
  position: sticky;
  right: 0;
  bottom: 5.65rem;
  z-index: 99;
  display: flex;
  justify-content: flex-end;
  padding: 0 1.5rem;
  height: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s cubic-bezier(0.39, 0.575, 0.565, 1), visibility 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
  will-change: opacity;
}
@media screen and (min-width: 769px) {
  .layout-container .button-entry {
    position: fixed;
    right: calc(50% + 19.5rem + 2rem);
    bottom: 5rem;
    height: auto;
    padding: 0;
    opacity: 1;
    visibility: visible;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
  }
}
.layout-container .button-entry__totop {
  position: absolute;
  bottom: 4.35rem;
  right: 1.5rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s cubic-bezier(0.39, 0.575, 0.565, 1), visibility 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
  will-change: opacity;
}
@media screen and (min-width: 769px) {
  .layout-container .button-entry__totop {
    position: relative;
    bottom: auto;
    right: auto;
  }
}
.layout-container .button-entry__totop a {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #fff;
  font-size: 1.2rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  filter: drop-shadow(0 0 0.3rem rgba(0, 0, 0, 0.3)) drop-shadow(0 0 0.3rem rgba(0, 0, 0, 0.3));
}
.layout-container .button-entry__totop a:before {
  content: "";
  display: block;
  width: 2.8rem;
  height: 2.8rem;
  content: "";
  background: #021E7C;
  border-radius: 50%;
  border: 1px solid #fff;
}
.layout-container .button-entry__totop a:after {
  content: "";
  position: absolute;
  top: 1.4rem;
  left: 1.4rem;
  translate: -50% -50%;
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  content: "";
  border: 1px solid;
  border-color: #fff #fff transparent transparent;
  rotate: -45deg;
  margin-top: 0.2rem;
}
.layout-container .button-entry__inner {
  position: absolute;
  width: 11.3rem;
  height: 11.3rem;
  border-radius: 100%;
  overflow: hidden;
  background-color: #fff;
  translate: 0 -50%;
  box-shadow: 0 0.2rem 1.4rem rgba(0, 0, 0, 0.3);
}
@media screen and (max-width: 768px) {
  .layout-container .button-entry__inner {
    width: 8.3rem;
    height: 8.3rem;
    border-radius: 100%;
  }
}
@media screen and (min-width: 769px) {
  .layout-container .button-entry__inner {
    position: relative;
    translate: 0 0;
  }
}
.layout-container .button-entry__inner a {
  width: 100%;
  height: 100%;
  display: block;
  background-color: var(--key-color);
  transition: background-color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media (hover: hover) {
  .layout-container .button-entry__inner a:hover {
    background-color: #fff;
  }
  .layout-container .button-entry__inner a:hover img {
    opacity: 0.5;
  }
}
@media (hover: none) {
  .layout-container .button-entry__inner a:active {
    background-color: #fff;
  }
  .layout-container .button-entry__inner a:active img {
    opacity: 0.5;
  }
}
.layout-container .button-entry__inner a img {
  transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
  will-change: opacity;
}
.layout-container__content {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .layout-container__content {
    width: 39rem;
    margin-left: auto;
    margin-right: auto;
  }
}
.layout-container__bg {
  position: fixed;
  z-index: -1;
  right: 0;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100lvh;
}
@media screen and (max-width: 768px) {
  .layout-container__bg {
    display: none;
  }
}
.layout-container__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.layout-container__pc-nav {
  position: fixed;
  left: calc(50% + 19.5rem + 5.2rem);
  top: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100lvh;
}
@media screen and (max-width: 768px) {
  .layout-container__pc-nav {
    display: none;
  }
}
.layout-container__pc-nav .pc-nav-links {
  display: flex;
  flex-direction: column;
  border-top: 1px solid #021E7C;
}
.layout-container__pc-nav .pc-nav-links__item {
  border-bottom: 1px solid #021E7C;
}
.layout-container__pc-nav .pc-nav-links__item a {
  font-family: "Caprasimo", sans-serif;
  color: #021E7C;
  font-size: min(3.6036036036vh, 2.4rem);
  line-height: 1;
  letter-spacing: 0.05em;
  text-decoration: none;
  display: flex;
  align-items: center;
  height: min(6.9069069069vh, 4.6rem);
  padding: 0 0.3rem 0 0.4rem;
  transition: background-color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
  pointer-events: none;
  opacity: 0.7;
}
@media (hover: hover) {
  .layout-container__pc-nav .pc-nav-links__item a:hover {
    background: var(--key-color);
  }
}
@media (hover: none) {
  .layout-container__pc-nav .pc-nav-links__item a:active {
    background: var(--key-color);
  }
}
.layout-container__pc-nav .pc-nav-links__item a.is-current {
  background: var(--key-color);
}
.layout-container__pc-nav .pc-nav-links__item.is-active a {
  pointer-events: auto;
  opacity: 1;
}
.layout-container__pc-nav .pc-nav-sub {
  display: flex;
  flex-direction: column;
  gap: min(1.6516516517vh, 1.1rem);
  font-size: min(2.4024024024vh, 1.6rem);
  line-height: 1.5;
  margin-top: 2.9rem;
  margin-top: min(4.3543543544vh, 2.9rem);
}
.layout-container__pc-nav .pc-nav-sub__item a {
  color: #021E7C;
  font-size: min(2.4024024024vh, 1.6rem);
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-decoration: none;
  font-weight: 700;
  pointer-events: none;
  opacity: 0.7;
}
.layout-container__pc-nav .pc-nav-sub__item.is-active a {
  pointer-events: auto;
  opacity: 1;
}
.layout-container:not(:has(.section-visual)) {
  padding-top: 4.6rem;
}

.on-button .button-entry {
  opacity: 1;
  visibility: visible;
}

.layout-content {
  width: 100%;
}
.layout-content__bg {
  position: fixed;
  z-index: -1;
  right: 0;
  top: 50lvh;
  transform: translateY(-50lvh);
  width: 100%;
  height: 100lvh;
  background: #000;
}
@media screen and (min-width: 769px) {
  .layout-content__bg {
    left: auto;
    right: auto;
    width: 39rem;
  }
}
.layout-content__bg img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.is-scrolled .layout-container .button-entry {
  opacity: 1;
  visibility: visible;
}
.is-scrolled.is-scroll-up .layout-container .button-entry__totop {
  opacity: 1;
  visibility: visible;
}

.section-visual {
  position: relative;
}
.section-visual__inner {
  position: absolute;
  left: 0;
  top: 0;
  text-align: center;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 4.1rem 0 3.7rem;
}
.section-visual__copy {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.8rem;
  line-height: 1.5555555556;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.section-visual__date {
  font-size: 3rem;
  line-height: 1;
  font-weight: 700;
  margin-top: 3.4rem;
}
.section-visual__date small {
  font-size: 2.7rem;
}
.section-visual__place {
  font-size: 1.8rem;
  line-height: 1.3333333333;
}
.section-visual__place small {
  font-size: 1.3rem;
}

.section-visual__copy {
  opacity: 0;
}
.section-visual__copy-inner {
  position: relative;
  display: inline-block;
}
.section-visual__copy-on, .section-visual__copy-off {
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-start;
  overflow: hidden;
}
.section-visual__copy-on br, .section-visual__copy-off br {
  display: none;
}
.section-visual__copy-line {
  display: inline-block;
  overflow: hidden;
  transform: translate(0, 100%);
  transition: transform 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
  will-change: transform, filter;
}
.section-visual__copy-line span {
  display: inline-block;
  transform: translate(0, 110%);
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  will-change: transform, filter;
}
.section-visual__copy-line span:nth-of-type(1) {
  transition-delay: 0s;
}
.section-visual__copy-line span:nth-of-type(2) {
  transition-delay: 0.035s;
}
.section-visual__copy-line span:nth-of-type(3) {
  transition-delay: 0.07s;
}
.section-visual__copy-line span:nth-of-type(4) {
  transition-delay: 0.105s;
}
.section-visual__copy-line span:nth-of-type(5) {
  transition-delay: 0.14s;
}
.section-visual__copy-line span:nth-of-type(6) {
  transition-delay: 0.175s;
}
.section-visual__copy-line span:nth-of-type(7) {
  transition-delay: 0.21s;
}
.section-visual__copy-line span:nth-of-type(8) {
  transition-delay: 0.245s;
}
.section-visual__copy-line span:nth-of-type(9) {
  transition-delay: 0.28s;
}
.section-visual__copy-line span:nth-of-type(10) {
  transition-delay: 0.315s;
}
.section-visual__copy-line span:nth-of-type(11) {
  transition-delay: 0.35s;
}
.section-visual__copy-line span:nth-of-type(12) {
  transition-delay: 0.385s;
}
.section-visual__copy-line span:nth-of-type(13) {
  transition-delay: 0.42s;
}
.section-visual__copy-line span:nth-of-type(14) {
  transition-delay: 0.455s;
}
.section-visual__copy-line span:nth-of-type(15) {
  transition-delay: 0.49s;
}
.section-visual__copy-line span:nth-of-type(16) {
  transition-delay: 0.525s;
}
.section-visual__copy-line span:nth-of-type(17) {
  transition-delay: 0.56s;
}
.section-visual__copy-line span:nth-of-type(18) {
  transition-delay: 0.595s;
}
.section-visual__copy-line span:nth-of-type(19) {
  transition-delay: 0.63s;
}
.section-visual__copy-line span:nth-of-type(20) {
  transition-delay: 0.665s;
}
.section-visual__copy-line span:nth-of-type(21) {
  transition-delay: 0.7s;
}
.section-visual__copy-line span:nth-of-type(22) {
  transition-delay: 0.735s;
}
.section-visual__copy-line span:nth-of-type(23) {
  transition-delay: 0.77s;
}
.section-visual__copy-line span:nth-of-type(24) {
  transition-delay: 0.805s;
}
.section-visual__copy-line span:nth-of-type(25) {
  transition-delay: 0.84s;
}
.section-visual__copy-line span:nth-of-type(26) {
  transition-delay: 0.875s;
}
.section-visual__copy-line span:nth-of-type(27) {
  transition-delay: 0.91s;
}
.section-visual__copy-line span:nth-of-type(28) {
  transition-delay: 0.945s;
}
.section-visual__copy-line span:nth-of-type(29) {
  transition-delay: 0.98s;
}
.section-visual__copy-on {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  clip-path: inset(0 100% 0 0);
  opacity: 0;
  transition: clip-path 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0.65s, opacity 0.8s cubic-bezier(0.075, 0.82, 0.165, 1) 0.65s, transform 1.2s cubic-bezier(0.23, 1, 0.32, 1);
  will-change: clip-path, -webkit-clip-path, opacity, transform, filter;
}
.section-visual__copy-off {
  color: var(--key-color);
  position: relative;
  transition: opacity 0.1s cubic-bezier(0.075, 0.82, 0.165, 1) 1.2s;
}
.section-visual__heading, .section-visual__date, .section-visual__place {
  opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) 0s;
}

.is-loaded .section-visual__copy.is-setup {
  opacity: 1;
}
.is-loaded .section-visual__copy.is-setup .section-visual__copy-line {
  transform: translate(0, 0);
}
.is-loaded .section-visual__copy.is-setup .section-visual__copy-line span {
  transform: translate(0, 0);
}
.is-loaded .section-visual__copy.is-setup .section-visual__copy-on {
  clip-path: inset(0 0 0 0);
  opacity: 1;
}
.is-loaded .section-visual__copy.is-setup .section-visual__copy-off {
  opacity: 0;
}
.is-loaded .section-visual__heading, .is-loaded .section-visual__date, .is-loaded .section-visual__place {
  opacity: 1;
}

.accordion-readmore {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.accordion-readmore__button {
  order: 9;
  color: var(--key-color);
  font-family: "Caprasimo", sans-serif;
  line-height: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  margin-top: 2.9rem;
}
.accordion-readmore__button::-webkit-details-marker {
  display: none;
}
.accordion-readmore__button:before {
  content: "read more";
}
.accordion-readmore__button:after {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  border: 1px solid;
  border-color: transparent var(--key-color) var(--key-color) transparent;
  rotate: 45deg;
  translate: 0 -1rem;
}
.accordion-readmore__content {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.accordion-readmore__content[aria-hidden=false] {
  grid-template-rows: 1fr;
}
.accordion-readmore__inner {
  overflow: hidden;
}
.accordion-readmore[aria-expanded=true] .accordion-readmore__content {
  height: auto;
}
.accordion-readmore[aria-expanded=true] .accordion-readmore__button:before {
  content: "close";
}
.accordion-readmore[aria-expanded=true] .accordion-readmore__button:after {
  rotate: -135deg;
  translate: 0 0rem;
}

.section-about .section__text-intro:has(+ .accordion-readmore):after {
  content: "…";
}
.section-about:has([aria-expanded=true]) .section__text-intro:has(+ .accordion-readmore):after {
  display: none;
}

.section-food__image {
  width: 100%;
}
.section-food__text {
  margin-top: 2rem;
}
.section-food .food-carousel {
  width: calc(100% + 2rem);
  margin: 0 -2rem 0 0;
  margin-top: 3.6rem;
}
.section-food .food-carousel .splide__pagination {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  bottom: auto;
  gap: 1rem;
  margin-top: 2.5rem;
  padding: 0 2rem 0 0;
}
.section-food .food-carousel .splide__pagination .splide__pagination__page {
  background: transparent;
  border: 1px solid #fff;
  transform: scale(1) !important;
  opacity: 1 !important;
  width: 1rem;
  height: 1rem;
  margin: 0;
}
.section-food .food-carousel .splide__pagination .splide__pagination__page.is-active {
  background: #fff;
  transform: scale(1) !important;
  opacity: 1 !important;
}

.ticket-status {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.ticket-status:has(:not(:first-of-type)) {
  margin-top: 3rem;
}
.ticket-status__heading {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: var(--key-color);
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 25rem;
  border: 1px solid var(--key-color);
  padding: 0.2rem 0 0.3rem;
}
.ticket-status__text {
  margin-top: 2rem;
  line-height: 2;
}

.ticket-table {
  width: 100%;
  margin-top: 4rem;
}
.ticket-table__content {
  width: 100%;
  border-collapse: collapse;
}
.ticket-table thead th {
  color: #021E7C;
  background: #fff;
  font-family: "Caprasimo", sans-serif;
  font-size: 2.4rem;
  line-height: 1;
  font-weight: 700;
  text-align: center;
  height: 4rem;
}
.ticket-table tbody tr th,
.ticket-table tbody tr td {
  width: 50%;
  text-align: center;
  vertical-align: middle;
  height: 8rem;
  border-bottom: 1px solid #fff;
}
.ticket-table tbody tr th {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.8rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.02em;
  border-right: 1px dotted #fff;
}
.ticket-table tbody tr th small {
  font-size: 1.2rem;
  line-height: 1;
}
.ticket-table tbody tr td {
  font-family: "Caprasimo", sans-serif;
  font-size: 1.8rem;
  letter-spacing: 0.02em;
}

.section-event .event-carousel {
  width: calc(100% + 2rem);
  margin: 0 -2rem 0 0;
}
.section-event .event-carousel .splide__pagination {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  bottom: auto;
  gap: 1rem;
  margin-top: 2.2rem;
  padding: 0 2rem 0 0;
}
.section-event .event-carousel .splide__pagination .splide__pagination__page {
  background: transparent;
  border: 1px solid #fff;
  transform: scale(1) !important;
  opacity: 1 !important;
  width: 1rem;
  height: 1rem;
  margin: 0;
}
.section-event .event-carousel .splide__pagination .splide__pagination__page.is-active {
  background: #fff;
  transform: scale(1) !important;
  opacity: 1 !important;
}

.section-map .map-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 3rem 1.6rem;
  margin-top: 4rem;
}
.section-map .map-list + * {
  margin-top: 3rem;
}
.section-map .map-list__item {
  width: 16.7rem;
}
.section-map .map-list__heading {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.section-map .map-list__heading span {
  font-family: "Caprasimo", sans-serif;
  color: var(--key-color);
  font-size: 2rem;
  line-height: 1.25;
  font-weight: 400;
  letter-spacing: 0.02em;
}
.section-map .map-list__image {
  width: 100%;
  height: 16.7rem;
  margin-top: 1.2rem;
  background-color: #fff;
  overflow: hidden;
  position: relative;
}
.section-map .map-list__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.section-map .map-list__text {
  font-size: 1.2rem;
  line-height: 1.8333333333;
  letter-spacing: 0.02em;
  margin-top: 1.2rem;
}

.section-access__image {
  margin-top: 1.5rem;
}
.section-access__inner {
  margin-top: 6rem;
}
.section-access__inner:nth-of-type(n + 2) {
  margin-top: 5rem;
}
.section-access__heading {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #021E7C;
  background: #fff;
  font-size: 1.6rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
  padding: 1rem 0 1.2rem;
}
.section-access__text {
  margin-top: 2rem;
}
.section-access__text a {
  color: #fff;
}
.section-access__link {
  text-align: center;
  margin-top: 3.4rem;
}
.section-access__link a {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-decoration: none;
  border-bottom: 0.2rem solid #fff;
}
.section-access__link a[target=_blank]::after {
  content: "";
  background: #fff;
  -webkit-mask: url(../../assets/img/icn_blank.svg) no-repeat center center;
          mask: url(../../assets/img/icn_blank.svg) no-repeat center center;
  -webkit-mask-size: contain;
          mask-size: contain;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  content: "";
  display: inline-block;
  margin-left: 0.2em;
}
.section-access__link + .section-access__link {
  margin-top: 2.8rem;
}

.section-sponsor {
  color: #fff;
  background: #000;
  padding: 6rem 0 5.5rem;
  margin-top: 1rem;
}
.section-sponsor__heading {
  line-height: 1.5714285714;
  font-weight: 700;
  text-align: center;
}
.section-sponsor__heading:nth-of-type(n + 2) {
  margin-top: 1.8rem;
}
.section-sponsor__text {
  text-align: center;
}
.section-sponsor__inner {
  color: #000;
  background: #fff;
  margin-top: 3.4rem;
  padding: 3.2rem 0 2.2rem;
}
.section-sponsor__inner:last-of-type {
  padding-bottom: 3.2rem;
  margin-bottom: 4rem;
}
.section-sponsor__inner + .section-sponsor__inner {
  position: relative;
  margin-top: -0.1rem;
  padding-top: 2.2rem;
  border-top: 1px solid transparent;
}
.section-sponsor__inner + .section-sponsor__inner:before {
  content: "";
  position: absolute;
  top: 0;
  left: 1rem;
  width: calc(100% - 2rem);
  height: 1px;
  background: #D9D9D9;
}
.section-sponsor__logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 2rem 1.6rem;
  margin-top: 1.4rem;
  padding: 0 2rem;
}
.section-sponsor__logos--official {
  gap: 1rem 3.4rem;
}
.section-sponsor__logos--sponsor {
  gap: 1rem 2.5rem;
}
.section-sponsor__logos--local {
  gap: 1rem 2.2rem;
}

.ticket-term {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #021E7C;
  background: var(--key-color);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.6rem 4rem 2rem;
  margin-top: 3.6rem;
}
.ticket-term__heading {
  color: var(--key-color);
  background: #021E7C;
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 0.2rem;
  width: 100%;
  height: 3.4rem;
}
.ticket-term__text {
  font-size: 1.8rem;
  line-height: 1.4;
  font-weight: 700;
  margin-top: 1rem;
}