.loma-lang-switch {
  position: fixed;
  left: 16px;
  bottom: 16px;
  z-index: 999;
  display: flex;
  background: rgba(0, 0, 0, 0.78);
  border-radius: 999px;
  padding: 4px;
  gap: 2px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
}

.loma-lang-switch__option {
  appearance: none;
  border: none;
  background: transparent;
  color: #fff;
  font-size: 12px;
  letter-spacing: 0.08em;
  line-height: 1;
  padding: 8px 14px;
  border-radius: 999px;
  cursor: pointer;
}

.loma-lang-switch__option[aria-pressed="true"] {
  background: #fff;
  color: #000;
}

/* 差し替え・復元したSVGだけ、元の出現アニメーションを引き継いで可視化 */
.is-i18n-revealed svg path,
.is-i18n-swapped svg path {
  opacity: 1 !important;
}

/* 差し替え・復元したコピーだけをスクロール位置に応じて露出 */
.MainCopy-module-scss-module__xP8gYG__page
  .MainCopy-module-scss-module__xP8gYG__copy
  > .CopyText-module-scss-module__XBtW5W__page.is-i18n-revealed:not(.is-i18n-active) {
  visibility: hidden;
}

.MainCopy-module-scss-module__xP8gYG__page
  .MainCopy-module-scss-module__xP8gYG__copy
  > .CopyText-module-scss-module__XBtW5W__page.is-i18n-revealed.is-i18n-active {
  visibility: visible;
}

.MainCopy-module-scss-module__xP8gYG__page
  .CopyText-module-scss-module__XBtW5W__page.is-i18n-revealed:not(.is-i18n-active) svg path {
  opacity: 0 !important;
  transform: none !important;
  transition: opacity 220ms ease;
}

.MainCopy-module-scss-module__xP8gYG__page
  .CopyText-module-scss-module__XBtW5W__page.is-i18n-revealed.is-i18n-active svg path {
  opacity: 1 !important;
  transform: none !important;
  transition: opacity 220ms ease;
}

@media (prefers-reduced-motion: reduce) {
  .MainCopy-module-scss-module__xP8gYG__page
    .CopyText-module-scss-module__XBtW5W__page.is-i18n-revealed svg path {
    transition: none;
  }
}

html[lang="en"] .MainCopy-module-scss-module__xP8gYG__page.is-i18n-en
  .CopyText-module-scss-module__XBtW5W__page.is-i18n-swapped > svg,
html[lang="en"] .MainCopy-module-scss-module__xP8gYG__page.is-i18n-en
  .CopyText-module-scss-module__XBtW5W__page.is-i18n-swapped > img {
  display: block;
  width: 100%;
  max-width: 100%;
  max-height: 100vh;
  height: auto;
  object-fit: contain;
  object-position: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0 auto;
}

/* 英語差し替え時も日本語版（Next 由来 width:1280px）と同じ最大幅に揃える */
@media (min-width: 1280px) {
  html[lang="en"] .MainCopy-module-scss-module__xP8gYG__page.is-i18n-en
    .CopyText-module-scss-module__XBtW5W__page.is-i18n-swapped > svg,
  html[lang="en"] .MainCopy-module-scss-module__xP8gYG__page.is-i18n-en
    .CopyText-module-scss-module__XBtW5W__page.is-i18n-swapped > img {
    width: 1280px;
    max-width: 1280px;
  }
}

@media (max-width: 782px) {
  .loma-lang-switch {
    left: 12px;
    bottom: 12px;
  }

  .loma-lang-switch__option {
    padding: 7px 12px;
  }
}

/*
 * Caralia: シェフプロフィール
 * Next 由来 CSS が height:266px 固定（詳細度 .page .container .chefProfile）のため、
 * EN 表示時は同等以上の詳細度 + !important で高さを可変にする。
 */
html[lang="en"]
  .Cuisine-module-scss-module__LMFNsq__page.Cuisine-module-scss-module__LMFNsq__caralia
  .Cuisine-module-scss-module__LMFNsq__container
  .Cuisine-module-scss-module__LMFNsq__chefProfile {
  height: auto !important;
  min-height: 266px;
  justify-content: flex-start;
  box-sizing: border-box;
  padding-top: 18px;
  padding-bottom: 18px;
}

@media (min-width: 769px) and (max-width: 1279px) {
  html[lang="en"]
    .Cuisine-module-scss-module__LMFNsq__page.Cuisine-module-scss-module__LMFNsq__caralia
    .Cuisine-module-scss-module__LMFNsq__container
    .Cuisine-module-scss-module__LMFNsq__chefProfile {
    min-height: calc((100vw - var(--scrollbar)) / 1280 * 266);
  }
}

@media (max-width: 768px) {
  html[lang="en"]
    .Cuisine-module-scss-module__LMFNsq__page.Cuisine-module-scss-module__LMFNsq__caralia
    .Cuisine-module-scss-module__LMFNsq__container
    .Cuisine-module-scss-module__LMFNsq__chefProfile {
    min-height: calc((100vw - var(--scrollbar)) / 750 * 500);
    padding-top: calc((100vw - var(--scrollbar)) / 750 * 24);
    padding-bottom: calc((100vw - var(--scrollbar)) / 750 * 24);
  }
}

/* EN 時は英語表記がメイン行に出るため、重複する小さい英語名を非表示 */
html[lang="en"]
  .Cuisine-module-scss-module__LMFNsq__page.Cuisine-module-scss-module__LMFNsq__caralia
  .Cuisine-module-scss-module__LMFNsq__container
  .Cuisine-module-scss-module__LMFNsq__chefProfile
  .Cuisine-module-scss-module__LMFNsq__name
  .Cuisine-module-scss-module__LMFNsq__en {
  display: none;
}

/*
 * 画面右の固定予約ボタン
 * Next 由来 CSS が height:184px（SP は 260/750vw）固定のため、
 * EN の "RESERVATION" が枠と下部の三角アイコンからはみ出す。
 * EN 表示時は同等以上の詳細度 + !important で高さを可変にし、字間と下余白を調整する。
 */
html[lang="en"]
  .Reservation-module-scss-module__XMLGJq__page
  .Reservation-module-scss-module__XMLGJq__button {
  height: auto !important;
  min-height: 184px;
  box-sizing: border-box;
  padding-top: 8px;
  padding-bottom: 8px;
}

html[lang="en"]
  .Reservation-module-scss-module__XMLGJq__page
  .Reservation-module-scss-module__XMLGJq__button
  > p {
  letter-spacing: 0.2rem;
  margin-bottom: 40px;
}

@media (min-width: 769px) and (max-width: 1279px) {
  html[lang="en"]
    .Reservation-module-scss-module__XMLGJq__page
    .Reservation-module-scss-module__XMLGJq__button {
    min-height: calc((100vw - var(--scrollbar)) / 1280 * 184);
    padding-top: calc((100vw - var(--scrollbar)) / 1280 * 8);
    padding-bottom: calc((100vw - var(--scrollbar)) / 1280 * 8);
  }

  html[lang="en"]
    .Reservation-module-scss-module__XMLGJq__page
    .Reservation-module-scss-module__XMLGJq__button
    > p {
    margin-bottom: calc((100vw - var(--scrollbar)) / 1280 * 40);
  }
}

@media (max-width: 768px) {
  html[lang="en"]
    .Reservation-module-scss-module__XMLGJq__page
    .Reservation-module-scss-module__XMLGJq__button {
    min-height: calc((100vw - var(--scrollbar)) / 750 * 260);
    padding-top: calc((100vw - var(--scrollbar)) / 750 * 12);
    padding-bottom: calc((100vw - var(--scrollbar)) / 750 * 12);
  }

  html[lang="en"]
    .Reservation-module-scss-module__XMLGJq__page
    .Reservation-module-scss-module__XMLGJq__button
    > p {
    /* SP の三角は 60/750vw のため、その高さ + 余白 */
    margin-bottom: calc((100vw - var(--scrollbar)) / 750 * 75);
  }
}

/*
 * Access: 黒姫駅 → Lomä 区間（送迎車・タクシー）
 * PC の connection 枠（flex-basis 90px）に 8 全角字が収まるよう字サイズを微調整
 */
@media (min-width: 769px) {
  .From-module-scss-module__JtnPta__page.From-module-scss-module__JtnPta__tokyo
    .From-module-scss-module__JtnPta__train
    .From-module-scss-module__JtnPta__flow
    > .From-module-scss-module__JtnPta__connection:nth-of-type(6)
    .From-module-scss-module__JtnPta__routeName,
  .From-module-scss-module__JtnPta__page.From-module-scss-module__JtnPta__osaka
    .From-module-scss-module__JtnPta__train
    .From-module-scss-module__JtnPta__flow
    > .From-module-scss-module__JtnPta__connection:nth-of-type(8)
    .From-module-scss-module__JtnPta__routeName,
  .From-module-scss-module__JtnPta__page
    .From-module-scss-module__JtnPta__train
    .loma-access-shuttle-route {
    font-size: 11px !important;
    letter-spacing: -0.02em;
  }
}

@media (min-width: 769px) and (max-width: 1279px) {
  .From-module-scss-module__JtnPta__page.From-module-scss-module__JtnPta__tokyo
    .From-module-scss-module__JtnPta__train
    .From-module-scss-module__JtnPta__flow
    > .From-module-scss-module__JtnPta__connection:nth-of-type(6)
    .From-module-scss-module__JtnPta__routeName,
  .From-module-scss-module__JtnPta__page.From-module-scss-module__JtnPta__osaka
    .From-module-scss-module__JtnPta__train
    .From-module-scss-module__JtnPta__flow
    > .From-module-scss-module__JtnPta__connection:nth-of-type(8)
    .From-module-scss-module__JtnPta__routeName,
  .From-module-scss-module__JtnPta__page
    .From-module-scss-module__JtnPta__train
    .loma-access-shuttle-route {
    font-size: calc((100vw - var(--scrollbar)) / 1280 * 11) !important;
  }
}

/* アクセス経路: 画像差し替え時の表示 */
.loma-access-routeImage img {
  display: block;
  width: 100%;
  height: auto;
}

/*
 * Top: Rooms / Cuisine / Hot Spring セクション見出し
 * EN 時は Valky SVG（h2）に同語が描かれているため、重複する下段テキスト（h3）と区切り線を非表示
 */
html[lang="en"]
  .SubTitle-module-scss-module__7BGqka__page.SubTitle-module-scss-module__7BGqka__rooms
  .SubTitle-module-scss-module__7BGqka__container
  > h3,
html[lang="en"]
  .SubTitle-module-scss-module__7BGqka__page.SubTitle-module-scss-module__7BGqka__rooms
  .SubTitle-module-scss-module__7BGqka__container
  > hr,
html[lang="en"]
  .SubTitle-module-scss-module__7BGqka__page.SubTitle-module-scss-module__7BGqka__cuisine
  .SubTitle-module-scss-module__7BGqka__container
  > h3,
html[lang="en"]
  .SubTitle-module-scss-module__7BGqka__page.SubTitle-module-scss-module__7BGqka__cuisine
  .SubTitle-module-scss-module__7BGqka__container
  > hr,
html[lang="en"]
  .SubTitle-module-scss-module__7BGqka__page.SubTitle-module-scss-module__7BGqka__hotSpring
  .SubTitle-module-scss-module__7BGqka__container
  > h3,
html[lang="en"]
  .SubTitle-module-scss-module__7BGqka__page.SubTitle-module-scss-module__7BGqka__hotSpring
  .SubTitle-module-scss-module__7BGqka__container
  > hr {
  display: none;
}

/* 英語表示: 見出し・ボタンの書体を Access 見出しと同じ Valky に揃える */
html[lang="en"]
  .Reservation-module-scss-module__XMLGJq__page
  .Reservation-module-scss-module__XMLGJq__button
  > p,
html[lang="en"]
  .BrandMovie-module-scss-module__PHFx-G__brandMovie
  .BrandMovie-module-scss-module__PHFx-G__copyContainer
  .BrandMovie-module-scss-module__PHFx-G__copy
  > p,
html[lang="en"]
  .Top-module-scss-module__P8G98W__page
  .Top-module-scss-module__P8G98W__rooms
  .Top-module-scss-module__P8G98W__copy
  .Top-module-scss-module__P8G98W__container
  .Top-module-scss-module__P8G98W__cell
  > h3,
html[lang="en"]
  .Top-module-scss-module__P8G98W__page
  .Top-module-scss-module__P8G98W__rooms
  .Top-module-scss-module__P8G98W__copy
  .Top-module-scss-module__P8G98W__container
  .Top-module-scss-module__P8G98W__cell
  .Top-module-scss-module__P8G98W__buttons
  > div
  > p,
html[lang="en"]
  .Top-module-scss-module__P8G98W__page
  .Top-module-scss-module__P8G98W__cuisine
  .Top-module-scss-module__P8G98W__caralia
  .Top-module-scss-module__P8G98W__container
  .Top-module-scss-module__P8G98W__cell
  > h3,
html[lang="en"]
  .Top-module-scss-module__P8G98W__page
  .Top-module-scss-module__P8G98W__cuisine
  .Top-module-scss-module__P8G98W__caralia
  .Top-module-scss-module__P8G98W__container
  .Top-module-scss-module__P8G98W__cell
  .Top-module-scss-module__P8G98W__buttons
  > div
  > p,
html[lang="en"]
  .Top-module-scss-module__P8G98W__page
  .Top-module-scss-module__P8G98W__cuisine
  .Top-module-scss-module__P8G98W__maine
  .Top-module-scss-module__P8G98W__container
  .Top-module-scss-module__P8G98W__cell
  > h3,
html[lang="en"]
  .Top-module-scss-module__P8G98W__page
  .Top-module-scss-module__P8G98W__news
  .Top-module-scss-module__P8G98W__container
  .Top-module-scss-module__P8G98W__button
  > p {
  font-family: "Valky", serif;
}
