Design Vault 用途・構成・配色・本文で検索 /
索引 カテゴリ タグ English
索引に戻る

見積の内訳 — 合計行だけを立てる

表
見積の内訳 — 合計行だけを立てる
140 96

1920 × 1080 作品として見る

持ち帰る

コピーして貼るか、ファイルに保存して渡す。ネットにつながらない環境には「全部入り」を 1 つ渡せば足りる。

全部入り

estimate-breakdown-table-everything.md

このパネルの中身を、URL の先にあるファイルの中身まで含めて 1 つにまとめた Markdown

依頼文

1.3 KB
以下の仕様でスライドを 1 枚作ってください。

- 版面 1920 × 1080
- 余白 上 96 右 140 下 96 左 140

## 文字(版面 1920px に対する px)
title  42px / 700 / 字間 0.02em
basis  17px / 400
th  16px / 500 / 字間 0.1em
no  17px / 400 / 等幅数字
item  21px / 500
itemNote  15px / 400 / 行送り 1.6
qty  18px / 400
rate  18px / 400
amount  24px / 500 / 等幅数字
totalLabel  22px / 500
totalValue  44px / 700 / 字間 -0.01em / 等幅数字
subLabel  16px / 400
subValue  16px / 400 / 等幅数字
note  17px / 400 / 行送り 1.8
valid  15px / 500 / 等幅数字

## 配色
地 #FFFFFF / 面 #F2F4F7 / 文字 #121519 / 補助 #6F767F / 強調 #14425E / 罫 #D5DAE1

## 外すと崩れる点
- 金額列は右揃えの等幅。桁が揃っていないと、内訳を出した意味が消える
- 行の罫は tr に引く。td ごとに引くと column-gap のぶん罫が切れる
- 強調は合計行 1 つ。項目に色を置くと「推したい項目」に読まれる

内容は[ここに自分の内容を書く]に置き換えてください。寸法と配色はそのまま守ってください。
正確に再現する場合は、この HTML をそのまま使ってください: https://design-vault.pages.dev/designs/estimate-breakdown-table/pattern.html

仕様

1.9 KB

/ai/designs/estimate-breakdown-table.json

format: slide-16x9
density: high
layout:
  kind: table
  canvas:
    w: 1920
    h: 1080
  margin:
    top: 96
    right: 140
    bottom: 96
    left: 140
type:
  title:
    size: 42
    weight: 700
    tracking: 0.02em
  basis:
    size: 17
    weight: 400
  th:
    size: 16
    weight: 500
    tracking: 0.1em
  no:
    size: 17
    weight: 400
    numeric: tabular
  item:
    size: 21
    weight: 500
  itemNote:
    size: 15
    weight: 400
    leading: 1.6
  qty:
    size: 18
    weight: 400
  rate:
    size: 18
    weight: 400
  amount:
    size: 24
    weight: 500
    numeric: tabular
  totalLabel:
    size: 22
    weight: 500
  totalValue:
    size: 44
    weight: 700
    tracking: -0.01em
    numeric: tabular
  subLabel:
    size: 16
    weight: 400
  subValue:
    size: 16
    weight: 400
    numeric: tabular
  note:
    size: 17
    weight: 400
    leading: 1.8
  valid:
    size: 15
    weight: 500
    numeric: tabular
colors:
  ground: "#FFFFFF"
  surface: "#F2F4F7"
  ink: "#121519"
  muted: "#6F767F"
  accent: "#14425E"
  rule: "#D5DAE1"
rules:
  - 金額列は右揃えの等幅。桁が揃っていないと、内訳を出した意味が消える
  - 行の罫は tr に引く。td ごとに引くと column-gap のぶん罫が切れる
  - 強調は合計行 1 つ。項目に色を置くと「推したい項目」に読まれる

ファイル

pattern.html

6.5 KB

/designs/estimate-breakdown-table/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 {
    --ground: #FFFFFF;
    --surface: #F2F4F7;
    --ink: #121519;
    --muted: #6F767F;
    --accent: #14425E;
    --rule: #D5DAE1;
  }
  * { 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 1fr auto; gap: 32px; }

  .head { display: flex; align-items: baseline; justify-content: space-between; gap: 64px; }
  .title { font-size: 42px; font-weight: 700; letter-spacing: .02em; }
  .basis { font-size: 17px; font-weight: 400; color: var(--muted); }

  .table { display: grid; grid-template-rows: auto repeat(6, 1fr) auto; }
  /* 金額列は右揃えの等幅。桁が揃っていないと、合計が正しいかを
     読み手が確かめられず、内訳を出した意味が消える。 */
  .tr { display: grid; grid-template-columns: 90px 1fr 200px 130px 260px; align-items: center; column-gap: 32px; }
  /* 行の罫は tr に引く。td ごとに引くと column-gap のぶん罫が切れ、
     揃っているはずの表が破線で組まれたように見える。 */
  .tr { border-bottom: 1px solid var(--rule); }
  .tr:first-child { border-bottom-width: 2px; }
  .th { padding-bottom: 14px; font-size: 16px; font-weight: 500; letter-spacing: .1em; color: var(--muted); }
  .th[data-num], .num { text-align: right; font-variant-numeric: tabular-nums; }
  .td { padding: 14px 0; }
  .no { font-size: 17px; font-weight: 400; color: var(--muted); font-variant-numeric: tabular-nums; }
  .item { font-size: 21px; font-weight: 500; }
  .itemNote { margin-top: 5px; font-size: 15px; font-weight: 400; color: var(--muted); line-height: 1.6; }
  .qty { font-size: 18px; font-weight: 400; color: var(--muted); }
  .rate { font-size: 18px; font-weight: 400; color: var(--muted); }
  .amount { font-size: 24px; font-weight: 500; }

  .total { display: grid; grid-template-columns: 1fr 260px; column-gap: 32px; align-items: baseline;
           background: var(--surface); padding: 24px 32px; margin-top: 6px; }
  .totalLabel { font-size: 22px; font-weight: 500; text-align: right; }
  .totalValue { font-size: 44px; font-weight: 700; text-align: right; color: var(--accent);
                font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
  .sub { display: grid; grid-template-columns: 1fr 260px; column-gap: 32px; padding: 14px 32px 0; }
  .subLabel { font-size: 16px; font-weight: 400; color: var(--muted); text-align: right; }
  .subValue { font-size: 16px; font-weight: 400; color: var(--muted); text-align: right; font-variant-numeric: tabular-nums; }

  .foot { border-top: 1px solid var(--rule); padding-top: 22px; 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; }
  .valid { font-size: 15px; font-weight: 500; 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">お見積の内訳(初年度)</h1>
      <p class="basis" data-type="basis">単位: 万円 / 消費税は別</p>
    </div>

    <div class="table">
      <div class="tr">
        <p class="th" data-type="th">No.</p>
        <p class="th">項目</p>
        <p class="th">数量</p>
        <p class="th">単価</p>
        <p class="th" data-num>金額</p>
      </div>

      <div class="tr">
        <p class="td no" data-type="no">01</p>
        <div class="td"><p class="item" data-type="item">現状調査</p><p class="itemNote" data-type="itemNote">連携・帳票・権限の棚卸し</p></div>
        <p class="td qty" data-type="qty">2.0 人月</p>
        <p class="td rate" data-type="rate">160</p>
        <p class="td amount num" data-type="amount">320</p>
      </div>
      <div class="tr">
        <p class="td no">02</p>
        <div class="td"><p class="item">業務設計</p><p class="itemNote">移行後の手順と受入基準の文書化</p></div>
        <p class="td qty">6.0 人月</p>
        <p class="td rate">160</p>
        <p class="td amount num">960</p>
      </div>
      <div class="tr">
        <p class="td no">03</p>
        <div class="td"><p class="item">データ移行</p><p class="itemNote">連携 23 本の切替と得意先コード統合</p></div>
        <p class="td qty">14.0 人月</p>
        <p class="td rate">150</p>
        <p class="td amount num">2,100</p>
      </div>
      <div class="tr">
        <p class="td no">04</p>
        <div class="td"><p class="item">拠点展開</p><p class="itemNote">並行稼働 2 拠点 + 展開 7 拠点</p></div>
        <p class="td qty">9.0 人月</p>
        <p class="td rate">140</p>
        <p class="td amount num">1,260</p>
      </div>
      <div class="tr">
        <p class="td no">05</p>
        <div class="td"><p class="item">ライセンス</p><p class="itemNote">年額。2 年目以降も同額</p></div>
        <p class="td qty">340 名</p>
        <p class="td rate">2.4</p>
        <p class="td amount num">816</p>
      </div>
      <div class="tr">
        <p class="td no">06</p>
        <div class="td"><p class="item">移行期間中の並行保守</p><p class="itemNote">旧環境の監視を 4 か月延長</p></div>
        <p class="td qty">4.0 か月</p>
        <p class="td rate">36</p>
        <p class="td amount num">144</p>
      </div>

      <div>
        <div class="total">
          <p class="totalLabel" data-type="totalLabel">初年度 合計</p>
          <p class="totalValue" data-type="totalValue">5,600</p>
        </div>
        <div class="sub">
          <p class="subLabel" data-type="subLabel">うち今期の支出(2026 年度内)</p>
          <p class="subValue" data-type="subValue">2,380</p>
        </div>
      </div>
    </div>

    <div class="foot">
      <p class="note" data-type="note">2 年目以降は 05 のライセンスのみ(年額 816 万円)に戻ります。現行の保守費 4,100 万円と比べるのはこの額です。</p>
      <p class="valid" data-type="valid">見積有効期限 2026 年 12 月 31 日</p>
    </div>
  </div>
</div>

font.css

4.0 KB

/designs/estimate-breakdown-table/font.css — 全部入りには入れていない

中身を見る
/* dv-subset v2 — generated by scripts/subset-font.mjs. Do not edit.
 * font    Zen Kaku Gothic New 400;500;700
 * chars   146 (fca06512f861dfdc)
 *
 * 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+2b-2c, U+2e-3a, U+4e, U+6f, U+2014, U+3002, U+3046, U+304a-304c, U+3051-3054, U+3057-305a, U+305f-3062, U+3066-3069, U+306b, U+306e-3070, U+3078-3079, U+307e-307f, U+3082, U+308a-308b, U+3092, U+3094, U+3099, U+30a4, U+30b3-30b4, U+30b9-30bc, U+30bf-30c0, U+30c6-30c9, U+30e9, U+30f3, U+30fb-30fc, U+4e07, U+4e26, U+4e2d, U+4eba, U+4eca, U+4ee5, U+4f4d, U+4fa1, U+4fdd, U+50cd, U+5148, U+5165, U+5185-5186, U+51fa, U+5207, U+521d, U+5225, U+52b9, U+52d9, U+5316, U+5358, U+5378, U+53d7, U+5408, U+540c-540d, U+57fa, U+5883, U+5b88, U+5c55, U+5e33, U+5e74, U+5ea6, U+5ef6, U+5f8c, U+5f97, U+610f, U+623b, U+624b, U+62e0, U+643a, U+652f, U+6570, U+6587, U+65e5, U+65e7, U+66f8, U+66ff, U+6708-6709, U+671f, U+672c, U+67fb, U+68da, U+696d, U+6a29, U+6bd4, U+6d88, U+6e96, U+70b9, U+72b6, U+73fe, U+74b0, U+76e3, U+76ee, U+7968, U+79fb, U+7a0e, U+7a3c, U+7a4d, U+7acb, U+7d71, U+884c, U+898b, U+8996, U+8a08, U+8a2d, U+8a33, U+8abf, U+8cbb, U+9023, U+91cf, U+91d1, U+9577, U+958b, U+9593, U+964d, U+9650, U+9805-9806, U+984d, 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+2b-2c, U+2e-3a, U+4e, U+6f, U+2014, U+3002, U+3046, U+304a-304c, U+3051-3054, U+3057-305a, U+305f-3062, U+3066-3069, U+306b, U+306e-3070, U+3078-3079, U+307e-307f, U+3082, U+308a-308b, U+3092, U+3094, U+3099, U+30a4, U+30b3-30b4, U+30b9-30bc, U+30bf-30c0, U+30c6-30c9, U+30e9, U+30f3, U+30fb-30fc, U+4e07, U+4e26, U+4e2d, U+4eba, U+4eca, U+4ee5, U+4f4d, U+4fa1, U+4fdd, U+50cd, U+5148, U+5165, U+5185-5186, U+51fa, U+5207, U+521d, U+5225, U+52b9, U+52d9, U+5316, U+5358, U+5378, U+53d7, U+5408, U+540c-540d, U+57fa, U+5883, U+5b88, U+5c55, U+5e33, U+5e74, U+5ea6, U+5ef6, U+5f8c, U+5f97, U+610f, U+623b, U+624b, U+62e0, U+643a, U+652f, U+6570, U+6587, U+65e5, U+65e7, U+66f8, U+66ff, U+6708-6709, U+671f, U+672c, U+67fb, U+68da, U+696d, U+6a29, U+6bd4, U+6d88, U+6e96, U+70b9, U+72b6, U+73fe, U+74b0, U+76e3, U+76ee, U+7968, U+79fb, U+7a0e, U+7a3c, U+7a4d, U+7acb, U+7d71, U+884c, U+898b, U+8996, U+8a08, U+8a2d, U+8a33, U+8abf, U+8cbb, U+9023, U+91cf, U+91d1, U+9577, U+958b, U+9593, U+964d, U+9650, U+9805-9806, U+984d, 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+2b-2c, U+2e-3a, U+4e, U+6f, U+2014, U+3002, U+3046, U+304a-304c, U+3051-3054, U+3057-305a, U+305f-3062, U+3066-3069, U+306b, U+306e-3070, U+3078-3079, U+307e-307f, U+3082, U+308a-308b, U+3092, U+3094, U+3099, U+30a4, U+30b3-30b4, U+30b9-30bc, U+30bf-30c0, U+30c6-30c9, U+30e9, U+30f3, U+30fb-30fc, U+4e07, U+4e26, U+4e2d, U+4eba, U+4eca, U+4ee5, U+4f4d, U+4fa1, U+4fdd, U+50cd, U+5148, U+5165, U+5185-5186, U+51fa, U+5207, U+521d, U+5225, U+52b9, U+52d9, U+5316, U+5358, U+5378, U+53d7, U+5408, U+540c-540d, U+57fa, U+5883, U+5b88, U+5c55, U+5e33, U+5e74, U+5ea6, U+5ef6, U+5f8c, U+5f97, U+610f, U+623b, U+624b, U+62e0, U+643a, U+652f, U+6570, U+6587, U+65e5, U+65e7, U+66f8, U+66ff, U+6708-6709, U+671f, U+672c, U+67fb, U+68da, U+696d, U+6a29, U+6bd4, U+6d88, U+6e96, U+70b9, U+72b6, U+73fe, U+74b0, U+76e3, U+76ee, U+7968, U+79fb, U+7a0e, U+7a3c, U+7a4d, U+7acb, U+7d71, U+884c, U+898b, U+8996, U+8a08, U+8a2d, U+8a33, U+8abf, U+8cbb, U+9023, U+91cf, U+91d1, U+9577, U+958b, U+9593, U+964d, U+9650, U+9805-9806, U+984d, U+ff08-ff09;
}

ノート

この構成について / 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