版の配色
1920 × 1080 作品として見る 版そのものを描画 — どの倍率でも字は潰れません 骨格・余白・カラムを重ねた状態
1920 × 1080 作品として見る 版そのものを描画 — どの倍率でも字は潰れません 骨格・余白・カラムを重ねた状態
コピーして貼るか、ファイルに保存して渡す。ネットにつながらない環境には「全部入り」を 1 つ渡せば足りる。
このパネルの中身を、URL の先にあるファイルの中身まで含めて 1 つにまとめた Markdown — 大きいのでファイルで渡す(コピーは 32KB まで)
以下の仕様でスライドを 1 枚作ってください。 - 版面 1920 × 1080 - 余白 上 96 右 140 下 96 左 140 ## 文字(版面 1920px に対する px) title 44px / 700 / 字間 0.01em / 行送り 1.3 window 20px / 500 / 行送り 1.5 / 等幅数字 share 32px / 700 / 行送り 1 / 等幅数字 total 108px / 700 / 字間 -0.01em / 行送り 1 / 等幅数字 unit 22px / 500 / 行送り 1.4 label 26px / 500 / 行送り 1.4 count 30px / 700 / 行送り 1.2 / 等幅数字 note 16px / 400 / 行送り 1.6 ## 配色 地 #FFFFFF / 面 #F4F6F9 / 文字 #131820 / 補助 #667183 / 強調 #1F5FA8 / 罫 #DBE1E9 / #1C8C79 / #2F6FB5 / #9A6B12 / #A85A2E ## 外すと崩れる点 - 中心を空にしない。角度は「全体に対する割合」しか言わないので、母数が消えると 42% が 521 件なのか 5 件なのか分からなくなる - 区分は 4 つまで。5 つ目からは隣り合う角度の差が読み取れなくなり、凡例を往復しないと図が読めなくなる - 割合は輪の外側の地の上に置く。帯の上に地の色で抜くと、区分色ごとに読みやすさが変わってしまう - 区分色は輝度 0.15〜0.21 の中間色から採る。配色を差し替えても区分色は置き換わらないので、淡い地でも濃い地でも見分けが付く帯から選ぶ必要がある - 図は割合、凡例は実数。同じ数字を 2 か所に書くと、読み手はどちらが正なのかを確かめる作業を始める 内容は[ここに自分の内容を書く]に置き換えてください。寸法と配色はそのまま守ってください。 正確に再現する場合は、この HTML をそのまま使ってください: https://design-vault.pages.dev/designs/donut-share-center-total/pattern.html
/ai/designs/donut-share-center-total.json
format: slide-16x9
density: medium
layout:
kind: radial
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
numeric: tabular
share:
size: 32
weight: 700
leading: 1
numeric: tabular
total:
size: 108
weight: 700
tracking: -0.01em
leading: 1
numeric: tabular
unit:
size: 22
weight: 500
leading: 1.4
label:
size: 26
weight: 500
leading: 1.4
count:
size: 30
weight: 700
leading: 1.2
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:
- 中心を空にしない。角度は「全体に対する割合」しか言わないので、母数が消えると 42% が 521 件なのか 5 件なのか分からなくなる
- 区分は 4 つまで。5 つ目からは隣り合う角度の差が読み取れなくなり、凡例を往復しないと図が読めなくなる
- 割合は輪の外側の地の上に置く。帯の上に地の色で抜くと、区分色ごとに読みやすさが変わってしまう
- 区分色は輝度 0.15〜0.21 の中間色から採る。配色を差し替えても区分色は置き換わらないので、淡い地でも濃い地でも見分けが付く帯から選ぶ必要がある
- 図は割合、凡例は実数。同じ数字を 2 か所に書くと、読み手はどちらが正なのかを確かめる作業を始める{
"format": "slide-16x9",
"density": "medium",
"layout": {
"kind": "radial",
"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,
"numeric": "tabular"
},
"share": {
"size": 32,
"weight": 700,
"leading": 1,
"numeric": "tabular"
},
"total": {
"size": 108,
"weight": 700,
"tracking": "-0.01em",
"leading": 1,
"numeric": "tabular"
},
"unit": {
"size": 22,
"weight": 500,
"leading": 1.4
},
"label": {
"size": 26,
"weight": 500,
"leading": 1.4
},
"count": {
"size": 30,
"weight": 700,
"leading": 1.2,
"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": [
"中心を空にしない。角度は「全体に対する割合」しか言わないので、母数が消えると 42% が 521 件なのか 5 件なのか分からなくなる",
"区分は 4 つまで。5 つ目からは隣り合う角度の差が読み取れなくなり、凡例を往復しないと図が読めなくなる",
"割合は輪の外側の地の上に置く。帯の上に地の色で抜くと、区分色ごとに読みやすさが変わってしまう",
"区分色は輝度 0.15〜0.21 の中間色から採る。配色を差し替えても区分色は置き換わらないので、淡い地でも濃い地でも見分けが付く帯から選ぶ必要がある",
"図は割合、凡例は実数。同じ数字を 2 か所に書くと、読み手はどちらが正なのかを確かめる作業を始める"
]
} /designs/donut-share-center-total/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 にだけ置く。以下の規則は var() か color-mix() で名指す。
系列色は輝度 0.15〜0.21 の中間色から採ってある —— 系列色は配色プリセットを
当てても置き換わらないので、淡地でも濃地でも 3.0 を割らない帯から選ぶ必要がある。 */
:root {
--ground: #FFFFFF;
--surface: #F4F6F9;
--ink: #131820;
--muted: #667183;
--accent: #1F5FA8;
--rule: #DBE1E9;
--series-1: #1C8C79;
--series-2: #2F6FB5;
--series-3: #9A6B12;
--series-4: #A85A2E;
}
* { 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: 96px 140px;
}
.content {
height: 100%;
display: grid;
grid-template-rows: auto minmax(0, 1fr) auto;
}
/* 見出し */
.head { border-bottom: 2px solid var(--rule); padding-bottom: 28px; }
.title { font-size: 44px; font-weight: 700; letter-spacing: 0.01em; line-height: 1.3; }
.window { margin-top: 14px; font-size: 20px; font-weight: 500; line-height: 1.5; color: var(--muted); font-variant-numeric: tabular-nums; }
/* 図と凡例。
図は 680px 角に収めてある —— 中身の段の高さは 888 − 見出し約 131 − 脚注約 49 =
約 708px で、ここを超えると割合の札が罫に乗る。CSS で縮めて合わせないのは、
SVG を等倍でなくすと中の文字の実測値が画面の見えかたと食い違うため。
見出しや脚注を増やすときは、この 680 も一緒に見直すこと。 */
.body { display: grid; grid-template-columns: 680px minmax(0, 1fr); gap: 96px; align-items: center; }
.figure { position: relative; width: 680px; height: 680px; }
.ring { display: block; }
.seg { fill: none; stroke-width: 86; }
.seg-1 { stroke: var(--series-1); }
.seg-2 { stroke: var(--series-2); }
.seg-3 { stroke: var(--series-3); }
.seg-4 { stroke: var(--series-4); }
/* 割合は輪の外側の地の上に置く。帯の上に白で抜くと、系列色ごとに読みやすさが
変わってしまう —— 地の上の ink なら 4 色のどれでも同じに読める。 */
.share { fill: var(--ink); font-size: 32px; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; }
/* 中心の総数だけは HTML を重ねる。輪の中央に置く値なので、図形の座標ではなく
版面の中央として決まるほうが崩れない。 */
.center {
position: absolute;
left: 0;
top: 0;
width: 680px;
height: 680px;
display: grid;
place-content: center;
text-align: center;
}
.total { font-size: 108px; font-weight: 700; line-height: 1; letter-spacing: -0.01em; font-variant-numeric: tabular-nums; }
.unit { margin-top: 12px; font-size: 22px; font-weight: 500; line-height: 1.4; color: var(--muted); }
.legend { display: grid; gap: 28px; }
.row { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 24px; align-items: baseline; padding-bottom: 20px; border-bottom: 1px solid var(--rule); }
.chip { width: 28px; height: 28px; border-radius: 6px; }
.chip-1 { background: var(--series-1); }
.chip-2 { background: var(--series-2); }
.chip-3 { background: var(--series-3); }
.chip-4 { background: var(--series-4); }
.label { font-size: 26px; font-weight: 500; line-height: 1.4; }
.count { font-size: 30px; font-weight: 700; line-height: 1.2; font-variant-numeric: tabular-nums; }
.foot { border-top: 1px solid var(--rule); padding-top: 22px; font-size: 16px; font-weight: 400; line-height: 1.6; 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="window" data-type="window">2026 年 4 月〜9 月 / 一次受付のみ / 再問い合わせは 1 件として数える</p>
</div>
<div class="body">
<div class="figure">
<!-- 等倍で描く。viewBox と width/height を一致させてあるので、SVG の中の
文字の級数は版面の px とそのまま同じ数字になる。 -->
<svg class="ring" width="680" height="680" viewBox="0 0 680 680">
<g transform="rotate(-90 340 340)">
<circle class="seg seg-1" cx="340" cy="340" r="222" stroke-dasharray="577.84 817.03" stroke-dashoffset="0"/>
<circle class="seg seg-2" cx="340" cy="340" r="222" stroke-dasharray="368.61 1026.26" stroke-dashoffset="-585.84"/>
<circle class="seg seg-3" cx="340" cy="340" r="222" stroke-dasharray="257.02 1137.85" stroke-dashoffset="-962.45"/>
<circle class="seg seg-4" cx="340" cy="340" r="222" stroke-dasharray="159.38 1235.49" stroke-dashoffset="-1227.47"/>
</g>
<text class="share" data-type="share" x="625" y="267" text-anchor="middle" dominant-baseline="middle">42%</text>
<text class="share" x="240" y="617" text-anchor="middle" dominant-baseline="middle">27%</text>
<text class="share" x="53" y="276" text-anchor="middle" dominant-baseline="middle">19%</text>
<text class="share" x="231" y="67" text-anchor="middle" dominant-baseline="middle">12%</text>
</svg>
<div class="center">
<div class="total" data-type="total">1,240</div>
<div class="unit" data-type="unit">件 / 半期</div>
</div>
</div>
<div class="legend">
<div class="row">
<span class="chip chip-1"></span>
<span class="label" data-type="label">使い方が分からない</span>
<span class="count" data-type="count">521</span>
</div>
<div class="row">
<span class="chip chip-2"></span>
<span class="label">仕様どおりに動かない</span>
<span class="count">335</span>
</div>
<div class="row">
<span class="chip chip-3"></span>
<span class="label">権限と設定の変更</span>
<span class="count">236</span>
</div>
<div class="row">
<span class="chip chip-4"></span>
<span class="label">請求と契約</span>
<span class="count">148</span>
</div>
</div>
</div>
<div class="foot" data-type="note">構成比は四捨五入のため合計が 100% にならないことがある。中心の総数は 4 区分の合計と一致する。</div>
</div>
</div>
/designs/donut-share-center-total/font.css — 全部入りには入れていない
/* dv-subset v2 — generated by scripts/subset-font.mjs. Do not edit.
* font Zen Kaku Gothic New 400;500;700
* chars 88 (94724b26cd2872e9)
*
* 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+2c, U+2f-39, U+2014, U+3002, U+300c-300d, U+301c, U+3042, U+3044, U+3048, U+304a-304c, U+304f-3050, U+3053-3054, U+3057-305c, U+305f-3060, U+3066-306b, U+306e-3070, U+307f, U+3081, U+3089-308b, U+308f, U+3099, U+4e00, U+4e2d, U+4e94, U+4ed5, U+4ed8, U+4ef6, U+4f7f, U+5165, U+5185, U+518d, U+5206, U+52d5, U+533a, U+534a, U+53d7, U+5408, U+554f, U+56db, U+5909, U+5951, U+5b9a, U+5e74, U+5fc3, U+6210, U+6368, U+6570, U+65b9, U+66f4, U+6708, U+671f, U+69cb, U+69d8, U+6a29, U+6b21, U+6bd4, U+6c42, U+7d04, U+7dcf, U+81f4, U+8a08, U+8a2d, U+8a33, U+8acb, U+8fd1, 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+2c, U+2f-39, U+2014, U+3002, U+300c-300d, U+301c, U+3042, U+3044, U+3048, U+304a-304c, U+304f-3050, U+3053-3054, U+3057-305c, U+305f-3060, U+3066-306b, U+306e-3070, U+307f, U+3081, U+3089-308b, U+308f, U+3099, U+4e00, U+4e2d, U+4e94, U+4ed5, U+4ed8, U+4ef6, U+4f7f, U+5165, U+5185, U+518d, U+5206, U+52d5, U+533a, U+534a, U+53d7, U+5408, U+554f, U+56db, U+5909, U+5951, U+5b9a, U+5e74, U+5fc3, U+6210, U+6368, U+6570, U+65b9, U+66f4, U+6708, U+671f, U+69cb, U+69d8, U+6a29, U+6b21, U+6bd4, U+6c42, U+7d04, U+7dcf, U+81f4, U+8a08, U+8a2d, U+8a33, U+8acb, U+8fd1, 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+2c, U+2f-39, U+2014, U+3002, U+300c-300d, U+301c, U+3042, U+3044, U+3048, U+304a-304c, U+304f-3050, U+3053-3054, U+3057-305c, U+305f-3060, U+3066-306b, U+306e-3070, U+307f, U+3081, U+3089-308b, U+308f, U+3099, U+4e00, U+4e2d, U+4e94, U+4ed5, U+4ed8, U+4ef6, U+4f7f, U+5165, U+5185, U+518d, U+5206, U+52d5, U+533a, U+534a, U+53d7, U+5408, U+554f, U+56db, U+5909, U+5951, U+5b9a, U+5e74, U+5fc3, U+6210, U+6368, U+6570, U+65b9, U+66f4, U+6708, U+671f, U+69cb, U+69d8, U+6a29, U+6b21, U+6bd4, U+6c42, U+7d04, U+7dcf, U+81f4, U+8a08, U+8a2d, U+8a33, U+8acb, U+8fd1, U+9650;
}
構成比の図が答えない問いは、たいてい「それは何件のうちの 42% なのか」である。 ドーナツは中心が空くので、そこに母数を置ける——円グラフにできて棒グラフにできない ことがあるとすれば、これに尽きる。
区分を 4 つに抑えているのは意匠ではなく制約である。角度の差は面積や長さより読み取り にくく、5 つを超えると隣どうしの大小が目で決められなくなる。まとめられない 5 つ目が 出てきたときは、区分を足すのではなく図を分ける。