/* aegis-area-v2（2026-10-02）
   本文欄が新しい形式のエリアページだけで読み込む（mu-plugins/aegis-area-v2.php）。既存のエリアページには読み込まれない
   2026-10-02 夕：新しい区画の見出し・余白・背景・文字サイズを、テーマ既存の区画（FAQ・施工事例・Reason・相性の箱）の値にそろえた */

/* ---------- 区画の背景と余白（テーマの #single-area .secPromise などと同じ値） ---------- */
#single-area .aa-sec { padding-block: 102px 80px; }
#single-area .aa-bg-w { background: #fff; }
#single-area .aa-bg-b { background: #faf8f6; }
#single-area .aa-wrap.aa-bg-w > .secCase { background: #fff; }
#single-area .aa-wrap.aa-bg-b > .secCase { background: #faf8f6; }
#single-area .secFaq.aa-bg-b { background: #faf8f6; }
#single-area .secPromise.aa-bg-w { background: #fff; }

/* ---------- 見出し（テーマの c-heading-01 をそのまま使い、色と間隔だけ既存区画に合わせる） ---------- */
#single-area .aa-hd { margin-bottom: 54px; }
#single-area .aa-hd .c-heading-01__en { color: #dfe1e6; }
#single-area .aa-hd .c-heading-01__ja { color: #152e61; }
#single-area .aa-hd__icn { margin-bottom: 15px; }
/* アイコンのない見出しは、TOPの secMember と同じく日本語見出しを透かし文字の下側に置く */
#single-area .aa-hd--noicn .c-heading-01__ja { padding-top: 72px; }
#single-area .aa-nw { display: inline-block; }

/* ---------- 本文（テーマの secCompatibility__txt・secSubsidy__txt と同じ 16px／30px） ---------- */
#single-area .aa-body { max-width: 960px; margin: 0 auto; font-size: 16px; line-height: 1.875; letter-spacing: 0.05em; word-break: normal; overflow-wrap: anywhere; }
/* テーマの .inner は word-break: break-all。数字（14,670 など）の途中で折り返さないよう新しい区画だけ戻す */
#single-area .aa-satis, #single-area .aa-reason1, #single-area .aa-cols { word-break: normal; overflow-wrap: anywhere; }
#single-area .aa-body p { margin: 0; }
#single-area .aa-body > :not(:first-child) { margin-top: 20px; }
#single-area .aa-body--center { text-align: center; }
#single-area .aa-body a,
#single-area .aa-intro a,
#single-area .aa-faq-a a { color: #00a0e9; text-decoration: underline; text-underline-offset: 3px; }
#single-area .aa-body strong,
#single-area .aa-intro strong { font-weight: 700; }
#single-area .aa-h3 { font-size: 24px; font-weight: 700; color: #152e61; line-height: 1.5; margin-top: 56px !important; }
#single-area .aa-h3:first-child { margin-top: 0 !important; }
#single-area .aa-h3 + * { margin-top: 20px !important; }
#single-area .aa-lead { font-weight: 700; color: #152e61; font-size: 20px; line-height: 1.6; margin-top: 32px !important; }
#single-area .aa-src { font-size: 14px; color: #494949; line-height: 1.7; margin-top: 12px !important; }
#single-area .aa-ul, #single-area .aa-ol { padding-left: 1.4em; }
#single-area .aa-ul { list-style: disc; }
#single-area .aa-ol { list-style: decimal; }
#single-area .aa-ul li + li, #single-area .aa-ol li + li { margin-top: 10px; }
#single-area .aa-fn { font-size: 10px; line-height: 1; vertical-align: super; margin-left: 1px; letter-spacing: 0; }
#single-area .aa-fn a { color: #494949 !important; text-decoration: none !important; }

/* ---------- 表（線はテーマの #dfe1e6、見出し行は紺、行見出しはベージュ） ---------- */
#single-area .aa-tbl { overflow-x: auto; -webkit-overflow-scrolling: touch; background: #fff; border-radius: 24px; border: 1px solid #dfe1e6; }
#single-area .aa-tbl table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.7; min-width: 560px; }
#single-area .aa-tbl th, #single-area .aa-tbl td { border-bottom: 1px solid #dfe1e6; border-left: 1px solid #dfe1e6; padding: 14px 18px; text-align: left; vertical-align: top; }
#single-area .aa-tbl tr > :first-child { border-left: 0; }
#single-area .aa-tbl tbody tr:last-child > * { border-bottom: 0; }
#single-area .aa-tbl thead th { background: #152e61; color: #fff; font-weight: 700; white-space: nowrap; border-left-color: rgba(255, 255, 255, .2); }
#single-area .aa-tbl tbody th { background: #faf8f6; color: #152e61; font-weight: 700; white-space: nowrap; }

/* 導入文（テーマの secService__txt の位置に段落を並べる） */
#single-area .aa-intro p + p { margin-top: 12px; }

/* ---------- 4つの数字（テーマの「年間日照時間の平均は…」の箱と同じ数字の組み方：Lato・紺・角は左上と右下だけ丸い） ---------- */
#single-area .aa-nums { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
#single-area .aa-num { background: #faf8f6; border-radius: 40px 0 40px 0; padding: 30px 22px 26px; text-align: center; }
#single-area .aa-bg-b .aa-num { background: #fff; }
#single-area .aa-num__val { color: #152e61; font-weight: 700; line-height: 1; }
#single-area .aa-num__val strong { font-family: "Lato", sans-serif; font-size: 48px; font-weight: 700; letter-spacing: 0; }
#single-area .aa-num__val small { font-size: 20px; font-weight: 700; margin-left: 3px; }
#single-area .aa-num__txt { font-size: 14px; line-height: 1.75; margin-top: 16px !important; text-align: left; color: #111; }

/* 補助金（テーマの secSubsidy の枠を使い、中身だけ差し替え。見出しの下の間隔はテーマの値のまま） */
#single-area .aa-subsidy .aa-body { max-width: none; }

/* FAQ の回答（テーマは p。こちらは段落が複数になることがある） */
#single-area .aa-faq-a > * + * { margin-top: 10px; }

/* ---------- 満足度（テーマの secCompatibility__average をそのまま使う） ---------- */
#single-area .aa-satis { padding-block: 80px; }
#single-area .aa-satis .secCompatibility__average { margin-bottom: 32px; }
#single-area .aa-bg-b .secCompatibility__average { background: #fff; }
#single-area .aa-satis .secCompatibility__average__txt .aa-fn { font-size: 12px; font-weight: 500; }
#single-area .aa-satis__btn .c-btn-01__link { margin-inline: auto; }

/* ---------- 理由が1つだけのとき（写真を1枚だけ置かない。番号・見出し・本文はテーマの Reason の部品） ---------- */
#single-area .aa-reason1 { position: relative; max-width: 720px; margin: 0 auto; background: #fff; border-radius: 40px 0 40px 0; padding: 44px 56px 40px; }
#single-area .secPromise.aa-bg-w .aa-reason1 { background: #faf8f6; }
#single-area .aa-reason1 .secPromise__txt { text-align: center; }

/* ---------- あわせて読みたい（サーバー側でテーマのコラムのカードに置き換わる） ---------- */
#single-area .aa-sec--reads { padding-bottom: 64px; }
#single-area .aa-cols { max-width: 1080px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
#single-area .aa-cols .c-column__item a { color: #152e61; }
#single-area .aa-cols .c-column__item__ttl { font-size: 17px; line-height: 1.7; }
/* 記事が見つからないときの文字リンク */
#single-area .aa-reads { max-width: 960px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; list-style: none; padding: 0; }
#single-area .aa-reads a { display: flex; align-items: center; height: 100%; background: #faf8f6; border-radius: 24px 0 24px 0; padding: 20px 22px; font-size: 15px; font-weight: 700; line-height: 1.6; color: #152e61; text-decoration: none; }

/* ---------- 出典（直前の区画と同じ背景で続ける） ---------- */
#single-area .aa-notes { padding-block: 0 72px; }
#single-area .aa-notes .inner { max-width: 1000px; }
#single-area .aa-notes__ttl { font-size: 14px; font-weight: 700; color: #494949; margin-bottom: 8px; border-top: 1px solid #dfe1e6; padding-top: 32px; }
#single-area .aa-notes ol { list-style: decimal; padding-left: 1.8em; font-size: 12px; color: #494949; line-height: 1.7; word-break: break-all; }
#single-area .aa-notes li { font-size: 12px; line-height: 1.7; letter-spacing: 0.02em; }
#single-area .aa-notes li + li { margin-top: 4px; }
#single-area .aa-notes a { color: #494949; text-decoration: underline; }

@media (max-width: 959px) {
  #single-area .aa-nums { grid-template-columns: repeat(2, 1fr); }
  #single-area .aa-cols { grid-template-columns: 1fr; max-width: 500px; gap: 28px; }
  #single-area .aa-reads { grid-template-columns: 1fr; }
}
@media (max-width: 750px) {
  /* テーマの SP の値（secPromise・secCase：60px／40px、見出し 22px） */
  #single-area .aa-sec { padding-block: 60px 40px; }
  #single-area .aa-hd { margin-bottom: 24px; }
  #single-area .aa-hd__icn { margin-bottom: 3px; }
  #single-area .aa-hd__icn img { width: auto; height: 34px; }
  #single-area .aa-hd--noicn .c-heading-01__ja { padding-top: 34px; }
  #single-area .aa-body { font-size: 14px; line-height: 2.071; }
  #single-area .aa-body > :not(:first-child) { margin-top: 14px; }
  #single-area .aa-h3 { font-size: 18px; margin-top: 36px !important; }
  #single-area .aa-h3 + * { margin-top: 12px !important; }
  #single-area .aa-lead { font-size: 17px; margin-top: 24px !important; }
  #single-area .aa-src { font-size: 12px; }
  #single-area .aa-ul li, #single-area .aa-ol li { line-height: 1.85; }
  #single-area .aa-nums { gap: 10px; }
  #single-area .aa-num { border-radius: 24px 0 24px 0; padding: 18px 12px 16px; }
  #single-area .aa-num__val strong { font-size: 30px; }
  #single-area .aa-num__val small { font-size: 14px; }
  #single-area .aa-num__txt { font-size: 12px; line-height: 1.7; margin-top: 10px !important; }
  #single-area .aa-tbl { border-radius: 12px; }
  #single-area .aa-tbl table { font-size: 13px; min-width: 0; }
  #single-area .aa-tbl--wide table { min-width: 560px; }
  #single-area .aa-tbl tbody th { white-space: normal; min-width: 6.5em; }
  #single-area .aa-tbl th, #single-area .aa-tbl td { padding: 9px 10px; }
  #single-area .aa-satis { padding-block: 48px 40px; }
  #single-area .aa-satis .secCompatibility__average { padding: 16px 12px 18px; margin-bottom: 20px; }
  #single-area .aa-reason1 { border-radius: 24px 0 24px 0; padding: 62px 20px 24px; margin-top: 16px; }
  #single-area .aa-cols .c-column__item__ttl { font-size: 15px; }
  #single-area .aa-sec--reads { padding-bottom: 40px; }
  #single-area .aa-notes { padding-bottom: 48px; }
  #single-area .aa-notes__ttl { font-size: 13px; padding-top: 24px; }
  #single-area .aa-notes ol, #single-area .aa-notes li { font-size: 11px; }
}

/* 2026-10-02 追記：列の多い表（区の比較など6列以上）は見出しを折り返して幅に収める／数字と単位を同じ行に保つ */
#single-area .aa-tbl table:has(th:nth-child(6)) { font-size: 14px; }
#single-area .aa-tbl table:has(th:nth-child(6)) thead th { white-space: normal; }
#single-area .aa-tbl table:has(th:nth-child(6)) th, #single-area .aa-tbl table:has(th:nth-child(6)) td { padding: 12px 12px; }
#single-area .aa-num__val { white-space: nowrap; }

/* 2026-10-15 追記：区ページ（福岡市7区・北九州市7区）で使う部品 */
#single-area .aa-wrap > .inner > .aa-case-note { text-align: center; margin-top: 0 !important; padding-bottom: 72px; }
#single-area .aa-wrap > .secCase + .inner > .aa-case-note { margin-top: -40px !important; }
#single-area .aa-parent__btn { margin-top: 48px; }
#single-area .aa-notes__lead { font-size: 12px; color: #494949; line-height: 1.7; margin-bottom: 4px; }
@media (max-width: 750px) {
  #single-area .aa-wrap > .inner > .aa-case-note { padding-bottom: 48px; text-align: left; }
  #single-area .aa-wrap > .secCase + .inner > .aa-case-note { margin-top: -16px !important; }
  #single-area .aa-parent__btn { margin-top: 32px; }
  #single-area .aa-notes__lead { font-size: 11px; }
}
