/* ============================================================
   ブログ記事詳細 (single) — Figma 569:401 / 1440x6577
   左 784px 本文 + 右 260px サイドバー / 数値は Figma REST 実測
   ============================================================ */

.nv-single{
  background:#FFFFFF;
  /* 上48px = sticky ヘッダー(76px)下に余白を確保 (旧16pxはヘッダー直下で詰まっていた) */
  padding:48px 0 88px;
}
.nv-single__wrap{
  display:grid;
  grid-template-columns:minmax(0, 784px) 260px;
  column-gap:56px;
  align-items:start;
}
.nv-single__main{min-width:0}

/* ---- 記事ヘッダ ---- */
.nv-article__head{margin-top:24px}
.nv-article__meta{
  display:flex;
  align-items:center;
  gap:16px;
  margin:0 0 8px;
}
.nv-article__date{
  font-family:'Montserrat', var(--nv-font);
  font-weight:500;
  font-size:16px;
  letter-spacing:0.64px;
  color:#828282;
}
/* color は .nv-page a{color:inherit} (0,1,1) に負けないよう親付きで指定 */
.nv-article__meta .nv-article__cat{
  display:inline-flex;
  align-items:center;
  height:25px;
  padding:0 14px;
  background:var(--nv-base);
  border-radius:999px;
  font-size:14px;
  font-weight:700;
  letter-spacing:0.56px;
  color:var(--nv-main);
}
.nv-article__title{
  margin:0;
  font-size:36px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:1.44px;
  color:var(--nv-text);
}

/* ---- アイキャッチ ---- */
.nv-article__figure{margin:24px 0 0}
.nv-article__thumb{
  display:block;
  width:100%;
  aspect-ratio:784 / 420;
  object-fit:cover;
  border-radius:12px;
}
.nv-article__thumb--ph{background:#D9D9D9}

/* ---- 目次 ---- */
.nv-article__toc{
  margin-top:32px;
  background:#FFFFFF;
  border:2px solid #D9D9D9;
  border-radius:12px;
  padding:32px 40px;
}
.nv-article__toc-head{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 8px;
  font-size:20px;
  font-weight:700;
  letter-spacing:0.8px;
  color:var(--nv-text);
}
.nv-article__toc-icon{color:var(--nv-main);flex:none}
/* 目次は JS で .nv-article__body 内に移動するため、本文の ol 装飾を打ち消す */
.nv-article__body ol.nv-article__toc-list,
ol.nv-article__toc-list{
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:nv-toc-h2;
}
.nv-article__body .nv-article__toc-list li,
.nv-article__toc-list li{
  margin-bottom:0;
  border-bottom:1px solid #D9D9D9;
}
.nv-article__toc-list li:last-child{border-bottom:0}
/* 本文内に移動するため .nv-article__body a の色/下線を打ち消す */
.nv-article__body .nv-article__toc-list a,
.nv-article__toc-list a{
  display:flex;
  gap:10px;
  padding:12px 0;
  font-size:15px;
  line-height:1.6;
  color:var(--nv-text);
  text-decoration:none;
}
/* 目次も本文見出しと同じ階層番号 (H2=1. / H3=1-1) で採番し、番号を一致させる。
   加算/リセットは li 要素に置く (::before だと兄弟の sub 項目にスコープが届かない) */
.nv-article__toc-list > li:not(.nv-article__toc-sub){
  counter-increment:nv-toc-h2;
  counter-reset:nv-toc-h3;
}
.nv-article__toc-list > li.nv-article__toc-sub{
  counter-increment:nv-toc-h3;
}
.nv-article__toc-list > li:not(.nv-article__toc-sub) > a::before{
  content:counter(nv-toc-h2) ".";
  font-family:'Montserrat', var(--nv-font);
  font-weight:700;
  color:var(--nv-main);
  flex:none;
}
.nv-article__toc-list > li.nv-article__toc-sub > a::before{
  content:counter(nv-toc-h2) "-" counter(nv-toc-h3);
  font-family:'Montserrat', var(--nv-font);
  font-weight:700;
  color:var(--nv-main);
  flex:none;
}
.nv-article__toc-list a:hover{color:var(--nv-main)}
.nv-article__toc-sub a{padding-left:26px;font-size:14px}

/* ---- 本文 (the_content のスタイル仕様) ---- */
.nv-article__body{
  margin-top:40px;
  font-size:16px;
  line-height:1.9;
  letter-spacing:0.64px;
  color:var(--nv-text);
}
.nv-article__body > *:first-child{margin-top:0}
.nv-article__body p{margin:0 0 24px}
.nv-article__body a{
  color:var(--nv-main);
  text-decoration:underline;
  text-underline-offset:2px;
}

/* H2 = グレー地 + 青ボーダーのバー (Figma 569:794) */
.nv-article__body h2{
  display:flex;
  align-items:center;
  min-height:46px;
  margin:56px 0 24px;
  padding:8px 24px;
  background:#F1F2F4;
  border:1px solid var(--nv-main);
  font-size:20px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:0.8px;
  color:var(--nv-text);
}
.nv-article__body h3{
  margin:40px 0 16px;
  padding-left:14px;
  border-left:4px solid var(--nv-main);
  font-size:18px;
  font-weight:700;
  line-height:1.6;
  letter-spacing:0.72px;
  color:var(--nv-text);
}

/* ---- H2 / H3 に階層番号を採番 (H2=1. / H3=1-1) — 構造をわかりやすく ---- */
.nv-article__body{counter-reset:nv-h2}
.nv-article__body h2{counter-increment:nv-h2;counter-reset:nv-h3}
.nv-article__body h2::before{
  content:counter(nv-h2) ".";
  flex:none;                 /* h2 は flex コンテナ: 番号を独立アイテムに */
  margin-right:10px;
  font-family:'Montserrat', var(--nv-font);
  font-weight:700;
  color:var(--nv-main);
}
.nv-article__body h3{counter-increment:nv-h3}
.nv-article__body h3::before{
  content:counter(nv-h2) "-" counter(nv-h3);
  margin-right:8px;
  font-family:'Montserrat', var(--nv-font);
  font-weight:700;
  color:var(--nv-main);
}
.nv-article__body h4{
  margin:32px 0 12px;
  font-size:16px;
  font-weight:700;
  color:var(--nv-text);
}
.nv-article__body ul,
.nv-article__body ol{
  margin:0 0 24px;
  padding-left:1.5em;
}
.nv-article__body ul{list-style:disc}
.nv-article__body ol{list-style:decimal}
.nv-article__body li{margin-bottom:8px}
.nv-article__body img{
  border-radius:12px;
  margin:8px 0 24px;
}
.nv-article__body figure{margin:24px 0}
.nv-article__body figcaption{
  margin-top:8px;
  font-size:13px;
  color:#828282;
  text-align:center;
}
.nv-article__body blockquote{
  margin:24px 0;
  padding:16px 24px;
  background:var(--nv-base);
  border-left:4px solid var(--nv-main);
  color:var(--nv-text);
}
.nv-article__body blockquote p:last-child{margin:0}

/* ---- LLMO 記事: 結論(answer-box) — AIに引用される結論チャンク / 再利用可 ---- */
.nv-article__body .nv-answer{
  margin:0 0 24px;
  padding:22px 24px;
  background:var(--nv-base);
  border:1px solid #CFE1F7;
  border-left:5px solid var(--nv-accent-y1);
  border-radius:12px;
}
.nv-article__body .nv-answer__label{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 12px;
  font-size:12px;
  font-weight:700;
  letter-spacing:1.2px;
  color:var(--nv-main);
}
.nv-article__body .nv-answer__label::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--nv-accent-y1);
}
.nv-article__body .nv-answer p{margin:0}
.nv-article__body .nv-answer p + p{margin:12px 0 0}
.nv-article__body .nv-answer__note{font-size:14px;color:#5B6B80}
/* 実測値の強調(Montserrat数字と揃える) */
.nv-article__body .nv-num{
  color:var(--nv-main);
  font-weight:700;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

/* ---- 判断フロー図: 3つの問いで「始め方」を振り分ける (再利用可 / 実テキスト=AI可読) ---- */
.nv-article__body .nv-flow{
  margin:32px 0;
  padding:26px 22px;
  background:linear-gradient(180deg,#FFFFFF,var(--nv-base));
  border:1px solid #CFE1F7;
  border-radius:16px;
}
.nv-article__body .nv-flow__cap{
  margin:0 0 20px;
  padding-left:14px;
  border-left:4px solid var(--nv-accent-y1);
  font-size:17px;
  font-weight:700;
  line-height:1.5;
  text-align:left;
  color:var(--nv-text);
}
.nv-flow__q{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  background:#FFFFFF;
  border:1.5px solid var(--nv-main);
  border-radius:12px;
}
.nv-flow__qnum{
  flex:none;
  display:flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:50%;
  background:var(--nv-main);
  color:#FFFFFF;
  font-family:'Montserrat', var(--nv-font);
  font-weight:700;
  font-size:14px;
  line-height:1;
}
.nv-flow__qtext{
  margin:0;
  font-size:15px;
  font-weight:700;
  line-height:1.6;
  color:var(--nv-text);
}
/* 読みやすさ: 文節の途中で折らず、本文中の <wbr>(改行可能点)だけで改行させる。
   overflow-wrap は付けない(付けると貪欲な行埋めが文節途中で改行してしまうため)。
   各文節はコンテナ幅に収まる短さなので緊急改行は不要 */
.nv-article__body .nv-flow__cap,
.nv-article__body .nv-flow__qtext,
.nv-article__body .nv-flow__dest{
  word-break:keep-all;
}
/* 数字・記号を含む語句(例:「1ページ=1つの問い」)は途中で折らせない */
.nv-article__body .nv-flow .nv-nobr{white-space:nowrap}
/* 分岐: [はい/いいえ] → 行き先 */
.nv-flow__exit{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 10px;
  margin:12px 0 0;
  padding-left:8px;
}
.nv-flow__exit + .nv-flow__exit{margin-top:8px}
.nv-flow__yn{
  flex:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:52px;
  height:26px;
  padding:0 12px;
  border-radius:999px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.06em;
}
.nv-flow__yn--yes{background:var(--nv-main);color:#FFFFFF}
.nv-flow__yn--no{background:#FFFFFF;border:1.5px solid var(--nv-main);color:var(--nv-main)}
.nv-flow__arrow{flex:none;color:#8FA6C4;font-weight:700}
.nv-flow__dest{
  display:inline-block;       /* inline-block: 狭幅で行き先テキストを折り返す */
  max-width:100%;
  padding:7px 14px;
  border-radius:8px;
  font-size:14px;
  font-weight:700;
  line-height:1.4;
  text-decoration:none;
}
.nv-article__body .nv-flow__dest--build{background:var(--nv-main);color:#FFFFFF}
.nv-article__body .nv-flow__dest--diag{background:#FFFFFF;border:1.5px solid var(--nv-main);color:var(--nv-main)}
.nv-article__body .nv-flow__dest--cta{
  background:linear-gradient(90deg, var(--nv-accent-y1), var(--nv-accent-y2));
  color:#FFFFFF;
  box-shadow:0 4px 12px rgba(245,175,4,.28);
}
/* 「◯◯なら次の問いへ」下方向コネクタ */
.nv-flow__next{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:6px 0;
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  color:var(--nv-main);
}
.nv-flow__next::before,
.nv-flow__next::after{
  content:'';
  width:24px;
  height:2px;
  border-radius:2px;
  background:#CFE1F7;
}
@media (max-width:767px){
  .nv-article__body .nv-flow{padding:18px 14px;border-radius:12px}
  .nv-article__body .nv-flow__cap{font-size:15px}
  .nv-flow__qtext{font-size:14px;min-width:0}
  /* 狭幅では exit を block 化: [はい/いいえ]→ を1行目、行き先チップを2行目の全幅に */
  .nv-flow__exit{display:block;padding-left:0}
  .nv-flow__yn{vertical-align:middle}
  .nv-flow__arrow{vertical-align:middle;margin:0 6px}
  .nv-article__body .nv-flow__dest{
    display:block;
    width:100%;
    margin-top:8px;
    font-size:13px;
    padding:8px 12px;
  }
}

.nv-article__body strong{font-weight:700}
.nv-article__body code{
  padding:2px 6px;
  background:#F1F2F4;
  border-radius:4px;
  font-size:.9em;
}
.nv-article__body pre{
  margin:24px 0;
  padding:20px 24px;
  background:#1F3A5F;
  border-radius:8px;
  overflow-x:auto;
  color:#EBF6FF;
}
.nv-article__body pre code{background:none;padding:0;color:inherit}
.nv-article__body hr{
  margin:40px 0;
  border:0;
  border-top:1px solid #D9D9D9;
}
.nv-article__body table{
  width:100%;
  margin:24px 0;
  border-collapse:collapse;
}
.nv-article__body th,
.nv-article__body td{
  padding:10px 14px;
  border:1px solid #D9D9D9;
  text-align:left;
}
.nv-article__body th{background:var(--nv-base)}

/* ---- 記事一覧に戻る ---- */
.nv-article__foot{margin-top:48px}
.nv-article__back{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:16px;
  font-weight:700;
  letter-spacing:0.64px;
  color:var(--nv-text);
}
.nv-article__back-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px; height:32px;
  border-radius:50%;
  background:var(--nv-main);
  transform:rotate(180deg);
}
.nv-article__back:hover .nv-article__back-label{color:var(--nv-main)}

/* ============================================================
   サイドバー (260px)
   ============================================================ */
.nv-side{
  display:flex;
  flex-direction:column;
  gap:40px;
  /* 本文(左カラム)をスクロールしても右サイドバーが追従する */
  position:sticky;
  top:100px;         /* sticky ヘッダー76px + 余白24px */
  align-self:start;  /* grid item を上寄せ (stretch だと sticky が効かない) */
}
/* main.css の section{padding:64px 0} (レガシー全称ルール) を打ち消す */
.nv-side__card{position:relative;padding:0}

/* 折れ角つきの青見出しラベル (ABOUT THE AUTHOR / CATEGORIES) */
.nv-side__label{
  display:flex;
  align-items:center;
  height:24px;
  margin:0 0 24px;
  padding:0 16px 0 38px;
  background:var(--nv-main);
  color:#FFFFFF;
  font-family:'Montserrat', var(--nv-font);
  font-weight:600;
  font-size:16px;
  letter-spacing:0.64px;
  clip-path:polygon(0 0, 100% 0, 100% 100%, 12px 100%, 0 calc(100% - 12px));
}

/* --- ABOUT THE AUTHOR --- は blog-author.css の共有カード (.nv-author) に移行。
   ブログ一覧 (home.php) と共通の単一パーツ template-parts/blog/author-card.php。 */

/* --- CATEGORIES --- */
ul.nv-side__cat-list{margin:0;padding:0;list-style:none}
.nv-side__cat-item{border-bottom:1px solid #D9D9D9}
.nv-side__cat-item:first-child{border-top:1px solid #D9D9D9}
.nv-side__cat-item a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:14px 4px;
  font-size:14px;
  font-weight:700;
  letter-spacing:0.56px;
  color:var(--nv-text);
}
.nv-side__cat-item a:hover .nv-side__cat-name{color:var(--nv-main)}
.nv-side__cat-count{
  font-family:'Montserrat', var(--nv-font);
  font-weight:600;
  color:#828282;
}
/* カテゴリアイコンは SP デザインのみ */
.nv-side__cat-icon{display:none}

/* --- LIVE UPDATES (navy card) --- */
.nv-side__live{
  background:var(--nv-text);
  border-radius:12px;
  padding:24px;
  color:#FFFFFF;
}
.nv-side__live-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0;
  padding:4px 12px 4px 4px;
  border:1px solid rgba(255,255,255,.4);
  border-radius:4px;
  font-family:'Montserrat', var(--nv-font);
  font-weight:600;
  font-size:16px;
  letter-spacing:0.64px;
}
.nv-side__live-x{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px; height:24px;
  background:#FFFFFF;
  border-radius:4px;
  color:var(--nv-text);
}
.nv-side__live-heading{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:24px 0 0;
  font-size:18px;
  font-weight:700;
  letter-spacing:0.72px;
}
.nv-side__live-heading::before,
.nv-side__live-heading::after{
  content:'';
  width:1px; height:17px;
  background:#FFFFFF;
  transform:rotate(20deg);
}
.nv-side__live-heading::after{transform:rotate(-20deg)}
.nv-side__live-text{
  margin:12px 0 0;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.4);
  font-size:14px;
  line-height:1.5;
  letter-spacing:0.56px;
}
.nv-side__live .nv-side__live-btn{
  display:inline-flex;
  align-items:center;
  margin-top:16px;
  padding:8px 16px;
  background:#FFFFFF;
  border-radius:4px;
  font-size:14px;
  font-weight:700;
  letter-spacing:0.56px;
  color:var(--nv-text);
}

/* --- START HERE (gradient CTA card) --- */
.nv-side__start{
  background:linear-gradient(180deg, #FFFFFF, var(--nv-base));
  border:1px solid var(--nv-main);
  border-radius:12px;
  padding:32px 24px;
}
.nv-side__start-label{
  margin:0 0 8px;
  font-family:'Montserrat', var(--nv-font);
  font-weight:600;
  font-size:16px;
  letter-spacing:0.64px;
  color:var(--nv-main);
}
.nv-side__start-heading{
  margin:0 0 24px;
  font-size:16px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:0.64px;
  color:var(--nv-text);
}
.nv-side__start .nv-side__start-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  height:56px;
  background:linear-gradient(90deg, var(--nv-accent-y1), var(--nv-accent-y2));
  border:3px solid #FFFFFF;
  border-radius:999px;
  box-shadow:0 6px 16px rgba(245,175,4,.35);
  font-size:16px;
  font-weight:700;
  letter-spacing:0.64px;
  color:#FFFFFF;
}
.nv-side__start-btn:hover{filter:brightness(1.04)}

/* ============================================================
   おすすめ記事 (PICK UP) — 本文カラム幅で 2x2
   ============================================================ */
.nv-pick{margin-top:88px;padding:0} /* padding:0 = main.css の section{padding:64px 0} 打ち消し */
.nv-pick__head{margin-bottom:24px}
.nv-pick__eyebrow{
  margin:0 0 4px;
  font-family:'Montserrat', var(--nv-font);
  font-weight:600;
  font-size:16px;
  letter-spacing:0.64px;
  color:var(--nv-main);
}
.nv-pick__title{
  margin:0;
  font-size:36px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:1.44px;
  color:var(--nv-text);
}
ul.nv-pick__list{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:24px 24px;
  margin:0;
  padding:0;
  list-style:none;
}
.nv-pick__card{display:block}
.nv-pick__thumb{
  display:block;
  width:100%;
  aspect-ratio:380 / 180;
  border-radius:12px;
  overflow:hidden;
}
.nv-pick__thumb img{width:100%;height:100%;object-fit:cover}
.nv-pick__thumb--ph{background:#D9D9D9}
.nv-pick__date{
  display:block;
  margin:16px 0 4px;
  font-family:'Montserrat', var(--nv-font);
  font-weight:500;
  font-size:14px;
  letter-spacing:0.56px;
  color:#828282;
}
.nv-pick__card-title{
  display:block;
  font-size:18px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:0.72px;
  color:var(--nv-text);
}
.nv-pick__card:hover .nv-pick__card-title{color:var(--nv-main)}
.nv-pick__cat{
  display:inline-block;
  margin-top:8px;
  padding:1px 12px;
  background:var(--nv-base);
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  color:var(--nv-main);
}

/* ============================================================
   レスポンシブ
   ============================================================ */
@media (max-width:1024px){
  .nv-single__wrap{
    grid-template-columns:1fr;
    row-gap:56px;
  }
  .nv-side{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    max-width:640px;
    /* 1カラム化したら追従は解除 (本文の下に積むため) */
    position:static;
    top:auto;
  }
}
/* ---- SP: Figma 673:15645「ブログ記事詳細 SP版」(390px / 20px ガター) の REST 実測 ---- */
@media (max-width:767px){
  .nv-single{padding:28px 0 40px}
  .nv-single__wrap{row-gap:40px}

  /* パンくず: 記事名は 2 行目に回り込む */
  .nv-single .nv-crumb{flex-wrap:wrap;gap:8px}
  .nv-single .nv-crumb li{gap:8px}
  .nv-single .nv-crumb li:last-child{flex:1 0 100%}

  /* 記事ヘッダ */
  .nv-article__head{margin-top:40px}
  .nv-article__date{font-size:15px;letter-spacing:.6px}
  .nv-article__meta .nv-article__cat{padding:0 8px}
  .nv-article__title{font-size:24px;letter-spacing:.96px}

  /* アイキャッチ */
  .nv-article__figure{margin-top:8px}
  .nv-article__thumb{aspect-ratio:350 / 200;border-radius:8px}

  /* 目次: 白地 1px 枠 / 番号は青丸バッジ */
  .nv-article__toc{
    margin-top:16px;
    padding:16px;
    border-width:1px;
    border-radius:0;
  }
  .nv-article__toc-head{
    margin-bottom:16px;
    font-size:18px;
    letter-spacing:.72px;
  }
  .nv-article__toc-icon{width:20px;height:20px}
  .nv-single .nv-article__toc-list a{
    align-items:flex-start;
    gap:8px;
    padding:8px 0;
    font-size:15px;
    line-height:1.5;
  }
  .nv-single .nv-article__toc-list > li:not(.nv-article__toc-sub) > a::before{
    content:counter(nv-toc-h2);
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:24px;
    height:24px;
    padding:0 6px;
    border-radius:12px;
    background:var(--nv-main);
    font-size:15px;
    font-weight:600;
    color:#FFFFFF;
  }
  .nv-single .nv-article__toc-list > li.nv-article__toc-sub > a::before{
    content:counter(nv-toc-h2) "-" counter(nv-toc-h3);
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:24px;
    height:24px;
    padding:0 6px;
    border-radius:12px;
    background:var(--nv-main);
    font-size:13px;
    font-weight:600;
    color:#FFFFFF;
  }
  .nv-article__toc-list li:last-child{border-bottom:1px solid #D9D9D9}
  .nv-article__toc-sub a{padding-left:32px}

  /* 本文: H2 は左 4px の青バー + グレー地 (囲み罫なし) */
  .nv-article__body{
    margin-top:8px;
    font-size:15px;
    letter-spacing:.6px;
  }
  .nv-article__body h2{
    min-height:0;
    margin:24px 0 8px;
    padding:4px 16px;
    border:0;
    border-left:4px solid var(--nv-main);
    font-size:18px;
    letter-spacing:.72px;
  }
  .nv-article__body h3{
    margin:24px 0 8px;
    padding-left:12px;
    font-size:16px;
  }
  .nv-article__body img{border-radius:8px}
  .nv-article__body pre{padding:16px}

  /* 記事一覧に戻る */
  .nv-article__foot{margin-top:24px}
  .nv-article__back{font-size:15px}

  /* おすすめ記事: 中央寄せ見出し + 1 カラム */
  .nv-pick{margin-top:40px}
  .nv-pick__head{margin-bottom:24px;text-align:center}
  .nv-pick__eyebrow{margin-bottom:0;font-size:15px;letter-spacing:.6px}
  .nv-pick__title{font-size:24px;letter-spacing:.96px}
  ul.nv-pick__list{grid-template-columns:1fr;gap:16px}
  .nv-pick__thumb{aspect-ratio:350 / 160;border-radius:8px}
  .nv-pick__date{margin:4px 0}
  .nv-pick__card-title{font-size:16px;letter-spacing:.64px}
  .nv-pick__cat{padding:2px 8px}

  /* ============ サイドバー (本文の下に 1 カラムで積む) ============ */
  .nv-side{
    display:flex;
    flex-direction:column;
    gap:24px;
    max-width:none;
  }

  /* 見出しラベル: 全幅の青バー + 下辺中央の▼ */
  .nv-side__label{
    position:relative;
    justify-content:center;
    height:28px;
    margin-bottom:14px;
    padding:0 16px;
    font-size:15px;
    letter-spacing:.6px;
    clip-path:none;
  }
  .nv-side__label::after{
    content:'';
    position:absolute;
    top:100%;
    left:50%;
    width:0;
    height:0;
    border-left:8px solid transparent;
    border-right:8px solid transparent;
    border-top:6px solid var(--nv-main);
    transform:translateX(-50%);
  }

  /* --- ABOUT THE AUTHOR --- は blog-author.css の共有カード (.nv-author) に移行済。 */

  /* --- CATEGORIES --- */
  .nv-side__cat-item:first-child{border-top:0}
  .nv-side__cat-item a{
    justify-content:flex-start;
    gap:8px;
    padding:8px 0;
    font-size:15px;
  }
  .nv-side__cat-item:first-child a{padding-top:0}
  /* 灰丸ごと Figma 書き出し SVG に内包 */
  .nv-side__cat-icon{
    flex:none;
    display:flex;
    width:32px;
    height:32px;
  }
  .nv-side__cat-count{
    margin-left:auto;
    font-family:var(--nv-font);
    font-weight:500;
    font-size:15px;
    letter-spacing:.6px;
  }

  /* --- LIVE UPDATES: バッジ直下に区切り線 --- */
  .nv-side__live{padding:16px;border-radius:8px}
  .nv-side__live-badge{
    gap:8px;
    padding:0;
    border:0;
    border-radius:0;
    font-size:15px;
    letter-spacing:.6px;
  }
  .nv-side__live-x{width:28px;height:28px}
  .nv-side__live-heading{
    justify-content:flex-start;
    gap:8px;
    margin-top:8px;
    padding-top:16px;
    border-top:1px solid rgba(255,255,255,.4);
    font-size:16px;
    letter-spacing:.64px;
  }
  .nv-side__live-text{
    margin-top:4px;
    padding-top:0;
    border-top:0;
  }
  .nv-side__live-btn{margin-top:16px}

  /* --- START HERE --- */
  .nv-side__start{padding:16px;border-radius:8px}
  .nv-side__start-label{
    margin-bottom:4px;
    font-size:15px;
    letter-spacing:.6px;
  }
  .nv-side__start-heading{
    margin-bottom:16px;
    font-size:15px;
    letter-spacing:.6px;
  }
  .nv-side__start-heading br{display:none}
  .nv-side__start .nv-side__start-btn{
    border-width:2px;
    font-size:15px;
    letter-spacing:.6px;
    box-shadow:0 0 20px rgba(9,139,222,.2);
  }
}
