/* =========================================================
   DDDBWP 記事スタイル v2.0.0 — Framer風ライトデザイン
   デザイントークン（単一アクセント #0066ff・白カード・角丸16px・
   ソフトシャドウ）。セレクタは v1 と互換（既存記事HTMLを変更せず適用）。
========================================================= */
.dddbwp-article {
    /* デザイントークン */
    /* >>> GENERATED: legacy design tokens (core/config/design_tokens.py) — DO NOT EDIT <<< */
    --dddbwp-bg: #fafafa;
    --dddbwp-surface: #ffffff;
    --dddbwp-surface-alt: #f5f5f5;
    --dddbwp-border: #ebebeb;
    --dddbwp-border-soft: #f0f0f0;
    --dddbwp-text: #171717;
    --dddbwp-text-muted: #737373;
    --dddbwp-accent: #0066ff;
    --dddbwp-accent-strong: #0052cc;
    --dddbwp-accent-soft: #eaf1ff;
    --dddbwp-accent-softer: #f4f8ff;
    --dddbwp-radius-lg: 16px;
    --dddbwp-radius-md: 12px;
    --dddbwp-radius-sm: 8px;
    --dddbwp-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04), 0 2px 8px rgba(0, 0, 0, 0.04);
    --dddbwp-shadow-md: 0 4px 16px rgba(0, 0, 0, 0.06);
/* <<< END GENERATED >>> */

    /* HIG寄り: OSの可読性が高い標準フォントを優先 */
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display",
        "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans",
        "Noto Sans JP", Meiryo, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    color: var(--dddbwp-text);
}
.dddbwp-article a:focus-visible,
.dddbwp-article button:focus-visible {
    outline: 2px solid rgba(0, 102, 255, 0.55);
    outline-offset: 3px;
    border-radius: var(--dddbwp-radius-sm);
}
.dddbwp-visuallyHidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.dddbwp-tableWrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: var(--dddbwp-radius-lg);
    box-shadow: var(--dddbwp-shadow-sm);
    background: var(--dddbwp-surface);
    border: 1px solid var(--dddbwp-border);
}
.dddbwp-tableWrap:focus {
    outline: 2px solid rgba(0, 102, 255, 0.45);
    outline-offset: 3px;
}
/* パンくずリスト */
.dddbwp-breadcrumb {
    margin: 0 0 14px;
    padding: 6px 0;
    font-size: 13px;
    line-height: 1.5;
}
.dddbwp-breadcrumb-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 4px;
}
.dddbwp-breadcrumb-item { display: inline-flex; align-items: center; }
.dddbwp-breadcrumb-sep { color: #a3a3a3; font-size: 14px; list-style: none; }
.dddbwp-breadcrumb-link {
    color: var(--dddbwp-accent);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.15s ease;
}
.dddbwp-breadcrumb-link:hover { text-decoration: underline; color: var(--dddbwp-accent-strong); }
.dddbwp-breadcrumb-current { color: var(--dddbwp-text-muted); font-weight: 400; }
.dddbwp-disclaimer{
    margin: 32px 0 0;
    padding: 24px;
    border: 1px solid var(--dddbwp-border);
    background: var(--dddbwp-surface-alt);
    border-radius: var(--dddbwp-radius-lg);
    border-top: 1px solid var(--dddbwp-border);
}
/* 配当グラフエリア */
.dddbwp-chart-container {
    min-height: 0;
}
@media (min-width: 769px) {
    .dddbwp-chart-container {
        min-height: 480px;
    }
}
.dddbwp-disclaimer-title{
    font-weight: 700;
    font-size: 15px;
    margin: 0 0 14px;
    color: var(--dddbwp-text);
    letter-spacing: 0.2px;
}
.dddbwp-disclaimer p{
    margin: 0 0 12px;
    line-height: 1.8;
    font-size: 14px;
    color: var(--dddbwp-text-muted);
}
.dddbwp-disclaimer p:last-child{ margin: 0; }


.DpsHistory__legend__dddbwp{
    margin: 0 0 8px;
    font-size: 13px;
    line-height: 1.4;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 16px 24px;
    color: var(--dddbwp-text-muted);
}
.DpsHistory__legendItem__dddbwp{
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}
.DpsHistory__legendSwatch__dddbwp{
    display: inline-block;
    width: 18px;
    height: 18px;
    border-radius: 5px;
}
/* 凡例スワッチ: 旧記事のインライン色（#2C3E50/#95A5A6）を新トークン色へ上書き */
.DpsHistory__legendSwatch__dddbwp[style*="#2C3E50"],
.DpsHistory__legendSwatch__dddbwp[style*="#2c3e50"] { background: #0066ff !important; }
.DpsHistory__legendSwatch__dddbwp[style*="#95A5A6"],
.DpsHistory__legendSwatch__dddbwp[style*="#95a5a6"] { background: #b3ceff !important; }
/* 新記事用 modifier（chart.py がクラス指定で出力） */
.DpsHistory__legendSwatch__dddbwp--actual { background: #0066ff; }
.DpsHistory__legendSwatch__dddbwp--forecast { background: #b3ceff; }
.DpsHistory__note__dddbwp{
    margin: 10px 0 18px;
    color: var(--dddbwp-text-muted);
    font-size: 15px;
}

/* =========================================================
   配当グラフ（SVG）ブリッジ
   既存記事に埋め込まれたSVG内 <style>（.dddbwp-bar-actual 等、
   特異度 0,1,0）より高い特異度（0,2,0）で新配色を適用する。
   新規生成分（renderer_svg.py）も同じ配色のため見た目は一致する。
========================================================= */
.dddbwp-dividend-chart .dddbwp-bar-actual { fill: #0066ff; rx: 6px; }
.dddbwp-dividend-chart .dddbwp-bar-forecast { fill: #b3ceff; rx: 6px; }
.dddbwp-dividend-chart .dddbwp-grid,
.dddbwp-dividend-chart .dddbwp-axis { stroke: #ececec; }
.dddbwp-dividend-chart .dddbwp-label { fill: #737373; }
.dddbwp-dividend-chart .dddbwp-title { fill: #171717; }
.dddbwp-dividend-chart .dddbwp-vline { stroke: #c9c9c9; }
.dddbwp-dividend-chart .dddbwp-tooltip rect[fill="#ffffff"] {
    stroke: #ebebeb;
    rx: 12px;
}
.dddbwp-dividend-chart .dddbwp-tooltip rect[fill="#2C3E50"] { fill: #0066ff; }
.dddbwp-dividend-chart .dddbwp-tooltip rect[fill="#95A5A6"] { fill: #b3ceff; }

/* アクセシビリティ: アニメーションを減らす設定に対応 */
@media (prefers-reduced-motion: reduce) {
    .DpsHistoryTable__table__1ooh tbody tr,
    .DprHistoryTable__table__1H43 tbody tr,
    .DpsHistoryTable__table__1ooh tbody tr:hover,
    .DprHistoryTable__table__1H43 tbody tr:hover {
        transition: none !important;
        transform: none !important;
    }
}

.StocksContents__2Wu8 {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 20px;
    box-sizing: border-box;
    min-width: 0; /* flex/grid 親内で intrinsic width によるはみ出しを防ぐ */
}
/* はみ出し防止の保険（レスポンシブ） */
.dddbwp-article img,
.dddbwp-article svg {
    max-width: 100%;
}

.DpsHistory__1K3I {
    margin: 30px 0;
}

.DpsHistory__chart__3woz {
    margin: 20px 0;
    text-align: center;
}
/* 期間ボタン（過去10年等）は非表示。常に10年表示のため不要 */
.DpsHistory__chart__3woz button,
.dddbwp-chart-container ~ button,
#dddbwp-graph button {
    display: none !important;
}

/* =========================================================
   無配（または配当情報が取得できない）銘柄向けの表示
========================================================= */
.DpsHistory__noDividend__dddbwp {
    margin: 16px 0 8px;
    border: 1px solid var(--dddbwp-border);
    background: var(--dddbwp-surface);
    border-radius: var(--dddbwp-radius-lg);
    box-shadow: var(--dddbwp-shadow-sm);
    padding: 18px 20px;
}
.DpsHistory__noDividendTitle__dddbwp {
    font-size: 16px;
    font-weight: 700;
    color: var(--dddbwp-text);
    margin: 0 0 6px;
}
.DpsHistory__noDividendText__dddbwp {
    font-size: 14px;
    color: var(--dddbwp-text-muted);
    margin: 0;
    line-height: 1.6;
}
@media (max-width: 768px) {
    .DpsHistory__noDividendTitle__dddbwp { font-size: 18px; }
    .DpsHistory__noDividendText__dddbwp { font-size: 16px; }
}
@media (max-width: 480px) {
    .DpsHistory__noDividendTitle__dddbwp { font-size: 20px; }
    .DpsHistory__noDividendText__dddbwp { font-size: 18px; }
}

.dddbwp-rightsWrap {
    margin: 16px 0 10px;
    background: var(--dddbwp-surface);
    border-radius: var(--dddbwp-radius-lg);
    padding: 0;
    border: 1px solid var(--dddbwp-border);
    box-shadow: var(--dddbwp-shadow-sm);
    overflow: hidden;
}
.dddbwp-rightsTitle {
    background: var(--dddbwp-surface-alt);
    text-align: center;
    padding: 12px 0 10px;
    border-bottom: 1px solid var(--dddbwp-border);
}
.dddbwp-rightsPeriod {
    font-size: 13px;
    font-weight: 400;
    color: var(--dddbwp-text-muted);
    line-height: 1.4;
}
.dddbwp-rightsDivType {
    font-size: 18px;
    font-weight: 700;
    color: var(--dddbwp-text);
    line-height: 1.4;
}
.dddbwp-rightsRow {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px;
    padding: 18px 16px 10px;
    justify-items: center;
    align-items: end; /* 3カードの下端を揃える（モバイルでの飛び出し対策） */
}
.dddbwp-rightsCol {
    width: 100%;
    max-width: 220px;
    text-align: center;
}
.dddbwp-rightsBubble {
    display: inline-block;
    font-weight: 700;
    font-size: 14px;
    padding: 10px 14px;
    border-radius: var(--dddbwp-radius-sm);
    position: relative;
    line-height: 1;
    margin-bottom: 10px;
}
.dddbwp-rightsBubble.dddbwp-rightsBubble--placeholder {
    /* 「権利確定日」列の上下ズレ防止（高さだけ確保して非表示） */
    visibility: hidden;
}
.dddbwp-rightsBubble:after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -8px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
}
/* 意味色（buy/sell/record）は単一アクセント原則の例外。彩度を落としたパステルで維持 */
.dddbwp-rightsBubble.buy {
    background: #ffe4e9;
    color: #e5484d;
}
.dddbwp-rightsBubble.buy:after {
    border-top: 8px solid #ffe4e9;
}
.dddbwp-rightsBubble.sell {
    background: #e0f5f2;
    color: #12a594;
}
.dddbwp-rightsBubble.sell:after {
    border-top: 8px solid #e0f5f2;
}
.dddbwp-rightsCard {
    position: relative;
    border-radius: var(--dddbwp-radius-md);
    height: 92px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}
.dddbwp-rightsCard.buy { background: #f0647f; }
.dddbwp-rightsCard.sell { background: #14a89c; }
.dddbwp-rightsCard.record { background: #8a8d93; }
.dddbwp-rightsDow {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 16px;
    border: 2px solid;
    box-shadow: var(--dddbwp-shadow-sm);
}
.dddbwp-rightsDow.buy { color: #e5484d; border-color: #f0647f; }
.dddbwp-rightsDow.sell { color: #12a594; border-color: #14a89c; }
.dddbwp-rightsDow.record { color: #555; border-color: #8a8d93; }
.dddbwp-rightsDate {
    font-weight: 900;
    display: flex;
    align-items: baseline;
    gap: 2px;
    line-height: 1;
    white-space: nowrap; /* 月が2桁でも折り返さない */
    font-variant-numeric: tabular-nums;
}
.dddbwp-rightsDate .mm {
    font-size: 22px;
    opacity: .95;
}
.dddbwp-rightsDate .dd {
    font-size: 42px;
}
.dddbwp-rightsLabel {
    margin: 10px 0 0;
    font-weight: 800;
    font-size: 18px;
    letter-spacing: .2px;
}
.dddbwp-nowrap {
    white-space: nowrap;
}
.dddbwp-rightsLabel.buy { color: #e5484d; }
.dddbwp-rightsLabel.sell { color: #12a594; }
.dddbwp-rightsLabel.record { color: #555; }
.dddbwp-rightsNotes {
    padding: 8px 16px 16px;
    color: var(--dddbwp-text-muted);
    font-size: 15px;
    line-height: 1.85;
}
.dddbwp-rightsNote {
    margin: 8px 0;
}
.dddbwp-rightsUndetermined {
    padding: 16px;
    color: var(--dddbwp-text-muted);
    font-size: 14px;
    text-align: center;
}

@media (max-width: 768px) {
    /* Task 4.5 Part B: 768px以下でも3列を維持する（旧: grid-template-columns:1fr で縦積み）。
       legacy/terminal 共通のこの規則を変更するのは Phase 4「追加のみ」原則の唯一の承認済み例外
       （オーナー承認済み・既存公開約3,900記事の見た目に影響する）。3列を維持するため、
       旧480px時点の縮小規則をこの768pxブレークポイントへ前倒しし、480px/360pxはさらに一段深く縮小する。 */
    .dddbwp-rightsRow {
        gap: 10px;
        padding: 14px 10px 8px;
        /* grid-template-columns は上書きしない = 常に 1fr 1fr 1fr のまま */
    }
    .dddbwp-rightsCol {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .dddbwp-rightsLabel {
        /* 端末幅が狭い時だけ、ラベルを2行まで許容しつつ高さを揃える */
        line-height: 1.15;
        min-height: 2.3em;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        font-size: 14px;
        letter-spacing: 0;
    }
    .dddbwp-rightsBubble { font-size: 14px; }
    .dddbwp-rightsCard { height: 84px; padding: 0 6px; }
    .dddbwp-rightsDow { width: 28px; height: 28px; top: -12px; font-size: 14px; }
    .dddbwp-rightsDate .mm { font-size: 18px; }
    .dddbwp-rightsDate .dd { font-size: 34px; }
}
@media (max-width: 480px) {
    .dddbwp-rightsRow {
        gap: 8px;
        padding: 12px 8px 8px;
    }
    .dddbwp-rightsBubble { font-size: 13px; padding: 9px 10px; }
    /* 画面が狭い場合は日付・バッジをさらに縮小して枠内に収める（3列維持のため） */
    .dddbwp-rightsCard { height: 72px; padding: 0 4px; }
    .dddbwp-rightsDow { width: 22px; height: 22px; top: -10px; font-size: 11px; }
    .dddbwp-rightsDate .mm { font-size: 15px; }
    .dddbwp-rightsDate .dd { font-size: 28px; }
    .dddbwp-rightsLabel { font-size: 12px; min-height: 2.4em; }
}
@media (max-width: 360px) {
    /* 3列固定の下限（このスタイルシート内で既存の最狭対応幅）向けの最終調整 */
    .dddbwp-rightsRow { gap: 6px; padding: 10px 6px 6px; }
    .dddbwp-rightsBubble { font-size: 11px; padding: 6px 7px; }
    .dddbwp-rightsCard { height: 62px; padding: 0 3px; }
    .dddbwp-rightsDow { width: 18px; height: 18px; top: -8px; font-size: 10px; }
    .dddbwp-rightsDate .mm { font-size: 12px; }
    .dddbwp-rightsDate .dd { font-size: 23px; }
    .dddbwp-rightsLabel { font-size: 11px; min-height: 2.2em; }
}

.DpsHistoryTable__table__1ooh {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 24px 0;
    background: var(--dddbwp-surface);
    border-radius: var(--dddbwp-radius-lg);
    overflow: hidden;
    box-shadow: var(--dddbwp-shadow-sm);
}
/* tableWrap 内では二重の角丸・影・余白を持たない（スクロールはラッパーに一本化） */
.dddbwp-tableWrap .DpsHistoryTable__table__1ooh {
    margin: 0;
    box-shadow: none;
    border-radius: 0;
}

/* テーブル配色（WPテーマに負けないようスコープを明確化） */
.DpsHistoryTable__table__1ooh thead .DpsHistoryTable__head__18SZ {
    background-color: #f5f5f5 !important; /* ヘッダー: 淡グレー地（Framer風） */
    color: #171717 !important;
    padding: 14px 16px;
    text-align: center;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.3px;
    border-bottom: 1px solid #ebebeb;
    border-right: none;
}

.DpsHistoryTable__table__1ooh thead .DpsHistoryTable__head__18SZ:last-child {
    border-right: none;
}

/* ヘッダー以外（データ行）: 近い色味 */
.DpsHistoryTable__table__1ooh tbody .DpsHistoryTable__head__18SZ {
    background-color: #fafafa !important; /* 日付列(th)の淡色 */
    color: #171717 !important;
    padding: 14px 16px;
    text-align: center;
    font-weight: 600;
    font-size: 14px;
    border-bottom: 1px solid #f0f0f0;
    border-right: 1px solid #f0f0f0;
}

.DpsHistoryTable__head--date__21rS {
    text-align: left;
}

.DpsHistoryTable__head--annualDividend__20uG {
    text-align: right;
}

/* テーブル: 記事本文と同じ system スタックで統一 */
.DpsHistoryTable__table__1ooh,
.DpsHistoryTable__head__18SZ,
.DpsHistoryTable__data__nHEx {
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI",
        "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic UI", Meiryo, sans-serif;
}
.DpsHistoryTable__data__nHEx {
    padding: 14px 16px;
    border-bottom: 1px solid #f0f0f0;
    background-color: #ffffff !important; /* データセルの淡色 */
    color: #171717 !important;
    font-size: 14px;
    border-right: none;
    font-variant-numeric: tabular-nums;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.DpsHistoryTable__data__nHEx:last-child {
    border-right: none;
}

/* 年間配当（調整後）列を強調（太字＋アクセント淡色背景） */
.DpsHistoryTable__data__nHEx.DpsHistoryTable__data--adjusted__dddbwp {
    font-weight: 700;
    background-color: #eaf1ff !important;
    color: #171717 !important;
}

/* ストライプ行（zebra striping） */
.DpsHistoryTable__table__1ooh tbody tr:nth-child(even) {
    background-color: #fafafa;
}

.DpsHistoryTable__table__1ooh tbody tr:nth-child(even) .DpsHistoryTable__data__nHEx {
    background-color: #fafafa !important;
}

.DpsHistoryTable__table__1ooh tbody tr:nth-child(even) .DpsHistoryTable__head__18SZ {
    background-color: #f5f5f5 !important;
}

.DpsHistoryTable__table__1ooh tbody tr:nth-child(even) .DpsHistoryTable__data--adjusted__dddbwp {
    background-color: #e3edff !important;
}

.DpsHistoryTable__dateCol01__2x-P {
    text-align: left;
    font-weight: 600;
}

.DpsHistoryTable__dateCol02__1VbW {
    text-align: left;
    color: #737373;
    font-size: 13px;
}

.DpsHistoryTable__data__nHEx:last-child {
    border-bottom: none;
}

/* テーブル行のホバーアクション（背景色のみのフラットなハイライト） */
.DpsHistoryTable__table__1ooh tbody tr {
    transition: background-color 0.2s ease;
    position: relative;
}

.DpsHistoryTable__table__1ooh tbody tr:hover {
    background-color: #f4f8ff !important;
}

.DpsHistoryTable__table__1ooh tbody tr:hover .DpsHistoryTable__data__nHEx {
    background-color: #f4f8ff !important;
    transition: background-color 0.2s ease;
}

.DpsHistoryTable__table__1ooh tbody tr:hover .DpsHistoryTable__head__18SZ {
    background-color: #eaf1ff !important;
    transition: background-color 0.2s ease;
}

/* 年間配当（調整後）列のホバー時の強調 */
.DpsHistoryTable__table__1ooh tbody tr:hover .DpsHistoryTable__data--adjusted__dddbwp {
    background-color: #dce9ff !important;
}


.Heading__2IiV {
    /* サイト全体の見出しに馴染むよう、装飾を控えめに（スコープ内のみ） */
    font-size: 20px;
    font-weight: 700;
    margin: 24px 0 12px 0;
    line-height: 1.4;
    color: inherit;
    border: none;
    padding: 0;
}

/* インタラクション効果 */
.DpsHistoryTable__table__1ooh tr {
    transition: background-color 0.2s ease;
}

.DpsHistoryTable__data__nHEx {
    transition: background-color 0.2s ease;
}

/* レスポンシブ対応 */
@media (max-width: 1024px) {
    .StocksContents__2Wu8 {
        padding: 15px;
    }

    .DpsHistoryTable__table__1ooh {
        font-size: 13px;
    }
}

@media (max-width: 768px) {
    .dddbwp-article,
    .StocksContents__2Wu8 {
        width: 100%;
        max-width: 100%;
        padding: 10px;
    }
    .dddbwp-chart-container {
        /* SVG は viewBox 900:432 のアスペクト比で自動伸縮するため
           固定 min-height は指定しない（下部の空白防止） */
        min-height: 0;
        max-width: 100% !important; /* chart.py インライン max-width:900px を上書き */
    }
    .dddbwp-chart-container svg {
        width: 100%;
        max-width: 100%;
        height: auto;
    }
    .StocksContents__2Wu8 {
        padding: 10px;
    }

    /* 横スクロールは .dddbwp-tableWrap（角丸カード）に一本化。
       table 自体は通常レイアウトのまま（display:block にしない） */
    .DpsHistoryTable__table__1ooh {
        font-size: 16px;
        min-width: 560px; /* 列が潰れない幅を確保し、ラッパー内でスクロール */
    }

    .DpsHistoryTable__head__18SZ,
    .DpsHistoryTable__data__nHEx {
        padding: 12px;
        min-width: 96px;
    }

    .Heading__2IiV { font-size: 20px; }
}

@media (max-width: 480px) {
    .StocksContents__2Wu8 {
        padding: 5px;
    }

    .DpsHistoryTable__table__1ooh {
        /* 文字が小さく読めない問題の対策 */
        font-size: 17px;
    }

    .DpsHistoryTable__head__18SZ,
    .DpsHistoryTable__data__nHEx {
        padding: 12px;
        min-width: 96px;
    }

    .Heading__2IiV { font-size: 20px; }
}

/* サマリーカード（配当利回り・配当性向・100株受取額） */
.dddbwp-summary-card {
    display: flex; flex-wrap: wrap; gap: 16px;
    margin: 0 0 16px; padding: 20px 24px;
    background: var(--dddbwp-surface);
    border: 1px solid var(--dddbwp-border);
    border-radius: var(--dddbwp-radius-lg);
    box-shadow: var(--dddbwp-shadow-sm);
}
.dddbwp-summary-item {
    display: flex; flex-direction: column; align-items: center; flex: 1; min-width: 100px;
}
.dddbwp-summary-label {
    font-size: 12px; color: var(--dddbwp-text-muted); margin-bottom: 4px; text-align: center;
}
.dddbwp-summary-value {
    font-size: 24px; font-weight: 700; color: var(--dddbwp-accent); text-align: center;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
}
.dddbwp-summary-date {
    font-size: 11px; color: #a3a3a3; margin-top: 2px; text-align: center;
}
@media (max-width: 768px) {
    /* タブレット帯は 2×2 で折り返す */
    .dddbwp-summary-item { flex: 1 1 calc(50% - 8px); min-width: calc(50% - 8px); }
}
@media (max-width: 480px) {
    .dddbwp-summary-card { flex-direction: column; gap: 12px; }
    .dddbwp-summary-item { flex-direction: row; justify-content: space-between; min-width: unset; }
    .dddbwp-summary-value { font-size: 18px; }
    .dddbwp-summary-date { font-size: 10px; }
}

/* 配当分析記事へのリンクカード（履歴記事→分析記事、関連銘柄セクションの直前） */
.dddbwp-analysis-link-card {
    margin: 24px 0 32px; padding: 0;
    background: var(--dddbwp-surface);
    border: 1px solid var(--dddbwp-border);
    border-radius: var(--dddbwp-radius-lg);
    box-shadow: var(--dddbwp-shadow-sm);
    overflow: hidden;
}
.dddbwp-analysis-link-cta {
    display: flex; align-items: center; gap: 16px;
    padding: 20px 24px;
    text-decoration: none;
    transition: background 0.15s ease;
}
.dddbwp-analysis-link-cta:hover,
.dddbwp-analysis-link-cta:focus-visible {
    background: var(--dddbwp-accent-softer);
    text-decoration: none;
}
.dddbwp-analysis-link-eyebrow {
    flex: 0 0 auto;
    display: inline-block;
    padding: 4px 10px;
    font-size: 12px; font-weight: 700;
    color: var(--dddbwp-accent-strong);
    background: var(--dddbwp-accent-soft);
    border-radius: 999px;
}
.dddbwp-analysis-link-title {
    flex: 1 1 auto;
    font-size: 15px; font-weight: 600;
    color: var(--dddbwp-text);
    line-height: 1.5;
}
.dddbwp-analysis-link-arrow {
    flex: 0 0 auto;
    font-size: 18px; font-weight: 700;
    color: var(--dddbwp-accent);
    transition: transform 0.15s ease;
}
.dddbwp-analysis-link-cta:hover .dddbwp-analysis-link-arrow,
.dddbwp-analysis-link-cta:focus-visible .dddbwp-analysis-link-arrow {
    transform: translateX(4px);
}
@media (max-width: 600px) {
    .dddbwp-analysis-link-cta { flex-wrap: wrap; padding: 16px; gap: 10px; }
    .dddbwp-analysis-link-title { font-size: 14px; flex-basis: 100%; order: 3; }
}

/* 関連銘柄セクション */
.dddbwp-related-stocks {
    margin: 32px 0 32px; padding: 24px;
    border: 1px solid var(--dddbwp-border);
    background: var(--dddbwp-surface);
    border-radius: var(--dddbwp-radius-lg);
    box-shadow: var(--dddbwp-shadow-sm);
}
.dddbwp-related-stocks-title {
    font-size: 16px; font-weight: 700; color: var(--dddbwp-text); margin: 0 0 16px;
    padding: 0; border: none;
}
.dddbwp-related-section { margin-bottom: 20px; }
.dddbwp-related-section:last-child { margin-bottom: 0; }
.dddbwp-related-section-label { font-size: 13px; color: var(--dddbwp-text-muted); margin-bottom: 10px; }
.dddbwp-related-links { display: flex; flex-wrap: wrap; gap: 8px; }
.dddbwp-related-link {
    display: inline-block; padding: 8px 14px; background: var(--dddbwp-surface);
    color: var(--dddbwp-accent); text-decoration: none; border-radius: var(--dddbwp-radius-sm);
    font-size: 13px; font-weight: 500; border: 1px solid var(--dddbwp-border);
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.dddbwp-related-link:hover {
    background: var(--dddbwp-accent-soft);
    border-color: var(--dddbwp-accent);
    color: var(--dddbwp-accent-strong);
    text-decoration: none;
}
/* FAQ（データ由来Q&A・FAQPage構造化データと対）。<details>/<summary>アコーディオン
   （クリックで開閉・JS不要）。open属性を付けないため初期状態は常に閉。 */
.dddbwp-faq { margin: 8px 0 4px; }
.dddbwp-faq-item { border-bottom: 1px solid #e6eaf2; padding: 12px 0; }
.dddbwp-faq-item:last-child { border-bottom: none; }
.dddbwp-faq-q {
    font-size: 16px; font-weight: 600; color: #1a2a44; margin: 0 0 6px; line-height: 1.5;
}
/* アコーディオン開閉のアフォーダンス（cursor/+-）は details 要素のみに限定する。
   既公開記事は旧 <div>/<h3> マークアップのままDBに残っており、タグ非依存で
   当ててしまうと [open] が付かず「+」のまま固定される壊れたUIになるため。 */
details.dddbwp-faq-item > .dddbwp-faq-q {
    cursor: pointer; list-style: none; position: relative; padding-right: 22px;
}
.dddbwp-faq-q::-webkit-details-marker { display: none; }
.dddbwp-faq-q::before { content: "Q. "; color: #0073aa; }
details.dddbwp-faq-item > .dddbwp-faq-q::after { content: "+"; position: absolute; right: 2px; top: 0; color: #0073aa; font-weight: 700; }
.dddbwp-faq-item[open] > .dddbwp-faq-q::after { content: "\2212"; }
.dddbwp-faq-a { margin: 0; color: #333; line-height: 1.7; }
.dddbwp-faq-a::before { content: "A. "; font-weight: 600; color: #0073aa; }
@media (max-width: 600px) {
    .dddbwp-faq-q { font-size: 15px; }
    .dddbwp-related-links { flex-direction: column; }
    .dddbwp-related-link { text-align: center; padding: 12px 14px; /* タップ領域44px確保 */ }
    .dddbwp-related-stocks { margin: 24px 0 24px; padding: 16px; }
    .dddbwp-disclaimer { margin: 24px 0 0; padding: 16px; }
    .dddbwp-disclaimer-title { font-size: 15px; margin: 0 0 12px; }
    .dddbwp-disclaimer p { font-size: 13px; margin: 0 0 10px; }
}

/* =========================================================
   レスポンシブ修正（2026-07-07）
   原因: Cocoon の .wrap は cocoon-master/style.css で width:1256px 固定だが、
   これをモバイルで width:auto に折り返す @media screen 規則が style.css 内に
   存在しない（唯一の #container .wrap{width:auto} は @media print 内=画面無関係）。
   本来この折り返しはカスタマイザーのインラインCSSが出力していたが、速度改善
   Phase 3A で wp_add_css_custome_to_inline_style を空にして css-custom.css へ
   外部化した際に、サイト幅のレスポンシブ折り返しが欠落した。
   結果 375px でも .wrap=1256px 固定となり ~881px の横スクロールが発生していた。
   対策: サイト幅(1256px)未満のビューポートで .wrap を auto へ戻す。
   #container .wrap(1,1,0) は Cocoon の .wrap(0,1,0) より特異度が高く確実に勝つ。
========================================================= */
@media screen and (max-width: 1256px) {
    #container .wrap { width: auto; }
}

/* =========================================================
   Framer 風アニメーション（2026-07-07）
   - スクロールで各セクションがふわっと現れる reveal（純CSS: animation-timeline: view()）
   - グラフのバーがチャート表示に合わせて下から伸びる reveal
   - ホバー時の微細な浮き上がり
   すべて prefers-reduced-motion: reduce で自動無効化。
   animation-timeline: view() 非対応ブラウザは @supports で除外され、
   要素は「最初から表示」に自然フォールバックする（レイアウトは不変）。
========================================================= */
@keyframes dddbwp-reveal {
    from { opacity: 0; transform: translateY(18px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes dddbwp-bar-grow {
    from { transform: scaleY(0); }
    to   { transform: scaleY(1); }
}

@media (prefers-reduced-motion: no-preference) {
    @supports (animation-timeline: view()) {
        /* セクション reveal（既存クラスを直接ターゲット・HTML変更不要） */
        .dddbwp-article .Heading__2IiV,
        .dddbwp-article .dddbwp-summary-card,
        .dddbwp-article .dddbwp-rightsWrap,
        .dddbwp-article .dddbwp-chart-container,
        .dddbwp-article .DpsHistoryTable__table__1ooh,
        .dddbwp-article .dddbwp-related-stocks,
        .dddbwp-article .dddbwp-disclaimer,
        .dddbwp-article .DpsHistory__noDividend__dddbwp {
            animation: dddbwp-reveal linear both;
            animation-timeline: view();
            animation-range: entry 3% entry 32%;
        }

        /* グラフのバー：チャートが視界に入ると下端から伸び上がる */
        .dddbwp-dividend-chart .dddbwp-bar-actual,
        .dddbwp-dividend-chart .dddbwp-bar-forecast {
            transform-box: fill-box;
            transform-origin: bottom;
            animation: dddbwp-bar-grow cubic-bezier(0.22, 1, 0.36, 1) both;
            animation-timeline: view();
            animation-range: entry 8% cover 28%;
        }
    }

    /* ホバー微細演出（transition ベース・全ブラウザ対応） */
    .dddbwp-summary-item {
        transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .dddbwp-summary-item:hover { transform: translateY(-3px); }

    .dddbwp-rightsCard {
        transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.25s ease;
    }
    .dddbwp-rightsCard:hover {
        transform: translateY(-3px);
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.14);
    }

    .dddbwp-related-link:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 115, 170, 0.15);
    }

    /* グラフのホバー減光をなめらかに（インラインSVGスタイルを補強） */
    .dddbwp-dividend-chart .dddbwp-bar-group { transition: opacity 0.25s ease; }
    .dddbwp-dividend-chart .dddbwp-vline,
    .dddbwp-dividend-chart .dddbwp-tooltip { transition: opacity 0.2s ease; }
}

/* =========================================================
   Fintech Terminal — トークン（generated from core/config/design_tokens.py）
   スコープは .dddbwp-terminal のみ。legacy 記事には1変数も降りない。
   作成日: 2026-08-18（Phase 4: 履歴パイプラインFintech Terminal化）
   フラグ DDDBWP_RENDERER=terminal のときだけ HTML 側に .dddbwp-terminal
   クラスが付く。このブロック自体はサイト全体に即時配信されるが、legacy
   記事の DOM には .dddbwp-terminal が無いため変数のスコープで無害化される。
========================================================= */
.dddbwp-terminal {
/* >>> GENERATED: terminal design tokens (core/config/design_tokens.py) — DO NOT EDIT <<< */
    --dddbwp-t-ink-900: #0D1A3F;
    --dddbwp-t-ink-700: #22315C;
    --dddbwp-t-ink-500: #4A5B86;
    --dddbwp-t-ink-300: #A9B4CC;
    --dddbwp-t-surface: #FFFFFF;
    --dddbwp-t-surface-2: #F5F7FB;
    --dddbwp-t-hairline: #E4E9F2;
    --dddbwp-t-hairline-strong: #CBD4E6;
    --dddbwp-t-accent: #C9A227;
    --dddbwp-t-accent-deep: #8A6E13;
    --dddbwp-t-accent-soft: rgba(201,162,39,.14);
    --dddbwp-t-pos: #0F7A52;
    --dddbwp-t-neg: #C0392B;
    --dddbwp-t-neutral: #7A8699;
    --dddbwp-t-pos-on-ink: #2FBF87;
    --dddbwp-t-neg-on-ink: #FF7B72;
    --dddbwp-t-neutral-on-ink: #A9B4CC;
    --dddbwp-t-on-ink: #FFFFFF;
    --dddbwp-t-on-ink-muted: #A9B4CC;
    --dddbwp-t-strip-gradient: linear-gradient(160deg,#0D1A3F 0%,#22315C 100%);
    --dddbwp-t-strip-divider: rgba(255,255,255,.14);
    --dddbwp-t-font-num: "Roboto Mono","SF Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,"Courier New",monospace;
    --dddbwp-t-font-sans: -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
    --dddbwp-t-radius-lg: 10px;
    --dddbwp-t-radius-md: 8px;
    --dddbwp-t-radius-sm: 6px;
    --dddbwp-t-shadow-card: 0 1px 3px rgba(13,26,63,.06);
    --dddbwp-t-shadow-strip: 0 2px 10px rgba(13,26,63,.18);
    --dddbwp-t-motion: .15s ease;
/* <<< END GENERATED >>> */
}

/* ---------- 端末ストリップ（シグネチャ） ---------- */
.dddbwp-terminal .dddbwp-terminal-strip {
    margin: 0 0 20px;
    padding: 0;
    background: var(--dddbwp-t-surface,#FFFFFF);
    border-radius: var(--dddbwp-t-radius-lg,10px);
    border: 1px solid var(--dddbwp-t-hairline,#E4E9F2);
    border-top: 2px solid var(--dddbwp-t-accent,#C9A227);   /* ← 光る上辺罫線（維持） */
    box-shadow: var(--dddbwp-t-shadow-card,0 1px 3px rgba(13,26,63,.06));
    color: var(--dddbwp-t-ink-900,#0D1A3F);
    overflow: hidden;
}
.dddbwp-terminal .dddbwp-terminal-strip-head {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 8px 12px;
    padding: 14px 18px 12px;
    border-bottom: 1px solid var(--dddbwp-t-hairline,#E4E9F2);
}
.dddbwp-terminal .dddbwp-terminal-ident {
    margin: 0; display: flex; align-items: baseline; gap: 10px;
    min-width: 0; flex: 1 1 auto;
    font-family: var(--dddbwp-t-font-sans);
}
.dddbwp-terminal .dddbwp-terminal-code {
    font-family: var(--dddbwp-t-font-num);
    font-variant-numeric: tabular-nums; font-feature-settings:"tnum" 1;
    font-size: 15px; font-weight: 700; letter-spacing: .06em;
    color: var(--dddbwp-t-accent-deep,#8A6E13);   /* gold は白地では 2.36:1 → NG。accent-deep で 4.9:1 */
}
.dddbwp-terminal .dddbwp-terminal-name {
    font-size: 15px; font-weight: 700; letter-spacing: .02em;
    color: var(--dddbwp-t-ink-900,#0D1A3F);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0;
}
.dddbwp-terminal .dddbwp-terminal-pill {
    flex: 0 0 auto;
    display: inline-block; padding: 4px 12px;
    border-radius: 999px; border: 1px solid currentColor;
    font-family: var(--dddbwp-t-font-sans);
    font-size: 12px; font-weight: 700; letter-spacing: .04em; line-height: 1.5;
    white-space: nowrap;
}
.dddbwp-terminal .dddbwp-terminal-pill--pos     { color: var(--dddbwp-t-pos,#0F7A52); }
.dddbwp-terminal .dddbwp-terminal-pill--neg     { color: var(--dddbwp-t-neg,#C0392B); }
.dddbwp-terminal .dddbwp-terminal-pill--neutral { color: var(--dddbwp-t-neutral,#7A8699); }
.dddbwp-terminal .dddbwp-terminal-pill--meta {
    color: var(--dddbwp-t-ink-500,#4A5B86);
    border-color: var(--dddbwp-t-hairline-strong,#CBD4E6);
    font-weight: 400;
}

/* ---------- KPI 4連 ---------- */
.dddbwp-terminal .dddbwp-terminal-kpis {
    margin: 0; padding: 0;
    display: grid; grid-template-columns: repeat(4, minmax(0,1fr));
}
.dddbwp-terminal .dddbwp-terminal-kpis--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.dddbwp-terminal .dddbwp-terminal-kpis--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.dddbwp-terminal .dddbwp-terminal-kpis--1 { grid-template-columns: minmax(0,1fr); }
.dddbwp-terminal .dddbwp-terminal-kpi {
    padding: 14px 16px 16px;
    min-width: 0; text-align: left;
    border-left: 1px solid var(--dddbwp-t-hairline,#E4E9F2);
}
.dddbwp-terminal .dddbwp-terminal-kpi:first-child { border-left: none; }
.dddbwp-terminal .dddbwp-terminal-kpi-label {
    display: block; margin: 0 0 6px;
    font-family: var(--dddbwp-t-font-sans);
    font-size: 11px; font-weight: 600; letter-spacing: .08em; line-height: 1.2;
    color: var(--dddbwp-t-ink-500,#4A5B86);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.dddbwp-terminal .dddbwp-terminal-kpi-value {
    display: block; margin: 0;
    font-family: var(--dddbwp-t-font-num);
    font-variant-numeric: tabular-nums; font-feature-settings:"tnum" 1;
    font-size: clamp(22px,4.4vw,30px); font-weight: 700; line-height: 1.1;
    letter-spacing: -.01em;
    color: var(--dddbwp-t-ink-900,#0D1A3F);
    white-space: nowrap;
}
.dddbwp-terminal .dddbwp-terminal-kpi--accent .dddbwp-terminal-kpi-value {
    color: var(--dddbwp-t-accent-deep,#8A6E13);   /* gold は白地では 2.36:1 → NG。accent-deep で 4.9:1 */
}
.dddbwp-terminal .dddbwp-terminal-kpi-unit {
    margin-left: 2px;
    font-size: .55em; font-weight: 600;
    color: var(--dddbwp-t-ink-500,#4A5B86);
}
.dddbwp-terminal .dddbwp-terminal-kpi-note {
    display: block; margin-top: 4px;
    font-family: var(--dddbwp-t-font-sans);
    font-size: 10px; font-weight: 400; letter-spacing: 0;
    color: var(--dddbwp-t-ink-500,#4A5B86);
}

/* ---------- モバイル(<=520px): Part A の「2×2」を具体化 ---------- */
@media (max-width: 520px) {
    .dddbwp-terminal .dddbwp-terminal-kpis,
    .dddbwp-terminal .dddbwp-terminal-kpis--3 { grid-template-columns: repeat(2, minmax(0,1fr)); }
    /* 2列時の罫線: 左端(1,3番目)は左罫を消し、下段(3,4番目)に上罫を引く */
    .dddbwp-terminal .dddbwp-terminal-kpi:nth-child(2n+1) { border-left: none; }
    .dddbwp-terminal .dddbwp-terminal-kpi:nth-child(n+3) {
        border-top: 1px solid var(--dddbwp-t-hairline,#E4E9F2);   /* 白地では strip-divider(半透明白)は不可視になるため hairline に統一 */
    }
    .dddbwp-terminal .dddbwp-terminal-kpis--1 .dddbwp-terminal-kpi:nth-child(n+3) { border-top: none; }
    .dddbwp-terminal .dddbwp-terminal-kpi { padding: 12px 14px 14px; }
    .dddbwp-terminal .dddbwp-terminal-strip-head { padding: 12px 14px 10px; }
    .dddbwp-terminal .dddbwp-terminal-name { font-size: 14px; white-space: normal; }
}
@media (max-width: 360px) {
    .dddbwp-terminal .dddbwp-terminal-kpi-label { font-size: 10px; letter-spacing: .04em; }
}

/* ---------- legacy 規則の terminal 側での打ち消し ---------- */
.dddbwp-terminal .DpsHistory__legendSwatch__dddbwp--actual   { background:#0D1A3F; }
.dddbwp-terminal .DpsHistory__legendSwatch__dddbwp--forecast { background:#4A5B86; }
.dddbwp-terminal .DpsHistory__legendSwatch__dddbwp[style*="#2C3E50"],
.dddbwp-terminal .DpsHistory__legendSwatch__dddbwp[style*="#2c3e50"] { background:#0D1A3F !important; }
.dddbwp-terminal .DpsHistory__legendSwatch__dddbwp[style*="#95A5A6"],
.dddbwp-terminal .DpsHistory__legendSwatch__dddbwp[style*="#95a5a6"] { background:#4A5B86 !important; }

@media (prefers-reduced-motion: no-preference) {
    @supports (animation-timeline: view()) {
        .dddbwp-article.dddbwp-terminal .Heading__2IiV,
        .dddbwp-article.dddbwp-terminal .dddbwp-terminal-strip,
        .dddbwp-article.dddbwp-terminal .dddbwp-rightsWrap,
        .dddbwp-article.dddbwp-terminal .dddbwp-chart-container,
        .dddbwp-article.dddbwp-terminal .DpsHistoryTable__table__1ooh,
        .dddbwp-article.dddbwp-terminal .dddbwp-related-stocks,
        .dddbwp-article.dddbwp-terminal .dddbwp-disclaimer,
        .dddbwp-article.dddbwp-terminal .DpsHistory__noDividend__dddbwp,
        .dddbwp-article .dddbwp-terminal-chart .dddbwp-bar-actual,
        .dddbwp-article .dddbwp-terminal-chart .dddbwp-bar-forecast,
        .dddbwp-article .dddbwp-terminal-chart .dddbwp-bar-latest { animation: none; }
    }
    .dddbwp-terminal .dddbwp-summary-item:hover { transform: none; }
}

/* ---------- terminal 版の周辺コンポーネント ---------- */
/* カード類: 角丸16px→10px・影を紺寄りに */
.dddbwp-terminal .dddbwp-tableWrap,
.dddbwp-terminal .dddbwp-related-stocks,
.dddbwp-terminal .dddbwp-analysis-link-card,
.dddbwp-terminal .dddbwp-rightsWrap,
.dddbwp-terminal .DpsHistory__noDividend__dddbwp,
.dddbwp-terminal .dddbwp-disclaimer {
    border-radius: var(--dddbwp-t-radius-lg,10px);
    border-color: var(--dddbwp-t-hairline,#E4E9F2);
    box-shadow: var(--dddbwp-t-shadow-card,0 1px 3px rgba(13,26,63,.06));
}
/* 分析記事リンクカード: Task 4.5 で確立した「白背景+紺文字」パターンを踏襲
   （紺グラデ地に金文字ではなく、白地に紺文字＋WCAG対応の accent-deep）。
   カード自体の背景は legacy 由来の .dddbwp-surface(#fff) のままで良いが、
   ホバー時の背景・エポニム/矢印の配色だけ terminal トークンへ差し替える。 */
.dddbwp-terminal .dddbwp-analysis-link-card { background: var(--dddbwp-t-surface,#FFFFFF); }
.dddbwp-terminal .dddbwp-analysis-link-cta:hover,
.dddbwp-terminal .dddbwp-analysis-link-cta:focus-visible {
    background: var(--dddbwp-t-surface-2,#F5F7FB);
}
.dddbwp-terminal .dddbwp-analysis-link-eyebrow {
    color: var(--dddbwp-t-accent-deep,#8A6E13);   /* gold は白地では 2.36:1 → NG。accent-deep で 4.9:1 */
    background: var(--dddbwp-t-accent-soft,rgba(201,162,39,.14));
}
.dddbwp-terminal .dddbwp-analysis-link-title { color: var(--dddbwp-t-ink-900,#0D1A3F); }
.dddbwp-terminal .dddbwp-analysis-link-arrow { color: var(--dddbwp-t-accent-deep,#8A6E13); }
.dddbwp-terminal .dddbwp-disclaimer { background: var(--dddbwp-t-surface-2,#F5F7FB); }

/* 表: ヘッダ紺地白字・偶数行 surface-2・数値列 tabular-nums 右寄せ */
.dddbwp-terminal .DpsHistoryTable__table__1ooh thead .DpsHistoryTable__head__18SZ {
    background-color: var(--dddbwp-t-ink-900,#0D1A3F) !important;
    color: #fff !important;
    border-bottom: 1px solid var(--dddbwp-t-ink-700,#22315C);
    letter-spacing: .04em;
}
.dddbwp-terminal .DpsHistoryTable__table__1ooh tbody .DpsHistoryTable__head__18SZ {
    background-color: var(--dddbwp-t-surface-2,#F5F7FB) !important;
    color: var(--dddbwp-t-ink-900,#0D1A3F) !important;
    border-right-color: var(--dddbwp-t-hairline,#E4E9F2);
}
.dddbwp-terminal .DpsHistoryTable__data__nHEx {
    color: var(--dddbwp-t-ink-900,#0D1A3F) !important;
    border-bottom-color: var(--dddbwp-t-hairline,#E4E9F2);
    font-family: var(--dddbwp-t-font-num);
    font-variant-numeric: tabular-nums; font-feature-settings:"tnum" 1;
    text-align: right;
}
.dddbwp-terminal .DpsHistoryTable__dateCol01__2x-P,
.dddbwp-terminal .DpsHistoryTable__dateCol02__1VbW { text-align: left; }
.dddbwp-terminal .DpsHistoryTable__table__1ooh tbody tr:nth-child(even) .DpsHistoryTable__data__nHEx {
    background-color: var(--dddbwp-t-surface-2,#F5F7FB) !important;
}
.dddbwp-terminal .DpsHistoryTable__data--adjusted__dddbwp {
    background-color: var(--dddbwp-t-accent-soft,rgba(201,162,39,.14)) !important;
    color: var(--dddbwp-t-ink-900,#0D1A3F) !important;   /* 文字は紺のまま。gold文字は白地では使わない */
    font-weight: 700;
}
.dddbwp-terminal .DpsHistoryTable__table__1ooh tbody tr:hover .DpsHistoryTable__data__nHEx {
    background-color: #EDF1F8 !important;
    transition: background-color var(--dddbwp-t-motion,.15s ease);
}
/* リンク・見出し・FAQ */
.dddbwp-terminal .dddbwp-breadcrumb-link,
.dddbwp-terminal .dddbwp-related-link { color: var(--dddbwp-t-ink-700,#22315C); }
.dddbwp-terminal .dddbwp-related-link:hover {
    background: var(--dddbwp-t-surface-2,#F5F7FB);
    border-color: var(--dddbwp-t-ink-500,#4A5B86);
    color: var(--dddbwp-t-ink-900,#0D1A3F);
}
.dddbwp-terminal .Heading__2IiV {
    color: var(--dddbwp-t-ink-900,#0D1A3F);
    letter-spacing: .02em;
    border-left: 3px solid var(--dddbwp-t-ink-900,#0D1A3F);
    padding-left: 10px;
}
.dddbwp-terminal .dddbwp-faq-q { color: var(--dddbwp-t-ink-900,#0D1A3F); }
.dddbwp-terminal .dddbwp-faq-q::before,
.dddbwp-terminal .dddbwp-faq-a::before { color: var(--dddbwp-t-ink-700,#22315C); }
.dddbwp-terminal .dddbwp-faq-q::after { color: var(--dddbwp-t-ink-700,#22315C); }
.dddbwp-terminal .dddbwp-faq-item { border-bottom-color: var(--dddbwp-t-hairline,#E4E9F2); }
.dddbwp-terminal a:focus-visible,
.dddbwp-terminal button:focus-visible { outline-color: rgba(34,49,92,.65); }

/* ---------- 配当グラフ（SVG）ブリッジ: terminal 版 ----------
   .dddbwp-dividend-chart .dddbwp-bar-actual{fill:#0066ff;rx:6px}（L167-179付近）は
   特異度 (0,2,0) で、新SVGのインライン<style>(0,1,0) に勝ってしまう。terminal の
   SVGルートには class="dddbwp-dividend-chart dddbwp-terminal-chart" が付くので、
   ここで特異度 (0,3,0) の上書きを用意する（legacy 規則自体は1行も変更しない）。 */
.dddbwp-article .dddbwp-terminal-chart .dddbwp-bar-actual { fill: #0D1A3F; rx: 2px; }
.dddbwp-article .dddbwp-terminal-chart .dddbwp-bar-forecast { fill: #4A5B86; rx: 2px; }
.dddbwp-article .dddbwp-terminal-chart .dddbwp-bar-latest { fill: #C9A227; stroke: #8A6E13; rx: 2px; }
.dddbwp-article .dddbwp-terminal-chart .dddbwp-grid,
.dddbwp-article .dddbwp-terminal-chart .dddbwp-axis { stroke: #CBD4E6; }
.dddbwp-article .dddbwp-terminal-chart .dddbwp-label { fill: #4A5B86; }
.dddbwp-article .dddbwp-terminal-chart .dddbwp-title { fill: #0D1A3F; }
.dddbwp-article .dddbwp-terminal-chart .dddbwp-vline { stroke: #4A5B86; }
.dddbwp-article .dddbwp-terminal-chart .dddbwp-tooltip rect[fill="#0D1A3F"] {
    stroke: #22315C;
    rx: 8px;
}

/* =========================================================
   Fintech Terminal — 分析レポート（dr-*）  ★Phase 5 追加分
   スコープは .dividend-report.dddbwp-terminal / .dddbwp-terminal .dr-* のみ。
   ここより上（Phase 4 までの規則）は1行も変更していない。
   既公開の分析記事は本文に自前の <style> を持つため、この追加の影響を受けない。
   作成日: 2026-08-18（Phase 5: 分析パイプラインを SVG＋Terminal 化）
   帰属ルール: dddbwp-terminal-* = 両パイプライン共通の terminal コンポーネント／
   dr-* = 分析記事内部の部品／dddbwp-c-* = SVGチャート内部（インライン<style>のみ・
   ここには出てこない）。design spec §B-1〜B-4 準拠。
========================================================= */

/* ---------- §5-A 基底 ---------- */
.dividend-report.dddbwp-terminal {
    color: var(--dddbwp-t-ink-900,#0D1A3F);
    line-height: 1.85;
    font-size: 16px;
    font-family: var(--dddbwp-t-font-sans);
}
.dividend-report.dddbwp-terminal h2 {
    color: var(--dddbwp-t-ink-900,#0D1A3F);
    font-size: 1.35em;
    font-weight: 700;
    margin: 2em 0 .75em;
    padding-bottom: .35em;
    border-bottom: 2px solid var(--dddbwp-t-ink-900,#0D1A3F);
    background: none;
    border-left: none;
    letter-spacing: .02em;
}
.dividend-report.dddbwp-terminal h3.dr-h3,
.dividend-report.dddbwp-terminal .dr-glossary h3 {
    color: var(--dddbwp-t-ink-500,#4A5B86);
    font-size: 1.05em;
    font-weight: 600;
    margin: 1.4em 0 .5em;
    padding: 0;
    border: none;
}
.dividend-report.dddbwp-terminal p { margin: .65em 0; }
.dividend-report.dddbwp-terminal ul,
.dividend-report.dddbwp-terminal ol { margin: .5em 0 .5em 1.2em; }

/* ---------- §5-B 表 ---------- */
.dddbwp-terminal .dr-table {
    width: 100%; max-width: 900px; border-collapse: separate; border-spacing: 0;
    margin: 1.1em 0 1.4em; font-size: .95em;
    border: 1px solid var(--dddbwp-t-hairline,#E4E9F2);
    border-radius: var(--dddbwp-t-radius-lg,10px); overflow: hidden;
    box-shadow: var(--dddbwp-t-shadow-card,0 1px 3px rgba(13,26,63,.06));
}
.dddbwp-terminal .dr-table th {
    background: var(--dddbwp-t-ink-900,#0D1A3F); color: #fff; padding: .7em 1em;
    text-align: left; font-weight: 600; font-size: .9em; letter-spacing: .04em;
    font-family: var(--dddbwp-t-font-sans);
}
.dddbwp-terminal .dr-table th:not(:first-child) { text-align: right; }
.dddbwp-terminal .dr-table td {
    border-top: 1px solid var(--dddbwp-t-hairline,#E4E9F2); padding: .62em 1em;
    color: var(--dddbwp-t-ink-900,#0D1A3F);
}
.dddbwp-terminal .dr-table td:first-child { color: var(--dddbwp-t-ink-500,#4A5B86); font-weight: 500; }
.dddbwp-terminal .dr-table td:not(:first-child) {
    text-align: right; font-family: var(--dddbwp-t-font-num);
    font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1;
    color: var(--dddbwp-t-ink-900,#0D1A3F); font-weight: 600;
}
.dddbwp-terminal .dr-table tbody tr:nth-child(even) td { background: var(--dddbwp-t-surface-2,#F5F7FB); }
.dddbwp-terminal .dr-table tbody tr { transition: background var(--dddbwp-t-motion,.15s ease); }
.dddbwp-terminal .dr-table tbody tr:hover td { background: #EDF1F8; }

/* ---------- §5-C ボックス（判定・DOE・グラフ解説・記録注記・免責・用語集） ---------- */
.dddbwp-terminal .dr-verdict-box {
    background: var(--dddbwp-t-surface-2,#F5F7FB);
    border-left: 4px solid var(--dddbwp-t-ink-900,#0D1A3F);
    padding: 1em 1.2em; margin: 1em 0;
    border-radius: var(--dddbwp-t-radius-sm,6px);
}
.dddbwp-terminal .dr-verdict-reason { font-size: .9em; color: var(--dddbwp-t-ink-500,#4A5B86); }
.dddbwp-terminal .dr-chart-note {
    max-width: 900px; margin: -.6em auto 1.6em; padding: .55em .9em;
    font-size: .92em; color: var(--dddbwp-t-ink-500,#4A5B86); line-height: 1.75;
    border-left: 3px solid var(--dddbwp-t-ink-300,#A9B4CC);
    background: var(--dddbwp-t-surface-2,#F5F7FB);
}
.dddbwp-terminal .dr-chart-note p { margin: .2em 0; }
.dddbwp-terminal .dr-doe-box {
    background: var(--dddbwp-t-surface-2,#F5F7FB);
    border-left: 4px solid var(--dddbwp-t-ink-700,#22315C);
    padding: 1em 1.2em; margin: 1.4em 0;
    border-radius: var(--dddbwp-t-radius-sm,6px);
}
.dddbwp-terminal .dr-doe-box h3.dr-h3 { margin-top: 0; color: var(--dddbwp-t-ink-900,#0D1A3F); }
.dddbwp-terminal .dr-record-note {
    font-size: .86em; color: var(--dddbwp-t-ink-700,#22315C);
    background: var(--dddbwp-t-surface-2,#F5F7FB);
    border-left: 3px solid var(--dddbwp-t-ink-300,#A9B4CC); padding: .6em .9em;
    border-radius: var(--dddbwp-t-radius-sm,6px);
}
.dddbwp-terminal .dr-disclaimer {
    font-size: .82em; color: var(--dddbwp-t-ink-500,#4A5B86); margin-top: 2.2em;
    border-top: 1px solid var(--dddbwp-t-ink-300,#A9B4CC); padding-top: 1em;
}
.dddbwp-terminal .dr-glossary {
    background: var(--dddbwp-t-surface-2,#F5F7FB);
    border: 1px solid var(--dddbwp-t-hairline,#E4E9F2);
    border-radius: var(--dddbwp-t-radius-sm,6px);
    margin: 1.2em 0; padding: 0;
}
.dddbwp-terminal .dr-glossary-summary {
    cursor: pointer; font-weight: 600; color: var(--dddbwp-t-ink-900,#0D1A3F);
    padding: .85em 1.2em; list-style: none;
}
.dddbwp-terminal .dr-glossary-summary::-webkit-details-marker { display: none; }
.dddbwp-terminal .dr-glossary-body { padding: 0 1.2em 1em; }
.dddbwp-terminal .dr-glossary dl { margin: 0; }
.dddbwp-terminal .dr-glossary dt { font-weight: 600; color: var(--dddbwp-t-ink-900,#0D1A3F); margin-top: .6em; }
.dddbwp-terminal .dr-glossary dt:first-child { margin-top: 0; }
.dddbwp-terminal .dr-glossary dd { margin: .15em 0 .4em 0; color: var(--dddbwp-t-ink-500,#4A5B86); font-size: .92em; }

/* ---------- §5-D バッジ・ピル ---------- */
.dddbwp-terminal .dr-badge {
    display: inline-block; padding: .1em .6em; border-radius: 4px;
    font-size: .88em; font-weight: 700; color: #fff;
    font-family: var(--dddbwp-t-font-sans);
}
.dddbwp-terminal .dr-badge.buy { background: var(--dddbwp-t-pos,#0F7A52); }
.dddbwp-terminal .dr-badge.sell { background: var(--dddbwp-t-neg,#C0392B); }
.dddbwp-terminal .dr-badge.hold { background: var(--dddbwp-t-neutral,#7A8699); }
.dddbwp-terminal .dr-badge.exclude { background: var(--dddbwp-t-neg,#C0392B); }
.dddbwp-terminal .verdict-badge {
    display: inline-block; background: var(--dddbwp-t-ink-900,#0D1A3F);
    color: #fff; padding: .12em .65em; border-radius: 4px; font-size: .95em;
}

/* ---------- §5-E 用語ツールチップ（PC:ホバー / スマホ:タップ。紺地に白文字＝ストリップと同系） ---------- */
.dddbwp-terminal .dr-term {
    border-bottom: 1px dashed var(--dddbwp-t-ink-700,#22315C); cursor: help; position: relative;
}
.dddbwp-terminal .dr-term::after {
    content: attr(data-tip); position: absolute; left: 50%;
    bottom: calc(100% + 6px); transform: translateX(-50%);
    width: max-content; max-width: min(320px, 78vw);
    background: var(--dddbwp-t-ink-900,#0D1A3F); color: #fff; font-size: .82em; font-weight: 400;
    line-height: 1.55; padding: .5em .75em; border-radius: var(--dddbwp-t-radius-sm,6px); z-index: 50;
    opacity: 0; visibility: hidden; transition: opacity var(--dddbwp-t-motion,.15s ease);
    white-space: normal; pointer-events: none;
    font-family: var(--dddbwp-t-font-sans);
}
.dddbwp-terminal .dr-term:hover::after,
.dddbwp-terminal .dr-term:focus::after,
.dddbwp-terminal .dr-term.is-open::after { opacity: 1; visibility: visible; }
.dddbwp-terminal .dr-term.edge-left::after { left: 0; transform: none; }
.dddbwp-terminal .dr-term.edge-right::after { left: auto; right: 0; transform: none; }

/* ---------- §5-F FAQ・関連記事 ---------- */
.dddbwp-terminal .dr-related {
    margin-top: 2em; padding-top: 1em; border-top: 1px solid var(--dddbwp-t-ink-300,#A9B4CC);
}
.dddbwp-terminal .dr-related a { color: var(--dddbwp-t-ink-700,#22315C); font-weight: 600; }
.dddbwp-terminal .dr-faq { margin-top: .5em; }
.dddbwp-terminal .dr-faq-item { border-bottom: 1px solid var(--dddbwp-t-hairline,#E4E9F2); padding: .7em 0; }
.dddbwp-terminal .dr-faq-q {
    font-size: 1.02em; font-weight: 600; color: var(--dddbwp-t-ink-900,#0D1A3F);
    margin: 0 0 .35em; cursor: pointer; list-style: none; position: relative; padding-right: 1.4em;
}
.dddbwp-terminal .dr-faq-q::-webkit-details-marker { display: none; }
.dddbwp-terminal .dr-faq-q::before { content: "Q. "; color: var(--dddbwp-t-ink-700,#22315C); }
.dddbwp-terminal .dr-faq-q::after {
    content: "+"; position: absolute; right: .15em; top: 0; color: var(--dddbwp-t-ink-700,#22315C); font-weight: 700;
}
.dddbwp-terminal .dr-faq-item[open] > .dr-faq-q::after { content: "\2212"; }
.dddbwp-terminal .dr-faq-a { margin: 0; color: var(--dddbwp-t-ink-900,#0D1A3F); }
.dddbwp-terminal .dr-faq-a::before { content: "A. "; font-weight: 600; color: var(--dddbwp-t-ink-700,#22315C); }

/* ---------- §5-G 図版（SVGラッパー。旧 chart-wrap から改名・幅をチャートに合わせ拡張） ---------- */
.dddbwp-terminal .dr-chart-wrap { position: relative; margin: 1.4em auto; max-width: 900px; }
.dddbwp-terminal .dr-chart-wrap svg { width: 100%; height: auto; display: block; }

/* ---------- §5-H SVGブリッジ: .dddbwp-terminal アンカー版（分析ページ用） ★必須（design spec §B-4）
   Phase 4 の打ち消しは `.dddbwp-article .dddbwp-terminal-chart …` (0,3,0) で、
   `.dddbwp-article` を持たない分析ページ（wrapper は `.dividend-report.dddbwp-terminal`）
   には効かない。ここで同一宣言・別アンカーを追加する（Phase 4 の行は1行も変更しない。
   履歴ページでは両方が同値で当たるだけなので無害）。 ---------- */
.dddbwp-terminal .dddbwp-terminal-chart .dddbwp-bar-actual   { fill:#0D1A3F; rx:2px; }
.dddbwp-terminal .dddbwp-terminal-chart .dddbwp-bar-forecast { fill:#4A5B86; rx:2px; }
.dddbwp-terminal .dddbwp-terminal-chart .dddbwp-bar-latest   { fill:#C9A227; stroke:#8A6E13; rx:2px; }
.dddbwp-terminal .dddbwp-terminal-chart .dddbwp-grid,
.dddbwp-terminal .dddbwp-terminal-chart .dddbwp-axis  { stroke:#CBD4E6; }
.dddbwp-terminal .dddbwp-terminal-chart .dddbwp-label { fill:#4A5B86; }
.dddbwp-terminal .dddbwp-terminal-chart .dddbwp-title { fill:#0D1A3F; }
.dddbwp-terminal .dddbwp-terminal-chart .dddbwp-vline { stroke:#4A5B86; }
.dddbwp-terminal .dddbwp-terminal-chart .dddbwp-tooltip rect[fill="#0D1A3F"] { stroke:#22315C; rx:8px; }

/* ---------- §5-I モバイル(<=520px) ---------- */
@media (max-width: 520px) {
    .dividend-report.dddbwp-terminal { font-size: 15px; line-height: 1.8; }
    .dddbwp-terminal .dr-table {
        display: block; overflow-x: auto; -webkit-overflow-scrolling: touch;
        font-size: .9em; white-space: nowrap;
    }
    .dddbwp-terminal .dr-table th, .dddbwp-terminal .dr-table td { padding: .55em .75em; }
    .dividend-report.dddbwp-terminal h2 { font-size: 1.2em; }
}
