@charset "UTF-8";
/*============================
　共通
============================*/
.wrapper {
  margin-inline: auto;
  /*  */
  padding-inline: var(--wrapper-padding);
}

.wrapper {
  width: min(100% - var(--wrapper-padding) * 2, var(--wrapper-width_def) + var(--wrapper-padding) * 2);
}

.wrapper.lar {
  width: min(100% - var(--wrapper-padding) * 2, var(--wrapper-width_lar) + var(--wrapper-padding) * 2);
}

.wrapper.mid {
  width: min(100% - var(--wrapper-padding) * 2, var(--wrapper-width_mid) + var(--wrapper-padding) * 2);
}

.wrapper.sma {
  width: min(100% - var(--wrapper-padding) * 2, var(--wrapper-width_sma) + var(--wrapper-padding) * 2);
}

.kv {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-height: 100vh;
  aspect-ratio: 1400/835;
  background-color: #333;
  background-size: 100% auto;
  background-position: top;
  clip-path: url(#kvWaveClip);
  z-index: 1;
}

.kv__slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0;
  transform: scale(1);
  transform-origin: center center;
  will-change: opacity, transform;
  pointer-events: none;
}

.kv__slide.is-active {
  opacity: 1;
  pointer-events: auto;
}

.kv__slide.is-enter {
  z-index: 2;
}

.kv__slide.is-prev {
  z-index: 1;
  opacity: 1;
}

.kv_bottom {
  margin-top: -15vw;
  padding-top: 30vw;
}

@media screen and (max-width: 768px) {
  .kv {
    aspect-ratio: 700/1140;
  }
  .kv_bottom {
    margin-top: -30vw;
    padding-top: 40vw;
  }
}
/*  */
.kv__slide--first {
  background-image: url(../image/kv/kv01.jpg);
}

@media screen and (max-width: 768px) {
  .kv__slide--first {
    background-image: url(../image/kv/kv01_sp.jpg);
  }
}
.ocean-container_bottom {
  position: relative;
  background-image: url(../image/wave_backimg_upp.png), url(../image/wave_backimg_bot.png);
  background-position: top center, bottom center;
  background-size: 100% auto, 100% auto;
  background-repeat: no-repeat;
  background-color: var(--color_white_c0);
}

.online-shop {
  position: absolute;
  z-index: 10;
  right: 0;
  top: 21%;
  display: inline-block;
}

.online-shop img {
  width: clamp(calc(3.125rem * var(--font-scale)),calc(2.234rem * var(--font-scale) + 3.24vw),calc(5rem * var(--font-scale)));
}

.update_info {
  position: absolute;
  z-index: 10;
  right: 0;
  bottom: 20%;
  display: inline-block;
  background-color: rgba(255, 255, 255, 0.6);
  border-radius: 12px 0 0 12px;
  padding: 35px 20px 25px 30px;
  width: 300px;
}

.update_info_title {
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--color_red_c1);
  color: var(--color_white_c0);
  font-family: "Zen Maru Gothic", sans-serif;
  border-radius: 9px 0 9px 0;
  font-size: clamp(calc(0.8125rem * var(--font-scale)),calc(0.426rem * var(--font-scale) + 1.404vw),calc(1.625rem * var(--font-scale)));
  margin: -20px 0 0 20px;
  padding: 8px 20px;
  line-height: 1;
  font-weight: 400;
}

@media (max-width: 767px) {
  .update_info {
    padding: 25px 10px 20px 20px;
    width: 50vw;
    bottom: 30%;
  }
  .update_info_title {
    margin-top: -10px;
    padding: 6px 12px;
  }
}
.update_info_txt {
  font-size: clamp(calc(0.5rem * var(--font-scale)),calc(0.262rem * var(--font-scale) + 0.864vw),calc(1rem * var(--font-scale)));
}

.update_info_txt dd {
  margin-top: clamp(calc(0.3125rem * var(--font-scale)),calc(0.164rem * var(--font-scale) + 0.54vw),calc(0.625rem * var(--font-scale)));
  overflow-y: scroll;
  max-height: 60px;
}

.menu-concept_title img {
  width: 50%;
  margin-inline: auto;
  margin-top: clamp(calc(1.5625rem * var(--font-scale)),calc(0.82rem * var(--font-scale) + 2.7vw),calc(3.125rem * var(--font-scale)));
}

.ice_lines {
  padding-top: 20px;
  padding-bottom: 20px;
}

.ice_lines::before {
  content: "";
  display: block;
  background-image: url(../image/ice_lines.png);
  background-repeat: repeat-x;
  background-size: contain;
  width: 100%;
  aspect-ratio: 100/3;
  margin-bottom: 40px;
}

.ice_lines::after {
  content: "";
  display: block;
  background-image: url(../image/ice_lines.png);
  background-repeat: repeat-x;
  background-size: contain;
  width: 100%;
  aspect-ratio: 100/3;
  margin-top: 40px;
}

@media screen and (max-width: 768px) {
  .ice_lines::before {
    aspect-ratio: 100/6;
  }
  .ice_lines::after {
    aspect-ratio: 100/6;
  }
}
.menu-session_title {
  margin-top: clamp(calc(5.625rem * var(--font-scale)),calc(2.952rem * var(--font-scale) + 9.719vw),calc(11.25rem * var(--font-scale)));
  margin-bottom: clamp(calc(0.9375rem * var(--font-scale)),calc(0.492rem * var(--font-scale) + 1.62vw),calc(1.875rem * var(--font-scale)));
}

.menu-session_title img {
  width: clamp(calc(10rem * var(--font-scale)),calc(5.248rem * var(--font-scale) + 17.279vw),calc(20rem * var(--font-scale)));
  margin-inline: auto;
  margin-bottom: clamp(calc(1.875rem * var(--font-scale)),calc(0.984rem * var(--font-scale) + 3.24vw),calc(3.75rem * var(--font-scale)));
}

/* メニュースクロール[JS/css併用] start */
.slider-menu {
  overflow: hidden;
  width: 100%;
  /*  */
  --gap: 30px;
  --display-count: 3;
}

.slider-menu_inner {
  overflow: hidden;
  width: 100%;
}

.slider-menu_Cards {
  display: flex;
  gap: var(--gap);
  padding: 0;
  margin: 0;
  list-style: none;
  width: -moz-max-content;
  width: max-content;
}

/* アニメーション本体 */
.is-animating {
  animation: infinity-scroll linear infinite;
}

/* ★マウスオーバーで停止 */
.slider-menu_Cards.is-animating:hover {
  animation-play-state: paused;
  cursor: pointer;
  /* お好みで。カード全体がクリック可能なら便利です */
}

@keyframes infinity-scroll {
  0% {
    transform: translateX(0);
  }
  /* 3セット複製されているので、ちょうど全体の1/3（1セット分）動いた瞬間に0に戻す */
  100% {
    transform: translateX(calc(-33.3333% - var(--gap) / 3));
  }
}
.slider-menu_card {
  flex-shrink: 0;
  /* 左右10%ずつ見切れ = (100vw - 隙間の合計) / (表示数 + 0.2) */
  width: calc((100vw - var(--gap) * var(--display-count)) / (var(--display-count) + 0.2));
  width: clamp(calc(13.125rem * var(--font-scale)),calc(6.889rem * var(--font-scale) + 22.678vw),calc(26.25rem * var(--font-scale)));
  min-height: clamp(calc(17.1875rem * var(--font-scale)),calc(9.021rem * var(--font-scale) + 29.698vw),calc(34.375rem * var(--font-scale)));
  border-radius: 210px;
  border: 1px solid var(--color_blue_c2);
  background: #fff;
  transition: transform 0.3s ease;
  overflow: hidden;
}

.slider-menu_card a {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  text-align: center;
  height: 100%;
  width: 100%;
}

.slider-menu_card a img {
  transition: transform 0.3s ease-in-out;
  margin-bottom: -10px;
}

.slider-menu_card a:hover {
  opacity: 1;
  filter: brightness(100%);
}

.slider-menu_card a:hover img {
  transform: scale(1.1);
}

.slider-menu_card header {
  margin-top: clamp(calc(3.125rem * var(--font-scale)),calc(1.64rem * var(--font-scale) + 5.4vw),calc(6.25rem * var(--font-scale)));
  line-height: 1;
}

.slider-menu_card header p {
  font-size: clamp(calc(0.625rem * var(--font-scale)),calc(0.328rem * var(--font-scale) + 1.08vw),calc(1.25rem * var(--font-scale)));
}

.slider-menu_card header h3 {
  font-size: clamp(calc(1.15625rem * var(--font-scale)),calc(0.607rem * var(--font-scale) + 1.998vw),calc(2.3125rem * var(--font-scale)));
  margin-top: clamp(calc(0.625rem * var(--font-scale)),calc(0.328rem * var(--font-scale) + 1.08vw),calc(1.25rem * var(--font-scale)));
}

.slider-menu_card header .english_txt {
  color: var(--color_red_c1);
  font-size: clamp(calc(0.625rem * var(--font-scale)),calc(0.328rem * var(--font-scale) + 1.08vw),calc(1.25rem * var(--font-scale)));
  font-weight: 600;
  margin-top: clamp(calc(0.3125rem * var(--font-scale)),calc(0.164rem * var(--font-scale) + 0.54vw),calc(0.625rem * var(--font-scale)));
}

.slider-menu_card img {
  width: clamp(calc(5.46875rem * var(--font-scale)),calc(2.87rem * var(--font-scale) + 9.449vw),calc(10.9375rem * var(--font-scale)));
}

/* 3枚以下の時はアニメーションさせず中央配置 */
.slider-menu_Cards:not(.is-animating) {
  justify-content: center;
  width: 100%;
}

@media (max-width: 840px) {
  :root {
    --display-count: 2;
  }
}
@media (max-width: 630px) {
  :root {
    --display-count: 1;
  }
}
/* メニュースクロール[JS/css併用] end */
.menu_more-button a {
  line-height: 1;
  display: flex;
  padding: 9px;
  border-radius: 55px;
  width: clamp(calc(12.5rem * var(--font-scale)),calc(6.561rem * var(--font-scale) + 21.598vw),calc(25rem * var(--font-scale)));
  min-height: clamp(calc(2.375rem * var(--font-scale)),calc(1.246rem * var(--font-scale) + 4.104vw),calc(4.75rem * var(--font-scale)));
  height: 100%;
  align-items: center;
  justify-content: center;
  position: relative;
  color: var(--color_white_c0);
  background-color: var(--color_blue_def);
  transition: 0.5s;
  font-size: clamp(calc(0.75rem * var(--font-scale)),calc(0.572rem * var(--font-scale) + 0.648vw),calc(1.125rem * var(--font-scale)));
  margin-inline: auto;
  margin-top: clamp(calc(2.1875rem * var(--font-scale)),calc(1.148rem * var(--font-scale) + 3.78vw),calc(4.375rem * var(--font-scale)));
  border: 1px solid var(--color_blue_def);
}

.menu_more-button a:hover {
  color: var(--color_blue_def);
  background-color: var(--color_white_c0);
  border: 1px solid var(--color_blue_def);
}

.menu_more-button a::after {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0;
  margin-right: 20px;
  content: "";
  display: block;
  width: clamp(calc(0.625rem * var(--font-scale)),calc(0.328rem * var(--font-scale) + 1.08vw),calc(1.25rem * var(--font-scale)));
  aspect-ratio: 1/1;
  background-image: url(../image/icon_arrow_contact.png);
  background-size: contain;
  background-repeat: no-repeat;
  filter: brightness(0) invert(1);
}

.menu_more-button a:hover::after {
  filter: initial;
}

.unit_media-session {
  padding: clamp(calc(4.6875rem * var(--font-scale)),calc(2.163rem * var(--font-scale) + 9.179vw),calc(10rem * var(--font-scale))) clamp(calc(1.5625rem * var(--font-scale)),calc(-0.665rem * var(--font-scale) + 8.099vw),calc(6.25rem * var(--font-scale)));
  position: relative;
  overflow: hidden;
  width: 100%;
}

.media-session_title img {
  width: clamp(calc(10rem * var(--font-scale)),calc(5.248rem * var(--font-scale) + 17.279vw),calc(20rem * var(--font-scale)));
  margin-inline: auto;
  margin-bottom: clamp(calc(1.875rem * var(--font-scale)),calc(0.984rem * var(--font-scale) + 3.24vw),calc(3.75rem * var(--font-scale)));
}

.media-session_info {
  padding: clamp(calc(0.3125rem * var(--font-scale)),calc(0.164rem * var(--font-scale) + 0.54vw),calc(0.625rem * var(--font-scale)));
  max-width: 1000px;
  margin: 0 auto 120px;
  position: relative;
  --bg-color: var(--color_blue_c2);
  --line-color: #ffffff48;
  --grid-size: 40px;
  --line-width: 1px;
  background-color: var(--bg-color);
  background-image: linear-gradient(to right, var(--line-color) var(--line-width), transparent var(--line-width)), linear-gradient(to bottom, var(--line-color) var(--line-width), transparent var(--line-width));
  background-size: var(--grid-size) var(--grid-size), var(--grid-size) var(--grid-size);
  background-repeat: repeat, repeat;
}

.media-session_info::before {
  content: "";
  background-image: url(../image/section_media_img01.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top left;
  width: clamp(calc(5.625rem * var(--font-scale)),calc(2.804rem * var(--font-scale) + 10.259vw),calc(11.5625rem * var(--font-scale)));
  aspect-ratio: 1/0.8;
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  margin: -30px 0 0 -40px;
  z-index: 1;
}

.media-session_info::after {
  content: "";
  background-image: url(../image/section_media_img02.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom right;
  width: clamp(calc(12.8125rem * var(--font-scale)),calc(6.576rem * var(--font-scale) + 22.678vw),calc(25.9375rem * var(--font-scale)));
  aspect-ratio: 1/0.4;
  display: inline-block;
  position: absolute;
  bottom: 0;
  right: 0;
  margin: 0 -40px -20px 0;
  z-index: 1;
}

.media-session_info a {
  display: block;
  border: 1px solid #fff;
  padding: clamp(calc(3.125rem * var(--font-scale)),calc(1.64rem * var(--font-scale) + 5.4vw),calc(6.25rem * var(--font-scale))) clamp(calc(1.25rem * var(--font-scale)),calc(0.656rem * var(--font-scale) + 2.16vw),calc(2.5rem * var(--font-scale)));
  color: #fff;
  text-align: center;
}

.media-session_info header {
  display: inline-flex;
  margin-inline: auto;
  align-items: center;
  gap: 0 clamp(calc(0.375rem * var(--font-scale)),calc(-0.041rem * var(--font-scale) + 1.512vw),calc(1.25rem * var(--font-scale)));
}

.media-session_info header::before {
  content: "";
  background-image: url(../image/section_media_icon01.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: clamp(calc(1.875rem * var(--font-scale)),calc(0.984rem * var(--font-scale) + 3.24vw),calc(3.75rem * var(--font-scale)));
  height: 55px;
  display: inline-block;
  bottom: 0;
  right: 0;
  z-index: 1;
}

.media-session_info header::after {
  content: "";
  background-image: url(../image/section_media_icon02.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: clamp(calc(1.875rem * var(--font-scale)),calc(0.984rem * var(--font-scale) + 3.24vw),calc(3.75rem * var(--font-scale)));
  height: 45px;
  display: inline-block;
  bottom: 0;
  right: 0;
  z-index: 1;
}

.media-session_info h2 {
  font-size: clamp(calc(1.5625rem * var(--font-scale)),calc(0.82rem * var(--font-scale) + 2.7vw),calc(3.125rem * var(--font-scale)));
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1;
}

.media-session_info p {
  margin-top: clamp(calc(0.9375rem * var(--font-scale)),calc(0.492rem * var(--font-scale) + 1.62vw),calc(1.875rem * var(--font-scale)));
  font-size: clamp(calc(0.625rem * var(--font-scale)),calc(0.328rem * var(--font-scale) + 1.08vw),calc(1.25rem * var(--font-scale)));
}

.media-session_logo {
  margin: 0 0 -90px -120px;
  position: absolute;
  bottom: 0;
  left: 0;
  width: clamp(calc(11.875rem * var(--font-scale)),calc(6.233rem * var(--font-scale) + 20.518vw),calc(23.75rem * var(--font-scale)));
}

@media screen and (max-width: 768px) {
  .media-session_info::after {
    margin-right: -15px;
  }
  .media-session_logo {
    margin: 0 0 -90px 5px;
  }
}
.bird-container_outer {
  margin-top: clamp(calc(3.75rem * var(--font-scale)),calc(1.968rem * var(--font-scale) + 6.479vw),calc(7.5rem * var(--font-scale)));
}

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

.bird-container {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  position: relative;
  transform: translate(20px, -10px);
  margin: 0 100px 0 auto;
  /* ゴール地点微調整 */
}

.bird-container img:nth-of-type(1) {
  width: clamp(calc(4.84375rem * var(--font-scale)),calc(1.592rem * var(--font-scale) + 11.825vw),calc(11.6875rem * var(--font-scale)));
}

.bird-container img:nth-of-type(2) {
  width: clamp(calc(4.0625rem * var(--font-scale)),calc(1.39rem * var(--font-scale) + 9.719vw),calc(9.6875rem * var(--font-scale)));
}

.bird-container img:nth-of-type(3) {
  width: clamp(calc(11.25rem * var(--font-scale)),calc(3.588rem * var(--font-scale) + 27.862vw),calc(27.375rem * var(--font-scale)));
}

.bird-target {
  width: clamp(calc(4.6875rem * var(--font-scale)),calc(2.46rem * var(--font-scale) + 8.099vw),calc(9.375rem * var(--font-scale)));
  opacity: 0;
}

.bird-target.is-active {
  animation: birdFlyIn 4s ease-in-out forwards;
}

@keyframes birdFlyIn {
  0% {
    transform: translate(300px, -140px) scale(0.9);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  60% {
    transform: translate(0, 0) scale(1);
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@media screen and (max-width: 768px) {
  .trigger-zone {
    text-align: center;
  }
  .bird-container {
    gap: 10px;
    margin: auto;
    transform: none;
  }
}
.unit_access-session {
  padding-top: clamp(calc(3.75rem * var(--font-scale)),calc(1.968rem * var(--font-scale) + 6.479vw),calc(7.5rem * var(--font-scale)));
}

.access-session_title img {
  width: clamp(calc(10rem * var(--font-scale)),calc(5.248rem * var(--font-scale) + 17.279vw),calc(20rem * var(--font-scale)));
  margin-inline: auto;
  margin-bottom: clamp(calc(1.875rem * var(--font-scale)),calc(0.984rem * var(--font-scale) + 3.24vw),calc(3.75rem * var(--font-scale)));
}

.two-column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px 60px;
  align-items: end;
}

.two-column .column {
  padding-bottom: 20px;
}

.two-column .access-session_img img:nth-of-type(2) {
  margin-top: clamp(calc(1.25rem * var(--font-scale)),calc(0.062rem * var(--font-scale) + 4.32vw),calc(3.75rem * var(--font-scale)));
}

@media screen and (max-width: 767px) {
  .two-column {
    grid-template-columns: 1fr;
  }
}
.shop_info {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 0 1px;
  --shop_info_margin: 25px;
}

.shop_info > div {
  display: contents;
  margin-bottom: 6px;
}

.shop_info dt {
  display: flex;
  align-items: center;
  font-size: clamp(calc(0.5625rem * var(--font-scale)),calc(0.295rem * var(--font-scale) + 0.972vw),calc(1.125rem * var(--font-scale)));
  gap: 20px;
  font-weight: 600;
  border-bottom: 1px dotted #000;
  padding-top: var(--shop_info_margin);
  padding-bottom: var(--shop_info_margin);
}

.shop_info dt > img {
  width: 40px;
}

.shop_info dd {
  display: flex;
  align-items: center;
  font-size: clamp(calc(0.625rem * var(--font-scale)),calc(0.328rem * var(--font-scale) + 1.08vw),calc(1.25rem * var(--font-scale)));
  border-bottom: 1px dotted #000;
  padding: var(--shop_info_margin) var(--shop_info_margin) var(--shop_info_margin) 50px;
}

.shop_info div:nth-last-of-type(1) dt,
.shop_info div:nth-last-of-type(1) dd {
  border-bottom: none;
}

.shop_button a {
  display: flex;
  line-height: 1;
  padding: 9px;
  border-radius: 55px;
  width: clamp(calc(12.5rem * var(--font-scale)),calc(6.561rem * var(--font-scale) + 21.598vw),calc(25rem * var(--font-scale)));
  margin: 20px auto;
  min-height: clamp(calc(2.375rem * var(--font-scale)),calc(1.246rem * var(--font-scale) + 4.104vw),calc(4.75rem * var(--font-scale)));
  height: 100%;
  align-items: center;
  justify-content: center;
  position: relative;
  color: var(--color_white_c0);
  background-color: var(--color_blue_c1);
  transition: 0.5s;
  font-size: clamp(calc(0.5625rem * var(--font-scale)),calc(0.295rem * var(--font-scale) + 0.972vw),calc(1.125rem * var(--font-scale)));
  border: 1px solid var(--color_blue_c1);
}

.shop_button a:hover {
  color: var(--color_blue_c1);
  background-color: var(--color_white_c0);
  border: 1px solid var(--color_blue_c1);
}

.shop_button a::before {
  content: "";
  display: block;
  width: clamp(calc(1.40625rem * var(--font-scale)),calc(0.738rem * var(--font-scale) + 2.43vw),calc(2.8125rem * var(--font-scale)));
  aspect-ratio: 1/3.5;
  background-image: url(../image/shop_button_icon.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  margin-left: 8%;
}

.shop_button a::after {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0;
  margin-right: 20px;
  content: "";
  display: block;
  width: clamp(calc(0.625rem * var(--font-scale)),calc(0.328rem * var(--font-scale) + 1.08vw),calc(1.25rem * var(--font-scale)));
  aspect-ratio: 1/1;
  background-image: url(../image/icon_arrow_contact.png);
  background-size: contain;
  background-repeat: no-repeat;
  filter: brightness(0) invert(1);
}

.shop_button a:hover::after {
  filter: initial;
}

/* loop-slider start */
.loop-slider_outer {
  line-height: 1;
  margin: clamp(calc(3.75rem * var(--font-scale)),calc(1.968rem * var(--font-scale) + 6.479vw),calc(7.5rem * var(--font-scale))) 0 clamp(calc(2.5rem * var(--font-scale)),calc(1.015rem * var(--font-scale) + 5.4vw),calc(5.625rem * var(--font-scale)));
}

.loop-slider_txt {
  font-size: clamp(calc(0.9375rem * var(--font-scale)),calc(0.492rem * var(--font-scale) + 1.62vw),calc(1.875rem * var(--font-scale)));
  color: var(--color_red_c1);
  display: block;
  text-align: right;
  padding-right: clamp(calc(1.25rem * var(--font-scale)),calc(0.656rem * var(--font-scale) + 2.16vw),calc(2.5rem * var(--font-scale)));
  font-family: "游明朝体", "Yu Mincho", YuMincho;
}

.loop-slider_img {
  display: flex;
  gap: 10px;
  position: relative;
  z-index: 2;
  margin-right: -10vw;
}

.loop-slider_img > img {
  animation: rotation 4s linear infinite;
  width: clamp(calc(3.75rem * var(--font-scale)),calc(3.156rem * var(--font-scale) + 2.16vw),calc(5rem * var(--font-scale)));
  aspect-ratio: 1/1;
}

/* アニメーション */
@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.loop-slider {
  overflow: hidden;
  width: 100%;
  margin: auto;
  z-index: 1;
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
}

.loop-slider-inner {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  /* これにより4セット分の全幅を正確に計算 */
  animation: loop-scroll 40s linear infinite;
  /* 距離が伸びるので時間は長めに調整 */
}

.loop-set {
  display: flex;
  margin-top: 10px;
  padding: 0 10px;
}

.loop-set img:nth-of-type(1) {
  height: 60px;
}

.loop-set img:nth-of-type(2) {
  height: 60px;
}

.scroll-item {
  padding: 0 40px;
  white-space: nowrap;
  font-size: 2rem;
}

.section-outro-title-inner h2 {
  font-size: clamp(calc(2.8125rem * var(--font-scale)),calc(-0.009rem * var(--font-scale) + 10.259vw),calc(8.75rem * var(--font-scale)));
  color: var(--color_red_c1);
  font-family: "游明朝体", "Yu Mincho", YuMincho;
  letter-spacing: 24px;
}

@keyframes loop-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    /* 4セットのうち、最初の1セット分（25%）が左に消えたらリセット */
    transform: translateX(-25%);
  }
}
@media screen and (max-width: 768px) {
  .shop_info dt {
    gap: 10px;
  }
  .shop_info dt > img {
    width: 30px;
    padding-left: 10px;
  }
  .shop_info {
    --shop_info_margin: 15px;
  }
  .shop_info dd {
    padding-left: 50px;
  }
  .loop-slider_txt {
    line-height: 1.6;
  }
  .loop-slider_img > img {
    display: none;
  }
  .section-outro-title-inner h2 {
    letter-spacing: 9px;
  }
  .column {
    order: 2;
  }
  .access-session_img {
    order: 1;
  }
}
/* loop-slider end */
/* Googleマップ */
.gmap {
  width: 100%;
  aspect-ratio: 100/50;
  display: block;
}

@media screen and (max-width: 768px) {
  .gmap {
    aspect-ratio: 1/1;
  }
}/*# sourceMappingURL=style_toppage.css.map */