/* color */
/* ============================================ */
/* font-size */
/* ============================================ */
/* font */
/* ============================================ */
/* top */
/* ============================================ */
.top-mainvisual {
  max-width: 1920px;
  margin-inline: auto;
}
.top-mainvisual__ttl img {
  width: 100%;
  max-width: none;
}
.top-mainvisual__wrapper {
  position: relative;
}
.top-mainvisual__wrapper button {
  position: fixed;
  right: 15px;
  bottom: 75px;
  width: 61px;
  height: 61px;
  aspect-ratio: 1/1;
  border-radius: 100vmax;
  background: #FB9F0B;
  border: 3px solid #fff;
  filter: drop-shadow(4px 4px 10px rgba(0, 0, 0, 0.2));
  display: grid;
  place-content: center;
  transition: 0.5s;
  z-index: 1000;
}
.top-mainvisual__wrapper button:hover {
  background: #DD6A18;
}
.top-mainvisual__wrapper button img {
  width: 36px;
}

#toggle-audio.is-muted img {
  content: url("../images/icon_music_off.svg");
}

#toggle-audio.is-playing img {
  content: url("../images/icon_music_on.svg");
}

#player {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.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: -5cqw;
  bottom: 4.93cqw;
}
.top-intro__deco.--tree_r {
  width: 25.45cqw;
  right: -5cqw;
  bottom: 4.93cqw;
}
.top-intro__deco.--beaver_l {
  width: 21.92cqw;
  bottom: 1.8cqw;
  left: -1.14cqw;
}
.top-intro__deco.--beaver_r {
  width: 16.75cqw;
  right: 6.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;
  word-break: keep-all;
}
.top-intro__txt + .top-intro__txt {
  margin-top: 12px;
}
@media all and (max-width: 896px) {
  .top-intro__txt + .top-intro__txt {
    margin-top: 8px;
  }
}
.top-intro__about {
  position: relative;
  border-radius: 8px;
  background: #FFF;
  box-shadow: 4px 4px 10px 0 rgba(0, 0, 0, 0.08);
  padding: 30px 25px;
  margin: 40px auto 0;
  max-width: 1100px;
}
@media all and (max-width: 480px) {
  .top-intro__about {
    margin: 20px auto 0;
  }
}
.top-intro__about::before {
  position: absolute;
  content: "";
  left: 50%;
  transform: translateX(-50%);
  top: -26px;
  width: 30px;
  height: 27px;
  background-color: #ffffff;
  clip-path: polygon(50% 0%, 0% 27px, 30px 27px);
}
@media all and (max-width: 480px) {
  .top-intro__about::before {
    top: -17px;
    width: 20px;
    height: 18px;
    clip-path: polygon(50% 0%, 0% 18px, 20px 18px);
  }
}
.top-intro__about p {
  text-align: center;
  font-size: clamp(1rem, -0.009rem + 1.8vw, 1.5rem);
  letter-spacing: 0.8px;
  word-break: keep-all;
  line-height: 180%;
}
.top-intro__about p:first-child {
  color: #DD6A18;
  font-size: clamp(1.25rem, -0.264rem + 2.7vw, 2rem);
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 140%;
}
.top-intro__about p + p {
  margin-top: 10px;
}

.top-map {
  margin-top: 100px;
}
@media all and (max-width: 896px) {
  .top-map {
    margin-top: 50px;
  }
}
.top-map .top-facility__separate {
  margin-top: -19cqw;
}
@media all and (max-width: 480px) {
  .top-map .top-facility__separate {
    margin-top: -40cqw;
  }
}
.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__ttl {
  margin-bottom: 20px;
}
.top-map__info {
  padding: 16px;
  background: #fff;
  border: 2px solid #CF7AA5;
  border-radius: 8px;
  max-width: 800px;
  margin-inline: auto;
  margin-top: 32px;
}
@media all and (max-width: 896px) {
  .top-map__info {
    margin-top: 24px;
  }
}
.top-map__info__ttl {
  text-align: center;
  background: #CF7AA5;
  color: #fff;
  padding: 8px;
  font-size: clamp(1.125rem, 0.6205rem + 0.9009vw, 1.375rem);
  font-weight: 700;
}
.top-map__info__detail {
  font-size: clamp(1rem, 0.4955rem + 0.9009vw, 1.25rem);
  font-weight: 700;
  margin-top: 16px;
  margin-inline: auto;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
.top-map__info__detail__item {
  display: flex;
  margin-top: 0.2em;
}
@media all and (max-width: 480px) {
  .top-map__info__detail__item {
    flex-direction: column;
  }
}
.top-map__info__detail__item:first-of-type {
  margin-top: 0;
}
.top-map__info__detail__item dt {
  flex-shrink: 0;
}
.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-top: 40px;
  margin-inline: auto;
  position: relative;
}
@media all and (max-width: 896px) {
  .top-map__fukidashi {
    max-width: 400px;
    margin-top: 32px;
  }
}
.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 {
  margin-top: 20px;
  margin-inline: auto;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  font-weight: 500;
}
@media all and (max-width: 896px) {
  .top-map__note {
    margin-top: 16px;
  }
}
.top-map__note > li {
  text-indent: -1em;
  padding-left: 1em;
}

.top-movie {
  margin: 50px 0 0;
}
@media all and (max-width: 896px) {
  .top-movie {
    margin: 24px 0 100px;
  }
}
.top-movie__container {
  overflow: hidden;
  background: url("../images/bg_board.jpg") top center/100% auto repeat-y;
  padding: 3cqw;
  border-radius: 24px;
  max-width: 1100px;
  margin-inline: auto;
}
@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;
  max-width: 1920px;
  margin-inline: auto;
}
@media all and (max-width: 896px) {
  .top-about {
    margin-top: 420px;
  }
}
.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;
  border-radius: 0 0 20px 20px;
}
@media all and (max-width: 896px) {
  .top-detail__item::before {
    border-radius: 0 0 8px 8px;
  }
}
@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;
  border-radius: 0 0 20px 20px;
}
@media all and (max-width: 896px) {
  .top-detail__contents {
    border-radius: 0 0 8px 8px;
  }
}
@media all and (max-width: 480px) {
  .top-detail__contents {
    padding: 4cqw 6cqw 6cqw;
  }
}
.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;
  line-height: 1.8;
}

.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__container {
  position: relative;
  container-type: inline-size;
}
.top-facility__inner {
  position: relative;
  margin-top: -3cqw;
}
.top-facility__contents {
  filter: drop-shadow(10px 10px 16px rgba(0, 0, 0, 0.3));
}
@media all and (max-width: 896px) {
  .top-facility__contents {
    filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.3));
  }
}
.top-facility__contents .common-ttl {
  margin-top: -2cqw;
}
.top-facility__contents .common-ttl + p {
  text-align: center;
  margin-inline: auto;
  width: 42cqw;
  font-weight: 700;
}
@media all and (max-width: 480px) {
  .top-facility__contents .common-ttl + p {
    width: 100%;
  }
}
.top-facility__ttl {
  margin-inline: auto;
  width: 85%;
  max-width: 720px;
  height: 100%;
}
@media all and (max-width: 896px) {
  .top-facility__ttl {
    width: 60%;
  }
}
@media (width <= 640px) {
  .top-facility__ttl {
    width: 100%;
  }
}
.top-facility__ttl .common-catch {
  color: #603400;
}
.top-facility__ttls {
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  font-weight: 900;
  font-size: clamp(1.25rem, -1.2725rem + 4.5045vw, 2.5rem);
  line-height: 1.4;
  letter-spacing: 0.02em;
  color: #DD6A18;
  text-shadow: -7px -3px 0 #fff, -7px -2px 0 #fff, -7px -1px 0 #fff, -7px 0 0 #fff, -7px 1px 0 #fff, -7px 2px 0 #fff, -7px 3px 0 #fff, -6px -4px 0 #fff, -6px -3px 0 #fff, -6px -2px 0 #fff, -6px -1px 0 #fff, -6px 0 0 #fff, -6px 1px 0 #fff, -6px 2px 0 #fff, -6px 3px 0 #fff, -6px 4px 0 #fff, -5px -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, -5px 5px 0 #fff, -4px -6px 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, -4px 6px 0 #fff, -3px -7px 0 #fff, -3px -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, -3px 6px 0 #fff, -3px 7px 0 #fff, -2px -7px 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, -2px 7px 0 #fff, -1px -7px 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, -1px 7px 0 #fff, 0 -7px 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, 0 7px 0 #fff, 1px -7px 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, 1px 7px 0 #fff, 2px -7px 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, 2px 7px 0 #fff, 3px -7px 0 #fff, 3px -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, 3px 6px 0 #fff, 3px 7px 0 #fff, 4px -6px 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, 4px 6px 0 #fff, 5px -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, 5px 5px 0 #fff, 6px -4px 0 #fff, 6px -3px 0 #fff, 6px -2px 0 #fff, 6px -1px 0 #fff, 6px 0 0 #fff, 6px 1px 0 #fff, 6px 2px 0 #fff, 6px 3px 0 #fff, 6px 4px 0 #fff, 7px -3px 0 #fff, 7px -2px 0 #fff, 7px -1px 0 #fff, 7px 0 0 #fff, 7px 1px 0 #fff, 7px 2px 0 #fff, 7px 3px 0 #fff;
}
@media all and (max-width: 896px) {
  .top-facility__ttls {
    text-shadow: -3px -2px 0 #fff, -3px -1px 0 #fff, -3px 0 0 #fff, -3px 1px 0 #fff, -3px 2px 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, -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, 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, 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, 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, 3px -2px 0 #fff, 3px -1px 0 #fff, 3px 0 0 #fff, 3px 1px 0 #fff, 3px 2px 0 #fff;
  }
}
.top-facility__fukidashi {
  width: 22cqw;
}
@media all and (max-width: 600px) {
  .top-facility__fukidashi {
    width: 63.77cqw;
    max-width: 220px;
    margin-inline: auto;
    margin-bottom: 20px;
  }
}
.top-facility__area {
  position: relative;
  z-index: 1;
  margin-top: 50px;
}
@media all and (max-width: 480px) {
  .top-facility__area {
    margin-top: 30px;
  }
}
.top-facility__area .top-facility__item img {
  border-radius: 25px;
}
@media all and (max-width: 480px) {
  .top-facility__area .top-facility__item img {
    border-radius: 10px;
  }
}
.top-facility__area .top-facility__deco {
  position: absolute;
  z-index: -1;
  transform: scale(-1, 1);
}
.top-facility__area .top-facility__deco.--tree_l {
  width: 25.45cqw;
  bottom: 4.93cqw;
  left: 1cqw;
  top: -19cqw;
}
@media all and (max-width: 480px) {
  .top-facility__area .top-facility__deco.--tree_l {
    left: -9cqw;
  }
}
.top-facility__area .top-facility__deco.--tree_r {
  width: 25.45cqw;
  bottom: 4.93cqw;
  right: 1cqw;
  top: -19cqw;
}
@media all and (max-width: 480px) {
  .top-facility__area .top-facility__deco.--tree_r {
    right: -9cqw;
  }
}
.top-facility__area__stump {
  text-align: center;
}
.top-facility__area__stump img {
  width: 15.15cqw;
}
@media all and (max-width: 896px) {
  .top-facility__area__stump img {
    width: 16cqw;
  }
}
.top-facility__slide {
  margin-top: 80px;
  margin-inline: auto;
  max-width: 1500px;
  background: url("../images/bg_board.jpg") top center/100% auto repeat-y;
  padding: 3cqw;
  border-radius: 24px;
  max-width: 1100px;
}
@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: 16px;
    border-radius: 8px;
  }
}
.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: -32px;
  }
}
.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: -32px;
  }
}
.top-facility__slide .splide__pagination {
  bottom: -17cqw;
}
@media all and (max-width: 480px) {
  .top-facility__slide .splide__pagination {
    bottom: -25cqw;
  }
}
.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-facility__item {
  border-radius: 25px;
}
@media all and (max-width: 480px) {
  .top-facility__item {
    border-radius: 10px;
  }
}
.top-facility__life {
  margin-top: 150px;
}
@media all and (max-width: 480px) {
  .top-facility__life {
    margin-top: 50px;
  }
}
.top-facility__life ul {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
  margin-top: 50px;
}
@media all and (max-width: 1025px) {
  .top-facility__life ul {
    gap: 0;
  }
}
@media all and (max-width: 480px) {
  .top-facility__life ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 5px;
    margin-top: 25px;
  }
}
.top-facility__life ul li {
  position: relative;
  filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.2));
  padding-top: 20px;
}
.top-facility__life ul li:nth-child(even) {
  margin-top: 110px;
}
@media all and (max-width: 480px) {
  .top-facility__life ul li:nth-child(even) {
    margin-top: 0;
  }
  .top-facility__life ul li:nth-child(even) p {
    left: auto;
    right: 10px;
    transform: rotate(15deg);
  }
}
@media all and (max-width: 480px) {
  .top-facility__life ul li:nth-child(2) {
    margin-top: 110px;
  }
}
@media all and (max-width: 480px) {
  .top-facility__life ul li:nth-child(3), .top-facility__life ul li:nth-child(5) {
    margin-top: -110px;
  }
}
.top-facility__life ul li p {
  position: absolute;
  top: 0;
  left: -10px;
  background: #00AEA9;
  color: #fff;
  width: 130px;
  border-radius: 100vmax;
  padding: 0.3em 1em;
  text-align: center;
  transform: rotate(-15deg);
  font-size: clamp(1.094rem, 0.526rem + 1.01vw, 1.375rem);
  font-weight: 700;
  z-index: 1;
}
@media all and (max-width: 1025px) {
  .top-facility__life ul li p {
    left: 10px;
    width: 100px;
    font-size: 0.9rem;
  }
}
@media all and (max-width: 480px) {
  .top-facility__life ul li p {
    width: 120px;
    font-size: clamp(1.094rem, 0.526rem + 1.01vw, 1.375rem);
  }
}
.top-facility__life ul li p::before {
  position: absolute;
  content: "";
  left: 50%;
  transform: translateX(-50%);
  bottom: -11px;
  width: 14px;
  height: 12px;
  background-color: #00AEA9;
  clip-path: polygon(50% 12px, 0% 0%, 14px 0%);
}
@media all and (max-width: 480px) {
  .top-facility__life ul li p::before {
    bottom: -5px;
    width: 7px;
    height: 6px;
    clip-path: polygon(50% 6px, 0% 0%, 7px 0%);
  }
}
.top-facility__life ul li img {
  border-radius: 100vmax;
  border: 5px solid #FFF;
}
.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__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__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-animal {
  max-width: 1340px;
  margin: 80px auto 50px;
  container-type: inline-size;
}
@media all and (max-width: 896px) {
  .top-animal {
    margin: 40px auto 30px;
  }
}
.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.25em;
  background: #00AEA9;
  color: #fff;
  font-size: clamp(0.75rem, 0.4977rem + 0.4505vw, 0.875rem);
  font-weight: 700;
  line-height: 1.4;
  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;
  }
}
@media all and (max-width: 480px) {
  .top-animal__detail__name {
    font-size: 0.6875rem;
  }
}
.top-animal .common-btn {
  margin-top: 32px;
}
@media all and (max-width: 896px) {
  .top-animal .common-btn {
    margin-top: 20px;
    order: 1;
  }
}

.top-price {
  max-width: 1340px;
  margin: 80px auto 580px;
  container-type: inline-size;
}
@media all and (max-width: 896px) {
  .top-price {
    margin: 40px auto 180px;
  }
}

.top-info {
  overflow: hidden;
  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(56px + 16.4vw);
  }
}
.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-event__wrapper {
  position: relative;
  z-index: 10;
}
.top-event__container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3cqw;
  margin-top: 100px;
}
@media all and (max-width: 896px) {
  .top-event__container {
    grid-template-columns: repeat(1, 1fr);
    gap: 24px;
    margin-top: 24px;
  }
}
.top-event__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-event__item {
    padding: 30px;
  }
}
@media all and (max-width: 480px) {
  .top-event__item {
    border-radius: 8px;
    padding: 20px;
  }
}
.top-event__item p {
  margin-top: 10px;
  font-weight: 500;
}
.top-event__item p span.notice {
  display: block;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 90%;
  margin-top: 10px;
}
@media all and (max-width: 480px) {
  .top-event__item p span.notice {
    font-size: 85%;
  }
}
.top-event__img img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 570/354;
  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;
  margin-top: 16px;
}
.top-event__list {
  margin-top: 16px;
}
.top-event__list__item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-top: 12px;
}
@media all and (max-width: 480px) {
  .top-event__list__item {
    gap: 8px;
  }
}
.top-event__list__item:first-child {
  margin-top: 0;
}
.top-event__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;
}
.top-event__list__item > dd {
  flex-grow: 1;
  padding-top: 0.2em;
  font-weight: 500;
  line-height: 2;
}
@media all and (max-width: 896px) {
  .top-event__list__item > dd {
    padding-top: 0;
  }
}
.top-event__list__item > dd span.small {
  font-size: 90%;
}
@media all and (max-width: 480px) {
  .top-event__list__item > dd span.small {
    font-size: 85%;
  }
}
.top-event__list .common-btn {
  margin-top: 24px;
}

.top-program {
  margin-top: 160px;
}
@media all and (max-width: 896px) {
  .top-program {
    margin-top: 80px;
  }
}
.top-program__wrapper {
  position: relative;
  z-index: 10;
}
@media all and (max-width: 896px) {
  .top-program__slide {
    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;
  padding-top: 45px !important;
}
@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__item.new {
  position: relative;
  border: 4px solid #DD6A18;
  background: #F9E4D3;
}
.top-program__item.new .icon_new {
  position: absolute;
  top: -45px;
  left: -4px;
  font-family: "Work Sans", sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 1.7rem;
  background: #DD6A18;
  color: #fff;
  width: 90px;
  height: 90px;
  text-align: center;
  border-radius: 100vmax;
  display: grid;
  place-content: center;
}
.top-program__item.new .icon_new::before {
  position: absolute;
  content: "";
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M23.0222%2020.4798C23.4357%2022.0231%2022.0235%2023.4353%2020.4803%2023.0218L1.53955%2017.9466C-0.00369766%2017.5331%20-0.520587%2015.604%200.609151%2014.4743L14.4747%200.60871C15.6045%20-0.521028%2017.5335%20-0.00413502%2017.947%201.53912L23.0222%2020.4798Z%22%20fill%3D%22%23DD6A18%22%2F%3E%3C%2Fsvg%3E") center center/cover no-repeat;
  width: 31px;
  height: 31px;
  right: 5px;
  bottom: 5px;
}
.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__detail {
  font-weight: 500;
  line-height: 2;
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.top-program__detail dl {
  display: grid;
  grid-template-columns: 5.5em 1fr;
}
.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;
}

.top-channel {
  padding: 18.23vw 0;
}
.top-channel .top-facility__separate {
  margin-top: -36cqw;
}
@media all and (max-width: 480px) {
  .top-channel .top-facility__separate {
    margin-top: -43cqw;
  }
}
.top-channel .common-catch {
  color: #603400;
  font-weight: 700;
}

.top-food__wrapper {
  max-width: 1500px;
  position: relative;
  z-index: 10;
}
.top-food__slide {
  margin-top: 40px;
  padding-bottom: 54px;
  padding-inline: 78px;
}
@media all and (max-width: 1025px) {
  .top-food__slide {
    padding-inline: 40px;
  }
}
@media all and (max-width: 896px) {
  .top-food__slide {
    margin-top: 32px;
    padding-bottom: 40px;
  }
}
@media all and (max-width: 480px) {
  .top-food__slide {
    padding-inline: 0;
  }
}
.top-food__item {
  padding: 2.67cqw;
  background: #fff;
  border-radius: 8px;
}
@media all and (max-width: 896px) {
  .top-food__item {
    padding: 30px;
  }
}
@media all and (max-width: 480px) {
  .top-food__item {
    padding: 20px;
  }
}
.top-food__img img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 340/210;
  border-radius: 8px;
}
.top-food__ttl {
  font-size: clamp(1.2rem, 0.393rem + 1.44vw, 1.6rem);
  font-weight: 700;
  line-height: 1.4;
  color: #603400;
  border-bottom: 2px solid #603400;
  margin-top: 16px;
  padding-bottom: 10px;
}
.top-food__price {
  font-weight: 700;
  font-size: clamp(2rem, 0.991rem + 1.8vw, 2.5rem);
  color: #603400;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  line-height: 1;
  margin: 10px 0 15px;
  min-height: 2em;
}
.top-food__price span {
  font-size: clamp(1.2rem, 0.998rem + 0.36vw, 1.3rem);
}
.top-food__place {
  margin-top: 5px;
}
.top-food__place a {
  display: block;
  background: #603400;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  font-size: clamp(0.9375rem, 0.5591rem + 0.6757vw, 1.125rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #fff;
  border-radius: 9999px;
  padding: 0.8em 1em 0.8em 3em;
  position: relative;
  line-height: 1.4;
}
.top-food__place a::before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  background: url("../images/icon_place.svg") center center/contain no-repeat;
  position: absolute;
  top: 50%;
  left: 1em;
  translate: 0 -50%;
}
@media all and (max-width: 480px) {
  .top-food__place a::before {
    width: 20px;
    height: 20px;
  }
}
.top-food__txt {
  font-weight: 500;
  line-height: 2;
  margin-top: 12px;
}
.top-food__detail {
  margin-top: 12px;
}
.top-food__detail__item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 12px;
}
.top-food__detail__item:first-child {
  margin-top: 0;
}
.top-food__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-food__detail__item > dd {
  flex-grow: 1;
  padding-top: 0.2em;
  font-weight: 500;
  line-height: 2;
}
.top-food .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-food .splide__arrow {
    width: 32px;
    height: 32px;
  }
}
@media all and (max-width: 480px) {
  .top-food .splide__arrow {
    width: 30px;
    height: 60px;
    background-image: url("../images/slide_arrow_left_green_sp.svg");
  }
}
.top-food .splide__arrow svg {
  display: none;
}
.top-food .splide__arrow--prev {
  left: -78px;
}
@media all and (max-width: 1025px) {
  .top-food .splide__arrow--prev {
    left: -40px;
  }
}
@media all and (max-width: 480px) {
  .top-food .splide__arrow--prev {
    left: -15px;
  }
}
.top-food .splide__arrow--next {
  right: -78px;
  background-image: url("../images/slide_arrow_right_white.svg");
}
@media all and (max-width: 1025px) {
  .top-food .splide__arrow--next {
    right: -40px;
  }
}
@media all and (max-width: 480px) {
  .top-food .splide__arrow--next {
    background-image: url("../images/slide_arrow_right_green_sp.svg");
    right: -15px;
  }
}
.top-food .splide__pagination {
  bottom: -60px;
}
@media all and (max-width: 896px) {
  .top-food .splide__pagination {
    bottom: -45px;
  }
}
.top-food .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-food .splide__pagination__page {
    width: 12px;
    height: 12px;
    margin: 6px;
  }
}
.top-food .splide__pagination__page.is-active {
  background: #fff;
}

.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 .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-goods__item {
  padding: 2.67cqw;
  background: #fff;
  border-radius: 8px;
}
@media all and (max-width: 896px) {
  .top-goods__item {
    padding: 30px;
  }
}
@media all and (max-width: 480px) {
  .top-goods__item {
    padding: 20px;
  }
}
.top-goods__img img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 340/210;
  border-radius: 8px;
}
.top-goods__ttl {
  font-size: clamp(1.2rem, 0.393rem + 1.44vw, 1.6rem);
  font-weight: 700;
  line-height: 1.4;
  color: #603400;
  border-bottom: 2px solid #603400;
  margin-top: 16px;
  padding-bottom: 10px;
  min-height: 3.4em;
}
.top-goods__txt {
  font-weight: 500;
  line-height: 2;
  margin-top: 12px;
}
.top-goods__detail {
  margin-top: 12px;
}
.top-goods__detail__item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 12px;
}
.top-goods__detail__item:first-child {
  margin-top: 0;
}
.top-goods__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__detail__item > dd {
  flex-grow: 1;
  padding-top: 0.2em;
  font-weight: 500;
  line-height: 2;
}
.top-goods__price {
  font-weight: 700;
  font-size: clamp(2rem, 0.991rem + 1.8vw, 2.5rem);
  color: #603400;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  line-height: 1;
  margin: 10px 0 15px;
}
.top-goods__price span {
  font-size: clamp(1.2rem, 0.998rem + 0.36vw, 1.3rem);
}
.top-goods__place {
  margin-top: 5px;
}
.top-goods__place a {
  display: block;
  background: #603400;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  font-size: clamp(0.9375rem, 0.5591rem + 0.6757vw, 1.125rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #fff;
  border-radius: 9999px;
  padding: 0.8em 1em 0.8em 3em;
  position: relative;
  line-height: 1.4;
}
.top-goods__place a::before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  background: url("../images/icon_place.svg") center center/contain no-repeat;
  position: absolute;
  top: 50%;
  left: 1em;
  translate: 0 -50%;
}
@media all and (max-width: 480px) {
  .top-goods__place a::before {
    width: 20px;
    height: 20px;
  }
}