{
  "id": "causal-loop-support-rework-backlog",
  "schemaVersion": 2,
  "title": {
    "ja": "残業は滞留を解消せず、再作業を増やす",
    "en": "Overtime Does Not Clear the Backlog; It Increases Rework"
  },
  "summary": {
    "ja": "未処理件数を中心に、負荷が増幅するループと処理能力が抑制するループを符号付きの因果関係で示す",
    "en": "A signed causal loop diagram shows how a reinforcing workload cycle and a balancing capacity cycle affect a support backlog."
  },
  "capturedAt": "2026-09-25",
  "categories": [
    "presentation"
  ],
  "tags": [
    "data-viz",
    "minimal"
  ],
  "useCases": [
    "problem-solution"
  ],
  "format": "slide-16x9",
  "density": "medium",
  "layout": {
    "kind": "network",
    "canvas": {
      "w": 1920,
      "h": 1080
    },
    "margin": {
      "top": 90,
      "right": 120,
      "bottom": 40,
      "left": 120
    }
  },
  "type": {
    "title": {
      "size": 44,
      "weight": 700,
      "tracking": "0.01em"
    },
    "subtitle": {
      "size": 22,
      "weight": 400
    },
    "loopTag": {
      "size": 20,
      "weight": 700,
      "tracking": "0.06em"
    },
    "nodeTitle": {
      "size": 24,
      "weight": 700
    },
    "nodeDetail": {
      "size": 20,
      "weight": 400
    },
    "polarity": {
      "size": 25,
      "weight": 700
    },
    "delay": {
      "size": 20,
      "weight": 400
    },
    "loopCopy": {
      "size": 20,
      "weight": 500
    },
    "legend": {
      "size": 20,
      "weight": 500
    },
    "note": {
      "size": 20,
      "weight": 400
    }
  },
  "colors": {
    "ground": "#F7F8F5",
    "surface": "#FFFFFF",
    "ink": "#18232D",
    "muted": "#586875",
    "accent": "#C64E32",
    "rule": "#D7DEE1",
    "series": [
      "#236B9A",
      "#A66019"
    ]
  },
  "rules": [
    {
      "ja": "＋は2つの変数が同じ向きに、−は逆向きに変化する関係を示す",
      "en": "A plus sign means two variables change in the same direction; a minus sign means they change in opposite directions."
    },
    {
      "ja": "Rは変化を増幅するループ、Bは変化を抑えるループ。どちらも良し悪しを表す記号ではない",
      "en": "R marks a reinforcing loop and B a balancing loop; neither label means good or bad."
    },
    {
      "ja": "二重線は影響が現れるまでの遅れを示し、承認と配置の間にある時間差を明示する",
      "en": "Double bars mark a delay, making the time between approval and staffing explicit."
    },
    {
      "ja": "因果ループの仮説図。実際の現場で関係の向きと遅れを確かめる",
      "en": "A causal-loop hypothesis; verify link directions and delays with the people and evidence from the actual operation."
    }
  ],
  "cover": "https://design-vault.pages.dev/_astro/cover.B6Atow_e.png",
  "assets": [],
  "shortlist": false,
  "status": "published",
  "relations": {
    "similar": []
  },
  "license": "Original",
  "publishedAt": null,
  "reproduction": {
    "spec": {
      "format": "slide-16x9",
      "density": "medium",
      "layout": {
        "kind": "network",
        "canvas": {
          "w": 1920,
          "h": 1080
        },
        "margin": {
          "top": 90,
          "right": 120,
          "bottom": 40,
          "left": 120
        }
      },
      "type": {
        "title": {
          "size": 44,
          "weight": 700,
          "tracking": "0.01em"
        },
        "subtitle": {
          "size": 22,
          "weight": 400
        },
        "loopTag": {
          "size": 20,
          "weight": 700,
          "tracking": "0.06em"
        },
        "nodeTitle": {
          "size": 24,
          "weight": 700
        },
        "nodeDetail": {
          "size": 20,
          "weight": 400
        },
        "polarity": {
          "size": 25,
          "weight": 700
        },
        "delay": {
          "size": 20,
          "weight": 400
        },
        "loopCopy": {
          "size": 20,
          "weight": 500
        },
        "legend": {
          "size": 20,
          "weight": 500
        },
        "note": {
          "size": 20,
          "weight": 400
        }
      },
      "colors": {
        "ground": "#F7F8F5",
        "surface": "#FFFFFF",
        "ink": "#18232D",
        "muted": "#586875",
        "accent": "#C64E32",
        "rule": "#D7DEE1",
        "series": [
          "#236B9A",
          "#A66019"
        ]
      },
      "rules": [
        "A plus sign means two variables change in the same direction; a minus sign means they change in opposite directions.",
        "R marks a reinforcing loop and B a balancing loop; neither label means good or bad.",
        "Double bars mark a delay, making the time between approval and staffing explicit.",
        "A causal-loop hypothesis; verify link directions and delays with the people and evidence from the actual operation."
      ]
    },
    "prompt": {
      "ja": "以下の仕様でスライドを 1 枚作ってください。\n\n- 版面 1920 × 1080\n- 余白 上 90 右 120 下 40 左 120\n\n## 文字（版面 1920px に対する px）\ntitle  44px / 700 / 字間 0.01em\nsubtitle  22px / 400\nloopTag  20px / 700 / 字間 0.06em\nnodeTitle  24px / 700\nnodeDetail  20px / 400\npolarity  25px / 700\ndelay  20px / 400\nloopCopy  20px / 500\nlegend  20px / 500\nnote  20px / 400\n\n## 配色\n地 #F7F8F5 / 面 #FFFFFF / 文字 #18232D / 補助 #586875 / 強調 #C64E32 / 罫 #D7DEE1 / #236B9A / #A66019\n\n## 外すと崩れる点\n- ＋は2つの変数が同じ向きに、−は逆向きに変化する関係を示す\n- Rは変化を増幅するループ、Bは変化を抑えるループ。どちらも良し悪しを表す記号ではない\n- 二重線は影響が現れるまでの遅れを示し、承認と配置の間にある時間差を明示する\n- 因果ループの仮説図。実際の現場で関係の向きと遅れを確かめる\n\n内容は［ここに自分の内容を書く］に置き換えてください。寸法と配色はそのまま守ってください。\n正確に再現する場合は、この HTML をそのまま使ってください: https://design-vault.pages.dev/designs/causal-loop-support-rework-backlog/pattern.html",
      "en": "Produce one slide to the following specification.\n\n- Canvas 1920 × 1080\n- Margin top 90 right 120 bottom 40 left 120\n\n## Type (px against a 1920px canvas)\ntitle  44px / 700 / tracking 0.01em\nsubtitle  22px / 400\nloopTag  20px / 700 / tracking 0.06em\nnodeTitle  24px / 700\nnodeDetail  20px / 400\npolarity  25px / 700\ndelay  20px / 400\nloopCopy  20px / 500\nlegend  20px / 500\nnote  20px / 400\n\n## Colour\nGround #F7F8F5 / Surface #FFFFFF / Ink #18232D / Muted #586875 / Accent #C64E32 / Rule #D7DEE1 / #236B9A / #A66019\n\n## Constraints — dropping these breaks it\n- A plus sign means two variables change in the same direction; a minus sign means they change in opposite directions.\n- R marks a reinforcing loop and B a balancing loop; neither label means good or bad.\n- Double bars mark a delay, making the time between approval and staffing explicit.\n- A causal-loop hypothesis; verify link directions and delays with the people and evidence from the actual operation.\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/causal-loop-support-rework-backlog/pattern.html."
    },
    "code": {
      "html": "<!doctype html>\n<meta charset=\"utf-8\">\n<title>残業は滞留を解消せず、再作業を増やす</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 {\n    --ground: #F7F8F5;\n    --surface: #FFFFFF;\n    --ink: #18232D;\n    --muted: #586875;\n    --accent: #C64E32;\n    --rule: #D7DEE1;\n    --series-1: #236B9A;\n    --series-2: #A66019;\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</style>\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1920\" height=\"1080\" viewBox=\"0 0 1920 1080\" role=\"img\" aria-labelledby=\"loop-title loop-desc\" data-artboard=\"true\">\n  <title id=\"loop-title\">未処理件数が増える2つのフィードバックループ</title>\n  <desc id=\"loop-desc\">残業、疲労、再作業は未処理件数を増やす増幅ループ。増員承認と処理量は未処理件数を減らす抑制ループだが、承認から稼働までに遅れがある。</desc>\n  <style>\n    text { font-family: \"Zen Kaku Gothic New\", \"IPAGothic\", sans-serif; }\n    .ground { fill: var(--ground); }\n    .surface { fill: var(--surface); }\n    .ink { fill: var(--ink); }\n    .muted { fill: var(--muted); }\n    .rule { stroke: var(--rule); }\n    .title { font-size: 44px; font-weight: 700; letter-spacing: .01em; }\n    .subtitle { font-size: 22px; font-weight: 400; }\n    .eyebrow { font-size: 20px; font-weight: 700; letter-spacing: .06em; }\n    .node-title { font-size: 24px; font-weight: 700; }\n    .node-detail { font-size: 20px; font-weight: 400; }\n    .edge-r { fill: none; stroke: var(--series-1); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }\n    .edge-b { fill: none; stroke: var(--series-2); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }\n    .polarity { font-size: 25px; font-weight: 700; text-anchor: middle; }\n    .loop-tag { font-size: 20px; font-weight: 700; }\n    .loop-copy { font-size: 20px; font-weight: 500; }\n    .legend { font-size: 20px; font-weight: 500; }\n    .note { font-size: 20px; font-weight: 400; }\n  </style>\n  <defs>\n    <marker id=\"arrow-blue\" markerWidth=\"12\" markerHeight=\"12\" refX=\"9\" refY=\"6\" orient=\"auto\" markerUnits=\"strokeWidth\"><path d=\"M1 1L10 6L1 11Z\" fill=\"var(--series-1)\"/></marker>\n    <marker id=\"arrow-amber\" markerWidth=\"12\" markerHeight=\"12\" refX=\"9\" refY=\"6\" orient=\"auto\" markerUnits=\"strokeWidth\"><path d=\"M1 1L10 6L1 11Z\" fill=\"var(--series-2)\"/></marker>\n  </defs>\n  <rect class=\"ground\" width=\"1920\" height=\"1080\"/>\n  <g data-content=\"true\">\n    <rect x=\"120\" y=\"90\" width=\"1680\" height=\"950\" fill=\"none\" aria-hidden=\"true\"/>\n    <text class=\"ink title\" data-type=\"title\" x=\"120\" y=\"137\">残業は滞留を解消せず、再作業を増やす</text>\n    <text class=\"muted subtitle\" data-type=\"subtitle\" x=\"120\" y=\"181\">サポート窓口の未処理件数に働く2つのフィードバック</text>\n    <line class=\"rule\" x1=\"120\" y1=\"218\" x2=\"1800\" y2=\"218\" stroke-width=\"2\"/>\n\n    <g transform=\"translate(120 0)\">\n      <rect x=\"52\" y=\"260\" width=\"686\" height=\"52\" rx=\"10\" fill=\"var(--series-1)\" opacity=\".12\"/>\n      <text x=\"76\" y=\"295\" class=\"eyebrow\" fill=\"var(--series-1)\" data-type=\"loopTag\">R · 増幅ループ</text>\n      <text x=\"260\" y=\"295\" class=\"muted\" font-size=\"20\">負荷が自己増幅</text>\n      <rect x=\"930\" y=\"260\" width=\"686\" height=\"52\" rx=\"10\" fill=\"var(--series-2)\" opacity=\".12\"/>\n      <text x=\"954\" y=\"295\" class=\"eyebrow\" fill=\"var(--series-2)\" data-type=\"loopTag\">B · 抑制ループ</text>\n      <text x=\"1235\" y=\"295\" class=\"muted\" font-size=\"20\">処理能力は遅れて戻る</text>\n\n      <!-- R: backlog → overtime → fatigue → rework → backlog -->\n      <path class=\"edge-r\" marker-end=\"url(#arrow-blue)\" d=\"M820 470 C750 414 698 394 650 390\"/>\n      <path class=\"edge-r\" marker-end=\"url(#arrow-blue)\" d=\"M560 430 C515 484 510 568 556 625\"/>\n      <path class=\"edge-r\" marker-end=\"url(#arrow-blue)\" d=\"M510 690 C445 706 386 679 350 626\"/>\n      <path class=\"edge-r\" marker-end=\"url(#arrow-blue)\" d=\"M365 548 C475 454 640 448 806 505\"/>\n      <!-- B: backlog → approval → staffing → throughput ┤ backlog -->\n      <path class=\"edge-b\" marker-end=\"url(#arrow-amber)\" d=\"M1065 486 C1150 420 1215 394 1288 390\"/>\n      <path class=\"edge-b\" marker-end=\"url(#arrow-amber)\" d=\"M1435 428 C1490 460 1508 485 1502 518\"/>\n      <path class=\"edge-b\" marker-end=\"url(#arrow-amber)\" d=\"M1490 620 C1470 664 1430 696 1390 716\"/>\n      <path class=\"edge-b\" marker-end=\"url(#arrow-amber)\" d=\"M1280 752 C1170 712 1115 634 1070 585\"/>\n\n      <!-- Signed causal links -->\n      <g class=\"polarity\" fill=\"var(--series-1)\">\n        <text x=\"738\" y=\"413\" data-type=\"polarity\">＋</text>\n        <text x=\"493\" y=\"536\">＋</text>\n        <text x=\"425\" y=\"715\">＋</text>\n        <text x=\"603\" y=\"454\">＋</text>\n      </g>\n      <g class=\"polarity\" fill=\"var(--series-2)\">\n        <text x=\"1167\" y=\"420\" data-type=\"polarity\">＋</text>\n        <text x=\"1508\" y=\"477\">＋</text>\n        <text x=\"1457\" y=\"678\">＋</text>\n        <text x=\"1154\" y=\"690\">−</text>\n      </g>\n\n      <!-- Loop variables -->\n      <g>\n        <rect class=\"surface\" x=\"810\" y=\"470\" width=\"270\" height=\"112\" rx=\"18\" stroke=\"var(--ink)\" stroke-width=\"3\"/>\n        <text class=\"ink node-title\" x=\"945\" y=\"516\" text-anchor=\"middle\" data-type=\"nodeTitle\">未処理件数</text>\n        <text class=\"muted node-detail\" x=\"945\" y=\"550\" text-anchor=\"middle\" data-type=\"nodeDetail\">積み上がる問い合わせ</text>\n\n        <rect class=\"surface\" x=\"510\" y=\"350\" width=\"190\" height=\"82\" rx=\"16\" stroke=\"var(--series-1)\" stroke-width=\"3\"/>\n        <text class=\"ink node-title\" x=\"605\" y=\"401\" text-anchor=\"middle\">残業時間</text>\n        <rect class=\"surface\" x=\"500\" y=\"625\" width=\"190\" height=\"82\" rx=\"16\" stroke=\"var(--series-1)\" stroke-width=\"3\"/>\n        <text class=\"ink node-title\" x=\"595\" y=\"676\" text-anchor=\"middle\">疲労</text>\n        <rect class=\"surface\" x=\"255\" y=\"540\" width=\"200\" height=\"86\" rx=\"16\" stroke=\"var(--series-1)\" stroke-width=\"3\"/>\n        <text class=\"ink node-title\" x=\"355\" y=\"578\" text-anchor=\"middle\">再作業</text>\n        <text class=\"muted node-detail\" x=\"355\" y=\"608\" text-anchor=\"middle\">修正・再応答</text>\n\n        <rect class=\"surface\" x=\"1280\" y=\"350\" width=\"250\" height=\"82\" rx=\"16\" stroke=\"var(--series-2)\" stroke-width=\"3\"/>\n        <text class=\"ink node-title\" x=\"1405\" y=\"401\" text-anchor=\"middle\">増員承認</text>\n        <rect class=\"surface\" x=\"1410\" y=\"520\" width=\"190\" height=\"100\" rx=\"16\" stroke=\"var(--series-2)\" stroke-width=\"3\"/>\n        <text class=\"ink node-title\" x=\"1505\" y=\"563\" text-anchor=\"middle\">稼働人数</text>\n        <text class=\"muted node-detail\" x=\"1505\" y=\"592\" text-anchor=\"middle\">配置できた人数</text>\n        <rect class=\"surface\" x=\"1280\" y=\"710\" width=\"220\" height=\"86\" rx=\"16\" stroke=\"var(--series-2)\" stroke-width=\"3\"/>\n        <text class=\"ink node-title\" x=\"1390\" y=\"748\" text-anchor=\"middle\">処理量</text>\n        <text class=\"muted node-detail\" x=\"1390\" y=\"778\" text-anchor=\"middle\">完了する件数</text>\n      </g>\n\n      <!-- Delay on approval-to-staffing link -->\n      <g stroke=\"var(--series-2)\" stroke-width=\"4\">\n        <line x1=\"1475\" y1=\"470\" x2=\"1490\" y2=\"488\"/>\n        <line x1=\"1492\" y1=\"466\" x2=\"1507\" y2=\"484\"/>\n      </g>\n      <text class=\"muted\" x=\"1660\" y=\"480\" text-anchor=\"end\" font-size=\"20\" data-type=\"delay\">採用・配置の遅れ</text>\n    </g>\n\n    <line class=\"rule\" x1=\"120\" y1=\"850\" x2=\"1800\" y2=\"850\" stroke-width=\"2\"/>\n    <text class=\"ink loop-copy\" x=\"120\" y=\"896\" data-type=\"loopCopy\">R  残業 → 疲労 → 再作業 → 未処理が連鎖して増える</text>\n    <text class=\"ink loop-copy\" x=\"1000\" y=\"896\">B  増員 → 処理量が未処理を抑える。承認の遅れが効果を待たせる</text>\n    <g class=\"legend\" data-type=\"legend\">\n      <text class=\"muted\" x=\"120\" y=\"956\">＋ 同じ向きに変化</text>\n      <text class=\"muted\" x=\"420\" y=\"956\">− 逆向きに変化</text>\n      <text class=\"muted\" x=\"720\" y=\"956\">∥ 遅れを伴う関係</text>\n      <line x1=\"120\" y1=\"988\" x2=\"1800\" y2=\"988\" class=\"rule\"/>\n    </g>\n    <text class=\"muted note\" x=\"120\" y=\"1030\" data-type=\"note\">因果ループの仮説図。関係者と検証し、観測データで関係の向きと遅れを確かめる。</text>\n  </g>\n</svg>\n",
      "url": "https://design-vault.pages.dev/designs/causal-loop-support-rework-backlog/pattern.html",
      "fonts": [
        "https://design-vault.pages.dev/designs/causal-loop-support-rework-backlog/font.css",
        "https://design-vault.pages.dev/designs/causal-loop-support-rework-backlog/font-0.woff2",
        "https://design-vault.pages.dev/designs/causal-loop-support-rework-backlog/font-1.woff2",
        "https://design-vault.pages.dev/designs/causal-loop-support-rework-backlog/font-2.woff2"
      ]
    }
  },
  "urls": {
    "ja": "https://design-vault.pages.dev/designs/causal-loop-support-rework-backlog",
    "en": "https://design-vault.pages.dev/en/designs/causal-loop-support-rework-backlog"
  },
  "notesMarkdown": "### 視覚的な問い\n\n問い合わせの未処理が増えたとき、残業を増やす対応は滞留を解消するのか、それとも再作業を通じて負荷を増幅するのか。\n\n### 構造\n\n中央の未処理件数から二つのループをたどる。R（増幅）では、未処理の増加が残業を促し、疲労と再作業を増やして未処理をさらに積み上げる。B（抑制）では、未処理を受けて増員を承認し、稼働人数と処理量を増やして未処理を減らす。ただし承認から配置までの遅れがあるため、処理能力はすぐには戻らない。\n\n線の符号は変数どうしの変化の向きを示し、色はループを追うためだけに使う。R/Bは「望ましい・望ましくない」の評価ではない。現場の観測で因果の向きや遅れが確かめられていない段階では、検証対象の仮説として扱う。\n\n### 適用\n\n- 問い合わせ・障害対応など、滞留と再作業が絡む業務の原因仮説を共有する\n- 即効性のある負荷対策と、遅れて効く処理能力の改善を同じ図で説明する"
}