/* 自動生成: 上流 rooms.html の <style> */

      *, ::before, ::after {
        box-sizing: border-box;
      }

      body {
        margin: 0;
        overflow-x: hidden;
      }

      .rooms-gallery__main-img,
      .rooms-gallery__thumb-img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
      }

      .rooms-gallery__main-img {
        transition: opacity 0.35s ease;
      }

      .rooms-gallery__thumb {
        border: 2px solid transparent;
      }

      .rooms-gallery__thumb.is-active {
        border-color: #4A5D5B;
      }

      .rooms-gallery__hint {
        margin-left: auto;
      }

      .room-type-card__img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        transition: transform 0.5s ease;
      }

      .room-type-card--hover:hover .room-type-card__img {
        transform: scale(1.04);
      }

      @media (prefers-reduced-motion: reduce) {
        .room-type-card__img {
          transition: none;
        }

        .room-type-card--hover:hover .room-type-card__img {
          transform: none;
        }
      }

      .warm-lightbox {
        position: fixed;
        inset: 0;
        z-index: 2000;
        display: none;
        align-items: center;
        justify-content: center;
        background: rgba(26, 36, 34, 0.88);
        padding: 40px 24px;
      }

      .warm-lightbox.is-open {
        display: flex;
      }

      .warm-lightbox__img-wrap {
        position: relative;
        max-width: min(960px, 90vw);
        max-height: 80vh;
      }

      .warm-lightbox__img-wrap img {
        display: block;
        max-width: 100%;
        max-height: 80vh;
        object-fit: contain;
      }

      .warm-lightbox__close,
      .warm-lightbox__prev,
      .warm-lightbox__next {
        appearance: none;
        border: none;
        background: none;
        color: #fff;
        font-family: "Cormorant Garamond", serif;
        cursor: pointer;
        position: absolute;
        z-index: 2;
      }

      .warm-lightbox__close {
        top: 24px;
        right: 32px;
        font-size: 36px;
        line-height: 1;
      }

      .warm-lightbox__prev,
      .warm-lightbox__next {
        top: 50%;
        transform: translateY(-50%);
        font-size: 48px;
        line-height: 1;
        padding: 12px;
      }

      .warm-lightbox__prev {
        left: 24px;
      }

      .warm-lightbox__next {
        right: 24px;
      }

      .warm-lightbox__caption {
        position: absolute;
        bottom: 24px;
        left: 50%;
        transform: translateX(-50%);
        color: #F0F4F3;
        font-size: 12px;
        white-space: nowrap;
        margin: 0;
        font-family: "Shippori Mincho", system-ui, sans-serif;
      }

      body.warm-lightbox-open {
        overflow: hidden;
      }

      @media (max-width: 768px) {
        .warm-lightbox__prev {
          left: 8px;
        }

        .warm-lightbox__next {
          right: 8px;
        }

        [data-room-lead] {
          font-size: 13px;
          line-height: 1.85;
          letter-spacing: -0.02em;
        }
      }
    