/* ===================== コラム・お知らせ（一覧・記事）：デザイン v2（2026-11-10）=====================
   ・トップ・AI活用支援と同じ決まり：白地、墨 #0b0b0c、グレー #55555b / #6e6e73、細い線 #e4e4e7、朱 #d9472b（小さな文字は #c23b20）
   ・角丸のカード・影・薄い色の箱は使わない。罫線で区切り、余白で見せる
   ・動きは transform と opacity だけ。「動きを減らす」設定では動かさない
   ・色・トークンは /css/v2.css（全ページ共通）のものを使う。このファイルは body.v2-art（コラム・お知らせ・404）だけに効く */

body.v2-art { background: var(--v2-bg, #fff); color: var(--v2-ink); font-family: var(--v2-latin); }
.v2-art main { background: var(--v2-bg, #fff); }
.v2-art .art-wrap { max-width: 72rem; margin: 0 auto; padding: 0 2rem; }
@media (max-width: 639px) { .v2-art .art-wrap { padding: 0 1.25rem; } }

/* ---------- パンくず ---------- */
.v2-art .art-bc { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: 12px; line-height: 1.6; color: var(--v2-g2); }
.v2-art .art-bc a { color: var(--v2-g1); transition: color .25s; }
.v2-art .art-bc a:hover { color: var(--v2-ink); }
.v2-art .art-bc .is-cur { color: var(--v2-ink); }

/* ---------- 欄の頭：黒い細線 → 左に英字の小見出し（CSSで表示。読み上げ・検索の対象外）、右に見出し ---------- */
.v2-art .art-hd { padding: 40px 0 0; }
.v2-art .art-sh { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--v2-ink); }
.v2-art .art-sh::before { content: attr(data-label) / ""; font: 500 12px/1.6 var(--v2-latin); letter-spacing: .02em; color: var(--v2-g1); }
@media (min-width: 768px) {
  .v2-art .art-hd { padding-top: 56px; }
  .v2-art .art-sh { grid-template-columns: 3fr 9fr; gap: 24px; padding-top: 22px; }
}
.v2-art .art-h1 { font-size: clamp(2rem, 4.6vw, 3.4rem); font-weight: 700; line-height: 1.2; letter-spacing: -.035em; color: var(--v2-ink); }
.v2-art .art-lead { margin-top: 18px; max-width: 40rem; font-size: 15px; line-height: 1.95; color: var(--v2-g1); }
@media (min-width: 640px) { .v2-art .art-lead { font-size: 16px; } }
.v2-art .art-sec-h { font-size: 1.5rem; font-weight: 700; line-height: 1.4; letter-spacing: -.02em; color: var(--v2-ink); }

/* ---------- カテゴリ：文字のタブ＋下線 ---------- */
.v2-art .art-tabs { display: flex; flex-wrap: wrap; gap: 0 26px; margin-top: 36px; border-bottom: 1px solid var(--v2-hair); }
.v2-art .art-tab { position: relative; display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; color: var(--v2-g1); transition: color .25s; }
.v2-art .art-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--v2-ink); transform: scaleX(0); transform-origin: 100% 50%; transition: transform .5s var(--v2-e-expo); }
.v2-art .art-tab:hover { color: var(--v2-ink); }
.v2-art .art-tab:hover::after { transform: scaleX(1); transform-origin: 0 50%; background: var(--v2-g2); }
.v2-art .art-tab.is-on { color: var(--v2-ink); font-weight: 600; }
.v2-art .art-tab.is-on::after { transform: scaleX(1); background: var(--v2-ac); }
@media (max-width: 639px) { .v2-art .art-tabs { gap: 0 18px; } .v2-art .art-tab { font-size: 13.5px; } }

/* ---------- 無料AI Web診断の案内（罫線の帯） ---------- */
.v2-art .art-diag { display: flex; flex-direction: column; gap: 18px; margin-top: 36px; padding: 22px 0; border-top: 1px solid var(--v2-ink); border-bottom: 1px solid var(--v2-hair); }
.v2-art .art-diag-t { font-size: 14px; line-height: 1.85; color: var(--v2-g1); }
.v2-art .art-diag-h { color: var(--v2-ink); font-weight: 700; font-size: 15.5px; }
@media (min-width: 768px) { .v2-art .art-diag { flex-direction: row; align-items: center; justify-content: space-between; gap: 32px; } }

/* ---------- ボタン（トップと同じ形：文字は左、丸い矢印は右） ---------- */
.v2-art .v2-btn { display: inline-flex; align-items: center; justify-content: space-between; gap: 14px; height: 52px; padding: 0 8px 0 24px; border-radius: 999px; font-size: 14.5px; font-weight: 500; letter-spacing: .01em; white-space: nowrap; flex-shrink: 0; }
.v2-art .v2-btn-p { background: var(--v2-ink); color: #fff; }
.v2-art .v2-btn .v2-arw { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--v2-ac); color: #fff; flex-shrink: 0; overflow: hidden; }
.v2-art .v2-btn-o { justify-content: center; padding: 0 24px; border: 1px solid var(--v2-ink); background: #fff; color: var(--v2-ink); }
@media (max-width: 639px) { .v2-art .art-diag .v2-btn, .v2-art .art-cta .v2-btn { width: 100%; } }

/* ---------- 記事の一覧：罫線で区切る（3列・高さをそろえる） ---------- */
.v2-art .art-list-sec { padding: 40px 0 72px; }
@media (min-width: 768px) { .v2-art .art-list-sec { padding: 56px 0 104px; } }
.v2-art .art-grid { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 32px; border-top: 1px solid var(--v2-ink); counter-reset: art; }
@media (min-width: 640px) { .v2-art .art-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .v2-art .art-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.v2-art .art-card { position: relative; display: flex; flex-direction: column; height: 100%; padding: 22px 0 24px; border-bottom: 1px solid var(--v2-hair); counter-increment: art; }
.v2-art .art-card-c { display: flex; align-items: baseline; gap: 12px; font-size: 12px; font-weight: 500; color: var(--v2-ac-t); }
.v2-art .art-card-c::before { content: counter(art, decimal-leading-zero) / ""; font: 500 12px/1 var(--v2-latin); font-variant-numeric: tabular-nums; color: var(--v2-g2); }
.v2-art .art-card-t { margin-top: 12px; font-size: 17px; font-weight: 700; line-height: 1.65; letter-spacing: -.01em; color: var(--v2-ink); transition: color .3s; }
.v2-art .art-card-d { margin-top: 10px; font-size: 14px; line-height: 1.85; color: var(--v2-g1); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.v2-art .art-card-m { margin-top: auto; padding-top: 18px; font: 400 12.5px/1.6 var(--v2-latin); color: var(--v2-g2); font-variant-numeric: tabular-nums; }
.v2-art .art-empty { padding: 48px 0; border-top: 1px solid var(--v2-ink); border-bottom: 1px solid var(--v2-hair); text-align: center; font-size: 14px; color: var(--v2-g1); }

/* ---------- お知らせの一覧：日付・種類・題名の3列 ---------- */
.v2-art .art-nwl { border-top: 1px solid var(--v2-ink); }
.v2-art .art-nwl > li { position: relative; border-bottom: 1px solid var(--v2-hair); }
.v2-art .art-nw { display: grid; grid-template-columns: auto auto; justify-content: start; gap: 6px 18px; padding: 22px 0; }
.v2-art .art-nw-d { font: 400 13px/1.7 var(--v2-latin); color: var(--v2-g1); font-variant-numeric: tabular-nums; }
.v2-art .art-nw-k { font-size: 12.5px; font-weight: 500; line-height: 1.75; color: var(--v2-ac-t); }
.v2-art .art-nw-t { grid-column: 1 / -1; font-size: 16px; font-weight: 600; line-height: 1.75; color: var(--v2-ink); transition: transform .6s var(--v2-e-expo); }
@media (min-width: 768px) {
  .v2-art .art-nw { grid-template-columns: 9.5em 8.5em minmax(0, 1fr); gap: 0 24px; align-items: baseline; padding: 26px 0; }
  .v2-art .art-nw-t { grid-column: auto; }
}

/* ---------- ページ送り ---------- */
.v2-art .art-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px; margin-top: 48px; }
.v2-art .art-pg { position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 10px; font: 500 14px/1 var(--v2-latin); color: var(--v2-g1); transition: color .25s; }
.v2-art a.art-pg:hover { color: var(--v2-ink); }
.v2-art .art-pg.is-on { color: var(--v2-ink); font-weight: 700; }
.v2-art .art-pg.is-on::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 6px; height: 2px; background: var(--v2-ac); }
.v2-art .art-pg.is-off { color: #a1a1a6; }
.v2-art .art-pg-gap { padding: 0 4px; font-size: 14px; color: var(--v2-g2); }

/* ---------- 相談の案内（黒い帯） ---------- */
.v2-art .art-cta-sec { padding: 0 0 96px; }
.v2-art .art-cta { padding: 40px 24px; background: var(--v2-ink); color: #fff; }
@media (min-width: 768px) { .v2-art .art-cta { padding: 56px 56px; } }
.v2-art .art-cta-k { font: 500 12px/1.6 var(--v2-latin); letter-spacing: .04em; color: #f08a6e; }
.v2-art .art-cta-t { margin-top: 12px; font-size: clamp(1.3rem, 2.4vw, 1.75rem); font-weight: 700; line-height: 1.5; letter-spacing: -.02em; }
.v2-art .art-cta-d { margin-top: 12px; max-width: 40rem; font-size: 14.5px; line-height: 1.9; color: #c4c4c9; }
.v2-art .art-cta-b { display: flex; flex-direction: column; gap: 12px; margin-top: 28px; }
@media (min-width: 640px) { .v2-art .art-cta-b { flex-direction: row; } }
.v2-art .art-btn-w { background: #fff; color: var(--v2-ink); }
.v2-art .art-btn-l { border: 1px solid rgba(255, 255, 255, .4); color: #fff; }
.v2-art .art-btn-l .v2-arw { background: transparent; border: 1px solid rgba(255, 255, 255, .4); }
.v2-art .art-cta-in { margin-top: 56px; }

/* ---------- 記事ページ ---------- */
.v2-art .art-art { padding: 40px 1.25rem 72px; }
@media (min-width: 640px) { .v2-art .art-art { padding: 56px 2rem 96px; } }
.v2-art .art-col { max-width: 45rem; margin: 0 auto; }
.v2-art .art-kind { margin-top: 32px; padding-top: 18px; border-top: 1px solid var(--v2-ink); font-size: 12.5px; font-weight: 500; color: var(--v2-ac-t); }
.v2-art .art-kind-n time { font: 400 12.5px/1 var(--v2-latin); color: var(--v2-g1); font-variant-numeric: tabular-nums; }
.v2-art .art-sep { margin: 0 8px; color: var(--v2-g2); }
.v2-art .art-title { margin-top: 12px; font-size: clamp(1.7rem, 3.4vw, 2.4rem); font-weight: 700; line-height: 1.45; letter-spacing: -.03em; color: var(--v2-ink); }
.v2-art .art-meta { display: flex; flex-wrap: wrap; gap: 4px 20px; margin-top: 20px; font-size: 12.5px; color: var(--v2-g1); }
.v2-art .art-meta time { font-family: var(--v2-latin); font-variant-numeric: tabular-nums; }
.v2-art .art-by { display: flex; align-items: center; gap: 12px; margin-top: 20px; padding: 14px 0; border-top: 1px solid var(--v2-hair); border-bottom: 1px solid var(--v2-hair); }
.v2-art .art-by img { width: 28px; height: 28px; object-fit: contain; }
.v2-art .art-by p { font-size: 13px; line-height: 1.6; color: var(--v2-ink); }
.v2-art .art-by-k { display: block; font-size: 12px; color: var(--v2-g2); }

/* 要点・目次・出典：黒い細線＋朱の小見出し */
.v2-art .art-blk-k { font-size: 12.5px; font-weight: 600; letter-spacing: .02em; color: var(--v2-ac-t); }
.v2-art .art-blk-h { font-size: 15px; font-weight: 700; color: var(--v2-ink); }
.v2-art .art-sum { margin-top: 36px; padding-top: 18px; border-top: 1px solid var(--v2-ink); }
.v2-art .art-sum-t { margin-top: 10px; font-size: 16.5px; font-weight: 500; line-height: 1.95; color: var(--v2-ink); }
.v2-art .art-toc { margin-top: 36px; padding-top: 18px; border-top: 1px solid var(--v2-ink); }
.v2-art .art-toc ol { margin-top: 8px; counter-reset: toc; }
.v2-art .art-toc li { display: grid; grid-template-columns: 2.2em minmax(0, 1fr); align-items: baseline; padding: 11px 0; border-bottom: 1px solid var(--v2-hair); font-size: 14.5px; line-height: 1.7; }
.v2-art .art-toc-n { font: 500 12.5px/1 var(--v2-latin); color: var(--v2-g2); font-variant-numeric: tabular-nums; }
.v2-art .art-toc a { color: var(--v2-ink); text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 4px; transition: text-decoration-color .3s, color .3s; }
.v2-art .art-toc a:hover { text-decoration-color: var(--v2-ac); }
.v2-art .art-cite { margin-top: 56px; padding-top: 18px; border-top: 1px solid var(--v2-ink); }
.v2-art .art-cite ul { margin-top: 10px; }
.v2-art .art-cite li { display: flex; gap: 6px; padding: 8px 0; border-bottom: 1px solid var(--v2-hair); font-size: 14px; line-height: 1.75; color: var(--v2-g1); }
.v2-art .art-cite a { word-break: break-all; color: var(--v2-ac-t); text-decoration: underline; text-underline-offset: 4px; }
.v2-art .art-cite a:hover { color: var(--v2-ink); }

/* 本文：長く読んでも疲れない組み方（16〜17px・行間1.95・1行の長さは45rem まで） */
.v2-art .prose-jp { color: var(--v2-ink-2, #26262a); font-size: 16px; line-height: 1.95; }
@media (min-width: 768px) { .v2-art .prose-jp { font-size: 17px; } }
.v2-art .art-prose { margin-top: 48px; }
.v2-art .prose-jp h2 { margin-top: 2.8em; padding-top: 18px; border-top: 1px solid var(--v2-ink); font-size: 1.45rem; line-height: 1.5; letter-spacing: -.02em; color: var(--v2-ink); }
.v2-art .prose-jp h2::before { display: none; }
.v2-art .prose-jp h3 { font-size: 1.15rem; color: var(--v2-ink); }
.v2-art .prose-jp strong { color: var(--v2-ink); background: linear-gradient(transparent 68%, rgba(217, 71, 43, .16) 68%); }
.v2-art .prose-jp a { color: var(--v2-ac-t); text-underline-offset: 4px; }
.v2-art .prose-jp a:hover { color: var(--v2-ink); }
.v2-art .prose-jp li::marker { color: var(--v2-ac); }
.v2-art .prose-jp blockquote { border-left: 2px solid var(--v2-ac); background: none; border-radius: 0; padding: .2em 0 .2em 1.2em; color: var(--v2-g1); }
.v2-art .prose-jp .md-fig img { border: 1px solid var(--v2-hair); border-radius: 0; }
.v2-art .prose-jp hr { border-top-color: var(--v2-hair); }
.v2-art .prose-jp code { background: var(--v2-soft); border-radius: 0; }
.v2-art .prose-jp .table-wrap { border: 0; border-top: 1px solid var(--v2-ink); border-bottom: 1px solid var(--v2-hair); border-radius: 0; }
.v2-art .prose-jp table { font-size: 14.5px; }
.v2-art .prose-jp th { background: var(--v2-soft); color: var(--v2-ink); }
.v2-art .prose-jp th, .v2-art .prose-jp td { border-bottom-color: var(--v2-hair); }
@media (max-width: 639px) {
  .v2-art .prose-jp .table-wrap tr { border-bottom-color: var(--v2-hair); padding-left: 0; padding-right: 0; }
  .v2-art .prose-jp .table-wrap td:first-child { color: var(--v2-ink); }
}

/* よくある質問（記事の下） */
.v2-art .art-faq { margin-top: 64px; }
.v2-art .art-faq-l { margin-top: 18px; border-top: 1px solid var(--v2-ink); }
.v2-art .art-faq details { border-bottom: 1px solid var(--v2-hair); }
.v2-art .art-faq summary { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 20px 0; cursor: pointer; list-style: none; font-size: 15.5px; font-weight: 600; line-height: 1.75; color: var(--v2-ink); }
.v2-art .art-faq summary::-webkit-details-marker { display: none; }
.v2-art .art-faq .chev { flex-shrink: 0; margin-top: 2px; color: var(--v2-g2); transition: transform .4s var(--v2-e-expo), color .3s; }
.v2-art .art-faq details[open] .chev { transform: rotate(45deg); color: var(--v2-ac); }
.v2-art .art-faq details p { padding: 0 0 22px; white-space: pre-line; font-size: 15px; line-height: 1.95; color: var(--v2-g1); }

/* 監修・執筆 */
.v2-art .art-auth { margin-top: 64px; padding: 22px 0 24px; border-top: 1px solid var(--v2-ink); border-bottom: 1px solid var(--v2-hair); }
.v2-art .art-auth-h { display: flex; align-items: center; gap: 14px; }
.v2-art .art-auth-h img { width: 40px; height: 40px; object-fit: contain; }
.v2-art .art-auth-n { font-size: 15px; font-weight: 700; color: var(--v2-ink); }
.v2-art .art-auth-d { margin-top: 14px; font-size: 14px; line-height: 1.95; color: var(--v2-g1); }
.v2-art .art-more { display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 500; color: var(--v2-ink); text-decoration: underline; text-decoration-color: var(--v2-ac); text-underline-offset: 6px; }
.v2-art .art-more.mo-link { text-decoration: none; border-bottom: 1px solid var(--v2-ac); padding-bottom: 2px; }
.v2-art .art-more.mo-link::after { bottom: -1px; background: var(--v2-ink); }

/* お知らせの記事：リード文・一覧へ */
.v2-art .art-nlead { margin-top: 24px; padding: 18px 0; border-top: 1px solid var(--v2-hair); border-bottom: 1px solid var(--v2-hair); font-size: 15px; line-height: 1.95; color: var(--v2-g1); }
.v2-art .art-back { margin-top: 64px; padding-top: 18px; border-top: 1px solid var(--v2-ink); }

/* あわせて読みたい */
.v2-art .art-rel { padding: 24px 0 96px; }
.v2-art .art-rel .art-sh { margin-top: 0; margin-bottom: 28px; }
.v2-art .art-rel .art-grid { border-top-color: var(--v2-hair); }

/* 404 */
.v2-art .art-404 { padding: 56px 0 120px; }
.v2-art .art-404-b { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
@media (min-width: 768px) { .v2-art .art-404-b { margin-left: 25%; padding-left: 6px; } }

/* ---------- 動き（マウスを乗せたとき・スクロールしたとき）---------- */
@media (prefers-reduced-motion: no-preference) {
  /* 罫線で区切った項目：乗せると上の線が朱で左から引かれ、題名がわずかに右へ */
  .v2-art :is(.art-card, .art-nwl > li)::before { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 1px; background: var(--v2-ac); pointer-events: none;
    transform: scaleX(0); transform-origin: 100% 50%; transition: transform .7s var(--v2-e-expo); }
  .v2-art :is(.art-card, .art-nwl > li):hover::before { transform: scaleX(1); transform-origin: 0 50%; }
  .v2-art .art-card-t { transition: transform .6s var(--v2-e-expo), color .3s; }
  .v2-art .art-card:hover .art-card-t, .v2-art .art-nwl > li:hover .art-nw-t { transform: translateX(6px); }
  /* ボタン：矢印が右へ抜けて左から戻る／白いボタンは墨が下から満ちる */
  .v2-art .v2-btn .v2-arw { transition: transform .6s var(--v2-e-expo); }
  .v2-art .v2-btn:hover .v2-arw { transform: scale(1.08); }
  .v2-art .v2-btn:hover .v2-arw svg { animation: v2-pass .7s var(--v2-e-expo); }
  .v2-art .art-btn-w, .v2-art .art-btn-l { position: relative; overflow: hidden; isolation: isolate; transition: color .45s var(--v2-e-expo), border-color .45s; }
  .v2-art .art-btn-w::before, .v2-art .art-btn-l::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; transform: translateY(101%); transition: transform .6s var(--v2-e-expo); }
  .v2-art .art-btn-w::before { background: #f4f4f5; }
  .v2-art .art-btn-l::before { background: #fff; }
  .v2-art .art-btn-l:hover { color: var(--v2-ink); }
  .v2-art .art-btn-l:hover .v2-arw { border-color: var(--v2-ink); background: var(--v2-ac); }
  .v2-art :is(.art-btn-w, .art-btn-l):hover::before { transform: translateY(0); }
}
@media (hover: none) {
  .v2-art :is(.art-card, .art-nwl > li)::before { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .v2-art .art-btn-l:hover { background: rgba(255, 255, 255, .08); }
}

/* ---------- 一覧：マウスを乗せた記事だけを際立たせる（CEO 2026-11-10）----------
   ・乗せた記事：背景に、ごく薄い温かみのある色（比較表のLUMIRAIの列と同じ #faf7f5）を敷く
   ・ほかの記事：題名を灰（#6e6e73：白地で4.5:1以上）に、説明文を薄めの灰に下げ、乗せた記事の墨を目立たせる
   ・キーボード操作（フォーカス）でも同じ。マウスのない端末（スマホ）では出さない
   ・位置や大きさは変えない（背景は疑似要素、色の変化だけ）ので、画面はずれない */
@media (hover: hover) and (pointer: fine) {
  .v2-art .art-card, .v2-art .art-nwl > li { isolation: isolate; }
  .v2-art .art-card::after, .v2-art .art-nwl > li::after { content: ""; position: absolute; z-index: -1; inset: 0 -16px; background: #faf7f5; opacity: 0; pointer-events: none; transition: opacity .45s var(--v2-e-expo); }
  .v2-art .art-card:is(:hover, :focus-visible)::after, .v2-art .art-nwl > li:is(:hover, :focus-within)::after { opacity: 1; }
  .v2-art .art-card-t, .v2-art .art-card-d, .v2-art .art-nw-t { transition: color .35s ease, transform .6s var(--v2-e-expo); }
  .v2-art .art-grid:has(.art-card:is(:hover, :focus-visible)) .art-card:not(:hover, :focus-visible) .art-card-t,
  .v2-art .art-nwl:has(> li:is(:hover, :focus-within)) > li:not(:hover, :focus-within) .art-nw-t { color: var(--v2-g2); }
  .v2-art .art-grid:has(.art-card:is(:hover, :focus-visible)) .art-card:not(:hover, :focus-visible) .art-card-d { color: #8e8e93; }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: reduce) {
  .v2-art .art-card::after, .v2-art .art-nwl > li::after, .v2-art .art-card-t, .v2-art .art-card-d, .v2-art .art-nw-t { transition: none; }
}

/* ---------- 文章の改行ルール（サイト共通・2026-11-10。lumirai-management/rules.md と同じ） ----------
   コラム・お知らせはサーバーで組み立てるので <wbr> は入れず、ブラウザの文節判定（word-break: auto-phrase。中身は BudouX と同じ方式）を使う。
   見出し・記事名：対応していないブラウザでも文節の途中で折らないよう keep-all を先に書き、行の長さをそろえる（balance）
   本文：対応していないブラウザは普通の折り返しのまま。最後の行に短い語だけ残さない（pretty） */
.v2-art :is(.art-h1, .art-title, .art-blk-h, .art-card-t, .art-nw-t, .art-sec-h, .art-cta-t, .art-diag-t, .art-prose h2, .art-prose h3) { word-break: keep-all; word-break: auto-phrase; overflow-wrap: anywhere; line-break: strict; text-wrap: balance; }
.v2-art :is(.art-lead, .art-nlead, .art-sum-t, .art-card-d, .art-prose p, .art-prose li, .art-faq dd) { word-break: auto-phrase; line-break: strict; text-wrap: pretty; }

/* スマホでは段落の text-wrap: pretty を外す（iPhone で早めの改行が続くため。v2.css と同じ決まり） */
@media (max-width: 639px) { .v2-art :is(.art-lead, .art-nlead, .art-sum-t, .art-card-d, .art-prose p, .art-prose li, .art-faq dd) { text-wrap: wrap; } }
