/*
Theme Name: Benriya Shukyaku
Theme URI: https://benriya-shukyaku.com/
Author: おとさん
Author URI: https://benriya-shukyaku.com/
Description: 便利屋さん集客の専門家おとさんのオリジナルテーマ。YouTubeサムネの語法（黄面・極太黒文字・赤ピル・切り抜き）をサイトの入口に持ち込み、記事本文は白地で静かに読ませる。JS依存ゼロ。
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bsk
Tags: business, one-column, custom-menu, translation-ready
*/

/* =========================================================
   0. 変数（実測値のみ。色相を足さない）
   ======================================================= */
:root{
  --key:#fbd206;
  --key-pale:#fff0a5;
  --key-deep:#ffd700;
  --red:#d62900;
  --acc:#b8432a;
  --acc-pale:#fdf0ec;
  --ink:#2b2e34;
  --text:#26282c;
  --sub:#5c6168;
  --line:#e2e4e7;
  --paper:#ffffff;

  --gutter:clamp(1.25rem,5vw,4.5rem);
  --maxw:1180px;
  --readw:min(680px,100% - 40px);

  --slab:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN",sans-serif;
  --body:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;
  --num:"Roboto Condensed","Zen Kaku Gothic New",sans-serif;
}

/* =========================================================
   1. 土台
   ======================================================= */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  font-family:var(--body);
  color:var(--text);
  background:var(--paper);
  font-size:clamp(15px,1.05vw + 12px,17px);
  line-height:1.9;
  font-feature-settings:"palt" 1;
  overflow-wrap:break-word;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
p{text-wrap:pretty}
h1,h2,h3,h4,h5,h6{font-family:var(--slab);color:var(--ink);margin:0;line-height:1.4}
:where(h1,h2,h3,h4){text-wrap:balance}
[id]{scroll-margin-block-start:5rem}

.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.sr-only{
  position:absolute;inline-size:1px;block-size:1px;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap;
}
:focus-visible{outline:3px solid var(--red);outline-offset:2px}

/* 余白は3段階だけ。均等に配らない */
.sec{padding-block:clamp(3.2rem,7vw,6rem)}
.sec--tight{padding-block:clamp(2.4rem,4.5vw,3.4rem)}
.sec--air{padding-block:clamp(5.5rem,13vw,10rem)}
.sec--pale{background:var(--key-pale)}
/* 05の面。黒ベタは黄・白とのコントラストが立ちすぎるので薄い無彩色にする（2026-09-03 おとさん指摘） */
.sec--ink{background:#eef0f3;color:var(--text)}
.sec--ink h2,.sec--ink h3,.sec--ink h4{color:var(--ink)}

.sec__no{
  font-family:var(--num);font-weight:700;font-size:.78rem;letter-spacing:.22em;
  color:var(--red);margin:0 0 .6rem;
}
.sec--ink .sec__no{color:var(--acc)}
.sec__sub{
  font-size:12.5px;color:var(--sub);letter-spacing:.08em;margin:0 0 30px;
  padding-block-end:14px;border-block-end:1px solid var(--line);
}
.sec--ink .sec__sub{color:var(--sub);border-block-end-color:var(--line)}

/* =========================================================
   2. 見出し（素の要素セレクタ。クラスに閉じ込めない）
   ======================================================= */
h2{
  font-family:var(--slab);font-weight:700;
  font-size:clamp(21px,2.4vw,26px);line-height:1.5;color:var(--ink);
  margin:0 0 8px;
}
/* 見出しの印は左の色線でなく、下の短い黄の線（左の色帯は使わない＝パターン集の注意書き） */
h2::after{content:"";display:block;inline-size:48px;block-size:4px;background:var(--key);margin-block-start:10px}
h3{
  font-family:var(--slab);font-weight:700;
  font-size:20px;line-height:1.6;color:var(--ink);margin:0 0 10px;
}
h4{
  font-family:var(--slab);font-weight:700;
  font-size:17px;line-height:1.7;color:var(--ink);margin:0 0 8px;
}

/* =========================================================
   3. ヘッダー（黒帯・SPは横スクロール1行・JSゼロ）
   ======================================================= */
.hd{
  position:sticky;inset-block-start:0;z-index:40;
  background:var(--ink);color:#fff;border-block-end:4px solid var(--key);
}
.hd__in{
  max-width:var(--maxw);margin-inline:auto;padding:.55rem var(--gutter);
  display:flex;align-items:center;gap:1.25rem;
}
.hd__name{
  font-family:var(--slab);font-weight:700;font-size:1rem;letter-spacing:.02em;
  color:#fff;text-decoration:none;line-height:1.3;flex:none;
}
.hd__name b{color:var(--key);font-weight:700}
.hd__nav{
  margin-inline-start:auto;display:flex;gap:1.1rem;align-items:center;
  overflow-x:auto;scrollbar-width:none;
}
.hd__nav::-webkit-scrollbar{display:none}
.hd__nav a{
  font-size:.82rem;font-weight:700;color:#fff;text-decoration:none;white-space:nowrap;
  padding-block:.25rem;border-block-end:2px solid transparent;
}
.hd__nav a:hover,.hd__nav a.is-current{border-block-end-color:var(--key)}
.hd__cta{
  flex:none;background:var(--red);color:#fff;
  font-family:var(--slab);font-weight:700;font-size:.82rem;
  padding:.45rem 1rem;text-decoration:none;
  border:2px solid var(--red);white-space:nowrap;
}
.hd__cta:hover{background:var(--paper);border-color:var(--paper);color:var(--red)}
.hd__cta__short{display:none}

/* =========================================================
   4. FV（黄面ベタ＋左に極太黒文字＋右から切り抜きが断ち落ちる）
   ======================================================= */
.fv{
  position:relative;background:var(--key);
  border-block-end:6px solid var(--ink);overflow:clip;
}
.fv__in{
  max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);
  display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);
  /* 左の文字は詰めて上下中央に寄せる（写真の高さに引き伸ばされて行間が空いていた・2026-10-18 おとさん「余白詰めろ」） */
  /* ファーストビューは文字の塊の高さで決める（写真に合わせて黄色を伸ばさない・2026-10-18 おとさん「余白の意味わかってない」） */
  grid-template-areas:"copy photo" "acts photo" "proof photo";
  grid-template-rows:auto auto auto;align-content:center;
  align-items:center;
}
.fv__copy{
  grid-area:copy;align-self:end;
  padding-block:clamp(2rem,4vw,2.5rem) 0;
  position:relative;z-index:2;
}
.fv__eyebrow{
  /*
   * 差し戻し2回（①本文と混ざる ②黒ベタ箱が気持ち悪い）を両方外した形。
   * 箱で塗らず、文字を本文帯より上げ（1.02rem/900）、下罫だけ赤にして
   * 墨1色の階層から抜く。左の短い横罫は廃止（2026-09-04 おとさん採用＝案6）。
   */
  display:inline-block;color:var(--ink);
  font-family:var(--slab);font-weight:900;font-size:1.02rem;
  letter-spacing:.04em;line-height:1;
  padding-block-end:.42em;border-block-end:4px solid var(--red);
  margin-block-end:1.35rem;
}
.fv h1{
  /*
   * 2026-09-04 見出しを「便利屋の仕事がないのは、」に変更＝3文字増えて
   * 1行目が自動折り返しし3行になった。上限を3.5rem→3.05rem に詰め、
   * .ln で切った2行に収める（1行目が折れるとマーカーが割れて意図が壊れる）。
   */
  font-family:var(--slab);font-weight:900;
  font-size:clamp(1.8rem,4.8vw,3.7rem);line-height:1.18;
  letter-spacing:-.015em;margin-block-end:1.15rem;color:var(--ink);
  border:0;padding:0;
}
.fv h1 .ln{display:block;text-wrap:nowrap}
.fv h1 .u{
  /* 白マーカーは字の腰に敷く。字を横切らせない */
  background-image:linear-gradient(transparent 74%,#fff 74%,#fff 98%,transparent 98%);
  padding-inline:.06em;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;
}
.fv__tag{
  display:block;font-family:var(--slab);font-weight:700;
  font-size:clamp(1rem,2.2vw,1.35rem);letter-spacing:.02em;
  color:var(--ink);margin-block-end:1.8rem;
}
.fv__lead{
  grid-area:lead;z-index:2;
  font-size:clamp(.92rem,1.5vw,1.02rem);font-weight:500;color:var(--ink);
  line-height:1.9;max-inline-size:26em;margin:0 0 1.6rem;
}
.fv__acts{
  grid-area:acts;align-self:start;z-index:2;
  padding-block:0 1.4rem;
  display:flex;gap:.85rem;flex-wrap:wrap;align-items:center;
}
.fv__photo{
  /* コピーは中央、人物は下端。足元を黄面の底に接地させる */
  position:relative;align-self:end;justify-self:end;
  grid-area:photo;
  inline-size:100%;margin-inline-end:calc(var(--gutter) * -1);
}
.fv__photo img{
  /* 写真を小さく（2026-10-18 おとさん「写真も小さくできる」）：高さで上限を決める */
  inline-size:auto;max-inline-size:100%;block-size:min(50vh,400px);
  margin-inline:auto 0;margin-block-end:-6px;object-fit:contain;object-position:bottom;
}

/* ボタン（赤。黄ボタンはゼロ。2026-09-03 黒→赤へ変更＝おとさん指示） */
.btn{
  display:inline-block;font-family:var(--slab);font-weight:700;text-decoration:none;
  padding:.9rem 1.75rem;border:3px solid var(--red);background:var(--red);color:#fff;
  font-size:clamp(.92rem,1.7vw,1.05rem);line-height:1.4;text-align:center;
}
.btn:hover{background:var(--ink);border-color:var(--ink)}
/* 副導線。.btn が赤になったので枠だけ黒に戻す＝主導線（赤ベタ）との差を保つ */
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

/* =========================================================
   5. 黒帯ティッカー
   ======================================================= */
.ticker{background:var(--ink);color:#fff;padding-block:1.05rem}
.ticker__in{
  max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);
  display:flex;flex-wrap:wrap;gap:.6rem clamp(1.2rem,4vw,3rem);align-items:baseline;
}
.ticker dl{display:flex;align-items:baseline;gap:.5rem;margin:0}
.ticker dt{font-size:.76rem;font-weight:700;color:var(--key);letter-spacing:.08em}
.ticker dd{margin:0;font-family:var(--num);font-weight:700;font-size:clamp(1.05rem,2.4vw,1.4rem)}
.ticker dd small{font-family:var(--body);font-size:.58em;font-weight:700;margin-inline-start:.2em}

/* =========================================================
   6. 悩み（罫線の箇条書き。カードにしない）
   ======================================================= */
.pains{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);
  gap:clamp(1.6rem,4vw,3.5rem);align-items:start;
}
.pains__list{list-style:none;margin:0;padding:0;border-block-start:2px solid var(--ink)}
.pains__list li{
  position:relative;border-block-end:2px solid var(--ink);
  padding:1rem 0 1rem 3.1rem;
  font-weight:700;color:var(--ink);
  font-size:clamp(.95rem,1.6vw,1.06rem);line-height:1.9;
}
.pains__list li::before{
  content:attr(data-n);position:absolute;inset-inline-start:0;inset-block-start:1rem;
  font-family:var(--num);font-weight:700;font-size:1.05rem;color:#fff;
  background:var(--ink);inline-size:2.05rem;block-size:2.05rem;
  display:grid;place-items:center;line-height:1;
}
.pains__list li:nth-child(2)::before,
.pains__list li:nth-child(4)::before{background:var(--red)}
.pains__note{
  font-family:var(--slab);font-weight:700;
  font-size:clamp(1.02rem,2.1vw,1.22rem);line-height:1.85;color:var(--ink);
  padding:1.1rem 1.3rem;margin:0 0 1.4rem;
  background:color-mix(in srgb,var(--key) 15%,#fff);border-radius:6px;
}
.pains__note em{font-style:normal;background:var(--key);padding-inline:.15em}
.pains__body p{margin:0 0 1.5em;line-height:1.9}

/* =========================================================
   7. 動画（1本大＋9本の連番リスト）
   ======================================================= */
.vid-lead{
  display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);
  gap:clamp(1.4rem,3vw,2.25rem);align-items:center;margin-block-end:2.75rem;
}
.vid-lead__thumb{display:block;position:relative;aspect-ratio:16/9;background:var(--ink);overflow:clip}
.vid-lead__thumb img{inline-size:100%;block-size:100%;object-fit:cover}
.vid-lead__play{
  position:absolute;inset-block-end:0;inset-inline-start:0;
  display:flex;align-items:center;gap:9px;
  background:var(--key);color:var(--ink);
  font-family:var(--num);font-weight:700;font-size:12px;letter-spacing:.1em;padding:8px 16px;
}
.vid-lead__play::before{
  content:"";inline-size:0;block-size:0;
  border-block:5px solid transparent;
  border-inline-start:8px solid var(--ink);border-inline-end:0;
}
.vid-lead__t{
  font-family:var(--slab);font-weight:700;font-size:clamp(1.05rem,2.1vw,1.32rem);
  line-height:1.55;color:var(--ink);margin:0 0 12px;
}
.vid-lead__meta{font-family:var(--num);font-size:12px;color:var(--sub);letter-spacing:.08em;margin:0 0 14px}
.vid-list{list-style:none;margin:0;padding:0;border-block-start:1px solid var(--line)}
.vid-list li{
  display:grid;grid-template-columns:2.2em 128px minmax(0,1fr);
  gap:0 18px;align-items:start;padding-block:15px;
  border-block-end:1px solid var(--line);
}
.vid-list__no{
  font-family:var(--num);font-weight:700;font-size:13px;color:var(--sub);
  padding-block-start:.2em;
}
.vid-list__thumb{display:block;aspect-ratio:16/9;overflow:clip;background:var(--ink)}
.vid-list__thumb img{inline-size:100%;block-size:100%;object-fit:cover}
.vid-list__body{display:block;min-inline-size:0}
.vid-list__t{
  font-size:15.5px;font-weight:700;color:var(--ink);text-decoration:none;
  line-height:1.6;display:inline;
}
.vid-list__t:hover{border-block-end:1px solid var(--key)}
.vid-list__desc{
  display:block;margin-block-start:6px;
  font-size:12.5px;line-height:1.8;color:var(--sub);
}
.vid-lead__desc{font-size:13.5px;line-height:1.85;color:var(--sub);margin:0 0 10px}
.tag-hot{
  font-family:var(--num);font-size:10.5px;font-weight:700;letter-spacing:.08em;
  background:var(--key);color:var(--ink);padding:2px 8px;margin-inline-start:10px;
  white-space:nowrap;
}
.more{
  display:inline-block;margin-block-start:26px;font-size:14px;font-weight:700;
  color:var(--ink);text-decoration:none;
  border-block-end:2px solid var(--key);padding-block-end:3px;
}
.more:hover{border-block-end-color:var(--red)}

/* =========================================================
   8. 記事一覧（罫線行＋104px正方形サムネ）
   ======================================================= */
.posts{list-style:none;margin:0;padding:0;border-block-start:1px solid var(--line)}
.posts li{border-block-end:1px solid var(--line)}
.posts a{
  display:grid;grid-template-columns:168px minmax(0,1fr);gap:22px;
  align-items:start;padding-block:20px;text-decoration:none;
}
.posts a>span:last-child{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.posts a:hover .posts__t{border-block-end:1px solid var(--key)}
.posts__thumb{
  aspect-ratio:16/9;background:var(--key);position:relative;overflow:clip;
}
.posts__thumb img{inline-size:100%;block-size:100%;object-fit:cover;position:relative;z-index:1}
.posts__cat{font-family:var(--num);font-weight:700;font-size:11px;letter-spacing:.12em;color:var(--sub)}
.posts__t{font-size:16px;font-weight:700;color:var(--ink);line-height:1.6;display:inline}
.posts__ex{display:block;font-size:13px;line-height:1.8;color:var(--sub);margin:0}
.posts__date{font-family:var(--num);font-size:12px;color:var(--sub);letter-spacing:.06em;margin:0;display:block}
.posts__empty{color:var(--sub);font-size:14.5px}
/* トップの記事欄＝読む順番の地図（2026-10-18 おとさん「どういう意味付けでどういう順番で並べるかの基準」）。日付は出さず、番号と「分かること」を出す */
.posts--map .posts__cat{display:inline-flex;align-items:center;gap:.5em;font-family:var(--slab);font-size:12.5px;letter-spacing:.04em;color:var(--ink)}
.posts--map .posts__no{display:inline-grid;place-items:center;inline-size:22px;block-size:22px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--num);font-size:12px;font-weight:700}
.posts--map .posts__why{display:block;font-size:13px;line-height:1.75;color:var(--sub)}

/* =========================================================
   9. プロフィール（写真の背後に黄ブロックをずらして重ねる）
   ======================================================= */
.prof{
  display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:clamp(1.6rem,4vw,3.4rem);align-items:start;
}
.prof__aside{display:grid;gap:1.6rem;align-content:start}
/*
 * 写真は背景透過の切り抜き。四角い写真の前提で背後にブロックを置くと
 * 人物の周りの透明部分から色が透けて「板の上に乗っている」ように見える。
 * そこで黄色は人物が立つ地面として下側だけに敷き、枠線は figure 側に持たせる。
 */
/*
 * 写真は背景透過の切り抜き。
 * 全幅の色帯を敷くと人物の腰の位置に水平線が走り「地面」でなく色の切り替わりに見える。
 * そこで黄の面は人物より小さい矩形にして左上へずらし、人物が面の右下から食み出す配置にする。
 * 面は人物の背後にだけ来るので、切り抜きでも透けて見えない。
 */
.prof__figure{
  position:relative;margin:0;isolation:isolate;
  padding:1.75rem 1.5rem 0 0;
}
.prof__figure::before{
  content:"";position:absolute;z-index:0;
  inset-block-start:0;inset-inline-start:0;
  inline-size:70%;block-size:66%;
  background:var(--key);
}
.prof__figure img{
  position:relative;z-index:1;inline-size:100%;display:block;
}
/* 署名は面の外・人物の足元側に置く */
.prof__sign{
  position:absolute;z-index:3;inset-block-end:.5rem;inset-inline-end:0;
  background:var(--ink);color:#fff;font-family:var(--slab);font-weight:700;
  padding:.5rem 1rem;font-size:1.05rem;rotate:2deg;
}
.prof__quote{
  /*
   * 縦バー（引用の枠）は廃止。おとさん本人の言葉なのに他人の言葉を引いた枠に
   * 入っていて理由がなかった（2026-09-04 おとさん指摘「AIデザイン」）。
   * 写真の背後に敷いた黄と同系の淡黄を面にして、写真＋一言を1つの塊に見せる。
   * 線を1本も引かないので硬くならない（採用＝案D）。
   */
  margin:0;background:var(--key-pale);padding:1.15rem 1.3rem;
  font-family:var(--slab);font-weight:700;color:var(--ink);
  font-size:clamp(.95rem,1.8vw,1.08rem);line-height:1.9;
}
.prof__body p{margin:0 0 1.5em;line-height:1.9}
.prof__body p:first-child{font-weight:700;color:var(--ink)}
.prof__meta{
  margin:1.8rem 0 0;padding:1.1rem 1.3rem;background:var(--paper);border:2px solid var(--ink);
  display:grid;grid-template-columns:auto 1fr;gap:.4rem 1.1rem;font-size:.88rem;
}
.prof__meta dt{font-family:var(--slab);font-weight:700;color:var(--ink);white-space:nowrap}
.prof__meta dd{margin:0}

/* =========================================================
   10. 実績（黒面に年号入りの罫線表）
   ======================================================= */
.record{inline-size:100%;border-collapse:collapse;font-size:15px}
.record th,.record td{
  padding:20px 16px 20px 0;border-block-end:1px solid var(--line);
  vertical-align:top;text-align:start;
}
.record thead th{
  font-family:var(--num);font-weight:700;font-size:11.5px;letter-spacing:.14em;
  color:var(--sub);border-block-end:2px solid var(--ink);padding-block-end:10px;
}
.record tbody th{
  font-family:var(--num);font-weight:700;font-size:1.15rem;color:var(--acc);
  white-space:nowrap;inline-size:5.5em;padding-block-start:22px;
}
.record td b{display:block;font-family:var(--slab);font-weight:700;color:var(--ink);font-size:16px;margin-block-end:4px}
.record td span{display:block;font-size:13.5px;color:var(--sub);line-height:1.85}
.record td span em{font-style:normal;font-family:var(--num);font-weight:700;color:var(--acc);font-size:1.15em}

/* =========================================================
   11. 料金（2列表）
   ======================================================= */
.fee__tbl{inline-size:100%;border-collapse:collapse;font-size:15px}
.fee__tbl th,.fee__tbl td{
  padding:16px 12px 16px 0;border-block-end:1px solid var(--line);
  text-align:start;vertical-align:top;
}
.fee__tbl thead th{
  font-family:var(--num);font-weight:700;font-size:11.5px;letter-spacing:.1em;color:var(--sub);
  padding-block:10px;border-block-end:2px solid var(--ink);
}
.fee__tbl tbody th{font-family:var(--slab);font-weight:700;color:var(--ink);inline-size:38%}
.fee__tbl small{
  display:block;font-family:var(--body);font-weight:400;
  font-size:12.5px;color:var(--sub);line-height:1.75;margin-block-start:5px;
}
.fee__price{font-family:var(--num);font-size:22px;font-weight:700;color:var(--ink);letter-spacing:.02em;white-space:nowrap}
.fee__price small{font-family:var(--body);font-size:11.5px;font-weight:400;color:var(--sub);white-space:nowrap;margin-block-start:4px}
.fee__note{font-size:12.5px;color:var(--sub);margin:18px 0 0}

/* =========================================================
   12. 最終CTA（黄全幅・上下に黒6px罫）
   ======================================================= */
.cta{background:var(--key);border-block:6px solid var(--ink);padding-block:clamp(3rem,7vw,5rem)}
.cta__grid{
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  gap:clamp(1.6rem,4vw,2.75rem);align-items:center;
}
.cta h2{
  border:0;padding:0;font-size:clamp(22px,2.8vw,30px);margin-block-end:14px;font-weight:900;
  /* balanceは語中（「分か／らない」）で割る。読点位置の<br>で切るのでここでは効かせない */
  text-wrap:normal;
}
.cta h2::after{content:none}
.cta h2 br{display:inline}
.cta p{font-size:15px;color:var(--ink);margin:0;font-weight:500}
.cta__btns{display:flex;flex-direction:column;gap:12px}
.cta__mini{font-size:12px;color:var(--ink);opacity:.75;margin:4px 0 0;text-align:center}

/* =========================================================
   13. フッター
   ======================================================= */
.ft{background:var(--ink);color:#b9bcc1;padding-block:2.75rem;font-size:13px}
.ft__in{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start;justify-content:space-between}
.ft__name{font-family:var(--slab);font-weight:700;color:#fff;font-size:15px;margin:0 0 .4rem}
.ft__note{margin:0;font-size:12.5px;color:#a9adb4}
.ft__nav{display:flex;gap:22px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.ft a{color:#b9bcc1;text-decoration:none}
.ft a:hover{color:var(--key)}
.ft__legal{margin-top:2rem;border-top:1px solid rgba(255,255,255,.14);padding-top:1.25rem}
.ft__sub{display:flex;gap:20px;list-style:none;margin:0;padding:0;flex-wrap:wrap;font-size:12.5px}
.ft__copy{font-family:var(--num);letter-spacing:.06em;opacity:.6;margin:1rem 0 0;font-size:12px}

/* =========================================================
   14. 下層ページ共通（白地。上部に黄面を使わない）
   ======================================================= */
.page-body{padding-block:clamp(2rem,4vw,3.25rem) clamp(3rem,6vw,5rem)}
.page-body__inner{inline-size:var(--readw);margin-inline:auto}
.page-body__inner--wide{inline-size:min(1000px,100% - 40px)}

.breadcrumb{margin:0 0 clamp(1.5rem,3vw,2.25rem)}
.breadcrumb__list{
  display:flex;flex-wrap:wrap;gap:.4rem .7rem;list-style:none;margin:0;padding:0;
  font-size:12px;color:var(--sub);letter-spacing:.04em;
}
.breadcrumb__item+.breadcrumb__item::before{content:"／";margin-inline-end:.7rem;color:var(--line)}
.breadcrumb__item a{text-decoration:none}
.breadcrumb__item a:hover{border-block-end:1px solid var(--key)}
.breadcrumb__item[aria-current]{color:var(--ink);font-weight:700}

.entry__header{margin-block-end:clamp(1.5rem,3vw,2.25rem)}
.entry__meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:baseline;margin-block-end:.9rem}
.entry__date,.entry__modified{font-family:var(--num);font-weight:700;font-size:12.5px;color:var(--red);letter-spacing:.06em}
.entry__modified{color:var(--sub)}
.entry__cats a,.entry__tags a{
  font-family:var(--num);font-size:11.5px;font-weight:700;letter-spacing:.1em;
  color:var(--sub);text-decoration:none;
}
.entry__cats a:hover,.entry__tags a:hover{color:var(--ink);border-block-end:1px solid var(--key)}
.entry__title,.page-title,.archive-header__title{
  font-family:var(--slab);font-weight:700;
  font-size:clamp(24px,3.4vw,32px);line-height:1.5;color:var(--ink);
  margin:0;border:0;padding:0;
}
.entry__thumb{margin:0 0 clamp(1.5rem,3vw,2.25rem)}
.entry__tags{display:flex;flex-wrap:wrap;gap:.6rem 1rem;margin-block-start:2.5rem;padding-block-start:1.25rem;border-block-start:1px solid var(--line)}

.archive-header{margin-block-end:clamp(1.5rem,3vw,2.25rem);padding-block-end:1rem;border-block-end:2px solid var(--ink)}
.archive-header__desc{font-size:13px;color:var(--sub);margin:.6rem 0 0}

.post-nav{
  display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;
  margin-block-start:3.5rem;padding-block-start:1.5rem;border-block-start:2px solid var(--ink);
}
.post-nav__item{min-inline-size:0}
.post-nav__item--next{text-align:end}
.post-nav a{display:block;min-block-size:44px;padding-block:.5rem;text-decoration:none;color:var(--ink)}
.post-nav__label{
  display:block;font-family:var(--num);font-weight:700;font-size:11.5px;letter-spacing:.12em;
  color:var(--acc);margin-block-end:.35rem;
}
.post-nav__title{display:block;font-size:15px;font-weight:700;line-height:1.55;text-wrap:pretty}
.post-nav a:hover .post-nav__title{
  text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:var(--acc);
}
@media (max-width:600px){
  .post-nav{grid-template-columns:1fr;gap:1.1rem}
  .post-nav__item--next{text-align:start;padding-block-start:1.1rem;border-block-start:1px solid var(--line)}
}

.pagination{
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  margin-block-start:3rem;font-family:var(--num);font-weight:700;
}
.pagination .nav-links{display:contents}
.pagination .screen-reader-text{
  position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;
}
.pagination .page-numbers{
  display:inline-grid;place-items:center;min-inline-size:44px;block-size:44px;padding-inline:.7rem;
  border:2px solid var(--ink);color:var(--ink);text-decoration:none;font-size:15px;letter-spacing:.04em;
  text-box:trim-both cap alphabetic;
}
.pagination .page-numbers.current{background:var(--acc);border-color:var(--acc);color:#fff}
.pagination a.page-numbers:hover{background:transparent;border-color:var(--acc);color:var(--acc)}
.pagination .page-numbers.dots{border:0;min-inline-size:auto;padding-inline:.2rem;color:var(--sub)}
.pagination .prev,.pagination .next{padding-inline:1rem}

/* 目次（the_content 内に差し込まれるので、本文用 ol/a ルールより強い指定で遮断する） */
.post-toc{
  margin:0 0 2.75rem;padding:1.1rem 1.4rem 1.15rem;
  background:var(--paper);border:2px solid var(--ink);
}
.post-toc .post-toc__title{
  display:flex;align-items:center;gap:.7rem;
  font-family:var(--slab);font-weight:700;font-size:13.5px;letter-spacing:.14em;
  color:var(--ink);margin:0 0 .6rem;
}
.post-toc .post-toc__title::after{content:"";flex:1;block-size:1px;background:var(--line)}
.post-toc .post-toc__list,.post-toc .post-toc__sub{margin:0;padding:0;list-style:none}
.post-toc .post-toc__list{counter-reset:toc}
.post-toc .post-toc__list>li{
  counter-increment:toc;display:grid;grid-template-columns:2.2em minmax(0,1fr);
  padding-block:.6rem;margin:0;border:0;border-block-start:1px solid var(--line);
  font-size:14.5px;line-height:1.7;
}
.post-toc .post-toc__list>li:first-child{border-block-start:0}
.post-toc .post-toc__list>li::before{
  content:counter(toc,decimal-leading-zero);
  font-family:var(--num);font-weight:700;color:var(--acc);letter-spacing:.04em;
}
.post-toc .post-toc__sub{display:none}
.post-toc .post-toc__sub li{
  position:relative;padding:.1rem 0 .1rem 1em;margin:0;border:0;
  font-size:13.5px;line-height:1.7;color:var(--sub);
}
.post-toc .post-toc__sub li::before{
  content:"";position:absolute;inset-inline-start:0;inset-block-start:.85em;
  inline-size:6px;block-size:1px;background:var(--sub);
}
.post-toc .post-toc__list a{color:inherit;text-decoration:none;border:0}
.post-toc .post-toc__sub a{display:block;padding-block:.2rem}
.post-toc .post-toc__list a:hover{
  color:var(--acc);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px;
}

/* =========================================================
   15. 記事本文（.entry-content 素のセレクタ）← 最重要
   ======================================================= */
.entry-content,.page-content{
  inline-size:100%;
  font-size:16px;line-height:1.9;color:var(--text);
  font-feature-settings:"palt" 1;
}
.entry-content>*:first-child,.page-content>*:first-child{margin-block-start:0}

.entry-content p,.page-content p{margin:0 0 1.5em;text-wrap:pretty}

.page-content h2{
  font-family:var(--slab);font-weight:700;
  font-size:clamp(21px,2.4vw,26px);line-height:1.5;color:var(--ink);
  margin:56px 0 8px;
  text-wrap:balance;background:none;
}
/* 記事のh2：飾り線を付けない。番号（目次と同じ 01 02…）＋極太＋上の広い余白で階層を作る。
   書体は Noto Sans JP（Zen Kaku の Google Fonts 版は palt が無く「、」の後ろが空く＝実測 2026-09-03） */
.entry-content{counter-reset:sec}
.entry-content h2{
  counter-increment:sec;
  display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;align-items:start;
  font-family:var(--body);font-weight:900;
  font-size:clamp(23px,2.4vw,28px);line-height:1.4;color:var(--ink);letter-spacing:.01em;
  margin:4rem 0 1.25rem;padding:0 0 14px;border:0;border-block-end:2px solid var(--ink);
  background:none;text-wrap:balance;
}
.entry-content h2::after{content:none}
.entry-content h2::before{
  content:counter(sec,decimal-leading-zero);
  display:grid;place-items:center;inline-size:38px;block-size:38px;margin-block-start:.05em;
  background:var(--acc);color:#fff;
  font-family:var(--num);font-weight:700;font-size:15px;line-height:1;letter-spacing:.06em;
}
@supports (word-break:auto-phrase){
  .entry-content h2,.entry-content h3{word-break:auto-phrase}
}
/* 法務ページ（プライバシー/特商法/運営者情報）は番号を振らない。
   記事の 01 02… は読み物の順番を示すためのもので、規約の条項には意味を持たない。 */
.page-legal .entry-content h2{
  display:block;counter-increment:none;
  font-size:clamp(19px,2vw,22px);margin:2.75rem 0 .9rem;padding:0 0 10px;
}
.page-legal .entry-content h2::before{content:none}
.page-legal .entry-content h2:first-child{margin-top:0}
.page-legal .entry-content table{border-collapse:collapse;inline-size:100%;margin:1rem 0}
.page-legal .entry-content td{border:1px solid var(--line);padding:12px 14px;vertical-align:top}
.page-legal .entry-content tr td:first-child{inline-size:34%;background:#fafafa;font-weight:700}
.entry-content h3,.page-content h3{
  font-family:var(--body);font-weight:700;
  font-size:clamp(19px,1.8vw,21px);line-height:1.5;margin:2.5rem 0 .75rem;color:var(--ink);letter-spacing:.01em;
  padding:2px 0;border:0;background:none;text-wrap:balance;
}
.entry-content h3::before,.page-content h3::before{
  content:"";display:inline-block;inline-size:9px;block-size:9px;border-radius:50%;
  background:var(--acc);margin-inline-end:.55em;vertical-align:.14em;
}
.entry-content h4,.page-content h4{
  font-family:var(--body);font-weight:700;
  font-size:17.5px;line-height:1.55;margin:2rem 0 .5rem;color:var(--acc);letter-spacing:.02em;
}
.entry-content h5,.page-content h5{
  font-family:var(--slab);font-weight:700;font-size:15.5px;line-height:1.7;
  margin:26px 0 6px;color:var(--sub);letter-spacing:.04em;
}

.entry-content ul,.page-content ul{list-style:none;padding-inline-start:0;margin:0 0 1.5em}
.entry-content ul li,.page-content ul li{
  position:relative;padding-inline-start:22px;padding-block:8px;
  border-block-end:1px dashed var(--line);text-wrap:pretty;
}
.entry-content ul li::before,.page-content ul li::before{
  content:"";position:absolute;inset-inline-start:2px;inset-block-start:1.1em;
  inline-size:7px;block-size:7px;background:var(--ink);
}
.entry-content ul ul,.page-content ul ul{margin:.4em 0 0}
.entry-content ul ul li:last-child,.page-content ul ul li:last-child{border-block-end:0;padding-block-end:0}
.entry-content ol,.page-content ol{padding-inline-start:1.6em;margin:0 0 1.5em}
.entry-content ol li,.page-content ol li{padding-block:6px;text-wrap:pretty}
.entry-content ol li::marker,.page-content ol li::marker{
  font-family:var(--num);font-weight:700;color:var(--ink);
}

.entry-content blockquote,.page-content blockquote{
  margin:2rem 0;padding:22px 26px;background:#f4f5f6;border-radius:8px;
  border:0;
  font-size:15.5px;color:var(--text);line-height:1.9;text-wrap:pretty;
}
.entry-content blockquote p,.page-content blockquote p{margin-block-end:1em}
.entry-content blockquote p:last-child,.page-content blockquote p:last-child{margin-block-end:0}
.entry-content blockquote cite,.page-content blockquote cite{
  display:block;font-style:normal;font-size:12.5px;color:var(--sub);margin-block-start:1.25em;letter-spacing:.02em;
}
.entry-content blockquote cite::before,.page-content blockquote cite::before{content:"— "}
@media (max-width:600px){.entry-content blockquote,.page-content blockquote{padding:18px}}

.entry-content table,.page-content table{
  inline-size:100%;border-collapse:collapse;margin:2rem 0;font-size:14.5px;
}
.entry-content th,.page-content th{
  text-align:start;font-family:var(--slab);font-weight:700;font-size:12px;letter-spacing:.1em;
  color:var(--sub);border-block-end:2px solid var(--ink);padding:10px 12px 10px 0;
}
.entry-content td,.page-content td{
  border-block-end:1px solid var(--line);padding:14px 12px 14px 0;
  vertical-align:top;line-height:1.75;
}
.entry-content td:first-child,.page-content td:first-child{
  font-family:var(--num);font-weight:700;white-space:nowrap;padding-inline-end:24px;
}
.entry-content .table-wrap,.page-content .table-wrap{inline-size:100%}
@media (max-width:600px){
  .entry-content .table-wrap,.page-content .table-wrap{overflow-x:auto}
}

.entry-content figure,.page-content figure{margin:2rem 0}
.entry-content img,.page-content img{max-inline-size:100%;block-size:auto;display:block}
.entry-content figcaption,.page-content figcaption{
  margin-block-start:10px;padding-block-start:8px;border-block-start:1px solid var(--line);
  font-size:11.5px;letter-spacing:.04em;color:var(--sub);
}
.entry-content .alignleft{float:left;margin:0 1.5rem 1rem 0}
.entry-content .alignright{float:right;margin:0 0 1rem 1.5rem}
.entry-content .aligncenter{margin-inline:auto}

.entry-content a,.page-content a{
  color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;
  text-decoration-color:var(--ink);
}
.entry-content a:hover,.page-content a:hover{color:var(--acc);text-decoration-color:var(--acc);text-decoration-thickness:2px}
.entry-content strong,.page-content strong{
  font-weight:700;color:var(--ink);
}
.entry-content em,.page-content em{font-style:normal;font-weight:700;color:var(--ink)}
.entry-content mark,.page-content mark{
  background:none;color:inherit;padding-inline:.1em;
  background-image:linear-gradient(transparent 62%,rgba(255,215,0,.32) 62%,rgba(255,215,0,.32) 92%,transparent 92%);
  -webkit-box-decoration-break:clone;box-decoration-break:clone;
}
.entry-content code,.page-content code{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;
  background:#f2f3f5;padding:.15em .4em;
}
.entry-content pre,.page-content pre{
  background:#f2f3f5;border-inline-start:3px solid var(--ink);
  padding:1.1rem 1.25rem;overflow-x:auto;font-size:13.5px;line-height:1.8;margin:32px 0;
}
.entry-content pre code,.page-content pre code{background:none;padding:0}
.entry-content hr,.page-content hr{
  border:0;border-block-start:1px solid var(--line);margin:48px 0;
}

/* =========================================================
   16. 404
   ======================================================= */
.nf{background:var(--key);border-block-end:6px solid var(--ink);padding-block:clamp(3rem,7vw,5rem)}
.nf h1{
  font-family:var(--slab);font-weight:900;font-size:clamp(1.6rem,4vw,2.6rem);
  color:var(--ink);margin:0 0 .8rem;border:0;padding:0;
}
.nf p{font-size:15px;color:var(--ink);font-weight:500;margin:0;max-inline-size:34em}

/* =========================================================
   17. お問い合わせ（CF7）
   運用＝固定ページ本文にCF7ショートコードを貼る。
   出力先は the_content() の中（.page-content / .entry-content）で、
   .form-block は挟まらない。どちらに置かれても効くセレクタにする。
   CF7の出力＝form.wpcf7-form > p > label > span.wpcf7-form-control-wrap
              > input.wpcf7-form-control ／ 送信＝input.wpcf7-submit
   ======================================================= */
.form-block{margin-block-start:2rem}

.form-block .wpcf7-form p,
.page-content .wpcf7-form p,
.entry-content .wpcf7-form p,
.page-content form p,
.form-block form p{margin:0 0 1.25rem}

.form-block label,
.page-content .wpcf7 label,
.entry-content .wpcf7 label,
.page-content form label,
.form-block form label{
  display:block;font-family:var(--slab);font-weight:700;font-size:13.5px;
  color:var(--ink);letter-spacing:.04em;margin-block-end:.45rem;
}

/* CF7は入力欄を span.wpcf7-form-control-wrap で包む。ブロック化しないと幅が出ない */
.wpcf7-form-control-wrap{display:block;margin-block-start:.45rem}

/* 必須・任意の印（2026-10-18 おとさん「必須の場所が分かりやすいように赤の目印」）。相談LPの lp.css と同じ見た目 */
.form-block .req,.form-block .opt,
.page-content .req,.page-content .opt,
.entry-content .req,.entry-content .opt,
.wpcf7 .req,.wpcf7 .opt{display:inline-block;font-size:11px;font-weight:700;line-height:1;padding:.35em .6em;border-radius:4px;margin-inline-end:.5em;vertical-align:middle}
.form-block .req,.page-content .req,.entry-content .req,.wpcf7 .req{background:var(--red);color:#fff}
.form-block .opt,.page-content .opt,.entry-content .opt,.wpcf7 .opt{background:#e9e9ec;color:var(--sub)}

/* CF7の必須マーク（[text* ] に付く記号）も同じ扱いにする */
.wpcf7 .wpcf7-not-valid-tip{color:var(--red);font-size:12.5px;font-weight:700;margin-block-start:.4rem}

.form-block input[type=text],
.form-block input[type=email],
.form-block input[type=tel],
.form-block input[type=url],
.form-block input[type=date],
.form-block input[type=number],
.form-block select,
.form-block textarea,
.page-content input[type=text],
.page-content input[type=email],
.page-content input[type=tel],
.page-content input[type=url],
.page-content select,
.page-content textarea,
.entry-content input[type=text],
.entry-content input[type=email],
.entry-content input[type=tel],
.entry-content input[type=url],
.entry-content select,
.entry-content textarea,
.wpcf7 input.wpcf7-form-control:not([type=submit]),
.wpcf7 select.wpcf7-form-control,
.wpcf7 textarea.wpcf7-form-control{
  inline-size:100%;max-inline-size:100%;
  font-family:var(--body);font-size:16px;color:var(--text);
  padding:.75rem .85rem;border:2px solid var(--ink);background:var(--paper);
  border-radius:0;-webkit-appearance:none;appearance:none;
}

.form-block select,
.page-content select,
.entry-content select,
.wpcf7 select.wpcf7-form-control{
  background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),
                   linear-gradient(135deg,var(--ink) 50%,transparent 50%);
  background-position:calc(100% - 20px) 1.15em,calc(100% - 14px) 1.15em;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;
}

.form-block textarea,
.page-content textarea,
.entry-content textarea,
.wpcf7 textarea.wpcf7-form-control{min-block-size:11rem;line-height:1.8}

.form-block input:user-invalid,
.form-block textarea:user-invalid,
.page-content input:user-invalid,
.page-content textarea:user-invalid,
.entry-content input:user-invalid,
.entry-content textarea:user-invalid,
.wpcf7 .wpcf7-not-valid{border-color:var(--red)}

.form-block input[type=submit],
.form-block button[type=submit],
.page-content input[type=submit],
.entry-content input[type=submit],
.wpcf7 input.wpcf7-submit,
.wpcf7 button.wpcf7-submit{
  inline-size:auto;max-inline-size:none;
  font-family:var(--slab);font-weight:700;font-size:16px;
  background:var(--ink);color:#fff;border:3px solid var(--ink);
  padding:.9rem 2.5rem;cursor:pointer;border-radius:0;
  -webkit-appearance:none;appearance:none;
}
.form-block input[type=submit]:hover,
.form-block button[type=submit]:hover,
.page-content input[type=submit]:hover,
.entry-content input[type=submit]:hover,
.wpcf7 input.wpcf7-submit:hover,
.wpcf7 button.wpcf7-submit:hover{background:var(--red);border-color:var(--red)}

/* CF7の送信結果メッセージ。角丸・色相を足さず罫線で見せる */
.wpcf7 form .wpcf7-response-output{
  margin:1.5rem 0 0;padding:.9rem 1.1rem;border:2px solid var(--ink);
  font-size:14px;font-weight:700;border-radius:0;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output{border-color:var(--red);color:var(--red)}

.form-note{font-size:13px;color:var(--sub);border-inline-start:2px solid var(--line);padding-inline-start:1rem}

/* お問い合わせの下に置く軽い戻り道 */
.after-form{
  display:flex;flex-wrap:wrap;gap:1.5rem;align-items:baseline;
  margin-block-start:2.5rem;padding-block-start:1.5rem;border-block-start:1px solid var(--line);
}

/* =========================================================
   18. レスポンシブ（分岐を増やさない）
   ======================================================= */
@media (max-width:860px){
  /* ヘッダーはサイト名＋赤い「相談する」1つに絞る。5項目の横スクロールをやめる */
  .hd__nav{display:none}
  .hd__cta{
    display:inline-grid;place-items:center;margin-inline-start:auto;
    min-block-size:44px;padding-block:0;padding-inline:1.1rem;
  }
  .hd__cta__long{display:none}
  .hd__cta__short{display:inline}

  /* SPは「文字→写真→ボタン」の1列。1画面に収める */
  .fv__in{
    grid-template-columns:1fr;
    /* SPの順＝肩書き→見出し→専門家にお任せください→写真→ボタン1つ→説明文（2026-10-18 おとさん「その後に私の写真が来るべき」「ファーストビューでCTAが見えるように」「CTA2つに散らさない」） */
    grid-template-areas:"copy" "photo" "acts";
    grid-template-rows:auto;min-block-size:0;row-gap:0;
  }
  .fv__copy{padding-block:1.6rem .4rem}
  .fv__photo{
    margin-inline-end:0;justify-self:center;align-self:end;
    inline-size:auto;
  }
  .fv__photo img{
    inline-size:auto;max-inline-size:100%;
    block-size:min(36vh,280px);
    margin-inline-start:0;margin-block-end:-6px;
    object-fit:contain;object-position:bottom;
  }
  .fv__acts{
    padding-block:.9rem 1.6rem;
    display:grid;grid-template-columns:1fr;gap:.6rem;
  }
  .fv__acts .btn{padding-inline:.5rem;min-block-size:52px}
  /* 説明文は白い面に載せて読みやすく（2026-10-18 おとさん「背景を変えるか装飾するか」）。左の縦線は使わない */
  .fv__lead{margin-block:0 1.5rem;padding:1rem 1.1rem;line-height:1.8;font-size:.92rem;background:#fff;border-radius:12px;max-inline-size:none}
  .fv h1{margin-block-end:.85rem}
  .fv__tag{margin-block-end:.8rem}
  .pains,.prof,.cta__grid,.vid-lead{grid-template-columns:1fr}
  .vid-lead{gap:1.25rem}
  .prof__figure{max-inline-size:340px}
  .prof__sign{inset-inline-end:auto;inset-inline-start:1rem}
  .sec--air{padding-block:clamp(3.5rem,10vw,5rem)}
  .record thead{display:none}
  .record tbody tr{display:block;border-block-end:1px solid var(--line)}
  .record tbody th,.record tbody td{display:block;border-block-end:0;padding-inline:0}
  .record tbody th{padding-block:18px 0;inline-size:auto}
  .record tbody td{padding-block:6px 18px}
}
@media (max-width:520px){
  .hd__in{gap:.7rem;padding-inline:1rem}
  .hd__name{font-size:.86rem}
  .hd__cta{padding-inline:.85rem;font-size:.8rem}
  .ticker__in{gap:.45rem 1.2rem}
  .posts a{grid-template-columns:112px minmax(0,1fr);gap:14px}
  .posts__ex{display:none}
  .vid-list li{grid-template-columns:1.8em 84px minmax(0,1fr);gap:0 12px}
  .vid-list__desc{display:none}
  .fee__tbl tbody th{inline-size:auto}
  .prof__meta{grid-template-columns:1fr;gap:.1rem}
  .prof__meta dt{margin-block-start:.6rem}
}

/* 記事末：もとになった動画への導線 */
.entry__watch{margin-block-start:2.5rem;padding-block-start:1.5rem;border-block-start:1px solid var(--line)}

/* 記事末尾の著者ボックス（2026-10-05） */
.author-box{display:grid;grid-template-columns:96px 1fr;gap:1.25rem;align-items:start;margin-block:3rem 1rem;padding:1.5rem;border:1px solid var(--line);border-top:3px solid var(--acc);background:var(--paper)}
.author-box__img{inline-size:96px;block-size:96px;object-fit:cover;object-position:50% 0;border-radius:50%;background:var(--acc-pale)}
.author-box__body p{margin:0}
.author-box__label{font-family:var(--slab);font-size:.8rem;font-weight:700;color:var(--acc);letter-spacing:.06em}
.author-box__name{margin-block:.25rem .6rem!important;font-family:var(--slab);font-weight:700;font-size:1.1rem;color:var(--ink)}
.author-box__name span{display:inline-block;margin-inline-start:.6em;font-size:.82rem;font-weight:500;color:var(--sub)}
.author-box__text{font-size:.92rem;line-height:1.85;color:var(--text)}
.author-box__link{display:inline-block;margin-block-start:.8rem;font-weight:700;font-size:.92rem;color:var(--ink);text-decoration:underline;text-underline-offset:.25em}
.author-box__link:hover{color:var(--acc)}
@media (max-width:560px){
  .author-box{grid-template-columns:64px 1fr;gap:1rem;padding:1.15rem}
  .author-box__img{inline-size:64px;block-size:64px}
  .author-box__name span{display:block;margin:0}
}

/* カテゴリの説明文・記事ごとの相談の一文（2026-10-05） */
.archive-header__lead{margin:.9rem 0 0;font-size:.95rem;line-height:1.85;color:var(--text);max-inline-size:46em}
.cta .cta__lead{font-weight:700;font-size:1.05rem;line-height:1.7;margin-block-end:.5rem}

/* ===== 記事の部品（2026-10-18 おとさん「まっくろ装飾なくて読めない」）左の縦線は使わない ===== */
.entry-content .box{margin:1.75rem 0;padding:20px 22px 18px;border-radius:12px;position:relative}
.entry-content .box > :last-child{margin-bottom:0}
.entry-content .box p{margin:0 0 .8em}
.entry-content .box__label{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.06em;line-height:1;padding:6px 11px;border-radius:999px;margin:0 0 12px;color:#fff}
.entry-content .box--point{background:#fff7d1}
.entry-content .box--point .box__label{background:#b8860b}
.entry-content .box--genba{background:#eef2f8}
.entry-content .box--genba .box__label{background:var(--navy,#122260)}
.entry-content .box--warn{background:#fbefe9}
.entry-content .box--warn .box__label{background:#a8432a}
.entry-content .box ul,.entry-content .box ol{margin:0;padding-left:1.25em}
.entry-content .box li{margin:.35em 0}
.entry-content .box--point strong{font-size:1.05em}

/* 手順カード */
.entry-content ol.steps{list-style:none;counter-reset:st;margin:1.5rem 0;padding:0;display:grid;gap:10px}
.entry-content ol.steps > li{counter-increment:st;position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px 16px 62px;margin:0;line-height:1.7}
.entry-content ol.steps > li::before{content:counter(st);position:absolute;left:16px;top:14px;width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;font-weight:700;font-size:15px;display:grid;place-items:center;font-family:var(--num)}
.entry-content ol.steps > li::marker{content:""}
.entry-content ol.steps b{display:block;font-size:1.05em;color:var(--ink);margin-bottom:2px}

/* チェックの並び */
.entry-content ul.check{list-style:none;padding:0;margin:1.25rem 0}
.entry-content ul.check > li{position:relative;padding-left:30px;margin:.55em 0}
.entry-content ul.check > li::before{content:"";position:absolute;left:3px;top:.42em;width:15px;height:8px;background:none;border-left:3px solid var(--acc);border-bottom:3px solid var(--acc);transform:rotate(-45deg)}

/* 数字の帯 */
.entry-content .stat{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:1.75rem 0;padding:0;list-style:none}
.entry-content .stat > li{background:#fff7d1;border-radius:12px;padding:14px 8px;text-align:center;margin:0}
.entry-content .stat__y{display:block;font-size:12.5px;color:var(--sub);font-weight:700}
.entry-content .stat__n{display:block;font-family:var(--num);font-weight:900;font-size:clamp(20px,3.2vw,28px);color:var(--ink);line-height:1.2;margin-top:4px}
.entry-content .stat__n small{font-size:.55em;margin-left:1px}

@media (max-width:600px){
  .entry-content .box{padding:16px 16px 14px;border-radius:10px}
  .entry-content ol.steps > li{padding:14px 14px 14px 54px}
  .entry-content ol.steps > li::before{left:12px;width:30px;height:30px}
  .entry-content .stat{grid-template-columns:repeat(2,1fr)}
}
/* 部品の中では既存の箇条書きの印と区切り線を消す */
.entry-content .stat > li::before{content:none}
.entry-content .stat > li{border:0;padding:14px 8px}
.entry-content ul.check > li{border:0;padding-block:0}
.entry-content .box ul > li{border-color:rgba(0,0,0,.08)}
.entry-content .stat__n{font-size:clamp(26px,6vw,30px)}

/* ===== 下部固定の相談バナー（全記事・プロフィール・一覧 → /mendan/ の無料面談LPへ。2026-10-18） =====
   ありがとうあべさんのブログの型（顔写真＋一文＋ボタン・スマホ66px/PC74px・44px以上の押し場・safe-area）を便利屋コンサルに移植。
   LP（/mendan/）・トップ・お問合せ・規約ページには入れない（1つのLPに出口は1つ） */
.flb{position:fixed;inset-inline:0;inset-block-end:0;z-index:60;padding:0 12px calc(8px + env(safe-area-inset-bottom));pointer-events:none}
.flb__in{pointer-events:auto;max-width:780px;margin-inline:auto;display:flex;align-items:center;gap:12px;min-height:74px;padding:8px 10px 8px 12px;
  background:var(--paper);border:1px solid var(--line);border-block-start:3px solid var(--key);border-radius:14px;box-shadow:0 10px 30px rgba(43,46,52,.18)}
.flb__ph{flex:0 0 auto;inline-size:56px;block-size:56px;border-radius:50%;object-fit:cover;object-position:50% 18%;background:var(--key)}
.flb__body{flex:1 1 auto;min-width:0}
.flb__t{margin:0;font-family:var(--slab);font-weight:700;font-size:15px;line-height:1.35;color:var(--ink)}
.flb__s{margin:2px 0 0;font-size:12px;line-height:1.3;color:var(--sub)}
.flb__btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:999px;
  background:var(--red);color:#fff;font-family:var(--slab);font-weight:700;font-size:15px;text-decoration:none;white-space:nowrap}
.flb__btn:hover{background:var(--ink)}
.flb__btn__short{display:none}
body:has(.flb){padding-block-end:calc(96px + env(safe-area-inset-bottom))}
@media(max-width:600px){
  .flb{padding-inline:8px}
  .flb__in{min-height:66px;gap:10px;padding:7px 8px 7px 10px;border-radius:12px}
  .flb__ph{inline-size:44px;block-size:44px}
  .flb__t{font-size:13.5px}
  .flb__s{font-size:11px}
  .flb__btn{padding:0 14px;font-size:14px}
  .flb__btn__long{display:none}.flb__btn__short{display:inline}
  body:has(.flb){padding-block-end:calc(86px + env(safe-area-inset-bottom))}
}
@media(max-width:359px){.flb__ph{display:none}}

/* お問い合わせのフォーム＝相談LP（/mendan/）と同じ作り（2026-10-18 おとさん「問い合わせフォームは面談の方がいい感じ」） */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ct{max-width:720px;margin:1.5rem auto 0;background:#fff;border-radius:14px;box-shadow:0 8px 28px rgba(43,46,52,.08),0 1px 2px rgba(43,46,52,.06);padding:clamp(1.4rem,3.5vw,2.4rem)}
.ct__lead{text-align:center;color:var(--sub);font-size:.95rem;margin:0 0 1.4rem}
.ct fieldset{margin:0;padding:0;border:0;min-width:0}
.ct .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ct .field{margin:0 0 1.1rem}
.ct label{display:block;font-weight:700;color:var(--ink);font-size:.95rem;margin:0 0 .35rem}
.ct input[type=text],.ct input[type=email],.ct input[type=tel],.ct select,.ct textarea{inline-size:100%;font:inherit;font-size:1rem;padding:.8rem .95rem;border:2px solid var(--line);border-radius:10px;background:#fff;color:var(--text)}
.ct input:focus,.ct select:focus,.ct textarea:focus{outline:0;border-color:var(--ink)}
.ct input:focus-visible,.ct textarea:focus-visible,.ct select:focus-visible{outline:3px solid #175e9d;outline-offset:3px}
.ct textarea{min-block-size:160px;resize:vertical}
.ct small{display:block;margin-top:.4rem;font-size:.82rem;color:var(--sub)}
.ct .ct__submit{display:block;inline-size:100%;font-family:var(--slab);font-weight:900;font-size:1.12rem;padding:1rem;border:0;border-radius:999px;background:var(--red);color:#fff;cursor:pointer;box-shadow:0 8px 22px rgba(214,41,0,.28)}
.ct .ct__submit:hover{background:var(--ink)}
.vid-lead__play--read::before{content:none}

/* トップの自己紹介を短く（2026-10-18 おとさん「長すぎる文章はPCでもスマホでも読めない。トップで長々と自己紹介を書かずプロフィールへ飛ばせ」） */
.prof__lead{font-family:var(--slab);font-weight:900;font-size:clamp(1.15rem,2.4vw,1.45rem);color:var(--ink);margin:0 0 .5rem;line-height:1.5}
.prof__short{margin:0 0 1.4rem;line-height:1.85}
.prof__nums{list-style:none;margin:0 0 1.4rem;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.prof__nums li{background:var(--key-pale);border-radius:12px;padding:14px 16px;display:grid;gap:4px}
.prof__nums b{font-family:var(--num);font-weight:700;font-size:clamp(1.5rem,3.4vw,2rem);color:var(--ink);line-height:1.1}
.prof__nums small{font-family:var(--slab);font-size:.5em;margin-inline:.1em}
.prof__nums span{font-size:.82rem;font-weight:700;color:var(--sub);line-height:1.5}
/* 悩みの右側：文章を札にする */
.pains__body .pains__short{margin:0 0 1rem;line-height:1.85;font-weight:500}
.pains__body .pains__can{font-family:var(--slab);font-weight:700;color:var(--ink);margin:1.8rem 0 .6rem}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{background:var(--ink);color:#fff;font-weight:700;font-size:.9rem;padding:.45em .9em;border-radius:999px;line-height:1.4}
.chips--light li{background:#fff;color:var(--ink);border:2px solid var(--line)}

/* ファーストビュー：ボタンの横に条件の一言、下に実績の数字（黒い帯から移した・2026-10-18 おとさん「無料面談を申し込むの後も余白・作り込みが甘い」） */
.fv__acts{display:flex;align-items:center;gap:1rem}
.fv__mini{margin:0;font-size:.85rem;font-weight:700;line-height:1.55;color:var(--ink)}
.fv__sep{display:none}
.fv__proof{grid-area:proof;align-self:start;z-index:2;list-style:none;margin:0;padding:0 0 clamp(1.8rem,3.5vw,2.4rem);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-inline-size:520px}
.fv__proof li{background:rgba(255,255,255,.72);border-radius:12px;padding:12px 14px;display:grid;gap:2px}
.fv__proof b{font-family:var(--num);font-weight:700;font-size:clamp(1.3rem,2.4vw,1.7rem);color:var(--ink);line-height:1.1}
.fv__proof small{font-family:var(--slab);font-size:.55em;margin-inline-start:.15em}
.fv__proof span{font-size:.78rem;font-weight:700;color:var(--sub)}
@media (max-width:860px){
  .fv__in{grid-template-areas:"copy" "photo" "acts" "proof" !important}
  .fv__acts{display:grid;grid-template-columns:1fr;gap:.45rem;padding-block:.9rem .9rem !important}
  .fv__mini{text-align:center;font-size:.82rem}
  .fv__mini br{display:none}
  .fv__sep{display:inline}
  .fv__proof{padding-block-end:1.4rem;gap:8px;max-inline-size:none}
  .fv__proof li{padding:10px 8px;text-align:center}
  .fv__proof span{font-size:.72rem}
}
