/* 役割: 共通土台の共通／ページ表示・処理。
 * 利用ページ: TOP（日英）。
 * 関係する棚: S01共通土台・S04日英・S05予約・S10履歴・S12TOP・S16導入。
 * 注意: 詳細度・!important・media・JS実行位置を保持。P/U置換依存は変更しない。placement.jsonと地図の更新.mdを参照。名前付き区画は元の読込位置へ生成。区画を移動しない。
 */
:is(a.button,.ex-button,#local-top-appeal a,.tc-controls button,.photo-arrow,.photo-close,.close,.article-tags button,#article-empty button,.reserve) {
  transition: background-color .3s ease,color .3s ease,border-color .3s ease;
  cursor: pointer;
}
@media (hover:hover) {
  html body :is(a.button,.ex-button,#local-top-appeal a,.tc-controls button,.photo-arrow,.photo-close,.close,#article-empty button,.reserve):not(:disabled):not([aria-disabled="true"]):hover,
html body .article-tags button:not([aria-pressed="true"]):hover {
    background: #fff !important;
    color: #000 !important;
    border-color: #fff !important;
  }
  html body :is(a.button,.ex-button,#local-top-appeal a):hover :is(span,p) {
    color: inherit !important;
  }
  :is(.text-link,.journey-link,.narrative-link,.tc-all,.return-top,.page-menu a,.breadcrumbs a,.day-nav a,.suite-nav a,.hero-foot a,.chapternav a,.back.stay-return):hover {
    color: #d2cbba !important;
    text-decoration: underline !important;
    text-underline-offset: 5px;
  }
  :is(.language button,.language-rn button,.loma-lang-switch__option):not([aria-pressed="true"]):hover {
    background: #333 !important;
    color: #fff !important;
  }
  :is(.gallery-button,.candidate-photo,.article-card-photo,.photo-zoom):hover img {
    opacity: .82;
  }
}
:is(.gallery-button,.candidate-photo,.article-card-photo,.photo-zoom) img {
  transition: opacity .3s ease;
}
html body :is(a.button,.ex-button,#local-top-appeal a,.tc-controls button,.photo-arrow,.photo-close,.close,#article-empty button,.reserve):not(:disabled):not([aria-disabled="true"]):focus-visible {
  background: #fff !important;
  color: #000 !important;
  border-color: #fff !important;
  outline: 2px solid #d2cbba;
  outline-offset: 4px;
}
html body :is(a.button,.ex-button,#local-top-appeal a):focus-visible :is(span,p) {
  color: inherit !important;
}
#loma-cuisine-page .button::after {
  border-left-color: currentColor !important;
}
@media (prefers-reduced-motion:reduce) {
  :is(a.button,.ex-button,#local-top-appeal a,.tc-controls button,.photo-arrow,.photo-close,.close,.article-tags button,#article-empty button,.reserve),
:is(.gallery-button,.candidate-photo,.article-card-photo,.photo-zoom) img {
    transition: none;
  }
}
html body :is(a.button,#local-top-appeal a)::after {
  translate: 0 0;
  transition: translate .36s cubic-bezier(.445,.05,.55,.95);
}
html body a.button svg {
  transform: none !important;
  translate: 0 0;
  transition: translate .36s cubic-bezier(.445,.05,.55,.95);
}
@media (hover:hover) {
  html body :is(a.button,#local-top-appeal a):not([aria-disabled="true"]):hover::after,
html body a.button:not([aria-disabled="true"]):hover svg {
    translate: 5px 0;
  }
}
html body :is(a.button,#local-top-appeal a):not([aria-disabled="true"]):focus-visible::after,
html body a.button:not([aria-disabled="true"]):focus-visible svg {
  translate: 5px 0;
}
@media (prefers-reduced-motion:reduce) {
  html body :is(a.button,#local-top-appeal a)::after,
html body a.button svg {
    translate: none !important;
    transition: none !important;
  }
}
#local-top-appeal .space-gallery figure {
  overflow: hidden;
}
#local-top-appeal .space-gallery figure img {
  scale: 1;
  transform-origin: center;
  transition: scale 1s cubic-bezier(.25,.46,.45,.94);
}
@media (hover:hover) and (pointer:fine) {
  #local-top-appeal .space-gallery figure:hover img {
    scale: 1.02;
  }
}
@media (prefers-reduced-motion:reduce) {
  #local-top-appeal .space-gallery figure img {
    scale: 1 !important;
    transition: none !important;
  }
}

