/* メニューと料金（左に見出し、右に横へ送るカード） */
.menu { position: relative; display: flex; flex-wrap: wrap; width: 100%; padding: 0 0 0 9.375vw; margin-bottom: 170px; }
.menu__intro { flex: 1; min-width: 0; }
.menu__ttl { font-size: 5.3333rem; line-height: 1; white-space: nowrap; }
.menu__ttl .min { display: block; font-size: .7333rem; letter-spacing: .02em; line-height: 2; margin-top: 2px; }
.menu__note { margin-top: 11.09375vw; font-size: .8rem; font-weight: 700; color: var(--ink-sub); }
.menu__slide { position: relative; width: 68.1%; margin-top: 10px; padding-bottom: 77px; }
.menu__list { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-right: 4.765625vw; }
.menu__list::-webkit-scrollbar { display: none; }
.menu__item { flex: none; width: calc(100% / 3); padding-right: 2.578125vw; scroll-snap-align: start; opacity: 0; transform: translate3d(100%, 0, 0); transition: opacity 1s var(--ease), transform 1s var(--ease); }
.is-in .menu__item, .is-capture .menu__item { opacity: 1; transform: none; }
.menu__item:nth-child(2) { transition-delay: .08s; } .menu__item:nth-child(3) { transition-delay: .16s; } .menu__item:nth-child(4) { transition-delay: .24s; } .menu__item:nth-child(5) { transition-delay: .32s; }
.menu__fig { aspect-ratio: 3 / 4; margin-bottom: 25px; overflow: hidden; transition: transform .75s var(--ease-card); }
.menu__fig > * { transition: transform .75s var(--ease-card); }
@media (hover: hover) { .menu__item:hover .menu__fig { transform: scale(.95); } .menu__item:hover .menu__fig > * { transform: scale(1.1); } }
.menu__tile { width: 100%; height: 100%; background: var(--navy); color: var(--on-dark); display: flex; align-items: center; justify-content: center; text-align: center; font-size: .9333rem; font-weight: 700; line-height: 1.9; letter-spacing: .08em; }
.menu__progress { position: absolute; left: 0; bottom: 3px; width: 70%; height: 1px; background: var(--line); }
.menu__bar { width: 100%; height: 1px; background: var(--ink); transform-origin: left top; transform: scaleX(.2); transition: transform .5s var(--ease); }
.menu__arrow { position: absolute; bottom: -26px; width: 4.6875vw; height: 60px; max-width: 60px; display: flex; align-items: center; justify-content: center; }
.menu__arrow--prev { right: 12.1875vw; transform: rotate(180deg); }
.menu__arrow--next { right: 7.34375vw; }
.menu__arrow .ico-arrow { width: 13px; height: 10px; transition: transform .4s var(--ease); }
.menu__arrow:hover .ico-arrow { transform: translateX(5px); }
@media (max-width: 1200px) { .menu__ttl { font-size: calc((100vw - 376px) / 826 * 30 + 50px); } }
@media (max-width: 1040px) { .menu__ttl { font-size: 3.7rem; } }
@media (max-width: 750px) {
  .menu { display: block; width: auto; padding: 0 0 0 9.6vw; margin-bottom: 97px; }
  .menu__ttl { margin-bottom: 34px; }
  .menu__ttl .min { margin-top: 9px; }
  .menu__note { position: absolute; left: 0; bottom: 0; width: 100%; margin: 0; text-align: center; }
  .menu__slide { width: 100%; margin-top: 0; padding-bottom: 66px; }
  .menu__list { padding-right: 29.6vw; }
  .menu__item { width: 100%; padding-right: 9.0667vw; }
  .menu__fig { margin-bottom: 23px; }
  .menu__progress, .menu__arrow { display: none; }
}
@media (max-width: 375px) { .menu__ttl { font-size: calc(10px + 10.6667vw); line-height: .8; } }
