/* color */
/* ============================================ */
/* font-size */
/* ============================================ */
/* font */
/* ============================================ */
/* top */
/* ============================================ */
.top-mainvisual__ttl img {
  width: 100%;
  max-width: none;
}

.top-intro {
  margin-top: 100px;
}
@media all and (max-width: 896px) {
  .top-intro {
    margin-top: 50px;
  }
}
.top-intro__container {
  max-width: 1218px;
  margin-inline: auto;
  container-type: inline-size;
}
@media all and (max-width: 480px) {
  .top-intro__container {
    margin-inline: calc(50% - 60vw);
  }
}
.top-intro__inner {
  position: relative;
}
.top-intro__deco {
  position: absolute;
}
.top-intro__deco.--tree_l {
  width: 25.45cqw;
  left: 0;
  bottom: 4.93cqw;
}
.top-intro__deco.--tree_r {
  width: 25.45cqw;
  right: 0;
  bottom: 4.93cqw;
}
.top-intro__deco.--beaver_l {
  width: 21.92cqw;
  bottom: 1.8cqw;
  left: 3.86cqw;
}
.top-intro__deco.--beaver_r {
  width: 16.75cqw;
  right: 9.36cqw;
  bottom: 0;
}
.top-intro__contents {
  position: relative;
  z-index: 10;
  padding-bottom: 5.42cqw;
  filter: drop-shadow(0.66cqw 0.66cqw 1.07cqw rgba(0, 0, 0, 0.2));
}
.top-intro__block {
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.top-intro__block__fukidashi {
  width: 39.82cqw;
}
.top-intro__block__fukidashi::before {
  content: "";
  display: block;
  width: 17.24cqw;
  height: 3.94cqw;
  background: url("../images/intro_shine.svg") center center/contain no-repeat;
  margin-inline: auto;
}
.top-intro__block__deco {
  width: 7.48cqw;
}
.top-intro__ttl {
  width: 70cqw;
  margin-inline: auto;
  margin-top: 1.23cqw;
}
.top-intro__schedule {
  width: 68.72cqw;
  margin-inline: auto;
  margin-top: -2.46cqw;
  position: relative;
  z-index: 20;
}
.top-intro__txt {
  text-align: center;
  margin-top: 2.46cqw;
  font-size: clamp(1rem, -0.5135rem + 2.7027vw, 1.75rem);
  font-weight: 700;
  letter-spacing: 0.12em;
}

.top-map {
  margin-top: 100px;
}
@media all and (max-width: 896px) {
  .top-map {
    margin-top: 50px;
  }
}
.top-map__contents {
  max-width: 800px;
  margin-inline: auto;
}
.top-map__contents img {
  width: 100%;
  max-width: none;
}
.top-map__contents svg {
  width: 100%;
  height: auto;
}
.top-map__inner {
  margin-top: 32px;
}
@media all and (max-width: 896px) {
  .top-map__inner {
    margin-top: 24px;
  }
}
.top-map__block {
  filter: drop-shadow(4px 4px 8px rgba(0, 0, 0, 0.2));
}
@media all and (max-width: 896px) {
  .top-map__block {
    filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.2));
  }
}
.top-map__fukidashi {
  text-align: center;
  font-size: clamp(1.125rem, 0.3682rem + 1.3514vw, 1.5rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #00AEA9;
  padding: 0.8em;
  border-radius: 9999px;
  background: #fff;
  max-width: 500px;
  margin-inline: auto;
  position: relative;
}
@media all and (max-width: 896px) {
  .top-map__fukidashi {
    max-width: 400px;
  }
}
.top-map__fukidashi::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 12px 20px 12px;
  border-color: transparent transparent #fff transparent;
  position: absolute;
  top: -18px;
  left: 50%;
  translate: -50% 0;
}
@media all and (max-width: 896px) {
  .top-map__fukidashi::before {
    border-width: 0 10px 18px 10px;
    top: -16px;
  }
}
.top-map__note {
  font-weight: 500;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  text-indent: -1em;
  padding-left: 1em;
  margin-inline: auto;
  margin-top: 24px;
}
@media all and (max-width: 896px) {
  .top-map__note {
    margin-top: 16px;
  }
}

.top-movie {
  margin-top: 120px;
}
@media all and (max-width: 896px) {
  .top-movie {
    margin-top: 64px;
  }
}
.top-movie__container {
  overflow: hidden;
  background: url("../images/bg_board.jpg") top center/100% auto repeat-y;
  padding: 3cqw;
  border-radius: 24px;
}
@media all and (max-width: 896px) {
  .top-movie__container {
    padding: 16px;
    border-radius: 8px;
  }
}
.top-movie__container iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 16/9;
  border-radius: 8px;
}
.top-movie__stump {
  text-align: center;
}
.top-movie__stump img {
  width: 15.15cqw;
}
@media all and (max-width: 896px) {
  .top-movie__stump img {
    width: 16cqw;
  }
}

.top-about {
  margin-top: 298px;
}
@media all and (max-width: 896px) {
  .top-about {
    margin-top: 420px;
  }
}
.top-about__separate img {
  width: 100%;
  max-width: none;
}
.top-about__wrapper {
  background: #00AEA9;
  padding-bottom: calc(56px + 18.23vw);
  margin-top: -0.52vw;
  position: relative;
}
@media all and (max-width: 480px) {
  .top-about__wrapper {
    padding-bottom: calc(32px + 40vw);
  }
}
.top-about__bg {
  width: 143.23vw;
  max-width: 2750px;
  mix-blend-mode: lighten;
  position: absolute;
  top: -17.71vw;
  left: -18.9vw;
}
.top-about__container {
  position: relative;
  z-index: 10;
}
.top-about__inner {
  margin-top: calc(-200px - 18.23vw);
}
@media all and (max-width: 896px) {
  .top-about__inner {
    margin-top: calc(-380px - 18.23vw);
  }
}
@media all and (max-width: 480px) {
  .top-about__inner {
    margin-top: calc(-380px - 40vw);
  }
}
.top-about__contents {
  padding-top: 6.27cqw;
  position: relative;
}
@media all and (max-width: 896px) {
  .top-about__contents {
    padding-top: 10cqw;
  }
}
@media all and (max-width: 480px) {
  .top-about__contents {
    padding-top: 15.65cqw;
  }
}
.top-about__ttl {
  width: 36.94cqw;
  position: absolute;
  top: 0;
  left: 0;
}
@media all and (max-width: 896px) {
  .top-about__ttl {
    width: 54cqw;
  }
}
@media all and (max-width: 480px) {
  .top-about__ttl {
    width: 74.93cqw;
    left: 12.535cqw;
  }
}
.top-about__item {
  display: flex;
  gap: 20px 3cqw;
  background: #fff;
  padding: 5.97cqw;
  border-radius: 24px;
}
@media all and (max-width: 896px) {
  .top-about__item {
    flex-direction: column;
    padding: 30px;
  }
}
@media all and (max-width: 480px) {
  .top-about__item {
    padding: 20px;
  }
}
.top-about__img {
  flex-shrink: 0;
  width: 55.93%;
}
@media all and (max-width: 896px) {
  .top-about__img {
    width: 100%;
    max-width: 400px;
    margin-inline: auto;
  }
}
.top-about__img img {
  width: 100%;
  max-width: none;
  border-radius: 8px;
}
.top-about__block {
  flex-grow: 1;
}
.top-about__list {
  border: 2px solid #603400;
  border-radius: 8px;
  overflow: hidden;
}
.top-about__list__item {
  display: flex;
  font-size: clamp(0.875rem, 0.3705rem + 0.9009vw, 1.125rem);
}
@media all and (max-width: 480px) {
  .top-about__list__item {
    flex-direction: column;
  }
}
.top-about__list__item:last-of-type > dt, .top-about__list__item:last-of-type > dd {
  border-bottom: none;
}
.top-about__list__item > dt {
  text-align: center;
  flex-shrink: 0;
  padding: 0.8em;
  width: 6.11em;
  background: #603400;
  color: #fff;
  border-bottom: 2px solid #fff;
}
@media all and (max-width: 480px) {
  .top-about__list__item > dt {
    width: 100%;
  }
}
.top-about__list__item > dd {
  flex-grow: 1;
  padding: 0.8em;
  background: #fff;
  border-bottom: 2px solid #603400;
}
@media all and (max-width: 480px) {
  .top-about__list__item > dd {
    width: 100%;
    text-align: center;
  }
}

.top-detail {
  margin-top: 100px;
}
@media all and (max-width: 896px) {
  .top-detail {
    margin-top: 64px;
  }
}
.top-detail__container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6cqw 3cqw;
  margin-top: 64px;
}
@media all and (max-width: 896px) {
  .top-detail__container {
    margin-top: 20px;
  }
}
@media all and (max-width: 480px) {
  .top-detail__container {
    grid-template-columns: repeat(1, 1fr);
    gap: 40px;
  }
}
.top-detail__item {
  position: relative;
}
.top-detail__item::before {
  content: "";
  display: block;
  width: 100%;
  height: calc(100% - 27.76cqw);
  background: #603400;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media all and (max-width: 480px) {
  .top-detail__item::before {
    content: none;
  }
}
.top-detail__wrap {
  position: relative;
  z-index: 10;
}
.top-detail__point {
  width: 11.94cqw;
  position: absolute;
  top: 0;
  left: 0;
}
@media all and (max-width: 480px) {
  .top-detail__point {
    width: 31.88cqw;
  }
}
.top-detail__img img {
  width: 100%;
  max-width: none;
}
.top-detail__contents {
  padding: 0 3cqw 3cqw;
  background: #603400;
  color: #fff;
  padding-top: 12px;
}
.top-detail__ttl {
  text-align: center;
  font-size: clamp(1.375rem, -0.8953rem + 4.0541vw, 2.5rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.top-detail__txt {
  font-size: clamp(0.9375rem, 0.5591rem + 0.6757vw, 1.125rem);
  margin-top: 12px;
}

.top-facility {
  margin-top: -18.23vw;
  padding-bottom: 18.23vw;
  position: relative;
}
@media all and (max-width: 480px) {
  .top-facility {
    margin-top: -40vw;
    padding-bottom: 40vw;
  }
}
.top-facility__separate {
  position: relative;
}
.top-facility__separate img {
  width: 100%;
  max-width: none;
}
.top-facility__beaver {
  width: min(17.14vw, 329px);
  position: absolute;
  top: 6.5vw;
  left: 8.44vw;
}
@media all and (max-width: 480px) {
  .top-facility__beaver {
    width: min(53.6vw, 201px);
    top: 11.2vw;
    left: 8.8vw;
  }
}
.top-facility__wrapper {
  background: #F6F2E3;
  margin-top: -0.52vw;
}
.top-facility__wrap {
  max-width: 1720px;
}
.top-facility__container {
  position: relative;
}
.top-facility__bg {
  filter: drop-shadow(8px 8px 20px rgba(0, 0, 0, 0.2));
}
@media all and (max-width: 896px) {
  .top-facility__bg {
    filter: drop-shadow(4px 4px 10px rgba(0, 0, 0, 0.2));
  }
}
.top-facility__bg img {
  width: 100%;
  max-width: none;
}
.top-facility__inner {
  width: 85%;
  max-width: 720px;
  height: 100%;
  position: absolute;
  top: 5%;
  left: 50%;
  translate: -50% 0;
}
.top-facility__contents {
  filter: drop-shadow(10px 10px 16px rgba(0, 0, 0, 0.35));
}
@media all and (max-width: 896px) {
  .top-facility__contents {
    filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.35));
  }
}
.top-facility__contents .common-ttl {
  margin-top: -2cqw;
}
.top-facility__fukidashi {
  width: 17.44cqw;
  margin-top: 3cqw;
}
@media all and (max-width: 600px) {
  .top-facility__fukidashi {
    width: 63.77cqw;
    max-width: 220px;
    margin-top: 9.28cqw;
    margin-inline: auto;
    margin-bottom: 20px;
  }
}
.top-facility__txt {
  text-align: center;
  font-size: clamp(0.875rem, 0.1182rem + 1.3514vw, 1.25rem);
  font-weight: 700;
  line-height: 2;
  text-shadow: -6px -2px 0 #fff, -6px -1px 0 #fff, -6px 0 0 #fff, -6px 1px 0 #fff, -6px 2px 0 #fff, -5px -4px 0 #fff, -5px -3px 0 #fff, -5px -2px 0 #fff, -5px -1px 0 #fff, -5px 0 0 #fff, -5px 1px 0 #fff, -5px 2px 0 #fff, -5px 3px 0 #fff, -5px 4px 0 #fff, -4px -5px 0 #fff, -4px -4px 0 #fff, -4px -3px 0 #fff, -4px -2px 0 #fff, -4px -1px 0 #fff, -4px 0 0 #fff, -4px 1px 0 #fff, -4px 2px 0 #fff, -4px 3px 0 #fff, -4px 4px 0 #fff, -4px 5px 0 #fff, -3px -5px 0 #fff, -3px -4px 0 #fff, -3px -3px 0 #fff, -3px -2px 0 #fff, -3px -1px 0 #fff, -3px 0 0 #fff, -3px 1px 0 #fff, -3px 2px 0 #fff, -3px 3px 0 #fff, -3px 4px 0 #fff, -3px 5px 0 #fff, -2px -6px 0 #fff, -2px -5px 0 #fff, -2px -4px 0 #fff, -2px -3px 0 #fff, -2px -2px 0 #fff, -2px -1px 0 #fff, -2px 0 0 #fff, -2px 1px 0 #fff, -2px 2px 0 #fff, -2px 3px 0 #fff, -2px 4px 0 #fff, -2px 5px 0 #fff, -2px 6px 0 #fff, -1px -6px 0 #fff, -1px -5px 0 #fff, -1px -4px 0 #fff, -1px -3px 0 #fff, -1px -2px 0 #fff, -1px -1px 0 #fff, -1px 0 0 #fff, -1px 1px 0 #fff, -1px 2px 0 #fff, -1px 3px 0 #fff, -1px 4px 0 #fff, -1px 5px 0 #fff, -1px 6px 0 #fff, 0 -6px 0 #fff, 0 -5px 0 #fff, 0 -4px 0 #fff, 0 -3px 0 #fff, 0 -2px 0 #fff, 0 -1px 0 #fff, 0 0 0 #fff, 0 1px 0 #fff, 0 2px 0 #fff, 0 3px 0 #fff, 0 4px 0 #fff, 0 5px 0 #fff, 0 6px 0 #fff, 1px -6px 0 #fff, 1px -5px 0 #fff, 1px -4px 0 #fff, 1px -3px 0 #fff, 1px -2px 0 #fff, 1px -1px 0 #fff, 1px 0 0 #fff, 1px 1px 0 #fff, 1px 2px 0 #fff, 1px 3px 0 #fff, 1px 4px 0 #fff, 1px 5px 0 #fff, 1px 6px 0 #fff, 2px -6px 0 #fff, 2px -5px 0 #fff, 2px -4px 0 #fff, 2px -3px 0 #fff, 2px -2px 0 #fff, 2px -1px 0 #fff, 2px 0 0 #fff, 2px 1px 0 #fff, 2px 2px 0 #fff, 2px 3px 0 #fff, 2px 4px 0 #fff, 2px 5px 0 #fff, 2px 6px 0 #fff, 3px -5px 0 #fff, 3px -4px 0 #fff, 3px -3px 0 #fff, 3px -2px 0 #fff, 3px -1px 0 #fff, 3px 0 0 #fff, 3px 1px 0 #fff, 3px 2px 0 #fff, 3px 3px 0 #fff, 3px 4px 0 #fff, 3px 5px 0 #fff, 4px -5px 0 #fff, 4px -4px 0 #fff, 4px -3px 0 #fff, 4px -2px 0 #fff, 4px -1px 0 #fff, 4px 0 0 #fff, 4px 1px 0 #fff, 4px 2px 0 #fff, 4px 3px 0 #fff, 4px 4px 0 #fff, 4px 5px 0 #fff, 5px -4px 0 #fff, 5px -3px 0 #fff, 5px -2px 0 #fff, 5px -1px 0 #fff, 5px 0 0 #fff, 5px 1px 0 #fff, 5px 2px 0 #fff, 5px 3px 0 #fff, 5px 4px 0 #fff, 6px -2px 0 #fff, 6px -1px 0 #fff, 6px 0 0 #fff, 6px 1px 0 #fff, 6px 2px 0 #fff;
  margin-top: 1.8cqw;
}
@media all and (max-width: 896px) {
  .top-facility__txt {
    text-shadow: -4px -2px 0 #fff, -4px -1px 0 #fff, -4px 0 0 #fff, -4px 1px 0 #fff, -4px 2px 0 #fff, -3px -3px 0 #fff, -3px -2px 0 #fff, -3px -1px 0 #fff, -3px 0 0 #fff, -3px 1px 0 #fff, -3px 2px 0 #fff, -3px 3px 0 #fff, -2px -4px 0 #fff, -2px -3px 0 #fff, -2px -2px 0 #fff, -2px -1px 0 #fff, -2px 0 0 #fff, -2px 1px 0 #fff, -2px 2px 0 #fff, -2px 3px 0 #fff, -2px 4px 0 #fff, -1px -4px 0 #fff, -1px -3px 0 #fff, -1px -2px 0 #fff, -1px -1px 0 #fff, -1px 0 0 #fff, -1px 1px 0 #fff, -1px 2px 0 #fff, -1px 3px 0 #fff, -1px 4px 0 #fff, 0 -4px 0 #fff, 0 -3px 0 #fff, 0 -2px 0 #fff, 0 -1px 0 #fff, 0 0 0 #fff, 0 1px 0 #fff, 0 2px 0 #fff, 0 3px 0 #fff, 0 4px 0 #fff, 1px -4px 0 #fff, 1px -3px 0 #fff, 1px -2px 0 #fff, 1px -1px 0 #fff, 1px 0 0 #fff, 1px 1px 0 #fff, 1px 2px 0 #fff, 1px 3px 0 #fff, 1px 4px 0 #fff, 2px -4px 0 #fff, 2px -3px 0 #fff, 2px -2px 0 #fff, 2px -1px 0 #fff, 2px 0 0 #fff, 2px 1px 0 #fff, 2px 2px 0 #fff, 2px 3px 0 #fff, 2px 4px 0 #fff, 3px -3px 0 #fff, 3px -2px 0 #fff, 3px -1px 0 #fff, 3px 0 0 #fff, 3px 1px 0 #fff, 3px 2px 0 #fff, 3px 3px 0 #fff, 4px -2px 0 #fff, 4px -1px 0 #fff, 4px 0 0 #fff, 4px 1px 0 #fff, 4px 2px 0 #fff;
  }
}
@media all and (max-width: 600px) {
  .top-facility__txt {
    margin-top: 4cqw;
  }
}
.top-facility__slide {
  margin-top: 80px;
  margin-inline: auto;
  padding-inline: 78px;
  padding-bottom: 54px;
  max-width: 1500px;
}
@media all and (max-width: 1025px) {
  .top-facility__slide {
    padding-inline: 40px;
  }
}
@media all and (max-width: 896px) {
  .top-facility__slide {
    margin-top: 40px;
    padding-bottom: 40px;
  }
}
@media all and (max-width: 480px) {
  .top-facility__slide {
    padding-inline: 0;
  }
}
.top-facility__slide__item {
  padding: 24px;
  border-radius: 16px;
  background: url("../images/bg_board.jpg") top center/100% auto repeat-y;
  overflow: hidden;
}
@media all and (max-width: 896px) {
  .top-facility__slide__item {
    padding: 16px;
  }
}
.top-facility__slide__img img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 382/237;
  border-radius: 8px;
}
.top-facility__slide__txt {
  text-align: center;
  font-size: clamp(0.9375rem, 0.5591rem + 0.6757vw, 1.125rem);
  font-weight: 500;
  line-height: 2;
  margin-top: 16px;
}
.top-facility__slide .splide__arrow {
  border-radius: 0;
  opacity: 1;
  width: 56px;
  height: 56px;
  background: url("../images/slide_arrow_left.svg") center center/contain no-repeat;
}
@media all and (max-width: 1025px) {
  .top-facility__slide .splide__arrow {
    width: 32px;
    height: 32px;
  }
}
@media all and (max-width: 480px) {
  .top-facility__slide .splide__arrow {
    width: 30px;
    height: 60px;
    background-image: url("../images/slide_arrow_left_sp.svg");
  }
}
.top-facility__slide .splide__arrow svg {
  display: none;
}
.top-facility__slide .splide__arrow--prev {
  left: -78px;
}
@media all and (max-width: 1025px) {
  .top-facility__slide .splide__arrow--prev {
    left: -40px;
  }
}
@media all and (max-width: 480px) {
  .top-facility__slide .splide__arrow--prev {
    left: -15px;
  }
}
.top-facility__slide .splide__arrow--next {
  right: -78px;
  background-image: url("../images/slide_arrow_right.svg");
}
@media all and (max-width: 1025px) {
  .top-facility__slide .splide__arrow--next {
    right: -40px;
  }
}
@media all and (max-width: 480px) {
  .top-facility__slide .splide__arrow--next {
    background-image: url("../images/slide_arrow_right_sp.svg");
    right: -15px;
  }
}
.top-facility__slide .splide__pagination {
  bottom: -60px;
}
@media all and (max-width: 896px) {
  .top-facility__slide .splide__pagination {
    bottom: -45px;
  }
}
.top-facility__slide .splide__pagination__page {
  width: 18px;
  height: 18px;
  border: 2px solid #603400;
  background: transparent;
  opacity: 1;
  margin: 8px;
  transform: scale(1);
}
@media all and (max-width: 896px) {
  .top-facility__slide .splide__pagination__page {
    width: 12px;
    height: 12px;
    margin: 6px;
  }
}
.top-facility__slide .splide__pagination__page.is-active {
  background: #603400;
}

.top-animal {
  max-width: 1340px;
  margin-inline: auto;
  margin-top: 80px;
  container-type: inline-size;
}
@media all and (max-width: 896px) {
  .top-animal {
    margin-top: 40px;
  }
}
.top-animal__container {
  padding: 6cqw;
  background: #FCFBF7;
  border-radius: 24px;
  overflow: hidden;
  position: relative;
}
@media all and (max-width: 896px) {
  .top-animal__container {
    border-radius: 16px;
  }
}
.top-animal__bg01 {
  width: 31.49cqw;
  position: absolute;
  top: 0;
  right: 0;
}
@media all and (max-width: 896px) {
  .top-animal__bg01 {
    width: 55.07cqw;
    right: auto;
    left: 0;
  }
}
.top-animal__bg02 {
  width: 39.03cqw;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media all and (max-width: 896px) {
  .top-animal__bg02 {
    width: 51.78cqw;
    left: auto;
    right: 0;
  }
}
.top-animal__inner {
  display: flex;
  gap: 4.18cqw;
  position: relative;
  z-index: 10;
}
@media all and (max-width: 896px) {
  .top-animal__inner {
    flex-direction: column;
    gap: 0;
  }
}
.top-animal__block {
  flex-grow: 1;
}
@media all and (max-width: 896px) {
  .top-animal__block {
    display: contents;
    width: 100%;
  }
}
.top-animal__ttl {
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  font-size: clamp(1rem, -1.018rem + 3.6036vw, 2rem);
  font-weight: 900;
  color: #00AEA9;
}
@media all and (max-width: 896px) {
  .top-animal__ttl {
    text-align: center;
  }
}
.top-animal__ttl > span {
  display: block;
}
.top-animal__ttl .ttl_large {
  font-size: 1.75em;
}
.top-animal__txt {
  font-size: clamp(0.9375rem, 0.5591rem + 0.6757vw, 1.125rem);
  font-weight: 500;
  line-height: 2;
  margin-top: 1.8cqw;
}
.top-animal__detail {
  flex-shrink: 0;
  width: 48.88cqw;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
@media all and (max-width: 896px) {
  .top-animal__detail {
    width: 100%;
    gap: 8px;
    margin-top: 24px;
  }
}
.top-animal__detail__item {
  position: relative;
}
.top-animal__detail__item img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 320/190;
  border-radius: 8px;
}
@media all and (max-width: 896px) {
  .top-animal__detail__item img {
    aspect-ratio: 1/1;
  }
}
.top-animal__detail__name {
  text-align: center;
  width: calc(100% - 10px);
  max-width: 200px;
  padding: 0.15em;
  background: #00AEA9;
  color: #fff;
  font-size: clamp(0.8rem, 0.3rem + 0.5vw, 1.0rem);
  font-weight: 700;
  border: 2px solid #fff;
  border-radius: 9999px;
  position: absolute;
  bottom: 10px;
  left: 50%;
  translate: -50% 0;
}
@media all and (max-width: 896px) {
  .top-animal__detail__name {
    bottom: 5px;
  }
}
.top-animal .common-btn {
  margin-top: 32px;
}
@media all and (max-width: 896px) {
  .top-animal .common-btn {
    margin-top: 20px;
    order: 1;
  }
}

.top-info {
  margin-top: -18.23vw;
}
@media all and (max-width: 480px) {
  .top-info {
    margin-top: -40vw;
  }
}
.top-info__separate {
  position: relative;
}
.top-info__separate img {
  width: 100%;
  max-width: none;
}
.top-info__beaver {
  width: min(15.16vw, 291px);
  position: absolute;
  top: 1.56vw;
  right: 7.45vw;
}
@media all and (max-width: 480px) {
  .top-info__beaver {
    width: min(45.87vw, 172px);
    top: 11.2vw;
    right: -0.21vw;
  }
}
.top-info__wrapper {
  position: relative;
  background: #00AEA9;
  margin-top: -0.52vw;
  padding-bottom: calc(56px + 16.4vw);
}
@media all and (max-width: 896px) {
  .top-info__wrapper {
    padding-bottom: calc(80px + 16.4vw);
  }
}
@media all and (max-width: 480px) {
  .top-info__wrapper {
    padding-bottom: calc(80px + 40vw);
  }
}
.top-info__bg01 {
  width: 114.53vw;
  max-width: 2199px;
  mix-blend-mode: lighten;
  position: absolute;
  top: -17.71vw;
  right: 3.65vw;
}
.top-info__bg02 {
  width: 163.44vw;
  max-width: 3000px;
  mix-blend-mode: lighten;
  position: absolute;
  bottom: -12vw;
  left: -22.19vw;
}

.top-ticket__wrapper {
  position: relative;
  z-index: 10;
}
.top-ticket__container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3cqw;
  margin-top: 72px;
}
@media all and (max-width: 896px) {
  .top-ticket__container {
    grid-template-columns: repeat(1, 1fr);
    gap: 40px;
    margin-top: 24px;
  }
}
.top-ticket__item {
  padding: 3cqw;
  background: #fff;
  border-radius: 24px;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 0;
}
@media all and (max-width: 896px) {
  .top-ticket__item {
    padding: 30px;
  }
}
@media all and (max-width: 480px) {
  .top-ticket__item {
    padding: 20px;
  }
}
.top-ticket__img img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 570/354;
  border-radius: 8px;
}
.top-ticket__ttl {
  font-size: clamp(1.25rem, 0.241rem + 1.8018vw, 1.75rem);
  font-weight: 700;
  line-height: 1.4;
  color: #DD6A18;
  margin-top: 16px;
}
.top-ticket__list {
  margin-top: 16px;
}
.top-ticket__list__item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 12px;
}
@media all and (max-width: 896px) {
  .top-ticket__list__item {
    flex-direction: column;
  }
}
.top-ticket__list__item:first-child {
  margin-top: 0;
}
.top-ticket__list__item > dt {
  flex-shrink: 0;
  text-align: center;
  padding: 0.4em;
  border-radius: 9999px;
  width: 8.25em;
  background: #00AEA9;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.08em;
}
@media all and (max-width: 896px) {
  .top-ticket__list__item > dt {
    width: 100%;
  }
}
.top-ticket__list__item > dd {
  flex-grow: 1;
  padding-top: 0.2em;
  font-weight: 500;
  line-height: 2;
}
@media all and (max-width: 896px) {
  .top-ticket__list__item > dd {
    padding-top: 0;
  }
}
.top-ticket__detail__item {
  display: flex;
  flex-wrap: wrap;
  gap: 0 0.5em;
}
.top-ticket__detail__item > dt {
  flex-shrink: 0;
  width: 8em;
  padding-right: 0.8em;
  position: relative;
}
.top-ticket__detail__item > dt::after {
  content: ":";
  position: absolute;
  top: 0;
  right: 0;
}
.top-ticket__detail__item > dd {
  flex-grow: 1;
}
.top-ticket .common-btn {
  margin-top: 24px;
}
@media all and (max-width: 896px) {
  .top-ticket .common-btn {
    margin-top: 16px;
  }
}

.top-goods {
  margin-top: 160px;
}
@media all and (max-width: 896px) {
  .top-goods {
    margin-top: 64px;
  }
}
.top-goods__wrapper {
  max-width: 1500px;
  position: relative;
  z-index: 10;
}
.top-goods__slide {
  margin-top: 40px;
  padding-bottom: 54px;
  padding-inline: 78px;
}
@media all and (max-width: 1025px) {
  .top-goods__slide {
    padding-inline: 40px;
  }
}
@media all and (max-width: 896px) {
  .top-goods__slide {
    margin-top: 32px;
    padding-bottom: 40px;
  }
}
@media all and (max-width: 480px) {
  .top-goods__slide {
    padding-inline: 0;
  }
}
.top-goods__slide__item {
  padding: 2.67cqw;
  background: #fff;
  border-radius: 8px;
}
@media all and (max-width: 896px) {
  .top-goods__slide__item {
    padding: 30px;
  }
}
@media all and (max-width: 480px) {
  .top-goods__slide__item {
    padding: 20px;
  }
}
.top-goods__slide__img img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 340/210;
  border-radius: 8px;
}
.top-goods__slide__ttl {
  font-size: clamp(1.25rem, 0.241rem + 1.8018vw, 1.75rem);
  font-weight: 700;
  line-height: 1.4;
  color: #DD6A18;
  margin-top: 16px;
}
.top-goods__slide__txt {
  font-weight: 500;
  line-height: 2;
  margin-top: 12px;
}
.top-goods__slide__detail {
  margin-top: 12px;
}
.top-goods__slide__detail__item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 12px;
}
.top-goods__slide__detail__item:first-child {
  margin-top: 0;
}
.top-goods__slide__detail__item > dt {
  flex-shrink: 0;
  text-align: center;
  padding: 0.4em;
  border-radius: 9999px;
  width: 6.25em;
  background: #00AEA9;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.08em;
}
.top-goods__slide__detail__item > dd {
  flex-grow: 1;
  padding-top: 0.2em;
  font-weight: 500;
  line-height: 2;
}
.top-goods__slide .splide__arrow {
  border-radius: 0;
  opacity: 1;
  width: 56px;
  height: 56px;
  background: url("../images/slide_arrow_left_white.svg") center center/contain no-repeat;
}
@media all and (max-width: 1025px) {
  .top-goods__slide .splide__arrow {
    width: 32px;
    height: 32px;
  }
}
@media all and (max-width: 480px) {
  .top-goods__slide .splide__arrow {
    width: 30px;
    height: 60px;
    background-image: url("../images/slide_arrow_left_green_sp.svg");
  }
}
.top-goods__slide .splide__arrow svg {
  display: none;
}
.top-goods__slide .splide__arrow--prev {
  left: -78px;
}
@media all and (max-width: 1025px) {
  .top-goods__slide .splide__arrow--prev {
    left: -40px;
  }
}
@media all and (max-width: 480px) {
  .top-goods__slide .splide__arrow--prev {
    left: -15px;
  }
}
.top-goods__slide .splide__arrow--next {
  right: -78px;
  background-image: url("../images/slide_arrow_right_white.svg");
}
@media all and (max-width: 1025px) {
  .top-goods__slide .splide__arrow--next {
    right: -40px;
  }
}
@media all and (max-width: 480px) {
  .top-goods__slide .splide__arrow--next {
    background-image: url("../images/slide_arrow_right_green_sp.svg");
    right: -15px;
  }
}
.top-goods__slide .splide__pagination {
  bottom: -60px;
}
@media all and (max-width: 896px) {
  .top-goods__slide .splide__pagination {
    bottom: -45px;
  }
}
.top-goods__slide .splide__pagination__page {
  width: 18px;
  height: 18px;
  border: 2px solid #fff;
  background: transparent;
  opacity: 1;
  margin: 8px;
  transform: scale(1);
}
@media all and (max-width: 896px) {
  .top-goods__slide .splide__pagination__page {
    width: 12px;
    height: 12px;
    margin: 6px;
  }
}
.top-goods__slide .splide__pagination__page.is-active {
  background: #fff;
}

.top-event {
  margin-top: 160px;
}
@media all and (max-width: 896px) {
  .top-event {
    margin-top: 64px;
  }
}
.top-event__wrapper {
  position: relative;
  z-index: 10;
}
.top-event__container {
  margin-top: 64px;
  padding: 3cqw;
  background: #fff;
  border-radius: 8px;
  display: flex;
  gap: 24px;
}
@media all and (max-width: 896px) {
  .top-event__container {
    margin-top: 32px;
    padding: 30px;
    flex-direction: column;
    gap: 16px;
  }
}
@media all and (max-width: 480px) {
  .top-event__container {
    padding: 20px;
  }
}
.top-event__img {
  flex-shrink: 0;
  width: 46.12cqw;
}
@media all and (max-width: 896px) {
  .top-event__img {
    width: 100%;
  }
}
.top-event__img img {
  width: 100%;
  max-width: none;
  border-radius: 8px;
}
.top-event__ttl {
  font-size: clamp(1.25rem, 0.241rem + 1.8018vw, 1.75rem);
  font-weight: 700;
  line-height: 1.4;
  color: #DD6A18;
}
.top-event__txt {
  font-weight: 500;
  line-height: 2;
  margin-top: 16px;
}
@media all and (max-width: 896px) {
  .top-event__txt {
    margin-top: 12px;
  }
}
.top-event__detail {
  margin-top: 20px;
}
@media all and (max-width: 896px) {
  .top-event__detail {
    margin-top: 16px;
  }
}
.top-event__detail__item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 12px;
}
.top-event__detail__item:first-child {
  margin-top: 0;
}
.top-event__detail__item > dt {
  flex-shrink: 0;
  text-align: center;
  padding: 0.4em;
  border-radius: 9999px;
  width: 6.25em;
  background: #00AEA9;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.08em;
}
.top-event__detail__item > dd {
  padding-top: 0.2em;
  flex-grow: 1;
  font-weight: 500;
  line-height: 2;
}

.top-program {
  margin-top: 160px;
}
@media all and (max-width: 896px) {
  .top-program {
    margin-top: 80px;
  }
}
.top-program__wrapper {
  position: relative;
  z-index: 10;
}
.top-program__slide {
  margin-top: 40px;
}
@media all and (max-width: 896px) {
  .top-program__slide {
    margin-top: 32px;
    padding-bottom: 40px;
    padding-inline: 40px;
  }
}
@media all and (max-width: 480px) {
  .top-program__slide {
    padding-inline: 0;
  }
}
.top-program__container {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 3cqw;
}
@media all and (max-width: 1025px) {
  .top-program__container {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 896px) {
  .top-program__container {
    display: flex !important;
    gap: 0;
  }
}
.top-program__item {
  border-radius: 8px;
  padding: 3cqw;
  background: #fff;
  display: inherit;
  grid-template-rows: inherit;
  grid-row: inherit;
  gap: inherit;
  height: 100%;
}
@media all and (max-width: 896px) {
  .top-program__item {
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
}
@media all and (max-width: 480px) {
  .top-program__item {
    padding: 20px;
  }
}
.top-program__img img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 340/210;
  border-radius: 8px;
}
.top-program__contents > *:first-child {
  margin-top: 0;
}
.top-program__category {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 10px 4px;
  font-size: clamp(0.75rem, 0.4977rem + 0.4505vw, 0.875rem);
  font-weight: 500;
  margin-top: 12px;
}
.top-program__category > li {
  padding: 0.4em 1em;
  border-radius: 9999px;
  background: #00AEA9;
  color: #fff;
}
.top-program__ttl {
  font-size: clamp(1.25rem, 0.241rem + 1.8018vw, 1.75rem);
  font-weight: 700;
  line-height: 1.4;
  color: #DD6A18;
  margin-top: 16px;
}
.top-program__txt {
  font-weight: 500;
  line-height: 2;
  margin-top: 12px;
}
.top-program .common-btn {
  margin-top: 24px;
}
.top-program .splide {
  visibility: visible;
}
.top-program .splide__slide {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
}
@media all and (max-width: 896px) {
  .top-program .splide__slide {
    display: block;
  }
}
@media all and (max-width: 896px) {
  .top-program .splide__arrow {
    border-radius: 0;
    opacity: 1;
    background: url("../images/slide_arrow_left_white.svg") center center/contain no-repeat;
    width: 32px;
    height: 32px;
  }
}
@media all and (max-width: 480px) {
  .top-program .splide__arrow {
    width: 30px;
    height: 60px;
    background-image: url("../images/slide_arrow_left_green_sp.svg");
  }
}
.top-program .splide__arrow svg {
  display: none;
}
@media all and (max-width: 896px) {
  .top-program .splide__arrow--prev {
    left: -40px;
  }
}
@media all and (max-width: 480px) {
  .top-program .splide__arrow--prev {
    left: -15px;
  }
}
@media all and (max-width: 896px) {
  .top-program .splide__arrow--next {
    background-image: url("../images/slide_arrow_right_white.svg");
    right: -40px;
  }
}
@media all and (max-width: 480px) {
  .top-program .splide__arrow--next {
    background-image: url("../images/slide_arrow_right_green_sp.svg");
    right: -15px;
  }
}
@media all and (max-width: 896px) {
  .top-program .splide__pagination {
    bottom: -45px;
  }
}
@media all and (max-width: 896px) {
  .top-program .splide__pagination__page {
    width: 12px;
    height: 12px;
    border: 2px solid #fff;
    background: transparent;
    opacity: 1;
    margin: 6px;
    transform: scale(1);
  }
}
.top-program .splide__pagination__page.is-active {
  background: #fff;
}