
:root{--ink:#1d3630;--muted:#66766f;--line:#d9e5df;--paper:#fff;--wash:#f5f8f6;--green:#147a5b;--green-dark:#0d5b43;--coral:#e97761;--yellow:#f5ca63}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--wash);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif;line-height:1.8}main{width:min(940px,100% - 32px);margin:0 auto;padding:40px 0 72px}header{padding:20px 0;border-bottom:1px solid var(--line)}h1{font-size:clamp(30px,4.3vw,48px);line-height:1.3;letter-spacing:.025em;text-wrap:balance}h2{margin-top:38px;font-size:clamp(23px,3vw,30px);line-height:1.5}.eyebrow{margin:0 0 8px;color:var(--green);font-size:13px;font-weight:800;letter-spacing:.1em}.site-hero{position:relative;min-height:390px;padding:38px;overflow:hidden;border-radius:24px;background:#e9eee9}.site-hero:after{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(248,247,241,.64),rgba(248,247,241,.18));content:""}.site-hero>picture{position:absolute;z-index:0;inset:0;display:block;width:100%;height:100%}.site-hero>picture>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%}.hero-copy{position:relative;z-index:2;display:inline-block;max-width:min(440px,100%);padding:24px 28px 26px;border:1px solid rgba(255,255,255,.95);border-radius:20px;background:rgba(255,253,247,.97);box-shadow:0 14px 38px rgba(33,66,57,.18);backdrop-filter:blur(8px)}.hero-copy h1{margin:0 0 14px}.site-hero .intro{max-width:none;margin:0;font-size:16px;line-height:1.8}.hero-badge{display:inline-block;margin-top:12px;padding:5px 12px;border-radius:999px;color:#75411c;background:#fff0c9;font-size:13px;font-weight:700}.article-hero{margin:24px 0 4px;overflow:hidden;border-radius:18px;background:#dde9e4}.article-hero img{display:block;width:100%;height:280px;object-fit:cover}.article-hero.health img{object-position:65% center}.summary{padding:20px 24px;border-left:4px solid var(--green);border-radius:0 14px 14px 0;background:var(--paper);box-shadow:0 8px 24px rgba(26,68,56,.05)}.summary li+li{margin-top:8px}.notice{padding:12px 16px;color:#705121;background:#fff4dc;border-radius:12px;font-size:13px}.pr-notice{display:inline-block;margin:0 0 12px;padding:5px 12px;border:1px solid #d9e5df;border-radius:999px;color:var(--muted);background:var(--paper);font-size:12px;font-weight:700}
.inline-figure{margin:22px 0;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.inline-figure img{display:block;width:100%;max-height:520px;object-fit:contain;border-radius:10px;background:#f5f8f6}.vivant-inline-chart svg{display:block;width:100%;height:auto;max-height:none}.inline-figure figcaption{margin:8px 2px 0;color:var(--muted);font-size:12px;line-height:1.5}
.evidence-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:22px;align-items:start;margin:22px 0;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:0 8px 24px rgba(26,68,56,.06)}.evidence-copy h3{margin:0 0 12px;font-size:20px;line-height:1.5}.evidence-copy ul{margin:0;padding-left:1.25em}.evidence-copy li+li{margin-top:7px}.evidence-links{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 0}.evidence-links a{display:inline-block;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#f7faf8;font-size:13px;font-weight:800;text-decoration:none}.evidence-visual{margin:0;padding:10px;border:1px solid var(--line);border-radius:14px;background:#f7faf8}.evidence-visual img{display:block;width:100%;max-height:330px;object-fit:contain;border-radius:10px;background:#eef3f0}.evidence-visual figcaption{margin:8px 2px 0;color:var(--muted);font-size:12px;line-height:1.55}@media(max-width:700px){.evidence-card{grid-template-columns:1fr;padding:16px}.evidence-visual{order:2}}
.vivant-nav{position:sticky;top:10px;z-index:3;margin:22px 0;padding:14px 16px;border:1px solid #d5e7df;border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(26,68,56,.08);backdrop-filter:blur(8px)}.vivant-nav p{margin:0 0 8px;color:var(--green-dark);font-size:13px;font-weight:800}.vivant-nav ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.vivant-nav a{display:block;padding:6px 10px;border:1px solid var(--line);border-radius:999px;color:var(--green-dark);background:#f8fcfa;font-size:13px;font-weight:700;text-decoration:none}.vivant-nav a:hover{border-color:var(--green);background:#eaf5ef}.article-vivant2026-kosatsu-20260818 .article-hero.vivant{background:#f7faf8}.article-vivant2026-kosatsu-20260818 .article-hero.vivant img{height:auto;max-height:none;object-fit:contain}.article-vivant2026-kosatsu-20260818 .article-hero.vivant svg{display:block;width:100%;height:auto}.article-vivant2026-kosatsu-20260818 .vivant-key-visual{width:min(100%,720px);margin:18px auto 28px;overflow:hidden;border:1px solid #30383b;border-radius:20px;background:#202427;box-shadow:0 12px 30px rgba(20,30,32,.18)}.article-vivant2026-kosatsu-20260818 .vivant-key-visual img{display:block;width:100%;height:auto}.article-vivant2026-kosatsu-20260818 .vivant-key-visual figcaption{padding:7px 12px;color:#d9e3e1;background:#202427;font-size:12px;line-height:1.5}.article-vivant2026-kosatsu-20260818 #current-board .table-wrap table{min-width:780px}.article-vivant2026-kosatsu-20260818 #current-board .table-wrap th,.article-vivant2026-kosatsu-20260818 #current-board .table-wrap td{padding:14px 22px}.article-vivant2026-kosatsu-20260818 #current-board .table-wrap th:nth-child(1),.article-vivant2026-kosatsu-20260818 #current-board .table-wrap td:nth-child(1){min-width:250px}.article-vivant2026-kosatsu-20260818 #current-board .table-wrap th:nth-child(2),.article-vivant2026-kosatsu-20260818 #current-board .table-wrap td:nth-child(2){min-width:92px;text-align:center}.article-vivant2026-kosatsu-20260818 #current-board .table-wrap th:nth-child(3),.article-vivant2026-kosatsu-20260818 #current-board .table-wrap td:nth-child(3){min-width:340px;white-space:normal}.clue-legend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0;padding:0;list-style:none}.clue-legend-item{min-height:92px;padding:14px 15px;border:1px solid var(--line);border-left:6px solid var(--clue-color);border-radius:14px;background:var(--paper);box-shadow:0 6px 18px rgba(26,68,56,.06)}.clue-legend-label{display:block;color:var(--clue-color);font-size:15px;font-weight:800}.clue-legend-description{display:block;margin-top:3px;color:var(--muted);font-size:13px;line-height:1.5}.clue-legend-added{--clue-color:#2878c7}.clue-legend-resolved{--clue-color:#2f8b57}.clue-legend-pending{--clue-color:#ad7100}.clue-legend-removed{--clue-color:#b54d43}@media(max-width:700px){.clue-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.clue-legend-item{min-height:80px;padding:12px}}
.article-vivant2026-kosatsu-20260818 section[id]{scroll-margin-top:120px}
/* 伏線一覧はデスクトップでも右端を見切れさせず、列内で自然に折り返す。 */
.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap{overflow-x:visible}
.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap table{width:100%;min-width:0;table-layout:fixed}
.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap th,.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap td{min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap th:nth-child(1),.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap td:nth-child(1){width:12%}
.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap th:nth-child(2),.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap td:nth-child(2){width:30%}
.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap th:nth-child(3),.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap td:nth-child(3){width:18%}
.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap th:nth-child(4),.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap td:nth-child(4){width:28%}
.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap th:nth-child(5),.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap td:nth-child(5){width:12%}
@media(max-width:700px){.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap{overflow-x:auto}.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap table{min-width:680px;table-layout:auto}.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap th,.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap td{padding:9px 8px;font-size:13px}}
/* 伏線一覧は「伏線」セルそのものを4色で表示する。 */
.article-vivant2026-kosatsu-20260818 #clue-index .clue-status-cell{text-align:left;white-space:normal;font-weight:700}
.article-vivant2026-kosatsu-20260818 #clue-index .clue-status-cell.clue-status-added{background:rgba(40,120,199,.12);box-shadow:inset 4px 0 #2878c7}
.article-vivant2026-kosatsu-20260818 #clue-index .clue-status-cell.clue-status-resolved{background:rgba(47,139,87,.14);box-shadow:inset 4px 0 #2f8b57}
.article-vivant2026-kosatsu-20260818 #clue-index .clue-status-cell.clue-status-pending{background:rgba(173,113,0,.16);box-shadow:inset 4px 0 #ad7100}
.article-vivant2026-kosatsu-20260818 #clue-index .clue-status-cell.clue-status-removed{background:rgba(181,77,67,.16);box-shadow:inset 4px 0 #b54d43}
/* VIVANT本文下部の場面写真は、文章との比率を優先して控えめに見せる。 */
.article-vivant2026-kosatsu-20260818 .evidence-visual{width:min(100%,150px);justify-self:end}
.article-vivant2026-kosatsu-20260818 .evidence-visual img{max-height:120px}
@media(max-width:700px){
  .article-vivant2026-kosatsu-20260818 .evidence-visual{width:min(100%,150px);max-width:150px;justify-self:end}
  .article-vivant2026-kosatsu-20260818 .evidence-visual img{max-height:120px}
}
/* VIVANTは赤×黒を基調にし、本文の4色ステータスと相関図を引き立てる。 */
body.article-vivant2026-kosatsu-20260818{--ink:#f7eeee;--muted:#c4aeb2;--line:#64202b;--paper:#160c10;--wash:#080709;--green:#ef3348;--green-dark:#ff7773;--coral:#ff5b63;--yellow:#e8bd5e;background:#080709}
body.article-vivant2026-kosatsu-20260818 main{background:radial-gradient(circle at 50% -12%,rgba(125,12,29,.34),transparent 42%),linear-gradient(180deg,#0e080b 0%,#080709 72%);border-top:3px solid #9e1d31}
body.article-vivant2026-kosatsu-20260818 header{border-bottom-color:#7d1c2d}
body.article-vivant2026-kosatsu-20260818 h1{color:#fff7f7;text-shadow:0 2px 18px rgba(215,20,50,.32)}
body.article-vivant2026-kosatsu-20260818 h2{color:#ff5c67;border-left:4px solid #c3132f;padding-left:12px;text-shadow:0 1px 10px rgba(197,18,47,.2)}
body.article-vivant2026-kosatsu-20260818 .eyebrow{color:#ff4d5c}
body.article-vivant2026-kosatsu-20260818 .notice{color:#ffdce0;background:#211016;border:1px solid #762333}
body.article-vivant2026-kosatsu-20260818 a{color:#ff9b92}
body.article-vivant2026-kosatsu-20260818 .vivant-nav{border-color:#762333;background:rgba(17,7,10,.96);box-shadow:0 8px 24px rgba(112,8,25,.22)}
body.article-vivant2026-kosatsu-20260818 .vivant-nav p{color:#ff5e69}
body.article-vivant2026-kosatsu-20260818 .vivant-nav a{color:#ffdfe2;background:#2a1016;border-color:#6d2531}
body.article-vivant2026-kosatsu-20260818 .vivant-nav a:hover{border-color:#ff5c67;background:#45131d}
body.article-vivant2026-kosatsu-20260818 .vivant-key-visual{border-color:#a62337;box-shadow:0 12px 30px rgba(104,9,28,.42)}
body.article-vivant2026-kosatsu-20260818 .inline-figure,body.article-vivant2026-kosatsu-20260818 .evidence-card,body.article-vivant2026-kosatsu-20260818 .source{border-color:#5f202c;background:#160c10;box-shadow:0 8px 24px rgba(92,7,24,.2)}
body.article-vivant2026-kosatsu-20260818 .inline-figure img{background:#0d090b}
body.article-vivant2026-kosatsu-20260818 .evidence-links a{background:#241016;border-color:#692331;color:#ffb0aa}
body.article-vivant2026-kosatsu-20260818 .evidence-visual{background:#10090c;border-color:#5f202c}
body.article-vivant2026-kosatsu-20260818 .evidence-visual img{background:#0d090b}
body.article-vivant2026-kosatsu-20260818 .table-wrap table{background:#160c10;border-color:#66202b}
body.article-vivant2026-kosatsu-20260818 .table-wrap th{background:#3a1019;color:#ffe8e8;border-bottom-color:#702431}
body.article-vivant2026-kosatsu-20260818 .table-wrap td{border-bottom-color:#4a1b25}
body.article-vivant2026-kosatsu-20260818 .table-wrap tbody tr:nth-child(even){background:#211016}
body.article-vivant2026-kosatsu-20260818 .request-cta{background:#261016;color:#f7eeee;border-color:#6b2431}
/* ジャンル別のイメージカラー。商品比較は暖色(テラコッタ)でニュース系と区別する。 */
body.genre-shopping{--green:#c96f4a;--green-dark:#8c5738;--line:#ecdccd;--wash:#fdf9f5}
body.genre-shopping .summary{border-left-color:#c96f4a}
body.genre-shopping .table-wrap th{background:#faeee4;color:#8c5738}
body.genre-shopping .article-hero{background:#f7e8d8}
.article-hero.shopping img{object-fit:contain;background:#fdf6ee}
/* 旅行記事は青系(空・海のイメージ)で商品比較(暖色)と区別する */
body.genre-travel{--green:#2f7ea8;--green-dark:#1f5a78;--line:#cfe3ec;--wash:#f4f9fb}
body.genre-travel .summary{border-left-color:#2f7ea8}
body.genre-travel .table-wrap th{background:#e6f2f7;color:#1f5a78}
body.genre-travel .article-hero{background:#dcedf3}
body.genre-travel .shop-header-visual{background:#dcedf3}
.article-hero.travel img{object-fit:contain;background:#f4f9fb}
.article-card.card-travel .genre-label{color:#2f7ea8}
.article-card.card-travel a:after{color:#2f7ea8}
.article-card.card-travel .card-visual{background:#dcedf3}
.card-visual.travel img{object-fit:contain;background:#f4f9fb}
/* 商品比較記事のヘッダー: タイトル(複数行)の横に小さいイラストを配置する */
.shop-header{display:flex;align-items:center;gap:28px;padding:20px 0}
.shop-header-text{flex:1;min-width:0}
.shop-header-text h1{white-space:pre-line}
.shop-header-visual{flex:none;width:180px;height:135px;overflow:hidden;border-radius:16px;background:#f7e8d8}
.shop-header-visual img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:700px){.shop-header{flex-direction:column-reverse;gap:16px}.shop-header-visual{width:100%;height:150px}}
.article-card.card-shopping .genre-label{color:#c96f4a}
.article-card.card-shopping a:after{color:#c96f4a}
.article-card.card-shopping .card-visual{background:#f7e8d8}
.card-visual.shopping img{object-fit:contain;background:#fdf6ee}
/* 診断フローチャート */
.flowchart{margin:24px 0;padding:22px 24px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.flow-q{margin:0 0 16px;font-size:18px;font-weight:800;line-height:1.6}
.flow-step{color:var(--muted);font-size:13px;font-weight:700;letter-spacing:.06em;margin:0 0 8px}
.flow-choices{display:flex;flex-direction:column;gap:10px}
.flow-choice{padding:14px 18px;border:2px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font-size:16px;font-weight:700;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}
.flow-choice:hover{border-color:var(--green);background:#fdf6ee}
.flow-result{padding:4px 0}
.flow-result .fr-label{margin:0 0 6px;color:var(--green);font-size:13px;font-weight:800;letter-spacing:.06em}
.flow-result .fr-name{margin:0 0 10px;font-size:22px;font-weight:800;line-height:1.4}
.flow-result .fr-why{margin:0 0 16px;line-height:1.8}
.flow-again{padding:9px 18px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--muted);font-size:14px;font-weight:700;cursor:pointer}
.flow-again:hover{border-color:var(--green);color:var(--green)}
/* 商品カード */
.product-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;margin:22px 0;padding:0;list-style:none}
.product-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.product-card>a{display:block;padding:14px;background:#fff;text-align:center}
.product-card img{width:100%;height:150px;object-fit:contain}
.pc-body{display:flex;flex-direction:column;gap:6px;padding:0 15px 16px}
.pc-name{margin:0;font-size:14px;font-weight:700;line-height:1.5}
.pc-price{margin:0;color:var(--green-dark);font-size:17px;font-weight:800}
.pc-note{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
.pc-link{margin-top:6px;padding:9px 12px;border-radius:10px;background:var(--green);color:#fff;font-size:14px;font-weight:700;text-align:center;text-decoration:none}
.pc-link:hover{background:var(--green-dark);color:#fff}
.review-buylink{margin:14px 0 0}
.review-buylink a{display:inline-block;padding:9px 16px;border-radius:10px;background:var(--green);color:#fff;font-size:14px;font-weight:700;text-decoration:none}
.review-buylink a:hover{background:var(--green-dark)}
.article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:0;list-style:none}.article-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:0 8px 20px rgba(26,68,56,.05);transition:transform .2s ease,box-shadow .2s ease}.article-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(26,68,56,.12)}.card-visual{height:130px;overflow:hidden;background:#dce9e4}.card-visual img{display:block;width:100%;height:100%;object-fit:cover}.card-visual.health img{object-position:63% center}.card-body{padding:18px 19px 20px}.genre-label{display:inline-block;margin-bottom:7px;color:var(--green);font-size:12px;font-weight:800;letter-spacing:.08em}.article-card a{display:block;color:var(--ink);font-size:19px;font-weight:800;line-height:1.55;text-decoration:none;overflow-wrap:normal;word-break:normal}.article-card a:after{display:block;margin-top:12px;color:var(--green);font-size:14px;font-weight:700;content:"記事を読む →"}.table-wrap{overflow-x:auto;margin:20px 0}.table-wrap table{width:100%;min-width:max-content;border-collapse:collapse;background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:15px}.table-wrap th{padding:12px 14px;text-align:left;background:#eaf3ef;color:var(--green-dark);font-weight:800;border-bottom:1px solid var(--line);white-space:nowrap}.table-wrap td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;white-space:nowrap}.table-wrap th:first-child,.table-wrap td:first-child{white-space:normal;min-width:160px}.table-wrap tbody tr:last-child td{border-bottom:none}.table-wrap tbody tr:nth-child(even){background:#fafcfb}.source{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}a{color:var(--green-dark);overflow-wrap:anywhere}.footer{margin-top:38px;color:var(--muted);font-size:13px}.request-cta{margin-top:14px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#eaf3ef;color:var(--ink)}.request-cta a{font-weight:700}@media(max-width:600px){main{width:min(100% - 22px,940px);padding-top:18px}.site-hero{min-height:500px;padding:22px;border-radius:18px}.site-hero>picture>img{object-position:center 20%}.hero-copy{padding:22px 20px;background:rgba(255,253,247,.98)}.site-hero .intro{font-size:15px}.article-grid{grid-template-columns:1fr;gap:14px}.article-hero img{height:210px}.card-visual{height:150px}.article-card a{font-size:18px}}
/* 見出しは日本語の途中で折らず、まとまり単位で表示する。 */
.site-hero .hero-copy h1{white-space:nowrap;text-wrap:nowrap;word-break:keep-all;overflow-wrap:normal}.site-hero .hero-copy{max-width:min(440px,100%);background:rgba(255,253,247,.95)}
@media(max-width:600px){.site-hero .hero-copy h1{white-space:nowrap;text-wrap:nowrap;word-break:keep-all;font-size:clamp(24px,8vw,48px)}}

/* スマホでは、説明文とイラストを重ねない。下段にイラストを見せて、内容が一目で伝わるようにする。 */
@media(max-width:600px){
  .site-hero{min-height:650px;padding:18px;background:#fbfaf5}
  .site-hero:after{display:none}
  .site-hero>picture{inset:auto 0 0 auto;width:54%;height:352px}
  .site-hero>picture>img{object-position:center 54%;object-fit:cover}
  .site-hero .hero-copy{position:relative;width:100%;max-width:100%;padding:20px;border-radius:18px;background:rgba(255,253,247,.98);box-shadow:0 10px 28px rgba(33,66,57,.12)}
}

/* トップページはジャンルごとに見つけやすく整理する。 */
[hidden]{display:none!important}
.genre-section{margin-top:42px;padding-top:28px;border-top:1px solid var(--line)}
.genre-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px}
.genre-heading h3{margin:0;font-size:clamp(24px,3.2vw,34px);line-height:1.35;letter-spacing:.02em}
.genre-heading p{margin:4px 0 0;color:var(--muted);font-size:14px;line-height:1.6}
.genre-kicker{margin:0 0 3px!important;color:var(--genre-accent,var(--green));font-size:11px!important;font-weight:800;letter-spacing:.14em}
.genre-count{padding:6px 12px;border:1px solid var(--line);border-radius:999px;color:var(--genre-accent,var(--green));background:var(--paper);font-size:13px;font-weight:800;white-space:nowrap}
.genre-section.genre-ai{--genre-accent:#147a5b}
.genre-section.genre-health{--genre-accent:#c46c54}
.genre-section.genre-shopping{--genre-accent:#c96f4a}
.genre-section.genre-travel{--genre-accent:#2f7ea8}
.genre-section .article-card{border-top:3px solid var(--genre-accent)}
.genre-section .genre-label{color:var(--genre-accent)}
.genre-section .article-card a:after{color:var(--genre-accent)}
.genre-grid{margin:0}
.genre-top{position:relative;min-height:132px;margin-bottom:18px;padding:22px 28px;overflow:hidden;border:1px solid color-mix(in srgb,var(--genre-accent) 30%,white);border-radius:18px;background:var(--paper);isolation:isolate}
.genre-top:after{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,var(--paper) 0%,rgba(255,255,255,.99) 29%,rgba(255,255,255,.9) 46%,rgba(255,255,255,.5) 68%,rgba(255,255,255,.08) 100%);content:""}
.genre-top .genre-heading{position:relative;z-index:1;display:flex;align-items:end;justify-content:flex-start;gap:18px;max-width:720px;margin:0}
.genre-feature{position:absolute;z-index:-2;inset:0 0 0 auto;width:68%;margin:0;overflow:hidden;opacity:.84;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.22) 18%,#000 49%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.22) 18%,#000 49%)}
.genre-feature img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.genre-section.genre-health .genre-feature img{object-position:76% center}
.article-subsection+.article-subsection{margin-top:28px}
.article-subheading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 13px;padding-left:13px;border-left:3px solid var(--genre-accent)}
.article-subheading h4{margin:0;color:var(--ink);font-size:19px;line-height:1.4}.article-subheading p{margin:2px 0 0;color:var(--muted);font-size:13px;line-height:1.6}
.article-subheading span{color:var(--genre-accent);font-size:12px;font-weight:800;white-space:nowrap}
.related-section{margin-top:42px;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}.related-section h2{margin:0 0 16px;font-size:24px}.related-section>p{margin:-8px 0 16px;color:var(--muted);font-size:13px}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.related-card{display:flex;min-height:130px;flex-direction:column;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fbfcfa}.related-card:hover{border-color:var(--green);background:#f5faf7}.related-card .genre-label{margin:0 0 7px}.related-card a{color:var(--ink);font-size:15px;font-weight:800;line-height:1.55;text-decoration:none;overflow-wrap:normal;word-break:normal;text-wrap:balance}.related-card a:after{display:block;margin-top:11px;color:var(--green);font-size:13px;content:"続きを読む →"}.article-return{display:flex;justify-content:center;margin:20px 0 4px}.article-return a{display:inline-flex;align-items:center;gap:11px;padding:10px 16px;border:1px solid var(--line);border-radius:999px;color:var(--green-dark);background:var(--paper);font-size:14px;font-weight:800;text-decoration:none}.article-return a:hover{border-color:var(--green);background:#f3faf6}
.genre-section .article-card .card-body{padding:18px 19px 20px}
.article-card.card-shopping .card-visual,.article-card.card-travel .card-visual{height:145px}
.card-visual.shopping img,.card-visual.travel img{object-fit:cover;background:none}
.article-hero.shopping img,.article-hero.travel img{object-fit:cover}
@media(max-width:600px){
  .genre-top{min-height:116px;margin-bottom:14px;padding:18px 19px}
  .genre-top:after{background:linear-gradient(90deg,var(--paper) 0%,rgba(255,255,255,.98) 48%,rgba(255,255,255,.45) 78%,rgba(255,255,255,.08) 100%)}
  /* 集約ページの見出しは左、イラストは右に分けて、文字と重ねない。 */
  .genre-top{min-height:166px}
  .genre-top:after{background:linear-gradient(90deg,var(--paper) 0%,rgba(255,255,255,.98) 59%,rgba(255,255,255,.38) 78%,rgba(255,255,255,.08) 100%)}
  .genre-top .genre-heading{align-items:flex-start;justify-content:flex-start;gap:8px;text-align:left}
  .genre-top .genre-heading>div{max-width:60%}
  .genre-top .genre-heading h3{font-size:21px;white-space:nowrap;word-break:keep-all}
  .genre-section{margin-top:32px;padding-top:22px}
  .genre-count{align-self:flex-start}
  .genre-feature{width:46%;opacity:.92}
  .article-subsection+.article-subsection{margin-top:23px}
  .article-subheading{align-items:start;flex-direction:column;gap:3px}
  .related-section{margin-top:32px;padding:19px}.related-grid{grid-template-columns:1fr}.related-card{min-height:0}
}

/* スマホのトップは、画像→コピーの順に積んで、人物と見出しがぶつからないようにする。 */
@media(max-width:600px){
  .site-hero{display:flex!important;position:relative;min-height:0!important;flex-direction:column;gap:0;padding:0!important;background:#fbfaf5}
  .site-hero:after{display:none}
  .site-hero>picture{position:relative!important;inset:auto!important;order:0;width:100%!important;height:208px!important;overflow:hidden;border-radius:18px 18px 0 0}
  .site-hero>picture>img{width:100%;height:100%;object-fit:cover;object-position:70% center}
  .site-hero .hero-copy{position:relative!important;order:1;width:100%;max-width:none;padding:22px 20px 24px;border-radius:0 0 18px 18px;background:#fffdf7;box-shadow:0 10px 28px rgba(33,66,57,.12)}
  .site-hero .hero-copy h1{white-space:normal;text-wrap:balance;word-break:keep-all;font-size:clamp(31px,9vw,44px);line-height:1.25}
  .site-hero .intro{font-size:15px;line-height:1.75}
}

/* VIVANTの時系列ナビは本文中に置き、スクロール追従させない。 */
.vivant-nav{position:relative;top:auto;z-index:0}

/* 現在の見立ては、説と見立ての2列にまとめてスマホでも横スクロールさせない。 */
.article-vivant2026-kosatsu-20260818 #current-board .table-wrap{overflow-x:visible}
.article-vivant2026-kosatsu-20260818 #current-board .table-wrap table{width:100%;min-width:0;table-layout:fixed}
.article-vivant2026-kosatsu-20260818 #current-board .table-wrap th,.article-vivant2026-kosatsu-20260818 #current-board .table-wrap td{min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word;vertical-align:top;padding:12px 14px}
.article-vivant2026-kosatsu-20260818 #current-board .table-wrap th:first-child,.article-vivant2026-kosatsu-20260818 #current-board .table-wrap td:first-child{width:44%}
.article-vivant2026-kosatsu-20260818 #current-board .table-wrap th:nth-child(2),.article-vivant2026-kosatsu-20260818 #current-board .table-wrap td:nth-child(2){width:56%;text-align:left}
.article-vivant2026-kosatsu-20260818 #current-board .current-score{display:inline-block;margin-left:5px;color:#ff8d8d;font-size:.9em;font-weight:800;white-space:nowrap}
@media(max-width:700px){.article-vivant2026-kosatsu-20260818 #current-board .table-wrap th,.article-vivant2026-kosatsu-20260818 #current-board .table-wrap td{padding:10px 8px;font-size:13px;line-height:1.55}.article-vivant2026-kosatsu-20260818 #current-board .current-score{margin-left:3px;font-size:.88em}}

/* 逃走車ナンバーの2列表は、スマホでも値を隠さず1画面で比較できる。 */
.article-vivant2026-kosatsu-20260818 #tojo-rental-car-number .table-wrap{overflow-x:visible}
.article-vivant2026-kosatsu-20260818 #tojo-rental-car-number .table-wrap table{width:100%;min-width:0;table-layout:fixed}
.article-vivant2026-kosatsu-20260818 #tojo-rental-car-number .table-wrap th,.article-vivant2026-kosatsu-20260818 #tojo-rental-car-number .table-wrap td{min-width:0;white-space:normal;overflow-wrap:anywhere;vertical-align:top}
.article-vivant2026-kosatsu-20260818 #tojo-rental-car-number .table-wrap th:first-child,.article-vivant2026-kosatsu-20260818 #tojo-rental-car-number .table-wrap td:first-child{width:46%}
.article-vivant2026-kosatsu-20260818 #tojo-rental-car-number .table-wrap th:nth-child(2),.article-vivant2026-kosatsu-20260818 #tojo-rental-car-number .table-wrap td:nth-child(2){width:54%;white-space:nowrap}
@media(max-width:700px){.article-vivant2026-kosatsu-20260818 #tojo-rental-car-number .table-wrap th,.article-vivant2026-kosatsu-20260818 #tojo-rental-car-number .table-wrap td{padding:9px 7px;font-size:12px;line-height:1.5}}

/* 伏線一覧は「時期・伏線・状態」の3列にし、状態を1つの色付き欄へまとめる。 */
.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap{overflow-x:visible}
.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap table{width:100%;min-width:0;table-layout:fixed}
.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap th,.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap td{min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word;vertical-align:top;padding:11px 12px}
.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap th:nth-child(1),.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap td:nth-child(1){width:20%}
.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap th:nth-child(2),.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap td:nth-child(2){width:35%}
.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap th:nth-child(3),.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap td:nth-child(3){width:45%}
.article-vivant2026-kosatsu-20260818 #clue-index .clue-state-cell{white-space:normal}
.article-vivant2026-kosatsu-20260818 #clue-index .clue-state-badge{display:block;margin:0 0 5px;padding:4px 7px;border-left:4px solid currentColor;border-radius:5px;line-height:1.45}
.article-vivant2026-kosatsu-20260818 #clue-index .clue-state-badge:last-child{margin-bottom:0}
.article-vivant2026-kosatsu-20260818 #clue-index .clue-state-added{color:#2878c7;background:rgba(40,120,199,.12)}
.article-vivant2026-kosatsu-20260818 #clue-index .clue-state-resolved{color:#2f8b57;background:rgba(47,139,87,.14)}
.article-vivant2026-kosatsu-20260818 #clue-index .clue-state-pending{color:#ad7100;background:rgba(173,113,0,.16)}
.article-vivant2026-kosatsu-20260818 #clue-index .clue-state-removed{color:#b54d43;background:rgba(181,77,67,.16)}
.article-vivant2026-kosatsu-20260818 #clue-index .clue-state-default{color:var(--muted);background:rgba(127,127,127,.12)}
@media(max-width:700px){.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap{overflow-x:visible}.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap table{min-width:0;table-layout:fixed}.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap th,.article-vivant2026-kosatsu-20260818 #clue-index .table-wrap td{padding:9px 7px;font-size:12px;line-height:1.5}.article-vivant2026-kosatsu-20260818 #clue-index .clue-state-badge{padding:4px 5px}}
