Design Vault Search use case, structure, colour, notes /
Index Categories Tags 日本語
Back to index

Single Figure — One Metric Carries the Page

Centered
Single Figure — One Metric Carries the Page
150 116

1920 × 1080 Seen as a design

Take it with you

Copy and paste, or save a file and hand it over. For a machine with no network, one “Everything” file is enough.

Everything

kpi-hero-single-figure-everything.md

Everything in this panel, including the contents behind each URL, in one Markdown file

Prompt

1.1 KB
Produce one slide to the following specification.

- Canvas 1920 × 1080
- Margin top 116 right 150 bottom 116 left 150

## Type (px against a 1920px canvas)
label  22px / 500 / tracking 0.1em
figure  268px / 700 / tracking -0.04em / leading 0.86 / tabular numerals
unit  56px / 500
deltaFig  52px / 700 / tracking -0.01em / tabular numerals
deltaNote  19px / 400
barLabel  18px / 400 / tabular numerals
barValue  18px / 500 / tabular numerals
note  17px / 400 / leading 1.8
asof  15px / 400 / tabular numerals

## Colour
Ground #FFFFFF / Surface #F3F6F4 / Ink #101613 / Muted #6F7A75 / Accent #0B7A52 / Rule #D5DDD9

## Constraints — dropping these breaks it
- One hero figure — a second at the same size leaves neither as the subject
- A lone number cannot be told from a fluke — always show the trend beside it
- Only the latest bar takes the accent; the history stays in the rule colour

Replace the content with [your content]. Keep the measurements and colours as given.
For an exact reproduction, use the verbatim HTML at https://design-vault.pages.dev/designs/kpi-hero-single-figure/pattern.html.

Spec

1.5 KB

/ai/designs/kpi-hero-single-figure.json

format: slide-16x9
density: low
layout:
  kind: centered
  canvas:
    w: 1920
    h: 1080
  margin:
    top: 116
    right: 150
    bottom: 116
    left: 150
type:
  label:
    size: 22
    weight: 500
    tracking: 0.1em
  figure:
    size: 268
    weight: 700
    tracking: -0.04em
    leading: 0.86
    numeric: tabular
  unit:
    size: 56
    weight: 500
  deltaFig:
    size: 52
    weight: 700
    tracking: -0.01em
    numeric: tabular
  deltaNote:
    size: 19
    weight: 400
  barLabel:
    size: 18
    weight: 400
    numeric: tabular
  barValue:
    size: 18
    weight: 500
    numeric: tabular
  note:
    size: 17
    weight: 400
    leading: 1.8
  asof:
    size: 15
    weight: 400
    numeric: tabular
colors:
  ground: "#FFFFFF"
  surface: "#F3F6F4"
  ink: "#101613"
  muted: "#6F7A75"
  accent: "#0B7A52"
  rule: "#D5DDD9"
rules:
  - One hero figure — a second at the same size leaves neither as the subject
  - A lone number cannot be told from a fluke — always show the trend beside it
  - Only the latest bar takes the accent; the history stays in the rule colour

Files

pattern.html

4.5 KB

/designs/kpi-hero-single-figure/pattern.html — The artboard itself, font subset included — open it and this picture draws.

Show contents
<!doctype html>
<meta charset="utf-8">
<title>数値 1 本 — 1 つの指標だけを主役にする</title>
<meta name="dv-font" content="Zen Kaku Gothic New:400;500;700">
<link rel="stylesheet" href="./font.css">
<style>
  :root {
    --ground: #FFFFFF;
    --surface: #F3F6F4;
    --ink: #101613;
    --muted: #6F7A75;
    --accent: #0B7A52;
    --rule: #D5DDD9;
  }
  * { 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: 116px 150px;
  }
  .content { height: 100%; display: grid; grid-template-rows: auto 1fr auto; }

  .label { font-size: 22px; font-weight: 500; letter-spacing: .1em; color: var(--muted); }

  .hero { display: grid; grid-template-columns: auto 1fr; gap: 96px; align-items: center; }
  .amount { display: flex; align-items: baseline; gap: 20px; }
  /* 主役は 1 つ。桁を等幅で組み、小数以下も同じ級数にする。0.62 は小数以下が本体で、
     級数を落とすと「0」だけが目に入る。 */
  .figure { font-size: 268px; font-weight: 700; line-height: .86; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
  .unit { font-size: 56px; font-weight: 500; color: var(--muted); }

  .side { display: grid; gap: 44px; border-left: 1px solid var(--rule); padding-left: 72px; }
  .delta { display: flex; align-items: baseline; gap: 16px; }
  .deltaFig { font-size: 52px; font-weight: 700; color: var(--accent); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
  .deltaNote { font-size: 19px; font-weight: 400; color: var(--muted); }
  .bars { display: grid; gap: 26px; }
  .bar { display: grid; grid-template-columns: 96px 1fr 120px; align-items: center; gap: 24px; }
  .barLabel { font-size: 18px; font-weight: 400; color: var(--muted); font-variant-numeric: tabular-nums; }
  /* 帯は span なので display を起こす。inline のままだと高さが効かず、
     塗りが 0 高になって「棒の無い棒グラフ」が静かに出来上がる。 */
  .track { display: block; height: 22px; background: var(--surface); }
  .fill { display: block; height: 22px; background: var(--rule); }
  /* 最新年だけ強調色。主役の数値と同じ色にして、大きな数字と帯を 1 本の線で結ぶ。 */
  .bar[data-latest] .fill { background: var(--accent); }
  .barValue { font-size: 18px; font-weight: 500; text-align: right; font-variant-numeric: tabular-nums; }

  .foot { border-top: 1px solid var(--rule); padding-top: 26px; display: flex; justify-content: space-between; gap: 48px; }
  .note { font-size: 17px; font-weight: 400; line-height: 1.8; color: var(--muted); max-width: 1180px; }
  .asof { 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>
    <p class="label" data-type="label">解約率(月次・全社)</p>

    <div class="hero">
      <p class="amount"><span class="figure" data-type="figure">0.62</span><span class="unit" data-type="unit">%</span></p>
      <div class="side">
        <p class="delta"><span class="deltaFig" data-type="deltaFig">− 0.41 pt</span><span class="deltaNote" data-type="deltaNote">前年同月比</span></p>
        <div class="bars">
          <div class="bar"><span class="barLabel" data-type="barLabel">2023</span><span class="track"><span class="fill" style="width:100%"></span></span><span class="barValue" data-type="barValue">1.48 %</span></div>
          <div class="bar"><span class="barLabel">2024</span><span class="track"><span class="fill" style="width:70%"></span></span><span class="barValue">1.03 %</span></div>
          <div class="bar"><span class="barLabel">2025</span><span class="track"><span class="fill" style="width:70%"></span></span><span class="barValue">1.03 %</span></div>
          <div class="bar" data-latest><span class="barLabel">2026</span><span class="track"><span class="fill" style="width:42%"></span></span><span class="barValue">0.62 %</span></div>
        </div>
      </div>
    </div>

    <div class="foot">
      <p class="note" data-type="note">2025 年は横ばい。改善は解約予兆の検知を運用に載せた 2026 年 2 月以降に集中しており、施策の効果と時期が一致しています。</p>
      <p class="asof" data-type="asof">2026 年 8 月末時点</p>
    </div>
  </div>
</div>

font.css

2.6 KB

/designs/kpi-hero-single-figure/font.css — Not in Everything

Show contents
/* dv-subset v2 — generated by scripts/subset-font.mjs. Do not edit.
 * font    Zen Kaku Gothic New 400;500;700
 * chars   81 (053c3f1d21d19677)
 *
 * 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+2e, U+30-36, U+38, U+70, U+74, U+2014, U+2212, U+3001-3002, U+3044, U+304a-304c, U+3051-3052, U+3057-305c, U+305f-3060, U+3064-3069, U+306b, U+306e-3070, U+307e, U+308a-308b, U+3092, U+3099, U+30fb, U+4e00, U+4e2d, U+4e3b, U+4e88, U+4ee5, U+5024, U+5146, U+5168, U+524d, U+52b9, U+540c, U+5584, U+5e74, U+5f79, U+6307, U+6539, U+6570, U+65bd, U+6642, U+6708, U+671f, U+672b-672c, U+679c, U+691c, U+6a19, U+6a2a, U+6b21, U+6bd4, U+70b9, U+7387, U+7528, U+77e5, U+793e, U+7b56, U+7d04, U+81f4, U+89e3, U+8f09, U+904b, U+964d, U+96c6, U+ff08-ff09;
}
@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+2e, U+30-36, U+38, U+70, U+74, U+2014, U+2212, U+3001-3002, U+3044, U+304a-304c, U+3051-3052, U+3057-305c, U+305f-3060, U+3064-3069, U+306b, U+306e-3070, U+307e, U+308a-308b, U+3092, U+3099, U+30fb, U+4e00, U+4e2d, U+4e3b, U+4e88, U+4ee5, U+5024, U+5146, U+5168, U+524d, U+52b9, U+540c, U+5584, U+5e74, U+5f79, U+6307, U+6539, U+6570, U+65bd, U+6642, U+6708, U+671f, U+672b-672c, U+679c, U+691c, U+6a19, U+6a2a, U+6b21, U+6bd4, U+70b9, U+7387, U+7528, U+77e5, U+793e, U+7b56, U+7d04, U+81f4, U+89e3, U+8f09, U+904b, U+964d, U+96c6, U+ff08-ff09;
}
@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+2e, U+30-36, U+38, U+70, U+74, U+2014, U+2212, U+3001-3002, U+3044, U+304a-304c, U+3051-3052, U+3057-305c, U+305f-3060, U+3064-3069, U+306b, U+306e-3070, U+307e, U+308a-308b, U+3092, U+3099, U+30fb, U+4e00, U+4e2d, U+4e3b, U+4e88, U+4ee5, U+5024, U+5146, U+5168, U+524d, U+52b9, U+540c, U+5584, U+5e74, U+5f79, U+6307, U+6539, U+6570, U+65bd, U+6642, U+6708, U+671f, U+672b-672c, U+679c, U+691c, U+6a19, U+6a2a, U+6b21, U+6bd4, U+70b9, U+7387, U+7528, U+77e5, U+793e, U+7b56, U+7d04, U+81f4, U+89e3, U+8f09, U+904b, U+964d, U+96c6, U+ff08-ff09;
}

Notes

この構成について / About this pattern

出典を持たない自作パターン。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.

Techniques

Apply to