版の配色
1920 × 1080 作品として見る 版そのものを描画 — どの倍率でも字は潰れません 骨格・余白・カラムを重ねた状態
1920 × 1080 作品として見る 版そのものを描画 — どの倍率でも字は潰れません 骨格・余白・カラムを重ねた状態
コピーして貼るか、ファイルに保存して渡す。ネットにつながらない環境には「全部入り」を 1 つ渡せば足りる。
このパネルの中身を、URL の先にあるファイルの中身まで含めて 1 つにまとめた Markdown — 大きいのでファイルで渡す(コピーは 32KB まで)
以下の仕様でスライドを 1 枚作ってください。 - 版面 1920 × 1080 - 余白 上 100 右 132 下 100 左 132 - 7 カラム(等分)、間隔 48 ## 文字(版面 1920px に対する px) title 42px / 700 / 字間 0.02em unitNote 17px / 400 value 22px / 700 / 等幅数字 stepName 19px / 500 / 行送り 1.45 stepNote 15px / 400 / 行送り 1.6 note 17px / 400 / 行送り 1.8 span 15px / 400 / 等幅数字 ## 配色 地 #FFFFFF / 面 #F4F5F7 / 文字 #14171A / 補助 #767D86 / 強調 #1F6F4F / 罫 #D9DEE3 / #B4472F ## 外すと崩れる点 - 色は増と減の 2 値だけ。3 色目を足すと凡例の要る図になる - 符号は色ではなく「積み上がる向き」で読ませる - 着地だけが塗り。ここが結論なので、2 つ目の強調は置かない 内容は[ここに自分の内容を書く]に置き換えてください。寸法と配色はそのまま守ってください。 正確に再現する場合は、この HTML をそのまま使ってください: https://design-vault.pages.dev/designs/waterfall-variance-bridge/pattern.html
/ai/designs/waterfall-variance-bridge.json
format: slide-16x9
density: high
layout:
kind: waterfall
canvas:
w: 1920
h: 1080
margin:
top: 100
right: 132
bottom: 100
left: 132
columns:
count: 7
gap: 48
type:
title:
size: 42
weight: 700
tracking: 0.02em
unitNote:
size: 17
weight: 400
value:
size: 22
weight: 700
numeric: tabular
stepName:
size: 19
weight: 500
leading: 1.45
stepNote:
size: 15
weight: 400
leading: 1.6
note:
size: 17
weight: 400
leading: 1.8
span:
size: 15
weight: 400
numeric: tabular
colors:
ground: "#FFFFFF"
surface: "#F4F5F7"
ink: "#14171A"
muted: "#767D86"
accent: "#1F6F4F"
rule: "#D9DEE3"
series:
- "#B4472F"
rules:
- 色は増と減の 2 値だけ。3 色目を足すと凡例の要る図になる
- 符号は色ではなく「積み上がる向き」で読ませる
- 着地だけが塗り。ここが結論なので、2 つ目の強調は置かない{
"format": "slide-16x9",
"density": "high",
"layout": {
"kind": "waterfall",
"canvas": {
"w": 1920,
"h": 1080
},
"margin": {
"top": 100,
"right": 132,
"bottom": 100,
"left": 132
},
"columns": {
"count": 7,
"gap": 48
}
},
"type": {
"title": {
"size": 42,
"weight": 700,
"tracking": "0.02em"
},
"unitNote": {
"size": 17,
"weight": 400
},
"value": {
"size": 22,
"weight": 700,
"numeric": "tabular"
},
"stepName": {
"size": 19,
"weight": 500,
"leading": 1.45
},
"stepNote": {
"size": 15,
"weight": 400,
"leading": 1.6
},
"note": {
"size": 17,
"weight": 400,
"leading": 1.8
},
"span": {
"size": 15,
"weight": 400,
"numeric": "tabular"
}
},
"colors": {
"ground": "#FFFFFF",
"surface": "#F4F5F7",
"ink": "#14171A",
"muted": "#767D86",
"accent": "#1F6F4F",
"rule": "#D9DEE3",
"series": [
"#B4472F"
]
},
"rules": [
"色は増と減の 2 値だけ。3 色目を足すと凡例の要る図になる",
"符号は色ではなく「積み上がる向き」で読ませる",
"着地だけが塗り。ここが結論なので、2 つ目の強調は置かない"
]
} /designs/waterfall-variance-bridge/pattern.html — 版そのものの HTML。書体の部分集合ごと同梱で、開けばこの絵がそのまま出ます。
<!doctype html>
<meta charset="utf-8">
<title>ウォーターフォール — 差分の内訳を段で積む</title>
<meta name="dv-font" content="Zen Kaku Gothic New:400;500;700">
<link rel="stylesheet" href="./font.css">
<style>
:root {
--ground: #FFFFFF;
--surface: #F4F5F7;
--ink: #14171A;
--muted: #767D86;
--accent: #1F6F4F;
--rule: #D9DEE3;
--series-1: #B4472F;
}
* { box-sizing: border-box; margin: 0; }
html, body { width: 1920px; height: 1080px; }
body { font-family: "Zen Kaku Gothic New", "IPAGothic", sans-serif; }
.artboard {
width: 1920px; height: 1080px;
background: var(--ground); color: var(--ink);
padding: 100px 132px;
}
.content { height: 100%; display: grid; grid-template-rows: auto 1fr auto; gap: 40px; }
.head { display: flex; align-items: baseline; justify-content: space-between; gap: 64px; }
.title { font-size: 42px; font-weight: 700; letter-spacing: .02em; }
.unitNote { font-size: 17px; font-weight: 400; color: var(--muted); }
/* 段は 7 本。増減の符号は色ではなく「積み上がる向き」で読ませ、
色は増と減の 2 値だけに使う(3 色目を足すと凡例が要る図になる)。 */
.plot { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); column-gap: 48px; align-items: end; }
.step { display: grid; grid-template-rows: 1fr auto; height: 100%; }
.stack { position: relative; height: 100%; }
.bar { position: absolute; left: 0; right: 0; }
.bar[data-sign="base"] { background: var(--surface); border-top: 3px solid var(--muted); }
.bar[data-sign="up"] { background: color-mix(in srgb, var(--accent) 18%, transparent); border-top: 3px solid var(--accent); }
.bar[data-sign="down"] { background: color-mix(in srgb, var(--series-1) 18%, transparent); border-top: 3px solid var(--series-1); }
/* 着地だけが塗り。ここが結論なので、2 つ目の強調は置かない。 */
.bar[data-sign="end"] { background: var(--accent); }
.value { position: absolute; left: 0; right: 0; text-align: center;
font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; }
.caption { padding-top: 22px; border-top: 1px solid var(--rule); display: grid; gap: 8px; }
.stepName { font-size: 19px; font-weight: 500; line-height: 1.45; }
.stepNote { font-size: 15px; font-weight: 400; line-height: 1.6; color: var(--muted); }
.foot { display: flex; justify-content: space-between; gap: 48px;
border-top: 1px solid var(--rule); padding-top: 24px; }
.note { font-size: 17px; font-weight: 400; line-height: 1.8; color: var(--muted); max-width: 1260px; }
.span { font-size: 15px; font-weight: 400; color: var(--muted); font-variant-numeric: tabular-nums; }
</style>
<div class="artboard" data-artboard>
<div class="content" data-content>
<div class="head">
<h1 class="title" data-type="title">営業利益 前期比 −4.2 億円の内訳</h1>
<p class="unitNote" data-type="unitNote">単位: 億円 / 連結</p>
</div>
<div class="plot">
<div class="step" data-col="1">
<div class="stack">
<div class="bar" data-sign="base" style="bottom:0; height:62%"></div>
<p class="value" style="bottom:64%" data-type="value">25.1</p>
</div>
<div class="caption"><p class="stepName" data-type="stepName">前期 実績</p><p class="stepNote" data-type="stepNote">2025 年度</p></div>
</div>
<div class="step" data-col="2">
<div class="stack">
<div class="bar" data-sign="up" style="bottom:62%; height:16.8%"></div>
<p class="value" style="bottom:80.8%">+ 6.8</p>
</div>
<div class="caption"><p class="stepName">既存の単価改定</p><p class="stepNote">4 月に一律 6 %</p></div>
</div>
<div class="step" data-col="3">
<div class="stack">
<div class="bar" data-sign="up" style="bottom:78.8%; height:7.9%"></div>
<p class="value" style="bottom:88.7%">+ 3.2</p>
</div>
<div class="caption"><p class="stepName">新規の獲得</p><p class="stepNote">大口 2 社</p></div>
</div>
<div class="step" data-col="4">
<div class="stack">
<div class="bar" data-sign="down" style="bottom:57.3%; height:29.4%"></div>
<p class="value" style="bottom:49%">− 11.9</p>
</div>
<div class="caption"><p class="stepName">原価の上昇</p><p class="stepNote">部材と物流</p></div>
</div>
<div class="step" data-col="5">
<div class="stack">
<div class="bar" data-sign="down" style="bottom:47.2%; height:10.1%"></div>
<p class="value" style="bottom:39%">− 4.1</p>
</div>
<div class="caption"><p class="stepName">先行投資</p><p class="stepNote">基幹の刷新</p></div>
</div>
<div class="step" data-col="6">
<div class="stack">
<div class="bar" data-sign="up" style="bottom:47.2%; height:4.4%"></div>
<p class="value" style="bottom:53%">+ 1.8</p>
</div>
<div class="caption"><p class="stepName">経費の削減</p><p class="stepNote">拠点の統廃合</p></div>
</div>
<div class="step" data-col="7">
<div class="stack">
<div class="bar" data-sign="end" style="bottom:0; height:51.6%"></div>
<p class="value" style="bottom:53.6%">20.9</p>
</div>
<div class="caption"><p class="stepName">今期 着地</p><p class="stepNote">2026 年度 見込</p></div>
</div>
</div>
<div class="foot">
<p class="note" data-type="note">減の 2 本のうち先行投資は計画済みで、今期限りです。説明を要するのは原価の 11.9 億円 —— 単価改定と新規獲得の合計 10 億円を、これ 1 本で消しています。</p>
<p class="span" data-type="span">2026 年 8 月 見込値</p>
</div>
</div>
</div>
/designs/waterfall-variance-bridge/font.css — 全部入りには入れていない
/* dv-subset v2 — generated by scripts/subset-font.mjs. Do not edit.
* font Zen Kaku Gothic New 400;500;700
* chars 119 (2f0ec2d899433571)
*
* pattern.html の文字だけを含む部分集合。描画時に外部へ取りに行かないよう同梱する。
* 版の文字を変えたら取り直すこと — 忘れると足りない字が豆腐になる。
* その取り忘れは pattern-entries.test.ts が上の指紋で検出する。
*/
@font-face {
font-family: 'Zen Kaku Gothic New';
font-style: normal;
font-weight: 400;
font-display: block;
src: url(./font-0.woff2) format('woff2');
unicode-range: U+25, U+2b, U+2e-36, U+38-3a, U+2014, U+2212, U+3001-3002, U+3044, U+3046, U+3053-3054, U+3057-305a, U+3061-3062, U+3066-3069, U+306b, U+306e-3070, U+307e-3080, U+308a-308c, U+3092, U+3094, U+3099, U+30a6, U+30a9, U+30bf-30c0, U+30d5-30d6, U+30eb, U+30f4, U+30fc, U+4e00, U+4e0a, U+4eca, U+4f4d, U+4fa1, U+5024, U+5104, U+5148, U+5185-5186, U+5206, U+5229, U+5237, U+524a, U+524d, U+5358, U+539f, U+53e3, U+5408, U+55b6, U+5730, U+57fa, U+5927, U+5b58, U+5b9a, U+5b9f, U+5dee, U+5e74, U+5e79, U+5ea6, U+5ec3, U+5f8b, U+5f97, U+6295, U+62e0, U+6539, U+65b0, U+65e2, U+6607, U+660e, U+6708, U+671f, U+672c, U+6750, U+696d, U+6bb5, U+6bd4, U+6d41, U+6d88, U+6e08, U+6e1b, U+70b9, U+7269, U+7372, U+753b, U+76ca, U+7740, U+793e, U+7a4d, U+7d4c, U+7d50, U+7d71, U+7e3e, U+884c, U+8981, U+898b, U+898f, U+8a08, U+8a33, U+8aac, U+8cbb, U+8cc7, U+8fbc, U+9023, U+90e8, U+9650;
}
@font-face {
font-family: 'Zen Kaku Gothic New';
font-style: normal;
font-weight: 500;
font-display: block;
src: url(./font-1.woff2) format('woff2');
unicode-range: U+25, U+2b, U+2e-36, U+38-3a, U+2014, U+2212, U+3001-3002, U+3044, U+3046, U+3053-3054, U+3057-305a, U+3061-3062, U+3066-3069, U+306b, U+306e-3070, U+307e-3080, U+308a-308c, U+3092, U+3094, U+3099, U+30a6, U+30a9, U+30bf-30c0, U+30d5-30d6, U+30eb, U+30f4, U+30fc, U+4e00, U+4e0a, U+4eca, U+4f4d, U+4fa1, U+5024, U+5104, U+5148, U+5185-5186, U+5206, U+5229, U+5237, U+524a, U+524d, U+5358, U+539f, U+53e3, U+5408, U+55b6, U+5730, U+57fa, U+5927, U+5b58, U+5b9a, U+5b9f, U+5dee, U+5e74, U+5e79, U+5ea6, U+5ec3, U+5f8b, U+5f97, U+6295, U+62e0, U+6539, U+65b0, U+65e2, U+6607, U+660e, U+6708, U+671f, U+672c, U+6750, U+696d, U+6bb5, U+6bd4, U+6d41, U+6d88, U+6e08, U+6e1b, U+70b9, U+7269, U+7372, U+753b, U+76ca, U+7740, U+793e, U+7a4d, U+7d4c, U+7d50, U+7d71, U+7e3e, U+884c, U+8981, U+898b, U+898f, U+8a08, U+8a33, U+8aac, U+8cbb, U+8cc7, U+8fbc, U+9023, U+90e8, U+9650;
}
@font-face {
font-family: 'Zen Kaku Gothic New';
font-style: normal;
font-weight: 700;
font-display: block;
src: url(./font-2.woff2) format('woff2');
unicode-range: U+25, U+2b, U+2e-36, U+38-3a, U+2014, U+2212, U+3001-3002, U+3044, U+3046, U+3053-3054, U+3057-305a, U+3061-3062, U+3066-3069, U+306b, U+306e-3070, U+307e-3080, U+308a-308c, U+3092, U+3094, U+3099, U+30a6, U+30a9, U+30bf-30c0, U+30d5-30d6, U+30eb, U+30f4, U+30fc, U+4e00, U+4e0a, U+4eca, U+4f4d, U+4fa1, U+5024, U+5104, U+5148, U+5185-5186, U+5206, U+5229, U+5237, U+524a, U+524d, U+5358, U+539f, U+53e3, U+5408, U+55b6, U+5730, U+57fa, U+5927, U+5b58, U+5b9a, U+5b9f, U+5dee, U+5e74, U+5e79, U+5ea6, U+5ec3, U+5f8b, U+5f97, U+6295, U+62e0, U+6539, U+65b0, U+65e2, U+6607, U+660e, U+6708, U+671f, U+672c, U+6750, U+696d, U+6bb5, U+6bd4, U+6d41, U+6d88, U+6e08, U+6e1b, U+70b9, U+7269, U+7372, U+753b, U+76ca, U+7740, U+793e, U+7a4d, U+7d4c, U+7d50, U+7d71, U+7e3e, U+884c, U+8981, U+898b, U+898f, U+8a08, U+8a33, U+8aac, U+8cbb, U+8cc7, U+8fbc, U+9023, U+90e8, U+9650;
}
出典を持たない自作パターン。pattern.html が版そのもので、cover.png と frontmatter の
layout / type / colors はどちらもそこから機械的に測った結果。編集するのは pattern.html
だけで、寸法を手で書き直すことはない。
A self-authored pattern. pattern.html is the artboard itself; both cover.png and the
measurements in the frontmatter are derived from it, so the three cannot drift apart.
Edit the artboard, never the numbers.