aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYasutake Yohei <61961825+yasutakeyohei@users.noreply.github.com>2026-10-17 19:13:34 +0900
committerYasutake Yohei <61961825+yasutakeyohei@users.noreply.github.com>2026-10-17 19:13:34 +0900
commit0404cc4dbad487252bfecc1e709837b3de53f33f (patch)
tree39cbd37e95492067109cbb63a9b76e57a61583dc /src
parent622a54de2f3f90e0c6e47dec1b760390fa76a9c9 (diff)
kokuho-zaisei.mdx: 国保の解説ページを追加
国民皆保険の加入対象、保険税と保険料、お金の流れ、繰り入れ・繰り越し・基金、国保運営協議会、ペナルティ、健診、人工透析を図解した。令和7年度決算と令和6年度・令和8年度予算の数値を反映し、東京都の国保会計決算から按分した国の負担額も注記した。 custom.css に mermaid のテーマ復元、帯グラフ、ホバー連動を追加し、astro.config.mjs に開発時のみ表示するサイドバー項目を追加した。
Diffstat (limited to 'src')
-rw-r--r--src/content/docs/kodaira-data/kokuho-zaisei.mdx533
-rw-r--r--src/styles/custom.css143
2 files changed, 676 insertions, 0 deletions
diff --git a/src/content/docs/kodaira-data/kokuho-zaisei.mdx b/src/content/docs/kodaira-data/kokuho-zaisei.mdx
new file mode 100644
index 0000000..c9dfe89
--- /dev/null
+++ b/src/content/docs/kodaira-data/kokuho-zaisei.mdx
@@ -0,0 +1,533 @@
+---
+title: 小平市の国民健康保険(国保)をやさしく解説
+description: 小平市の国保財政を、図でわかりやすく整理した試作ページです。保険税と保険料の違い、繰り入れ、繰り越し、基金、国保運営協議会、ペナルティ、健診が「無料」に見える理由、人工透析の課題までを、市議会の会議録で確認できる数字をもとに解説します。小平市議会議員 安竹洋平の活動記録です。
+subtitle: 保険税・繰り入れ・運営協議会・無料健診・人工透析
+draft: true
+tableOfContents: true
+---
+
+:::note
+このページは試作版(ドラフト)です。決算の数値は、令和7年度決算(令和8年10月審査)を反映しています。
+:::
+
+:::note
+このページは、全国共通の制度と、小平市に固有の状況を分けて書きます。小平市に固有の内容には「(小平市の場合)」、全国共通の制度には「(全国共通)」を付けます。
+:::
+
+## 国保に加入するのはどんな人?
+
+日本に住む人は、原則として、どれかの公的医療保険に加入します。これを国民皆保険といいます。その内訳は、次のとおりです(令和5年3月末時点)。
+
+<svg class="kokuho-svg" viewBox="0 0 1000 200" role="img" aria-label="医療保険の加入者の割合">
+ <text x="1000" y="16" text-anchor="end" font-size="15" fill="#334155">生活保護(医療扶助)約202万人(約0.2割)</text>
+ <line x1="992" y1="22" x2="992" y2="40" stroke="#94a3b8" stroke-width="1" />
+ <rect x="0" y="40" width="631" height="110" fill="#dcfce7" stroke="#4ade80" />
+ <rect x="631" y="40" width="197" height="110" fill="#dbeafe" stroke="#60a5fa" />
+ <rect x="828" y="40" width="156" height="110" fill="#f3e8ff" stroke="#a78bfa" />
+ <rect x="984" y="40" width="16" height="110" fill="#ffe4e6" stroke="#fb7185" />
+ <g font-size="16" text-anchor="middle" fill="#1e293b">
+ <text x="315" y="78">被用者保険</text><text x="315" y="108">約7,746万人</text><text x="315" y="138">(約6.3割)</text>
+ <text x="729" y="78">国民健康保険</text><text x="729" y="108">約2,413万人</text><text x="729" y="138">(約2.0割)</text>
+ <text x="906" y="78">後期高齢者医療</text><text x="906" y="108">約1,913万人</text><text x="906" y="138">(約1.6割)</text>
+ </g>
+</svg>
+
+四角の幅は、人数の割合です。被用者保険は、協会けんぽ(約3,944万人)、健康保険組合(約2,820万人)、共済組合(約982万人)の合計です。合計は約1億2,274万人です。
+
+出典:厚生労働省「我が国の医療保険について」(加入者数は令和5年3月末時点)。生活保護(医療扶助)の人数は厚生労働省「被保護者調査」の概数です(要確認)。
+
+- **被用者保険**:会社の健康保険・共済組合・船員保険。現役で厚生年金に加入している人など。
+- **国民健康保険(国保)**:退職した人、自営業の人など。厚生年金を受け取っているだけの人も。
+- **後期高齢者医療制度**:75歳以上の人など(65〜74歳で一定の障害がある人も)。
+- 国保には年齢の下限がありません(0歳から加入します)。
+
+### 介護保険との関係は?
+
+介護保険は、医療保険とは別の制度です(全国共通)。40歳になると、医療保険とは別に介護保険にも加入します。加入者は、年齢で2つに分かれます。
+
+<svg class="kokuho-svg" viewBox="0 0 1000 200" role="img" aria-label="介護保険の加入者の割合">
+ <rect x="0" y="40" width="539" height="110" fill="#e0f2fe" stroke="#38bdf8" />
+ <rect x="539" y="40" width="461" height="110" fill="#fef3c7" stroke="#fbbf24" />
+ <g font-size="16" text-anchor="middle" fill="#1e293b">
+ <text x="270" y="78">40〜64歳(第2号)</text><text x="270" y="108">約4,188万人</text><text x="270" y="138">(約5.4割)</text>
+ <text x="770" y="78">65歳以上(第1号)</text><text x="770" y="108">約3,585万人</text><text x="770" y="138">(約4.6割)</text>
+ </g>
+</svg>
+
+四角の幅は、人数の割合です。
+
+- **40〜64歳(第2号被保険者)**:国保に加入していれば、保険税に「介護納付金分」が上乗せされます(医療保険者がまとめて納めます)。
+- **65歳以上(第1号被保険者)**:介護保険料を市に納めます(原則、年金から天引き)。
+
+つまり、介護保険に入っているからといって、国保に入らなくてよいわけではありません。国保と介護保険は、両方に加入します。
+
+出典:厚生労働省「介護保険制度の概要」(第1号は令和4年度末、第2号は令和4年度の月平均)
+
+## 誰が保険税を納める?
+
+国保税は、加入者ごとではなく世帯主がまとめて納めます(小平市の場合)。世帯主が国保に加入していなくても、世帯に加入者がいれば、その世帯主が納税義務者になります。
+
+## お金の流れ
+
+国保のお金は、誰から集めて、誰に払うのか。ここでは、そこだけを示します。下の図は小平市の場合です(令和7年度決算)。保険税・公費・繰り入れを集めて、医療費や東京都への納付金を払うという流れは、ほかの自治体でも同じです。
+
+<svg class="kokuho-svg" viewBox="0 0 1000 610" role="img" aria-label="国保のお金の流れ">
+ <defs>
+ <marker id="kokBackG" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto"><path d="M0,0 L7,3 L0,6 z" fill="#4ade80" /></marker>
+ <marker id="kokBack" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto"><path d="M0,0 L7,3 L0,6 z" fill="#a78bfa" /></marker>
+ <marker id="kokNat" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto"><path d="M0,0 L7,3 L0,6 z" fill="#6366f1" /></marker>
+ <marker id="kokBig" markerWidth="3" markerHeight="3" refX="2.2" refY="1.5" orient="auto"><path d="M0,0 L3,1.5 L0,3 z" fill="#6d28d9" /></marker>
+ </defs>
+ <line x1="500" y1="142" x2="500" y2="178" stroke="#6d28d9" stroke-width="9" marker-end="url(#kokBig)" />
+ <line x1="500" y1="274" x2="500" y2="318" stroke="#6d28d9" stroke-width="9" marker-end="url(#kokBig)" />
+ <rect x="20" y="20" width="960" height="120" rx="12" fill="#f0fdf4" stroke="#86efac" />
+ <rect x="390" y="24" width="220" height="30" rx="6" fill="#e0e7ff" stroke="#6366f1" stroke-width="2" />
+ <text x="500" y="45" font-size="14" text-anchor="middle" fill="#1e293b">国 約34億円</text>
+ <line x1="500" y1="56" x2="500" y2="74" stroke="#6366f1" stroke-width="3" marker-end="url(#kokNat)" />
+ <rect x="40" y="76" width="300" height="60" rx="8" fill="#dbeafe" stroke="#60a5fa" stroke-width="2" />
+ <rect x="360" y="76" width="280" height="60" rx="8" fill="#dcfce7" stroke="#4ade80" stroke-width="2" />
+ <rect x="660" y="76" width="300" height="60" rx="8" fill="#fef3c7" stroke="#fbbf24" stroke-width="2" />
+ <text x="38" y="46" font-size="15" text-anchor="start" fill="#166534">お金を払う人</text>
+ <g font-size="17" text-anchor="middle" fill="#1e293b">
+ <text x="190" y="100">国保加入者 約3万4千人</text>
+ <text x="190" y="122">(保険税 約36億円)</text>
+ <text x="500" y="100">東京都</text>
+ <text x="500" y="122">(交付金など 約118億円)</text>
+ <text x="810" y="100">市の一般会計</text>
+ <text x="810" y="122">(繰り入れ 約22億円)</text>
+ </g>
+ <rect x="280" y="186" width="440" height="88" rx="10" fill="#e9d5ff" stroke="#7c3aed" stroke-width="4" />
+ <g text-anchor="middle" fill="#1e293b">
+ <text x="500" y="224" font-size="20" font-weight="bold">国保の会計(特別会計)</text>
+ <text x="500" y="254" font-size="17">歳入 約179億円</text>
+ </g>
+ <rect x="20" y="326" width="960" height="270" rx="12" fill="#fefce8" stroke="#fde047" />
+ <text x="38" y="350" font-size="15" text-anchor="start" fill="#854d0e">お金を受け取る人(幅は金額に比例)</text>
+ <rect x="40" y="366" width="590" height="80" id="kokseg1" fill="#ffe4e6" stroke="#fb7185" stroke-width="2" />
+ <rect x="630" y="366" width="290" height="80" id="kokseg2" fill="#dcfce7" stroke="#4ade80" stroke-width="2" />
+ <rect x="920" y="366" width="12" height="80" id="kokseg3" fill="#f1f5f9" stroke="#94a3b8" stroke-width="1" />
+ <rect x="932" y="366" width="10" height="80" id="kokseg4" fill="#f1f5f9" stroke="#94a3b8" stroke-width="1" />
+ <rect x="942" y="366" width="9" height="80" id="kokseg5" fill="#f1f5f9" stroke="#94a3b8" stroke-width="1" />
+ <rect x="951" y="366" width="9" height="80" id="kokseg6" fill="#f1f5f9" stroke="#94a3b8" stroke-width="1" />
+ <g text-anchor="middle" fill="#1e293b">
+ <text x="335" y="396" font-size="20" font-weight="bold">医療機関</text>
+ <text x="335" y="428" font-size="20" font-weight="bold" id="kokleg1">保険給付費 約114億円(64%)</text>
+ <text x="775" y="396" font-size="18">東京都(戻す分)</text>
+ <text x="775" y="424" font-size="15" id="kokleg2">事業費納付金 約56億円(32%)</text>
+ </g>
+ <g font-size="15" text-anchor="start" fill="#1e293b">
+ <text x="40" y="486">右端の細い4つ(いずれも全体の約1%):</text>
+ <text x="40" y="512" id="kokleg3">・総務費 約2.2億円(職員の経費など)</text>
+ <text x="40" y="536" id="kokleg4">・諸支出金 約1.9億円(償還金・還付金など)</text>
+ <text x="520" y="512" id="kokleg5">・保健事業費 約1.8億円(健診の委託料など)</text>
+ <text x="520" y="536" id="kokleg6">・基金積立金 約1.7億円(事業運営基金へ)</text>
+ <text x="40" y="572">※事業費納付金のうち、子ども・子育て支援納付金(令和8年度から・約1億円)が令和8年度から加わります。</text>
+ </g>
+ <path d="M900,362 L900,340 L970,340 L970,30 L620,30 L620,74" fill="none" stroke="#4ade80" stroke-width="3" stroke-dasharray="6 4" marker-end="url(#kokBackG)" />
+ <text x="895" y="196" font-size="12" text-anchor="end" fill="#15803d">小平市が納めた納付金は東京都へ</text>
+ <text x="895" y="212" font-size="12" text-anchor="end" fill="#15803d">(東京都から交付金として戻る)</text>
+</svg>
+
+入ってくるお金は3つです(国保加入者の保険税、国と東京都の交付金など、市の一般会計からの繰り入れ)。出ていくお金は、大きく次のとおりです。金額は、令和7年度決算の概数です。
+
+- **保険給付費(約114億円)**:医療機関に払う医療費です。
+- **事業費納付金(約56億円)**:東京都に返す分です。東京都から受け取って、また返す理由は後述します。
+- **保健事業費(約2億円)**:健診機関などに払う、健診(健康診断)の委託料などです。
+- **基金積立金(約1.7億円)**:国民健康保険事業運営基金への積み立てです。
+- **総務費(約2.2億円)**:国保の事務を行う職員の経費などです。
+- **諸支出金(約1.9億円)**:償還金・還付金などです。
+
+**子ども・子育て支援納付金**は、令和8年度から新設された分です。東京都へ払う事業費納付金に含まれ、令和8年度予算では約1億円程度です(概数)。
+
+:::tip
+上の図の区画にカーソルを載せると(スマートフォンではタップ)、その区画が色づき、対応する説明や凡例が強調されます。
+:::
+
+## なぜ東京都にお金を払うのか
+
+平成30年度から、都道府県が保険者の役割を担うことになりました(全国共通)。小平市の場合、保険者は東京都です。小平市が集めたお金は、いったん東京都にまとめて納められ、東京都から各市へ交付金として配り直されます。これは、**市ごとの医療費の違いをならす**ためとされています。
+
+<svg class="kokuho-svg" viewBox="0 0 1000 500" role="img" aria-label="東京都が市のお金をまとめて配り直す仕組み">
+ <defs>
+ <marker id="kPoolIn" markerWidth="3" markerHeight="3" refX="2.2" refY="1.5" orient="auto"><path d="M0,0 L3,1.5 L0,3 z" fill="#6d28d9" /></marker>
+ <marker id="kPoolOut" markerWidth="3" markerHeight="3" refX="2.2" refY="1.5" orient="auto"><path d="M0,0 L3,1.5 L0,3 z" fill="#0ea5e9" /></marker>
+ </defs>
+ <rect x="20" y="20" width="960" height="110" rx="12" fill="#f0fdf4" stroke="#86efac" />
+ <text x="38" y="46" font-size="15" text-anchor="start" fill="#166534">各市(保険税などを集める)</text>
+ <rect x="40" y="58" width="300" height="64" rx="8" fill="#fef3c7" stroke="#fbbf24" stroke-width="2" />
+ <rect x="360" y="58" width="280" height="64" rx="8" fill="#dbeafe" stroke="#60a5fa" stroke-width="2" />
+ <rect x="660" y="58" width="300" height="64" rx="8" fill="#dcfce7" stroke="#4ade80" stroke-width="2" />
+ <g text-anchor="middle" fill="#1e293b" font-size="16">
+ <text x="190" y="88">高齢者が多い市</text><text x="190" y="112">医療費が多い</text>
+ <text x="500" y="88">小平市</text><text x="500" y="112">保険税など 約36億円</text>
+ <text x="810" y="88">若い人が多い市</text><text x="810" y="112">医療費が少ない</text>
+ </g>
+ <g stroke="#6d28d9" stroke-width="5" fill="none" marker-end="url(#kPoolIn)">
+ <line x1="190" y1="130" x2="380" y2="176" />
+ <line x1="500" y1="130" x2="500" y2="176" />
+ <line x1="810" y1="130" x2="620" y2="176" />
+ </g>
+ <text x="520" y="150" font-size="15" text-anchor="start" fill="#6d28d9">事業費納付金を納める(小平市は約56億円)</text>
+ <rect x="270" y="180" width="460" height="86" rx="10" fill="#e9d5ff" stroke="#7c3aed" stroke-width="4" />
+ <g text-anchor="middle" fill="#1e293b">
+ <text x="500" y="216" font-size="19" font-weight="bold">東京都(保険者)</text>
+ <text x="500" y="244" font-size="15">お金を一つにまとめて、配り直す</text>
+ </g>
+ <g stroke="#0ea5e9" stroke-width="5" fill="none" marker-end="url(#kPoolOut)">
+ <line x1="380" y1="266" x2="190" y2="312" />
+ <line x1="500" y1="266" x2="500" y2="312" />
+ <line x1="620" y1="266" x2="810" y2="312" />
+ </g>
+ <text x="520" y="286" font-size="15" text-anchor="start" fill="#0ea5e9">交付金を配る(小平市は約118億円)</text>
+ <rect x="20" y="316" width="960" height="110" rx="12" fill="#eff6ff" stroke="#93c5fd" />
+ <text x="38" y="342" font-size="15" text-anchor="start" fill="#1e40af">各市(医療費にあてる)</text>
+ <rect x="40" y="354" width="300" height="64" rx="8" fill="#fef3c7" stroke="#fbbf24" stroke-width="2" />
+ <rect x="360" y="354" width="280" height="64" rx="8" fill="#dbeafe" stroke="#60a5fa" stroke-width="2" />
+ <rect x="660" y="354" width="300" height="64" rx="8" fill="#dcfce7" stroke="#4ade80" stroke-width="2" />
+ <g text-anchor="middle" fill="#1e293b" font-size="16">
+ <text x="190" y="384">高齢者が多い市</text><text x="190" y="408">医療費が多い</text>
+ <text x="500" y="384">小平市</text><text x="500" y="408">保険給付費 約114億円</text>
+ <text x="810" y="384">若い人が多い市</text><text x="810" y="408">医療費が少ない</text>
+ </g>
+ <text x="500" y="454" font-size="15" text-anchor="middle" fill="#1e293b">高齢者が多い市は医療費が多く、若い人が多い市は少ない。</text>
+ <text x="500" y="478" font-size="15" text-anchor="middle" fill="#1e293b">都全体で分け合うことで、負担の差を小さくする。</text>
+</svg>
+
+### 金額の規模(令和6年度・令和7年度)
+
+小平市と東京都の間で動くお金の規模です(小平市の国保特別会計)。
+
+| 年度 | 小平市 → 東京都(事業費納付金) | 東京都 → 小平市(交付金など) |
+| --- | --- | --- |
+| 令和6年度 | 60億円(後期高齢者支援金等分を含む) | 116億8,738万円 |
+| 令和7年度 | 56億1,239万円 | 117億6,055万円 |
+
+小平市が東京都へ払うより、東京都から受け取るほうが大きくなっています。**差額は、国の公費や東京都の負担、ほかの自治体の納付金などでまかなわれています。**
+
+事業費納付金の内訳です。
+
+| 内訳 | 令和6年度 | 令和7年度 |
+| --- | --- | --- |
+| 医療給付費分 | 41億3,566万円 | 37億5,563万円 |
+| 後期高齢者支援金等分 | 13億7,187万円 | 13億6,731万円 |
+| 介護納付金分 | 4億9,473万円 | 4億8,945万円 |
+| 合計 | 60億円 | 56億1,239万円 |
+
+出典:令和7年度小平市各会計決算及び基金の運用状況審査意見書(令和6年度との比較を含む)
+
+### 配分と精算のタイミング
+
+事業費納付金を払うと、同じ年度に交付金として配り直されます。実績との差額は、翌年度に精算されます。以下は令和6年度から令和7年度への例です。
+
+<svg class="kokuho-svg" viewBox="0 0 1000 330" role="img" aria-label="配分と精算のタイミング">
+ <rect x="30" y="24" width="590" height="252" rx="10" fill="#f8fafc" stroke="#cbd5e1" />
+ <text x="48" y="50" font-size="16" text-anchor="start" fill="#0f172a">令和6年度(4月〜3月)</text>
+ <rect x="50" y="66" width="550" height="54" rx="8" fill="#fce7f3" stroke="#f472b6" stroke-width="2" />
+ <text x="70" y="88" font-size="14" text-anchor="start" fill="#1e293b">①小平市 → 東京都:事業費納付金 約60億円</text>
+ <text x="70" y="110" font-size="12" text-anchor="start" fill="#475569">第一期 8月4日、第二期 9月4日…と分割して納める</text>
+ <rect x="50" y="132" width="550" height="54" rx="8" fill="#e0f2fe" stroke="#38bdf8" stroke-width="2" />
+ <text x="70" y="154" font-size="14" text-anchor="start" fill="#1e293b">②東京都 → 小平市:交付金など 約117億円</text>
+ <text x="70" y="176" font-size="12" text-anchor="start" fill="#475569">国の公費と東京都の負担を足して、同じ年度に配る</text>
+ <rect x="50" y="198" width="550" height="54" rx="8" fill="#ffe4e6" stroke="#fb7185" stroke-width="2" />
+ <text x="70" y="220" font-size="14" text-anchor="start" fill="#1e293b">③小平市 → 医療機関:保険給付費 約113億円</text>
+ <text x="70" y="242" font-size="12" text-anchor="start" fill="#475569">受け取った交付金で支払う</text>
+ <line x1="630" y1="16" x2="630" y2="300" stroke="#94a3b8" stroke-width="2" stroke-dasharray="6 4" />
+ <text x="630" y="316" font-size="13" text-anchor="middle" fill="#475569">3月31日(年度末)</text>
+ <rect x="660" y="24" width="310" height="252" rx="10" fill="#fffbeb" stroke="#fcd34d" />
+ <text x="678" y="50" font-size="16" text-anchor="start" fill="#0f172a">翌年度(令和7年度)</text>
+ <text x="678" y="84" font-size="14" text-anchor="start" fill="#1e293b">④ 精算</text>
+ <text x="678" y="108" font-size="12" text-anchor="start" fill="#475569">使い残しは東京都へ返す</text>
+ <text x="678" y="128" font-size="12" text-anchor="start" fill="#475569">(返還金)</text>
+ <text x="678" y="152" font-size="12" text-anchor="start" fill="#475569">令和6年度分の返還分は、</text>
+ <text x="678" y="172" font-size="12" text-anchor="start" fill="#475569">令和7年度の諸支出金</text>
+ <text x="678" y="192" font-size="12" text-anchor="start" fill="#475569">(償還金など 約1.9億円)</text>
+ <text x="678" y="212" font-size="12" text-anchor="start" fill="#475569">に含まれます</text>
+ <text x="678" y="246" font-size="12" text-anchor="start" fill="#475569">※不足した場合は、翌年度に</text>
+ <text x="678" y="266" font-size="12" text-anchor="start" fill="#475569">追加で調整されます</text>
+</svg>
+
+:::note
+事業費納付金の納期は、**納期ごとに均等分割**して納めます(一括ではありません)。東京都国民健康保険事業費納付金条例施行規則では、第一期 8月4日、第二期 9月4日…と定められています。
+:::
+
+### 制度が説明する理由(負担の平準化)
+
+:::note
+国の負担は、小平市に直接入るのではなく、いったん東京都の国保会計に入ります。都全体では、歳出約1兆589億円に対して国庫支出金は約3,033億円(**約28.6%**)です。小平市が受け取る交付金約118億円にこの割合を当てはめると、**国の負担に相当する分は約34億円**になります(概算)。市町村からの納付金は都全体で約4,341億円です。
+
+出典:令和7年度東京都国民健康保険事業会計決算(東京都特別会計決算)
+:::
+
+国保の加入者は、市ごとに年齢や所得の構成が大きく違います。高齢者が多い市は1人当たりの医療費が多く、若い人が多い市は少なくなります。市ごとに完結させると、医療費の多い市の保険料だけが高くなってしまいます。そこで、都道府県単位でお金をまとめて配り直し、加入者1人当たりの負担の差をならす、と説明されています。小平市は、東京都を通じてほかの自治体とお金を共有している形です。
+
+### この仕組みへの批判
+
+ただし、この負担の平準化には、次のような問題があるという指摘があります。
+
+- **医療費を抑える動機が弱まる**:医療費が増えても都全体で薄く広く負担するため、各市が医療費の適正化に取り組む動機が弱まります(モラルハザード)。
+- **受診抑制につながりかねない**:高齢者が多い自治体ほど医療費がかさむため、「ほかの市の負担を増やさないように」という圧力が働くと、必要な受診まで控えさせる方向になりかねません。「高齢者の多い自治体が受診を抑制しなければつじつまが合わない」という批判です。
+- **医療提供側に抑制の動機が働きにくい**:診療報酬は出来高払いが中心で、医療サービスの量に応じて支払われます。そのため、医療費の増加は医療機関の収入の増加につながります。給付が増えるほど医療提供側の収益も増える構造です。
+- **負担は加入者に向かう**:小平市でも、東京都が示す標準保険料率との乖離を縮めるため、法定外繰り入れを減らし、保険税を引き上げる対応が続いています。監査委員も、東京都が示す標準保険料率と市の保険税率に「大きな乖離がある」と指摘しています。
+
+安竹は、この仕組みが「医療費の無駄を抑える」方向ではなく、「医療費の増加を都全体で薄く負担する」方向に働きやすいと考えています。医療費を抑えるには、単に負担を平準化するだけでなく、医療提供の側の仕組み(診療報酬など)にも踏み込んだ議論が必要です。
+
+### では、医療費をどう抑えるか
+
+ここからは、制度設計についての安竹の整理です。
+
+まず言葉を分けます。**適正化**は、医学的に不要な医療(無駄)を減らすことです。**抑制**は、必要な医療まで控えさせることです。目指すべきは適正化です。抑制は、手遅れによる重症化を招き、医療費を増やすことになります。
+
+「誰が負担するか」を変えても、医療費は抑えられません。医療費の増加は、主に提供側(医療機関)の診療量で決まるからです。診療報酬は出来高払いが中心で、診療の量に応じて収入が増えます。**誰が払うかを変えても、提供側の「量を増やす動機」は変わりません。**
+
+国が一部負担を増やす案も、**負担の所在が変わるだけ**で、抑制にはつながりにくいという整理になります。
+
+| 案 | 抑制のインセンティブ | 公平性 | 医療費は抑えられるか |
+| --- | --- | --- | --- |
+| 国が一部負担を増やす | 弱まる | 負担が全国の税へ | あまり変わらない |
+| 公費を低所得者対策に厚くする | 影響が小さい | よくなる | 公平性は改善 |
+| 支払方式・提供体制の改革 | 効く | 中立 | ここが本命 |
+
+そこで、次の順で考えるのがよいと考えます。
+
+1. **公費は「守るべき部分」に入れる**:低所得者の保険料軽減、子どもの均等割の減免、高額療養費の負担軽減などです。これは抑制とは別の軸で、公平性のための公費です。
+2. **医療費の伸びを評価する仕組みに変える**:いまのペナルティは「赤字繰入を保険料で埋めろ」という話で、医療費を抑える動機にはなっていません。1人当たり給付費の伸びを抑えた市に配分を厚くする方向に変えるべきです。
+3. **提供側の支払方式を変える(本命)**:入院の包括払いの拡大、予防や重症化予防の成果への報酬、無駄な検査や投薬への減算です。
+4. **市ができること**:小平市は、健診の受診率向上と重症化予防の対象拡大に取り組めます。透析は1人あたり年間500〜600万円かかるため、1人を防げれば効果は大きいです。ただし、診療報酬は国の権限、財政運営は東京都で、市が医療費を動かせる範囲は限られます。
+
+
+
+:::note
+健診機関(健診センターなど)は、医療機関であることが多いです。国保の会計では支払うお金の種類が違う(医療費と健診の委託料)ため、分けて示しています。
+:::
+
+:::note
+ここでいう「加入者」は、国民健康保険に加入している人(国保加入者)のことです。会社の健康保険などに入っている人は含みません。
+:::
+
+## 3行でまとめると
+
+- 国保は、加入者の保険税と、国・東京都のお金で運営しています。
+- それでも足りない分を、市の一般会計から移しています。これが「繰り入れ」です。
+- この繰り入れが年々増え、保険税の引き上げと、東京都からのペナルティにつながっています。
+
+## 1. 「保険税」と「保険料」は何がちがう?
+
+市町村には、保険税で集める「税方式」と、保険料で集める「料方式」があります(全国共通)。小平市は税方式です(小平市の場合)。法律の根拠が違い、実務でも差が出ます。
+
+| 項目 | 保険税(小平市) | 保険料 |
+| --- | --- | --- |
+| 根拠となる法律 | 地方税法 | 国民健康保険法 |
+| 呼び方 | 国民健康保険税 | 国民健康保険料 |
+| 国の改正の公布時期 | 年度末になりやすい | 1〜2月ごろ |
+| 市の条例改正 | 翌年度にずれ込みやすい | 年度内に対応しやすい |
+
+```mermaid
+flowchart TD
+ A["税方式(小平市)地方税法施行令の公布が年度末"] --> B["課税限度額の改正が翌年度にずれる"]
+ C["料方式 国民健康保険法施行令は1〜2月ごろ公布"] --> D["年度内に条例改正できる"]
+```
+
+「税」なので、納付の仕組みは税のルールに沿います。馴染みにくい違いですが、制度改正の時期に影響します。
+
+:::note
+東京都は令和6年6月、「保険料水準統一加速化プラン」を策定しました(東京都の場合)。都内の保険料水準を統一していく方向で、課税限度額も政令の額にそろえていく考えが示されています。
+:::
+
+## 2. 繰り入れ — 一般会計からの応援
+
+小平市の場合、令和7年度決算の繰り入れは、次の2種類に分かれます。
+
+```mermaid
+flowchart TD
+ R["一般会計からの繰り入れ 約22億円"] --> H["法定内 約10億円"]
+ R --> G["法定外(赤字)約12億円"]
+ H --> H2["法律で決まっている分。低所得者の軽減、職員給与、出産育児一時金など"]
+ G --> G2["保険税だけでは足りない分。国が解消を求める"]
+```
+
+法定内と法定外の区別は、全国共通の制度です。小平市の場合、法定外繰り入れが令和4年度から大きく増えています。
+
+| 年度 | 一般会計からの繰り入れ | うち法定外(赤字) |
+| --- | --- | --- |
+| 令和元年度 | 20億6,000万円 | 11億4,268万円 |
+| 令和2年度 | 19億1,000万円 | 10億1,043万円 |
+| 令和3年度 | 18億7,500万円 | 9億1,732万円 |
+| 令和4年度 | 21億円 | 11億6,888万円 |
+| 令和5年度 | 26億6,000万円 | 17億2,354万円 |
+| 令和6年度 | 27億8,000万円 | 17億9,698万円 |
+| 令和7年度 | 22億1,000万円 | 約12億200万円 |
+
+小平市の場合、主な原因は、東京都に支払う事業費納付金の高止まり、1人当たり医療費の増、加入者数の減少です。加入者が減ると、同じ医療費を少ない人数で分けるため、1人当たりの負担が増えます。
+
+:::caution
+法定外繰り入れは、国保の加入者以外の市民の税金も使っています。そのため国は計画的に減らすよう求めています(全国共通)。市によると、全国の自治体のおよそ9割は法定外繰り入れをしていません。小平市は、この法定外繰り入れを行っている側です(小平市の場合)。
+:::
+
+## 3. 繰り越し — 決算で余ったお金
+
+```mermaid
+flowchart TD
+ J["決算で余ったお金(実質収支)"] --> K["東京都への返還金"]
+ J --> L["翌年度の事業費納付金に充当"]
+ J --> M["国民健康保険事業運営基金へ積み立て"]
+ J --> N["一般会計へ戻す"]
+```
+
+決算で収入が支出を上回った分を繰り越すのは、全国共通の制度です。小平市の場合、令和7年度は実質収支が1億4,495万円でした。これは令和8年度に繰り越し、事業費納付金の支払いなどに充てます。
+
+## 4. 基金 — 税率アップに備える貯金
+
+小平市の場合、残高と積立額は次のとおりです。
+
+| 時点 | 国民健康保険事業運営基金 |
+| --- | --- |
+| 令和6年度末の残高 | 1億6,959万円 |
+| 令和7年度の積立額 | 1億6,759万円 |
+| 令和7年度末の残高 | 3億3,718万円 |
+
+「国民健康保険事業運営基金」は、市が独自に積み立てる基金です(小平市の場合)。これとは別に、各都道府県には「国民健康保険財政安定化基金」があります(全国共通)。都道府県全体で医療費の急増に備えるお金で、必要に応じて貸付を受けられます。
+
+## 5. 赤字繰り入れを減らす計画とペナルティ
+
+```mermaid
+timeline
+ title 赤字繰り入れ解消のあゆみ
+ 平成30年度 : 計画を開始
+ 令和4年度 : 税率改定を見送る
+ 令和5年度 : 税率改定
+ 令和8年度 : 税率改定
+ 令和16年度 : 赤字繰り入れの解消(目標)
+```
+
+計画の内容と目標年次は市ごとに決めます。小平市の場合、令和8年度予算では法定外繰り入れを11億1,434万円とし、前年度より3億7,900万円減らす計画です。
+
+### ペナルティのしくみ
+
+市が計画どおりに赤字繰り入れを減らせないと、東京都からの交付金が減ります(東京都の場合)。これがペナルティです。税率を上げても赤字繰り入れが減らなければ、ペナルティは発生します。
+
+| 年度 | ペナルティ(交付金の減額) |
+| --- | --- |
+| 令和元年度 | 約370万円 |
+| 令和4年度 | 約350万円 |
+| 令和5年度 | 約350万円 |
+| 令和6年度 | 約420万円 |
+| 令和8年度(見込み) | 約530万円 |
+
+逆に、計画どおり解消できていれば交付金が増えます。小平市の場合、赤字を解消していればプラス60点、現状はマイナス40点です。その差100点は、約1,300万円に相当します。
+
+## 6. 誰が決める? 国保運営協議会
+
+税率や給付の見直しは、市長の諮問機関である国民健康保険運営協議会で審議します(全国共通で、市町村ごとにあります)。小平市の協議会は「小平市国民健康保険運営協議会」です。市長は答申を受けてから条例案を議会に出し、議会が議決します。
+
+```mermaid
+flowchart TD
+ A["市長が諮問"] --> B["国保運営協議会で審議"]
+ B --> C["答申"]
+ C --> D["市が条例案を議会へ提出"]
+ D --> E["議会が議決・認定"]
+```
+
+小平市の場合、令和5年11月の答申では、法定外繰り入れの計画的解消が必要とする一方、「11年間で6回の改定、40%の値上げになれば、若者の負担が増える」という懸念も示されました。協議会からは、制度の全体像を市民に伝えてほしいとの要望も出ています。
+
+## 7. 健診は「無料」なのか
+
+特定健康診査(特定健診)は、全国共通の制度です。40歳から74歳までの国保加入者が対象です。受診時の窓口負担がないため、小平市でも「無料」と案内されます(小平市の場合)。ただし、費用がかからないわけではありません。費用は国保の会計から出ています。
+
+```mermaid
+pie showData
+ title 小平市の特定健診の費用の財源(おおよそ)
+ "国" : 33
+ "東京都" : 33
+ "国保の保険税など" : 34
+```
+
+国と東京都の補助で足りない分は、国保の保険税でまかないます。保険税でも足りない分は、法定外繰り入れや基金から充てられます。つまり「無料」に見える健診も、加入者が納めた保険税で支えられています(小平市の場合)。
+
+## 8. 人工透析をめぐる課題
+
+小平市の場合、高額療養費の1人当たり医療費が高い順は、次のとおりです(令和6年度)。
+
+| 順位 | 傷病 | 1人当たりの医療費 |
+| --- | --- | --- |
+| 1位 | 人工透析 | 49万円 |
+| 2位 | 脳出血 | 16万6,000円 |
+| 3位 | がん | 12万2,000円 |
+| 4位 | 心筋梗塞 | 11万4,000円 |
+| 5位 | 脳梗塞 | 10万8,000円 |
+
+```mermaid
+flowchart TD
+ A["糖尿病"] --> B["糖尿病性腎症"]
+ B --> C["人工透析"]
+ C --> D["医療費が年間500〜600万円"]
+ B --> E["重症化予防で透析を防ぐ"]
+```
+
+重症化予防は全国共通の枠組みで、取り組みの内容は市ごとに異なります。小平市は、糖尿病性腎症重症化予防事業を進めています。対象者は301人で、令和6年度は19人が参加し、17人が最後まで取り組みました。令和5年度からは、主治医と薬剤師が参加を勧める「薬剤師モデル」も導入しています。腎臓移植の周知も続けています(令和6年度は2件)。
+
+## 9. キーワードのミニ辞典
+
+| 用語 | 意味 |
+| --- | --- |
+| 保険者 | 保険を運営する主体。平成30年度からは都道府県です(小平市の場合は東京都)。 |
+| 被保険者 | 国保に加入している人(国保加入者)。小平市の場合、約3万4千人です。 |
+| 都道府県単位化 | 平成30年度から、都道府県が国保の運営を担う仕組みです(全国共通)。 |
+| 事業費納付金 | 市が都道府県へ支払う、医療給付などの原資です(小平市の場合は東京都)。 |
+| 普通交付金 | 都道府県が市へ渡す、保険給付費の財源です(小平市の場合は東京都)。 |
+| 調整交付金 | 所得水準などに応じて配分を調整する交付金です(全国共通)。 |
+| 法定内繰入 | 法律で決まっている、一般会計からの繰り入れです(全国共通)。 |
+| 法定外繰入(赤字繰入) | 法律で決まっていない繰り入れ。保険税の不足分です(全国共通)。 |
+| 保険基盤安定繰入金 | 低所得者の保険税の軽減分を補う繰入金です(全国共通)。 |
+| 実質収支 | 決算で収入が支出を上回った額です(全国共通)。 |
+| 繰越金 | 実質収支のうち、翌年度に繰り越すお金です(全国共通)。 |
+| 事業運営基金 | 市が独自に積み立てる貯金です。税率改定の緩和などに使います(小平市の場合)。 |
+| 財政安定化基金 | 都道府県が設置した基金です。医療費の急増に備え、市は貸付を受けられます(全国共通)。 |
+| 国保運営協議会 | 市長の諮問機関です。税率や給付を審議し答申します(全国共通)。小平市では「小平市国民健康保険運営協議会」です。 |
+| ペナルティ | 赤字繰り入れの解消状況に応じ、交付金が増減する仕組みです(小平市の場合は東京都)。 |
+| 後期高齢者支援金 | 国保が負担する、後期高齢者医療への拠出金です(全国共通)。 |
+| 介護納付金 | 40〜64歳の加入者分として国保が負担する、介護保険への拠出金です(全国共通)。 |
+| 子ども・子育て支援納付金 | 令和8年度から加わった、子ども・子育て支援金分の納付金です(全国共通)。 |
+| 特定健康診査・特定保健指導 | 40〜74歳の加入者を対象にした健診と保健指導です(全国共通)。 |
+| データヘルス計画 | 健診とレセプトのデータを分析し、医療費適正化を進める計画です(全国共通)。 |
+| ジェネリック医薬品 | 後発医薬品です。差額通知で普及を促しています。 |
+
+## 10. まとめ
+
+- 国保は、保険税と公費で運営し、足りない分を一般会計からの繰り入れで補っています。
+- そのうち「法定外繰り入れ」は令和5年度に約17億円まで増え、令和7年度は約12億円に減りました。
+- 解消が遅れると、保険税の引き上げと、東京都からのペナルティが重なります。
+- 健診の「無料」も、実際は保険税で支えられています。
+- 医療費では人工透析が突出して高く、重症化予防と腎臓移植の周知が課題です。
+
+## 出典
+
+数値と発言は、次の会議録と市の資料で確認しました。
+
+- 厚生労働省「我が国の医療保険について」(全国の医療保険の加入者数)
+
+- 令和7年度小平市国民健康保険事業特別会計決算(令和7年度小平市各会計決算及び基金の運用状況審査意見書、令和7年度小平市一般会計歳入歳出決算書)
+- 令和7年度決算特別委員会参考資料集
+
+- 令和6年度小平市国民健康保険事業特別会計決算(令和7年10月17日 特別会計・下水道事業会計決算特別委員会)[会議録](https://ssp.kaigiroku.net/tenant/kodaira/SpMinuteView.html?council_id=1591&schedule_id=2)
+- 令和8年度小平市国民健康保険事業特別会計予算(令和8年3月6日 特別会計予算特別委員会)[会議録](https://ssp.kaigiroku.net/tenant/kodaira/SpMinuteView.html?council_id=1617&schedule_id=2)
+- 令和5年度小平市国民健康保険事業特別会計決算(令和6年10月18日 特別会計・下水道事業会計決算特別委員会)[会議録](https://ssp.kaigiroku.net/tenant/kodaira/SpMinuteView.html?council_id=1517&schedule_id=2)
+- 令和4年度小平市国民健康保険事業特別会計決算(令和5年10月13日 特別会計・下水道事業会計決算特別委員会)[会議録](https://ssp.kaigiroku.net/tenant/kodaira/SpMinuteView.html?council_id=1450&schedule_id=2)
+- 令和3年度小平市国民健康保険事業特別会計決算(令和4年10月14日 特別会計・下水道事業会計決算特別委員会)[会議録](https://ssp.kaigiroku.net/tenant/kodaira/SpMinuteView.html?council_id=1371&schedule_id=2)
+- 令和2年度小平市国民健康保険事業特別会計決算(令和3年10月15日 特別会計・下水道事業会計決算特別委員会)[会議録](https://ssp.kaigiroku.net/tenant/kodaira/SpMinuteView.html?council_id=1254&schedule_id=2)
+- 令和元年度小平市国民健康保険事業特別会計決算(令和2年10月16日 特別会計・下水道事業会計決算特別委員会)[会議録](https://ssp.kaigiroku.net/tenant/kodaira/SpMinuteView.html?council_id=1171&schedule_id=2)
+- 小平市国民健康保険条例の一部を改正する条例(令和7年3月13日 厚生委員会)[会議録](https://ssp.kaigiroku.net/tenant/kodaira/SpMinuteView.html)
+- 小平市「国民健康保険の概要」(各年度版)
+
+:::caution
+次の数値は、出典をまだ確認できていません。のちほど確認します。
+
+- 生活保護(医療扶助)の人数(約202万人)… 生活保護の統計(被保護者調査など)で確認する
+- 子ども・子育て支援納付金の金額(約1億円)… 令和8年度予算の増加額からの概算
+- 令和6年度の小平市 → 東京都の事業費納付金(60億円)… 決算額は審査意見書の科目別表で、円単位は確認中
+- 国 → 東京都の金額… **確認済み**(令和7年度決算の国庫支出金は約3,033億円)
+- 事業費納付金の納期… **確認済み**(東京都国民健康保険事業費納付金条例施行規則。納期ごとに均等分割し、第一期は8月4日、第二期は9月4日)
+:::
+
+:::note
+令和7年度の疾病別の医療費(人工透析など)は、まだ資料で確認できていません。確認でき次第追記します。
+:::
diff --git a/src/styles/custom.css b/src/styles/custom.css
index e1e455f..766e958 100644
--- a/src/styles/custom.css
+++ b/src/styles/custom.css
@@ -631,6 +631,144 @@ aside .title {
text-align: center !important;
}
+/* Mermaid diagrams: Astro's MDX pipeline drops mermaid's inline <style>, so the
+ theme CSS is restored in a generated block at the end of this file. Give the
+ SVGs a light card background so they stay readable in dark mode too. */
+.sl-markdown-content svg[id^="mermaid-"] {
+ display: block;
+ margin: 1.25rem auto;
+ padding: 0.75rem;
+ height: auto;
+ background: #ffffff;
+ border: 1px solid var(--sl-color-gray-5);
+ border-radius: 10px;
+ box-sizing: border-box;
+}
+
+/* Mermaid draws labels as HTML inside <foreignObject>. The site's paragraph styles
+ (text-indent, justify, bottom margin) leak into those labels and clip the text,
+ because the box size was measured without them. Reset them for mermaid labels. */
+.sl-markdown-content svg[id^="mermaid-"] foreignObject span,
+.sl-markdown-content svg[id^="mermaid-"] foreignObject p {
+ margin: 0;
+ padding: 0;
+ text-indent: 0;
+ text-align: center;
+ text-justify: auto;
+ line-height: 1.5;
+ font-family: arial, sans-serif;
+ font-size: 16px;
+}
+
+/* mermaid の <br> は、このサイトのMDX経路で <br></br> に変換される。ブラウザは
+ </br> も改行と解釈するため二重改行になり、2行目が箱の外にはみ出して切れる。
+ 連続する2つ目の br を無効化して、1つ分の改行に戻す。 */
+.sl-markdown-content svg[id^="mermaid-"] foreignObject br + br {
+ display: none;
+}
+
+/* ── 帯グラフ(四角の幅が割合を示す) ── */
+.kokuho-svg {
+ display: block;
+ width: 100%;
+ height: auto;
+ margin: 1.25rem 0 0.75rem;
+}
+
+/* 図の中の文字は、下の図形のホバーを妨げないようにする */
+.kokuho-svg text {
+ pointer-events: none;
+}
+
+/* 帯グラフの区画にカーソルを載せると、対応する説明や凡例を強調する(JS不要) */
+.kokuho-svg:has(#kokseg1:hover) #kokleg1,
+.kokuho-svg:has(#kokseg2:hover) #kokleg2,
+.kokuho-svg:has(#kokseg3:hover) #kokleg3,
+.kokuho-svg:has(#kokseg4:hover) #kokleg4,
+.kokuho-svg:has(#kokseg5:hover) #kokleg5,
+.kokuho-svg:has(#kokseg6:hover) #kokleg6 {
+ fill: #b91c1c;
+ font-weight: 700;
+}
+#kokseg1:hover,
+#kokseg2:hover,
+#kokseg3:hover,
+#kokseg4:hover,
+#kokseg5:hover,
+#kokseg6:hover {
+ stroke: #b91c1c;
+ stroke-width: 3;
+ filter: brightness(0.95);
+}
+.kokuho-bar-callout {
+ position: relative;
+ margin: 0 0 0.5rem;
+ padding-right: 0.2rem;
+ font-size: 0.75rem;
+ line-height: 1.3;
+ text-align: right;
+}
+/* 「他」の箱への引き出し線 */
+.kokuho-bar-callout::after {
+ content: "";
+ position: absolute;
+ right: 2.5%;
+ bottom: -0.5rem;
+ width: 1px;
+ height: 0.5rem;
+ background: #64748b;
+}
+.kokuho-bar {
+ display: grid;
+ grid-auto-flow: column;
+ align-items: stretch;
+ width: 100%;
+ margin: 0;
+ font-size: 0.8rem;
+ line-height: 1.35;
+ text-align: center;
+}
+.kokuho-bar > div {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ min-height: 4.6rem;
+ padding: 0.5rem 0.4rem;
+ border: 1px solid;
+ border-left-width: 0;
+ color: #1e293b;
+ box-sizing: border-box;
+ min-width: 0;
+ overflow: hidden;
+}
+.kokuho-bar > div:first-child {
+ border-left-width: 1px;
+ border-top-left-radius: 8px;
+ border-bottom-left-radius: 8px;
+}
+.kokuho-bar > div:last-child {
+ border-top-right-radius: 8px;
+ border-bottom-right-radius: 8px;
+ padding-left: 0;
+ padding-right: 0;
+}
+.kokuho-bar .name {
+ display: block;
+ font-weight: 700;
+}
+.kokuho-bar .ratio {
+ display: block;
+}
+@media (max-width: 640px) {
+ .kokuho-bar {
+ font-size: 0.68rem;
+ }
+ .kokuho-bar > div {
+ padding: 0.4rem 0.2rem;
+ }
+}
+
/* ── Video container ── */
.video-container {
position: relative;
@@ -1602,3 +1740,8 @@ td.sanpi-open .sanpi-title {
.sanpi-tip[hidden] {
display: none;
}
+
+/* == mermaid-theme-generated == */
+svg[id^="mermaid-"]{font-family:arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}svg[id^="mermaid-"] .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}svg[id^="mermaid-"] .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}svg[id^="mermaid-"] .error-icon{fill:#552222;}svg[id^="mermaid-"] .error-text{fill:#552222;stroke:#552222;}svg[id^="mermaid-"] .edge-thickness-normal{stroke-width:1px;}svg[id^="mermaid-"] .edge-thickness-thick{stroke-width:3.5px;}svg[id^="mermaid-"] .edge-pattern-solid{stroke-dasharray:0;}svg[id^="mermaid-"] .edge-thickness-invisible{stroke-width:0;fill:none;}svg[id^="mermaid-"] .edge-pattern-dashed{stroke-dasharray:3;}svg[id^="mermaid-"] .edge-pattern-dotted{stroke-dasharray:2;}svg[id^="mermaid-"] .marker{fill:#333333;stroke:#333333;}svg[id^="mermaid-"] .marker.cross{stroke:#333333;}svg[id^="mermaid-"] svg{font-family:arial,sans-serif;font-size:16px;}svg[id^="mermaid-"] p{margin:0;}svg[id^="mermaid-"] .label{font-family:arial,sans-serif;color:#333;}svg[id^="mermaid-"] .cluster-label text{fill:#333;}svg[id^="mermaid-"] .cluster-label span{color:#333;}svg[id^="mermaid-"] .cluster-label span p{background-color:transparent;}svg[id^="mermaid-"] .label text,svg[id^="mermaid-"] span{fill:#333;color:#333;}svg[id^="mermaid-"] .node rect,svg[id^="mermaid-"] .node circle,svg[id^="mermaid-"] .node ellipse,svg[id^="mermaid-"] .node polygon,svg[id^="mermaid-"] .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}svg[id^="mermaid-"] .rough-node .label text,svg[id^="mermaid-"] .node .label text,svg[id^="mermaid-"] .image-shape .label,svg[id^="mermaid-"] .icon-shape .label{text-anchor:middle;}svg[id^="mermaid-"] .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}svg[id^="mermaid-"] .rough-node .label,svg[id^="mermaid-"] .node .label,svg[id^="mermaid-"] .image-shape .label,svg[id^="mermaid-"] .icon-shape .label{text-align:center;}svg[id^="mermaid-"] .node.clickable{cursor:pointer;}svg[id^="mermaid-"] .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}svg[id^="mermaid-"] .arrowheadPath{fill:#333333;}svg[id^="mermaid-"] .edgePath .path{stroke:#333333;stroke-width:1px;}svg[id^="mermaid-"] .flowchart-link{stroke:#333333;fill:none;}svg[id^="mermaid-"] .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}svg[id^="mermaid-"] .edgeLabel p{background-color:rgba(232,232,232, 0.8);}svg[id^="mermaid-"] .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}svg[id^="mermaid-"] .labelBkg{background-color:rgba(232, 232, 232, 0.5);}svg[id^="mermaid-"] .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}svg[id^="mermaid-"] .cluster text{fill:#333;}svg[id^="mermaid-"] .cluster span{color:#333;}svg[id^="mermaid-"] div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}svg[id^="mermaid-"] .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}svg[id^="mermaid-"] rect.text{fill:none;stroke-width:0;}svg[id^="mermaid-"] .icon-shape,svg[id^="mermaid-"] .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}svg[id^="mermaid-"] .icon-shape p,svg[id^="mermaid-"] .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}svg[id^="mermaid-"] .icon-shape .label rect,svg[id^="mermaid-"] .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}svg[id^="mermaid-"] .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}svg[id^="mermaid-"] .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}svg[id^="mermaid-"] .node .neo-node{stroke:#9370DB;}svg[id^="mermaid-"] [data-look="neo"].node rect,svg[id^="mermaid-"] [data-look="neo"].cluster rect,svg[id^="mermaid-"] [data-look="neo"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}svg[id^="mermaid-"] [data-look="neo"].node path{stroke:#9370DB;stroke-width:1px;}svg[id^="mermaid-"] [data-look="neo"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}svg[id^="mermaid-"] [data-look="neo"].node .neo-line path{stroke:#9370DB;filter:none;}svg[id^="mermaid-"] [data-look="neo"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}svg[id^="mermaid-"] [data-look="neo"].node circle .state-start{fill:#000000;}svg[id^="mermaid-"] [data-look="neo"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}svg[id^="mermaid-"] [data-look="neo"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}svg[id^="mermaid-"] :root{--mermaid-font-family:arial,sans-serif;}
+svg[id^="mermaid-"]{font-family:arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}svg[id^="mermaid-"] .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}svg[id^="mermaid-"] .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}svg[id^="mermaid-"] .error-icon{fill:#552222;}svg[id^="mermaid-"] .error-text{fill:#552222;stroke:#552222;}svg[id^="mermaid-"] .edge-thickness-normal{stroke-width:1px;}svg[id^="mermaid-"] .edge-thickness-thick{stroke-width:3.5px;}svg[id^="mermaid-"] .edge-pattern-solid{stroke-dasharray:0;}svg[id^="mermaid-"] .edge-thickness-invisible{stroke-width:0;fill:none;}svg[id^="mermaid-"] .edge-pattern-dashed{stroke-dasharray:3;}svg[id^="mermaid-"] .edge-pattern-dotted{stroke-dasharray:2;}svg[id^="mermaid-"] .marker{fill:#333333;stroke:#333333;}svg[id^="mermaid-"] .marker.cross{stroke:#333333;}svg[id^="mermaid-"] svg{font-family:arial,sans-serif;font-size:16px;}svg[id^="mermaid-"] p{margin:0;}svg[id^="mermaid-"] .pieCircle{stroke:black;stroke-width:2px;opacity:0.7;}svg[id^="mermaid-"] .pieOuterCircle{stroke:black;stroke-width:2px;fill:none;}svg[id^="mermaid-"] .pieTitleText{text-anchor:middle;font-size:25px;fill:black;font-family:arial,sans-serif;}svg[id^="mermaid-"] .slice{font-family:arial,sans-serif;fill:#333;font-size:17px;}svg[id^="mermaid-"] .legend text{fill:black;font-family:arial,sans-serif;font-size:17px;}svg[id^="mermaid-"] .node .neo-node{stroke:#9370DB;}svg[id^="mermaid-"] [data-look="neo"].node rect,svg[id^="mermaid-"] [data-look="neo"].cluster rect,svg[id^="mermaid-"] [data-look="neo"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}svg[id^="mermaid-"] [data-look="neo"].node path{stroke:#9370DB;stroke-width:1px;}svg[id^="mermaid-"] [data-look="neo"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}svg[id^="mermaid-"] [data-look="neo"].node .neo-line path{stroke:#9370DB;filter:none;}svg[id^="mermaid-"] [data-look="neo"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}svg[id^="mermaid-"] [data-look="neo"].node circle .state-start{fill:#000000;}svg[id^="mermaid-"] [data-look="neo"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}svg[id^="mermaid-"] [data-look="neo"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}svg[id^="mermaid-"] :root{--mermaid-font-family:arial,sans-serif;}
+svg[id^="mermaid-"]{font-family:arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}svg[id^="mermaid-"] .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}svg[id^="mermaid-"] .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}svg[id^="mermaid-"] .error-icon{fill:#552222;}svg[id^="mermaid-"] .error-text{fill:#552222;stroke:#552222;}svg[id^="mermaid-"] .edge-thickness-normal{stroke-width:1px;}svg[id^="mermaid-"] .edge-thickness-thick{stroke-width:3.5px;}svg[id^="mermaid-"] .edge-pattern-solid{stroke-dasharray:0;}svg[id^="mermaid-"] .edge-thickness-invisible{stroke-width:0;fill:none;}svg[id^="mermaid-"] .edge-pattern-dashed{stroke-dasharray:3;}svg[id^="mermaid-"] .edge-pattern-dotted{stroke-dasharray:2;}svg[id^="mermaid-"] .marker{fill:#333333;stroke:#333333;}svg[id^="mermaid-"] .marker.cross{stroke:#333333;}svg[id^="mermaid-"] svg{font-family:arial,sans-serif;font-size:16px;}svg[id^="mermaid-"] p{margin:0;}svg[id^="mermaid-"] .edge{stroke-width:3;}svg[id^="mermaid-"] .section--1 rect,svg[id^="mermaid-"] .section--1 path,svg[id^="mermaid-"] .section--1 circle,svg[id^="mermaid-"] .section--1 path{fill:hsl(240, 100%, 76.2745098039%);}svg[id^="mermaid-"] .section--1 text{fill:#ffffff;}svg[id^="mermaid-"] .node-icon--1{font-size:40px;color:#ffffff;}svg[id^="mermaid-"] .section-edge--1{stroke:hsl(240, 100%, 76.2745098039%);}svg[id^="mermaid-"] .edge-depth--1{stroke-width:17;}svg[id^="mermaid-"] .section--1 line{stroke:hsl(60, 100%, 86.2745098039%);stroke-width:3;}svg[id^="mermaid-"] .lineWrapper line{stroke:#ffffff;}svg[id^="mermaid-"] .disabled,svg[id^="mermaid-"] .disabled circle,svg[id^="mermaid-"] .disabled text{fill:hsl(80, 100%, 96.2745098039%);}svg[id^="mermaid-"] .disabled text{fill:#aaaa33;}svg[id^="mermaid-"] .section-0 rect,svg[id^="mermaid-"] .section-0 path,svg[id^="mermaid-"] .section-0 circle,svg[id^="mermaid-"] .section-0 path{fill:hsl(60, 100%, 73.5294117647%);}svg[id^="mermaid-"] .section-0 text{fill:black;}svg[id^="mermaid-"] .node-icon-0{font-size:40px;color:black;}svg[id^="mermaid-"] .section-edge-0{stroke:hsl(60, 100%, 73.5294117647%);}svg[id^="mermaid-"] .edge-depth-0{stroke-width:14;}svg[id^="mermaid-"] .section-0 line{stroke:hsl(240, 100%, 83.5294117647%);stroke-width:3;}svg[id^="mermaid-"] .lineWrapper line{stroke:black;}svg[id^="mermaid-"] .disabled,svg[id^="mermaid-"] .disabled circle,svg[id^="mermaid-"] .disabled text{fill:hsl(80, 100%, 96.2745098039%);}svg[id^="mermaid-"] .disabled text{fill:#aaaa33;}svg[id^="mermaid-"] .section-1 rect,svg[id^="mermaid-"] .section-1 path,svg[id^="mermaid-"] .section-1 circle,svg[id^="mermaid-"] .section-1 path{fill:hsl(80, 100%, 76.2745098039%);}svg[id^="mermaid-"] .section-1 text{fill:black;}svg[id^="mermaid-"] .node-icon-1{font-size:40px;color:black;}svg[id^="mermaid-"] .section-edge-1{stroke:hsl(80, 100%, 76.2745098039%);}svg[id^="mermaid-"] .edge-depth-1{stroke-width:11;}svg[id^="mermaid-"] .section-1 line{stroke:hsl(260, 100%, 86.2745098039%);stroke-width:3;}svg[id^="mermaid-"] .lineWrapper line{stroke:black;}svg[id^="mermaid-"] .disabled,svg[id^="mermaid-"] .disabled circle,svg[id^="mermaid-"] .disabled text{fill:hsl(80, 100%, 96.2745098039%);}svg[id^="mermaid-"] .disabled text{fill:#aaaa33;}svg[id^="mermaid-"] .section-2 rect,svg[id^="mermaid-"] .section-2 path,svg[id^="mermaid-"] .section-2 circle,svg[id^="mermaid-"] .section-2 path{fill:hsl(270, 100%, 76.2745098039%);}svg[id^="mermaid-"] .section-2 text{fill:#ffffff;}svg[id^="mermaid-"] .node-icon-2{font-size:40px;color:#ffffff;}svg[id^="mermaid-"] .section-edge-2{stroke:hsl(270, 100%, 76.2745098039%);}svg[id^="mermaid-"] .edge-depth-2{stroke-width:8;}svg[id^="mermaid-"] .section-2 line{stroke:hsl(90, 100%, 86.2745098039%);stroke-width:3;}svg[id^="mermaid-"] .lineWrapper line{stroke:#ffffff;}svg[id^="mermaid-"] .disabled,svg[id^="mermaid-"] .disabled circle,svg[id^="mermaid-"] .disabled text{fill:hsl(80, 100%, 96.2745098039%);}svg[id^="mermaid-"] .disabled text{fill:#aaaa33;}svg[id^="mermaid-"] .section-3 rect,svg[id^="mermaid-"] .section-3 path,svg[id^="mermaid-"] .section-3 circle,svg[id^="mermaid-"] .section-3 path{fill:hsl(300, 100%, 76.2745098039%);}svg[id^="mermaid-"] .section-3 text{fill:black;}svg[id^="mermaid-"] .node-icon-3{font-size:40px;color:black;}svg[id^="mermaid-"] .section-edge-3{stroke:hsl(300, 100%, 76.2745098039%);}svg[id^="mermaid-"] .edge-depth-3{stroke-width:5;}svg[id^="mermaid-"] .section-3 line{stroke:hsl(120, 100%, 86.2745098039%);stroke-width:3;}svg[id^="mermaid-"] .lineWrapper line{stroke:black;}svg[id^="mermaid-"] .disabled,svg[id^="mermaid-"] .disabled circle,svg[id^="mermaid-"] .disabled text{fill:hsl(80, 100%, 96.2745098039%);}svg[id^="mermaid-"] .disabled text{fill:#aaaa33;}svg[id^="mermaid-"] .section-4 rect,svg[id^="mermaid-"] .section-4 path,svg[id^="mermaid-"] .section-4 circle,svg[id^="mermaid-"] .section-4 path{fill:hsl(330, 100%, 76.2745098039%);}svg[id^="mermaid-"] .section-4 text{fill:black;}svg[id^="mermaid-"] .node-icon-4{font-size:40px;color:black;}svg[id^="mermaid-"] .section-edge-4{stroke:hsl(330, 100%, 76.2745098039%);}svg[id^="mermaid-"] .edge-depth-4{stroke-width:2;}svg[id^="mermaid-"] .section-4 line{stroke:hsl(150, 100%, 86.2745098039%);stroke-width:3;}svg[id^="mermaid-"] .lineWrapper line{stroke:black;}svg[id^="mermaid-"] .disabled,svg[id^="mermaid-"] .disabled circle,svg[id^="mermaid-"] .disabled text{fill:hsl(80, 100%, 96.2745098039%);}svg[id^="mermaid-"] .disabled text{fill:#aaaa33;}svg[id^="mermaid-"] .section-5 rect,svg[id^="mermaid-"] .section-5 path,svg[id^="mermaid-"] .section-5 circle,svg[id^="mermaid-"] .section-5 path{fill:hsl(0, 100%, 76.2745098039%);}svg[id^="mermaid-"] .section-5 text{fill:black;}svg[id^="mermaid-"] .node-icon-5{font-size:40px;color:black;}svg[id^="mermaid-"] .section-edge-5{stroke:hsl(0, 100%, 76.2745098039%);}svg[id^="mermaid-"] .edge-depth-5{stroke-width:-1;}svg[id^="mermaid-"] .section-5 line{stroke:hsl(180, 100%, 86.2745098039%);stroke-width:3;}svg[id^="mermaid-"] .lineWrapper line{stroke:black;}svg[id^="mermaid-"] .disabled,svg[id^="mermaid-"] .disabled circle,svg[id^="mermaid-"] .disabled text{fill:hsl(80, 100%, 96.2745098039%);}svg[id^="mermaid-"] .disabled text{fill:#aaaa33;}svg[id^="mermaid-"] .section-6 rect,svg[id^="mermaid-"] .section-6 path,svg[id^="mermaid-"] .section-6 circle,svg[id^="mermaid-"] .section-6 path{fill:hsl(30, 100%, 76.2745098039%);}svg[id^="mermaid-"] .section-6 text{fill:black;}svg[id^="mermaid-"] .node-icon-6{font-size:40px;color:black;}svg[id^="mermaid-"] .section-edge-6{stroke:hsl(30, 100%, 76.2745098039%);}svg[id^="mermaid-"] .edge-depth-6{stroke-width:-4;}svg[id^="mermaid-"] .section-6 line{stroke:hsl(210, 100%, 86.2745098039%);stroke-width:3;}svg[id^="mermaid-"] .lineWrapper line{stroke:black;}svg[id^="mermaid-"] .disabled,svg[id^="mermaid-"] .disabled circle,svg[id^="mermaid-"] .disabled text{fill:hsl(80, 100%, 96.2745098039%);}svg[id^="mermaid-"] .disabled text{fill:#aaaa33;}svg[id^="mermaid-"] .section-7 rect,svg[id^="mermaid-"] .section-7 path,svg[id^="mermaid-"] .section-7 circle,svg[id^="mermaid-"] .section-7 path{fill:hsl(90, 100%, 76.2745098039%);}svg[id^="mermaid-"] .section-7 text{fill:black;}svg[id^="mermaid-"] .node-icon-7{font-size:40px;color:black;}svg[id^="mermaid-"] .section-edge-7{stroke:hsl(90, 100%, 76.2745098039%);}svg[id^="mermaid-"] .edge-depth-7{stroke-width:-7;}svg[id^="mermaid-"] .section-7 line{stroke:hsl(270, 100%, 86.2745098039%);stroke-width:3;}svg[id^="mermaid-"] .lineWrapper line{stroke:black;}svg[id^="mermaid-"] .disabled,svg[id^="mermaid-"] .disabled circle,svg[id^="mermaid-"] .disabled text{fill:hsl(80, 100%, 96.2745098039%);}svg[id^="mermaid-"] .disabled text{fill:#aaaa33;}svg[id^="mermaid-"] .section-8 rect,svg[id^="mermaid-"] .section-8 path,svg[id^="mermaid-"] .section-8 circle,svg[id^="mermaid-"] .section-8 path{fill:hsl(150, 100%, 76.2745098039%);}svg[id^="mermaid-"] .section-8 text{fill:black;}svg[id^="mermaid-"] .node-icon-8{font-size:40px;color:black;}svg[id^="mermaid-"] .section-edge-8{stroke:hsl(150, 100%, 76.2745098039%);}svg[id^="mermaid-"] .edge-depth-8{stroke-width:-10;}svg[id^="mermaid-"] .section-8 line{stroke:hsl(330, 100%, 86.2745098039%);stroke-width:3;}svg[id^="mermaid-"] .lineWrapper line{stroke:black;}svg[id^="mermaid-"] .disabled,svg[id^="mermaid-"] .disabled circle,svg[id^="mermaid-"] .disabled text{fill:hsl(80, 100%, 96.2745098039%);}svg[id^="mermaid-"] .disabled text{fill:#aaaa33;}svg[id^="mermaid-"] .section-9 rect,svg[id^="mermaid-"] .section-9 path,svg[id^="mermaid-"] .section-9 circle,svg[id^="mermaid-"] .section-9 path{fill:hsl(180, 100%, 76.2745098039%);}svg[id^="mermaid-"] .section-9 text{fill:black;}svg[id^="mermaid-"] .node-icon-9{font-size:40px;color:black;}svg[id^="mermaid-"] .section-edge-9{stroke:hsl(180, 100%, 76.2745098039%);}svg[id^="mermaid-"] .edge-depth-9{stroke-width:-13;}svg[id^="mermaid-"] .section-9 line{stroke:hsl(0, 100%, 86.2745098039%);stroke-width:3;}svg[id^="mermaid-"] .lineWrapper line{stroke:black;}svg[id^="mermaid-"] .disabled,svg[id^="mermaid-"] .disabled circle,svg[id^="mermaid-"] .disabled text{fill:hsl(80, 100%, 96.2745098039%);}svg[id^="mermaid-"] .disabled text{fill:#aaaa33;}svg[id^="mermaid-"] .section-10 rect,svg[id^="mermaid-"] .section-10 path,svg[id^="mermaid-"] .section-10 circle,svg[id^="mermaid-"] .section-10 path{fill:hsl(210, 100%, 76.2745098039%);}svg[id^="mermaid-"] .section-10 text{fill:black;}svg[id^="mermaid-"] .node-icon-10{font-size:40px;color:black;}svg[id^="mermaid-"] .section-edge-10{stroke:hsl(210, 100%, 76.2745098039%);}svg[id^="mermaid-"] .edge-depth-10{stroke-width:-16;}svg[id^="mermaid-"] .section-10 line{stroke:hsl(30, 100%, 86.2745098039%);stroke-width:3;}svg[id^="mermaid-"] .lineWrapper line{stroke:black;}svg[id^="mermaid-"] .disabled,svg[id^="mermaid-"] .disabled circle,svg[id^="mermaid-"] .disabled text{fill:hsl(80, 100%, 96.2745098039%);}svg[id^="mermaid-"] .disabled text{fill:#aaaa33;}svg[id^="mermaid-"] .section-root rect,svg[id^="mermaid-"] .section-root path,svg[id^="mermaid-"] .section-root circle{fill:hsl(240, 100%, 46.2745098039%);}svg[id^="mermaid-"] .section-root text{fill:#ffffff;}svg[id^="mermaid-"] .icon-container{height:100%;display:flex;justify-content:center;align-items:center;}svg[id^="mermaid-"] .edge{fill:none;}svg[id^="mermaid-"] .eventWrapper{filter:brightness(120%);}svg[id^="mermaid-"] .node .neo-node{stroke:#9370DB;}svg[id^="mermaid-"] [data-look="neo"].node rect,svg[id^="mermaid-"] [data-look="neo"].cluster rect,svg[id^="mermaid-"] [data-look="neo"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}svg[id^="mermaid-"] [data-look="neo"].node path{stroke:#9370DB;stroke-width:1px;}svg[id^="mermaid-"] [data-look="neo"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}svg[id^="mermaid-"] [data-look="neo"].node .neo-line path{stroke:#9370DB;filter:none;}svg[id^="mermaid-"] [data-look="neo"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}svg[id^="mermaid-"] [data-look="neo"].node circle .state-start{fill:#000000;}svg[id^="mermaid-"] [data-look="neo"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}svg[id^="mermaid-"] [data-look="neo"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}svg[id^="mermaid-"] :root{--mermaid-font-family:arial,sans-serif;}