/* ==========================================================================
   rh-hover.css — ホバーの決まり（全ページ共通。「押したくなる挙動に。わかりやすく」→「浮くのはやめて。使いづらい」）
   浮かせない（影も付けない）。色・背景・枠・下線と、写真の少しの拡大だけで「押せる」を伝える：
     塗りのボタン …… 濃い青に（矢印は少し右へ）
     枠線のボタン・白いカード …… 背景を淡い青に、枠を青に
     写真つきのカード …… 写真を少し拡大、見出しを青に（物件カードは拡大しない：写真のスライダーの隣の写真がはみ出し、スクロール中にカクつくため）
     文字リンク …… 青＋下線
     丸い操作ボタン …… 青で塗る
     選ぶもの …… 淡い青の地
   マウスのある端末だけ（@media (hover: hover)。スマホでタップ後に状態が残らないように）。写真の拡大と矢印は「動きを減らす」設定では出さない
   ========================================================================== */

/* 変化の速さ（全部そろえる） */
html .rh-pbtn, html .rh-submit, html .rh-evbar__btn, html .rh-evbtn, html .rh-btn, html .rh-matcta, html .rh-matline__btn, html .rh-plist-offer__btn, html .rh-footer__biz, html .rh-mega__biz, html .rh-gmenu__biz,
html .rh-header__btn, html .rh-gmenu__sub, html .rh-linkcard, html .rh-desk, html .rh-cta__card, html .rh-gmenu__card, html .rh-sns__item, html .rh-route,
html .rh-save, html .rh-slider__prev, html .rh-slider__next, html .rh-gallery__nav, html .rh-evslider__btn, html .rh-plist-tag, html .rh-toggle, html .rh-pcheck, html .rh-pd-plotlist__toggle,
html .rh-header__logo, html .rh-footer__logo, html .rh-header__menu-btn, html .rh-mega__photo, html .rh-ptextlink, html .rh-evrelated__all, html .rh-gnav__link, html .rh-tel__num, html .rh-cta__tel-nums a {
  transition: background-color .2s, border-color .2s, color .2s, opacity .2s, filter .2s;
}
html .rh-pbtn > span[aria-hidden], html .rh-submit::after, html .rh-evbar__btn::after, html .rh-btn::after, html .rh-evrelated__all::after,
html .rh-ptextlink > span[aria-hidden], html .rh-arrow-circle, html .rh-chev-circle { transition: transform .2s ease; }
html .rh-linkcard img, html .rh-route__photo, html .rh-gmenu__card img, html .rh-pd-plan__img img, html .rh-gallery__slide button img, html .rh-pd-setplan button img { transition: transform .4s ease; }
html .rh-linkcard, html .rh-route, html .rh-pd-plan__img, html .rh-gallery__slide button, html .rh-pd-setplan button:has(img) { overflow: hidden; }

@media (hover: hover) {
  /* ---------- 塗りのボタン：濃い青に ---------- */
  html .rh-pbtn:not(.rh-pbtn--line):hover, html .rh-submit:not(:disabled):hover, html .rh-evbar__btn:hover, html .rh-evbtn:not(.rh-evbtn--line):hover,
  html .rh-btn--primary:hover, html .rh-matcta:hover { background-color: #00428a; }
  /* 青い帯の上の白いボタン：淡い青の地＋青い文字（濃い青にすると文字が読めない） */
  html .rh-plist-offer__btn:hover { background-color: var(--rh-soft); color: var(--rh-blue); }
  html .rh-matline__btn:hover { filter: brightness(.92); }

  /* ---------- 枠線のボタン・白いカード：背景を淡い青、枠を青 ---------- */
  html .rh-pcard__sub:hover, html .rh-pbtn--line:hover, html .rh-evbtn--line:hover, html .rh-btn:not(.rh-btn--primary):hover, html .rh-gmenu__sub:hover { background: var(--rh-soft); border-color: var(--rh-blue); color: var(--rh-blue); }
  html .rh-header__btn:hover { background: var(--rh-soft); border-color: var(--rh-link); }
  html .rh-gmenu__card:hover, html .rh-gmenu__biz:hover { background: #e8f1fa; }
  html .rh-mega__biz:hover, html .rh-footer__cols .rh-footer__biz:hover { background: var(--rh-soft); }
  html .rh-linkcard:hover { background: #e2edf7; border-color: var(--rh-blue); }
  html .rh-pd-choice__card:hover { border-color: var(--rh-blue); }
  html .rh-pd-choice__card:hover .rh-pbtn:not(.rh-pbtn--line) { background-color: #00428a; }
  html .rh-pd-choice__card:hover .rh-pbtn--line { background: var(--rh-soft); }
  html .rh-sns__item:hover { filter: brightness(1.08); }

  /* ---------- 写真つきのカード：見出しを青に（写真の拡大は下） ---------- */
  html .rh-pcard:hover .rh-pcard__title a { color: var(--rh-blue); }

  /* ---------- 文字リンク：青＋下線 ---------- */
  html .rh-ptextlink:hover, html .rh-evrelated__all:hover, html .rh-pd-plotlist__toggle:hover { color: var(--rh-blue); border-color: var(--rh-blue); }
  html .rh-evrelated__all:hover { text-decoration: underline; text-underline-offset: 4px; }
  html .rh-gnav__link:hover { color: var(--rh-link); }
  html .rh-gnav__link:hover::after { transform: scaleX(1); }
  html .rh-mega__lead:hover .rh-mega__photo { opacity: .85; }
  html .rh-crumbs a:hover { color: var(--rh-blue); text-decoration: underline; text-underline-offset: 3px; }
  html .rh-footer__cols a:not(.rh-footer__biz):hover, html .rh-mega__links a:hover { color: var(--rh-blue); background-size: 100% 1px, 100% 1px; }
  html .rh-mega__links .is-primary a:hover { background-size: 100% 1px; }
  html .rh-mega__lead:hover .rh-mega__title { background-size: 100% 2px; }
  html .rh-footer__banners a:hover { opacity: .8; }
  html .rh-gmenu__col ul a:hover, html .rh-gmenu__about a:hover { text-decoration: underline; text-underline-offset: 3px; }
  html .rh-tel__num:hover, html .rh-cta__tel-nums a:hover { color: var(--rh-blue); }
  html main.rh-main a:not([class]):hover, html .rh-shell--body a:not([class]):hover {   /* 試作は main.rh-main、WP は新しいページの外側 .rh-shell--body（今の中身のページのリンクには付けない） */
    color: var(--rh-blue); text-decoration: underline; text-underline-offset: 3px;
  }
  /* 来場予約の青いボタンはクラスの無いリンクなので、上の文字リンクの hover（青い文字）を打ち消す。文字は白のまま、地を濃く（文字が消えていた） */
  html main.rh-main .rh-route__btns a:hover, html .rh-shell--body .rh-route__btns a:hover { color: var(--rh-white); text-decoration: none; background-color: #00428a; }
  html .rh-route__btns a::after { transition: transform .2s ease; }
  html .rh-route__btns a:hover::after { transform: translateX(3px) rotate(45deg); }

  /* ---------- 丸い操作ボタン：青で塗る ---------- */
  html .rh-save:not([aria-pressed="true"]):hover { color: var(--rh-blue); border-color: var(--rh-blue); background: var(--rh-soft); }
  html .rh-slider__prev:hover, html .rh-slider__next:hover, html .rh-evslider__btn:hover { background: var(--rh-blue); color: var(--rh-white); }
  html .rh-gallery__nav:not(:disabled):hover { border-color: var(--rh-blue); background: var(--rh-blue); color: var(--rh-white); }

  /* ---------- 選ぶもの：淡い青の地 ---------- */
  html .rh-plist-tag:not([aria-pressed="true"]):hover { border-color: var(--rh-blue); background: var(--rh-soft); color: var(--rh-blue); }
  html .rh-toggle:hover, html .rh-pcheck:hover { color: var(--rh-blue); }
  html .rh-page summary:not(.rh-gmenu__col-head):hover { color: var(--rh-blue); }   /* 全体メニューの見出し（青地に白）は除く */

  /* ---------- ロゴ・メニュー ---------- */
  html .rh-header__logo:hover, html .rh-footer__logo:hover { opacity: .75; }
  html .rh-header__menu-btn:hover { opacity: .7; }
}

/* 写真の少しの拡大と矢印（「動きを減らす」設定の人には出さない） */
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  html .rh-pbtn:hover > span[aria-hidden], html .rh-pd-choice__card:hover .rh-pbtn > span[aria-hidden], html .rh-submit:not(:disabled):hover::after, html .rh-btn:hover::after, html .rh-evrelated__all:hover::after { transform: translateX(3px); }
  html .rh-evbar__btn:hover::after { transform: translateY(2px); }   /* ↓ はページ内の下へ */
  html .rh-ptextlink:hover > span[aria-hidden] { transform: translate(2px, -2px); }
  html .rh-linkcard:hover .rh-chev-circle, html .rh-desk:hover .rh-arrow-circle, html .rh-cta__card:hover .rh-arrow-circle, html .rh-sns__item:hover .rh-arrow-circle, html .rh-gmenu__card:hover .rh-arrow-circle { transform: translateX(3px); }
  html .rh-linkcard:hover img, html .rh-route:hover .rh-route__photo { transform: scale(1.04); }
  html .rh-pd-plan__img:hover img, html .rh-gallery__slide button:hover img, html .rh-pd-setplan button:hover img { transform: scale(1.03); }
}

/* ---------- 線が出るときも動かす（「マウスを載せたとき、線が出るときにもアニメーション」） ---------- */
/* ヘッダーのメニュー：下の線を左から伸ばす（開いている間も出したまま） */
html .rh-gnav__link { position: relative; }
html .rh-gnav__link::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: var(--rh-link); transform: scaleX(0); transform-origin: left center; transition: transform .3s ease; }
html .rh-gnav__item.is-open .rh-gnav__link { border-bottom-color: transparent; }
html .rh-gnav__item.is-open .rh-gnav__link::after { transform: scaleX(1); }
/* メガメニューの項目：区切りの線を、左から青で塗る */
html .rh-mega__links a { border-bottom: 0; padding-bottom: 11px; background: linear-gradient(var(--rh-blue), var(--rh-blue)) 0 100% / 0 1px no-repeat, linear-gradient(var(--rh-line), var(--rh-line)) 0 100% / 100% 1px no-repeat; transition: color .2s, background-size .35s ease; }
html .rh-mega__links .is-primary a { background: linear-gradient(var(--rh-link), var(--rh-link)) 0 calc(100% - 6px) / 0 1px no-repeat; }
/* メガメニュー左の見出し：下線を左から */
html .rh-mega__title { display: inline-block; background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat; transition: background-size .35s ease; }
/* フッターのリンク：文字の下に線を左から */
html .rh-footer__cols a:not(.rh-footer__biz) { display: inline-block; vertical-align: top; background: linear-gradient(var(--rh-blue), var(--rh-blue)) 0 100% / 0 1px no-repeat; background-origin: content-box; transition: color .2s, background-size .35s ease; }   /* 線は文字の下だけ（子の項目の短線の後ろから） */
html .rh-footer__banners a { display: block; transition: opacity .2s; }
@media (prefers-reduced-motion: reduce) {
  html .rh-gnav__link::after, html .rh-mega__links a, html .rh-mega__title, html .rh-footer__cols a { transition: none; }
}

