No. 12

純喫茶の憂愁 Kissa Melancholy

昭和の純喫茶が持つ、夜の帳のような落ち着き。焦茶とビロード緑、飴色の点使いだけで組む「暗い高級感」。メニュー帳の点線リーダーとマッチ箱ラベル風のヒーローが核。喫茶店・バー・老舗飲食・宿など、夜の物語性を持つ業種に。

純喫茶の憂愁のスクリーンショット

仕様

typographymincho-classic
color-strategydark-luxury
densitybalanced
layoutsingle-column
ornamentprint-texture
motionstatic
moodnostalgic / trust / luxury
industryrestaurant-food / local-business
架空企業架空・純喫茶 王冠(おうかん)
license商用利用可・改変可・クレジット不要

検証記録

verified_at: 2026-07-11

公式パイプライン検証(Claude Code / sonnet subagent): 別セッションのagentに DESIGN.md + tokens.css のみを渡し、別業種=老舗バー『バー山猫』で再生成(verification/classic-bar)→一発合格(MD改稿不要)。3書体・配色hex7種完全一致・マッチ箱二重罫ヒーロー+四隅飾り折れ・品書きの点線リーダー帳面組み・菱形フラリッシュ節見出しを§9コード例どおり再現。店名固有の線画エンブレム新規自作も「一般化ルールへの正しい追従」と判定(tier-A 🔴0/🟡0)

DESIGN.md

DESIGN.mdtokens.css

https://3pt.co.jp/design-library/md/kissa-melancholy/DESIGN.md

# DESIGN.md — 純喫茶の憂愁 / kissa-melancholy

> **使い方**: このファイルをプロジェクトに置き、AIに
> 「DESIGN.md に従って◯◯のサイトを作って」と指示してください。
> ライセンス: 商用利用可・改変可・クレジット不要(AIっぽくないデザイン見本帳 / サードパーティートラスト)

## 1. コンセプト

昭和の純喫茶が持つ、夜の帳のような落ち着き。飴色の照明、ビロードの椅子、
古いメニュー帳のノスタルジーを「暗い高級感」として組む。焦茶の地に、ビロード緑の面、
飴色は罫線と見出しの点使いだけ。派手さでなく、五十年変わらないことの重みで魅せる。

**キーワード**: 憂愁 / 純喫茶 / ビロード / メニュー帳 / 静夜
**この見た目が向く場面**: 喫茶店・バー・小料理屋・老舗旅館・古書店など、
夜と時間の積み重ねを物語る業種。昼の明るさや効率を訴求する業種には不向き

## 2. タイポグラフィ

- 和文見出し: Shippori Mincho B1 / ウェイト 700(オールド明朝の濃い見出し)
- 和文本文: Shippori Mincho / ウェイト 400
- 欧文・数字: Spectral(従属欧文。見出しには使わない。価格・年号・電話番号など
  数字が主役の箇所にのみ充てる。EB Garamond は使わない — 姉妹テイスト
  letterpress-sincerity と欧文書体を分けて識別性を保つ)
- 見出しスケール: h1(ヒーロー店名)58px / h2(節見出し)30px / h3(メニュー小見出し)19px
  (比率は級数の跳躍で決める。厳密な等比数列にしない。モバイルは h1 42px)
- 特記: 価格の数字は `font-variant-numeric: oldstyle-nums` でオールドスタイル数字にし、
  本文の明朝と喧嘩しない柔らかい字形にする。本文の字間は 0.05em、見出しは 0.08〜0.14em で
  ゆったり組む。「〜を、もっと。」型の空虚コピーを書かない。すべて具体語(豆の種類・
  火入れの時刻・席数・年号)で書く

## 3. カラー(dark-luxury)

| 役割 | 値 | 使用比率の目安 |
|---|---|---|
| 背景(ベース) | #2b211a(深い焦茶) | 55% |
| 背景(節替え) | #332821(やや明るい焦茶) | — |
| 面(ビロード緑パネル) | #3e4a3a | 10%程度(引用・パネルに限定) |
| テキスト(主) | #efe3cd(クリーム) | 30% |
| テキスト(弱) | #c9b99a(薄クリーム) | — |
| アクセント(飴色) | #b98d4f | 5%以下・点と罫線のみ |
| 罫線(汎用) | rgba(185,141,79,0.32) | — |

- 配色ルール: 飴色は**罫線・見出しの点使い・アイコン線画・価格文字・年号**にのみ使う。
  「面(背景の塗り)で多用しない」。飴色を大面積の塗りにしない(バッジ・ボタン背景も不可)。
  ビロード緑は面として使ってよいが、パネル1〜2箇所(本文中の引用ボックス等)に限定し、
  ページ全体を緑で覆わない。紫〜青のグラデーション・発光(box-shadowでの光彩)は禁止
- **実測コントラスト(両方向・WCAG AA 4.5:1以上を確認)**:
  - クリーム #efe3cd on 焦茶 #2b211a → **12.39:1**
  - クリーム #efe3cd on 節替え焦茶 #332821 → **11.28:1**
  - クリーム #efe3cd on ビロード緑 #3e4a3a → **7.37:1**
  - 薄クリーム #c9b99a on 焦茶 #2b211a → **8.16:1**
  - 薄クリーム #c9b99a on ビロード緑 #3e4a3a → **4.85:1**
  - 飴色 #b98d4f on 焦茶 #2b211a(罫線ラベル・価格文字として) → **5.23:1**
  - 飴色 #b98d4f on ビロード緑 #3e4a3a → **3.11:1**(AA通常文字4.5:1未達。
    → **飴色の文字はビロード緑パネルの上では使わない**。ビロード緑パネル上の文字は
    必ずクリーム/薄クリームを使う。飴色はビロード緑パネル上では罫線・枠線としてのみ使用可)
  - クリーム #efe3cd on 飴色 #b98d4f → **2.37:1**(不合格)→ **飴色を面として使う場合、
    その上の文字は必ず焦茶 #2b211a を使う**(焦茶 on 飴色は5.23:1で合格)。
    クリーム文字を飴色の面に乗せることは禁止

## 4. レイアウト・余白

- コンテンツ最大幅: 880px(一般セクション)/ 640px(品書き・帳面状のセクション。
  実物のメニュー帳のような狭い版面にすることで密度を高く見せる)
- **single-column: 一本道の縦積み。** 入店(ヒーロー)→ 品書き → 店内のこと → 店の歴史 →
  営業案内、の順で一直線に読ませる。横スクロールや複数カラムの並列構成を作らない
- セクション間余白: 96px 基準(モバイルは64px)/ 要素間は 8px の倍数
- 節の頭は**英字eyebrowを使わず**、飴色の菱形フラリッシュ(罫線+菱形の区切り記号)+
  和文見出し+短いリード文、の3点で組む(§9にコード例)
- ヒーローの構成: **マッチ箱のラベルとして組む。** 中央に飴色の二重罫の枠(外枠と内枠の
  間に隙間を空けた「二重罫」。CSSの `border-style: double` は使わない)、四隅に写真コーナー風の
  飾り折れマーク。枠の中に、王冠の線画エンブレム・「純喫茶」の肩書き・店名・創業年を
  縦に積む。枠の外に本日の営業時間を一行、さらにその下に電話番号と品書きへの誘導を
  テキストリンクとして横に並べる。**ボタンは使わない。** 中央寄せだが「特大見出し+
  サブコピー+ボタン2つ」の定型ヒーローにしない(§9にコード例)

## 5. コンポーネントの質感

- ヘッダー・ナビゲーション: 焦茶地・クリーム文字・下線なし。ナビリンクはホバーで
  飴色に変わり、下線が飴色で出る(0.2s)。本文リンクと同じ挙動(下線ホバーのみ)で統一する
- 角丸: 0px(全要素直角。矩形の罫線と枠だけで構成する)/ 影: 使わない(box-shadowで
  発光・立体を作らない)/ 境界線: 1px。罫線は基本 `rgba(185,141,79,0.32)` の薄い飴色、
  ヒーローと品書きの枠だけは彩度そのままの飴色 `#b98d4f` を使う
- ボタン: **本テイストでは主要導線にボタンを使わない。** 誘導はすべて下線付きテキスト
  リンク(ホバーで飴色の下線)。やむを得ずボタンが必要な場合も、塗りボタンではなく
  1px罫線+クリーム文字の枠ボタンに限定し、ホバーで罫線が飴色に変わる程度に留める
- カード的要素: 角丸カード+影のグリッドを作らない。区切りは**罫線**(品書きの点線
  リーダー、店の歴史の横罫)または**ビロード緑の面パネル**(引用・見どころの強調1箇所)
  のいずれかで表現する
- **品書き(メニュー帳)の点線リーダー組み**: 品名と価格の間を点線で結ぶ、メニュー帳の
  定型。全体を1px飴色の二重罫(外枠+内枠)で囲み、帳面のページのように見せる
  (§9にコード例必須)
- フォーム要素: 本デモには使用しないが、追加する場合は input/textarea は焦茶地・
  1px薄飴色罫線・角丸0・フォーカス時に罫線が彩度そのままの飴色 `#b98d4f` に変わる。
  背景を白にしない
- 画像の扱い: 写真は使わない方針(§7)。図版を使う場合は角丸なし・影なし・
  彩度を落とした単色トーン。装飾フィルタ(セピア一括がけ等)をかけない
- アクセント色(飴色)の適用範囲: 許される用法は
  ①罫線・枠線 ②節見出しのフラリッシュ・王冠エンブレムの線画 ③価格の数字・年号
  ④ホバー時の下線・文字色 の4つに限定。**面(塗り背景)としての多用・信号色的な
  バッジ塗りには使わない**

## 6. モーション

- 量: **static(一切動かさない)**。letterpress-sincerity 等で使われる
  IntersectionObserver によるフェードインを**使わない**。`scroll-behavior: smooth` も
  使わない(アンカークリック時の慣性スクロールも動きとみなし、`auto` にする)
- 許される最小の動き: リンク・ナビのホバー時の下線色/文字色の変化のみ(0.2s ease)。
  それ以外のtransitionを追加しない
- 使わない動き: スクロール連動フェード、パララックス、カウントアップ、カルーセル、
  タイプライター、ホバーでのtranslateY(カードが持ち上がる動き)。**「静けさ」は
  モーションの不在そのもので表現する**

## 7. 写真・イラスト・図版

- 写真は使わない。図版はすべて自作インラインSVGの線画(1〜2.5px罫、飴色 or クリーム)
  で統一する。**絵文字は一切使わない**
- 使用する自作SVG: ①王冠の線画エンブレム(店名「王冠」と直接結びつく固有のマーク。
  ヘッダー・ヒーロー・フッターで再利用) ②写真コーナー風の「角の飾り折れ」
  (ヒーローの二重罫枠、四隅のみ) ③節見出しの菱形フラリッシュ(罫線+菱形)
- 網点(halftone dot)は使わない。**showa-retro-pop との排他事項**(本テイストは
  「静かな夜」、showaは「朱藍の賑やかな大衆文化」であり網点はshowa固有の意匠のため)

## 8. 禁止事項(must not)

- Inter / Roboto / Arial / system-ui を使わない(Shippori Mincho B1 / Shippori Mincho /
  Spectral で組む)
- 紫〜青の装飾グラデーションを一切使わない(背景・文字・ボタンすべて)。
  box-shadowによる発光(glow)を使わない
- 網点(halftoneパターン)を使わない。網点は showa-retro-pop 固有の意匠であり、
  本テイスト(静かな夜のビロード緑)と混同してはならない
- 墨黒×真鍮の線画アイコンセットのような「モダンな工房」の意匠にしない
  (dark-atelier固有の言語)。本テイストは古紙とメニュー帳の郷愁であり、
  ノイズ質感は letterpress よりも粗く暗めに、飴色は罫線に偏らせて区別する
- 飴色 #b98d4f を面(大きな塗り背景・ボタン塗り・バッジ塗り)として多用しない。
  罫線・点・数字に限定する
- IntersectionObserverによるスクロールフェードイン、smooth scrollを使わない
  (motion: static を厳守。letterpress-sincerity の`.fade`パターンを流用しない)
- 「レトロ喫茶=セピアフィルタ+手書きフォント」に逃げない。書体は明朝の規律を守り、
  質感はSVGノイズと罫線の設計で作る。手書き風フォントを使わない
- 中央寄せの定型ヒーロー(特大見出し+サブコピー+ボタン2つ)を作らない。
  ヒーローは必ずマッチ箱ラベルの二重罫枠として組む
- 絵文字・既製アイコンセットをアイコンに使わない(自作インラインSVG線画のみ)
- クリーム文字を飴色の面(塗り背景)に乗せない(実測2.37:1で不合格。§3参照)

## 9. 実装ノート

```css
/* tokens.css — この変数セットをそのまま使うこと */
:root {
  --color-bg: #2b211a;
  --color-bg-alt: #332821;
  --color-velvet: #3e4a3a;
  --color-text: #efe3cd;
  --color-text-weak: #c9b99a;
  --color-accent: #b98d4f;
  --color-rule: rgba(185, 141, 79, 0.32);
  /* 変数には総称ファミリ(serif)を含めないこと */
  --font-heading: "Shippori Mincho B1";
  --font-body: "Shippori Mincho";
  --font-latin: "Spectral";
  --space-unit: 8px;
  --radius: 0;
  --max-width: 880px;
  --max-width-narrow: 640px;
}
```

- フォント読み込み:
  `https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500&family=Shippori+Mincho+B1:wght@600;700&family=Spectral:ital,wght@0,400;0,500;0,600;1,400&display=swap`

### 品書き(メニュー帳)の点線リーダー組み — 必須パターン

```html
<ul class="menu-list">
  <li class="menu-item">
    <span class="name">ブレンド(自家焙煎・深煎り)</span>
    <span class="leader"></span>
    <span class="price">¥550</span>
  </li>
  <li class="menu-item">
    <span class="name">王冠特製ブレンド</span>
    <span class="leader"></span>
    <span class="price">¥650</span>
    <span class="desc">豆を三種、店主の勘で配合。苦みの奥に軽い酸味を残します。</span>
  </li>
</ul>
```

```css
.menu-item {
  display: flex;
  flex-wrap: wrap;              /* descを強制改行させるために必須 */
  align-items: baseline;
  gap: 8px;
  padding: 9px 0;
}
.menu-item .leader {
  flex: 1;                       /* 品名と価格の間を伸縮する点線が埋める */
  border-bottom: 1px dotted var(--color-accent);
  height: 0.9em;
  margin: 0 2px;
}
.menu-item .price {
  font-family: var(--font-latin), serif;
  font-variant-numeric: oldstyle-nums;
  white-space: nowrap;
  text-align: right;
}
.menu-item .desc {
  flex-basis: 100%;              /* flex-wrapと組み合わせて必ず次の行に落とす */
  font-size: 12.5px;
  color: var(--color-text-weak);
}
```

### ヒーロー: マッチ箱ラベルの二重罫枠 — 必須パターン

```html
<div class="matchbox">
  <div class="matchbox-outer">
    <svg class="corner corner--tl"><use href="#icon-corner"/></svg>
    <svg class="corner corner--tr"><use href="#icon-corner"/></svg>
    <svg class="corner corner--br"><use href="#icon-corner"/></svg>
    <svg class="corner corner--bl"><use href="#icon-corner"/></svg>
    <div class="matchbox-inner">
      <p class="hero-label">純喫茶</p>
      <h1 class="hero-title">王冠</h1>
      <span class="hero-est">創業 昭和四十二年 — EST. 1967</span>
    </div>
  </div>
</div>
```

```css
.matchbox-outer { border: 1px solid var(--color-accent); padding: 8px; position: relative; }
.matchbox-inner { border: 1px solid var(--color-accent); padding: 48px 32px 40px; }
/* 外枠と内枠の間に padding の隙間を作ることが「二重罫」の要。
   border-style: double(1要素で2本線)は使わない */
.corner { position: absolute; width: 22px; height: 22px; color: var(--color-accent); }
.corner--tl { top: -1px; left: -1px; }
.corner--tr { top: -1px; right: -1px; transform: rotate(90deg); }
.corner--br { bottom: -1px; right: -1px; transform: rotate(180deg); }
.corner--bl { bottom: -1px; left: -1px; transform: rotate(270deg); }
```

```html
<!-- 角の飾り折れ(写真コーナー風の自作マーク)。defsに一度だけ定義しuseで再利用 -->
<symbol id="icon-corner" viewBox="0 0 22 22">
  <path d="M1 21 V8 L8 1 H21" fill="none" stroke="currentColor"
        stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/>
</symbol>
```

### 節見出しの菱形フラリッシュ(英字eyebrowの代わり)

```html
<svg width="64" height="12" class="sec-flourish" aria-hidden="true">
  <use href="#icon-flourish"/>
</svg>
<h2>品書き</h2>
```

```css
/* symbol定義: 罫線—菱形—罫線。英語の機械翻訳ラベルを使わず、
   和文タイポグラフィの中だけで階層と間を作る */
```

- 動きは一切JSを必要としない(IntersectionObserver等のスクリプトを書かない)。
  `html { scroll-behavior: auto; }` を明示し、アンカーリンクの慣性スクロールも避ける