{
  "id": "treemap-budget-allocation",
  "schemaVersion": 2,
  "title": {
    "ja": "2026 年度の開発予算 — 8.0 億円のうち 4.5 割が維持",
    "en": "This Year's Development Budget — 45% of ¥800M Goes to Keeping the Lights On"
  },
  "summary": {
    "ja": "面積が金額のツリーマップ。色は上位 4 群だけに使い、子は親の色を継ぐので、階層と配分を 1 枚で読ませる",
    "en": "A treemap where area is money. Colour marks only the four top-level groups and children inherit it, so hierarchy and allocation are read at once"
  },
  "capturedAt": "2026-09-16",
  "categories": [
    "presentation"
  ],
  "tags": [
    "data-viz",
    "minimal"
  ],
  "useCases": [
    "pricing",
    "prioritization"
  ],
  "format": "slide-16x9",
  "density": "medium",
  "layout": {
    "kind": "area",
    "canvas": {
      "w": 1920,
      "h": 1080
    },
    "margin": {
      "top": 96,
      "right": 140,
      "bottom": 96,
      "left": 140
    }
  },
  "type": {
    "title": {
      "size": 44,
      "weight": 700,
      "tracking": "0.01em",
      "leading": 1.3
    },
    "window": {
      "size": 20,
      "weight": 500,
      "leading": 1.5
    },
    "cellName": {
      "size": 22,
      "weight": 500,
      "leading": 1.4
    },
    "cellAmount": {
      "size": 26,
      "weight": 700,
      "leading": 1.2,
      "numeric": "tabular"
    },
    "legendLabel": {
      "size": 22,
      "weight": 500,
      "leading": 1.4,
      "numeric": "tabular"
    },
    "note": {
      "size": 16,
      "weight": 400,
      "leading": 1.6
    }
  },
  "colors": {
    "ground": "#FFFFFF",
    "surface": "#F4F6F9",
    "ink": "#131820",
    "muted": "#667183",
    "accent": "#1F5FA8",
    "rule": "#DBE1E9",
    "series": [
      "#1C8C79",
      "#2F6FB5",
      "#9A6B12",
      "#A85A2E"
    ]
  },
  "rules": [
    {
      "ja": "面積を金額に厳密に比例させる。1 つでも合っていないと、読み手は全部の区画を数字で確かめ直すことになり、図の意味が消える",
      "en": "Make every area exactly proportional to its amount. One cell that does not match sends the reader back to check all of them by number, which is the end of the figure"
    },
    {
      "ja": "区画に枠線を持たせない。線の太さは面積に含まれないのに、目には面積の一部として入る",
      "en": "Give the cells no stroke. A border's thickness is not part of the area but the eye counts it as area"
    },
    {
      "ja": "色は上位の群にだけ使い、子は親の色を継ぐ。子ごとに色を変えると、階層ではなく並列の区分に見える",
      "en": "Colour the top-level groups only and let children inherit. Colouring children makes the hierarchy read as a flat list"
    },
    {
      "ja": "群は 5 つまで。6 つ目からは色の見分けが付かなくなり、色が階層を示す役を果たせなくなる",
      "en": "Five groups at most. From the sixth the hues stop being distinguishable and colour can no longer carry the hierarchy"
    },
    {
      "ja": "細長い区画を作らない。縦横比が 4 を超えると、同じ面積でも小さく見える —— 比べさせたい量が、形の錯覚に負ける",
      "en": "Avoid slivers. Past an aspect ratio of about four a cell looks smaller than its area, and the quantity you meant to compare loses to the illusion"
    }
  ],
  "cover": "https://design-vault.pages.dev/_astro/cover.BRJzApcN.png",
  "assets": [],
  "shortlist": false,
  "status": "published",
  "relations": {
    "similar": [
      "waffle-one-in-hundred",
      "donut-share-center-total"
    ]
  },
  "license": "Original",
  "publishedAt": null,
  "reproduction": {
    "spec": {
      "format": "slide-16x9",
      "density": "medium",
      "layout": {
        "kind": "area",
        "canvas": {
          "w": 1920,
          "h": 1080
        },
        "margin": {
          "top": 96,
          "right": 140,
          "bottom": 96,
          "left": 140
        }
      },
      "type": {
        "title": {
          "size": 44,
          "weight": 700,
          "tracking": "0.01em",
          "leading": 1.3
        },
        "window": {
          "size": 20,
          "weight": 500,
          "leading": 1.5
        },
        "cellName": {
          "size": 22,
          "weight": 500,
          "leading": 1.4
        },
        "cellAmount": {
          "size": 26,
          "weight": 700,
          "leading": 1.2,
          "numeric": "tabular"
        },
        "legendLabel": {
          "size": 22,
          "weight": 500,
          "leading": 1.4,
          "numeric": "tabular"
        },
        "note": {
          "size": 16,
          "weight": 400,
          "leading": 1.6
        }
      },
      "colors": {
        "ground": "#FFFFFF",
        "surface": "#F4F6F9",
        "ink": "#131820",
        "muted": "#667183",
        "accent": "#1F5FA8",
        "rule": "#DBE1E9",
        "series": [
          "#1C8C79",
          "#2F6FB5",
          "#9A6B12",
          "#A85A2E"
        ]
      },
      "rules": [
        "Make every area exactly proportional to its amount. One cell that does not match sends the reader back to check all of them by number, which is the end of the figure",
        "Give the cells no stroke. A border's thickness is not part of the area but the eye counts it as area",
        "Colour the top-level groups only and let children inherit. Colouring children makes the hierarchy read as a flat list",
        "Five groups at most. From the sixth the hues stop being distinguishable and colour can no longer carry the hierarchy",
        "Avoid slivers. Past an aspect ratio of about four a cell looks smaller than its area, and the quantity you meant to compare loses to the illusion"
      ]
    },
    "prompt": {
      "ja": "以下の仕様でスライドを 1 枚作ってください。\n\n- 版面 1920 × 1080\n- 余白 上 96 右 140 下 96 左 140\n\n## 文字（版面 1920px に対する px）\ntitle  44px / 700 / 字間 0.01em / 行送り 1.3\nwindow  20px / 500 / 行送り 1.5\ncellName  22px / 500 / 行送り 1.4\ncellAmount  26px / 700 / 行送り 1.2 / 等幅数字\nlegendLabel  22px / 500 / 行送り 1.4 / 等幅数字\nnote  16px / 400 / 行送り 1.6\n\n## 配色\n地 #FFFFFF / 面 #F4F6F9 / 文字 #131820 / 補助 #667183 / 強調 #1F5FA8 / 罫 #DBE1E9 / #1C8C79 / #2F6FB5 / #9A6B12 / #A85A2E\n\n## 外すと崩れる点\n- 面積を金額に厳密に比例させる。1 つでも合っていないと、読み手は全部の区画を数字で確かめ直すことになり、図の意味が消える\n- 区画に枠線を持たせない。線の太さは面積に含まれないのに、目には面積の一部として入る\n- 色は上位の群にだけ使い、子は親の色を継ぐ。子ごとに色を変えると、階層ではなく並列の区分に見える\n- 群は 5 つまで。6 つ目からは色の見分けが付かなくなり、色が階層を示す役を果たせなくなる\n- 細長い区画を作らない。縦横比が 4 を超えると、同じ面積でも小さく見える —— 比べさせたい量が、形の錯覚に負ける\n\n内容は［ここに自分の内容を書く］に置き換えてください。寸法と配色はそのまま守ってください。\n正確に再現する場合は、この HTML をそのまま使ってください: https://design-vault.pages.dev/designs/treemap-budget-allocation/pattern.html",
      "en": "Produce one slide to the following specification.\n\n- Canvas 1920 × 1080\n- Margin top 96 right 140 bottom 96 left 140\n\n## Type (px against a 1920px canvas)\ntitle  44px / 700 / tracking 0.01em / leading 1.3\nwindow  20px / 500 / leading 1.5\ncellName  22px / 500 / leading 1.4\ncellAmount  26px / 700 / leading 1.2 / tabular numerals\nlegendLabel  22px / 500 / leading 1.4 / tabular numerals\nnote  16px / 400 / leading 1.6\n\n## Colour\nGround #FFFFFF / Surface #F4F6F9 / Ink #131820 / Muted #667183 / Accent #1F5FA8 / Rule #DBE1E9 / #1C8C79 / #2F6FB5 / #9A6B12 / #A85A2E\n\n## Constraints — dropping these breaks it\n- Make every area exactly proportional to its amount. One cell that does not match sends the reader back to check all of them by number, which is the end of the figure\n- Give the cells no stroke. A border's thickness is not part of the area but the eye counts it as area\n- Colour the top-level groups only and let children inherit. Colouring children makes the hierarchy read as a flat list\n- Five groups at most. From the sixth the hues stop being distinguishable and colour can no longer carry the hierarchy\n- Avoid slivers. Past an aspect ratio of about four a cell looks smaller than its area, and the quantity you meant to compare loses to the illusion\n\nReplace the content with [your content]. Keep the measurements and colours as given.\nFor an exact reproduction, use the verbatim HTML at https://design-vault.pages.dev/designs/treemap-budget-allocation/pattern.html."
    },
    "code": {
      "html": "<!doctype html>\n<meta charset=\"utf-8\">\n<title>2026 年度の開発予算 — 8.0 億円のうち 4.5 割が維持</title>\n<meta name=\"dv-font\" content=\"Zen Kaku Gothic New:400;500;700\">\n<link rel=\"stylesheet\" href=\"./font.css\">\n<style>\n  /* 色のリテラルはこの :root にだけ置く。以下の規則は var() か color-mix() で名指す。\n     区分色は上位 4 群にだけ使う。子は親の色を薄めずそのまま継ぎ、地の色の隙間で\n     分ける —— 子ごとに色を変えると、階層ではなく 7 種類の並列に見える。 */\n  :root {\n    --ground: #FFFFFF;\n    --surface: #F4F6F9;\n    --ink: #131820;\n    --muted: #667183;\n    --accent: #1F5FA8;\n    --rule: #DBE1E9;\n    --series-1: #1C8C79;\n    --series-2: #2F6FB5;\n    --series-3: #9A6B12;\n    --series-4: #A85A2E;\n  }\n\n  * { box-sizing: border-box; margin: 0; }\n  html, body { width: 1920px; height: 1080px; }\n  body { font-family: \"Zen Kaku Gothic New\", \"IPAGothic\", sans-serif; }\n\n  .artboard {\n    width: 1920px;\n    height: 1080px;\n    background: var(--ground);\n    color: var(--ink);\n    padding: 96px 140px;\n  }\n\n  .content {\n    height: 100%;\n    display: grid;\n    grid-template-rows: auto minmax(0, 1fr) auto;\n  }\n\n  .head { border-bottom: 2px solid var(--rule); padding-bottom: 28px; }\n  .title { font-size: 44px; font-weight: 700; letter-spacing: 0.01em; line-height: 1.3; }\n  .window { margin-top: 14px; font-size: 20px; font-weight: 500; line-height: 1.5; color: var(--muted); }\n\n  /* 図 620 + 凡例で中身の段（約 708px）に収まる。増やすときは一緒に見直すこと。 */\n  .body {\n    display: grid;\n    grid-template-rows: auto auto;\n    align-content: center;\n    justify-items: center;\n    row-gap: 28px;\n  }\n\n  .figure { display: block; }\n  /* 面積が金額なので、区画は塗りだけで表し、枠線を持たせない。\n     枠線の太さは面積に含まれないのに、目には面積の一部として入る。 */\n  .g1 { fill: color-mix(in srgb, var(--series-1) 20%, var(--ground)); }\n  .g2 { fill: color-mix(in srgb, var(--series-2) 20%, var(--ground)); }\n  .g3 { fill: color-mix(in srgb, var(--series-3) 20%, var(--ground)); }\n  .g4 { fill: color-mix(in srgb, var(--series-4) 20%, var(--ground)); }\n  .cell-name { fill: var(--ink); font-size: 22px; font-weight: 500; line-height: 1.4; }\n  .cell-amount { fill: var(--ink); font-size: 26px; font-weight: 700; line-height: 1.2; font-variant-numeric: tabular-nums; }\n\n  .legend { display: flex; gap: 44px; align-items: center; }\n  .legend-item { display: flex; gap: 12px; align-items: center; }\n  /* 凡例の四角は区画と同じ薄さにする。原色のままだと、凡例と区画で別の色を\n     見ることになり、どの区画がどの群かを色で辿れない。薄いままでは 26px 角が\n     地に沈むので、縁だけを原色にして位置を示す。 */\n  .chip { width: 26px; height: 26px; border-radius: 5px; border-width: 2px; border-style: solid; }\n  .chip-1 { background: color-mix(in srgb, var(--series-1) 20%, var(--ground)); border-color: var(--series-1); }\n  .chip-2 { background: color-mix(in srgb, var(--series-2) 20%, var(--ground)); border-color: var(--series-2); }\n  .chip-3 { background: color-mix(in srgb, var(--series-3) 20%, var(--ground)); border-color: var(--series-3); }\n  .chip-4 { background: color-mix(in srgb, var(--series-4) 20%, var(--ground)); border-color: var(--series-4); }\n  .legend-label { font-size: 22px; font-weight: 500; line-height: 1.4; font-variant-numeric: tabular-nums; }\n\n  .foot { border-top: 1px solid var(--rule); padding-top: 22px; font-size: 16px; font-weight: 400; line-height: 1.6; color: var(--muted); }\n</style>\n\n<div class=\"artboard\" data-artboard>\n  <div class=\"content\" data-content>\n    <div class=\"head\">\n      <h1 class=\"title\" data-type=\"title\">2026 年度の開発予算 — 8.0 億円のうち 4.5 割が維持</h1>\n      <p class=\"window\" data-type=\"window\">配分は 3 月の投資委員会で確定 / 面積が金額 / 人件費を含む</p>\n    </div>\n\n    <div class=\"body\">\n      <!-- 等倍で描く。viewBox と width/height を一致させてあるので、\n           SVG の中の文字の級数は版面の px とそのまま同じ数字になる。\n\n           区画の割り当ては 1400×620 ＝ 8.0 億円、1 億円あたり 108,500px²。\n           割り当ての矩形はどれもその整数倍で、群ごとに列を持たせてある\n           （3.6 : 2.4 : 2.0 ＝ 630 : 420 : 350 px）。\n           **描いている矩形は、その割り当てを四辺 2px ずつ内側へ寄せたもの**で、\n           隙間のぶんだけ実際の面積は 95〜98% に縮む。縮み方は区画の大きさで\n           違うので、面積が厳密に比例しているのは割り当てのほうである。\n\n           縦横比はどの区画も 4 を下回る（最大は移行と予備の 3.76）——\n           この版自身の規則「細長い区画を作らない」を、版が破らないため。 -->\n      <svg class=\"figure\" width=\"1400\" height=\"620\" viewBox=\"0 0 1400 620\">\n        <rect class=\"g1\" x=\"2\" y=\"2\" width=\"626\" height=\"340.4\"/>\n        <rect class=\"g1\" x=\"2\" y=\"346.4\" width=\"626\" height=\"271.6\"/>\n        <rect class=\"g2\" x=\"632\" y=\"2\" width=\"416\" height=\"409.3\"/>\n        <rect class=\"g2\" x=\"632\" y=\"415.3\" width=\"416\" height=\"202.7\"/>\n        <rect class=\"g3\" x=\"1052\" y=\"2\" width=\"346\" height=\"275\"/>\n        <rect class=\"g3\" x=\"1052\" y=\"281\" width=\"346\" height=\"89\"/>\n        <rect class=\"g4\" x=\"1052\" y=\"374\" width=\"346\" height=\"151\"/>\n        <rect class=\"g4\" x=\"1052\" y=\"529\" width=\"346\" height=\"89\"/>\n\n        <text class=\"cell-name\" data-type=\"cellName\" x=\"315\" y=\"154\" text-anchor=\"middle\" dominant-baseline=\"central\">障害対応</text>\n        <text class=\"cell-amount\" data-type=\"cellAmount\" x=\"315\" y=\"190\" text-anchor=\"middle\" dominant-baseline=\"central\">2.0 億</text>\n\n        <text class=\"cell-name\" x=\"315\" y=\"464\" text-anchor=\"middle\" dominant-baseline=\"central\">法と監査</text>\n        <text class=\"cell-amount\" x=\"315\" y=\"500\" text-anchor=\"middle\" dominant-baseline=\"central\">1.6 億</text>\n\n        <text class=\"cell-name\" x=\"840\" y=\"189\" text-anchor=\"middle\" dominant-baseline=\"central\">受注管理</text>\n        <text class=\"cell-amount\" x=\"840\" y=\"225\" text-anchor=\"middle\" dominant-baseline=\"central\">1.6 億</text>\n\n        <text class=\"cell-name\" x=\"840\" y=\"499\" text-anchor=\"middle\" dominant-baseline=\"central\">実験枠</text>\n        <text class=\"cell-amount\" x=\"840\" y=\"535\" text-anchor=\"middle\" dominant-baseline=\"central\">0.8 億</text>\n\n        <text class=\"cell-name\" x=\"1225\" y=\"121\" text-anchor=\"middle\" dominant-baseline=\"central\">更新</text>\n        <text class=\"cell-amount\" x=\"1225\" y=\"157\" text-anchor=\"middle\" dominant-baseline=\"central\">0.9 億</text>\n\n        <text class=\"cell-name\" x=\"1225\" y=\"307\" text-anchor=\"middle\" dominant-baseline=\"central\">移行</text>\n        <text class=\"cell-amount\" x=\"1225\" y=\"343\" text-anchor=\"middle\" dominant-baseline=\"central\">0.3 億</text>\n\n        <text class=\"cell-name\" x=\"1225\" y=\"431\" text-anchor=\"middle\" dominant-baseline=\"central\">教育</text>\n        <text class=\"cell-amount\" x=\"1225\" y=\"467\" text-anchor=\"middle\" dominant-baseline=\"central\">0.5 億</text>\n\n        <text class=\"cell-name\" x=\"1225\" y=\"555\" text-anchor=\"middle\" dominant-baseline=\"central\">予備</text>\n        <text class=\"cell-amount\" x=\"1225\" y=\"591\" text-anchor=\"middle\" dominant-baseline=\"central\">0.3 億</text>\n      </svg>\n\n      <div class=\"legend\">\n        <span class=\"legend-item\"><span class=\"chip chip-1\"></span><span class=\"legend-label\" data-type=\"legendLabel\">既存の維持 3.6 億</span></span>\n        <span class=\"legend-item\"><span class=\"chip chip-2\"></span><span class=\"legend-label\">新機能 2.4 億</span></span>\n        <span class=\"legend-item\"><span class=\"chip chip-3\"></span><span class=\"legend-label\">基盤の入れ替え 1.2 億</span></span>\n        <span class=\"legend-item\"><span class=\"chip chip-4\"></span><span class=\"legend-label\">その他 0.8 億</span></span>\n      </div>\n    </div>\n\n    <div class=\"foot\" data-type=\"note\">その他は教育と予備費の 2 つ。年度内の振り替えは同じ群の中で 2 割まで。</div>\n  </div>\n</div>\n",
      "url": "https://design-vault.pages.dev/designs/treemap-budget-allocation/pattern.html",
      "fonts": [
        "https://design-vault.pages.dev/designs/treemap-budget-allocation/font.css",
        "https://design-vault.pages.dev/designs/treemap-budget-allocation/font-0.woff2",
        "https://design-vault.pages.dev/designs/treemap-budget-allocation/font-1.woff2",
        "https://design-vault.pages.dev/designs/treemap-budget-allocation/font-2.woff2"
      ]
    }
  },
  "urls": {
    "ja": "https://design-vault.pages.dev/designs/treemap-budget-allocation",
    "en": "https://design-vault.pages.dev/en/designs/treemap-budget-allocation"
  },
  "notesMarkdown": "ツリーマップは「面積＝量」を信じてもらえるかどうかで成否が決まる。1 つでも\n合っていない区画があると、読み手は残り全部を数字で確かめ直し、そのときこの図は\nただの色分けされた四角に戻る。\n\n区画に枠線を引かないのもそのためである。線は面積に数えられないのに、目には\n面積の一部として入る。小さい区画ほどその影響が大きく、いちばん見誤ってほしくない\nところで狂う。"
}