/* =====================================================================
   Realty Home — Brand Override (Navy × Black × Gold)
   既存テーマの上に被せる配色レイヤー。最後に読み込む。
   いつでも外せるよう、元CSSは編集せずここで上書きする。
   ===================================================================== */
:root{
  --rh-navy-deep:#0a1830;
  --rh-navy:#13294f;
  --rh-navy-soft:#1d3a6b;
  --rh-gold:#c6a15b;
  --rh-gold-bright:#d8bd7e;
  --rh-black:#0c0f14;
  --rh-cream:#f4f1ea;
}

/* ---- 共通アクセント：旧ベージュ/淡色を金へ ---- */
[style*="#cfc4a7"]{color:var(--rh-gold) !important;}

/* ---- ヘッダー右上CTA（資料請求/予約）：紺地＋金文字＋金枠 ---- */
.header__rsv{
  background:var(--rh-navy) !important;
  border:1px solid var(--rh-gold) !important;
  transition:background .3s ease,color .3s ease;
}
.header__rsv .header__rsvImg.rh-text,
.header__rsv .header__rsvEngImg.rh-text{
  color:var(--rh-gold) !important;
}
.header__rsv:hover{ background:var(--rh-gold) !important; }
.header__rsv:hover .header__rsvImg.rh-text,
.header__rsv:hover .header__rsvEngImg.rh-text{ color:var(--rh-navy-deep) !important; }

/* ---- 左サイドナビ：金のホバー下線・SNSアイコンを紺 ---- */
.sidenav__link{position:relative;transition:color .25s ease;}
.sidenav__link:hover .sidenav__img.rh-text{color:var(--rh-navy) !important;}
.sidenav__img.rh-text{transition:color .25s ease;}
.sidenav__link::after{
  content:"";position:absolute;left:0;bottom:-4px;width:0;height:1px;
  background:var(--rh-gold);transition:width .3s ease;
}
.sidenav__link:hover::after{width:100%;}

/* ---- 見出し：紺＋金のひげ罫 ---- */
.rh-heading,
.secGuidance__tit,
.page-ttl,
.secGallery__headTtl,
.secConcept__ttl{
  color:var(--rh-navy) !important;
}

/* ---- 予約/CTA帯（secRsv / secRsv2nd）：紺地に金 ---- */
.secRsv,
.secRsv2nd{
  background:linear-gradient(rgba(10,24,48,.5) 0%, rgba(10,24,48,.62) 100%), url(../img/bg_secRsv2nd.webp) center center / cover no-repeat !important;
}
.secRsv *,
.secRsv2nd *{ color:var(--rh-cream) !important; }
.secRsv a,
.secRsv2nd a{
  border-color:var(--rh-gold) !important;
}
.secRsv a:hover,
.secRsv2nd a:hover{
  background:var(--rh-gold) !important;
  color:var(--rh-navy-deep) !important;
}

/* ---- ギャラリー見出しのEngなどに金の細線 ---- */
.secGallery__head::after{
  content:"";display:block;width:48px;height:2px;margin:18px auto 0;
  background:var(--rh-gold);
}

/* ---- フッター：深紺〜黒、リンクは金ホバー ---- */
.footer{
  background:linear-gradient(180deg,var(--rh-navy-deep) 0%,var(--rh-black) 100%) !important;
}
.footer *{ color:var(--rh-cream) !important; }
.footer__primaryLink,
.footer__navLink{ transition:color .25s ease; }
.footer__primaryLink:hover,
.footer__navLink:hover{ color:var(--rh-gold) !important; }
.footer__snsLink img{ opacity:.9; transition:opacity .25s ease; }
.footer__snsLink:hover img{ opacity:1; }

/* ---- 全体の選択色・リンクホバーを金へ ---- */
::selection{ background:var(--rh-gold); color:var(--rh-navy-deep); }

/* ---- PCのヘッダーロゴを大きく＋動画上でも視認できるよう白ハロー（PCのみ） ---- */
@media (min-width:769px){
  .header__txtImg{
    width:clamp(255px, 19vw, 330px) !important; height:auto !important;
    filter:drop-shadow(0 0 3px rgba(255,255,255,.85)) drop-shadow(0 1px 10px rgba(255,255,255,.5));
  }
  /* TOP「売る・買う・建てる…」帯のキャッチをPCのみ大きく */
  .blockGently__catch{ font-size:clamp(30px, 3.2vw, 46px) !important; line-height:1.7 !important; }
}

/* 下層FV：差し替え写真のアスペクト差で背景がFV枠より下にはみ出し、本文見出しに被るのを防ぐ */
.page-fv{ overflow:hidden; }
.page-fv__bg{ height:100% !important; object-fit:cover !important; }

/* ==== 下層ページ本文：TOP/LP調の画像＋テキスト交互ブロック ==== */
.rh-svc{ margin:12rem 6rem 6rem 40rem; position:relative; z-index:1; background:transparent; }
.rh-svc__head{ text-align:center; margin:0 0 2rem; }
.rh-svc__headJa{ display:block; font-family:'Noto Serif JP',serif; font-weight:600; font-size:clamp(26px,3.2vw,40px); color:var(--rh-navy); letter-spacing:.12em; line-height:1.3; }
.rh-svc__headEn{ display:block; margin-top:1.4rem; font-family:'Cormorant','Noto Serif JP',serif; font-size:15px; letter-spacing:.28em; color:var(--rh-gold); text-transform:uppercase; }
.rh-svc__sub{ text-align:center; color:#4a4a4a; font-family:'Noto Serif JP',serif; line-height:2.1; margin:0 0 6rem; font-size:16px; }

.rh-svc__blocks{ display:flex; flex-direction:column; gap:5rem; }
.rh-svc__block{ display:grid; grid-template-columns:1.05fr 1fr; align-items:stretch; background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 2rem 7rem rgba(10,24,48,.10); }
.rh-svc__media{ overflow:hidden; min-height:30rem; }
.rh-svc__media img{ display:block; width:100%; height:100%; min-height:30rem; object-fit:cover; transition:transform .8s ease; }
.rh-svc__block:hover .rh-svc__media img{ transform:scale(1.05); }
.rh-svc__block--rev .rh-svc__media{ order:2; }
.rh-svc__body{ padding:4.5rem 4.8rem; display:flex; flex-direction:column; justify-content:center; }
.rh-svc__no{ display:block; font-family:'Cormorant',serif; font-size:3.4rem; line-height:1; color:var(--rh-gold); letter-spacing:.12em; margin:0 0 1.2rem; }
.rh-svc__ttl{ font-family:'Noto Serif JP',serif; font-weight:600; font-size:clamp(20px,2.2vw,27px); color:var(--rh-navy-deep); margin:0 0 2rem; line-height:1.45; padding-bottom:1.8rem; border-bottom:1px solid #e7e2d6; }
.rh-svc__ttl small{ display:block; margin-top:.9rem; font-size:13px; font-weight:700; color:var(--rh-gold); letter-spacing:.1em; }
.rh-svc__txt{ font-family:'Noto Serif JP',serif; color:#3a3a3a; line-height:2.15; font-size:15.5px; letter-spacing:.02em; }
.rh-svc__txt strong{ color:var(--rh-navy); font-weight:700; }

.rh-svc__area{ margin:7rem 0 0; text-align:center; background:linear-gradient(135deg,var(--rh-navy-deep),var(--rh-navy)); color:#fff; border-radius:14px; padding:4rem 3rem; }
.rh-svc__areaTtl{ display:block; font-family:'Cormorant','Noto Serif JP',serif; color:var(--rh-gold-bright); font-size:17px; letter-spacing:.16em; margin:0 0 1.4rem; }
.rh-svc__areaTxt{ font-family:'Noto Serif JP',serif; line-height:1.95; font-size:15.5px; color:#eef1f6; }

.rh-svc__cta{ display:flex; gap:2rem; justify-content:center; flex-wrap:wrap; margin:6rem 0 0; }
.rh-svc__btn{ display:inline-flex; align-items:center; justify-content:center; min-width:30rem; padding:2rem 3rem; border-radius:6rem; background:var(--rh-gold); color:var(--rh-navy-deep)!important; font-weight:700; font-size:16px; letter-spacing:.06em; transition:.25s; }
.rh-svc__btn:hover{ background:var(--rh-gold-bright); transform:translateY(-2px); }
.rh-svc__btn--sub{ background:transparent; border:1.5px solid var(--rh-navy); color:var(--rh-navy)!important; }
.rh-svc__btn--sub:hover{ background:var(--rh-navy); color:#fff!important; }

@media (max-width:768px){
  .rh-svc{ margin:6rem 2rem 3rem; }
  .rh-svc__sub{ margin-bottom:4rem; }
  .rh-svc__blocks{ gap:3rem; }
  .rh-svc__block{ grid-template-columns:1fr; }
  .rh-svc__block--rev .rh-svc__media{ order:0; }
  .rh-svc__media, .rh-svc__media img{ min-height:22rem; }
  .rh-svc__body{ padding:3.2rem 2.6rem; }
  .rh-svc__btn{ min-width:auto; width:100%; }
}

/* ==== 各下層ページ共通の締めCTA（facilityと統一） ==== */
.rh-pagecta{ margin:11rem 6rem 7rem 40rem; padding:6rem 4rem; text-align:center; background:var(--rh-cream); border-radius:14px; }
.rh-pagecta__lead{ font-family:'Noto Serif JP',serif; color:var(--rh-navy-deep); font-size:clamp(18px,2.1vw,24px); line-height:1.9; letter-spacing:.06em; margin:0 0 1rem; }
.rh-pagecta__sub{ font-family:'Noto Serif JP',serif; color:#4a4a4a; font-size:15.5px; line-height:1.9; margin:0 0 3.4rem; }
.rh-pagecta .rh-svc__cta{ margin:0; }
@media (max-width:768px){
  .rh-pagecta{ margin:6rem 2rem 3rem; padding:4rem 2rem; }
}

/* ---- フッターロゴ：模写元の扇ロゴ(logo.svg)除去＋反転解除＋白チップで正しく表示 ---- */
.footer__logo{
  background:#fff !important; mix-blend-mode:normal !important;
  padding:1.1rem 1.8rem !important; border-radius:8px;
  width:-moz-max-content !important; width:max-content !important;
  min-height:0 !important; margin-left:auto !important;
}
.footer__logoImg{ display:block !important; width:17rem !important; height:auto !important; margin:0 !important; }
.footer__engImg{ display:none !important; }
@media (max-width:768px){
  .footer__logo{ margin:3rem auto 2.5rem !important; }
  .footer__logoImg{ width:15rem !important; }
}

/* ---- フッター下部の装飾（footerAnime）: 線画→写真の演出を有効化（2026-07-09） ---- */

/* ---- 右上の「お問い合わせ」CTAボタンを非表示（ナビ＋追従CTAと重複のため） ---- */
.header__rsv{ display:none !important; }

/* ---- 上部グローバルナビ（横型ピル）を全ページ非表示 ---- */
.rh-gnav{ display:none !important; }

/* ---- TOP Conceptセクションの動画（concept.mp4＝クライアント支給素材）を表示（2026-07-09） ---- */

/* ---- View More等の hover-link：文字が矢印と重なる不具合を解消（自動幅＋矢印余白） ---- */
.hover-link{
  display:inline-flex !important; width:auto !important;
  padding:0 5rem 0 2rem !important;
  font-size:13px !important; white-space:nowrap !important;
}

/* ---- TOP secInside帯：宿のSVG文字→HTMLのクライアント文に置換した分の体裁 ---- */
.blockGently__catch{
  width:auto !important; height:auto !important; display:block;
  color:#fff !important; font-family:'Noto Serif JP',serif; font-weight:600;
  font-size:clamp(18px,2.1vw,29px); line-height:1.75; letter-spacing:.04em;
  text-shadow:0 2px 14px rgba(0,0,0,.78), 0 0 4px rgba(0,0,0,.5);
}

/* ---- Contact帯：宿のSVG「宿泊予約」→HTML「お問い合わせ」見出し ---- */
.tripla__ttlText{
  display:inline-block; width:auto !important; color:#fff !important;
  font-family:'Noto Serif JP',serif; font-weight:600;
  font-size:clamp(26px,3vw,40px); letter-spacing:.14em;
}
/* secRsv2ndの大きな白ボタンを復元（グローバルhover-link上書きの巻き戻し）＋白地に濃色文字 */
.secRsv2nd .hover-link{
  display:flex !important; width:-moz-fit-content !important; width:fit-content !important; max-width:86vw;
  margin:0 auto !important; padding:2.6rem 7rem 2.6rem 3.2rem !important; height:auto !important;
  font-size:2rem !important; line-height:1 !important; font-weight:700;
  align-items:center; justify-content:flex-start; white-space:nowrap !important;
  background:#fff !important; border:none !important; border-radius:5rem !important;
  color:#15233b !important;
}
.secRsv2nd .hover-link::before{ right:2.6rem !important; }
.secRsv2nd .hover-link::after{ right:3.6rem !important; }
.secRsv2nd .hover-link:hover{ color:#15233b !important; background:#fff !important; }
@media (max-width:768px){
  .secRsv2nd .hover-link{ padding:1.8rem 5rem 1.8rem 2.4rem !important; font-size:1.6rem !important; }
  .secRsv2nd .hover-link::before{ right:2rem !important; }
  .secRsv2nd .hover-link::after{ right:3rem !important; }
}

/* ---- TOP Property Gallery：スライダー画像を均一サイズに（縦横バラつき解消） ---- */
.gallerySlider__items{ align-items:center !important; }
.gallerySlider__img,
.gallerySlider__img.is-vertical,
.gallerySlider__img.is-landscape{
  width:38rem !important; height:25rem !important;
  object-fit:cover !important; border-radius:6px;
}
@media (max-width:768px){
  .gallerySlider__img, .gallerySlider__img.is-vertical, .gallerySlider__img.is-landscape{
    width:28rem !important; height:18rem !important;
  }
}
/* ---- Property Gallery 下のView More：中央配置を復元（グローバルinline-flex化で左寄りになった分） ---- */
.secGallery .hover-link{
  display:flex !important; width:-moz-max-content !important; width:max-content !important;
  margin:8rem auto 0 !important;
}
/* ---- Property Gallery 見出し：左ナビに被らないよう左に余白＋サイズ調整 ---- */
.secGallery__head{
  justify-content:flex-start !important; align-items:flex-end;
  padding-left:42rem !important; padding-right:4rem; gap:0 5rem !important;
}
.secGallery .top-ttl{ font-size:6.2rem !important; margin:0 !important; }
@media (max-width:768px){
  .secGallery__head{ padding-left:0 !important; justify-content:center !important; flex-direction:column; align-items:center; }
  .secGallery .top-ttl{ font-size:3.4rem !important; }
}

/* ---- secGuidance（Blog/仲介手数料無料）：SVG文字→HTML化＋ボタンの高さ揃え ---- */
.secGuidance{ height:auto !important; background:#141414 !important; }  /* 固定高さ撤廃＋宿のノート背景(bg_guidance)除去 */
/* TOP Conceptの宿の置き時計装飾(img_clock)を非表示 */
.secConcept__clock{ display:none !important; }
.secGuidance__titText{
  display:block; width:auto !important; color:#fff !important;
  font-family:'Noto Serif JP',serif; font-weight:600;
  font-size:clamp(24px,2.6vw,34px); letter-spacing:.12em; line-height:1.25;
}
/* membership「特典内容」見出し（SVG→HTML化） */
.benefits-imgText{
  display:inline-block; width:auto !important; color:var(--rh-navy) !important;
  font-family:'Noto Serif JP',serif; font-weight:600;
  font-size:clamp(20px,2.4vw,27px); letter-spacing:.08em;
}
.secGuidance__data{ display:flex !important; flex-direction:column; }
/* 暗い背景で読めるよう本文を明るく（#999→明るいグレー） */
.secGuidance__data, .secGuidance__txt{ color:#e2e2e2 !important; }
.secGuidance__data .hover-link{ margin-top:3rem !important; }  /* テキスト下に余白でボタン配置 */
@media (min-width:769px){
  .secGuidance__data .hover-link{ margin-top:5rem !important; align-self:flex-start; }  /* PCはテキストと十分間隔＋左右で下端揃え */
}

/* =====================================================================
   FAQページ（/faq/）アコーディオン
   ===================================================================== */
.faqWrap{ max-width:96rem; }
.faqCat{
  margin:4rem 0 1.6rem; padding-left:1.4rem; position:relative;
  font-size:20px !important; font-weight:700; color:var(--rh-navy) !important;
  font-family:'Noto Serif JP',serif; letter-spacing:.04em;
}
.faqCat::before{ content:""; position:absolute; left:0; top:.2em; bottom:.2em; width:4px; background:var(--rh-gold); border-radius:2px; }
.faqCat:first-of-type{ margin-top:0; }
.faqItem{
  border:1px solid rgba(10,24,48,.14); border-radius:8px; margin-bottom:1.2rem;
  background:#fff; overflow:hidden; transition:box-shadow .25s ease;
}
.faqItem[open]{ box-shadow:0 8px 26px rgba(10,24,48,.10); }
.faqItem__q{
  list-style:none; cursor:pointer; display:flex; align-items:flex-start; gap:1rem;
  padding:1.8rem 4.5rem 1.8rem 1.8rem; position:relative;
  font-size:16px !important; font-weight:600; color:var(--rh-navy-deep);
  line-height:1.6; letter-spacing:.02em;
}
.faqItem__q::-webkit-details-marker{ display:none; }
.faqItem__num{
  flex:0 0 auto; min-width:3.4rem; font-family:'Cormorant Garamond',serif;
  font-weight:700; font-size:16px; color:var(--rh-gold); letter-spacing:.04em;
}
.faqItem__q::after{
  content:""; position:absolute; right:2rem; top:2.2rem; width:1.1rem; height:1.1rem;
  border-right:2px solid var(--rh-navy); border-bottom:2px solid var(--rh-navy);
  transform:rotate(45deg); transition:transform .25s ease;
}
.faqItem[open] .faqItem__q::after{ transform:rotate(-135deg); }
.faqItem__a{
  padding:0 1.8rem 1.9rem 6.2rem; font-size:15px !important; line-height:1.9;
  color:#3a4252; letter-spacing:.02em; overflow-wrap:anywhere;
}
@media (max-width:768px){
  .faqCat{ font-size:17px !important; }
  .faqItem__q{ padding:1.4rem 3.6rem 1.4rem 1.4rem; gap:.6rem; }
  .faqItem__a{ padding:0 1.4rem 1.5rem 1.4rem; }
}

/* ---- LPのFVキャッチ：幅を広げ・文字最適化し、文区切りで2行に整える ---- */
.rh-lp .page-fv__img.rh-text{
  max-width:min(92%, 620px) !important;
  width:max-content !important;
  font-size:clamp(17px, 2vw, 25px) !important;
  line-height:1.8 !important;
  text-wrap:balance !important;
  padding:.7em 1.3em !important;
}
@media (max-width:768px){
  .rh-lp .page-fv__img.rh-text{ max-width:90vw !important; font-size:clamp(15px,4.4vw,20px) !important; }
}

/* =====================================================================
   レイアウト/改行の全体調整（PC・タブレット・SP）
   ===================================================================== */
/* conceptカード：固定高さ(44rem)で内容が溢れる→内容に合わせて伸びる方式へ */
.conceptCard__block{
  height:auto !important;
  min-height:44rem;
  padding-bottom:7rem !important;
  box-sizing:border-box;
}
@media (max-width:1024px){
  .conceptCard, .conceptCard__block{ width:auto !important; }
}
@media (max-width:768px){
  .conceptCard__block{ min-height:0 !important; padding-bottom:3rem !important; }
}
/* 本文の自然な折り返し＋はみ出し防止（全ページ・全幅で有効） */
.page-fv__img, .page-lead__txt, .conceptCard__txt, .conceptCard__txt p,
.conceptBottom__txt, .secConcept__txt, .secGuidance__txt, .secGallery__txt,
.aboutSec__txt, .aboutSec__listDesc, .membership-leadTxt, .experiencesList__txt,
.articleCard__txt, .benefitsCard__item, .optionCard__txt{
  overflow-wrap:anywhere;
  line-break:strict;
}
/* 文節単位の賢い折り返し（対応ブラウザのみ・未対応は自動で無視） */
.page-lead__txt, .conceptCard__txt p, .conceptBottom__txt, .aboutSec__txt{ word-break:auto-phrase; }
.page-fv__img.rh-text{ text-wrap:balance; }

/* ---- LP本文末CTA：日本語テキストに合わせて幅・余白を整形（矢印と重ならない） ---- */
.rh-lp .conceptBottom .hover-link{
  display:inline-flex !important;
  width:auto !important; height:auto !important; min-height:4.8rem;
  padding:1.3rem 5.4rem 1.3rem 2.8rem !important;
  margin-top:1.4rem;
  font-size:16px !important; font-weight:600 !important; line-height:1.5 !important;
  white-space:nowrap !important;
}

/* ---- スライダー(conceptSlider)のスクロールを復活 ----
   lp-builderの「*{animation-duration:0.01ms}」に巻き込まれてカクついていたのを、
   該当要素だけ本来の30s無限スクロールに戻す（specificityで上書き）。 */
.conceptSlider__items, .gallerySlider__items{ animation-duration:30s !important; animation-iteration-count:infinite !important; }

/* ---- 背景の流れるブランド文字(text-loop)も同様に復活 ---- */
.text-loop__inner{ animation-duration:50s !important; animation-iteration-count:infinite !important; }

/* ---- 左サイドナビ：英字=小さな金のeyebrow、日本語=主役の白文字 ---- */
.sidenav__link--jpn::before{ display:none !important; }
.sidenav__img.rh-text{                       /* 英字ラベル（eyebrow） */
  display:block !important;
  font-size:10px !important; letter-spacing:.1em !important; text-transform:uppercase;
  line-height:1.2 !important; white-space:nowrap !important;
}
.sidenav__link--jpn{ margin-top:.4rem !important; }
.sidenav__imgJpn.rh-text{                     /* 日本語ラベル（主役） */
  font-size:16px !important; font-weight:600 !important;
  letter-spacing:.05em !important; line-height:1.3 !important; white-space:nowrap !important;
}

/* =====================================================================
   全ページ：本文テキストの最低サイズ 16px
   （html が画面幅比例 min(10px,.5208vw) で縮む設計のため、通常モニターで
    本文が16px未満になる。見出し/FVキャッチ/ロゴ文字は除外して崩れ防止。）
   ===================================================================== */
body{ font-size:16px !important; }
p, li, dd, dt, td, th, a, label, blockquote, address, figcaption, small,
input, textarea, select, button,
.page-lead__txt, .conceptCard__txt, .conceptBottom__txt,
.secConcept__txt, .secGuidance__txt, .secGallery__txt,
.footer__navLink, .footer__copy, .footer__infoText, .footer__primaryLink--jp,
.rh-gnav__link, .rh-gnav__subLink, .rh-macc__subLink,
.mobile-menu__primaryLink, .mobile-menu__secondaryLink, .mobile-menu__primaryLink--jpn,
.articleCard__txt, .articleCard__categoryName, .articleCard__date, .secBlogBottom__link,
.experiencesList__txt, .fixed-menu__link,
.membership-leadTxt, .benefitsCard__item, .membership-table__td,
.aboutSec__txt, .aboutSec__businessItem, .aboutSec__listTerm, .aboutSec__listDesc,
.policySec__txt, .contactForm__txt{
  font-size:16px !important;
}
/* 小見出し・カードタイトル類は18px下限 */
.articleCard__ttl, .aboutSec__ttl, .experiencesList__ttl,
.benefitsCard__ttl, .membership-table__th, .page-subTtl__eng{
  font-size:18px !important;
}

/* =====================================================================
   左サイドナビの可読性：紺地×金枠の角丸パネルで囲む（上部ナビと統一）
   （mix-blend-mode:difference は背景次第で読めなくなるため解除）
   ===================================================================== */
.sidenav{
  mix-blend-mode:normal !important;
  background:linear-gradient(180deg, rgba(10,24,48,.92) 0%, rgba(12,15,20,.92) 100%) !important;
  border:1px solid rgba(198,161,91,.45) !important;
  border-radius:12px !important;
  padding:2.6rem 2.2rem !important;
  box-shadow:0 12px 32px rgba(10,24,48,.28) !important;
  -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
}
/* 縦の余白を詰めてパネルをコンパクトに（元は list margin-bottom:10rem ＋ sns 絶対配置） */
.sidenav__list{ margin-bottom:2rem !important; gap:1.8rem 0 !important; }
.sidenav__sns{ position:static !important; }
.sidenav .sidenav__img.rh-text{ color:var(--rh-gold-bright) !important; text-shadow:none !important; opacity:1 !important; }
.sidenav .sidenav__imgJpn.rh-text{ color:#fff !important; text-shadow:none !important; opacity:1 !important; }
.sidenav__link:hover .sidenav__img.rh-text{ color:#fff !important; }
.sidenav .sidenav__snsImg{ opacity:.95; }

/* ---- 左ナビ：親のみ表示、Service/About/Newsはホバーで子を紺枠フライアウト表示 ---- */
.sidenav{ max-width:none !important; overflow:visible !important; }
.sidenav .rh-snav{ display:block !important; max-height:none !important; overflow:visible !important; margin-bottom:1rem !important; }
.rh-snav__group{ position:relative; margin-bottom:3px; }
.rh-snav__parent{
  display:block; padding:7px 2px; font-size:15px; font-weight:700;
  color:#fff !important; letter-spacing:.04em; white-space:nowrap;
  transition:color .2s ease;
}
.rh-snav__parent:hover{ color:var(--rh-gold-bright) !important; opacity:1; }
/* 子を持つ親に▸の目印 */
.rh-snav__group:has(.rh-snav__sub) .rh-snav__parent::after{
  content:"›"; margin-left:.5rem; color:var(--rh-gold); font-weight:700; opacity:.85;
}
/* 子：通常は非表示、ホバーで右側に紺枠フライアウト（1行表示） */
.rh-snav__sub{
  position:absolute; left:100%; top:-0.8rem; z-index:80;
  width:max-content; padding:8px 6px; margin-left:1rem;
  background:linear-gradient(180deg, rgba(10,24,48,.97) 0%, rgba(12,15,20,.97) 100%);
  border:1px solid rgba(198,161,91,.45); border-radius:8px;
  box-shadow:0 14px 38px rgba(10,24,48,.42); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
  opacity:0; visibility:hidden; transform:translateX(-6px); pointer-events:none;
  /* 消える遅延(.35s)をshorthandに直接埋め込み、サブへ移動する猶予を確保 */
  transition:opacity .18s ease .35s, transform .18s ease .35s, visibility .18s ease .35s;
}
/* 親〜サブの隙間を埋める透明ブリッジ（ホバーを途切れさせない） */
.rh-snav__sub::before{
  content:""; position:absolute; left:-1.6rem; top:0; bottom:0; width:1.8rem;
}
.rh-snav__group:hover .rh-snav__sub{
  opacity:1; visibility:visible; transform:translateX(0); pointer-events:auto; transition-delay:0s;
}
/* サブ自体にホバー中も開いたままに */
.rh-snav__sub:hover{ opacity:1 !important; visibility:visible !important; pointer-events:auto !important; }
.rh-snav__subLink{
  display:block; padding:7px 16px; font-size:13px; letter-spacing:.03em;
  white-space:nowrap; color:var(--rh-gold-bright) !important; border-radius:5px;
  transition:color .2s ease, background .2s ease;
}
.rh-snav__subLink:hover{ color:#fff !important; background:rgba(255,255,255,.07); opacity:1; }

/* 各項目：余白・区切り線・ホバーの金アクセント＋スライド */
.sidenav__list{ gap:0 !important; }
.sidenav__link{
  display:block !important; position:relative;
  padding:1.1rem 0.6rem 1.1rem 1.4rem !important;
  border-radius:6px;
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:background .25s ease, padding-left .25s ease !important;
}
.sidenav__link:last-of-type{ border-bottom:none; }
.sidenav__link::before{   /* 左の金アクセントバー */
  content:""; position:absolute; left:.2rem; top:50%; transform:translateY(-50%);
  width:2px; height:0; background:var(--rh-gold); border-radius:2px;
  transition:height .25s ease;
}
.sidenav__link:hover{ background:rgba(255,255,255,.07) !important; padding-left:1.9rem !important; opacity:1 !important; }
.sidenav__link:hover::before{ height:62%; }
.sidenav__sns{ margin-top:1.6rem !important; padding-top:1.4rem; border-top:1px solid rgba(255,255,255,.12); }

/* =====================================================================
   グローバルナビ（rh-nav.js が注入）— 横型ドロップダウン
   ===================================================================== */
.rh-gnav{ display:none; }
@media (min-width:993px){
  .header__inner{ align-items:center; }
  .rh-gnav{ display:block; margin-left:auto; margin-right:24px; }
  .rh-gnav__list{
    list-style:none; margin:0; padding:6px 10px; display:flex; align-items:center; gap:2px;
    background:linear-gradient(180deg,rgba(10,24,48,.92) 0%,rgba(12,15,20,.92) 100%);
    border:1px solid rgba(198,161,91,.45); border-radius:999px;
    box-shadow:0 8px 24px rgba(10,24,48,.22); backdrop-filter:blur(4px);
  }
  .rh-gnav__item{ position:relative; }
  .rh-gnav__link{
    display:flex; align-items:center; gap:6px;
    padding:8px 14px; font-size:13.5px; letter-spacing:.04em; font-weight:600;
    color:var(--rh-cream); text-decoration:none; white-space:nowrap; border-radius:999px;
    transition:color .25s ease,background .25s ease;
  }
  .rh-gnav__link:hover{ color:var(--rh-gold-bright); background:rgba(255,255,255,.06); }
  .rh-gnav__caret{
    width:6px; height:6px; border-right:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-2px);
    transition:transform .25s ease;
  }
  .rh-gnav__item.has-child:hover .rh-gnav__caret{ transform:rotate(-135deg) translateY(0); }
  /* ドロップダウン */
  .rh-gnav__sub{
    position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(8px);
    min-width:180px; list-style:none; margin:0; padding:8px 0;
    background:var(--rh-navy-deep); border:1px solid rgba(198,161,91,.35);
    border-radius:4px; box-shadow:0 16px 40px rgba(10,24,48,.28);
    opacity:0; visibility:hidden; transition:opacity .22s ease,transform .22s ease;
    z-index:60;
  }
  .rh-gnav__item.has-child:hover .rh-gnav__sub{
    opacity:1; visibility:visible; transform:translateX(-50%) translateY(2px);
  }
  .rh-gnav__subLink{
    display:block; padding:10px 20px; font-size:13.5px; letter-spacing:.04em;
    color:var(--rh-cream); text-decoration:none; transition:background .2s ease,color .2s ease;
  }
  .rh-gnav__subLink:hover{ background:var(--rh-navy); color:var(--rh-gold-bright); }
  /* 右上CTAは左の余白をリセット */
  .header__rsv{ margin-left:0 !important; }
}

/* ---- モバイルメニュー：新IAアコーディオン ---- */
.rh-macc{ border-bottom:1px solid rgba(198,161,91,.18); }
.rh-macc__sub{ padding:2px 0 12px 16px; }
.rh-macc__subLink{
  display:block; padding:8px 0; font-size:14px; letter-spacing:.04em;
  color:var(--rh-navy-soft); text-decoration:none;
}
.rh-macc__subLink::before{ content:"– "; color:var(--rh-gold); }

/* =====================================================================
   追従お問い合わせバナー（rh-nav.js が body へ注入）
   ===================================================================== */
.rh-floatcta{
  position:fixed; right:20px; bottom:24px; z-index:90;
  display:flex; flex-direction:column; gap:10px;
  opacity:0; transform:translateY(14px); pointer-events:none;
  transition:opacity .35s ease,transform .35s ease;
}
.rh-floatcta.is-show{ opacity:1; transform:translateY(0); pointer-events:auto; }
.rh-floatcta__btn{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-decoration:none; border-radius:6px; line-height:1.2;
  box-shadow:0 10px 28px rgba(10,24,48,.32);
}
.rh-floatcta__btn--main{
  width:96px; height:96px;
  background:linear-gradient(160deg,var(--rh-navy) 0%,var(--rh-navy-deep) 100%);
  border:1.5px solid var(--rh-gold);
  transition:transform .25s ease,box-shadow .25s ease;
}
.rh-floatcta__btn--main:hover{ transform:translateY(-3px); box-shadow:0 16px 36px rgba(10,24,48,.42); }
.rh-floatcta__ja{ color:var(--rh-gold-bright); font-size:13px; font-weight:700; letter-spacing:.04em; }
.rh-floatcta__en{ color:rgba(244,241,234,.6); font-size:9px; letter-spacing:.18em; margin-top:4px; }
@media (max-width:768px){
  .rh-floatcta{ right:0; left:0; bottom:0; flex-direction:row; gap:0; }
  .rh-floatcta.is-show{ transform:translateY(0); }
  .rh-floatcta__btn{ border-radius:0; box-shadow:none; }
  .rh-floatcta__btn--main{
    width:100%; height:58px; flex-direction:row; gap:8px; border:none;
    border-top:2px solid var(--rh-gold);
  }
  .rh-floatcta__en{ display:none; }
  .rh-floatcta__ja{ font-size:15px; }
}

/* =====================================================================
   SP専用：改行を読みやすく（PCは一切変更しない）
   ・PC用に置かれた無印<br>はSPで畳んで画面幅に自然折返し
   ・SP専用改行(.is-pc-hidden)は残す
   ・日本語の折返し最適化＋見出しの孤立文字低減
   ===================================================================== */
@media (max-width:768px){
  .page-lead__txt br:not(.is-pc-hidden),
  .page-fv__img.rh-text br:not(.is-pc-hidden),
  .conceptCard__txt br:not(.is-pc-hidden),
  .conceptCard__txt p br:not(.is-pc-hidden),
  .conceptBottom__txt br:not(.is-pc-hidden),
  .rh-svc__txt br:not(.is-pc-hidden),
  .rh-svc__sub br:not(.is-pc-hidden),
  .rh-svc__ttl small br:not(.is-pc-hidden),
  .rh-pagecta__lead br:not(.is-pc-hidden),
  .rh-pagecta__sub br:not(.is-pc-hidden),
  .secGallery__txt br:not(.is-pc-hidden),
  .secGuidance__txt br:not(.is-pc-hidden),
  .blockGently__catch br:not(.is-pc-hidden),
  .aboutSec br:not(.is-pc-hidden),
  .faqItem__a br:not(.is-pc-hidden),
  .rh-svc__areaTxt br:not(.is-pc-hidden){
    display:none !important;
  }

  /* 日本語の自然な折返し＋はみ出し防止（禁則考慮） */
  .page-lead__txt, .conceptCard__txt, .conceptCard__txt p,
  .rh-svc__txt, .rh-svc__sub, .rh-svc__areaTxt,
  .rh-pagecta__lead, .rh-pagecta__sub,
  .secGallery__txt, .secGuidance__txt, .conceptBottom__txt,
  .faqItem__a, .aboutSec__listItem, .secMembership p,
  .pageArticle p, .pageArticle li, .pageArticle dd{
    overflow-wrap:break-word; word-break:normal; line-break:strict;
    text-wrap:pretty;
  }

  /* 見出し・キャッチは収まり良く（孤立行・1文字残りを減らす） */
  .page-fv__img.rh-text, .rh-svc__ttl, .rh-svc__headJa,
  .blockGently__catch, .rh-pagecta__lead, .top-ttl, .page-subTtl__img{
    text-wrap:balance;
  }
}

/* =====================================================================
   SP個別修正（PCは触らない）
   ① gallery：タイトルと本文の隙間
   ② TOP secConcept のView Moreが暗背景で見えない
   ③ TOP secConcept のタイトル右寄り・本文の左インデント
   ===================================================================== */
@media (max-width:768px){
  /* ① タイトル直後のリード文に上余白（gallery等）＝Conceptのような余裕ある間隔 */
  .page-ttl + .page-lead{ margin-top:6rem !important; }

  /* ②③ secConcept：右寄せ(margin-left:auto)と13.4remインデントを解除し左揃えに */
  .secConcept__left{ margin-left:3.5rem !important; }
  .secConcept__right{ margin-left:3.5rem !important; }

  /* ⑤ MV〜Concept間の空きすぎ：secConcept::before(高さ220pxの空スペーサー)をSPで除去し、
     代わりに適度な上余白に */
  .secConcept::before{ display:none !important; }
  .secConcept{ padding-top:6rem !important; }

  /* ② secConceptのView Moreを白に（暗い背景でも見えるよう・他の暗背景ボタンと統一） */
  .secConcept .hover-link{ border-color:#fff !important; color:#fff !important; }
  .secConcept .hover-link::before{ background:#fff !important; }
  .secConcept .hover-link:hover{ color:#000 !important; }

  /* ④ secGuidance（Blog/仲介手数料無料）：タイトル横並びで本文が窮屈(幅142px)
     → タイトルを本文の上に積んで本文を全幅に */
  .secGuidance__def{ flex-direction:column !important; align-items:flex-start !important; }
  .secGuidance__tit{ margin:0 0 2rem 0 !important; text-align:left !important; }
  .secGuidance__data{ width:100% !important; margin-top:0 !important; }
}

/* =====================================================================
   SP：ロゴ左揃え ＋ ハンバーガーメニューのUI刷新（PCは触らない）
   ===================================================================== */
@media (max-width:768px){
  /* ⑥ ロゴを左に揃える（header__logoの padding-left:6.4rem を解除） */
  .header__logo{ padding-left:0 !important; }
  .header__inner{ margin-left:2.4rem !important; }

  /* ⑦ メニュー全体：ブランド紺の不透明背景・確実にスクロール・余白は詰めて収まりやすく */
  .mobile-menu{
    background:linear-gradient(180deg, rgba(10,24,48,.985) 0%, rgba(12,15,20,.985) 100%) !important;
    padding:6.5rem 0 7rem !important;
    overflow-y:auto !important; -webkit-overflow-scrolling:touch !important; overscroll-behavior:contain !important;
  }
  /* primary：中央寄せをやめ、全幅・左揃えの統一リストに */
  .mobile-menu__primary{ align-items:stretch !important; gap:0 !important; margin:0 0 1.6rem !important; }
  .rh-macc{ margin:0 6vw !important; padding:0 !important; border-bottom:1px solid rgba(198,161,91,.20) !important; }
  .rh-macc__head{
    display:flex !important; align-items:center !important; justify-content:space-between !important;
    padding:1.4rem 0 !important; text-align:left !important; font-family:'Noto Serif JP',serif !important;
    font-size:1.75rem !important; font-weight:600 !important; color:#fff !important; letter-spacing:.06em !important;
  }
  .rh-macc:has(.rh-macc__sub) .rh-macc__head::after{ content:"›" !important; color:var(--rh-gold) !important; font-size:1.9rem; line-height:1; }
  .rh-macc__sub{ display:flex !important; flex-direction:column !important; gap:0 !important; padding:0 0 1rem 0 !important; }
  .rh-macc__subLink{
    position:relative !important; display:block !important; color:var(--rh-gold-bright) !important;
    font-size:1.4rem !important; padding:.7rem 0 .7rem 1.9rem !important; letter-spacing:.04em !important;
  }
  .rh-macc__subLink::before{ content:"" !important; position:absolute; left:0; top:50%; width:1.1rem; height:1px; background:var(--rh-gold); }

  /* secondary：副リンクを控えめな縦並びに */
  .mobile-menu__secondary{ flex-direction:column !important; margin:2rem 6vw 2.4rem !important; gap:1.2rem 0 !important; text-align:left !important; }
  .mobile-menu__secondaryItem{ width:100% !important; }
  .mobile-menu__secondaryLink{ color:rgba(244,241,234,.72) !important; font-size:1.3rem !important; letter-spacing:.04em; }

  /* お問い合わせ：金のCTAボタンに */
  .mobile-menu__rsv{
    width:auto !important; margin:0 6vw 2.8rem !important; height:5.8rem !important;
    background:var(--rh-gold) !important; border:none !important; border-radius:6rem !important;
    color:var(--rh-navy-deep) !important; font-weight:700 !important;
  }
  .mobile-menu__rsv--eng{ color:rgba(10,24,48,.72) !important; }

  /* SNS */
  .mobile-menu__sns{ gap:0 2.4rem !important; }

  /* 閉じる(×)を見やすく */
  .mobile-menuBtn[aria-expanded=true]{ mix-blend-mode:normal !important; }

  /* ⑧ フッターをスッキリ：英語を隠し、全リンクを左揃え1列に統一（PCはfooter__primary非表示なので無影響） */
  .footer__primary{ margin:0 6vw 2.4rem !important; gap:0 !important; }
  .footer__primaryLink{ justify-content:flex-start !important; padding:1.5rem 0 !important; border-bottom:1px solid rgba(255,255,255,.12) !important; }
  .footer__primaryLink--en{ display:none !important; }
  .footer__primaryLink--jp{ text-align:left !important; font-size:1.55rem !important; }
  .footer__nav{ align-items:flex-start !important; margin:2.2rem 6vw 5.5rem !important; gap:1.5rem 0 !important; }
  .footer__navLink{ text-align:left !important; font-size:1.35rem !important; }
  .footer__sns{ justify-content:flex-start !important; margin-left:6vw !important; }
}

/* =====================================================================
   追記ブロック（共有クラス契約：追従CTAサブ／フッター連絡先／TOP口コミ／
   TOP外部バナー／スクロール表示アニメ）
   紺×黒×金で調和・レスポンシブ・既存定義は変更せず追加のみ
   ===================================================================== */

/* --- 追従CTA：サブボタン（物件検索／空き家／公式LINE）＝サイトのトンマナ(紺×金)に統一 --- */
.rh-floatcta__btn--search,
.rh-floatcta__btn--akiya,
.rh-floatcta__btn--line{
  width:96px; min-height:62px; padding:10px 6px;
  background:linear-gradient(160deg,var(--rh-navy) 0%,var(--rh-navy-deep) 100%);
  border:1px solid rgba(198,161,91,.5);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.rh-floatcta__btn--search:hover,
.rh-floatcta__btn--akiya:hover,
.rh-floatcta__btn--line:hover{
  transform:translateY(-3px); border-color:var(--rh-gold);
  box-shadow:0 16px 36px rgba(10,24,48,.42);
}
/* 公式LINEもトンマナに合わせ紺×金（緑は廃止）。識別用に金の左ラインのみ */
.rh-floatcta__btn--line{ border-left:3px solid var(--rh-gold); }
/* サブボタンの文字も金系で統一 */
.rh-floatcta__btn--sub .rh-floatcta__ja{ color:var(--rh-gold-bright); font-size:12px; font-weight:700; letter-spacing:.06em; }
.rh-floatcta__btn--sub .rh-floatcta__en{ color:rgba(244,241,234,.55); font-size:8.5px; letter-spacing:.2em; margin-top:3px; }
@media (max-width:768px){
  .rh-floatcta__btn--search,
  .rh-floatcta__btn--akiya,
  .rh-floatcta__btn--line{
    width:100%; min-height:58px; height:58px; padding:0;
    flex-direction:column; gap:2px; border:none;
    border-top:2px solid rgba(198,161,91,.5);
    border-left:1px solid rgba(255,255,255,.12);
  }
  .rh-floatcta__btn--line{ border-left:1px solid rgba(255,255,255,.12); border-top:2px solid var(--rh-gold); }
  .rh-floatcta__btn--sub .rh-floatcta__en{ display:none; }
  .rh-floatcta__btn--sub .rh-floatcta__ja{ font-size:13px; }
}

/* --- フッター連絡先ブロック ------------------------------------------ */
.rh-footcontact{
  display:flex; flex-wrap:wrap; gap:2.6rem 4.5rem;
  align-items:flex-start; margin:3.2rem 0 3rem;
}
.rh-footcontact__item{
  display:flex; flex-direction:column; gap:.8rem;
  font-size:1.4rem; line-height:1.8; color:var(--rh-cream);
}
.rh-footcontact__item dt,
.rh-footcontact__label{
  font-family:'Cormorant','Noto Serif JP',serif;
  font-size:1.15rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--rh-gold-bright);
}
.rh-footcontact__link{
  color:var(--rh-cream) !important;
  text-decoration:none; border-bottom:1px solid rgba(198,161,91,.4);
  transition:color .25s ease,border-color .25s ease;
  word-break:break-all;
}
.rh-footcontact__link:hover{
  color:var(--rh-gold-bright) !important; border-color:var(--rh-gold);
}
@media (max-width:768px){
  .rh-footcontact{ flex-direction:column; gap:1.6rem; margin:0 6vw 2.4rem; }
  .rh-footcontact__item{ font-size:1.45rem; }
}

/* --- TOP口コミセクション -------------------------------------------- */
.rh-reviews{
  position:relative; text-align:center; padding:8rem 6rem;
  background:linear-gradient(135deg,var(--rh-navy-deep) 0%,var(--rh-navy) 60%,var(--rh-black) 100%);
  color:var(--rh-cream); overflow:hidden;
}
.rh-reviews::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 50% 0%,rgba(198,161,91,.14),transparent 60%);
  pointer-events:none;
}
.rh-reviews__inner{ position:relative; max-width:88rem; margin:0 auto; }
.rh-reviews__ttl{
  font-family:'Noto Serif JP',serif; font-weight:600;
  font-size:clamp(22px,2.6vw,32px); letter-spacing:.1em; line-height:1.5;
  margin:0 0 1.4rem; color:#fff;
}
.rh-reviews__ttl small{
  display:block; margin-top:1rem;
  font-family:'Cormorant',serif; font-size:14px; letter-spacing:.26em;
  color:var(--rh-gold-bright); text-transform:uppercase;
}
.rh-reviews__lead{
  font-size:clamp(14px,1.7vw,16px); line-height:2; letter-spacing:.04em;
  color:rgba(244,241,234,.86); margin:0 auto 3.2rem; max-width:60rem;
}
.rh-reviews__btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:28rem; padding:1.9rem 3rem; border-radius:6rem;
  background:var(--rh-gold); color:var(--rh-navy-deep) !important;
  font-weight:700; font-size:15px; letter-spacing:.06em;
  text-decoration:none; transition:.25s;
}
.rh-reviews__btn:hover{ background:var(--rh-gold-bright); transform:translateY(-2px); }
@media (max-width:768px){
  .rh-reviews{ padding:6rem 6vw; }
  .rh-reviews__btn{ width:100%; min-width:0; }
}

/* --- TOP外部バナー（物件検索／空き家） ------------------------------ */
.rh-extbanner{
  display:flex; gap:2.4rem; max-width:108rem; margin:7rem auto; padding:0 4rem;
}
.rh-extbanner__item{
  position:relative; flex:1 1 0; display:flex; flex-direction:column;
  justify-content:flex-end; min-height:24rem; padding:3rem;
  border-radius:14px; overflow:hidden; text-decoration:none;
  background:linear-gradient(135deg,var(--rh-navy) 0%,var(--rh-navy-deep) 100%);
  border:1px solid rgba(198,161,91,.35);
  box-shadow:0 12px 30px rgba(10,24,48,.18);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.rh-extbanner__item::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(10,24,48,.1) 0%,rgba(10,24,48,.78) 100%);
  z-index:1; transition:background .3s ease;
}
.rh-extbanner__item:hover{
  transform:translateY(-4px); border-color:var(--rh-gold);
  box-shadow:0 22px 46px rgba(10,24,48,.32);
}
.rh-extbanner__item:hover::after{
  background:linear-gradient(180deg,rgba(10,24,48,.05) 0%,rgba(10,24,48,.72) 100%);
}
.rh-extbanner__item--search{
  background:linear-gradient(135deg,#15315e 0%,#0a1830 100%);
}
.rh-extbanner__item--akiya{
  background:linear-gradient(135deg,#173a32 0%,#0a1830 100%);
}
.rh-extbanner__body{ position:relative; z-index:2; }
.rh-extbanner__cat{
  display:block; font-family:'Cormorant',serif; font-size:13px;
  letter-spacing:.24em; text-transform:uppercase; color:var(--rh-gold-bright);
  margin:0 0 .9rem;
}
.rh-extbanner__ttl{
  font-family:'Noto Serif JP',serif; font-weight:600;
  font-size:clamp(18px,2vw,23px); line-height:1.5; color:#fff; margin:0 0 .8rem;
}
.rh-extbanner__txt{
  font-size:13px; line-height:1.8; color:rgba(244,241,234,.82); margin:0 0 1.4rem;
}
.rh-extbanner__more{
  display:inline-flex; align-items:center; gap:.6rem;
  font-size:13px; font-weight:700; letter-spacing:.06em; color:var(--rh-gold-bright);
}
.rh-extbanner__more::after{ content:"→"; transition:transform .25s ease; }
.rh-extbanner__item:hover .rh-extbanner__more::after{ transform:translateX(5px); }
@media (max-width:768px){
  .rh-extbanner{ flex-direction:column; gap:1.8rem; margin:5rem auto; padding:0 6vw; }
  .rh-extbanner__item{ min-height:18rem; padding:2.6rem; }
}

/* --- LIFULL HOME'S 優良店認定バナー ---------------------------------- */
.rh-homesbanner{
  max-width:108rem; margin:-5rem auto 2.5rem; padding:0 4rem;
}
.rh-homesbanner__inner{ text-align:center; }
.rh-homesbanner__img{
  display:inline-block; width:100%; max-width:700px; height:auto;
}
@media (max-width:768px){
  .rh-homesbanner{ margin:-3.5rem auto 1.5rem; padding:0 4vw; }
}

/* --- スクロール表示アニメ ------------------------------------------- */
.rh-reveal{
  opacity:0; transform:translateY(24px);
  transition:opacity .7s ease,transform .7s ease;
  will-change:opacity,transform;
}
.rh-reveal.is-reveal{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .rh-reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
}

/* === 視認性・被り 追加修正 === */
/* Contact帯「お問い合わせはこちら」：ホバーで黒ピルが膨張し文字が読めなくなるのを防ぐ（矢印だけ維持） */
.secRsv2nd .hover-link:hover{ background:#fff !important; color:#15233b !important; }
.secRsv2nd .hover-link:hover::before{ right:2.6rem !important; width:3rem !important; height:1.8rem !important; border-radius:2rem !important; }
/* 口コミボタンも念のため塗りつぶし金で確実に（インライン優先だが保険） */
.rh-reviews__btn{ background:var(--rh-gold) !important; color:var(--rh-navy-deep) !important; }
/* フッター到達時：追従CTA・左サイドナビを隠してフッター文字との被りを解消 */
.rh-floatcta, .sidenav{ transition:opacity .3s ease, transform .3s ease; }
body.rh-at-footer .rh-floatcta{ opacity:0 !important; pointer-events:none !important; }
body.rh-at-footer .sidenav{ opacity:0 !important; pointer-events:none !important; }

/* === 画像にゆったりズーム(Ken Burns)でリッチな動き（hiwa調・lp-builderのアニメ無効化を上書き） === */
@keyframes rh-kenburns{ from{ transform:scale(1.02); } to{ transform:scale(1.13); } }
.page-fv{ overflow:hidden !important; }
.page-fv__bg{ animation:rh-kenburns 22s ease-in-out infinite alternate !important; transform-origin:center center; }
/* blockGentlyは中にsticky要素があるため overflow:hidden を付けない（stickyスクロールが壊れる）。Ken Burnsも外す */
.roomAnimation__img{ animation:rh-kenburns 28s ease-in-out infinite alternate !important; transform-origin:center center; }
/* 外部バナー画像があればホバーで拡大（既存__item） */
@media (prefers-reduced-motion:reduce){
  .page-fv__bg, .blockGently__bg, .roomAnimation__img{ animation:none !important; }
}

/* === スタッフの顔写真（2026-07-09 本人写真を支給いただき掲載開始） === */
.artistCard__authorImg{ object-position:center top; }

/* === 外部バナー：本文を覆う暗オーバーレイを除去＋詳細文・View Moreを白に === */
.rh-extbanner__item::after{ display:none !important; }
.rh-extbanner__head, .rh-extbanner__lead, .rh-extbanner__more{ position:relative; z-index:2; }
.rh-extbanner__lead{ color:#fff !important; }
.rh-extbanner__more{ color:#fff !important; }

/* === TOP Concept: 中間幅(769〜1439px)でサイドナビが本文に被る不具合を修正（2026-07-09） ===
   .secConcept の padding-left は 36rem で vw に応じて縮むが、左サイドナビ(.rh-snav)と
   本文テキストは px 固定のため縮まず、1440px 未満で衝突して文字が隠れていた。
   ・左余白に下限 260px を設ける（サイドナビ右端は最大 255px）
   ・本文の <br> による固定改行(722px)を解除して自然折り返しにする
   1440px 以上は元の2カラム表示を維持するため対象外。 */
@media (min-width:769px) and (max-width:1439px){
  .secConcept{ padding-left: max(36rem, 260px) !important; padding-right: 3rem !important; }
  .secConcept__left{ margin-right: 6rem !important; }
  .secConcept__right{ min-width:0 !important; max-width:100% !important; }
  .secConcept__right br{ display:none !important; }
  /* この幅では flex-wrap で1カラムに折り返るため、見出し・画像カラムの position:sticky を
     解除しないと画面に貼り付いたまま本文の上に重なる（PC幅は2カラムなので sticky のまま）。 */
  .secConcept__left, .secConcept__center{ position:static !important; top:auto !important; }
  .secConcept__left{ padding-bottom:0 !important; margin-bottom:4rem !important; }
  .secConcept__center{ margin-right:0 !important; }
}

/* === TOP: 代表挨拶の動画と内観ビジュアルを入れ替え（2026-07-09 客先指示） ===
   旧: Concept左に小さい動画(206px) / 下段に大きな内観画像(618px)
   新: Concept左に内観画像 / 下段に大きな代表挨拶動画
   .roomAnimation__img（背景画像2枚のクロスフェード）は廃止し video 1本に。 */
/* === MV: 下地の静止画2枚(img_top_base / img_top_mv)を廃止し、動画のみに（2026-07-09 客先指示） ===
   元は base(2s) → mv(4s) → 動画(8s) の順に重ねる構成。静止画を外したので動画を前倒しするが、
   冒頭の「家の線画が描かれる」演出(.fvSvg / drawLine)は残す。
   線画は約0.4秒後に開始し3秒かけて描かれる。動画(z-index:3)は線画(z-index:auto)を覆うため、
   描き終わる 3.4秒 のあとにフェードインさせる。
   実機(特にSP)では JS 初期化の遅れで線画の開始が数百ms〜1秒ずれるため、
   3.6秒だと線画が描き終わる前に動画が被る。余裕を持たせて 4.8秒 とする。 */
.topFv__video{ animation-delay: 4.8s !important; animation-duration: 1.5s !important; }
/* === SP: FV動画の「ドアップ」対策＋余白詰め（2026-07-11 客先指示）===
   16:9(1280x720)の横長動画を縦長枠にcoverすると横67%が切れて被写体アップになる。
   対策として動画の枠を「幅100%×16:9」の箱にし、object-fit:coverでも切れない状態に。
   さらにヘッダー直下(top:8rem=ロゴ下)に固定し、上の白余白を除去。
   FV全体の高さも 63.2rem→39rem に縮小し、下の白余白とscroll誘導までの間を詰める。 */
@media (max-width:768px){
  /* 白帯なしのフルブリード表示（2026-07-11 客先指示）。FVを39remに縮めた状態でcoverすると
     横の見え幅は約54%で、元(657px時の33%)よりドアップ感は緩和される。
     動画がFV全面を覆うので背後のsvg線画も自然にマスクされる。 */
  .topFv{ height:39rem !important; }
  .topFv__video{
    top:0 !important; left:0 !important; width:100% !important; height:100% !important;
    object-fit:cover !important; object-position:50% 50% !important;
    background:transparent !important;
  }
  .topFv .scrollGuid{ margin-bottom:3.2rem !important; }
}

.roomAnimation__video{
  position:static; width:100%; height:100%; object-fit:cover;
}
/* 動画を大きく表示し、16:9に合わせて枠内の余白をなくす（2026-07-09 客先指示） */
.roomAnimation{
  width: min(112rem, calc(100vw - 12rem)) !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  margin: 0 auto 20rem !important;   /* 元 37.2rem。動画下の空きを圧縮 */
}
/* Concept: View More 下(25rem)とセクション下端(21.5rem)の空きすぎを圧縮 */
.secConcept .hover-link{ margin-bottom: 6rem !important; }
.secConcept{ padding-bottom: 8rem !important; }
/* Concept左の内観画像を拡大（元 26rem） */
.secConcept__video{ width: 34rem !important; height: 34rem !important; }

/* =====================================================================
   コラム記事詳細ページ（/blog/<スラッグ>/）
   ガワは blog/index.html を流用し、<main>の中身だけ functions.php が差し替える。
   本文は WordPress のブロックエディタ出力なので、素の要素にスタイルを当てる。
   ===================================================================== */
.rh-post{ max-width:100rem; margin:0 auto; padding:0 3rem 12rem; }
.rh-post__head{ margin:0 0 3rem; }
.rh-post__meta{ display:flex; align-items:center; gap:1.6rem; margin-bottom:1.6rem; }
.rh-post__cat{
  display:inline-block; padding:.5em 1.2em; border-radius:2em;
  background:var(--rh-navy,#0a1830); color:#fff;
  font-size:1.2rem; letter-spacing:.06em; line-height:1;
}
.rh-post__date{ color:#8a8a8a; font-size:1.3rem; letter-spacing:.06em; }
.rh-post__title{
  font-family:'Noto Serif JP',serif; font-weight:700;
  font-size:clamp(22px,2.4vw,34px); line-height:1.55; letter-spacing:.04em;
  padding-bottom:2.4rem; border-bottom:1px solid rgba(0,0,0,.12);
}
.rh-post__figure{ margin:3rem 0 4rem; }
.rh-post__thumb{ width:100%; height:auto; border-radius:6px; }

/* --- 本文（ブロックエディタ出力） --- */
.rh-post__body{ font-size:16px; line-height:2.05; letter-spacing:.03em; color:#222; }
.rh-post__body > * + *{ margin-top:1.8em; }
.rh-post__body h2{
  margin-top:2.4em; padding:.6em 0 .6em 1em; border-left:4px solid var(--rh-gold,#c6a15b);
  font-family:'Noto Serif JP',serif; font-weight:700; font-size:clamp(19px,1.5vw,24px); line-height:1.6;
}
.rh-post__body h3{
  margin-top:2em; font-family:'Noto Serif JP',serif; font-weight:700;
  font-size:clamp(17px,1.25vw,20px); line-height:1.6;
}
.rh-post__body p{ margin-top:1.6em; }
.rh-post__body a{ color:#1a4f9c; text-decoration:underline; }
.rh-post__body a:hover{ opacity:.75; }
.rh-post__body img{ max-width:100%; height:auto; border-radius:4px; }
.rh-post__body figure{ margin:2.4em 0; }
.rh-post__body figcaption{ margin-top:.8em; color:#8a8a8a; font-size:1.3rem; text-align:center; }
.rh-post__body ul, .rh-post__body ol{ padding-left:1.6em; }
.rh-post__body ul li{ list-style:disc; margin-top:.6em; }
.rh-post__body ol li{ list-style:decimal; margin-top:.6em; }
.rh-post__body blockquote{
  margin:2em 0; padding:1.6em 2em; border-left:3px solid rgba(0,0,0,.15);
  background:#f7f7f5; color:#444;
}
.rh-post__body table{ width:100%; border-collapse:collapse; }
.rh-post__body th, .rh-post__body td{ padding:.9em 1em; border:1px solid rgba(0,0,0,.12); }
.rh-post__body th{ background:#f4f4f4; font-weight:700; }
.rh-post__foot{ margin-top:6rem; text-align:center; }
.rh-post__foot .hover-link{ margin:0 auto; }

@media (max-width:768px){
  .rh-post{ padding:0 2rem 8rem; }
  .rh-post__figure{ margin:2rem 0 3rem; }
  .rh-post__body{ font-size:15px; line-height:1.95; }
  .rh-post__foot{ margin-top:4rem; }
}

/* === SPのみの調整（2026-07-09 客先指示） === */
/* ① secRsv(1つ目のお問い合わせ帯)にはCTAボタンがHTMLに無かった。SPだけ出す */
.rh-sp-cta{ display:none !important; }
@media (max-width:768px){
  .rh-sp-cta{ display:inline-flex !important; margin-top:3rem !important; }
  .secRsv .tripla{ text-align:center; }

  /* ② 代表動画を画面の横幅いっぱいに。上下の空きも詰める */
  .roomAnimation{
    width:100% !important; max-width:100% !important;
    margin:0 auto 6rem !important;
    aspect-ratio:16 / 9; height:auto !important;
  }
  .secConcept{ padding-bottom:4rem !important; }

  /* ③ 「お問い合わせ」帯がTOPに2つあるため、下側(secRsv2nd)を省いて1つにする。
        CTAボタンは上側(secRsv)の .rh-sp-cta が担う。 */
  .secRsv2nd{ display:none !important; }
}

/* === TOP blockGently の背景を静止画→動画(inside.mp4＝クライアント支給素材)へ ===
   元は <img class="blockGently__bg">（幅100% / 4:3 / object-fit:cover / sticky）。
   <video> は既定幅300pxのため、同じ寸法・同じ切り抜きになるよう明示する。 */
video.blockGently__bg{
  display:block; width:100%; height:auto; aspect-ratio:4 / 3;
  object-fit:cover; pointer-events:none;
  /* 支給素材は明るいキッチン映像。白のキャッチコピーが沈むため落とす */
  filter:brightness(.58);
}

/* === ヘッダーロゴを本来の配色（黒＋赤 #E60117）で表示 ===
   元テーマは mix-blend-mode:difference で背景と差分合成しており、
   白背景では黒→白・赤→シアンに反転してしまう。フッター(.footer__logo)と
   同じく合成を切る。ヘッダー内の .rh-gnav / .header__rsv は非表示指定のため
   ロゴ以外への影響はない。 */
/* === 画面が低いとき、左サイドナビがヘッダーロゴに重なる不具合を修正（2026-07-09） ===
   .sidenav は position:fixed / bottom:6.5rem で下端基準に置かれ、高さ522pxは項目数で決まる。
   ウィンドウ高が約692px を切ると上端がヘッダー(ロゴ下端119px)を突き抜けて重なっていた。
   段階的に項目間隔とフォントを詰めて、ナビ項目は8つとも残したまま収める。 */
@media (min-width:769px) and (max-height:780px){
  .sidenav{ bottom:3rem !important; }
  .rh-snav__parent{ padding:4px 2px !important; font-size:13.5px !important; }
  .rh-snav__group{ margin-bottom:1px !important; }
  .rh-snav{ margin-bottom:0.4rem !important; }
  .sidenav__sns{ margin-top:1rem !important; padding-top:0.9rem !important; }
}
@media (min-width:769px) and (max-height:660px){
  .sidenav{ bottom:2rem !important; }
  .rh-snav__parent{ padding:2px 2px !important; font-size:12.5px !important; }
  .sidenav__sns{ display:none !important; }   /* SNSアイコンは省く（ナビ項目を優先） */
}
@media (min-width:769px) and (max-height:520px){
  .sidenav{ bottom:1rem !important; }
  .rh-snav__parent{ padding:0px 2px !important; font-size:11.5px !important; }
  .rh-snav__group{ margin-bottom:0 !important; }
}

.header__inner{ mix-blend-mode:normal !important; }
/* ヘッダーは position:fixed で暗いセクション(blockGently等)の上にも重なる。
   合成を切った結果ロゴの黒が沈むため、白のごく薄い縁取りで輪郭を保つ。
   白背景では影が視認されない強度に留める。 */
.header__logo img{
  filter: drop-shadow(0 0 2px rgba(255,255,255,.95)) drop-shadow(0 0 5px rgba(255,255,255,.75));
}


/* =====================================================================
   SNSアイコン：各社公式のカラーロゴ(PNG)を使う。
   元テーマは白の単色SVG前提で、反転フィルタと difference 合成で
   色を作っていた。カラー画像にそれが乗ると色が壊れるので全て解除する。
   ===================================================================== */
.footer__sns,
.secBlogBottom__sns,
.mobile-menu__sns{ mix-blend-mode:normal !important; }

.sidenav__sns img,
.footer__sns img,
.mobile-menu__sns img,
.secBlogBottom__sns img{
  filter:none !important;
  width:2.2rem !important;
  height:2.2rem !important;
  object-fit:contain !important;
  border-radius:4px;
}
.footer__sns{ gap:0 1.4rem !important; }
.secBlogBottom__sns{ gap:0 1.6rem !important; }
.sidenav__sns{ gap:0 1rem !important; }

/* コラムページ下部のSNSは面積に余裕があるのでPCだけ大きく見せる。
   サイドナビ/フッターは省スペース優先のまま据え置き。 */
@media (min-width:769px){
  .secBlogBottom__sns img{ width:4.8rem !important; height:4.8rem !important; border-radius:9px; }
  .secBlogBottom__sns{ gap:0 2.8rem !important; }
  .secBlogBottom__sns a{ transition:transform .25s ease, opacity .25s ease; }
  .secBlogBottom__sns a:hover{ transform:translateY(-2px); opacity:1; }
}

/* フッターのSNSもPCだけ拡大。SPは footer__sns が絶対配置でナビと近接するため据え置き。 */
@media (min-width:769px){
  .footer__sns img{ width:3.8rem !important; height:3.8rem !important; border-radius:8px; }
  .footer__sns{ gap:0 1.8rem !important; }
  .footer__snsLink{ transition:transform .25s ease, opacity .25s ease; }
  .footer__snsLink:hover{ transform:translateY(-2px); }
}
