@charset "UTF-8";
.button {
  position: relative;
  display: grid;
  align-items: center;
  padding-inline: calc(2.1 * var(--rem));
  padding-block: calc(0.8 * var(--rem));
  width: 100%;
  min-height: calc(4.4 * var(--rem));
  text-decoration: none;
  text-align: center;
  border-radius: 100vmax;
  transition: background-color 0.3s;
}
.button__text {
  font-size: var(--font-size-medium);
  font-weight: var(--font-weight-bold);
  color: inherit;
}
.button.button--active {
  background: var(--color-button-bg);
  color: var(--color-button-text);
}
.button.button--active::after {
  content: "";
  position: absolute;
  right: calc(1.6 * var(--rem));
  top: 50%;
  transform: translateY(-50%);
  width: calc(0.8 * var(--rem));
  height: calc(1.2 * var(--rem));
  background: url("../images/common/svg/arrow-r.svg") no-repeat center;
}
@media (hover: hover) {
  .button.button--active:hover {
    background-color: color-mix(in srgb, var(--color-button-bg), white 15%);
  }
}
.button.button--secondary {
  background: var(--color-white);
  color: var(--color-purple);
  border: 2px solid var(--color-purple);
}
.button.button--secondary::after {
  content: "";
  position: absolute;
  right: calc(1.6 * var(--rem));
  top: 50%;
  transform: translateY(-50%);
  width: calc(0.8 * var(--rem));
  height: calc(1.2 * var(--rem));
  background: url("../images/common/svg/arrow-r-purple.svg") no-repeat center;
}
@media (hover: hover) {
  .button.button--secondary:hover {
    background-color: color-mix(in srgb, var(--color-white), var(--color-purple) 10%);
  }
}
.button.button--tertiary {
  background: var(--color-purple-light);
  color: var(--color-purple);
  border: 2px solid var(--color-purple);
}
.button.button--tertiary::after {
  content: "";
  position: absolute;
  right: calc(1.6 * var(--rem));
  top: 50%;
  transform: translateY(-50%);
  width: calc(0.8 * var(--rem));
  height: calc(1.2 * var(--rem));
  background: url("../images/common/svg/arrow-r-purple.svg") no-repeat center;
}
@media (hover: hover) {
  .button.button--tertiary:hover {
    background-color: color-mix(in srgb, var(--color-white), var(--color-purple) 10%);
  }
}
.button.button--disabled {
  background: var(--color-button-bg-disabled);
  color: var(--color-button-text);
  pointer-events: none;
}

.menu-button {
  position: fixed;
  top: calc(2 * var(--rem));
  right: calc(2 * var(--rem));
  z-index: 1002;
  width: calc(4.8 * var(--rem));
  height: calc(4.8 * var(--rem));
  padding: calc(0.5 * var(--rem));
  background-color: var(--color-button-bg);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-5px);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
}
.menu-button.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
@media (min-width: 500px) {
  .menu-button {
    right: calc(50vw - 242px);
  }
}
@media (min-width: 1299px) {
  .menu-button {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
}
.menu-button__line {
  display: block;
  width: calc(1.8 * var(--rem));
  height: calc(0.2 * var(--rem));
  margin: calc(0.5 * var(--rem)) auto;
  background-color: #fff;
  transition: transform 0.3s ease;
}
.menu-button__line:first-of-type {
  margin-block-start: calc(0.7 * var(--rem));
}
.menu-button__line:last-of-type {
  margin-block-end: calc(0.5 * var(--rem));
}
.menu-button[aria-expanded=true] .menu-button__line:first-of-type {
  transform: translateY(calc(0.6 * var(--rem))) rotate(45deg);
}
.menu-button[aria-expanded=true] .menu-button__line:nth-of-type(2) {
  opacity: 0;
}
.menu-button[aria-expanded=true] .menu-button__line:nth-of-type(3) {
  transform: translateY(calc(-0.8 * var(--rem))) rotate(-45deg);
}
.menu-button__state {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: calc(-0.4 * var(--rem));
}
.menu-button__icon {
  width: calc(2.4 * var(--rem));
  height: calc(1.6 * var(--rem));
  fill: none;
}
.menu-button__icon--close {
  display: none;
}
.menu-button[aria-expanded=true] .menu-button__icon--open {
  display: none;
}
.menu-button[aria-expanded=true] .menu-button__icon--close {
  display: block;
}

.text-shorten {
  letter-spacing: -0.05em;
  margin: 0 -10px;
}

.text-oneline {
  min-height: calc(var(--font-size-xxlarge) * 1.4) !important;
}

.ticket-button {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: var(--space-sm);
  z-index: 100;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  transform: translateY(100%);
}
@media (min-width: 500px) {
  .ticket-button {
    width: var(--pc-content-width);
    left: 50%;
    transform: translateX(-50%) translateY(100%);
  }
}
.ticket-button.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
@media (min-width: 500px) {
  .ticket-button.is-visible {
    transform: translateX(-50%) translateY(0);
  }
}
.ticket-button__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: calc(4.7 * var(--rem));
  padding-block: var(--space-xs);
  padding-inline: var(--space-md);
  background-color: var(--color-button-ticket);
  border-radius: 100vmax;
  border: 2px solid var(--color-white);
  color: var(--color-blue-dark);
  text-decoration: none;
  font-weight: var(--font-weight-bold);
  font-family: var(--font-title);
  transition: background-color 0.3s ease;
}
.ticket-button__link::after {
  content: "";
  position: absolute;
  right: calc(2 * var(--rem));
  top: 50%;
  transform: translateY(-50%);
  width: calc(0.8 * var(--rem));
  height: calc(1.2 * var(--rem));
  background-color: var(--color-blue-dark);
  mask-image: url("../images/common/svg/arrow-r.svg");
  mask-repeat: no-repeat;
  mask-position: center;
}
@media (hover: hover) {
  .ticket-button__link:hover {
    background-color: color-mix(in srgb, var(--color-button-ticket), white 25%);
  }
}
.ticket-button__icon {
  position: absolute;
  left: calc(1.6 * var(--rem));
  top: 46%;
  transform: translateY(-50%);
  width: calc(4.4 * var(--rem));
  height: calc(4.2 * var(--rem));
}
.ticket-button__text {
  margin-inline-start: calc(2.8 * var(--rem));
  font-size: var(--font-size-xlarge);
  color: var(--color-blue-dark);
}

.park-button.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.park-button__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: calc(7.7 * var(--rem));
  padding-block: calc(0.8 * var(--rem));
  padding-inline: calc(2.1 * var(--rem));
  border-radius: 100vmax;
  border: 2px solid var(--color-white);
  color: var(--color-blue-dark);
  text-decoration: none;
  font-weight: var(--font-weight-bold);
  font-family: var(--font-title);
  overflow: hidden;
}
.park-button__link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  transition: opacity 0.3s;
}
.park-button--tdl .park-button__link::before {
  background-image: linear-gradient(90deg, #6AEAF0 0%, #46A3D5 100%);
}
.park-button--tds .park-button__link::before {
  background-image: linear-gradient(90deg, #FE9CC0 0%, #F86F71 100%);
}
.park-button__link::after {
  content: "";
  position: absolute;
  right: calc(2 * var(--rem));
  top: 50%;
  transform: translateY(-50%);
  width: calc(0.8 * var(--rem));
  height: calc(1.2 * var(--rem));
  background-color: var(--color-white);
  mask-image: url("../images/common/svg/arrow-r.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  z-index: 1;
}
@media (hover: hover) {
  .park-button--tdl .park-button__link:hover::before {
    opacity: 0.85;
  }
  .park-button--tds .park-button__link:hover::before {
    opacity: 0.85;
  }
}
.park-button__icon {
  position: absolute;
  left: calc(2.6 * var(--rem));
  top: 48%;
  transform: translateY(-50%);
  width: calc(5 * var(--rem));
  height: calc(3.5 * var(--rem));
  z-index: 1;
}
.park-button__text {
  margin-inline-start: calc(3.5 * var(--rem));
  text-align: center;
  font-family: var(--font-family-default);
  font-size: var(--font-size-medium);
  line-height: 1.3333333333;
  color: var(--color-white);
  position: relative;
  z-index: 1;
}

.slide-contents {
  margin-inline: calc(50% - 50vw);
  width: 100vw;
  position: relative;
}
@media (min-width: 500px) {
  .slide-contents {
    width: calc(100% + var(--space-md) * 2);
    margin-inline: calc(-1 * var(--space-md));
  }
}
.slide-contents .slide-card {
  display: flex;
  flex-direction: column;
  background: var(--color-white);
  border-radius: calc(2 * var(--rem));
  box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.1);
  padding: var(--space-md);
  width: 100%;
}
@media (min-width: 500px) {
  .slide-contents .slide-card {
    max-width: var(--pc-content-width);
    margin-inline: auto;
  }
}
.slide-contents .slide-card .card-title {
  display: grid;
  place-content: center;
  min-height: calc(var(--font-size-xxlarge) * 2);
  font-size: var(--font-size-large);
  font-weight: var(--font-weight-bold);
  font-family: var(--font-rounded);
  text-align: center;
  color: var(--color-card-title);
  line-height: 1.3333333333;
}
.slide-contents .slide-card .card-title:not(:first-child) {
  margin-block-start: var(--space-xs);
}
.slide-contents .slide-card__sub-description {
  font-size: var(--font-size-small);
}
.slide-contents .slide-card__button {
  margin-block-start: var(--space-sm);
}
.slide-contents .slide-card__image {
  position: relative;
  margin-block-start: var(--space-xs);
  width: 108%;
  margin-left: -4%;
}
.slide-contents .slide-card__image img {
  width: 100%;
  object-fit: cover;
}
.slide-contents .slide-card__description {
  margin-block-start: var(--space-sm);
  font-size: var(--font-size-small);
  flex-grow: 1;
}
.slide-contents .slide-card__description p:not(:first-child) {
  margin-block-start: var(--space-sm);
}
.slide-contents .slide-card__sub-wrapper {
  display: grid;
  gap: var(--space-xs);
  margin-block-start: var(--space-sm);
}
.slide-contents .slide-card:has(.slide-card__icon-wrapper):not(:has(.slide-card__more-wrapper)) .slide-card__description {
  margin-block-start: calc(5.4 * var(--rem));
}
.slide-contents .slide-card__more-wrapper {
  display: flex;
  justify-content: flex-end;
  margin-block-start: var(--space-xs);
}
.slide-contents .slide-card__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(0.8 * var(--rem));
  padding-inline: calc(1.3 * var(--rem));
  padding-block: calc(0.5 * var(--rem));
  background-color: var(--color-white);
  border: 1px solid var(--color-blue-dark);
  border-radius: 100vmax;
  color: var(--color-blue-dark);
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.slide-contents .slide-card__more-text {
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
  color: var(--color-blue-dark);
}
.slide-contents .slide-card__more-icon {
  width: calc(1.6 * var(--rem));
  height: calc(1.6 * var(--rem));
  fill: currentColor;
}
@media (hover: hover) {
  .slide-contents .slide-card__more:hover {
    background-color: color-mix(in srgb, var(--color-blue-light), black 2%);
  }
}
.slide-contents .slide-card__more:focus-visible {
  outline: 2px solid var(--color-blue-dark);
  outline-offset: 2px;
}
.slide-contents .slide-card__icon-wrapper {
  position: absolute;
  bottom: calc(-4 * var(--rem));
  left: 0;
  display: grid;
  grid-auto-flow: column;
  column-gap: var(--space-xs);
}
.slide-contents .slide-card__icon {
  width: calc(5.4 * var(--rem));
  height: calc(5.4 * var(--rem));
}
.slide-contents .slide-card__attention-wrapper {
  margin-block-start: var(--space-sm);
}
.slide-contents .slide-card__attention-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(0.8 * var(--rem));
}
.slide-contents .slide-card__attention-icon {
  width: calc(1.6 * var(--rem));
  height: calc(1.6 * var(--rem));
}
.slide-contents .slide-card__attention-text {
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
  color: var(--color-purple);
}
.slide-contents .slide-card.card-flow {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  border-radius: 0;
  box-shadow: none;
  background: var(--color-yellow);
}
@media (min-width: 500px) {
  .slide-contents .slide-card.card-flow {
    width: 100vw;
    margin-inline: -3.8rem;
  }
}
.slide-contents .slide-card.card-flow .slide-card__image {
  width: 100%;
  margin-left: 0;
}
.slide-contents .splide {
  position: relative;
  padding-block-start: var(--space-xs);
  padding-block-end: var(--space-xl);
}
.slide-contents .splide.is-single {
  padding-block-end: var(--space-md);
}
.slide-contents .splide__arrows {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-inline: 1rem;
  z-index: 2;
  margin-block-start: var(--space-md);
}
.slide-contents .splide__arrow {
  width: calc(5.3 * var(--rem));
  height: calc(5.3 * var(--rem));
  border: none;
  cursor: pointer;
  background: transparent;
  opacity: 1;
  position: relative;
}
.slide-contents .splide__arrow--prev {
  background: url("../images/common/svg/splide-prev.svg") no-repeat center center;
  background-size: contain;
  transform: none;
}
.slide-contents .splide__arrow--next {
  background: url("../images/common/svg/splide-next.svg") no-repeat center center;
  background-size: contain;
  transform: none;
}
.slide-contents .splide__arrow svg {
  display: none;
}
.slide-contents .splide__track {
  overflow: hidden;
}
.slide-contents .splide__slide {
  padding-block-end: calc(0.4 * var(--rem));
  opacity: 1;
}
.slide-contents .splide__slide.is-active {
  opacity: 1;
}
.slide-contents .card-date {
  font-size: var(--font-size-xsmall);
  text-align: center;
  margin: 0 -10px;
}
.slide-contents .card-date__sub {
  font-size: var(--font-size-min);
  text-align: center;
  margin: 0 -12px;
  margin-bottom: var(--space-xs);
}
.slide-contents .slide-card__caution__title {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-min);
  margin-block-start: var(--space-xs);
}
.slide-contents .slide-card__caution {
  font-size: var(--font-size-min);
  margin-block-start: var(--space-sm);
}
.slide-contents .slide-card__caution + .slide-card__caution {
  margin-block-start: 0;
}
.slide-contents .splide__pagination {
  position: absolute;
  bottom: calc(1.6 * var(--rem));
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 0.8rem;
  padding: 0;
  list-style: none;
  z-index: 1;
}
.slide-contents .splide__pagination li {
  display: flex;
  align-items: center;
}
.slide-contents .splide__pagination button {
  width: calc(0.8 * var(--rem));
  height: calc(0.8 * var(--rem));
  padding: 0;
  background: var(--color-gray-dark);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.3s ease;
  opacity: 1;
}
.slide-contents .splide__pagination button.is-active {
  width: calc(1 * var(--rem));
  height: calc(1 * var(--rem));
  background-color: var(--color-purple);
}

.modal {
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  min-height: 100vh;
  width: 100vw;
  margin: 0;
  inset: 0;
  max-width: 100%;
  max-height: 100vh;
  overflow: hidden;
}
.modal::backdrop {
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
}
.modal[open] {
  animation: fadeIn 0.3s ease normal;
}
.modal[open]::backdrop {
  animation: fadeIn 0.3s ease normal;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.modal__content {
  position: relative;
  width: calc(100% - var(--space-md));
  max-width: var(--layout-width-max);
  padding: var(--space-md);
  background-color: var(--color-white);
  border-radius: calc(0.8 * var(--rem));
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  margin-block: 50vh;
  transform: translateY(-50%);
  margin-inline: auto;
}
@media (min-width: 500px) {
  .modal__content {
    width: 600px;
    margin-inline: auto;
  }
}
.modal__content .card-title {
  display: grid;
  place-content: center;
  min-height: calc(var(--font-size-xxlarge) * 2);
  font-size: var(--font-size-large);
  font-weight: var(--font-weight-bold);
  font-family: var(--font-rounded);
  text-align: center;
  color: var(--color-card-title);
  line-height: 1.3333333333;
  --card-title-font-size: var(--font-size-large);
  margin-bottom: var(--space-md);
}
.modal__content .card-title:not(:first-child) {
  margin-block-start: var(--space-xs);
}
.modal__close {
  position: absolute;
  top: calc(-1.6 * var(--rem));
  right: calc(-0.4 * var(--rem));
  padding: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}
.modal__close:focus-visible {
  outline: 2px solid var(--color-blue-dark);
  outline-offset: 2px;
}
@media (hover: none) {
  .modal__close:focus {
    outline: none;
  }
}
.modal__close__icon {
  width: calc(4 * var(--rem));
  height: calc(4 * var(--rem));
}
.modal__title {
  margin-block-end: var(--space-md);
  color: var(--color-blue-dark);
  font-size: var(--font-size-large);
  font-family: var(--font-title);
  font-weight: var(--font-weight-black);
  text-align: center;
}
.modal__image {
  display: grid;
  place-items: center;
  position: relative;
}
.modal__image img {
  width: 100%;
  height: auto;
}
.modal__image .map-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.modal__image .map-overlay a {
  cursor: pointer;
}
.modal__text {
  margin-block-start: var(--space-md);
  font-size: var(--font-size-small);
  line-height: 1.6666666667;
}
.modal__text__title {
  margin-block-start: var(--space-md);
  font-size: var(--font-size-small);
  line-height: 1.6666666667;
  font-weight: bold;
}
.modal__text__title + .modal__text {
  margin-block-start: 0;
}
.modal__button {
  margin-block-start: var(--space-sm);
}
.modal__carousel__title {
  display: grid;
  place-content: center;
  color: var(--color-card-title);
  font-size: var(--font-size-large);
  font-family: var(--font-title);
  font-weight: var(--font-weight-black);
  text-align: center;
  min-height: calc(var(--font-size-xxlarge) * 2);
}
.modal__carousel #main-carousel,
.modal__carousel #thumbnail-carousel {
  margin-block-start: var(--space-md);
}
.modal__carousel .splide__arrows {
  display: none;
}
.modal__carousel .splide__slide {
  cursor: pointer;
  border: none !important;
}
.modal__carousel .splide__slide img {
  width: 100%;
  height: auto;
}
.modal__carousel #thumbnail-carousel .splide__list {
  display: flex;
  justify-content: center;
}
.modal__carousel #thumbnail-carousel .splide__track {
  overflow: visible;
}
.modal__carousel #thumbnail-carousel .splide__slide.is-active img {
  border: 2px solid var(--color-modal-carousel-active);
  box-sizing: border-box;
}

.hero {
  padding-block: var(--space-lg);
  padding-inline: var(--space-md);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 500px) {
  .hero {
    padding-block-start: var(--space-sm);
    padding-block-end: var(--space-lg);
  }
}
.hero__title {
  width: 100%;
  position: relative;
  overflow: hidden;
}
.hero__title[data-animation=slide-up] .animation-target {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  background-color: transparent;
  transform: translateY(100%);
  animation: slideUp 1s ease forwards;
  animation-delay: 3.6s;
}
.hero__text {
  margin-block-start: var(--space-lg);
  font-size: var(--font-size-medium);
  line-height: 1.8;
  z-index: 10;
  position: relative;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
}
.hero__text[data-animation=slide-up] {
  transform: translateY(25%);
  animation: slideUp 1s ease forwards;
  animation-delay: 4s;
}
.hero__animation {
  width: calc(420 * var(--fluid-ratio));
  height: calc(375 * var(--fluid-ratio));
  position: relative;
  z-index: 5;
}
@media (min-width: 500px) {
  .hero__animation {
    width: calc(42 * var(--rem));
    height: calc(37.5 * var(--rem));
  }
}
.hero__bg-dots {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  z-index: 2;
  pointer-events: none;
  background-repeat: repeat-x;
}
.hero__bg-dots__icon {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero__video {
  margin-block: var(--space-lg) var(--space-xl);
  width: 100%;
  max-width: 1280px;
  margin-inline: auto;
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  min-height: 0;
  will-change: transform;
}
@supports not (aspect-ratio: 16/9) {
  .hero__video {
    padding-bottom: 56.25%;
    height: 0;
  }
}
.hero__video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 720px;
}
.hero__video[data-animation=slide-up] {
  transform: translateY(25%);
  animation: slideUp 1s ease forwards;
  animation-delay: 4s;
}
.hero__dance {
  margin-block: var(--space-md);
  width: 100%;
  max-width: 400px;
  margin-inline: auto;
  position: relative;
  aspect-ratio: 9/16;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  will-change: transform;
}
.hero__dance iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 720px;
}
.hero__dance[data-animation=slide-up] {
  transform: translateY(25%);
  animation: slideUp 1s ease forwards;
  animation-delay: 4s;
}

.contents__wrapper {
  position: relative;
  margin-block-start: calc(121 * var(--fluid-ratio));
  padding-inline: var(--space-md);
  padding-block-end: var(--space-md);
}
@media (min-width: 500px) {
  .contents__wrapper {
    margin-block-start: calc(12.1 * var(--rem));
  }
  .contents__wrapper:first-of-type {
    margin-block-start: calc(14.1 * var(--rem));
  }
}
.contents__wrapper::after {
  content: "";
  position: absolute;
  top: calc(-121 * var(--fluid-ratio));
  left: 0;
  width: 100%;
  height: calc(121 * var(--fluid-ratio));
  z-index: 0;
}
@media (min-width: 500px) {
  .contents__wrapper::after {
    top: calc(-12.1 * var(--rem));
    height: calc(12.1 * var(--rem));
  }
}
.contents__wrapper.part-a {
  background-color: #E1FBF6;
}
.contents__wrapper.part-a:first-of-type::after {
  background-color: var(--color-dl-main-bg);
}
[data-category=tds] .contents__wrapper.part-a:first-of-type::after {
  background-color: var(--color-ds-main-bg);
}
.contents__wrapper.part-a::after {
  background-color: #E1F7FB;
}
.contents__wrapper.part-a:first-of-type::before {
  content: "";
  position: absolute;
  top: calc(-189 * var(--fluid-ratio));
  left: 0;
  width: 100%;
  height: calc(189 * var(--fluid-ratio));
  background: url("../images/content/svg/bg-wave-c.svg") no-repeat top center;
  background-size: cover;
  z-index: 1;
}
[data-category=tds] .contents__wrapper.part-a:first-of-type::before {
  content: "";
  position: absolute;
  top: calc(-189 * var(--fluid-ratio));
  left: 0;
  width: 100%;
  height: calc(189 * var(--fluid-ratio));
  background: url("../images/content/svg/bg-wave-d.svg") no-repeat top center;
  background-size: cover;
  z-index: 1;
}
.contents__wrapper.part-a:nth-of-type(n+2)::before {
  content: "";
  position: absolute;
  top: calc(-86 * var(--fluid-ratio));
  left: 0;
  width: 100%;
  height: calc(86 * var(--fluid-ratio));
  background: url(../images/content/svg/bg-wave-a.svg) no-repeat top center;
  background-size: cover;
  z-index: 1;
}
@media (min-width: 500px) {
  .contents__wrapper.part-a:first-of-type::before {
    top: calc(-25.1 * var(--rem));
    height: calc(25.1 * var(--rem));
  }
  [data-category=tds] .contents__wrapper.part-a:first-of-type::before {
    top: calc(-25.1 * var(--rem));
    height: calc(25.1 * var(--rem));
  }
  .contents__wrapper.part-a:nth-of-type(n+2)::before {
    top: calc(-11.4 * var(--rem));
    height: calc(11.4 * var(--rem));
  }
}
.contents__wrapper.part-b {
  background-color: #E1F7FB;
}
.contents__wrapper.part-b::after {
  background-color: #E1FBF6;
}
.contents__wrapper.part-b::before {
  content: "";
  position: absolute;
  top: calc(-82 * var(--fluid-ratio));
  left: 0;
  width: 100%;
  height: calc(82 * var(--fluid-ratio));
  background: url("../images/content/svg/bg-wave-b.svg") no-repeat top center;
  background-size: cover;
  z-index: 1;
}
@media (min-width: 500px) {
  .contents__wrapper.part-b::before {
    top: calc(-10.9 * var(--rem));
    height: calc(10.9 * var(--rem));
  }
}
.contents__title {
  width: 100%;
}
.contents__title img {
  position: relative;
  z-index: 1;
  margin-inline: auto;
}
.contents__title img[data-animation=popup] {
  opacity: 0;
  transform: scale(0.9);
  transition: none;
}
.contents__title img[data-animation=popup].is-animated {
  animation: popup 0.8s ease-in-out 0s 1 normal forwards running;
}
.contents__title__sub {
  margin-block-start: var(--space-lg);
  text-align: center;
  color: var(--color-blue-dark);
  font-size: var(--font-size-xlarge);
  font-family: var(--font-title);
  font-weight: var(--font-weight-black);
  line-height: 1.3333333333;
  -webkit-text-stroke: calc(0.6 * var(--rem)) var(--color-white);
  text-stroke: calc(0.6 * var(--rem)) var(--color-white);
  paint-order: stroke;
}
.contents__title__sub[data-animation=slide-up] {
  opacity: 0;
  transform: translateY(25%);
  transition: none;
}
.contents__title__sub[data-animation=slide-up].is-animated {
  animation: slideUp 1s ease forwards;
}
.contents .mg-xl {
  margin-top: var(--space-xl);
}
.contents__park__park-icon {
  width: 100%;
  height: auto;
}
.contents__icon-list {
  margin-block-start: var(--space-lg);
}
.contents__icon-list[data-animation=slide-up] {
  opacity: 0;
  transform: translateY(25%);
  transition: none;
}
.contents__icon-list[data-animation=slide-up].is-animated {
  animation: slideUp 1s ease forwards;
}
.contents__slider {
  margin-block-start: var(--space-xs);
}
.contents__slider[data-animation=slide-right] {
  opacity: 0;
  transform: translateX(25%);
  transition: none;
}
.contents__slider[data-animation=slide-right].is-animated {
  animation: slideInFromRight 1s ease forwards;
}
.contents__accordion {
  margin-block-start: var(--space-xs);
}
.contents__divider {
  margin-block-start: var(--space-xl);
}
.contents__button {
  margin-block-start: var(--space-md);
}
.contents__button[data-animation=slide-up] {
  opacity: 0;
  transform: translateY(25%);
  transition: none;
}
.contents__button[data-animation=slide-up].is-animated {
  animation: slideUp 1s ease forwards;
}
.contents__park-button {
  margin-block-start: var(--space-lg);
}
.contents__park-button[data-animation=slide-up] {
  opacity: 0;
  transform: translateY(25%);
  transition: none;
}
.contents__park-button[data-animation=slide-up].is-animated {
  animation: slideUp 1s ease forwards;
}
.contents__overflow {
  margin-block-start: var(--space-xl);
  margin-inline: 0;
}
.contents__banner-list {
  margin-block-start: var(--space-xl);
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes slideInFromRight {
  from {
    transform: translateX(25%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
.sns {
  position: relative;
  margin-block-start: calc(9 * var(--rem));
  background-color: var(--color-green-light);
  /* SNSシェアエリア
  --------------------- */
  /* SNSシェアサマリーエリア
  ------------------------- */
  /* SNSリンクエリア
  ----------------- */
}
.sns::before {
  content: "";
  position: absolute;
  top: calc(-55 * var(--fluid-ratio));
  left: 0;
  right: 0;
  height: calc(55 * var(--fluid-ratio));
  background: url("../images/content/svg/bg-wave-b.svg") no-repeat top center;
  background-size: cover;
  z-index: 1;
}
@media (min-width: 500px) {
  .sns::before {
    top: calc(-5.5 * var(--rem));
    height: calc(5.5 * var(--rem));
  }
}
.sns::after {
  content: "";
  position: absolute;
  top: calc(-9 * var(--rem));
  left: 0;
  right: 0;
  height: calc(9 * var(--rem));
  background-color: var(--color-green-light);
  z-index: 0;
}
.sns__share {
  padding-block-start: 0;
  padding-block-end: var(--space-md);
  padding-inline: var(--space-md);
  background-color: var(--color-lightblue);
}
.sns__share__inner {
  margin-inline: auto;
}
.sns__share__text {
  font-size: var(--font-size-medium);
  font-weight: var(--font-weight-bold);
  text-align: center;
  color: #072856;
}
.sns__share__text::before, .sns__share__text::after {
  display: inline-block;
  content: "";
  height: calc(1.8 * var(--rem));
  width: calc(0.2 * var(--rem));
  background-color: #072856;
  vertical-align: middle;
}
.sns__share__text::before {
  transform: rotate(-20deg) translateY(-2px);
  margin-right: calc(1 * var(--rem));
}
.sns__share__text::after {
  transform: rotate(20deg) translateY(-2px);
  margin-left: calc(0.8 * var(--rem));
}
.sns__share__list {
  display: flex;
  justify-content: center;
  gap: 3rem;
  list-style: none;
  margin-block-start: var(--space-md);
  padding: 0;
}
.sns__share__item {
  width: calc(5 * var(--rem));
}
.sns__share__link {
  display: block;
  width: calc(5 * var(--rem));
  height: calc(5 * var(--rem));
}
.sns__share__icon {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: filter 0.3s;
}
.sns__summary {
  padding: var(--space-md);
  background-color: var(--color-sns-share-bg);
}
.sns__summary__item {
  margin-block-start: calc(0.8 * var(--rem));
  font-size: var(--font-size-small);
  padding-inline-start: calc(1.6 * var(--rem));
  text-indent: calc(-1.6 * var(--rem));
}
.sns__summary__item::before {
  content: "・";
  margin-right: calc(0.4 * var(--rem));
}
.sns__summary__item:first-child {
  margin-block-start: 0;
}
.sns__summary__note {
  margin-block-start: var(--space-md);
  font-size: var(--font-size-small);
}
.sns__link {
  padding-block-start: var(--space-md);
  padding-block-end: calc(10 * var(--rem));
  padding-inline: var(--space-md);
  background-color: var(--color-sns-link-bg);
}
@media (min-width: 500px) {
  .sns__link {
    padding-block-end: calc(12.6 * var(--rem));
  }
}
.sns__link__inner {
  margin-inline: auto;
}
.sns__link__text {
  font-size: var(--font-size-medium);
  font-weight: var(--font-weight-bold);
  text-align: center;
  color: var(--color-white);
}
.sns__link__list {
  display: flex;
  justify-content: center;
  gap: calc(2.6 * var(--rem));
  list-style: none;
  margin-block-start: var(--space-md);
  padding: 0;
}
.sns__link__item {
  width: calc(4.3 * var(--rem));
}
.sns__link__link {
  display: block;
  width: calc(4.3 * var(--rem));
  height: calc(4.3 * var(--rem));
}
.sns__link__icon {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: filter 0.3s;
}

.nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  background-color: var(--color-nav-bg);
  z-index: 1001;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: visibility 0.3s ease, opacity 0.3s ease;
  font-family: var(--font-nav-default);
}
.nav::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/content/svg/bg-nav-left.svg") no-repeat left 25%, url("../images/content/svg/bg-nav-right.svg") no-repeat right 29%, url("../images/content/svg/bg-nav-bottom-tdl.svg") no-repeat center bottom;
  background-size: 20% auto, 20% auto, 100% auto;
  pointer-events: none;
}
[data-category=tds] .nav::before {
  background-image: url("../images/content/svg/bg-nav-left.svg"), url("../images/content/svg/bg-nav-right.svg"), url("../images/content/svg/bg-nav-bottom-tds.svg");
}
.nav.is-active {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  overscroll-behavior: none;
}
.nav__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
.nav__list {
  display: grid;
  margin-inline: auto;
  row-gap: var(--space-xmd);
}
@media (min-width: 500px) {
  .nav__list {
    row-gap: var(--space-xmd);
  }
}
.nav__item {
  text-align: center;
}
.nav__link {
  text-decoration: none;
}
.nav__title {
  margin-inline: auto;
}
.nav__title-text {
  font-size: var(--font-size-min);
  font-weight: var(--font-weight-bold);
  color: var(--color-nav-text);
}
.nav__park-button {
  margin-block-start: var(--space-md);
  margin-inline: auto;
  width: calc(32.7 * var(--rem));
}
.nav__park-button .park-button__link {
  min-height: calc(5.3 * var(--rem));
}
.nav__park-button .park-button__text {
  margin-inline-start: calc(2.4 * var(--rem));
  font-size: var(--font-size-mid);
}
.nav__park-button .park-button__icon {
  left: 4.1rem;
  width: 3.8rem;
  height: 2.9rem;
}

.icon-list {
  margin-inline: auto;
  padding-block: var(--space-sm);
  border-block: 1px solid var(--color-blue-dark);
}
.icon-list__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.icon-list__item {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.icon-list__icon {
  width: 3.4rem;
  height: 3.4rem;
  flex-shrink: 0;
}
.icon-list__text {
  font-size: var(--font-size-small);
  color: var(--color-text-default);
}

.divider-ornament {
  width: 32.7rem;
  height: 3.6rem;
}

.accordion__summary {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: calc(1 * var(--rem));
  align-items: center;
  padding-block: var(--space-sm);
  border-bottom: 2px solid var(--color-purple);
  cursor: pointer;
  list-style: none;
}
.accordion__summary::-webkit-details-marker {
  display: none;
}
.accordion__title {
  font-size: var(--font-size-medium);
  font-weight: var(--font-weight-bold);
  color: var(--color-accordion-title);
}
.accordion__icon {
  display: flex;
  align-items: center;
  transition: transform 0.3s ease;
}
.accordion__icon-svg {
  width: calc(2 * var(--rem));
  height: calc(2 * var(--rem));
}
.accordion__panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease-out;
}
.accordion__content {
  overflow: hidden;
  border-bottom: 2px solid var(--color-purple);
}
.accordion__list {
  padding-block-end: var(--space-md);
}
.accordion__list-item {
  margin-block-start: var(--space-sm);
  font-size: var(--font-size-small);
  padding-inline-start: calc(1.6 * var(--rem));
  text-indent: calc(-1.6 * var(--rem));
}
.accordion__list-item::before {
  content: "・";
  margin-right: calc(0.4 * var(--rem));
}
.accordion__list-item:first-child {
  margin-block-start: 0;
}
.contents .accordion__list-item a, .contents .accordion__list-item a:visited {
  color: var(--color-accordion-link);
}
.accordion__list-item__link {
  display: block;
  text-indent: 0;
  font-weight: var(--font-weight-bold);
}

details[open] .accordion__icon {
  transform: rotate(180deg);
}
details[open] .accordion__panel {
  grid-template-rows: 1fr;
}
details[open] .accordion__summary {
  border-bottom: none;
}

@keyframes slideIn {
  from {
    transform: translateX(-101%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes slideOut {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(101%);
  }
}
.overflow {
  position: relative;
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  background-color: var(--color-white);
}
@media (min-width: 500px) {
  .overflow {
    max-width: var(--pc-content-width);
    margin-inline: calc(var(--space-md) * -1);
  }
}
.overflow__inner {
  padding: var(--space-lg) var(--space-md);
}
.overflow__title {
  color: var(--color-blue-dark);
  font-size: var(--font-size-large);
  font-family: var(--font-title);
  font-weight: var(--font-weight-bold);
  text-align: center;
  line-height: 1.5;
  opacity: 0;
  transform: translateY(30%);
  visibility: hidden;
  transition: opacity 1s ease-out, transform 1s ease-out, visibility 1s ease-out;
}
.overflow__title.is-animated {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
}
.overflow[data-type=collaboration] .overflow__title {
  opacity: 1;
  transform: none;
  visibility: visible;
  transition: none;
}
.overflow__title-static {
  color: var(--color-blue-dark);
  font-size: var(--font-size-large);
  font-family: var(--font-title);
  font-weight: var(--font-weight-bold);
  text-align: center;
  line-height: 1.5;
}
.overflow__image-wrapper {
  display: flex;
  justify-content: center;
  margin-block-start: var(--space-sm);
}
.overflow__name {
  margin-block-start: var(--space-sm);
  font-size: var(--font-size-min);
  line-height: 1.7;
  margin-bottom: var(--space-lg);
}
.overflow__description {
  margin-block-start: var(--space-sm);
  font-size: var(--font-size-small);
  line-height: 1.7;
}
.overflow[data-type=collaboration] .overflow__description {
  text-align: center;
}
.overflow[data-type=notice] .overflow__description {
  text-align: left;
}
.overflow__button {
  margin-block-start: var(--space-sm);
}

.overflow-notice__image-container {
  position: relative;
  display: inline-block;
  background-color: var(--color-lightblue);
  mask-image: url(../images/common/img_mask.png);
  mask-size: 99% 99%;
  mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../images/common/img_mask.png);
  -webkit-mask-size: 99% 99%;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  overflow: hidden;
}

.overflow-notice__mask-wrapper {
  position: relative;
  display: block;
  overflow: hidden;
}

.overflow-notice__image {
  display: block;
  max-width: 100%;
  height: auto;
}
.overflow-notice__image[data-animation=image-scale] {
  opacity: 0;
  transform: scale(1.4);
  filter: blur(3px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out, filter 0.6s ease-out;
}
.overflow-notice__image[data-animation=image-scale].is-animated {
  opacity: 1;
  transform: scale(1);
  filter: blur(0);
}

.overflow-notice__frame {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

/* トランジションレイヤーのスタイル */
[data-animation=slide-transition] {
  position: relative;
  overflow: hidden;
}

[data-animation=slide-transition] .transition-layer-1 {
  position: absolute;
  inset: 0;
  z-index: 1;
}

[data-animation=slide-transition] .transition-layer-1::before,
[data-animation=slide-transition] .transition-layer-1::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-101%);
  will-change: transform;
}

[data-animation=slide-transition] .transition-layer-1::before {
  background-color: var(--color-blue-light);
  z-index: 1;
}

[data-animation=slide-transition] .transition-layer-1::after {
  background-color: var(--color-blue);
  z-index: 2;
}

/* アニメーションの順序を更新 */
[data-animation=slide-transition].is-animated .transition-layer-1::before {
  animation: slideIn 0.5s cubic-bezier(0.87, 0.05, 0.02, 0.97) forwards, slideOut 0.5s cubic-bezier(0.87, 0.05, 0.02, 0.97) 0.7s forwards;
}

[data-animation=slide-transition].is-animated .transition-layer-1::after {
  animation: slideIn 0.5s cubic-bezier(0.87, 0.05, 0.02, 0.97) 0.1s forwards, slideOut 0.5s cubic-bezier(0.87, 0.05, 0.02, 0.97) 0.7s forwards;
}

/* 画像のスケールアニメーションを追加 */
[data-animation=slide-transition].is-animated .overflow-notice__image[data-animation=image-scale] {
  opacity: 1;
  transform: scale(1);
  filter: blur(0);
  transition-delay: 1s;
}

.nav-fixed {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  position: fixed;
  transform: translateX(1000%);
}

@media (min-width: 1299px) {
  .nav-fixed {
    top: 50%;
    right: calc(50vw - 650px);
    transform: translateY(-50%);
    z-index: 1000;
    max-height: calc(100vh - 88px);
    opacity: 1;
    visibility: visible;
    margin-block-start: calc(1.6 * var(--rem));
  }
  .nav-fixed .nav__title-text {
    margin-block-start: calc(0.3 * var(--rem));
  }
  .nav-fixed .contents__park-button {
    margin-block-start: 3.2rem;
  }
  .nav-fixed .contents__park-button .park-button__text {
    margin-inline-start: 2rem;
    font-size: 1.5rem;
  }
  .nav-fixed .contents__park-button .park-button__link {
    min-height: 6rem;
    min-width: 32.7rem;
  }
  .nav-fixed .contents__park-button .park-button__icon {
    left: 3.5rem;
    width: 3.8rem;
    height: 2.9rem;
  }
}
@media (max-width: 767px) {
  .nav-fixed {
    opacity: 0;
    visibility: hidden;
    transform: translateX(100%);
  }
  .splide {
    margin-inline: 0;
  }
}
.logo-fixed {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  position: fixed;
}

@media (min-width: 1299px) {
  .logo-fixed {
    top: 50%;
    left: calc(50vw - 232px - 34.7rem - 8rem);
    transform: translateY(-50%);
    z-index: 1000;
    background-image: url("../images/hero/hero_logo.png");
    background-size: contain;
    background-repeat: no-repeat;
    width: 31.23rem;
    height: 28.8rem;
    opacity: 1;
    visibility: visible;
  }
}
.banner-list {
  margin-inline: calc(50% - 50vw);
  width: 100vw;
  background-color: var(--color-banner-list-bg);
  padding-block: var(--space-lg);
}
@media (min-width: 500px) {
  .banner-list {
    width: calc(100% + var(--space-md) * 2);
    margin-inline: calc(-1 * var(--space-md));
  }
}
.banner-list__inner {
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--space-md);
}
@media (min-width: 500px) {
  .banner-list__inner {
    width: var(--pc-content-width);
  }
}
.banner-list__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.banner-list__item {
  background-color: color-mix(in srgb, var(--color-white) 80%, transparent);
  border-radius: calc(0.8 * var(--rem));
  border: 2px solid var(--color-white);
}
.banner-list__link {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding-inline-start: var(--space-sm);
  padding-inline-end: calc(3.4 * var(--rem));
  padding-block: var(--space-sm);
  text-decoration: none;
  color: inherit;
}
.banner-list__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: var(--space-sm);
  width: calc(0.8 * var(--rem));
  height: calc(1.2 * var(--rem));
  background: url("../images/common/svg/arrow-r-purple.svg") no-repeat center;
  transform: translateY(-50%);
}
.banner-list__title {
  color: var(--color-banner-list-title);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-small);
}
.banner-list__body {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--space-sm);
}
.banner-list__image {
  width: calc(11.7 * var(--rem));
  height: calc(6.6 * var(--rem));
  object-fit: cover;
}
.banner-list__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
}
.banner-list__text {
  font-size: var(--font-size-small);
  line-height: 1.6;
  color: var(--color-text-default);
}
.banner-list__text:visited {
  color: var(--color-text-default);
}

.special-button__link {
  position: relative;
  display: block;
  padding-block: calc(1.2 * var(--rem));
  padding-inline-start: 6rem;
  padding-inline-end: var(--space-md);
  text-decoration: none;
  border: 2px solid var(--color-purple);
  border-radius: 100vmax;
  background-color: color-mix(in srgb, var(--color-button-bg) 10%, transparent);
  text-align: center;
}
.special-button__link::before {
  content: "";
  position: absolute;
  left: calc(0.2 * var(--rem));
  top: 50%;
  transform: translateY(-50%);
  width: calc(7 * var(--rem));
  height: calc(9 * var(--rem));
  background: url("../images/content/img_splashphoto.png") no-repeat center;
  background-size: contain;
}
.special-button__link::after {
  content: "";
  position: absolute;
  right: calc(1.6 * var(--rem));
  top: 50%;
  transform: translateY(-50%);
  width: calc(0.8 * var(--rem));
  height: calc(1.2 * var(--rem));
  background: url("../images/common/svg/arrow-r-purple.svg") no-repeat center;
}
.special-button__text {
  display: block;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
  color: var(--color-purple);
  line-height: 1.4;
}

.text-block {
  margin-block-start: var(--space-sm);
  font-size: var(--font-size-small);
}
.text-block:first-of-type {
  margin-block-start: 0;
}

.contents-collaboration {
  background-color: var(--color-green-light);
}
.contents-collaboration__wrapper {
  position: relative;
  padding-inline: var(--space-md);
  padding-block-start: var(--space-lg);
  padding-block-end: var(--space-md);
}
.contents-collaboration__wrapper::after {
  content: "";
  position: absolute;
  top: calc(-121 * var(--fluid-ratio));
  left: 0;
  width: 100%;
  height: calc(121 * var(--fluid-ratio));
  z-index: 0;
}
@media (min-width: 500px) {
  .contents-collaboration__wrapper::after {
    top: calc(-12.1 * var(--rem));
    height: calc(12.1 * var(--rem));
  }
}
.contents-collaboration__title {
  width: 100%;
}
.contents-collaboration__title img {
  margin-inline: auto;
}
.contents-collaboration__title img[data-animation=popup] {
  opacity: 0;
  transform: scale(0.9);
  transition: none;
}
.contents-collaboration__title img[data-animation=popup].is-animated {
  animation: popup 0.8s ease-in-out 0s 1 normal forwards running;
}
.contents-collaboration__title__sub {
  margin-block-start: var(--space-lg);
  text-align: center;
  color: var(--color-blue-dark);
  font-size: var(--font-size-xlarge);
  font-family: var(--font-title);
  font-weight: var(--font-weight-black);
  line-height: 1.3333333333;
  -webkit-text-stroke: calc(0.6 * var(--rem)) var(--color-white);
  text-stroke: calc(0.6 * var(--rem)) var(--color-white);
  paint-order: stroke;
  position: relative;
  overflow: hidden;
}
.contents-collaboration__title__sub[data-animation=slide-up] .animation-target {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  background-color: transparent;
  transform: translateY(100%);
  animation: slideUp 1s ease forwards;
  animation-delay: 1.2s;
}
.contents-collaboration__block {
  margin-block-start: var(--space-md);
}
.contents-collaboration__block[data-animation=slide-up] {
  opacity: 0;
  transform: translateY(25%);
  transition: none;
}
.contents-collaboration__block[data-animation=slide-up].is-animated {
  animation: slideUp 1s ease forwards;
  animation-delay: 0.8s;
}
.contents-collaboration__park__park-icon {
  width: 100%;
  height: auto;
}
.contents-collaboration__icon-list {
  margin-block-start: var(--space-lg);
}
.contents-collaboration__icon-list[data-animation=slide-up] {
  opacity: 0;
  transform: translateY(25%);
  transition: none;
}
.contents-collaboration__icon-list[data-animation=slide-up].is-animated {
  animation: slideUp 1s ease forwards;
}
.contents-collaboration__slider {
  margin-block-start: var(--space-md);
}
.contents-collaboration__slider[data-animation=slide-right] {
  opacity: 0;
  transform: translateX(25%);
  transition: none;
}
.contents-collaboration__slider[data-animation=slide-right].is-animated {
  animation: slideInFromRight 1s ease forwards;
}
.contents-collaboration__accordion {
  margin-block-start: var(--space-lg);
}
.contents-collaboration__divider {
  margin-block-start: var(--space-xl);
}
.contents-collaboration__button {
  margin-block-start: var(--space-md);
  padding-inline: var(--space-md);
}
.contents-collaboration__park-button {
  margin-block-start: var(--space-xl);
}
.contents-collaboration__overflow {
  margin-block-start: var(--space-xl);
  margin-inline: 0;
}

ul.spot__caution {
  list-style-type: none;
  margin-block-start: var(--space-md);
  margin-block-end: var(--space-lg);
}

dl.spot__caution {
  list-style-type: none;
  margin-block-start: var(--space-xs);
  margin-block-end: var(--space-lg);
}
dl.spot__caution .spot__caution__title {
  font-size: var(--font-size-medium);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-default);
}

.spot__caution__list {
  font-size: var(--font-size-small);
  margin-block-start: var(--space-xs);
  padding-inline-start: calc(1.4 * var(--rem));
  text-indent: calc(-1.4 * var(--rem));
  color: var(--color-text-default);
  list-style-type: none;
}

.spot__caution__list__head {
  font-size: var(--font-size-small);
  margin-block-start: var(--space-xs);
}

.spot__caution__list::before {
  content: "※";
}

.park-label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: 100vmax;
  padding-inline: var(--space-sm);
  padding-block: calc(0.6 * var(--rem));
  background-color: var(--color-yellow);
}
.park-label__text {
  font-size: var(--font-size-medium);
  font-weight: var(--font-weight-black);
  font-family: var(--font-rounded);
  color: var(--color-blue-dark);
  line-height: 1;
  display: flex;
  align-items: center;
}
.park-label[data-category=tdl] {
  background-color: var(--color-pink-light);
}
.park-label[data-category=tdl] .park-label__text {
  color: var(--color-pink);
}
.park-label[data-category=tds] {
  background-color: var(--color-blue-light);
}
.park-label[data-category=tds] .park-label__text {
  color: var(--color-blue-dark);
}

.contents-goods {
  background-color: var(--color-green-light);
}
.contents-goods__wrapper {
  position: relative;
  padding-inline: var(--space-md);
  padding-block-start: var(--space-lg);
  padding-block-end: var(--space-md);
}
.contents-goods__wrapper::after {
  content: "";
  position: absolute;
  top: calc(-121 * var(--fluid-ratio));
  left: 0;
  width: 100%;
  height: calc(121 * var(--fluid-ratio));
  z-index: 0;
}
@media (min-width: 500px) {
  .contents-goods__wrapper::after {
    top: calc(-12.1 * var(--rem));
    height: calc(12.1 * var(--rem));
  }
}
.contents-goods__title {
  width: 100%;
}
.contents-goods__title img {
  margin-inline: auto;
}
.contents-goods__title img[data-animation=popup] {
  opacity: 0;
  transform: scale(0.9);
  transition: none;
}
.contents-goods__title img[data-animation=popup].is-animated {
  animation: popup 0.8s ease-in-out 0s 1 normal forwards running;
}
.contents-goods__title__sub {
  margin-block-start: var(--space-lg);
  text-align: center;
  color: var(--color-blue-dark);
  font-size: var(--font-size-xlarge);
  font-family: var(--font-title);
  font-weight: var(--font-weight-black);
  line-height: 1.3333333333;
  -webkit-text-stroke: calc(0.6 * var(--rem)) var(--color-white);
  text-stroke: calc(0.6 * var(--rem)) var(--color-white);
  paint-order: stroke;
  position: relative;
  overflow: hidden;
}
.contents-goods__title__sub[data-animation=slide-up] .animation-target {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  background-color: transparent;
  transform: translateY(100%);
  animation: slideUp 1s ease forwards;
  animation-delay: 1.2s;
}
.contents-goods__block {
  margin-block-start: var(--space-md);
}
.contents-goods__block[data-animation=slide-up] {
  opacity: 0;
  transform: translateY(25%);
  transition: none;
}
.contents-goods__block[data-animation=slide-up].is-animated {
  animation: slideUp 1s ease forwards;
  animation-delay: 0.8s;
}
.contents-goods__park__park-icon {
  width: 100%;
  height: auto;
}
.contents-goods__icon-list {
  margin-block-start: var(--space-lg);
}
.contents-goods__icon-list[data-animation=slide-up] {
  opacity: 0;
  transform: translateY(25%);
  transition: none;
}
.contents-goods__icon-list[data-animation=slide-up].is-animated {
  animation: slideUp 1s ease forwards;
}
.contents-goods__slider {
  margin-block-start: var(--space-md);
}
.contents-goods__slider[data-animation=slide-right] {
  opacity: 0;
  transform: translateX(25%);
  transition: none;
}
.contents-goods__slider[data-animation=slide-right].is-animated {
  animation: slideInFromRight 1s ease forwards;
}
.contents-goods__accordion {
  margin-block-start: var(--space-lg);
}
.contents-goods__divider {
  margin-block-start: var(--space-xl);
}
.contents-goods__button {
  margin-block-start: var(--space-sm);
}
.contents-goods__park-button {
  margin-block-start: var(--space-xl);
}
.contents-goods__overflow {
  margin-block-start: var(--space-xl);
  margin-inline: 0;
}

/* Base Variables
----------------------- */
:root {
  font-size: 62.5%;
  --layout-width-min: 375;
  --layout-width-mid: 768;
  --layout-width-max: 1280;
  --pc-content-width: 500px;
  --space-xs: 0.8rem;
  --space-sm: 1.3rem;
  --space-xmd: 1.6rem;
  --space-md: 2.1rem;
  --space-lg: 3.4rem;
  --space-xl: 5.5rem;
  --font-size-min: 1rem;
  --font-size-xsmall: 1.2rem;
  --font-size-small: 1.3rem;
  --font-size-medium: 1.6rem;
  --font-size-large: 1.9rem;
  --font-size-xlarge: 2.4rem;
  --font-size-xxlarge: 3.2rem;
  --fluid-ratio: calc(1 / var(--layout-width-min) * 100dvi);
  --rem: 1rem;
}

@media (max-width: 375px) {
  :root {
    font-size: 62.5%;
  }
}
@media (min-width: 500px) {
  :root {
    --space-xs: 1.3rem;
    --space-sm: 2.1rem;
    --space-md: 3.4rem;
    --space-lg: 5.5rem;
    --space-xl: 8.9rem;
    --font-size-min: 1.2rem;
    --font-size-small: 1.3rem;
    --font-size-small: 1.6rem;
    --font-size-medium: 1.9rem;
    --font-size-large: 2.4rem;
    --font-size-xlarge: 3.2rem;
    --font-size-xxlarge: 4rem;
    --rem: 1.2rem;
  }
}
:root {
  --color-white: #fff;
  --color-gray: #4C4C4C;
  --color-gray-light: #D3D3D3;
  --color-blue: #9AE3F3;
  --color-blue-dark: #3CACC1;
  --color-blue-light: #CAF4F6;
  --color-lightblue: #E1F7FB;
  --color-green-light: #E1FBF6;
  --color-purple: #743386;
  --color-purple-light: #E8C9F0;
  --color-yellow: #FFF0DB;
  --color-pink: #F4587A;
  --color-pink-light: #FFE4EE;
  --color-yellow-dark: #FFD22C;
  --color-orange: #FF6B00;
  --color-red: #DC260E;
  --color-pink-dark: #D72E87;
  --color-gray-dark: #8E8E93;
  --color-nav-bg: var(--color-yellow);
  --color-dl-main-bg: var(--color-pink-light);
  --color-ds-main-bg: var(--color-blue-light);
  --color-goods-main-bg: var(--color-green-light);
  --color-text-default: var(--color-gray);
  --color-text-link: var(--color-blue-dark);
  --color-nav-text: var(--color-gray);
  --color-button-bg: var(--color-purple);
  --color-button-text: var(--color-white);
  --color-button-ticket: var(--color-yellow-dark);
  --color-button-bg-disabled: var(--color-gray-light);
  --color-sns-share-bg: var(--color-blue);
  --color-sns-link-bg: var(--color-blue-dark);
  --color-card-title: var(--color-pink);
  --color-accordion-title: var(--color-purple);
  --color-accordion-link: var(--color-purple);
  --color-banner-list-bg: var(--color-yellow);
  --color-banner-list-title: var(--color-red);
  --color-modal-carousel-active: var(--color-pink-dark);
}

:root {
  --font-rounded: "M PLUS Rounded 1c", sans-serif;
  --font-sans: "Noto Sans JP", sans-serif;
  --font-system: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-family-default: var(--font-sans);
  --font-nav-default: var(--font-rounded);
  --font-title: var(--font-rounded);
  --font-weight-normal: 500;
  --font-weight-bold: 700;
  --font-weight-black: 900;
}

:root {
  --animation-duration: 1s;
  --animation-timing: cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* Reset & Base Styles
----------------------- */
*,
*:before,
*:after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

ul[role=list],
ol[role=list] {
  list-style: none;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--space-lg);
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

a:not([class]) {
  text-decoration-skip-ink: auto;
  color: var(--color-text-link);
}

img,
picture {
  max-width: 100%;
  height: auto;
  display: block;
}

p,
li {
  color: var(--color-text-default);
  line-height: 1.6;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .fade {
    transition: none !important;
    transform: none !important;
  }
  .l-heroAnime_items img {
    animation: none !important;
  }
}
/* Animations
----------------------- */
@keyframes slideUp {
  from {
    transform: translateY(30%);
    opacity: 0;
    visibility: hidden;
  }
  to {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
  }
}
@keyframes slideInFromRight {
  from {
    transform: translateX(25%);
    opacity: 0;
    visibility: hidden;
  }
  to {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
  }
}
@keyframes popup {
  0% {
    opacity: 0;
    transform: scale(0.7);
  }
  40% {
    opacity: 1;
    transform: scale(1.1);
  }
  60% {
    transform: scale(1);
  }
  80% {
    transform: scale(1.05);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes imageScale {
  0% {
    transform: scale(2);
    filter: blur(3px);
  }
  100% {
    transform: scale(1);
    filter: blur(0);
  }
}
.breadcrumb {
  position: relative;
  margin-block: 10px;
  background-color: var(--color-white);
  z-index: 1001;
}
.breadcrumb::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  height: 10px;
  background-color: var(--color-white);
  z-index: -1;
}
.breadcrumb::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 0;
  right: 0;
  height: 10px;
  background-color: var(--color-white);
  z-index: -1;
}

.wrapper {
  background-image: url("../images/common/bg-pattern.png");
  background-repeat: repeat;
  background-size: 25%;
  background-attachment: fixed;
  overflow: hidden;
}
.wrapper__inner {
  position: relative;
  background-color: var(--color-dl-main-bg);
  overflow: hidden;
}
[data-category=tds] .wrapper__inner {
  background-color: var(--color-ds-main-bg);
}
.wrapper__inner.goods-page {
  background-color: var(--color-goods-main-bg);
}
@media (min-width: 500px) {
  .wrapper__inner {
    margin-inline: auto;
    max-width: var(--pc-content-width);
    box-shadow: 3px 0 9px 1px rgba(123, 186, 197, 0.47), -3px 0 9px 1px rgba(123, 186, 197, 0.47);
  }
}

.main {
  font-family: var(--font-family-default);
  font-weight: var(--font-weight-normal);
  line-height: 1.5;
}

@media (min-width: 500px) {
  .local-footer {
    position: relative;
    z-index: 1001;
  }
}

.only-pc {
  display: block;
}

.only-sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .only-pc {
    display: none;
  }
  .only-sp {
    display: block;
  }
}
#goodsmenuframe {
  margin-block-start: var(--space-md);
}
#goodsmenuframe iframe {
  width: 100%;
  min-height: calc(12 * var(--rem));
}