/* =========================================================
   横浜不動産再生パートナーズ
   Global Common CSS
   Divi 共通CSS
========================================================= */

/* =========================
   01. Design Tokens
========================= */

:root {
  --yr-navy: #1A2C42;
  --yr-navy-deep: #102033;
  --yr-gold: #B8860B;
  --yr-gold-light: #d6ad45;
  --yr-gold-soft: #c9ad62;
  --yr-cream: #F8F6F0;
  --yr-white: #ffffff;
  --yr-text: #333333;
  --yr-text-dark: #071b33;
  --yr-border-gold: rgba(184,134,11,0.28);
  --yr-shadow: 0 14px 36px rgba(26,44,66,0.12);
  --yr-shadow-card: 0 5px 12px rgba(0,0,0,0.18);
  --yr-font-body: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", sans-serif;
  --yr-font-heading: "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif CJK JP", "Noto Serif JP", serif, "Noto Sans JP", sans-serif;
}

/* =========================
   基本タイポグラフィは子テーマ style.css で管理
========================= */

/* =========================
   02. Divi Button
========================= */

.et_pb_button,
.et_button_no_icon .et_pb_button {
  border-radius: 999px;
  border: 1px solid var(--yr-gold);
  color: var(--yr-navy) !important;
  background: var(--yr-white);
  font-weight: 700;
  letter-spacing: 0.05em;
  transition: all .3s ease;
}

.et_pb_button:hover,
.et_button_no_icon .et_pb_button:hover {
  color: var(--yr-white) !important;
  background: var(--yr-gold) !important;
  border-color: var(--yr-gold) !important;
}

/* 共通ボタン */
.yr-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 13px 28px;
  border-radius: 999px;
  border: 1px solid var(--yr-gold);
  background: var(--yr-white);
  color: var(--yr-navy) !important;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: none !important;
  transition: all .3s ease;
}

.yr-btn:hover {
  background: var(--yr-gold);
  color: var(--yr-white) !important;
  transform: translateY(-2px);
}

.yr-btn-gold {
  background: var(--yr-gold);
  color: var(--yr-white) !important;
  box-shadow: 0 12px 28px rgba(184,134,11,.26);
}

.yr-btn-gold:hover {
  background: var(--yr-navy);
  border-color: var(--yr-navy);
  color: var(--yr-white) !important;
}

.yr-btn-navy {
  background: var(--yr-navy);
  border-color: var(--yr-navy);
  color: var(--yr-white) !important;
}

.yr-btn-navy:hover {
  background: var(--yr-gold);
  border-color: var(--yr-gold);
}

/* =========================
   03. Utility
========================= */

.yr-section-navy {
  background: var(--yr-navy);
  color: var(--yr-cream);
}

.yr-section-navy h1,
.yr-section-navy h2,
.yr-section-navy h3,
.yr-section-navy h4,
.yr-section-navy h5,
.yr-section-navy h6 {
  color: var(--yr-white);
}

.yr-gold {
  color: var(--yr-gold);
}

.yr-card {
  background: var(--yr-white);
  border: 1px solid var(--yr-border-gold);
  box-shadow: var(--yr-shadow);
  border-radius: 10px;
}

.yr-container {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

.yr-container-wide {
  max-width: 1380px;
  margin-left: auto;
  margin-right: auto;
}

.yr-text-center {
  text-align: center;
}

/* =========================
   04. Section Heading
   今後の共通見出し用
========================= */

.yr-section-heading {
  text-align: center;
  margin-bottom: 42px;
}

.yr-section-label {
  display: inline-block;
  margin-bottom: 10px;
  color: var(--yr-gold);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.yr-section-title {
  margin: 0;
  color: var(--yr-navy);
  font-family: var(--yr-font-heading);
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.45;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.yr-section-lead {
  max-width: 760px;
  margin: 18px auto 0;
  color: var(--yr-text);
  font-size: 15px;
  line-height: 1.95;
}

/* =========================================================
   お客様の声
========================================================= */

.yrp-voice-grid {
  max-width: 1180px;
  margin: 28px auto 0;
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 22px;
}

.yrp-voice-card {
  position: relative !important;
  width: calc((100% - 44px) / 3) !important;
  min-height: 300px;
  padding: 36px 22px 18px;
  background: var(--yr-white);
  border-radius: 7px;
  border: 1.5px solid var(--yr-gold-soft);
  box-shadow: var(--yr-shadow-card);
  overflow: hidden;
}

.yrp-voice-quote {
  position: absolute;
  top: 10px;
  left: 18px;
  font-size: 64px;
  line-height: 1;
  color: #c8a64d;
  font-family: serif;
}

.yrp-voice-image {
  position: absolute;
  top: 18px;
  right: 24px;
  margin: 0;
  z-index: 2;
}

.yrp-voice-image img {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid #f2ecdf;
}

.yrp-voice-card h3 {
  max-width: 72%;
  margin: 16px 0 12px;
  font-size: 17px;
  line-height: 1.38;
  font-weight: 800;
  color: #061d3a;
  letter-spacing: .02em;
}

.yrp-voice-content {
  margin-top: 0;
  font-size: 13px;
  line-height: 1.7;
  color: var(--yr-text-dark);
}

.yrp-voice-content p {
  margin-bottom: 4px !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
  color: var(--yr-text-dark) !important;
}

.yrp-voice-content strong {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #061d3a;
}

.yrp-voice-situation,
.yrp-voice-solution {
  margin-bottom: 2px !important;
}

.yrp-voice-situation br,
.yrp-voice-solution br {
  display: none;
}

.yrp-voice-comment {
  margin-top: 10px !important;
  padding-top: 8px !important;
  border-top: 1px solid #ddd !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
  font-style: normal !important;
  color: #222 !important;
}

/* タブレット */
@media (max-width: 980px) {
  .yrp-voice-grid {
    flex-wrap: wrap !important;
  }

  .yrp-voice-card {
    width: 100% !important;
  }
}

/* スマホ */
@media (max-width: 600px) {
  .yrp-voice-card {
    padding: 42px 22px 24px;
  }

  .yrp-voice-image {
    top: 20px;
    right: 18px;
  }

  .yrp-voice-image img {
    width: 72px;
    height: 72px;
  }

  .yrp-voice-card h3 {
    max-width: 68%;
    font-size: 18px;
    line-height: 1.5;
  }
}

/* =========================================================
   フッターCSSは子テーマ style.css で管理
========================================================= */

/* =========================================================
   PC ドロップダウンメニュー
========================================================= */

@media screen and (min-width: 981px) {

  /* ドロップダウン本体 */

  .et_pb_menu .et_pb_menu__menu > nav > ul > li > ul,
  .et_pb_menu .et-menu-nav > ul > li > ul,
  #top-menu-nav #top-menu > li > ul {
    padding: 14px 0 !important;
    background-color: #ffffff !important;
    border-top: 3px solid #b8860b !important;
    box-shadow: 0 8px 20px rgba(7, 27, 51, 0.16) !important;
    opacity: 1 !important;
  }

  /* 孫メニュー */

  .et_pb_menu .et_pb_menu__menu > nav > ul > li > ul > li > ul,
  .et_pb_menu .et-menu-nav > ul > li > ul > li > ul,
  #top-menu-nav #top-menu > li > ul > li > ul {
    background-color: #ffffff !important;
    border-top: 3px solid #b8860b !important;
    opacity: 1 !important;
  }

  /* メニュー項目 */

  .et_pb_menu .et_pb_menu__menu ul.sub-menu li,
  .et_pb_menu .et-menu-nav ul.sub-menu li,
  #top-menu-nav #top-menu ul.sub-menu li {
    width: 100% !important;
    padding: 0 !important;
    background-color: #ffffff !important;
  }

  /* 文字 */

  .et_pb_menu .et_pb_menu__menu ul.sub-menu li > a,
  .et_pb_menu .et-menu-nav ul.sub-menu li > a,
  #top-menu-nav #top-menu ul.sub-menu li > a {
    width: 100% !important;
    display: block !important;
    padding: 12px 20px !important;
    color: #1a2c42 !important;
    background-color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.6 !important;
    opacity: 1 !important;
    transition:
      color 0.2s ease,
      background-color 0.2s ease !important;
  }

  /* ホバー */

  .et_pb_menu .et_pb_menu__menu ul.sub-menu li > a:hover,
  .et_pb_menu .et-menu-nav ul.sub-menu li > a:hover,
  #top-menu-nav #top-menu ul.sub-menu li > a:hover {
    color: #ffffff !important;
    background-color: #1a2c42 !important;
    opacity: 1 !important;
  }

}

/* =========================================================
   横浜再生パートナーズ
   共通パンくずリスト
========================================================= */

.yrp-breadcrumb-section {
  margin: 0 !important;
  padding: 0 !important;
  background: #f8f6f0;
}

.yrp-breadcrumb-section > .et_pb_row {
  width: min(90%, 1200px) !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.yrp-breadcrumb-section .et_pb_column,
.yrp-breadcrumb-section .et_pb_text,
.yrp-breadcrumb-section .et_pb_text_inner,
.yrp-breadcrumb-section .et_pb_code,
.yrp-breadcrumb-section .et_pb_code_inner {
  margin: 0 !important;
  padding: 0 !important;
}

.yrp-common-breadcrumb {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 64px;
  margin: 0;
  padding: 14px 0;
  color: #68717b;
  font-size: 12px;
  line-height: 1.7;
}

.yrp-common-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.yrp-common-breadcrumb__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 !important;
  padding: 0 !important;
}

.yrp-common-breadcrumb__item::before {
  display: none !important;
}

.yrp-common-breadcrumb__item a {
  color: #68717b;
  text-decoration: none;
  transition: color 0.25s ease;
}

.yrp-common-breadcrumb__item a:hover {
  color: #b8860b;
}

.yrp-common-breadcrumb__separator {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #b8860b;
  font-size: 7px;
}

.yrp-common-breadcrumb__current {
  color: #1a2c42;
  font-weight: 700;
}

@media screen and (max-width: 767px) {

  .yrp-breadcrumb-section > .et_pb_row {
    width: 88% !important;
  }

  .yrp-common-breadcrumb {
    min-height: 52px;
    padding: 10px 0;
    font-size: 10px;
  }

  .yrp-common-breadcrumb__list,
  .yrp-common-breadcrumb__item {
    gap: 5px;
  }

  .yrp-common-breadcrumb__separator {
    font-size: 6px;
  }
}

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

/* #########################################################################
   ここから下：松本側で追加したCSS
   -------------------------------------------------------------------------
   上（01〜パンくずリスト）はテーマ制作時のCSSで、内容は変更していません。
   ここから下は、公開後に松本側で追加した調整用のCSSです。

   【目次】
     A. 全ページ共通
        A-1  見出し（h1〜h3）の書体・改行
        A-2  改行の出し分け（br.sp-only / br.pc-only）
        A-3  ボタン文字の書体
        A-4  スマホ用：画面下の固定相談バー（.yrp-sp-cta）
        A-5  フッター（.yrp-ft）
        A-6  ヘッダー（配色・サイズの調整）
        A-7  ページ表示時のフェードイン
     B. ページ別（各ページのDiviコードモジュール内のHTMLとセットで使用）
        B-1  代表挨拶     /message/            … .yrp-pm-*
        B-2  会社概要     /company/            … .yrp-co-*
        B-3  ご相談の流れ /consultation-flow/  … .yrp-fl-*
        B-4  お悩み別ページ（共通デザイン）  … .yrp-tp-*
             B-4 追加／追加2／追加3／追加4 … 書類カード・図解・資産ページの配色など
        B-5  解決事例     /solution_case/      … .yrp-cs-*
        B-6  よくある質問 /faq/                … .yrp-fq-*
        B-7  代表ブログ   /representative-blog/ … .yrp-rb-* / .yrp-rep-*
        B-8  空き家       /vacant-house/       … .yrp-vh-*
        B-9  売却か保有か /sell-or-hold/       … .yrp-so-*
        B-10 採用情報     /recruit/            … .yrp-rc-*
        B-11 スマホ表示の文字揃え（各ページの見出しまわりを中央に）
        B-12 専門家の解説 /expert/             … .yrp-ex-* ／ .expert-insight*
        B-13 お問い合わせ /contact/            … .yrp-ct-* ／ .yr-contact-*
        B-14 提携の弁護士・税理士 /professional-partners/ … .yrp-pp-*
        B-15 士業の先生方へ /professionals/  … .yrp-pr-*
        B-16 案件のご相談フォーム /professional-form/ … .yrp-pf-*
        B-17 プライバシーポリシー /privacy-policy/ … .yrp-pv-*（利用規約 /terms/ も共用）
        B-18 お知らせ一覧 /news/              … .yrp-nw-* ／ .yrp-news-*
        B-19 お知らせの記事ページ             … body.single-news
        B-20 専門家の解説の記事ページ         … body.single-expert_insight

   【補足】
   ・B のページ別CSSは、ページごとに固有のクラス名（.yrp-pm / .yrp-co / .yrp-fl）で
     範囲を限定しているため、他のページには影響しません（B-11 は各ページのスマホ表示の微調整）。
   ・ブレイクポイントはテーマに合わせ、980px（タブレット）／767px（スマホ）です。
   ・トップページ用の追加分は yrp-home.css の末尾にまとめています。
   ・反映手順：保存後、WP Rocket「キャッシュをクリア」→
     「設定 > WP Rocket > ファイル最適化 > 変更を保存」（圧縮CSSの再生成）。
   ######################################################################### */


/* =========================================================================
   A-1. 見出し（h1〜h3）の書体・改行
   -------------------------------------------------------------------------
   ・本文エリア（#main-content）内の見出しを明朝体に統一
   ・言葉の途中で改行しないよう、文節（「、」「。」等）の位置で折り返す
   ・スマホでは h2 / h3 をひと回り小さく表示
   ========================================================================= */
#main-content h1,
#main-content h2,
#main-content h3{
  font-family:
    "source-han-serif-japanese",
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif !important;
  font-weight:700 !important;
  word-break:keep-all !important;
  word-break:auto-phrase !important; /* Chrome・Android：文節で折り返す（Safariはこの行を無視して上のkeep-allを使う） */
  overflow-wrap:anywhere !important;
  text-wrap:balance;
}

@media screen and (max-width:767px){
  #main-content h2{
    font-size:clamp(22px,6.2vw,26px) !important;
    line-height:1.5 !important;
  }
  #main-content h3{
    font-size:clamp(18px,5vw,21px) !important;
    line-height:1.55 !important;
  }
}


/* =========================================================================
   A-2. 改行の出し分け
   -------------------------------------------------------------------------
   ・<br class="sp-only">：スマホだけ改行
   ・<br class="pc-only">：PC・タブレットだけ改行
   ========================================================================= */
br.sp-only{ display:none; }

@media screen and (max-width:767px){
  br.sp-only{ display:inline; }
  br.pc-only{ display:none; }
}


/* =========================================================================
   A-3. ボタン文字の書体
   -------------------------------------------------------------------------
   ボタン・CTAの文字は、見出し（明朝体）とは別にゴシック体の太字で統一
   ========================================================================= */
.yrp-header-nav__button, .yrp-header-nav__button span,
.yrp-home-hero__button, .yrp-home-hero__button span,
.yrp-home-trust__button, .yrp-home-trust__button span,
.yrp-home-why__button, .yrp-home-why__button span,
.yrp-home-cta__label, .yrp-home-cta__card-title, .yrp-home-cta__go,
.yrp-home-contact__button, .yrp-home-contact__button span,
.et_pb_button, .yr-btn{
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif !important;
  font-weight:700 !important;
  letter-spacing:.04em !important;
}


/* =========================================================================
   A-4. スマホ用：画面下の固定相談バー（.yrp-sp-cta）
   -------------------------------------------------------------------------
   ・HTMLはテーマビルダーのフッター側のコードモジュールに配置
   ・ボタン構成：電話／LINE／TOP（ページ最上部へ）
   ・.is-visible の付け外し（ファーストビュー・最終CTA表示中は隠す）は
     同じコードモジュール内のスクリプトで制御
   ・スマホでは、浮いている「最上部へ戻る」ボタン（.yrp-page-top）は
     バー内のTOPボタンと重複するため非表示
   ========================================================================= */
.yrp-sp-cta{ display:none; }

@media screen and (max-width:767px){
  .yrp-sp-cta{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:998;
    display:grid;
    grid-template-columns:1fr 1fr 52px; /* 電話・LINE・TOP（TOPは小さめ） */
    gap:6px;
    padding:8px 8px calc(8px + env(safe-area-inset-bottom));
    background:rgba(11,26,46,.96);
    border-top:1px solid rgba(214,170,53,.55);
    box-shadow:0 -8px 24px rgba(0,0,0,.18);
    transform:translateY(110%);
    transition:transform .3s ease;
  }
  .yrp-sp-cta.is-visible{ transform:translateY(0); }

  .yrp-sp-cta__btn{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    min-height:52px;
    border-radius:10px;
    font-family:"Noto Sans JP",sans-serif;
    font-size:12px;
    font-weight:700;
    line-height:1.3;
    text-decoration:none !important;
  }
  .yrp-sp-cta__btn i{ font-size:18px; }

  /* 電話 */
  .yrp-sp-cta__btn--tel{ border:1px solid rgba(214,170,53,.7); color:#f0d68a !important; }

  /* LINE */
  .yrp-sp-cta__btn--line{ background:#06c755; color:#ffffff !important; }
  .yrp-sp-cta__btn--line i{ font-size:20px; }

  /* TOP（ページ最上部へ） */
  .yrp-sp-cta__btn--top{
    margin:0;
    padding:0;
    border:1px solid rgba(255,255,255,.25);
    background:transparent;
    color:#ffffff;
    cursor:pointer;
  }
  .yrp-sp-cta__btn--top i{ font-size:14px; }
  .yrp-sp-cta__btn--top span{ font-size:10px; letter-spacing:.06em; }

  /* バーの高さ分、ページ最下部に余白を確保 */
  body{ padding-bottom:calc(70px + env(safe-area-inset-bottom)) !important; }

  /* 浮いている「最上部へ戻る」ボタンはスマホでは非表示（バー内のTOPと重複） */
  .yrp-page-top{ display:none !important; }
}

/* Divi標準の「トップへ戻る」ボタンは、テーマ独自の .yrp-page-top と重複するため全端末で非表示 */
.et_pb_scroll_top{
  display:none !important;
}


/* =========================================================================
   A-5. フッター（.yrp-ft）
   -------------------------------------------------------------------------
   ・HTMLはテーマビルダーのグローバルフッター内のコードモジュールに配置
   ・構成：会社情報（ロゴ・電話・住所・SNS）／サイトマップ（PC：3列、スマホ：開閉式）
          ／最下段（コピーライト・規約類）
   ========================================================================= */

/* Diviのセクション・行の余白をなくし、フッターを画面幅いっぱいに表示 */
.et-l--footer .et_pb_section{
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
}
.et-l--footer .et_pb_row{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
.et-l--footer .et_pb_column,
.et-l--footer .et_pb_module{
  margin:0 !important;
  padding:0 !important;
}

/* 全体 */
.yrp-ft{
  position:relative;
  color:rgba(255,255,255,.82);
  background:
    linear-gradient(118deg, rgba(255,255,255,0) 30%, rgba(255,255,255,.035) 45%, rgba(255,255,255,0) 60%),
    radial-gradient(ellipse at 15% 0%, rgba(120,160,215,.16) 0%, rgba(120,160,215,0) 55%),
    linear-gradient(170deg,#132a45 0%,#0b1a2e 60%,#08131f 100%) !important;
  border-top:1px solid rgba(214,170,53,.55);
  font-size:14px;
  line-height:1.8;
}
.yrp-ft a{ color:inherit; text-decoration:none !important; transition:color .2s ease; }
.yrp-ft__inner{ width:92%; max-width:1200px; margin:0 auto; }
.yrp-ft__main{ padding:72px 0 56px; }
.yrp-ft__main > .yrp-ft__inner{ display:grid; grid-template-columns:minmax(0,4.2fr) minmax(0,7.8fr); gap:64px; }

/* 会社情報：ロゴ・キャッチ */
.yrp-ft__logo{ display:block; max-width:320px; margin-bottom:18px; }
.yrp-ft__logo img{ display:block; width:100%; height:auto; }
.yrp-ft__tagline{ margin:0 0 22px !important; color:#f3e3b5 !important; font-family:"Noto Serif JP",serif; font-size:14px !important; letter-spacing:.06em; line-height:1.9 !important; }

/* 会社情報：電話番号 */
.yrp-ft__tel{ display:inline-block; margin-bottom:16px; }
.yrp-ft__tel-label{ display:block; color:#d6aa35; font-size:12px; font-weight:700; letter-spacing:.08em; }
.yrp-ft__tel-num{ display:flex; align-items:center; gap:8px; color:#ffffff; font-family:"Noto Sans JP",sans-serif; font-size:24px; font-weight:800; line-height:1.35; letter-spacing:.02em; transition:color .2s ease; }
.yrp-ft__tel-num i{ color:#d6aa35; font-size:16px; }
.yrp-ft__tel:hover .yrp-ft__tel-num{ color:#f0d68a; }
.yrp-ft__tel-note{ display:block; color:rgba(255,255,255,.65); font-size:12px; }

/* 会社情報：住所・SNS */
.yrp-ft__address{ margin:0 0 22px; color:rgba(255,255,255,.62); font-size:12.5px; font-style:normal; line-height:1.9; }
.yrp-ft__social{ display:flex; gap:10px; }
.yrp-ft__social a{ display:flex; width:38px; height:38px; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.22); border-radius:50%; color:#ffffff; font-size:16px; transition:border-color .2s ease, background-color .2s ease, color .2s ease; }
.yrp-ft__social a:hover{ border-color:#d6aa35; background:#d6aa35; color:#0b1a2e; }

/* サイトマップ（PC：3列） */
.yrp-ft__nav{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.yrp-ft__heading{ margin:0 0 14px !important; padding-bottom:10px; border-bottom:1px solid rgba(214,170,53,.35); color:#ffffff !important; font-size:15px !important; font-weight:700; line-height:1.4 !important; }
.yrp-ft__heading span{ display:block; margin-bottom:2px; color:#d6aa35; font-family:"Noto Serif JP",serif; font-size:11px; font-style:italic; font-weight:400; letter-spacing:.2em; }
.yrp-ft__heading--gap{ margin-top:28px !important; }
.yrp-ft__nav ul{ margin:0 !important; padding:0 !important; list-style:none !important; }
.yrp-ft__nav li{ margin:0 0 8px !important; padding:0 !important; list-style:none !important; }
.yrp-ft__nav li a{ position:relative; display:inline-block; padding-left:14px; color:rgba(255,255,255,.78); font-size:13.5px; line-height:1.7; }
.yrp-ft__nav li a::before{ content:""; position:absolute; top:.72em; left:0; width:6px; height:1px; background:#d6aa35; transition:width .2s ease; }
.yrp-ft__nav li a:hover{ color:#f0d68a; }
.yrp-ft__nav li a:hover::before{ width:9px; }

/* 士業・専門家の方向けリンク */
.yrp-ft__pro{ display:flex; align-items:center; gap:12px; margin-top:22px; padding:12px 14px; border:1px solid rgba(214,170,53,.45); border-radius:10px; }
.yrp-ft__pro i{ color:#d6aa35; font-size:18px; }
.yrp-ft__pro span{ display:flex; flex-direction:column; color:#ffffff; font-size:14px; font-weight:700; line-height:1.4; }
.yrp-ft__pro small{ color:rgba(255,255,255,.6); font-size:10.5px; font-weight:400; }
.yrp-ft__pro:hover{ background:rgba(214,170,53,.12); }

/* サイトマップ（スマホ用の開閉式。PCでは非表示） */
.yrp-ft__mnav{ display:none; }

/* 最下段：コピーライト・規約類 */
.yrp-ft__bottom{ border-top:1px solid rgba(255,255,255,.08); background:rgba(0,0,0,.18); }
.yrp-ft__bottom-inner{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 0; }
.yrp-ft__copy{ margin:0 !important; color:rgba(255,255,255,.45) !important; font-size:11.5px !important; letter-spacing:.04em; }
.yrp-ft__legal{ display:flex; gap:20px; }
.yrp-ft__legal a{ color:rgba(255,255,255,.6); font-size:12px; }
.yrp-ft__legal a:hover{ color:#f0d68a; }

/* タブレット */
@media screen and (max-width:980px){
  .yrp-ft__main > .yrp-ft__inner{ grid-template-columns:1fr; gap:40px; }
}

/* スマホ：中央揃え・文字を読みやすいサイズに・サイトマップを開閉式に */
@media screen and (max-width:767px){
  .yrp-ft__main{ padding:48px 0 32px; }
  .yrp-ft__inner{ width:calc(100% - 32px); }
  .yrp-ft__main > .yrp-ft__inner{ gap:28px; }
  .yrp-ft__logo{ max-width:250px; margin:0 auto 14px; }
  .yrp-ft__tagline{ text-align:center; margin-bottom:18px !important; font-size:15px !important; }
  .yrp-ft__tel{ display:block; text-align:center; }
  .yrp-ft__tel-label{ font-size:13px; }
  .yrp-ft__tel-num{ justify-content:center; font-size:26px; }
  .yrp-ft__tel-note{ font-size:13.5px; }
  .yrp-ft__address{ text-align:center; font-size:14px; line-height:1.9; color:rgba(255,255,255,.78); }
  .yrp-ft__social{ justify-content:center; }
  .yrp-ft__nav{ display:none; }
  .yrp-ft__mnav{ display:block; border-top:1px solid rgba(255,255,255,.1); }
  .yrp-ft__mnav details{ border-bottom:1px solid rgba(255,255,255,.1); }
  .yrp-ft__mnav summary{ position:relative; padding:16px 4px; color:#ffffff; font-size:15px; font-weight:700; list-style:none; cursor:pointer; }
  .yrp-ft__mnav summary::-webkit-details-marker{ display:none; }
  .yrp-ft__mnav summary::after{ content:"+"; position:absolute; right:6px; top:50%; color:#d6aa35; font-size:20px; font-weight:400; transform:translateY(-50%); }
  .yrp-ft__mnav details[open] summary::after{ content:"−"; }
  .yrp-ft__mnav details > div{ display:flex; flex-direction:column; padding:0 4px 14px; }
  .yrp-ft__mnav details > div a{ padding:8px 0 8px 14px; border-left:1px solid rgba(214,170,53,.45); color:rgba(255,255,255,.78); font-size:14px; }
  .yrp-ft__bottom-inner{ flex-direction:column-reverse; gap:8px; padding:16px 0; text-align:center; }
  .yrp-ft__copy{ font-size:12.5px !important; }
  .yrp-ft__legal a{ font-size:13.5px; }
}


/* =========================================================================
   A-6. ヘッダー（配色・サイズの調整）
   -------------------------------------------------------------------------
   テーマのヘッダー（.yr-news-* / .yrp-header-*）の配色・文字サイズを上書き調整
   構成：NEWS帯 → 電話の帯 → メインの帯（ロゴ・メニュー・お問い合わせボタン）
   ========================================================================= */

/* NEWS帯：細め・単色 */
.yr-news-wrap{
  height:44px !important;
  background:#0b1a2e !important;
  border-top:0 !important;
  border-bottom:1px solid rgba(214,170,53,.25) !important;
}
.yr-news-wrap::before, .yr-news-wrap::after{ display:none !important; }
.yr-news-label{
  width:auto !important;
  min-width:0 !important;
  padding:0 18px 0 24px !important;
  border-right:1px solid rgba(214,170,53,.35) !important;
  color:#d6aa35 !important;
  font-family:"Noto Serif JP",serif !important;
  font-size:12px !important;
  font-style:italic;
  letter-spacing:.2em !important;
}
.yr-news-item{ gap:18px !important; padding:0 20px !important; }
.yr-news-date{ color:rgba(255,255,255,.55) !important; font-size:12.5px !important; }
.yr-news-title{ color:rgba(255,255,255,.9) !important; font-size:13.5px !important; }
.yr-news-arrow{ width:48px !important; min-width:48px !important; font-size:16px !important; }

/* 電話の帯：細め */
.yrp-header-info{
  background:#0f2238 !important;
  border-bottom:1px solid rgba(255,255,255,.06) !important;
}
.yrp-header-info__inner{ min-height:34px !important; padding-top:0 !important; padding-bottom:0 !important; }
.yrp-header-info__label,
.yrp-header-info__note{ color:rgba(255,255,255,.62) !important; font-size:11.5px !important; }
.yrp-header-info__tel strong{ font-size:19px !important; color:#f0d68a !important; letter-spacing:.03em; }

/* メインの帯：ネイビー背景＋下部にゴールドの線 */
.yrp-header-main{
  background:
    linear-gradient(118deg, rgba(255,255,255,0) 30%, rgba(255,255,255,.05) 45%, rgba(255,255,255,0) 60%),
    linear-gradient(180deg,#132a47 0%,#0b1a2e 100%) !important;
  border-bottom:2px solid #b8860b !important;
  box-shadow:0 6px 20px rgba(0,0,0,.25);
}

/* メニュー・ボタンの文字：ゴシック体の太字 */
.yrp-header-nav__link,
.yrp-header-nav__button,
.yrp-header-contact,
.yrp-header-contact span,
.yrp-mobile-nav, .yrp-mobile-nav a, .yrp-mobile-nav summary{
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif !important;
  font-weight:700 !important;
}
.yrp-header-nav__link{
  position:relative;
  color:rgba(255,255,255,.95) !important;
  letter-spacing:.08em !important;
}
/* メニューのホバー時に下線（ゴールド） */
.yrp-header-nav__link::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-6px;
  width:0;
  height:1px;
  background:#d6aa35;
  transform:translateX(-50%);
  transition:width .25s ease;
}
.yrp-header-nav__item:hover .yrp-header-nav__link::after{ width:70%; }
.yrp-header-nav__link i{ color:#d6aa35 !important; font-size:10px !important; }

/* お問い合わせボタン（ゴールド） */
.yrp-header-contact{
  gap:10px !important;
  min-height:54px !important;
  padding:0 30px !important;
  border:1px solid #f0d68a !important;
  border-radius:8px !important;
  background:linear-gradient(135deg,#f6e3a1 0%,#d6aa35 50%,#b8860b 100%) !important;
  box-shadow:0 6px 18px rgba(184,134,11,.35), inset 0 1px 0 rgba(255,255,255,.45) !important;
  color:#0b1a2e !important;
  font-size:16px !important;
  letter-spacing:.1em !important;
  transition:background .25s ease !important;
}
.yrp-header-contact span,
.yrp-header-contact i{ color:#0b1a2e !important; }
.yrp-header-contact:hover{
  background:linear-gradient(135deg,#fff0bf 0%,#e4bd52 50%,#c9961a 100%) !important;
}

/* PC：メインの帯の高さ・ロゴ・メニュー文字のサイズ */
@media screen and (min-width:981px){
  .yrp-header-main__inner{ min-height:96px !important; }
  .yrp-header-logo{ width:340px !important; max-width:none !important; }
  .yrp-header-logo img{ width:100% !important; height:auto !important; }
  .yrp-header-nav__link{ font-size:16.5px !important; }
}

/* スマホ：NEWS帯を1行に収める（日付は非表示） */
@media screen and (max-width:767px){
  .yr-news-label{ padding:0 12px 0 14px !important; font-size:11px !important; }
  .yr-news-item{ gap:8px !important; padding:0 10px !important; }
  .yr-news-date{ display:none !important; }
  .yr-news-title{ font-size:12px !important; line-height:1.45 !important; }
  .yr-news-arrow{ width:36px !important; min-width:36px !important; font-size:14px !important; }
}


/* =========================================================================
   B-11. スマホ表示の文字揃え（共通ファイルに残す分：安心の理由・士業の方へ）
   ・お問い合わせ分は pages/contact.css、代表挨拶分は pages/message.css へ移動
   ========================================================================= */
@media screen and (max-width:767px){
  /* --- 安心の理由：各セクションの見出しまわり --- */
  .trust-hero__eyebrow, .trust-hero__title, .trust-hero__text, .trust-hero__notes,
  .trust-list__eyebrow, .trust-list__title, .trust-list__lead,
  .trust-details__eyebrow, .trust-details__title, .trust-details__lead,
  .trust-voices__eyebrow, .trust-voices__title, .trust-voices__lead, .trust-voices__notice,
  .trust-contact__eyebrow, .trust-contact__title, .trust-contact__lead,
  .trust-contact__notes-title{ text-align:center !important; }
  .trust-hero__title{ font-size:clamp(20px,5.6vw,26px) !important; word-break:keep-all; overflow-wrap:anywhere; }
  /* --- 士業の方へ：冒頭の見出し --- */
  .yrp-pro-hero__title{ text-align:center !important; }
}
/* =========================================================================
   B-23. スマホのヘッダーとメニュー（980px以下）
   ・ロゴは左上にそろえ、左右の余白を16pxで統一
   ・メニューは右から滑り出すパネル。背景を暗くし、項目を順に表示。閉じるときも滑らかに戻す
   ========================================================================= */
@keyframes yrp-nav-in{ from{ opacity:0; transform:translateX(16px); } to{ opacity:1; transform:none; } }
@media screen and (max-width:980px){
  .yrp-site-header .yrp-header-main__inner,
  .yrp-site-header.is-scrolled .yrp-header-main__inner{ width:100% !important; max-width:none !important; min-height:60px !important; margin:0 !important;  align-items:center !important; }
  .yrp-site-header .yrp-header-logo,
  .yrp-site-header.is-scrolled .yrp-header-logo{ display:flex !important; align-items:center !important; flex:1 1 auto !important; min-width:0; padding:0 !important; }
  .yrp-site-header .yrp-header-logo a{ display:block; line-height:0; }
  .yrp-site-header .yrp-header-logo img,
  .yrp-site-header.is-scrolled .yrp-header-logo img{ width:auto !important;  height:auto !important;  object-position:left center !important; }
  .yrp-site-header .yrp-header-toggle{ position:relative; z-index:3; flex:0 0 44px !important; width:44px !important; height:44px !important; border-radius:50% !important; transition:background-color .3s; }
  .yrp-site-header .yrp-header-toggle span{ width:22px !important; height:2px !important; margin:0 0 6px !important; border-radius:2px; background:#d6aa35 !important; transition:transform .45s cubic-bezier(.22,1,.36,1), opacity .25s, width .3s !important; }
  .yrp-site-header .yrp-header-toggle span:nth-child(2){ width:16px !important; align-self:flex-end; margin-right:11px !important; }
  .yrp-site-header .yrp-header-toggle span:last-child{ margin-bottom:0 !important; }
  .yrp-site-header .yrp-header-toggle.is-active{  }
  .yrp-site-header .yrp-header-toggle.is-active span:nth-child(1){ transform:translateY(8px) rotate(45deg) !important; }
  .yrp-site-header .yrp-header-toggle.is-active span:nth-child(2){ opacity:0 !important; transform:translateX(8px); }
  .yrp-site-header .yrp-header-toggle.is-active span:nth-child(3){ transform:translateY(-8px) rotate(-45deg) !important; }
  body .yrp-site-header .yrp-mobile-nav{ position:fixed !important; top:0 !important; right:0 !important; left:auto !important; z-index:2 !important; display:block !important; width:86vw !important; max-width:380px !important; height:100vh !important; height:100dvh !important; max-height:none !important; padding:0 !important; overflow-y:auto !important; overscroll-behavior:contain; visibility:hidden !important;  pointer-events:none !important; border:0 !important; border-left:1px solid rgba(214,170,53,.35) !important; background:linear-gradient(165deg,#13294a 0%,#0b1a30 70%) !important; box-shadow:-20px 0 40px rgba(0,0,0,.25) !important;   }
  body .yrp-site-header .yrp-mobile-nav.is-open{ visibility:visible !important; pointer-events:auto !important;   }
  .yrp-site-header::before{ content:""; position:fixed; inset:0; z-index:1;  -webkit-backdrop-filter:blur(2px);  opacity:0; visibility:hidden; pointer-events:none;  }
  body.yrp-menu-open .yrp-site-header::before{ opacity:1; visibility:visible;  }
  .yrp-site-header .yrp-mobile-nav__inner::before{ content:"MENU"; display:block; margin:0 0 6px; color:#d6aa35; font-family:"Noto Serif JP",serif; font-size:12px; font-style:italic; letter-spacing:.3em; }
  .yrp-site-header .yrp-mobile-nav__inner{ padding:104px 24px 36px !important; }
  .yrp-site-header .yrp-mobile-nav.is-open .yrp-mobile-nav__inner > *{  }
  .yrp-site-header .yrp-mobile-nav.is-open .yrp-mobile-nav__inner > *:nth-child(1){ animation-delay:.08s; }
  .yrp-site-header .yrp-mobile-nav.is-open .yrp-mobile-nav__inner > *:nth-child(2){ animation-delay:.13s; }
  .yrp-site-header .yrp-mobile-nav.is-open .yrp-mobile-nav__inner > *:nth-child(3){ animation-delay:.18s; }
  .yrp-site-header .yrp-mobile-nav.is-open .yrp-mobile-nav__inner > *:nth-child(4){ animation-delay:.23s; }
  .yrp-site-header .yrp-mobile-nav.is-open .yrp-mobile-nav__inner > *:nth-child(5){ animation-delay:.28s; }
  .yrp-site-header .yrp-mobile-nav.is-open .yrp-mobile-nav__inner > *:nth-child(6){ animation-delay:.33s; }
  .yrp-site-header .yrp-mobile-nav.is-open .yrp-mobile-nav__inner > *:nth-child(7){ animation-delay:.38s; }
  .yrp-site-header .yrp-mobile-nav__home,
  .yrp-site-header .yrp-mobile-nav summary{ min-height:52px !important; border-bottom:1px solid rgba(255,255,255,.1) !important; font-size:15px !important; letter-spacing:.04em; }
  .yrp-site-header .yrp-mobile-nav summary::before,
  .yrp-site-header .yrp-mobile-nav summary::after{ right:4px !important; width:12px !important; }
  .yrp-site-header .yrp-mobile-nav__submenu{ margin:0 !important; padding:4px 0 10px 4px !important; background:none !important; }
  .yrp-site-header .yrp-mobile-nav__submenu a{ position:relative; padding:10px 8px 10px 16px !important; border-bottom:0 !important; color:rgba(255,255,255,.82) !important; font-size:13.5px !important; }
  .yrp-site-header .yrp-mobile-nav__submenu a::before{ content:""; position:absolute; top:50%; left:2px; width:5px; height:5px; border-top:1.5px solid #d6aa35; border-right:1.5px solid #d6aa35; transform:translateY(-50%) rotate(45deg); }
  .yrp-site-header .yrp-mobile-nav details[open] summary{ color:#f0d68a !important; }
  .yrp-site-header .yrp-mobile-nav__actions{ padding-top:24px !important; }
  .yrp-site-header .yrp-mobile-nav__contact{ min-height:52px !important; border-radius:999px !important; font-size:15px !important; box-shadow:0 8px 20px rgba(0,0,0,.25); }
  .yrp-site-header .yrp-mobile-nav__tel{ margin-top:12px !important; padding:14px !important; border-radius:16px !important; background:rgba(255,255,255,.04) !important; border:1px solid rgba(214,170,53,.4) !important; }
  .yrp-site-header .yrp-mobile-nav__tel strong{ font-size:24px !important; }
}
@media (prefers-reduced-motion:reduce){
  body .yrp-site-header .yrp-mobile-nav,
  body .yrp-site-header .yrp-mobile-nav.is-open{ transition:none !important; }
  .yrp-site-header .yrp-mobile-nav.is-open .yrp-mobile-nav__inner > *{ animation:none; }
}

/* B-23 追加：スマホのNEWS帯を細くして、ロゴの上の余白を減らす／メニューボタンの背景を透明に */
@media screen and (max-width:980px){
  .et-l--header .et_pb_section:has(.yr-news-wrap),
  .et-l--header .et_pb_row:has(.yr-news-wrap),
  .et-l--header .et_pb_module:has(.yr-news-wrap){ margin:0 !important; padding:0 !important; min-height:0 !important; }
  .yr-news-wrap{ height:30px !important; border-top:0 !important; }
  .yr-news-wrap::before, .yr-news-wrap::after{ display:none !important; }
  .yr-news-label{ width:64px !important; min-width:64px !important; padding:0 !important; font-size:10px !important; letter-spacing:.12em !important; white-space:nowrap !important; line-height:30px !important; }
  .yr-news-item{ gap:8px !important; padding:0 10px !important; }
  .yr-news-date{ display:none !important; }
  .yr-news-title{ display:block !important; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:11px !important; line-height:30px !important; }
  .yr-news-arrow{ width:30px !important; min-width:30px !important; font-size:15px !important; }
  .yrp-site-header .yrp-header-toggle{ background:transparent !important; box-shadow:none !important; outline:0; }
  .yrp-site-header .yrp-header-toggle.is-active{ background:rgba(255,255,255,.08) !important; }
  .yrp-site-header .yrp-header-toggle:focus-visible{ outline:2px solid #d6aa35; outline-offset:2px; }
}

/* =========================================================================
   B-24. メニューの開き方とデザイン（PCのメガメニュー／スマホのメニュー内の項目）
   ========================================================================= */
@keyframes yrp-mega-in{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
@media screen and (min-width:981px){
  .yrp-site-header .yrp-header-nav .yrp-header-mega{ top:calc(100% + 12px);     border-radius:20px;  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);  color:#ffffff; transform:translate(-50%,16px) scale(.97); transform-origin:50% 0; -webkit-clip-path:inset(0 0 100% 0 round 20px); clip-path:inset(0 0 100% 0 round 20px); transition:opacity .3s ease, transform .55s cubic-bezier(.22,1,.36,1), -webkit-clip-path .55s cubic-bezier(.22,1,.36,1), clip-path .55s cubic-bezier(.22,1,.36,1), visibility 0s linear .55s; }
  .yrp-site-header .yrp-header-nav .yrp-header-mega::before{ content:""; position:absolute; top:-14px; right:0; left:0; height:14px; }
  .yrp-site-header .yrp-header-nav .yrp-header-nav__item:hover .yrp-header-mega,
  .yrp-site-header .yrp-header-nav .yrp-header-nav__item:focus-within .yrp-header-mega{ visibility:visible; opacity:1; transform:translate(-50%,0) scale(1); -webkit-clip-path:inset(-60px -90px -110px -90px round 20px); clip-path:inset(-60px -90px -110px -90px round 20px); transition:opacity .3s ease, transform .55s cubic-bezier(.22,1,.36,1), -webkit-clip-path .55s cubic-bezier(.22,1,.36,1), clip-path .55s cubic-bezier(.22,1,.36,1), visibility 0s; }
  .yrp-site-header .yrp-header-nav .yrp-header-mega--small{ display:block;  }
  .yrp-site-header .yrp-header-mega__intro{ padding:6px 20px 0 4px;  }
  .yrp-site-header .yrp-header-mega__number{  font-family:"Noto Serif JP",serif !important;  font-style:italic; font-weight:400 !important; }
  .yrp-site-header .yrp-header-mega__title{ margin-top:12px; color:#ffffff !important;  letter-spacing:.06em; }
  .yrp-site-header .yrp-header-mega__en{ margin-top:6px;  font-family:"Noto Serif JP",serif !important;  font-style:italic; font-weight:400 !important; letter-spacing:.12em; }
  .yrp-site-header .yrp-header-mega__links{ display:grid; gap:4px; padding-left:16px; }
  .yrp-site-header .yrp-header-mega--small .yrp-header-mega__links{ padding-left:0; }
  .yrp-site-header .yrp-header-mega__links > a{   border:0 !important; border-radius:14px; color:#ffffff !important; background:transparent !important; transition:background-color .25s ease, transform .25s ease !important; }
  .yrp-site-header .yrp-header-mega__links > a:hover,
  .yrp-site-header .yrp-header-mega__links > a:focus{ padding-left:12px !important;  color:#ffffff !important; }
  .yrp-site-header .yrp-header-mega__icon{    margin-right:14px !important; border-radius:50%;    transition:background-color .25s, color .25s; }
  .yrp-site-header .yrp-header-mega__links > a:hover .yrp-header-mega__icon{   }
  .yrp-site-header .yrp-header-mega__text strong{ color:#ffffff !important;  letter-spacing:.04em; }
  .yrp-site-header .yrp-header-mega__text small{  color:rgba(255,255,255,.6) !important;  font-weight:500 !important; }
  .yrp-site-header .yrp-header-mega__links > a > .fa-chevron-right{  transition:transform .25s ease; }
  .yrp-site-header .yrp-header-mega__links > a:hover > .fa-chevron-right{ transform:translateX(4px); }
  .yrp-site-header .yrp-header-nav__item:hover .yrp-header-mega__intro,
  .yrp-site-header .yrp-header-nav__item:hover .yrp-header-mega__links > a{ animation:yrp-mega-in .5s cubic-bezier(.22,1,.36,1) both; }
  .yrp-site-header .yrp-header-nav__item:hover .yrp-header-mega__links > a:nth-child(1){ animation-delay:.08s; }
  .yrp-site-header .yrp-header-nav__item:hover .yrp-header-mega__links > a:nth-child(2){ animation-delay:.14s; }
  .yrp-site-header .yrp-header-nav__item:hover .yrp-header-mega__links > a:nth-child(3){ animation-delay:.2s; }
  .yrp-site-header .yrp-header-nav__item:hover .yrp-header-mega__links > a:nth-child(4){ animation-delay:.26s; }
  .yrp-site-header .yrp-header-nav__item:hover .yrp-header-mega__links > a:nth-child(5){ animation-delay:.32s; }
  .yrp-site-header .yrp-header-nav__item:hover .yrp-header-mega__links > a:nth-child(6){ animation-delay:.38s; }
  .yrp-site-header .yrp-header-nav__item:hover .yrp-header-mega__links > a:nth-child(7){ animation-delay:.44s; }
}
@media screen and (max-width:980px){
  .yrp-site-header .yrp-mobile-nav__submenu{  }
}
@media (prefers-reduced-motion:reduce){
  .yrp-site-header .yrp-header-nav .yrp-header-mega{ transition:none !important; }
  .yrp-site-header .yrp-header-nav__item:hover .yrp-header-mega__intro,
  .yrp-site-header .yrp-header-nav__item:hover .yrp-header-mega__links > a{ animation:none !important; }
}

/* =========================================================================
   B-27. メニューの仕上げ（B-25・B-26をまとめたもの＋スマホの文字の動きを止める）
   ・スマホ：後ろのぼかし（重い処理）をやめ、暗くするだけ。パネルは少し滑りながらフェードで現れる
   ・スマホ：メニュー内の文字が順に浮かぶ動きは、カクつきの原因になるので止める（パネルごと表示）
   ・PC：メニューの文字を一回り大きく
   ========================================================================= */
@media screen and (max-width:980px){
  .yrp-site-header::before{ -webkit-backdrop-filter:none !important; backdrop-filter:none !important; background:rgba(5,14,28,.6) !important; transition:opacity .4s ease, visibility 0s linear .4s !important; }
  body.yrp-menu-open .yrp-site-header::before{ transition:opacity .4s ease, visibility 0s !important; }
  body .yrp-site-header .yrp-mobile-nav{ opacity:0 !important; transform:translateX(40px); will-change:transform, opacity; transition:transform .45s cubic-bezier(.22,1,.36,1), opacity .35s ease, visibility 0s linear .45s !important; }
  body .yrp-site-header .yrp-mobile-nav.is-open{ opacity:1 !important; transform:none; transition:transform .5s cubic-bezier(.22,1,.36,1), opacity .4s ease, visibility 0s !important; }
  .yrp-site-header .yrp-mobile-nav.is-open .yrp-mobile-nav__inner > *{ animation:none !important; }
  .yrp-site-header .yrp-mobile-nav__submenu{ overflow:hidden; }
}
@media screen and (min-width:981px){
  .yrp-site-header .yrp-header-nav .yrp-header-mega{ grid-template-columns:165px minmax(0,1fr); width:640px; padding:24px; }
  .yrp-site-header .yrp-header-nav .yrp-header-mega--small{ width:390px; }
  .yrp-site-header .yrp-header-mega__number{ font-size:38px !important; }
  .yrp-site-header .yrp-header-mega__title{ font-size:19px !important; }
  .yrp-site-header .yrp-header-mega__en{ font-size:12px !important; }
  .yrp-site-header .yrp-header-mega__links > a{ min-height:68px; padding:12px 14px !important; }
  .yrp-site-header .yrp-header-mega__icon{ flex:0 0 42px !important; width:42px; height:42px; font-size:18px !important; }
  .yrp-site-header .yrp-header-mega__text strong{ font-size:16px !important; }
  .yrp-site-header .yrp-header-mega__text small{ font-size:12.5px !important; margin-top:3px !important; }
}

/* =========================================================================
   B-28. PCメニューの仕上げ（シルバーの縁と光沢）
   ・縁：光を反射するシルバーのメタリック枠／上側にガラスのような照り返し
   ・開いた瞬間に、光が斜めに一度だけ走る
   ・アイコン：シルバーのリング。マウスを乗せると金のメタリックに
   ========================================================================= */
@keyframes yrp-mega-sheen{ 0%{ opacity:0; transform:translateX(-130%) skewX(-18deg); } 15%{ opacity:1; } 85%{ opacity:1; } 100%{ opacity:0; transform:translateX(330%) skewX(-18deg); } }
@media screen and (min-width:981px){
  .yrp-site-header .yrp-header-nav .yrp-header-mega{
    border:1.5px solid transparent !important;
    background:
      linear-gradient(160deg,rgba(26,48,84,.98) 0%,rgba(12,26,48,.99) 60%,rgba(8,19,36,.99) 100%) padding-box,
      linear-gradient(125deg,#f6f8fb 0%,#9aa4b1 18%,#eef1f5 34%,#6f7a88 52%,#dfe4ea 68%,#8d97a4 84%,#f4f6f9 100%) border-box !important;
    box-shadow:0 34px 70px rgba(2,10,22,.55), 0 0 0 1px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.28), inset 0 -1px 0 rgba(255,255,255,.06) !important;
    overflow:hidden;
  }
  /* 上側の照り返し＋開いたときに走る光 */
  .yrp-site-header .yrp-header-nav .yrp-header-mega::after{ content:""; position:absolute; inset:0; border-radius:18px; pointer-events:none; background:linear-gradient(180deg,rgba(255,255,255,.13) 0%,rgba(255,255,255,.04) 22%,rgba(255,255,255,0) 45%); }
  .yrp-site-header .yrp-header-mega__links::before{ content:""; position:absolute; top:-40%; left:0; width:28%; height:180%; pointer-events:none; background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.16),rgba(255,255,255,0)); opacity:0; transform:translateX(-130%) skewX(-18deg); }
  .yrp-site-header .yrp-header-nav__item:hover .yrp-header-mega__links::before{ animation:yrp-mega-sheen 1.1s cubic-bezier(.3,.6,.2,1) .15s both; }
  .yrp-site-header .yrp-header-mega__links{ position:relative; }

  /* 左の見出し：番号と仕切り線をシルバー→金に */
  .yrp-site-header .yrp-header-mega__intro{ position:relative; border-right:0 !important; }
  .yrp-site-header .yrp-header-mega__intro::after{ content:""; position:absolute; top:4px; right:0; bottom:4px; width:1px; background:linear-gradient(180deg,rgba(220,226,234,0),rgba(220,226,234,.55) 30%,rgba(214,170,53,.6) 70%,rgba(214,170,53,0)); }
  .yrp-site-header .yrp-header-mega__number{ background:linear-gradient(120deg,#f4f6f9 0%,#aab3be 40%,#e8cf86 70%,#c99a2e 100%); -webkit-background-clip:text; background-clip:text; color:transparent !important; }
  .yrp-site-header .yrp-header-mega__en{ color:rgba(214,222,232,.7) !important; }

  /* 項目 */
  .yrp-site-header .yrp-header-mega__links > a{ position:relative; }
  .yrp-site-header .yrp-header-mega__links > a::before{ content:""; position:absolute; top:12px; bottom:12px; left:0; width:2px; border-radius:2px; background:linear-gradient(180deg,#f4f6f9,#9aa4b1,#e8cf86); opacity:0; transform:scaleY(.4); transition:opacity .25s, transform .3s cubic-bezier(.22,1,.36,1); }
  .yrp-site-header .yrp-header-mega__links > a:hover::before{ opacity:1; transform:none; }
  .yrp-site-header .yrp-header-mega__links > a:hover,
  .yrp-site-header .yrp-header-mega__links > a:focus{ background:linear-gradient(90deg,rgba(255,255,255,.1),rgba(255,255,255,.025)) !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.06); }

  /* アイコン：シルバーのリング → 金のメタリック */
  .yrp-site-header .yrp-header-mega__icon{ border:1px solid rgba(220,226,234,.45); background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.16),rgba(255,255,255,.03) 60%) !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 4px 12px rgba(0,0,0,.25); color:#f0d68a !important; }
  .yrp-site-header .yrp-header-mega__links > a:hover .yrp-header-mega__icon{ border-color:rgba(255,240,190,.8); background:linear-gradient(135deg,#fbefc4 0%,#e3c066 35%,#b8860b 70%,#e9cf7d 100%) !important; color:#14243a !important; }
  .yrp-site-header .yrp-header-mega__links > a > .fa-chevron-right{ color:#c9d0d9 !important; }
  .yrp-site-header .yrp-header-mega__links > a:hover > .fa-chevron-right{ color:#f0d68a !important; }
}
@media (prefers-reduced-motion:reduce){
  .yrp-site-header .yrp-header-nav__item:hover .yrp-header-mega__links::before{ animation:none !important; }
}

/* =========================================================================
   B-29. フッター（スマホ）の開閉：「＋」が回って「−」に、中身はフェードで伸び縮み（動きはフッターのスクリプト）
   ========================================================================= */
.yrp-ft__mnav summary{ transition:color .3s ease; }
.yrp-ft__mnav details[open] > summary{ color:#f0d68a; }
.yrp-ft__mnav summary::before,
.yrp-ft__mnav summary::after{ content:"" !important; position:absolute; top:50%; right:6px; width:14px; height:2px; border-radius:2px; background:#d6aa35; font-size:0 !important; transform:translateY(-50%); transition:transform .4s cubic-bezier(.22,1,.36,1), opacity .3s ease; }
.yrp-ft__mnav summary::after{ transform:translateY(-50%) rotate(90deg); }
.yrp-ft__mnav details[open] > summary::after{ transform:translateY(-50%) rotate(180deg); opacity:0; }
.yrp-ft__mnav details > div{ overflow:hidden; }


/* =========================================================================
   B-32. スマホのヘッダー：ロゴを少し左に寄せて、一回り大きく
   ・ロゴの左の余白を約13pxに（ロゴ画像の中の透明な余白を含めて計算）
   ・ロゴの幅を196px→224pxに（幅の狭いスマホでは200px）
   ========================================================================= */
@media screen and (max-width:980px){
  .yrp-site-header .yrp-header-main__inner,
  .yrp-site-header.is-scrolled .yrp-header-main__inner{ padding:0 6px 0 8px !important; }
  .yrp-site-header .yrp-header-logo img,
  .yrp-site-header.is-scrolled .yrp-header-logo img{ max-width:224px !important; max-height:42px !important; }
}
@media screen and (max-width:359px){
  .yrp-site-header .yrp-header-logo img,
  .yrp-site-header.is-scrolled .yrp-header-logo img{ max-width:200px !important; }
}

/* =========================================================
   2026-10-27 見出し・タイトル・キャッチ文の改行ルール（サイト全体）
   ・日本語の文節（意味のまとまり）で折り返す（word-break:auto-phrase。未対応のブラウザでは通常の折り返し）
   ・行の長さをそろえ、最後の行に1〜2文字だけ残るのを防ぐ
   ・お知らせのテロップ（yr-news-title）やボタンは対象外
   ========================================================= */
body :is(h1,h2,h3,h4,h5,h6,[class*="__title"],[class*="__catch"],[class*="__heading"],[class*="__note"]):not([class*="btn"]):not([class*="button"]){
  word-break:auto-phrase;
  line-break:strict;
  text-wrap:balance;
}

/* 本文・リスト：最後の行に1〜2文字だけ残らないようにする（対応ブラウザのみ） */
body :is(p,li,dd,dt,figcaption,blockquote){ text-wrap:pretty; }

/* スマホ：中央揃えの見出しのすぐ下にある短い説明文は中央に揃える（2026-10-27 点検で洗い出した箇所） */
@media (max-width:767px){
  html body :is(#main-content,#et-main-area,body) :is(.yrp-home-select__sub,.yrp-home-result__lead,.yrp-home-cta__lead,.yrp-related-cases__lead){ text-align:center !important; }
}
/* 改行してよい位置の印（<wbr>）が入っていない見出し・タイトル：普通の折り返し＋行の長さをそろえる（2026-10-27 点検で最後の1文字落ちが出た箇所） */
body :is(.yrp-home-qa__q-text,.yrp-case-result__heading,.expert-insight-title,.yrp-co-access__name,.yrp-news-card__title,.entry-title,.yrp-rep-single-header__title,.yrp-tp-worry__catch,.wp-block-heading){
  word-break:normal !important;
  word-break:auto-phrase !important;
  overflow-wrap:normal !important;
  text-wrap:balance !important;
}
/* 2026-10-27 お悩みページ（.yrp-tp）の本文：keep-all のせいで「。」だけが次の行に落ちたり、行頭に「、」が来ていたため、
   本文は普通の折り返し＋行頭禁則（line-break:strict）にする。Chrome・Androidは文節で折り返す */
html body .yrp-tp :is(p,li,dd){
  word-break:normal !important;
  word-break:auto-phrase !important;
  overflow-wrap:normal !important;
  line-break:strict !important;
}

/* 2026-10-27 区のページ「解決までの流れ」のカード：右下に「事例を読む →」を出す（区ページのCSSは各ページにコピーされているため共通CSSに置く） */
.yrp-ar .yrp-ar-cases a{ display:flex !important; flex-direction:column; transition:transform .25s ease, box-shadow .25s ease; }
.yrp-ar .yrp-ar-cases a::after{ content:"事例を読む →"; align-self:flex-end; margin-top:auto; padding-top:10px; color:#b8860b; font-size:13px; font-weight:700; line-height:1.4; }
.yrp-ar .yrp-ar-cases a:hover{ transform:translateY(-2px); box-shadow:0 10px 22px rgba(26,44,66,.1); }
.yrp-ar .yrp-ar-cases em{ align-self:flex-start; }

/* 2026-10-27 スマホのメニュー：「物件を探す」はほかと性質が違うので、会社案内の下に少し間をあけて置く */
html body .yrp-site-header .yrp-mobile-nav details.yrp-mobile-nav__property{ margin-top:22px !important; border-top:1px solid rgba(214,170,53,.45) !important; }

/* 2026-10-27 スマホのメニュー：フリーダイヤルも「無料相談」と同じ丸いボタンに（枠が下の固定バーで切れていた） */
html body .yrp-site-header .yrp-mobile-nav__tel{ flex-direction:row !important; justify-content:center !important; align-items:center !important; gap:10px; min-height:52px !important; margin-top:12px !important; padding:0 20px !important; border:1px solid #e1c260 !important; border-radius:999px !important; background:#071735 !important; box-shadow:0 8px 20px rgba(0,0,0,.25); }
html body .yrp-site-header .yrp-mobile-nav__tel::before{ content:"\f095"; color:#d9ae39; font-family:"Font Awesome 6 Free"; font-size:15px; font-weight:900; }
html body .yrp-site-header .yrp-mobile-nav__tel small,
html body .yrp-site-header .yrp-mobile-nav__tel span{ display:none !important; }
html body .yrp-site-header .yrp-mobile-nav__tel strong{ margin:0 !important; font-size:21px !important; letter-spacing:.04em !important; line-height:1 !important; }
html body .yrp-site-header .yrp-mobile-nav__actions::after{ content:"相談無料・秘密厳守　受付 9:00〜17:30（日・月・祝休み）"; display:block; margin-top:10px; color:rgba(255,255,255,.7); font-size:11px; font-weight:700; text-align:center; }
/* 下の固定バー（電話・LINE）に隠れないよう、メニューの一番下に余白 */
@media screen and (max-width:980px){
  html body .yrp-site-header .yrp-mobile-nav__inner{ padding-bottom:110px !important; }
}

/* 2026-10-27 対応エリア：区・市のボタンにマウスを乗せたら、紺に塗りつぶして分かりやすく */
html body .yrp-ar .yrp-ar-chips li.is-link{ transition:background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease !important; }
html body .yrp-ar .yrp-ar-chips li.is-link a{ transition:color .2s ease, background-color .2s ease !important; }
html body .yrp-ar .yrp-ar-chips li.is-link:hover,
html body .yrp-ar .yrp-ar-chips li.is-link:focus-within{ background:#1a2c42 !important; border-color:#1a2c42 !important; transform:translateY(-2px); box-shadow:0 6px 14px rgba(26,44,66,.22); }
html body .yrp-ar .yrp-ar-chips li.is-link:hover a,
html body .yrp-ar .yrp-ar-chips li.is-link:focus-within a{ background:transparent !important; color:#ffffff !important; }
html body .yrp-ar .yrp-ar-chips li.is-link:hover a i,
html body .yrp-ar .yrp-ar-chips li.is-link:focus-within a i{ color:#f0d68a !important; }
/* 2026-10-31 フォーム送信時の入力エラーを全ページ共通で薄い赤に（真っ赤は使わない） */
body .wpcf7 form.invalid .wpcf7-response-output,
body .wpcf7 form.unaccepted .wpcf7-response-output,
body .wpcf7 form.failed .wpcf7-response-output,
body .wpcf7 form.spam .wpcf7-response-output,
body #main-content .wpcf7 form.invalid .wpcf7-response-output,
body #main-content .wpcf7 form.unaccepted .wpcf7-response-output,
body #main-content .wpcf7 form.failed .wpcf7-response-output,
body #main-content .wpcf7 form.spam .wpcf7-response-output{ margin:20px 0 0 !important; padding:14px 18px !important; border:2px solid #e9a9a9 !important; border-radius:12px; background:#fdeeee !important; color:#a23a3a !important; font-size:15px; font-weight:700; line-height:1.7; text-align:center; }
body .wpcf7 .wpcf7-not-valid-tip,
body #main-content .wpcf7 .wpcf7-not-valid-tip{ display:block; margin-top:6px; padding:6px 10px; border-radius:8px; background:#fdeeee; color:#a23a3a !important; font-size:13px !important; font-weight:700; line-height:1.6; }
body .wpcf7 .wpcf7-not-valid,
body #main-content .wpcf7 input.wpcf7-not-valid,
body #main-content .wpcf7 select.wpcf7-not-valid,
body #main-content .wpcf7 textarea.wpcf7-not-valid{ border-color:#e3a3a3 !important; background-color:#fff7f7 !important; }
body .wpcf7 .wpcf7-checkbox.wpcf7-not-valid,
body .wpcf7 .wpcf7-radio.wpcf7-not-valid{ display:block; padding:6px 8px; border:1px solid #e3a3a3; border-radius:10px; background:#fff7f7; }