/* ==========================================================================
   rh-header.css — ヘッダー／メガメニュー／全体メニュー／追従ボタン
   Figma: 355:4700, 355:4912, 355:5399, 355:5647, 362:3173
   ========================================================================== */

/* ---------- ヘッダー ---------- */
html .rh-header {
  position: fixed; inset: 0 0 auto; z-index: 100;
  background: var(--rh-white); /* 不透明に（10/4：下の文字が透けて見えていた） */
}
html .rh-header__bar {
  display: flex; align-items: flex-start; justify-content: space-between;
  max-width: calc(var(--rh-content) + 120px);
  margin: 0 auto; padding: 7px 60px 0 60px;
  height: 52px;
}
html .rh-header__logo { margin-top: 11px; }
html .rh-header__logo { display: inline-flex; align-items: flex-end; gap: 11.6px; }
html .rh-header__logo img { display: block; }
html .rh-header__actions { display: flex; align-items: flex-start; gap: 9px; }
html .rh-header__btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 40px; padding: 9px 15px;
  border: 1px solid var(--rh-line); border-radius: var(--rh-r-btn);
  background: var(--rh-white);
  color: var(--rh-link); font-size: 12px; font-weight: 700; line-height: 21px;
  transition: background-color .2s, border-color .2s;
}
/* 資料請求だけ淡い青で塗っていた（--soft）のをやめ、3つとも同じ見た目に（T15） */
html .rh-header__btn:hover { background: var(--rh-soft); border-color: var(--rh-link); }
html .rh-header__menu-btn {
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  width: 40px; margin-left: 5px; padding-top: 5px;
  font-size: 10px; line-height: 10px; color: var(--rh-black); white-space: nowrap;
}
html .rh-header__menu-btn img { width: 23.5px; height: auto; }

/* グロナビ */
html .rh-gnav { max-width: calc(var(--rh-content) + 120px); margin: 0 auto; padding: 0 60px; }
html .rh-gnav__list { display: flex; justify-content: space-between; height: 42px; }
html .rh-gnav__item { position: relative; display: flex; }
html .rh-gnav__link {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 0 14px;
  font-size: 16px; font-weight: 700; line-height: 16px; letter-spacing: .8px;
  color: var(--rh-black); white-space: nowrap;
  border-bottom: 2px solid transparent;
}
html .rh-gnav__link img { transition: transform .2s; }
html .rh-gnav__item.is-open .rh-gnav__link { border-bottom-color: var(--rh-link); }
html .rh-gnav__item.is-open .rh-gnav__link img { transform: rotate(180deg); }

/* ---------- メガメニュー（更新版 10/3）---------- */
html .rh-mega {
  position: absolute; left: 0; right: 0; top: 100%;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 12px 24px rgba(18, 53, 84, .06);
}
html .rh-mega__panel {
  display: grid; grid-template-columns: 360px 1fr 230px; gap: 57px;
  max-width: calc(var(--rh-content) + 120px);
  margin: 0 auto; padding: 44px 60px 72px;
}
html .rh-mega__panel[hidden] { display: none; }
html .rh-mega__lead { display: block; align-self: start; justify-self: start; color: inherit; }   /* 見出しと写真は、そのグループのページへのリンク */
html .rh-mega__title { color: var(--rh-link); font-size: 24px; font-weight: 700; line-height: 36px; margin-bottom: 10px; }
html .rh-mega__photo { display: block; width: 278px; height: 168px; object-fit: cover; }
html .rh-mega__links a {
  display: block; padding: 10px 0;
  border-bottom: 1px solid var(--rh-line);
  color: var(--rh-ink); font-size: 16px; font-weight: 500; line-height: 24.5px;
  transition: color .2s;
}
html .rh-mega__links .is-primary a { color: var(--rh-link); font-weight: 700; border-bottom: 0; }
html .rh-mega__links a:hover { color: var(--rh-blue); }
html .rh-mega__sub { border-left: 1px solid var(--rh-line); padding-left: 24px; }
html .rh-mega__subhead { display: flex; align-items: center; gap: 6px; color: var(--rh-black); font-size: 12px; font-weight: 700; letter-spacing: 2px; line-height: 21px; }
html .rh-mega__subhead::before { content: ""; width: 6px; height: 6px; background: var(--rh-blue); }
html .rh-mega__chips { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin-top: 10px; }
html .rh-mega__chips a {
  padding: 6px 15px; border: 1px solid var(--rh-line); border-radius: 3px; background: var(--rh-white);
  color: var(--rh-link); font-size: 12px; font-weight: 700; line-height: 21px; transition: border-color .2s, background-color .2s;
}
html .rh-mega__chips a:hover { border-color: var(--rh-link); background: var(--rh-soft); }
html .rh-mega__card { position: relative; display: block; width: 156px; margin-top: 10px; background: var(--rh-white); border-radius: 3px; overflow: hidden; color: var(--rh-dark); box-shadow: 0 2px 8px rgba(18, 53, 84, .08); }
html .rh-mega__card img { display: block; width: 100%; height: 60px; object-fit: cover; }
html .rh-mega__card span { display: block; min-height: 63px; padding: 8px 9px; font-size: 12px; font-weight: 700; line-height: 16.5px; }
html .rh-mega__card small { display: block; margin-bottom: 4px; color: var(--rh-link); font-family: var(--rh-en-sans); font-size: 10px; font-weight: 300; }
html .rh-mega__card .rh-chev-circle { position: absolute; right: 9px; bottom: 8px; }

/* ---------- 全体メニュー（PC: 02.全体メニュー） ---------- */
html .rh-gmenu {
  position: fixed; inset: 0; z-index: 200;
  overflow-y: auto; overscroll-behavior: contain;
  background:
    linear-gradient(rgba(0, 87, 168, .96), rgba(0, 87, 168, .96)),
    url(../img/photo/menu-bg.jpg) center / cover no-repeat;
  color: var(--rh-white);
}
html .rh-gmenu__head {
  position: sticky; top: 0; z-index: 1;
  height: var(--rh-header-h); background: var(--rh-white);
  border-bottom: 1px solid var(--rh-line);
}
/* 「メニュー」の三本線と同じ大きさの × */
html .rh-gmenu__x { position: relative; display: block; width: 23.5px; height: 16px; }
html .rh-gmenu__x::before, html .rh-gmenu__x::after {
  content: ""; position: absolute; left: 0; top: 7px; width: 23.5px; height: 2px; background: var(--rh-blue);
}
html .rh-gmenu__x::before { transform: rotate(45deg); }
html .rh-gmenu__x::after { transform: rotate(-45deg); }
html .rh-gmenu__body {
  display: grid; grid-template-columns: 281px 1fr; gap: 0;
  max-width: calc(var(--rh-content) + 120px);
  margin: 0 auto; padding: 52px 60px 80px;
}
html .rh-gmenu__cta { display: flex; flex-direction: column; gap: 12px; padding-right: 26px; }
html .rh-gmenu__card {
  position: relative; display: flex; align-items: center; gap: 13px;
  height: 82px; padding: 0 14px 0 12px;
  background: var(--rh-white); border: 1px solid var(--rh-line); border-radius: 5.57px;
  color: var(--rh-link);
}
html .rh-gmenu__card-text { flex: 1; font-size: 20px; font-weight: 700; line-height: 1.5; }
html .rh-gmenu__card-text small { display: block; color: var(--rh-card-lead); font-size: 11.5px; font-weight: 500; line-height: 1.4; letter-spacing: -.02em; }
html .rh-gmenu__minis { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 6px; }
html .rh-gmenu__mini { position: relative; display: block; background: var(--rh-white); border-radius: 3px; overflow: hidden; color: var(--rh-dark); }
html .rh-gmenu__mini img { display: block; width: 100%; height: 60px; object-fit: cover; }
html .rh-gmenu__mini span { display: block; height: 63px; padding: 8px 26px 8px 9px; font-size: 12px; font-weight: 700; line-height: 16.5px; }
html .rh-gmenu__mini small { display: block; color: var(--rh-link); font-family: var(--rh-en-sans); font-size: 10px; font-weight: 300; line-height: 1; margin-bottom: 4px; }
html .rh-gmenu__mini .rh-chev-circle { position: absolute; right: 9px; bottom: 8px; }
html .rh-gmenu__sns { display: flex; gap: 8px; margin-top: 2px; }

html .rh-gmenu__nav { border-left: 1px solid rgba(255, 255, 255, .5); padding-left: 26px; }
html .rh-gmenu__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 44px 33px; }
html .rh-gmenu__col summary { list-style: none; cursor: default; }
html .rh-gmenu__col summary::-webkit-details-marker { display: none; }
html .rh-gmenu__col-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 11px; }
html .rh-gmenu__col-head p { font-size: 17px; font-weight: 700; line-height: 22.5px; white-space: nowrap; }
html .rh-gmenu__col-head small { display: block; font-family: var(--rh-en-sans); font-size: 10px; font-weight: 300; line-height: 10px; letter-spacing: .68px; margin-bottom: 11px; }
html .rh-gmenu__col-head img { width: 72px; height: 50px; object-fit: cover; border-radius: 3px; flex: none; }
html .rh-gmenu__col > .rh-gmenu__col-head { padding-bottom: 32px; border-bottom: 2px solid rgba(255, 255, 255, .9); margin-bottom: 24px; }
html .rh-gmenu__col a,
html .rh-gmenu__about a { display: block; padding: 10px 0; font-size: 14px; line-height: 22.1px; transition: opacity .2s; }
html .rh-gmenu__col a:hover, html .rh-gmenu__about a:hover { opacity: .7; }
html .rh-gmenu__col > .rh-gmenu__col-head { padding-bottom: 24px; margin-bottom: 14px; }
html .rh-gmenu__col a { padding: 7px 0; }
html .rh-gmenu__chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin-top: 10px; font-size: 12px; }
html .rh-gmenu__chips span { width: 100%; opacity: .8; }
html .rh-gmenu__chips a { display: inline-block; padding: 4px 10px; border: 1px solid rgba(255, 255, 255, .7); border-radius: 2px; font-size: 12px; line-height: 1.5; }
html .rh-gmenu__chips a:hover { background: rgba(255, 255, 255, .15); }
/* サービス・ご相談（6事業すべて） */
html .rh-gmenu__service { margin-top: 44px; padding-top: 30px; border-top: 1.5px solid rgba(255, 255, 255, .7); }
html .rh-gmenu__service-head { font-size: 18px; font-weight: 700; line-height: 22.5px; }
html .rh-gmenu__service-head small { display: block; margin-bottom: 8px; font-family: var(--rh-en-sans); font-size: 10px; font-weight: 300; letter-spacing: .68px; }
html .rh-gmenu__others { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
/* 左の列のミニカード：イベント・見学会／LINE */
html .rh-gmenu__mini--line .rh-gmenu__mini-line { display: flex; align-items: center; justify-content: center; gap: 8px; height: 60px; background: #06c755; }
html .rh-gmenu__mini-line img { width: auto; height: 30px; filter: brightness(0) invert(1); }
html .rh-gmenu__mini-line b { white-space: nowrap; padding: 2px 8px; border-radius: 10px; background: var(--rh-white); color: #06c755; font-size: 10px; }
html .rh-gmenu__mini--line small { color: #06c755; }
/* 施工事例の列：新着の写真 */
html .rh-gmenu__pics { margin-top: 10px; font-size: 12px; }
html .rh-gmenu__pics > span { display: block; margin-bottom: 8px; opacity: .8; }
html .rh-gmenu__pics > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
html .rh-gmenu__pics a { display: block; border-radius: 3px; overflow: hidden; transition: opacity .2s; }
html .rh-gmenu__pics a:hover { opacity: .8; }
html .rh-gmenu__pics img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
html .rh-gmenu__others a {
  display: inline-flex; align-items: center; gap: 10px;
  height: 35px; padding: 8px 9px 7px 10px; border-radius: 3px;
  background: var(--rh-soft); color: var(--rh-dark);
  font-size: 14px; font-weight: 700; line-height: 19.2px;
}

/* ---------- 右端の追従ボタン（PC） ---------- */
html .rh-side {
  position: fixed; right: 0; bottom: 104px; z-index: 90;   /* 右下は LINE のボタン（rh/line）に空ける */
  display: flex; flex-direction: column; align-items: center;
  width: 69px; padding: 10px 1px 4px; border-radius: 6px 0 0 6px;
  background: var(--rh-blue); box-shadow: 0 6px 18px rgba(0, 47, 99, .18);
  transition: transform .3s;
}
html .rh-side > a {
  display: flex; flex-direction: column; align-items: center; gap: 7px;
  width: 100%; padding: 6px 0 11px;
  border-bottom: 1px dashed rgba(255, 255, 255, .6);
  color: var(--rh-white); font-size: 12px; font-weight: 700; line-height: 13px; letter-spacing: .6px; text-align: center;
}
html .rh-side > a + a { padding-top: 11px; }
html .rh-side > a:last-child { border-bottom: 0; }
html .rh-side.is-hidden { transform: translateX(110%); }

/* ---------- 下部の固定バー（SP） ---------- */
html .rh-spbar { display: none; }

/* SP 用の改行 */
html .rh-pc-br { display: inline; }

/* ==========================================================================
   SP（767px 以下）— デザイン 03_SPメニュー
   ========================================================================== */
@media (max-width: 1100px) {
  html .rh-gnav__link { font-size: 14px; letter-spacing: .4px; }
  html .rh-header__bar, html .rh-gnav { padding-left: 30px; padding-right: 30px; }
  html .rh-mega__panel { grid-template-columns: 300px 1fr 200px; gap: 40px; padding-left: 30px; padding-right: 30px; }
}

/* タブレット（768〜1023px。I3）：グロナビの6項目が詰まって重なるので、文字を小さく・字間なしに */
@media (min-width: 768px) and (max-width: 1023px) {
  html .rh-header__bar, html .rh-gnav { padding-left: 20px; padding-right: 20px; }
  html .rh-gnav__link { gap: 3px; font-size: 13px; letter-spacing: 0; }
}

@media (max-width: 767px) {
  html .rh-header__bar { height: var(--rh-header-h); padding: 0 20px; align-items: center; }
  html .rh-header__logo { margin-top: 0; }
  html .rh-header__logo { gap: 8px; }
  html .rh-header__logo img:first-child { width: 58px; }
  html .rh-header__logo img:last-child { width: 71px; }
  html .rh-header__btn, html .rh-gnav, html .rh-mega { display: none; }
  html .rh-header__menu-btn { padding-top: 0; }

  html .rh-gmenu { background: var(--rh-blue); }
  html .rh-gmenu__body { display: flex; flex-direction: column; padding: 40px 31px 120px; }
  html .rh-gmenu__nav { display: contents; }
  html .rh-gmenu__cols { order: 1; }
  html .rh-gmenu__service { order: 3; } /* SP：問い合わせ（資料請求〜Instagram）の後にサービス・ご相談 */
  html .rh-gmenu__cta { order: 2; }
  /* SP：グループごとに開閉（最初は閉じる。rh-common.js） */
  html .rh-gmenu__cols { grid-template-columns: 1fr; gap: 0; }
  html .rh-gmenu__col { border-bottom: 1px solid rgba(255, 255, 255, .5); }
  html .rh-gmenu__col summary { cursor: pointer; }
  html .rh-gmenu__col > .rh-gmenu__col-head { position: relative; align-items: center; padding: 16px 34px 16px 0; margin-bottom: 0; border-bottom: 0; }
  html .rh-gmenu__col > .rh-gmenu__col-head::after { content: "＋"; position: absolute; right: 2px; top: 50%; transform: translateY(-50%); font-size: 18px; }
  html .rh-gmenu__col[open] > .rh-gmenu__col-head::after { content: "−"; }
  html .rh-gmenu__col-head p { font-size: 18px; }
  html .rh-gmenu__col-head img { order: -1; width: 83px; height: 58px; }
  html .rh-gmenu__col-head { justify-content: flex-start; gap: 16px; }
  html .rh-gmenu__col ul { padding-bottom: 12px; }
  html .rh-gmenu__col a { padding: 8px 0; font-size: 14px; font-weight: 700; } /* 開いたときの項目は太字に */
  html .rh-gmenu__chips { margin: 0 0 16px; gap: 8px; }
  html .rh-gmenu__col .rh-gmenu__chips a { padding: 7px 16px; font-size: 13px; } /* 上の「.rh-gmenu__col a」で余白が消えていたので戻す（10/4） */
  html .rh-gmenu__pics { margin: 0 0 16px; }
  html .rh-gmenu__service { margin-top: 40px; padding-top: 0; border-top: 0; }
  html .rh-pc-br { display: none; }
  html .rh-gmenu__cta { padding: 0; margin-top: 44px; }
  /* 全体をコンパクトに（「こんくらいコンパクトに」）。見出しは大きいまま、開いた中の項目は 13px、アイコンは小さく */
  html .rh-gmenu__body { padding: 28px 24px 120px; }
  html .rh-gmenu__col > .rh-gmenu__col-head { padding: 11px 34px 11px 0; }
  html .rh-gmenu__col-head p { font-size: 16px; }
  html .rh-gmenu__col-head small { margin-bottom: 6px; }
  html .rh-gmenu__col a { padding: 7px 0; font-size: 13px; }
  html .rh-gmenu__col .rh-gmenu__chips a { padding: 5px 12px; font-size: 12px; }
  html .rh-gmenu__cta { margin-top: 32px; gap: 8px; }
  html .rh-gmenu__card { height: 60px; gap: 12px; padding: 0 12px 0 10px; }
  html .rh-gmenu__card > img { width: 36px; height: 36px; }
  html .rh-gmenu__card-text { font-size: 16px; }
  html .rh-gmenu__card .rh-arrow-circle { width: 22px; height: 22px; font-size: 11px; }
  html .rh-gmenu__sub { min-height: 40px; }
  html .rh-gmenu__service { margin-top: 32px; }

  html .rh-side { display: none; }
  /* 下部の3つのボタン：画面の下にベタ付けせず、3つが別々のボタンとして浮いて見える形に。
     画面の端・iPhone のホームバーから余白をとり、角丸＋影。アイコンは文字の左に置いて高さを抑える */
  html .rh-spbar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px;
    padding: 0 7px calc(7px + env(safe-area-inset-bottom)); /* 下に寄せ、隙間は小さく */
    pointer-events: none; /* ボタンの間の隙間は下のページを押せる */
    transition: transform .3s, opacity .3s;
  }
  html .rh-spbar a {
    pointer-events: auto;
    display: flex; align-items: center; justify-content: center; gap: 6px;
    min-height: 48px; padding: 0 4px; border-radius: 5px;
    background: var(--rh-blue); color: var(--rh-white);
    box-shadow: 0 6px 16px rgba(0, 47, 99, .28), 0 1px 3px rgba(0, 47, 99, .2);
    font-size: 13px; font-weight: 700; line-height: 1.2; white-space: nowrap;
    transition: transform .15s, box-shadow .15s;
  }
  html .rh-spbar a:active { transform: scale(.97); box-shadow: 0 3px 8px rgba(0, 47, 99, .25); }
  html .rh-spbar img { flex: none; width: auto; height: 16px; }
  html .rh-spbar img[src*="side-contact"] { height: 12px; } /* 封筒は横長なので、ほかの2つと見た目の大きさをそろえる */
  @media (max-width: 374px) { html .rh-spbar a { gap: 4px; font-size: 12px; } html .rh-spbar img { height: 14px; } html .rh-spbar img[src*="side-contact"] { height: 11px; } }
  html .rh-spbar.is-hidden { transform: translateY(calc(100% + 24px)); opacity: 0; }
}

/* フォーム入力中のページでは追従を出さない（CTA・フッターの仕様） */
html .rh-no-sticky .rh-side,
html .rh-no-sticky .rh-spbar { display: none; }

/* ---------- 開閉のアニメーション（パッと切り替わりすぎない） ---------- */
html .rh-mega {
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: opacity .25s ease, transform .25s ease, visibility 0s linear .25s;
}
html .rh-mega.is-open { opacity: 1; visibility: visible; transform: none; transition: opacity .25s ease, transform .25s ease, visibility 0s; }
html .rh-mega__panel:not([hidden]) { animation: rh-fade .25s ease; }
html .rh-gmenu {
  opacity: 0; visibility: hidden;
  transition: opacity .3s ease, visibility 0s linear .3s;
}
html .rh-gmenu.is-open { opacity: 1; visibility: visible; transition: opacity .3s ease, visibility 0s; }
html .rh-gmenu__body { transform: translateY(16px); transition: transform .4s cubic-bezier(.2, .7, .2, 1); }
html .rh-gmenu.is-open .rh-gmenu__body { transform: none; }
@keyframes rh-fade { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  html .rh-mega, html .rh-gmenu, html .rh-gmenu__body { transition: none; }
  html .rh-mega__panel:not([hidden]) { animation: none; }
}

/* ---------- ページ専用の下部バー（SP）---------- */
html .rh-ctxbar { display: none; }
@media (max-width: 767px) {
  html .rh-no-spbar .rh-spbar { display: none; }
  /* 物件・イベントの専用バーも、共通の3つと同じく浮いたボタンに（10/4） */
  html .rh-ctxbar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
    display: flex; gap: 5px; padding: 0 7px calc(7px + env(safe-area-inset-bottom));
    pointer-events: none;
    transition: transform .3s, opacity .3s;
  }
  html .rh-ctxbar a { pointer-events: auto; display: flex; align-items: center; justify-content: center; min-height: 48px; border-radius: 5px; font-size: 14px; font-weight: 700; box-shadow: 0 6px 16px rgba(0, 47, 99, .22), 0 1px 3px rgba(0, 47, 99, .16); transition: transform .15s; }
  html .rh-ctxbar a:active { transform: scale(.97); }
  html .rh-ctxbar__main { flex: 1; background: var(--rh-blue); color: var(--rh-white); }
  html .rh-ctxbar__sub { flex: 0 0 34%; border: 1px solid var(--rh-blue); color: var(--rh-blue); background: var(--rh-white); }
  /* 一覧の「保存した物件」バーも同じ位置・角丸に */
  body .rh-savedbar { left: 7px; right: 7px; bottom: calc(7px + env(safe-area-inset-bottom)); border-radius: 5px; }
  html .rh-ctxbar.is-hidden { transform: translateY(calc(100% + 24px)); opacity: 0; }
  html .rh-ctxbar[hidden] { display: none; }
}

/* 法人・事業用建築の入口（全体メニューの「サービス・ご相談」の先頭。違和感のない程度に目立たせる。画像なし）
   ほかの項目（白いボタン）と同じ白地で、2行ぶんの高さ＋英字ラベル＋説明で一段大きく */
html .rh-gmenu__service-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: 18px; }
html .rh-gmenu__service-row .rh-gmenu__others { margin-top: 0; }
html .rh-gmenu__biz { position: relative; display: flex; align-items: center; min-height: 64px; padding: 10px 44px 10px 16px; background: var(--rh-white); border-radius: 3px; color: var(--rh-dark); transition: box-shadow .2s; }
html .rh-gmenu__biz:hover { box-shadow: 0 0 0 2px rgba(255, 255, 255, .6); }
html .rh-gmenu__biz span { padding: 0; font-size: 15px; font-weight: 700; line-height: 1.4; }
html .rh-gmenu__biz small { display: block; margin-bottom: 3px; color: var(--rh-link); font-family: var(--rh-en-sans); font-size: 10px; font-weight: 300; line-height: 1; }
html .rh-gmenu__biz em { display: block; margin-top: 3px; color: var(--rh-card-lead); font-size: 11px; font-style: normal; font-weight: 500; }
html .rh-gmenu__biz .rh-chev-circle { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); }
@media (max-width: 767px) {
  html .rh-gmenu__service-row { align-items: stretch; }
  html .rh-gmenu__biz { flex: 1 1 100%; }
}

/* 全体メニュー：写真なし版。グループの見出しは文字だけ。見学会・LINE は問い合わせの3枚より控えめな、枠線だけの1行リンク */
html .rh-gmenu__col > .rh-gmenu__col-head { justify-content: space-between; } /* PC：見出しの右に写真（10/4 夜に戻した） */
html .rh-gmenu__subs { display: grid; gap: 8px; margin-top: 4px; }
html .rh-gmenu__sub { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 14px; border: 1px solid rgba(255, 255, 255, .55); border-radius: 3px; color: var(--rh-white); font-size: 13px; font-weight: 700; transition: background-color .2s; }
html .rh-gmenu__sub:hover { background: rgba(255, 255, 255, .1); }
html .rh-gmenu__sub img { flex: none; width: auto; height: 18px; }
html .rh-gmenu__sub span { flex: 1; }
html .rh-gmenu__sub small { padding: 1px 7px; border-radius: 10px; background: var(--rh-white); color: #06c755; font-size: 10px; font-weight: 700; white-space: nowrap; }
html .rh-gmenu__sub i { font-style: normal; font-weight: 400; opacity: .8; }
@media (max-width: 767px) {
  html .rh-gmenu__col > .rh-gmenu__col-head { padding: 11px 34px 11px 0; justify-content: flex-start; }   /* コンパクトに（18px → 11px） */
  html .rh-gmenu__col-head img { display: none; } /* SP は文字だけ */
}
/* 項目の下に差し込むチップ（エリア・ブランド。10/4）：見出しなしで、項目の下に字下げして並べる */
html .rh-gmenu__chips--in { margin: 2px 0 10px; }
html .rh-gmenu__chips--in a { padding: 3px 10px; }
@media (max-width: 767px) {
  html .rh-gmenu__col .rh-gmenu__chips--in { margin: 0 0 8px; }
}
/* メガメニュー「両備ホームズについて」の右：サービス・ご相談（10/4。全体メニューと同じ中身。法人は一段強いカード、ほかはチップ） */
html .rh-mega__biz { display: block; margin-top: 10px; padding: 10px 12px; border: 1px solid var(--rh-link); border-radius: 3px; background: var(--rh-white); color: var(--rh-dark); font-size: 13px; font-weight: 700; line-height: 1.45; transition: background-color .2s; }
html .rh-mega__biz:hover { background: var(--rh-soft); }
html .rh-mega__biz small { display: block; margin-bottom: 3px; color: var(--rh-link); font-family: var(--rh-en-sans); font-size: 10px; font-weight: 300; line-height: 1; }
html .rh-mega__biz em { display: block; margin-top: 3px; color: var(--rh-card-lead); font-size: 11px; font-style: normal; font-weight: 500; }
/* 全体メニュー PC：問い合わせの列を右に（開いてすぐ項目を読み、下へスクロールできるように） */
@media (min-width: 768px) {
  html .rh-gmenu__body { grid-template-columns: 1fr 281px; }
  html .rh-gmenu__nav { order: 1; border-left: 0; padding-left: 0; border-right: 1px solid rgba(255, 255, 255, .5); padding-right: 26px; }
  html .rh-gmenu__cta { order: 2; padding-right: 0; padding-left: 26px; }
}
/* 「メニュー」の文字を外した：アイコンだけを右のボタンの高さの中央に */
html .rh-header__menu-btn { align-self: stretch; justify-content: center; padding-top: 0; }

/* グロナビの項目の間の細い縦線（中田さんの #1：間隔が広い → 区切りに見せる）。space-between で項目と同じく均等に並ぶので、ちょうど間の真ん中に来る */
html .rh-gnav__sep { flex: none; width: 1px; height: 14px; margin-top: 7px; background: var(--rh-line); }

/* 採用情報：資料請求などのボタンの左に、青い文字＋矢印の小さなリンク。細い縦線でボタンと区切る（両備さんの依頼・清水 10/27。英字の小見出しは目立つのでやめた）。ボタンより目立たせない */
html .rh-header__recruit { align-self: center; display: inline-flex; align-items: center; gap: 8px; margin-right: 14px; padding: 1px 16px 4px 0; border-right: 1px solid #c9d3de; color: var(--rh-link); font-size: 13px; font-weight: 700; line-height: 1.4; letter-spacing: .5px; text-decoration: none; transition: color .2s; }
html .rh-header__recruit::after { content: ""; width: 5px; height: 5px; border-top: 1.4px solid currentColor; border-right: 1.4px solid currentColor; transform: rotate(45deg); transition: transform .2s; }
@media (hover: hover) {
  html .rh-header__recruit:hover { color: var(--rh-blue); text-decoration: underline; text-underline-offset: 3px; }
  html .rh-header__recruit:hover::after { transform: translateX(2px) rotate(45deg); }
}
@media (max-width: 767px) { html .rh-header__recruit { display: none; } }
