/* PageSpeed Insights accessibility fixes */
.eg-h2 {
  color: #5a6d4c;
}

#tripla-cookie-consent button {
  color: #333 !important;
}

#tripla-cookie-consent a {
  text-decoration: underline !important;
  text-underline-offset: 0.15em;
}

/* Lightweight replacements for the few Font Awesome icons used on the TOP page. */
.fa-chevron-down,
.fa-chevron-circle-right,
.fa-angle-double-right,
.fa-chevron-up,
.fa-instagram {
  display: inline-block;
  font-style: normal;
  line-height: 1;
}

.fa-chevron-down::before {
  content: "";
  display: inline-block;
  width: 0.55em;
  height: 0.55em;
  border-right: 0.12em solid currentColor;
  border-bottom: 0.12em solid currentColor;
  transform: rotate(45deg) translateY(-0.15em);
}

.fa-chevron-circle-right::before {
  content: "›";
  display: inline-grid;
  place-items: center;
  width: 1.15em;
  height: 1.15em;
  border: 0.08em solid currentColor;
  border-radius: 50%;
  line-height: 0.9;
}

.fa-angle-double-right::before {
  content: "»";
}

.fa-chevron-up::before {
  content: "";
  display: inline-block;
  width: 0.55em;
  height: 0.55em;
  border-top: 0.12em solid currentColor;
  border-left: 0.12em solid currentColor;
  transform: rotate(45deg) translate(0.1em, 0.1em);
}

.fa-instagram {
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7zm11.5 1.5a1 1 0 1 1 0 2 1 1 0 0 1 0-2zM12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7zm11.5 1.5a1 1 0 1 1 0 2 1 1 0 0 1 0-2zM12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.fa-instagram::before {
  content: "";
}

.centerBox .main-logo .main-logo-image {
  display: block;
  width: 100%;
  aspect-ratio: 460 / 250;
  background: url("/images/yusai-logo.png") center / contain no-repeat;
}

.Top-main-visual-wrap video[data-lazy-video-src],
.Top-main-visual-wrap video[data-video-loaded="true"]:not(.is-video-ready) {
  visibility: hidden;
  opacity: 0;
}

.Top-main-visual-wrap video.is-video-ready {
  visibility: visible;
  opacity: 1;
}

/* News titles are controls, not crawlable pseudo-links. */
.topic-link {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #5a6d4c;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.topic-link span {
  color: inherit;
}

.topic-link:focus-visible {
  outline: 3px solid #5a6d4c;
  outline-offset: 4px;
}

/* Smaller TOP-page assets for narrow screens; originals remain desktop fallbacks. */
@media (max-width: 750px) {
  .Retreat-contents .top-Onsen {
    background-image: url("/images/top-Onsen-640.webp") !important;
  }

  .Retreat-contents .top-Restaurant {
    background-image: url("/images/top-Restaurant-640.webp") !important;
  }

  .Retreat-contents .top-Rooms {
    background-image: url("/images/top-Rooms-640.webp") !important;
  }

  .Retreat-contents .top-Facilities {
    background-image: url("/images/top-Facilities-640.webp") !important;
  }
}

.footer-back {
  background-image: url("/footer-images/foot-back-optimized.webp") !important;
}
.site-page-top-visible {
  right: 20px !important;
}

[data-tripla-booking-widget][aria-busy="true"] {
  cursor: progress !important;
}
