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

Four-Stage Funnel — One Place Where It Leaks

Funnel
Four-Stage Funnel — One Place Where It Leaks
136 104

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

funnel-four-stage-dropoff-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 104 right 136 bottom 104 left 136

## Emphasis
row 3 only, by fill and nothing else

## Type (px against a 1920px canvas)
title  44px / 700 / tracking 0.02em
lede  19px / 400 / leading 1.8
name  26px / 500
count  34px / 700 / tracking -0.01em / tabular numerals
rate  30px / 700 / tabular numerals
why  16px / 400
note  17px / 400 / leading 1.8
span  15px / 400 / tabular numerals

## Colour
Ground #0F1418 / Surface #1A2128 / Ink #EEF2F5 / Muted #8894A0 / Accent #F2884B / Rule #28313A

## Constraints — dropping these breaks it
- One colour per stage answers nothing — the chart must name the leak
- The right-hand rate is survival from the previous stage, never share of the whole
- On a filled bar the ground becomes the text colour — written as a role, not a literal

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/funnel-four-stage-dropoff/pattern.html.

Spec

1.4 KB

/ai/designs/funnel-four-stage-dropoff.json

format: slide-16x9
density: medium
layout:
  kind: funnel
  canvas:
    w: 1920
    h: 1080
  margin:
    top: 104
    right: 136
    bottom: 104
    left: 136
  emphasis:
    row: 3
    via:
      - fill
type:
  title:
    size: 44
    weight: 700
    tracking: 0.02em
  lede:
    size: 19
    weight: 400
    leading: 1.8
  name:
    size: 26
    weight: 500
  count:
    size: 34
    weight: 700
    tracking: -0.01em
    numeric: tabular
  rate:
    size: 30
    weight: 700
    numeric: tabular
  why:
    size: 16
    weight: 400
  note:
    size: 17
    weight: 400
    leading: 1.8
  span:
    size: 15
    weight: 400
    numeric: tabular
colors:
  ground: "#0F1418"
  surface: "#1A2128"
  ink: "#EEF2F5"
  muted: "#8894A0"
  accent: "#F2884B"
  rule: "#28313A"
rules:
  - One colour per stage answers nothing — the chart must name the leak
  - The right-hand rate is survival from the previous stage, never share of the whole
  - On a filled bar the ground becomes the text colour — written as a role, not a literal

Files

pattern.html

4.3 KB

/designs/funnel-four-stage-dropoff/pattern.html — The artboard itself, font subset included — open it and this picture draws.

Show contents
<!doctype html>
<meta charset="utf-8">
<title>ファネル 4 段 — 落ちる場所を 1 つだけ指す</title>
<meta name="dv-font" content="Zen Kaku Gothic New:400;500;700">
<link rel="stylesheet" href="./font.css">
<style>
  :root {
    --ground: #0F1418;
    --surface: #1A2128;
    --ink: #EEF2F5;
    --muted: #8894A0;
    --accent: #F2884B;
    --rule: #28313A;
  }
  * { 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: 104px 136px;
  }
  .content { height: 100%; display: grid; grid-template-rows: auto 1fr auto; gap: 48px; }

  .head { display: grid; gap: 14px; }
  .title { font-size: 44px; font-weight: 700; letter-spacing: .02em; }
  .lede { font-size: 19px; font-weight: 400; line-height: 1.8; color: var(--muted); }

  .stages { display: grid; grid-template-rows: repeat(4, 1fr); gap: 20px; align-content: stretch; }
  .stage { display: grid; grid-template-columns: 300px 1fr 260px; align-items: center; gap: 40px; }
  .name { font-size: 26px; font-weight: 500; }
  .track { position: relative; height: 100%; display: flex; align-items: center; }
  /* 幅が残存率そのもの。段ごとに色を変えず、1 段だけを塗る ——
     4 段すべてが色を持つと、どこが問題なのか図が答えなくなる。 */
  .band { height: 78px; background: var(--surface); display: flex; align-items: center; padding-left: 36px; }
  .count { font-size: 34px; font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
  .stage[data-emphasis] .band { background: var(--accent); }
  .stage[data-emphasis] .count { color: var(--ground); }
  .drop { text-align: right; display: grid; gap: 6px; }
  .rate { font-size: 30px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--muted); }
  .stage[data-emphasis] .rate { color: var(--accent); }
  .why { font-size: 16px; font-weight: 400; color: var(--muted); }

  .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: 1240px; }
  .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 段 —— 詰まっているのは 1 か所</h1>
      <p class="lede" data-type="lede">帯の長さは残った人数。右の数字は 1 つ前の段からの残存率です。</p>
    </div>

    <div class="stages">
      <div class="stage" data-row="1">
        <p class="name" data-type="name">資料請求</p>
        <div class="track"><div class="band" style="width:100%"><span class="count" data-type="count">8,420</span></div></div>
        <div class="drop"><p class="rate" data-type="rate">—</p><p class="why" data-type="why">起点</p></div>
      </div>
      <div class="stage" data-row="2">
        <p class="name">初回の面談</p>
        <div class="track"><div class="band" style="width:71%"><span class="count">5,980</span></div></div>
        <div class="drop"><p class="rate">71 %</p><p class="why">想定どおり</p></div>
      </div>
      <div class="stage" data-row="3" data-emphasis="fill">
        <p class="name">見積の提示</p>
        <div class="track"><div class="band" style="width:26%"><span class="count">2,190</span></div></div>
        <div class="drop"><p class="rate">37 %</p><p class="why">提示まで平均 11 日</p></div>
      </div>
      <div class="stage" data-row="4">
        <p class="name">申込</p>
        <div class="track"><div class="band" style="width:21%"><span class="count">1,770</span></div></div>
        <div class="drop"><p class="rate">81 %</p><p class="why">見積後は落ちない</p></div>
      </div>
    </div>

    <div class="foot">
      <p class="note" data-type="note">見積を出しさえすれば 8 割が申込に至ります。改善の余地は「出すまでの 11 日」だけで、面談の質でも申込画面でもありません。</p>
      <p class="span" data-type="span">2026 年 4 – 8 月 / 全拠点</p>
    </div>
  </div>
</div>

font.css

2.8 KB

/designs/funnel-four-stage-dropoff/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   106 (2f0275860ca681ec)
 *
 * 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+2013-2014, U+3001-3002, U+300c-300d, U+3042, U+3044, U+3048, U+304a-304c, U+3051-3052, U+3055-305c, U+305f-306b, U+306e-3070, U+307e, U+3082, U+3089-308c, U+3092-3093, U+3099, U+30a1, U+30cd, U+30d5-30d6, U+30eb, U+4eba, U+4f59, U+5168, U+51fa, U+521d, U+524d, U+5272, U+53f3, U+5584, U+56de, U+5730, U+5747, U+5834, U+5b57-5b58, U+5b9a, U+5e2f, U+5e73-5e74, U+5f8c, U+60f3, U+6240, U+62e0, U+6307, U+63d0, U+6539, U+6570, U+6599, U+65e5, U+6708, U+6b8b, U+6bb5, U+6c42, U+70b9, U+7387, U+7533, U+753b, U+793a, U+7a4d, U+81f3, U+843d, U+898b, U+8a70, U+8ac7, U+8acb, U+8cc7, U+8cea, U+8d77, U+8fbc, U+9577, 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+25, U+2c, U+2f-39, U+2013-2014, U+3001-3002, U+300c-300d, U+3042, U+3044, U+3048, U+304a-304c, U+3051-3052, U+3055-305c, U+305f-306b, U+306e-3070, U+307e, U+3082, U+3089-308c, U+3092-3093, U+3099, U+30a1, U+30cd, U+30d5-30d6, U+30eb, U+4eba, U+4f59, U+5168, U+51fa, U+521d, U+524d, U+5272, U+53f3, U+5584, U+56de, U+5730, U+5747, U+5834, U+5b57-5b58, U+5b9a, U+5e2f, U+5e73-5e74, U+5f8c, U+60f3, U+6240, U+62e0, U+6307, U+63d0, U+6539, U+6570, U+6599, U+65e5, U+6708, U+6b8b, U+6bb5, U+6c42, U+70b9, U+7387, U+7533, U+753b, U+793a, U+7a4d, U+81f3, U+843d, U+898b, U+8a70, U+8ac7, U+8acb, U+8cc7, U+8cea, U+8d77, U+8fbc, U+9577, 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+25, U+2c, U+2f-39, U+2013-2014, U+3001-3002, U+300c-300d, U+3042, U+3044, U+3048, U+304a-304c, U+3051-3052, U+3055-305c, U+305f-306b, U+306e-3070, U+307e, U+3082, U+3089-308c, U+3092-3093, U+3099, U+30a1, U+30cd, U+30d5-30d6, U+30eb, U+4eba, U+4f59, U+5168, U+51fa, U+521d, U+524d, U+5272, U+53f3, U+5584, U+56de, U+5730, U+5747, U+5834, U+5b57-5b58, U+5b9a, U+5e2f, U+5e73-5e74, U+5f8c, U+60f3, U+6240, U+62e0, U+6307, U+63d0, U+6539, U+6570, U+6599, U+65e5, U+6708, U+6b8b, U+6bb5, U+6c42, U+70b9, U+7387, U+7533, U+753b, U+793a, U+7a4d, U+81f3, U+843d, U+898b, U+8a70, U+8ac7, U+8acb, U+8cc7, U+8cea, U+8d77, U+8fbc, U+9577, U+9762;
}

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