/*
Theme Name: Meigi Faithful
Theme URI: https://www.meigi-henkou.jp/
Author: 不動産名義変更手続センター
Description: あきばれEditionGreen（033B-L25-3）の共通デザインを忠実再現したWordPress移行用クラシックテーマ。ヘッダー／左サイドバー／フッター／浮遊CTA／記事冒頭H1・監修者・更新日／記事下部監修バーを枠として提供し、記事本体は the_content() に流し込む。
Version: 0.1.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: meigi-faithful
*/

/* =========================================================
   0. reset / base  （あきばれ base: 游ゴシック 14px / #555）
   ========================================================= */
*,*::before,*::after{box-sizing:border-box}
/* 2026-09-09 B3: root は あきばれ LIVE（theme.css html{font-size:14px}）と同じ 14px。
   akibare-parts.css の font-size:rem 657規則は 14px 基準＝16px だと本文 .t0-* が 14.3% 拡大する
   （.t0-b-wysiwyg p 1.143rem: LIVE 16.002px / 旧staging 18.288px）。他のテーマCSS・PHPに rem は無い。 */
html{font-size:14px;-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:"游ゴシック",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",Meiryo,"メイリオ","ＭＳ Ｐゴシック",sans-serif;
  font-size:14px;
  line-height:1.7;
  color:#555;
  background:#fff;
}
img{max-width:100%;height:auto;vertical-align:bottom}
a{color:#1565c0;text-decoration:none}
a:hover{text-decoration:underline}
table{border-collapse:collapse}

.area-all{width:100%;overflow-x:hidden;position:relative}
.mf-wrap{max-width:1060px;margin:0 auto;padding:0 10px}

/* =========================================================
   1. HEADER
   ========================================================= */
.area-header{background:#fff;border-bottom:3px solid #5f9e23}

/* 1-1 catchphrase strip */
.mf-catch{background:#fff;padding:9px 0 4px}
.mf-catch .mf-wrap{max-width:1060px}
.mf-catch p{margin:0;font-size:13px;line-height:1.55;color:#555;font-weight:500}
.mf-catch .mf-em-red{color:#b22222;font-weight:700}
.mf-catch u{text-decoration:underline}

/* 1-2 main header row: brand | contact */
.mf-header-main{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0 16px}
.mf-brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;min-width:0}
.mf-brand:hover{text-decoration:none;opacity:.9}
.mf-brand-logo{flex:0 0 auto}
.mf-brand-logo img{width:58px;height:auto;display:block}
.mf-brand-text{line-height:1.25;min-width:0}
.mf-brand-note{display:block;margin:0;font-size:13px;font-weight:700;color:#48606f;letter-spacing:.05em}
.mf-brand-name{display:block;margin:2px 0 0;font-size:30px;font-weight:800;color:#16314a;letter-spacing:.02em;white-space:nowrap}
.mf-brand-area{display:block;margin:6px 0 0;font-size:12px;color:#6b7885;font-weight:400;white-space:nowrap}
.mf-brand-area u{text-decoration:none;color:#5c9a1e;font-weight:700}

.mf-contact{display:flex;align-items:center;gap:20px;flex-shrink:0}
.mf-tel-block{text-align:left;white-space:nowrap;padding-right:20px;border-right:1px solid #e6e6e6}
.mf-tel{display:flex;align-items:center;gap:8px;font-size:24px;font-weight:800;color:#ff8c00;line-height:1;letter-spacing:.5px}
.mf-tel::before{content:"";display:inline-block;flex:0 0 auto;width:31px;height:18px;background:url("/wp-content/themes/meigi-faithful/assets/fd.png") no-repeat center/contain}
.mf-hours{margin:6px 0 0;font-size:12px;color:#6b7885}
.mf-hours .mf-hours-label{display:inline-block;background:#eef5ec;color:#4f7d18;font-weight:700;font-size:11px;padding:2px 7px;border-radius:3px;margin-right:6px}
.mf-cta-col{text-align:center;flex-shrink:0}
.mf-cta-note{margin:0 0 5px;font-size:11px;color:#6b7885;font-weight:500}
.mf-green-btn{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;background:linear-gradient(180deg,#83c341,#5c9a1e);color:#fff !important;font-size:13px;font-weight:700;padding:10px 18px;border-radius:8px;box-shadow:0 4px 10px rgba(92,154,30,.32);text-decoration:none !important;line-height:1;transition:transform .15s,box-shadow .15s}
.mf-green-btn:hover{background:linear-gradient(180deg,#8ecd4b,#67a824);box-shadow:0 6px 14px rgba(92,154,30,.42);transform:translateY(-2px);text-decoration:none !important}
.mf-green-btn::before{content:"▶";font-size:9px;line-height:1}

/* 1-3 global nav */
.mf-nav{background:#f5f5f2;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}
.mf-nav-toggle,.mf-nav-toggle-label{display:none}
.mf-nav ul{max-width:1060px;margin:0 auto;list-style:none;padding:0;display:flex;justify-content:center}
.mf-nav li{flex:1 1 auto;text-align:center;border-left:1px solid #e2e2de}
.mf-nav li:last-child{border-right:1px solid #e2e2de}
.mf-nav a{display:block;padding:13px 6px;color:#555 !important;font-weight:700;font-size:14px;text-decoration:none !important;letter-spacing:.02em}
.mf-nav a:hover{background:#eef5fc;color:#1565c0 !important}

/* 1-4 breadcrumb */
.mf-breadcrumb{max-width:1060px;margin:0 auto;padding:6px 10px 0;font-size:12px;color:#8a8a8a;text-align:right}
.mf-breadcrumb a{color:#1565c0}
.mf-breadcrumb .sep{margin:0 4px;color:#bbb}

/* =========================================================
   2. LAYOUT  (2-col: flex row-reverse → sidebar left / main right)
   ========================================================= */
.area-container{max-width:1060px;margin:0 auto;display:flex;flex-direction:row-reverse;align-items:flex-start;padding-top:20px}
.area-main{width:740px;box-sizing:border-box;min-height:100px;padding-bottom:50px;font-size:16px;font-weight:500;color:#555;line-height:normal}
/* 2026-09-09 M1: 本文カラムの既定書体は LIVE .mod-body（500 / #555 / line-height normal）。
   刷新済みトップ .mf-front だけは従来値を明示して見た目を変えない */
.mf-front{font-weight:400;color:#333;line-height:1.85}
.area-sub{width:320px;box-sizing:border-box;padding:0 50px 50px 0;font-size:14px}

/* =========================================================
   3. ARTICLE HEAD (H1 box / supervisor / updated) — 記事冒頭
   ========================================================= */
.mf-article-head{
  position:relative;
  background:#f7faf4;
  border:1px solid #e4ede0;
  border-radius:4px;
  padding:22px 26px;
  margin:0 0 22px;
  overflow:hidden;
}
.mf-article-head::after{
  content:"";position:absolute;right:10px;bottom:10px;width:60px;height:60px;pointer-events:none;
  background-image:radial-gradient(#cfe0bf 2px,transparent 2px);background-size:11px 11px;opacity:.7;
}
.mf-article-head h1{
  margin:0 0 12px;font-size:26px;line-height:1.5;font-weight:700;color:#1a1a1a;
}
.mf-sup-caption{font-size:14px;color:#000080;line-height:1.9}
.mf-sup-caption .mf-sup-badge{display:inline-block;background:rgb(0,0,205);color:#fff;padding:1px 6px;margin-bottom:6px;font-size:13px}
.mf-sup-caption a{color:#0000ff}
.mf-updated{margin-top:10px;font-size:13px;color:#000}

.mf-backtop{clear:both;text-align:right;margin:26px 0 0;font-size:13px}
.mf-backtop a{color:#1565c0}

/* =========================================================
   4. FOOTER
   ========================================================= */
.area-footer{margin-top:44px}
.mf-footer-menu{background:linear-gradient(180deg,#78b636,#5c9a1e)}
.mf-footer-menu ul{max-width:1060px;margin:0 auto;list-style:none;padding:0;display:flex;justify-content:center;flex-wrap:wrap}
.mf-footer-menu li{position:relative}
.mf-footer-menu li+li::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);height:14px;width:1px;background:rgba(255,255,255,.55)}
.mf-footer-menu a{display:block;padding:12px 18px;color:#fff !important;font-size:13.5px;text-decoration:none !important;font-weight:500}
.mf-footer-menu a:hover{background:rgba(255,255,255,.12)}

.mf-footer-body{background:#fff;padding:2px 0 0}
.mf-footer-cols{max-width:1060px;margin:0 auto;display:flex;gap:24px;padding:30px 10px 14px;align-items:flex-start}
.mf-footer-col1{flex:1 1 34%}
.mf-footer-col2{flex:0 0 300px}
.mf-footer-col3{flex:1 1 30%}
.mf-foot-run{margin:0 0 3px;font-size:12px;color:#777}
.mf-foot-name{margin:0 0 8px;line-height:1.35}
.mf-foot-name .l1{font-size:20px;font-weight:700;color:#b22222}
.mf-foot-name .l2{font-size:24px;font-weight:700;color:#b22222}
.mf-foot-addr{margin:0 0 12px;font-size:13px;color:#555;line-height:1.7}
.mf-foot-btns{display:flex;flex-wrap:wrap;gap:8px}
.mf-foot-btn{display:inline-block;background:linear-gradient(180deg,#78b636,#5c9a1e);color:#fff !important;font-size:12.5px;padding:7px 14px;border-radius:4px;text-decoration:none !important;font-weight:500}
.mf-foot-btn::before{content:"→ ";font-size:11px}
.mf-footer-col2 iframe{width:100%;height:224px;border:0;display:block}
.mf-foot-c3-note{margin:0 0 4px;font-size:13px;color:#555}
.mf-foot-tel{display:flex;align-items:center;gap:6px;font-size:26px;font-weight:700;color:#ff8c00;line-height:1.1;margin:0 0 4px}
.mf-foot-hours{margin:0 0 10px;font-size:12.5px;color:#555}
.mf-foot-c3-sub{margin:0 0 10px;font-size:12.5px;color:#555;line-height:1.6}

.mf-copyright{background:#efefef;color:#8a8a8a;text-align:center;font-size:12px;padding:11px 10px}

/* =========================================================
   5. RESPONSIVE
   ========================================================= */
@media(max-width:1080px){
  .area-container,.mf-nav ul,.mf-footer-menu ul,.mf-footer-cols,.mf-breadcrumb{max-width:100%}
}
@media(max-width:768px){
  .mf-catch{padding:7px 10px 4px}
  .mf-catch p{font-size:12px}
  .mf-header-main{flex-direction:column;align-items:center;text-align:center;gap:10px;padding:8px 10px 12px}
  .mf-brand{align-items:center;flex-direction:column;text-align:center}
  .mf-brand-name{font-size:21px;white-space:normal}
  .mf-brand-area{white-space:normal;font-size:11.5px}
  .mf-contact{flex-direction:column;gap:10px}
  .mf-tel-block{border-right:none;padding-right:0;text-align:center}
  .mf-tel{justify-content:center;font-size:28px}

  /* nav → hamburger */
  .mf-nav-toggle-label{display:block;background:#5c9a1e;color:#fff;font-weight:700;text-align:center;padding:12px;cursor:pointer;letter-spacing:.15em}
  .mf-nav-toggle-label::before{content:"≡  "}
  .mf-nav ul{display:none;flex-direction:column}
  .mf-nav-toggle:checked ~ ul{display:flex}
  .mf-nav li{flex:1 1 auto;border-left:none;border-top:1px solid #e2e2de}
  .mf-nav li:last-child{border-right:none}
  .mf-nav a{padding:14px 12px;text-align:left}

  .area-container{flex-direction:column;padding:12px 0 0}
  .area-main{width:100%;padding:0 12px 30px}
  .area-sub{width:100%;padding:0 12px 30px}
  .mf-article-head{padding:18px 16px}
  .mf-article-head h1{font-size:22px}

  .mf-footer-cols{flex-direction:column;gap:22px;padding:24px 16px}
  .mf-footer-col2{flex:1 1 auto;width:100%}
  .mf-footer-menu ul{flex-direction:column}
  .mf-footer-menu li+li::before{display:none}
  .mf-footer-menu li{border-top:1px solid rgba(255,255,255,.25)}
  .mf-footer-menu a{text-align:center}
}

/* 2026-09-09 QA-3: 横向きスマホ(769-1023px)で社名テキストが電話番号に重なる問題の是正。
   .mf-brand-name は nowrap のため実描画幅398pxが常に必要だが、この帯ではボックスが
   135-390pxまで潰れ、はみ出した文字が電話番号に重なっていた。
   768px以下と同じ縦積みヘッダーをこの帯にも適用する（ナビ・2カラムの分岐は変更しない）。 */
@media(min-width:769px) and (max-width:1023px){
  .mf-header-main{flex-direction:column;align-items:center;text-align:center;gap:10px;padding:8px 10px 12px}
  .mf-brand{align-items:center;flex-direction:column;text-align:center}
  .mf-brand-name{font-size:21px;white-space:normal}
  .mf-brand-area{white-space:normal;font-size:11.5px}
  .mf-contact{flex-direction:column;gap:10px}
  .mf-tel-block{border-right:none;padding-right:0;text-align:center}
  .mf-tel{justify-content:center;font-size:28px}
}


/* =========================================================
   2026-09-09 デザイン監査是正（Codex/Claude Code 採否表 §3 B2）
   ========================================================= */
/* 2026-09-18: :not(.mf-front) を :where の内側へ移し、意図どおり (0,0,1) にした（旧記述は (0,1,1) で各ページ独自の見出しクラスに勝っていた）。
   M1-b: LIVE theme.css の見出しリセット h1〜h6{font-size:1em;font-weight:inherit} と同じ特異度(0,0,1)で
   本文カラムに再現する（記事CSSとの上書き関係を LIVE と同一に保つため :where で特異度を落とす）。
   刷新済みトップ .mf-front と記事冒頭 .mf-article-head は自前の指定を持つので影響しない */
:where(.area-main:not(.mf-front)) :is(h1,h2,h3,h4,h5,h6){font-size:1em;font-weight:inherit}

/* M3(真因): LIVE theme.css に全称の box-sizing:border-box は無く、あきばれ部品は必要な要素だけ個別に指定している。
   本テーマの *{box-sizing:border-box} が部品 294 規則（width/height+padding）の箱を縮めていた（例: 固定バーのボタン 48→39px）。
   LIVE 由来の領域を特異度 0 で content-box に戻し、刷新領域（記事冒頭ボックス・トップ・戻るリンク・CF7）だけ border-box を再適用 */
:where(.area-main) *,:where(.area-main) *::before,:where(.area-main) *::after,
:where(.area-sub) *,:where(.area-sub) *::before,:where(.area-sub) *::after,
:where(.ufb-pc,.ufb-tablet,.ufb-mobile,.pricing-fixed-banner),
:where(.ufb-pc,.ufb-tablet,.ufb-mobile,.pricing-fixed-banner) *,
:where(.ufb-pc,.ufb-tablet,.ufb-mobile,.pricing-fixed-banner) *::before,
:where(.ufb-pc,.ufb-tablet,.ufb-mobile,.pricing-fixed-banner) *::after{box-sizing:content-box}
:where(.mf-article-head,.mf-front,.mf-backtop,.wpcf7),
:where(.mf-article-head,.mf-front,.mf-backtop,.wpcf7) *,
:where(.mf-article-head,.mf-front,.mf-backtop,.wpcf7) *::before,
:where(.mf-article-head,.mf-front,.mf-backtop,.wpcf7) *::after{box-sizing:border-box}

/* M4: 記事冒頭 H1 ボックスを LIVE .t0-b-lv1H-mainH の実測値へ
   PC: 白地・影 2px 2px 2px #bec7c7・padding 28px 30px・h1 2rem(28px)/500/#555/lh1.25・下余白 2%（placer padding-bottom）
   SP: padding 15px 13px・h1 1.286rem(18px)・下余白 10px */
.mf-article-head{background:#fff;border:0;border-radius:0;box-shadow:2px 2px 2px #bec7c7;padding:28px 30px;margin:0 0 2%;overflow:visible;color:#555}
.mf-article-head::after{display:none}
.mf-article-head h1{margin:0;font-size:2rem;line-height:1.25;font-weight:500;color:#555}
@media(max-width:768px){
  .mf-article-head{padding:15px 13px;margin:0 0 10px}
  .mf-article-head h1{font-size:1.286rem}
}

/* M6: 本文の電話番号ブロック（設計4-7 の <a> ラッパー）がテーマの a 色を継承して青くなる → LIVE の橙 #ff8c00 を継承させる */
.area-main .t0-b-iconText-tel a{color:inherit;text-decoration:none}

/* m2: LIVE の SP 版はサイドバーが実質空（20px）。≤768px では出さない（本文の下に 2,000px 続いていた） */
@media(max-width:768px){.area-sub{display:none}}

/* CC-M2(部分): ヘッダーの電話番号を <a> 化（≤768px は tel: 発信・それ以外は電話ページへ遷移）。見た目は従来の span と同一に保つ */
.mf-tel:hover,.mf-tel:focus{color:#ff8c00;text-decoration:none}

/* =========================================================
   2026-09-18 c: 記事冒頭の H1 ボックスとパンくずを LIVE（033B-L25-3 theme.css pc/sp）に合わせる
   - H1 ボックス: M4 に無かった緑枠の背景画像9枚・PC の z-index・枠内リンク色を .t0-b-lv1H-mainH から移植。
     画像は imgs/t0-b-lv1H-mainH/ に LIVE とバイト一致で配置済み（2026-09-18 確認）。
   - 本文先頭に残る空の .t0-b-frameTransparency（LIVE では H1 ボックスを内包していた枠。フォームを差し替えたページは本文の先頭に style があるので div:first-of-type で拾う）は PC で min-height:30px が効き、
     H1 ボックスの下が LIVE より 30px 広かった。LIVE ではこの枠が常に 30px 超だったので min-height:0 で LIVE と同じ余白になる。
   - パンくず: theme.css の .b-breadcrumbs 規則を header 内と SP 用の下部コピー（.mf-bc-sp・page.php）に限って移植。
     区切り画像 imgs/b-breadcrumbs/bg.png は staging に無いため LIVE と同じバイト列の data URI（7x11 PNG）にした。
     PC の width:1060px は可変幅の本テーマに合わせて max-width:1060px（1080px 超の画面では LIVE と同じ中央 1060px）。
     769〜1080px は本文カラムが画面端まで広がるため、末尾の文字が画面端で欠けないよう左右 10px（header の .mf-wrap と同じ）をあける。
   - SP: LIVE はパンくずを本文末尾（area-main-inner4）に置く。page.php が本文末尾に microdata 無しのコピーを出し、
     body.mf-bc-at-bottom のときだけ header 側を 768px 以下で隠す（page.php 未反映なら header 側がそのまま出る）。
     下部コピーの padding-top:25px は「戻るリンク下端→パンくず上端」を LIVE 実測の 32px にそろえるため。
   トップ（.mf-front）と /voice には .mf-article-head も .b-breadcrumbs も出ないので、この節は効かない。
   ========================================================= */
.area-main:not(.mf-front) > .mf-article-head{
  background-color:#fff;
  background-image:url("/wp-content/themes/meigi-faithful/imgs/t0-b-lv1H-mainH/bg2.png"),url("/wp-content/themes/meigi-faithful/imgs/t0-b-lv1H-mainH/bg.png"),url("/wp-content/themes/meigi-faithful/imgs/t0-b-lv1H-mainH/bg4.png"),url("/wp-content/themes/meigi-faithful/imgs/t0-b-lv1H-mainH/bg3.png"),url("/wp-content/themes/meigi-faithful/imgs/t0-b-lv1H-mainH/bg5.png"),url("/wp-content/themes/meigi-faithful/imgs/t0-b-lv1H-mainH/bg6.png"),url("/wp-content/themes/meigi-faithful/imgs/t0-b-lv1H-mainH/bg7.png"),url("/wp-content/themes/meigi-faithful/imgs/t0-b-lv1H-mainH/bg8.png"),url("/wp-content/themes/meigi-faithful/imgs/t0-b-lv1H-mainH/bg9.png");
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,repeat-y,repeat-x,repeat-y,repeat-x,repeat;
  background-position:left bottom,left top,right bottom,right top,left top,left bottom,right top,left top,left top;
}
.area-main:not(.mf-front) > .mf-article-head a{color:#555;text-decoration:none}
.mf-bc-sp{display:none}
:is(.area-header,.mf-bc-sp) .b-breadcrumbs{text-align:right}
:is(.area-header,.mf-bc-sp) .b-breadcrumbs>div{line-height:1.25;margin:0 auto;text-align:right}
:is(.area-header,.mf-bc-sp) .b-breadcrumbs__item{display:inline-block;margin:5px 0 0 10px}
:is(.area-header,.mf-bc-sp) .b-breadcrumbs__item::before{display:inline-block;width:7px;height:11px;content:"";background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAALCAMAAACETmeaAAAAMFBMVEVMaXFeniNeniNeniNeniNeniNeniNeniNeniNeniNeniNeniNeniNeniNeniNeniMlgh82AAAAD3RSTlMAEib0kgboSWpd0celPoPlLGZpAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAM0lEQVR42iXMNwIAIAwCwBR74/+/VQPLDSSIClMqBVKmGEbhjb6OLv16j35a3J94k829C1UWAf8eHKFuAAAAAElFTkSuQmCC");background-repeat:no-repeat}
:is(.area-header,.mf-bc-sp) .b-breadcrumbs__item:first-child::before{display:none}
:is(.area-header,.mf-bc-sp) .b-breadcrumbs a{color:#3a1f08;text-decoration:none}
:is(.area-header,.mf-bc-sp) .b-breadcrumbs em{font-style:normal}
@media(min-width:769px){
  .area-main:not(.mf-front) > .mf-article-head{z-index:210}
  .area-main:not(.mf-front) > .mf-article-head a:hover{color:#349342;text-decoration:none}
  .mf-article-head + .entry-content > div:first-of-type > .t0-b-frameTransparency-bPlacer > .t0-b-frameTransparency{min-height:0}
  .area-header .b-breadcrumbs{margin:15px 0}
  :is(.area-header,.mf-bc-sp) .b-breadcrumbs>div{font-size:1.143rem;max-width:1060px}
  :is(.area-header,.mf-bc-sp) .b-breadcrumbs>div>div{margin:-5px 0 0 -10px}
  :is(.area-header,.mf-bc-sp) .b-breadcrumbs__item{white-space:nowrap}
  :is(.area-header,.mf-bc-sp) .b-breadcrumbs__item::before{margin:-3px 10px 0 0;line-height:0;vertical-align:middle}
  :is(.area-header,.mf-bc-sp) .b-breadcrumbs a:hover{color:#349342;text-decoration:underline}
}
@media(min-width:769px) and (max-width:1080px){
  .area-header .b-breadcrumbs>div{padding:0 10px}
}
@media(max-width:768px){
  .mf-bc-sp{display:block;padding-top:25px}
  .mf-bc-at-bottom .area-header .b-breadcrumbs-bPlacer{display:none}
  :is(.area-header,.mf-bc-sp) .b-breadcrumbs-bPlacer{padding-bottom:20px}
  .area-header .b-breadcrumbs-bPlacer{padding-left:12px;padding-right:12px}
  :is(.area-header,.mf-bc-sp) .b-breadcrumbs>div{font-size:1rem}
  :is(.area-header,.mf-bc-sp) .b-breadcrumbs__item::before{margin:0 10px 0 0}
}

/* =========================================================
   2026-09-18 f: LIVE theme.css のグローバル余白リセット（h1〜h6,ul,ol,li,p{padding:0;margin:0}）を本文カラムに再現する。
   LIVE は全体に効かせているが、刷新済みのヘッダー・サイドバー・フッター・トップは本テーマ独自の余白設計なので、
   本文カラム（.entry-content とその後ろの共通ブロック）に限定する。特異度 0 なので記事側の指定は従来どおり勝つ。
   実測（12ページ×PC/SP）: 本規則なしでは LIVE との余白差 58〜193 件・本文が 1〜7% 縦長、入れると差 0 件。
   /voice・トップ・サイドバー・フッターへの影響が 0 であることも同条件で確認済み。
   ========================================================= */
:where(main.area-main:not(.mf-front)) :where(.entry-content, .entry-content ~ *) :where(h1,h2,h3,h4,h5,h6,ul,ol,li,p){padding:0;margin:0}
:where(main.area-main:not(.mf-front)) > :where(.entry-content ~ p, .entry-content ~ h2, .entry-content ~ h3){padding:0;margin:0}

/* =========================================================
   2026-09-18 j: 769〜1080px で本文・サイドバーが画面の端に接する（.area-container の max-width:100% に左右余白が無い）。
   ヘッダーの .mf-wrap と同じ 10px をあけて端の欠けを防ぐ。
   LIVE はこの帯で 1096px 固定レイアウトを縮小表示する別方式のため、幅そのものは合わせない。
   ========================================================= */
@media(min-width:769px) and (max-width:1080px){
  .area-container{padding-left:10px;padding-right:10px}
}

/* 2026-09-18 Codex スマホ確認 #1: フォーム入力欄をタップしやすく（768px 以下のみ・PC は LIVE と同じ 24px/12px を維持）。
   style.css はレイヤー内で読まれるため unlayered の akibare-parts.css .t0-b-inputText に normal 宣言では勝てない＝!important（mistakes 2026-05-15 §2 と同じ）。 */
@media (max-width:768px){
  .t0-b-formTable input.t0-b-inputText, .t0-b-formTable input[type=text], .t0-b-formTable input[type=email], .t0-b-formTable input[type=tel],
  .t0-b-formTable textarea, .t0-b-formTable select{
    font-size:16px; min-height:44px; padding:10px 12px; box-sizing:border-box; line-height:1.4; }
  .t0-b-formTable textarea{ min-height:120px; }
}

/* 2026-09-24 スマホのヘッダー: ロゴを事務所名の左へ（A案・板垣さん指示）。
   それまではロゴ58pxが事務所名の上に1段を取り、ヘッダーが72px高かった。
   .mf-brand-text を display:contents にして、ロゴ・司法書士法人・事務所名・業務地域を .mf-brand のグリッドに直接並べる。
   両端を 1fr にした4列でロゴと事務所名を中央に置き、業務地域は4列にまたがらせて画面幅いっぱいで折り返す
   （1fr の列をまたぐ項目は auto 列の幅計算に入らない＝業務地域の長さでロゴと事務所名が離れない）。
   列の gap は 0 にしてロゴの右 margin で間を取る（gap だと両端にも付き 320px 幅で事務所名が収まらない）。
   「全国対応」は途中で改行しない。769px 以上（タブレット・PC）は変更なし。 */
@media(max-width:768px){
  .mf-brand{display:grid;grid-template-columns:1fr auto auto 1fr;grid-template-areas:". logo note ." ". logo name ." "area area area area";align-items:center;gap:0;text-align:left}
  .mf-brand-text{display:contents}
  .mf-brand-logo{grid-area:logo;margin-right:10px}
  .mf-brand-logo img{width:40px}
  .mf-brand-note{grid-area:note;align-self:end}
  .mf-brand-name{grid-area:name;align-self:start;font-size:min(21px,5.4vw);white-space:nowrap}
  .mf-brand-area{grid-area:area;text-align:center;margin-top:6px}
  .mf-brand-area u{white-space:nowrap}
}

/* 2026-09-27 本番テーマと同じ折り返し指定（Codex スマホ指摘 M03・板垣さん承認）。
   本番の theme.css は SP・PC とも .area-all に word-break:break-word と overflow-wrap:break-word を持つ。
   WP では抜けていたため、途中で改行できない長い文字列（URL など）が .area-all の overflow-x:hidden で切れ、
   表の列幅の配分も本番と違っていた（最小幅の計算が変わる）。 */
.area-all{word-break:break-word;overflow-wrap:break-word}
