1920 × 1080 作品として見る 版そのものを描画 — どの倍率でも字は潰れません 骨格・余白・カラムを重ねた状態
1920 × 1080 作品として見る 版そのものを描画 — どの倍率でも字は潰れません 骨格・余白・カラムを重ねた状態
コピーして貼るか、ファイルに保存して渡す。ネットにつながらない環境には「全部入り」を 1 つ渡せば足りる。
このパネルの中身を、URL の先にあるファイルの中身まで含めて 1 つにまとめた Markdown — 大きいのでファイルで渡す(コピーは 32KB まで)
以下の仕様でスライドを 1 枚作ってください。 - 版面 1920 × 1080 - 余白 上 88 右 140 下 56 左 140 ## 文字(版面 1920px に対する px) kicker 22px / 700 / 字間 0.16em / 等幅数字 title 54px / 700 / 行送り 1.35 / 等幅数字 time 26px / 700 / 等幅数字 item 28px / 700 / 等幅数字 itemNote 22px / 400 / 等幅数字 sideLabel 22px / 700 / 等幅数字 side 28px / 500 / 行送り 1.6 / 等幅数字 sideWho 22px / 400 / 等幅数字 folio 16px / 400 / 等幅数字 ## 配色 地 #FFFFFF / 面 #F4F3F0 / 文字 #16181D / 補助 #686C74 / 強調 #D9411F / 罫 #E0DED8 ## 外すと崩れる点 - 時刻は右揃えの等幅数字で列に揃え、軸の左に置く - 休み・退勤は白抜きの点と灰色。仕事の時間と見分けられる - 項目は 7 つ前後。15 分刻みの予定表にしない - 働き方の条件(月に 2 回は 16 時に上がる)を 1 つ入れる 内容は[ここに自分の内容を書く]に置き換えてください。寸法と配色はそのまま守ってください。 正確に再現する場合は、この HTML をそのまま使ってください: https://design-vault.pages.dev/designs/day-schedule-timeline/pattern.html
/ai/designs/day-schedule-timeline.json
format: slide-16x9
density: medium
layout:
kind: timeline
canvas:
w: 1920
h: 1080
margin:
top: 88
right: 140
bottom: 56
left: 140
type:
kicker:
size: 22
weight: 700
tracking: 0.16em
numeric: tabular
title:
size: 54
weight: 700
leading: 1.35
numeric: tabular
time:
size: 26
weight: 700
numeric: tabular
item:
size: 28
weight: 700
numeric: tabular
itemNote:
size: 22
weight: 400
numeric: tabular
sideLabel:
size: 22
weight: 700
numeric: tabular
side:
size: 28
weight: 500
leading: 1.6
numeric: tabular
sideWho:
size: 22
weight: 400
numeric: tabular
folio:
size: 16
weight: 400
numeric: tabular
colors:
ground: "#FFFFFF"
surface: "#F4F3F0"
ink: "#16181D"
muted: "#686C74"
accent: "#D9411F"
rule: "#E0DED8"
rules:
- 時刻は右揃えの等幅数字で列に揃え、軸の左に置く
- 休み・退勤は白抜きの点と灰色。仕事の時間と見分けられる
- 項目は 7 つ前後。15 分刻みの予定表にしない
- 働き方の条件(月に 2 回は 16 時に上がる)を 1 つ入れる{
"format": "slide-16x9",
"density": "medium",
"layout": {
"kind": "timeline",
"canvas": {
"w": 1920,
"h": 1080
},
"margin": {
"top": 88,
"right": 140,
"bottom": 56,
"left": 140
}
},
"type": {
"kicker": {
"size": 22,
"weight": 700,
"tracking": "0.16em",
"numeric": "tabular"
},
"title": {
"size": 54,
"weight": 700,
"leading": 1.35,
"numeric": "tabular"
},
"time": {
"size": 26,
"weight": 700,
"numeric": "tabular"
},
"item": {
"size": 28,
"weight": 700,
"numeric": "tabular"
},
"itemNote": {
"size": 22,
"weight": 400,
"numeric": "tabular"
},
"sideLabel": {
"size": 22,
"weight": 700,
"numeric": "tabular"
},
"side": {
"size": 28,
"weight": 500,
"leading": 1.6,
"numeric": "tabular"
},
"sideWho": {
"size": 22,
"weight": 400,
"numeric": "tabular"
},
"folio": {
"size": 16,
"weight": 400,
"numeric": "tabular"
}
},
"colors": {
"ground": "#FFFFFF",
"surface": "#F4F3F0",
"ink": "#16181D",
"muted": "#686C74",
"accent": "#D9411F",
"rule": "#E0DED8"
},
"rules": [
"時刻は右揃えの等幅数字で列に揃え、軸の左に置く",
"休み・退勤は白抜きの点と灰色。仕事の時間と見分けられる",
"項目は 7 つ前後。15 分刻みの予定表にしない",
"働き方の条件(月に 2 回は 16 時に上がる)を 1 つ入れる"
]
} /designs/day-schedule-timeline/pattern.html — 版そのものの HTML。書体の部分集合ごと同梱で、開けばこの絵がそのまま出ます。
<!doctype html>
<meta charset="utf-8">
<title>ある 1 日 — 時刻の縦軸に、その時間にしていることを並べる</title>
<meta name="dv-font" content="Zen Kaku Gothic New:400;500;700">
<link rel="stylesheet" href="./font.css">
<style>
/* この版そのもの。index.md の layout / type / colors は、この HTML を
scripts/render-pattern.mjs で実測した結果であって、別に書いた説明ではない。
会社・人物・数値はすべて説明用の架空のもの。 */
:root {
--ground: #FFFFFF;
--surface: #F4F3F0;
--ink: #16181D;
--muted: #686C74;
--accent: #D9411F;
--rule: #E0DED8;
}
* { box-sizing: border-box; margin: 0; }
html, body { width: 1920px; height: 1080px; }
body { font-family: "Zen Kaku Gothic New", "IPAGothic", sans-serif; font-variant-numeric: tabular-nums; }
.artboard {
width: 1920px; height: 1080px;
background: var(--ground); color: var(--ink);
padding: 88px 140px 56px; /* → layout.margin */
}
.content { height: 100%; display: grid; grid-template-rows: auto 1fr auto; row-gap: 40px; }
.kicker { font-size: 22px; font-weight: 700; letter-spacing: .16em; color: var(--accent); }
.title { font-size: 54px; font-weight: 700; line-height: 1.35; margin-top: 10px; }
.folio { display: flex; justify-content: space-between; font-size: 16px; color: var(--muted); border-top: 1px solid var(--rule); padding-top: 16px; }
.split { display: grid; grid-template-columns: 1fr 440px; column-gap: 72px; align-items: center; }
ol { list-style: none; padding: 0; position: relative; }
/* 縦軸は時刻の列と本文の間に 1 本。点は軸の上に置き、休みの時間は白抜きにする */
ol::before { content: ""; position: absolute; left: 131px; top: 12px; bottom: 12px; width: 3px; background: var(--rule); }
li { display: grid; grid-template-columns: 104px 56px 1fr; align-items: baseline; padding: 12px 0; position: relative; }
.t { font-size: 26px; font-weight: 700; text-align: right; padding-right: 8px; }
.dot { justify-self: center; width: 20px; height: 20px; border-radius: 50%; background: var(--accent); position: relative; top: 2px; }
li.lite .dot { background: var(--ground); border: 3px solid var(--muted); }
li.lite .h, li.lite .t { color: var(--muted); }
.h { font-size: 28px; font-weight: 700; }
.b { font-size: 22px; color: var(--muted); margin-top: 4px; }
.side { background: var(--surface); padding: 36px 40px; }
.sl { font-size: 22px; font-weight: 700; color: var(--accent); }
.st { font-size: 28px; font-weight: 500; line-height: 1.6; margin-top: 12px; }
.sw { font-size: 22px; color: var(--muted); margin-top: 20px; }
</style>
<div class="artboard" data-artboard>
<div class="content" data-content>
<div>
<p class="kicker" data-type="kicker">ある 1 日</p>
<h1 class="title" data-type="title">午前はデータ、午後は運行会社と停留所へ</h1>
</div>
<div class="split">
<ol>
<li class=""><span class="t" data-type="time">9:30</span><span class="dot"></span><div><p class="h" data-type="item">朝会</p><p class="b" data-type="itemNote">チーム 6 人で、前日の遅れの多かった便を確認する</p></div></li>
<li class=""><span class="t">10:00</span><span class="dot"></span><div><p class="h">データの点検</p><p class="b">運行会社から届いた走行記録を見て、抜けを直す</p></div></li>
<li class="lite"><span class="t">12:00</span><span class="dot"></span><div><p class="h">昼休み</p></div></li>
<li class=""><span class="t">13:00</span><span class="dot"></span><div><p class="h">運行会社と打ち合わせ</p><p class="b">時刻表の直し方を、画面を見せながら決める</p></div></li>
<li class=""><span class="t">15:00</span><span class="dot"></span><div><p class="h">現地調査</p><p class="b">停留所で、乗る人が実際に困る所を見る</p></div></li>
<li class=""><span class="t">17:00</span><span class="dot"></span><div><p class="h">振り返り</p><p class="b">調査の写真を共有し、明日の作業を決める</p></div></li>
<li class="lite"><span class="t">18:00</span><span class="dot"></span><div><p class="h">退勤</p><p class="b">月に 2 回は 16 時に上がる</p></div></li>
</ol>
<div class="side">
<p class="sl" data-type="sideLabel">この日のひと言</p>
<p class="st" data-type="side">机の上の数字と、停留所で見たことが合うと、直す場所がはっきりする</p>
<p class="sw" data-type="sideWho">運行データ担当 沖田 まどか</p>
</div>
</div>
<div class="folio">
<p data-type="folio">株式会社ミチシルベ 会社紹介 2026</p>
<p>07</p>
</div>
</div>
</div>
/designs/day-schedule-timeline/font.css — 全部入りには入れていない
/* dv-subset v2 — generated by scripts/subset-font.mjs. Do not edit.
* font Zen Kaku Gothic New 400;500;700
* chars 135 (211900267f147dcc)
*
* 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+20, U+30-33, U+35-3a, U+2014, U+3000-3001, U+3042, U+3044, U+3046, U+304b-304e, U+3051-3054, U+3057-3063, U+3066-306b, U+306e-3070, U+3072-3073, U+3078-3079, U+307e-307f, U+3081, U+3089-308c, U+308f, U+3092, U+3094, U+3099, U+30b7-30b8, U+30bf-30c2, U+30c6-30c7, U+30d8-30d9, U+30df-30e0, U+30eb, U+30fc, U+4e0a, U+4e26, U+4e57, U+4eba, U+4ecb, U+4f11, U+4f1a, U+4f5c, U+4fbf, U+505c, U+5171, U+5199, U+523b, U+524d, U+52e4, U+5348, U+5408, U+56de, U+56f0, U+5730, U+5834, U+591a, U+5b57, U+5b9f, U+5c4a, U+5f0f, U+5f53, U+5f8c, U+6240, U+6253, U+629c, U+62c5, U+632f, U+6570, U+65b9, U+65e5, U+660e, U+663c, U+6642, U+6708-6709, U+671d, U+673a, U+67fb, U+682a, U+691c, U+696d, U+6c7a, U+6c96, U+70b9, U+73fe, U+7530, U+753b, U+7559, U+76f4, U+771f, U+78ba, U+793e, U+7d39, U+7e26, U+884c, U+8868, U+898b, U+8a00, U+8a18, U+8a8d, U+8abf, U+8d70, U+8ef8, U+8fd4, U+9000, U+9045, U+904b, U+9332, U+9593, U+969b, U+9762;
}
@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+20, U+30-33, U+35-3a, U+2014, U+3000-3001, U+3042, U+3044, U+3046, U+304b-304e, U+3051-3054, U+3057-3063, U+3066-306b, U+306e-3070, U+3072-3073, U+3078-3079, U+307e-307f, U+3081, U+3089-308c, U+308f, U+3092, U+3094, U+3099, U+30b7-30b8, U+30bf-30c2, U+30c6-30c7, U+30d8-30d9, U+30df-30e0, U+30eb, U+30fc, U+4e0a, U+4e26, U+4e57, U+4eba, U+4ecb, U+4f11, U+4f1a, U+4f5c, U+4fbf, U+505c, U+5171, U+5199, U+523b, U+524d, U+52e4, U+5348, U+5408, U+56de, U+56f0, U+5730, U+5834, U+591a, U+5b57, U+5b9f, U+5c4a, U+5f0f, U+5f53, U+5f8c, U+6240, U+6253, U+629c, U+62c5, U+632f, U+6570, U+65b9, U+65e5, U+660e, U+663c, U+6642, U+6708-6709, U+671d, U+673a, U+67fb, U+682a, U+691c, U+696d, U+6c7a, U+6c96, U+70b9, U+73fe, U+7530, U+753b, U+7559, U+76f4, U+771f, U+78ba, U+793e, U+7d39, U+7e26, U+884c, U+8868, U+898b, U+8a00, U+8a18, U+8a8d, U+8abf, U+8d70, U+8ef8, U+8fd4, U+9000, U+9045, U+904b, U+9332, U+9593, U+969b, U+9762;
}
@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+20, U+30-33, U+35-3a, U+2014, U+3000-3001, U+3042, U+3044, U+3046, U+304b-304e, U+3051-3054, U+3057-3063, U+3066-306b, U+306e-3070, U+3072-3073, U+3078-3079, U+307e-307f, U+3081, U+3089-308c, U+308f, U+3092, U+3094, U+3099, U+30b7-30b8, U+30bf-30c2, U+30c6-30c7, U+30d8-30d9, U+30df-30e0, U+30eb, U+30fc, U+4e0a, U+4e26, U+4e57, U+4eba, U+4ecb, U+4f11, U+4f1a, U+4f5c, U+4fbf, U+505c, U+5171, U+5199, U+523b, U+524d, U+52e4, U+5348, U+5408, U+56de, U+56f0, U+5730, U+5834, U+591a, U+5b57, U+5b9f, U+5c4a, U+5f0f, U+5f53, U+5f8c, U+6240, U+6253, U+629c, U+62c5, U+632f, U+6570, U+65b9, U+65e5, U+660e, U+663c, U+6642, U+6708-6709, U+671d, U+673a, U+67fb, U+682a, U+691c, U+696d, U+6c7a, U+6c96, U+70b9, U+73fe, U+7530, U+753b, U+7559, U+76f4, U+771f, U+78ba, U+793e, U+7d39, U+7e26, U+884c, U+8868, U+898b, U+8a00, U+8a18, U+8a8d, U+8abf, U+8d70, U+8ef8, U+8fd4, U+9000, U+9045, U+904b, U+9332, U+9593, U+969b, U+9762;
}
出典を持たない自作パターン。pattern.html が版そのもので、cover.png と frontmatter の
layout / type / colors はどちらもそこから機械的に測った結果。一式「会社紹介・採用」の
1 枚で、架空の会社「ミチシルベ」の会社紹介として描いてある。会社・人物・数値はすべて架空。
A self-authored pattern. pattern.html is the artboard itself; both cover.png and the
measurements in the frontmatter are derived from it. One of the seven company and recruiting slides,
drawn as a fictional company’s introduction; every company, person and figure on it is invented.