版の配色
1920 × 1080 作品として見る 版そのものを描画 — どの倍率でも字は潰れません 骨格・余白・カラムを重ねた状態
1920 × 1080 作品として見る 版そのものを描画 — どの倍率でも字は潰れません 骨格・余白・カラムを重ねた状態
コピーして貼るか、ファイルに保存して渡す。ネットにつながらない環境には「全部入り」を 1 つ渡せば足りる。
このパネルの中身を、URL の先にあるファイルの中身まで含めて 1 つにまとめた Markdown — 大きいのでファイルで渡す(コピーは 32KB まで)
以下の仕様でスライドを 1 枚作ってください。 - 版面 1920 × 1080 - 余白 上 100 右 128 下 100 左 128 - 2 カラム(等分)、間隔 56 ## 強調 2 列目のみ。手段は 罫 だけ。ほかは変えない ## 文字(版面 1920px に対する px) title 42px / 700 / 字間 0.02em lede 19px / 400 / 行送り 1.8 side 15px / 500 / 字間 0.18em sideName 26px / 700 aspect 22px / 500 value 34px / 700 / 字間 -0.01em / 等幅数字 detail 17px / 400 / 行送り 1.7 note 17px / 400 / 行送り 1.8 basis 15px / 400 ## 配色 地 #FFFFFF / 面 #F3F4F6 / 文字 #15181C / 補助 #737A83 / 強調 #0E6E4E / 罫 #D7DBE0 ## 外すと崩れる点 - 変わらないものは載せない。載せると「変化の表」ではなく「仕様の表」になる - 項目ごとに高さを揃える。揃えないと 2 つの箇条書きが並んでいるだけになる - After の側だけに accent を使う。両側に色を置くと差が読めない 内容は[ここに自分の内容を書く]に置き換えてください。寸法と配色はそのまま守ってください。 正確に再現する場合は、この HTML をそのまま使ってください: https://design-vault.pages.dev/designs/comparison-before-after/pattern.html
/ai/designs/comparison-before-after.json
format: slide-16x9
density: medium
layout:
kind: 2-column
canvas:
w: 1920
h: 1080
margin:
top: 100
right: 128
bottom: 100
left: 128
columns:
count: 2
gap: 56
emphasis:
column: 2
via:
- rule
type:
title:
size: 42
weight: 700
tracking: 0.02em
lede:
size: 19
weight: 400
leading: 1.8
side:
size: 15
weight: 500
tracking: 0.18em
sideName:
size: 26
weight: 700
aspect:
size: 22
weight: 500
value:
size: 34
weight: 700
tracking: -0.01em
numeric: tabular
detail:
size: 17
weight: 400
leading: 1.7
note:
size: 17
weight: 400
leading: 1.8
basis:
size: 15
weight: 400
colors:
ground: "#FFFFFF"
surface: "#F3F4F6"
ink: "#15181C"
muted: "#737A83"
accent: "#0E6E4E"
rule: "#D7DBE0"
rules:
- 変わらないものは載せない。載せると「変化の表」ではなく「仕様の表」になる
- 項目ごとに高さを揃える。揃えないと 2 つの箇条書きが並んでいるだけになる
- After の側だけに accent を使う。両側に色を置くと差が読めない{
"format": "slide-16x9",
"density": "medium",
"layout": {
"kind": "2-column",
"canvas": {
"w": 1920,
"h": 1080
},
"margin": {
"top": 100,
"right": 128,
"bottom": 100,
"left": 128
},
"columns": {
"count": 2,
"gap": 56
},
"emphasis": {
"column": 2,
"via": [
"rule"
]
}
},
"type": {
"title": {
"size": 42,
"weight": 700,
"tracking": "0.02em"
},
"lede": {
"size": 19,
"weight": 400,
"leading": 1.8
},
"side": {
"size": 15,
"weight": 500,
"tracking": "0.18em"
},
"sideName": {
"size": 26,
"weight": 700
},
"aspect": {
"size": 22,
"weight": 500
},
"value": {
"size": 34,
"weight": 700,
"tracking": "-0.01em",
"numeric": "tabular"
},
"detail": {
"size": 17,
"weight": 400,
"leading": 1.7
},
"note": {
"size": 17,
"weight": 400,
"leading": 1.8
},
"basis": {
"size": 15,
"weight": 400
}
},
"colors": {
"ground": "#FFFFFF",
"surface": "#F3F4F6",
"ink": "#15181C",
"muted": "#737A83",
"accent": "#0E6E4E",
"rule": "#D7DBE0"
},
"rules": [
"変わらないものは載せない。載せると「変化の表」ではなく「仕様の表」になる",
"項目ごとに高さを揃える。揃えないと 2 つの箇条書きが並んでいるだけになる",
"After の側だけに accent を使う。両側に色を置くと差が読めない"
]
} /designs/comparison-before-after/pattern.html — 版そのものの HTML。書体の部分集合ごと同梱で、開けばこの絵がそのまま出ます。
<!doctype html>
<meta charset="utf-8">
<title>Before / After — 同じ行で左右を突き合わせる</title>
<meta name="dv-font" content="Zen Kaku Gothic New:400;500;700">
<link rel="stylesheet" href="./font.css">
<style>
:root {
--ground: #FFFFFF;
--surface: #F3F4F6;
--ink: #15181C;
--muted: #737A83;
--accent: #0E6E4E;
--rule: #D7DBE0;
}
* { 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 128px;
}
.content { height: 100%; display: grid; grid-template-rows: auto auto 1fr auto; gap: 30px; }
.head { display: grid; gap: 12px; }
.title { font-size: 42px; font-weight: 700; letter-spacing: .02em; }
.lede { font-size: 19px; font-weight: 400; line-height: 1.8; color: var(--muted); }
/* 左右は同じ行に並ぶ。項目ごとに高さを揃えないと、
「比べている」のではなく「2 つの箇条書きが並んでいる」絵になる。 */
.cols { display: grid; grid-template-columns: 300px 1fr 1fr; column-gap: 56px; }
.colHead { padding-bottom: 18px; border-bottom: 2px solid var(--rule); display: flex; align-items: baseline; gap: 16px; }
.side { font-size: 15px; font-weight: 500; letter-spacing: .18em; color: var(--muted); }
.sideName { font-size: 26px; font-weight: 700; }
.colHead[data-emphasis] { border-bottom-color: var(--accent); }
.colHead[data-emphasis] .side, .colHead[data-emphasis] .sideName { color: var(--accent); }
.rows { display: grid; grid-template-rows: repeat(4, 1fr); }
.row { display: grid; grid-template-columns: 300px 1fr 1fr; column-gap: 56px; align-items: center;
border-bottom: 1px solid var(--rule); }
.aspect { font-size: 22px; font-weight: 500; }
.cell { display: grid; gap: 10px; padding: 26px 0; }
.value { font-size: 34px; font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.cell[data-after] .value { color: var(--accent); }
.detail { font-size: 17px; font-weight: 400; line-height: 1.7; color: var(--muted); }
.foot { border-top: 1px solid var(--rule); padding-top: 24px; display: flex; justify-content: space-between; gap: 48px; }
.note { font-size: 17px; font-weight: 400; line-height: 1.8; color: var(--muted); max-width: 1280px; }
.basis { font-size: 15px; font-weight: 400; color: var(--muted); }
</style>
<div class="artboard" data-artboard>
<div class="content" data-content>
<div class="head">
<h1 class="title" data-type="title">移行の前後で何が変わるか</h1>
<p class="lede" data-type="lede">変わらないものは載せていません。ここに無い業務は、移行後も今日と同じ手順です。</p>
</div>
<div class="cols">
<div></div>
<div class="colHead" data-col="1"><span class="side" data-type="side">BEFORE</span><span class="sideName" data-type="sideName">現行</span></div>
<div class="colHead" data-col="2" data-emphasis="rule"><span class="side">AFTER</span><span class="sideName">移行後</span></div>
</div>
<div class="rows">
<div class="row">
<p class="aspect" data-type="aspect">月次締めの所要</p>
<div class="cell"><p class="value" data-type="value">5.5 日</p><p class="detail" data-type="detail">4 拠点の集計を手で突き合わせ</p></div>
<div class="cell" data-after><p class="value">1.0 日</p><p class="detail">拠点別の入力がそのまま集計になる</p></div>
</div>
<div class="row">
<p class="aspect">台帳の数</p>
<div class="cell"><p class="value">7 系統</p><p class="detail">同じ得意先が別 ID で 7 か所に</p></div>
<div class="cell" data-after><p class="value">1 系統</p><p class="detail">得意先コードを 1 本に統合</p></div>
</div>
<div class="row">
<p class="aspect">連携の本数</p>
<div class="cell"><p class="value">23 本</p><p class="detail">うち 9 本は台帳に記載が無い</p></div>
<div class="cell" data-after><p class="value">11 本</p><p class="detail">全数を台帳に登録し、監視下に置く</p></div>
</div>
<div class="row">
<p class="aspect">年間の保守費</p>
<div class="cell"><p class="value">4,100 万円</p><p class="detail">延長保守の割増を含む</p></div>
<div class="cell" data-after><p class="value">2,850 万円</p><p class="detail">3 年目以降。初年度は移行費が乗る</p></div>
</div>
</div>
<div class="foot">
<p class="note" data-type="note">初年度は移行費で費用が増えます。回収は 3 年目です —— 保守切れの 2027 年 3 月に間に合わせること自体が目的なので、回収年数は判断材料の 2 番目に置いています。</p>
<p class="basis" data-type="basis">現行は 2026 年 4-8 月の実測</p>
</div>
</div>
</div>
/designs/comparison-before-after/font.css — 全部入りには入れていない
/* dv-subset v2 — generated by scripts/subset-font.mjs. Do not edit.
* font Zen Kaku Gothic New 400;500;700
* chars 148 (e3df57f0fefce880)
*
* 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+2c-39, U+41-42, U+44-46, U+49, U+4f, U+52, U+54, U+65-66, U+6f, U+72, U+74, U+2014, U+3001-3002, U+3044, U+3046, U+3048, U+304b-3050, U+3053-3054, U+3057-305e, U+3061-3062, U+3066-306b, U+306e-3070, U+307e, U+3080-3082, U+3089, U+308b-308c, U+308f, U+3092-3094, U+3099, U+30b3-30b4, U+30c8-30c9, U+30fc, U+4e07, U+4e0b, U+4e57, U+4eca, U+4ee5, U+4f53, U+4f55, U+4fdd, U+5148, U+5165, U+5168, U+5186, U+5207, U+521d, U+5224-5225, U+524d, U+5272, U+529b, U+52d9, U+53ce, U+53f0, U+53f3, U+5408, U+540c, U+542b, U+56de, U+5897, U+5909, U+5b88, U+5b9f, U+5de6, U+5e33, U+5e74, U+5ea6, U+5ef6, U+5f8c, U+5f97, U+610f, U+6240, U+624b, U+62e0, U+643a, U+6570, U+6599, U+65ad, U+65e5, U+6708, U+672c, U+6750, U+696d, U+6b21, U+6e2c, U+70b9, U+7121, U+73fe, U+7528, U+756a, U+767b, U+7684, U+76e3, U+76ee, U+79fb, U+7a81, U+7cfb, U+7d71, U+7de0, U+7f6e, U+81ea, U+884c, U+8981, U+8996, U+8a08, U+8a18, U+8cbb, U+8f09, U+9023, U+9332, U+9577, U+9593, U+964d, U+96c6, U+9806;
}
@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+2c-39, U+41-42, U+44-46, U+49, U+4f, U+52, U+54, U+65-66, U+6f, U+72, U+74, U+2014, U+3001-3002, U+3044, U+3046, U+3048, U+304b-3050, U+3053-3054, U+3057-305e, U+3061-3062, U+3066-306b, U+306e-3070, U+307e, U+3080-3082, U+3089, U+308b-308c, U+308f, U+3092-3094, U+3099, U+30b3-30b4, U+30c8-30c9, U+30fc, U+4e07, U+4e0b, U+4e57, U+4eca, U+4ee5, U+4f53, U+4f55, U+4fdd, U+5148, U+5165, U+5168, U+5186, U+5207, U+521d, U+5224-5225, U+524d, U+5272, U+529b, U+52d9, U+53ce, U+53f0, U+53f3, U+5408, U+540c, U+542b, U+56de, U+5897, U+5909, U+5b88, U+5b9f, U+5de6, U+5e33, U+5e74, U+5ea6, U+5ef6, U+5f8c, U+5f97, U+610f, U+6240, U+624b, U+62e0, U+643a, U+6570, U+6599, U+65ad, U+65e5, U+6708, U+672c, U+6750, U+696d, U+6b21, U+6e2c, U+70b9, U+7121, U+73fe, U+7528, U+756a, U+767b, U+7684, U+76e3, U+76ee, U+79fb, U+7a81, U+7cfb, U+7d71, U+7de0, U+7f6e, U+81ea, U+884c, U+8981, U+8996, U+8a08, U+8a18, U+8cbb, U+8f09, U+9023, U+9332, U+9577, U+9593, U+964d, U+96c6, U+9806;
}
@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+2c-39, U+41-42, U+44-46, U+49, U+4f, U+52, U+54, U+65-66, U+6f, U+72, U+74, U+2014, U+3001-3002, U+3044, U+3046, U+3048, U+304b-3050, U+3053-3054, U+3057-305e, U+3061-3062, U+3066-306b, U+306e-3070, U+307e, U+3080-3082, U+3089, U+308b-308c, U+308f, U+3092-3094, U+3099, U+30b3-30b4, U+30c8-30c9, U+30fc, U+4e07, U+4e0b, U+4e57, U+4eca, U+4ee5, U+4f53, U+4f55, U+4fdd, U+5148, U+5165, U+5168, U+5186, U+5207, U+521d, U+5224-5225, U+524d, U+5272, U+529b, U+52d9, U+53ce, U+53f0, U+53f3, U+5408, U+540c, U+542b, U+56de, U+5897, U+5909, U+5b88, U+5b9f, U+5de6, U+5e33, U+5e74, U+5ea6, U+5ef6, U+5f8c, U+5f97, U+610f, U+6240, U+624b, U+62e0, U+643a, U+6570, U+6599, U+65ad, U+65e5, U+6708, U+672c, U+6750, U+696d, U+6b21, U+6e2c, U+70b9, U+7121, U+73fe, U+7528, U+756a, U+767b, U+7684, U+76e3, U+76ee, U+79fb, U+7a81, U+7cfb, U+7d71, U+7de0, U+7f6e, U+81ea, U+884c, U+8981, U+8996, U+8a08, U+8a18, U+8cbb, U+8f09, U+9023, U+9332, U+9577, U+9593, U+964d, U+96c6, U+9806;
}
出典を持たない自作パターン。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.