# DESIGN.md — 文喫（BUNKITSU）

> 文喫 BUNKITSU（https://bunkitsu.jp/）のデザイン仕様書。
> 日本出版販売が 2018 年に六本木で始めた「入場料のある本屋」。「文化を喫する」を掲げ、書店を滞在の場として再定義した。
> 最大の特徴は **和文に筑紫ゴシック（`TsukuGoPr5-D`）、欧文ラベルに Bookman Old Style（`BookmanOldStylePro-Regular`）という和欧 2 書体の使い分け**。**欧文はセリフ、和文はゴシック**という逆転した組み合わせが、この店の「本屋らしさ」を作っている。
> そして **セクション見出しが縦組み**（`writing-mode: vertical-rl`）で、しかも **`letter-spacing: 31.5px`（1.05em）という極端な字間**で組まれる。縦の罫線を添えて掛軸のように置く。
> **`font-feature-settings: "palt"` が `body` から全要素に継承される**。約物を詰めた上で `letter-spacing: 0.512px`（0.02em）で開き直す、二段構えの字送り。
> **CTA はすべて `border-radius: 38px` のピル**で、**面は `#fdeadf`（淡いアプリコット）、枠は `1px solid #000000`**。塗りと細い黒枠を同時に持つ。
> 実サイトの computed style 実測（2026-08-15 取得。トップ ＋「文喫の楽しみ方」＋「お知らせ」）に基づく。

---

## 1. Visual Theme & Atmosphere

- **デザイン方針**: **白地に、余白を大量に取った縦横混在の組版**。ページの大半が白で、**要素と要素の間に画面 1 つ分近い空きを置く**。密度ではなく「間」で本屋の静けさを表す
- **文喫について**: 「文化を喫する、入場料のある本屋。」がコンセプト。**無料エリアと入場料エリアが分かれる**という独特の業態を、サイトでは**縦組みの見出し（本のたたずまい）と横組みの案内文（実用情報）の使い分け**で表現している
- **密度**: **極端に低い**。1440×900 のファーストビューは KV 1 枚とロゴだけ。スクロールしても、1 画面にセクション 1 つしか入らない
- **キーワード**: 筑紫ゴシック、Bookman Old Style、縦組み見出し、`palt`、アプリコット `#fdeadf`、radius 38px、余白過多
- **特徴**:
  - **和文＝ゴシック（筑紫ゴシック Pro5 D）／欧文＝セリフ（Bookman Old Style）**。通常と逆の組み合わせ。**欧文ラベルは常に和文見出しの上に小さく置かれる**（`Store` / `How to use` / `Information`）
  - **セクション見出しが縦組み**。`writing-mode: vertical-rl` ＋ **`letter-spacing: 31.5px`（1.05em）** ＋ 左側に 1px の縦罫。**「店 舗」の 2 文字が縦に 1 文字ずつ離れて並ぶ**
  - **本文コピーにも縦組みを使う**（「自由で楽しい、みんなの居場所です。」）。**複数行を右から左へ流す**、書籍そのものの組み方
  - **`font-feature-settings: "palt"` が `body` から全要素に継承される**。約物が詰まった上で `letter-spacing: 0.02em` を足す設計
  - **CTA ピルの padding が上下非対称**（`9.6px 40px 12px`）。**下を上より 2.4px 厚くして、和文の字面が視覚的に中央へ来るよう補正している**
  - **`border-radius: 38px` の完全なピル**。角丸のボタンは 1 つも無い
  - **`box-shadow` を使わない**。奥行きは面色（`#fdeadf` / `#f4f4f4`）と 1px の細罫だけ
  - **ロゴ「文喫」は明朝系のレタリング画像**。本文のゴシックとは別物で、**Web フォント化されていない**

---

## 2. Color Palette & Roles

> 実測値。地は `#ffffff`（`pageBackground.resolved` = `rgb(255,255,255)` / 根拠 `body`）。
> **有彩色は アプリコット `#fdeadf` と 深緑 `#34806f` の 2 色だけ**。それ以外は白・黒・グレー。

### Brand（ブランド）

- **Apricot** (`#fdeadf`, rgb 253,234,223): **主色**。全 CTA ピルの面、フッター上部の帯。**`uniqueBackgrounds` で最頻（10 回）の色**で、実質これがブランドカラー
- **Forest** (`#34806f`, rgb 52,128,111): **第 2 の色**。ニュースカードの「詳しくみる」アウトラインピル（枠と文字の両方）。**アプリコットが「進む」なら深緑は「読む」**という役割分担

### Neutral（ニュートラル）

- **Ink** (`#000000`): **見出し・CTA の文字・枠線**。このサイトは**純黒を使う**
- **Body Ink** (`#28292b`, rgb 40,41,43): `body` の既定文字色。ハンバーガーメニュー内のリンク。**わずかに青みのある黒**
- **Muted** (`#5d5d5d`, rgb 93,93,93): 住所・注記・キャプション
- **Background** (`#ffffff`): ページ地色。**純白**
- **Surface** (`#f4f4f4`, rgb 244,244,244): 「スペースのご利用について」等の情報ブロックの面
- **Border**: 独立した罫色を持たない。**`1px solid #000000` か `1px solid #34806f` の 2 択**

### Semantic（意味的な色）

意味色は**サイト内に存在しない**。実装で必要になった場合は以下を目安にする。

- **Danger／Error**: `#b34a3a` 目安。**アプリコット `#fdeadf` の濃版**に寄せる（新しい色相を持ち込まない）
- **Warning**: `#fdeadf`（既存の Apricot）＋ `1px solid #000000` で表す
- **Success**: `#34806f`（既存の Forest）を流用する
- **非活性**: 面 `#f4f4f4` ／ 文字 `#5d5d5d`

---

## 3. Typography Rules

> **和文ゴシック ＋ 欧文セリフ**、**`palt` の全継承**、**縦組み見出し**の 3 点がこのサイトの核。

### 3.1 和文フォント

- **見出し・本文・UI すべて**: **`TsukuGoPr5-D`（筑紫ゴシック Pro5 D）→ `sans-serif`**
  - フォントワークス「筑紫ゴシック」の Pro5 ウェイト D。**懐が狭く、仮名が小ぶりで縦長**。同じゴシックでも游ゴシックや Noto Sans JP より**明朝寄りの情緒**がある
  - **ライセンスは Adobe Fonts / FONTPLUS 系のドメイン配信**。ローカルの preview では表示されない（後述）
- **`body` のフォールバックチェーン**: `noto-sans-cjk-jp` → `"ヒラギノ角ゴ Pro"` → `"Hiragino Kaku Gothic Pro"` → `メイリオ` → `Meiryo` → `"sans-serif"`
  - **ヒラギノは `ProN` ではなく `Pro`**（JIS90 字形）。**Apple JP と同じ選択**で、`ProN` を並べていない
  - **Windows は メイリオ**。游ゴシックを飛ばしてメイリオを指定している（筑紫ゴシックの縦長な字面に近いのはメイリオという判断）
  - 末尾の `"sans-serif"` が**クォートで囲まれている**（`"sans-serif"`）。これは CSS のジェネリックファミリーとしては無効で、`sans-serif` という名のフォントを探しに行く。**実害は無いが、自社の実装では真似しない**
- **ウェイト**: **400（本文・見出し・ナビ）** が基本。**500（CTA ピル）**、**700（ニュースカードのタイトル）** の 3 段
  - **見出しが 400 のまま**。44px の h1 も 36px の h2 も Regular で、**サイズだけで階層を作る**

### 3.2 欧文フォント

- **欧文ラベル専用**: **`BookmanOldStylePro-Regular` → `serif`**
  - **セリフ体**。`Store` / `Exclusive Use` / `How to use` / `Information` / `Not Found` といった**セクションの英語見出しにだけ**使う
  - **本文中の英数字には使わない**（本文の英数字は筑紫ゴシックの字形で出る）
- **和文ゴシック × 欧文セリフ**という組み合わせが、このサイトの署名。**逆にしない**
- 例外はハンバーガーの `Arial`（UA 既定）のみ。**自社の設計には持ち込まない**
- **preview.html での注記**: **`TsukuGoPr5-D` と `BookmanOldStylePro-Regular` はどちらもドメインライセンスのため、ローカルでは表示されない**
  - 和文の代替: **Zen Kaku Gothic New**（Google Fonts）。筑紫ゴシックと同じく**仮名が小ぶりで縦長**、フォントワークス系の情緒に最も近い。Noto Sans JP は字面が広すぎて別物になる
  - 欧文の代替: **Bitter**（Google Fonts）。Bookman Old Style と同系統の**太めのスラブ／トランジショナル・セリフ**

### 3.3 font-family 指定

```css
/* body（フォールバックの本体） */
font-family: noto-sans-cjk-jp, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
             メイリオ, Meiryo, sans-serif;

/* 見出し・本文・UI（実際に当たる書体） */
font-family: TsukuGoPr5-D, sans-serif;

/* 欧文ラベルのみ */
font-family: BookmanOldStylePro-Regular, serif;

/* body の既定 */
font-size: 25.6px;                 /* = 1.6rem。各要素が個別に上書きする */
font-weight: 400;
line-height: 1.6;                  /* 40.96px */
letter-spacing: 0.512px;           /* 0.02em。全要素に継承される */
color: #28292b;
font-feature-settings: "palt";     /* ← 全要素に継承される */
```

- **`body` の `font-size: 25.6px` は「継承の基準」であって本文サイズではない**。実際の本文は 16px / 18px で個別に指定される。**この 25.6px をそのまま本文に使わないこと**
- **`letter-spacing: 0.512px` は `body` に置かれ、全要素に継承される**。**16px なら 0.032em、44px なら 0.012em** と、大きい文字ほど相対的に詰まる（px 固定のため）
- **CTA ピルだけ `letter-spacing: normal`** に戻す。ボタンの文字は開かない

### 3.4 文字サイズ・ウェイト階層

| Role | Font | Size | Weight | Line Height | Letter Spacing | Color | 備考 |
|------|------|------|--------|-------------|----------------|-------|------|
| Page Title (h1) | 筑紫ゴシック | 44px | **400** | 1.25 (55px) | 0.512px | `#000000` | 「文喫の楽しみ方」 |
| Page Title / List (h1) | 筑紫ゴシック | 44px | **400** | 1.6 (70.4px) | 0.512px | `#000000` | 「お知らせ」。**一覧ページは行間を広げる** |
| Lead (h2) | 筑紫ゴシック | 36px | **400** | 1.6 (57.6px) | 0.512px | `#000000` | 「文化を喫する、入場料のある本屋。」 |
| **Section Head（縦組み）** | 筑紫ゴシック | **30px** | **400** | 1.5 (45px) | **31.5px (1.05em)** | `#000000` | 「店舗」。**`writing-mode: vertical-rl`** |
| Section Head（横組み） | 筑紫ゴシック | 30px | 400 | 1.5 (45px) | 0.512px | `#000000` | 「スペースのご利用について」 |
| **English Label** | **Bookman** | **24px** | **400** | 1.5 (36px) | -0.48px (-0.02em) | `#000000` | 「Store」。**唯一の負の字間** |
| English Label (news) | **Bookman** | 24px | 400 | 1.6 (38.4px) | 0.512px | `#000000` | 「Information」「How to use」 |
| Sub Head (h3) | 筑紫ゴシック | 24px | **400** | 1.6 (38.4px) | 0.512px | `#000000` | 「読書・ワークなど目的にあわせた滞在」 |
| Store Name | 筑紫ゴシック | 24px | 400 | 1.5 (36px) | 0.512px | `#000000` | 「文喫 六本木」 |
| English Label (small) | **Bookman** | 20px | 400 | 1.6 (32px) | 0.512px | `#000000` | 「Exclusive Use」 |
| Nav (drawer) | 筑紫ゴシック | 20px | 400 | 1.6 (32px) | 0.512px | `#28292b` | 「トップページ」 |
| Card Title | 筑紫ゴシック | 18px | **700** | 1.6 (28.8px) | 0.512px | `#000000` | ニュース記事タイトル。**700 が出る唯一の箇所** |
| Reading Text | 筑紫ゴシック | 18px | 400 | **1.75 (31.5px)** | 0.512px | `#000000` | 「文喫の楽しみ方」の解説本文 |
| Body | 筑紫ゴシック | 16px | 400 | 1.6 (25.6px) | 0.512px | `#000000` | 一般本文 |
| Body (loose) | 筑紫ゴシック | 16px | 400 | **1.75 (28px)** | 0.512px | `#000000` | 説明文ブロック |
| **Button (L)** | 筑紫ゴシック | **16px** | **500** | 1.75 (28px) | **normal** | `#000000` | 「文喫の楽しみ方」「一覧を見る」 |
| Footer Nav | 筑紫ゴシック | 16px | 400 | **1.0 (16px)** | 0.512px | `#000000` | 「文喫の楽しみ方」 |
| Breadcrumb | 筑紫ゴシック | 14px | 400 | 1.6 (22.4px) | 0.512px | `#000000` | 「TOP」 |
| **Button (S)** | 筑紫ゴシック | **14px** | **500** | 1.75 (24.5px) | **normal** | `#000000` / `#34806f` | 「店舗を探す」「詳しくみる」 |
| Meta | 筑紫ゴシック | 14px | 400 | 1.5 (21px) | 0.512px | `#5d5d5d` | 住所 |
| Caption | 筑紫ゴシック | 12px | 400 | 1.6 (19.2px) | 0.512px | `#5d5d5d` | 「※こちらはイメージ図です」 |
| Chip | 筑紫ゴシック | 12px | 400 | 1.6 (19.2px) | 0.512px | `#000000` | 「MAP」 |

- **weight 400 が基本**。**500 はボタンだけ、700 はニュースカードのタイトルだけ**。見出しを太らせない
- **`line-height` は 1.6 が基準**。**読み物ブロックだけ 1.75 に広げ、フッターナビだけ 1.0 に締める**
- **`letter-spacing: 0.512px` が全体に継承される**。**例外は 3 つだけ**: 縦組み見出しの **31.5px**、Bookman ラベルの **-0.48px**、ボタンの **normal**

### 3.5 行間・字間

- **本文の行間 (line-height)**: **1.6**（16px → 25.6px）。**読み物は 1.75**（18px → 31.5px）に広げる
- **字間 (letter-spacing)**: **`0.512px` の px 固定を `body` から全要素に継承**
  - 16px で 0.032em、24px で 0.021em、44px で 0.012em。**大きい文字ほど相対的に詰まる**
  - **これは意図的**。`palt` で詰めた約物の上に一律の px を足すことで、**小さい文字ほど字間が効き、大見出しは塊として締まる**
- **例外は 3 つ**:
  1. **縦組みのセクション見出し: `31.5px`（1.05em）** — 文字 1 つ分以上の間隔。「店」と「舗」が完全に離れる
  2. **Bookman の欧文ラベル（24px）: `-0.48px`（-0.02em）** — **サイト唯一の負の字間**。セリフ体を締めて和文見出しと重心を合わせる
  3. **CTA ピル: `normal`** — ボタンの文字は開かない

**ガイドライン**:
- **`letter-spacing: 0.512px` を `body` に置き、個別要素で上書きしない**（例外は上記 3 つのみ）
- **縦組み見出しの 1.05em は「セクションの記号」**。横組みには絶対に持ち込まない
- **Bookman ラベルの負の字間は Bookman を使うときだけ**。和文に負の字間を当てない
- **ボタンの `letter-spacing: normal` を守る**。ピルの中で字間を開くと横に伸びて形が崩れる
- **`palt` を全体に掛けたまま `letter-spacing` で開き直す**。この二段構えがこのサイトの字送り

### 3.6 禁則処理・改行ルール

```css
overflow-wrap: break-word;
line-break: strict;
word-break: normal;
```

**禁則対象**:
- 行頭禁止: `）」』】〕〉》、。，．・：；？！`
- 行末禁止: `（「『【〔〈《`

- **`palt` が効いているため、約物は既に詰まっている**。`「」（）` の前後に追加のマージンを入れない
- **記事タイトルは全角スペースを含む**（`新企画「文喫復刻選書」始動　第1弾は吉本隆明『言葉からの触手』`）。**全角スペースの直後で折る**のは可、二重鉤括弧 `『』` の直前では折らない
- **キャッチコピーは意図した位置で改行させる**（`文化を喫する、` / `入場料のある本屋。`）。`<br>` を打つか `max-width` で制御し、**自動折り返しに任せない**
- 店舗名（`文喫 六本木`）は**半角スペースごと 1 行**に保つ
- 住所（`東京都港区六本木6-1-20 六本木電気ビルディング1F`）は**丁目・番地の数字列の途中で折らない**
- **縦組みブロックは 1 行あたりの文字数を固定する**（`height` を指定して行数をコントロールする）。自動で行が増えると掛軸の形が崩れる
- ボタンのラベル（「店舗を探す」「文喫の楽しみ方」）は折り返さない

### 3.7 OpenType 機能

```css
font-feature-settings: "palt";   /* body から全要素に継承 */
```

- **`palt` を `body` に置いて全要素へ継承させる**。約物（`「」（）、。`）が自動で詰まる
- **その上で `letter-spacing: 0.512px` で開き直す**。**「詰めてから開く」の二段構え**が、筑紫ゴシックの縦長な字面を読みやすくしている
- **`palt` と `letter-spacing` をセットで考える**。`palt` だけだと詰まりすぎ、`letter-spacing` だけだと約物が空く
- **Bookman（欧文）にも `palt` が継承されるが、欧文には影響しない**。代わりに **`-0.48px` の負の字間**で締めている
- 縦組みでは `palt` の代わりに **`vpal`** を使うのが本来の指定だが、現行サイトは `palt` のまま。**縦組みブロックでは `font-feature-settings: "vpal"` に切り替える**と約物の縦位置が正しく詰まる

### 3.8 縦書き

**このサイトは縦組みを日常的に使う**。セクション見出しとキャッチコピーの両方。

```css
/* セクション見出し（「店 舗」） */
writing-mode: vertical-rl;
text-orientation: mixed;
font-family: TsukuGoPr5-D, sans-serif;
font-size: 30px;
font-weight: 400;
line-height: 1.5;
letter-spacing: 31.5px;      /* 1.05em。文字 1 つ分以上開ける */
color: #000000;
border-left: 1px solid #000000;   /* 行頭側（右）ではなく左に罫を置く */
padding-left: 24px;
font-feature-settings: "vpal";    /* 縦組みでは palt ではなく vpal */
```

```css
/* キャッチコピー本文（「自由で楽しい、みんなの居場所です。」） */
writing-mode: vertical-rl;
text-orientation: mixed;
font-size: 16px;
line-height: 2.4;            /* 縦組みは行間を大きく取る（列の間隔になる） */
letter-spacing: 0.512px;     /* 横組みと同じ字間を維持する */
height: 320px;               /* 高さを固定して行数をコントロールする */
```

- **セクション見出しは「欧文ラベル（Bookman・横組み）→ 縦組みの和文見出し」の順**に上から置く。欧文は横、和文は縦
- **縦罫は見出しブロックの左側**に置く（`border-left`）。右ではない
- 縦組み中の英数字・年号は `text-combine-upright: all` で 2 桁までを縦中横にする
- **ピルの CTA を縦組みブロックの中に入れない**。横長のピルが縦の列を割る。縦組みブロックの下に横組みで置く
- **縦組みの `line-height` は列の間隔**になる。横組みの 1.6 より広い **2.2〜2.4** を取る

---

## 4. Component Stylings

### Buttons

**Primary Pill（大）— 主要な遷移**

- Background: **`#fdeadf`**（アプリコット）
- Text: `#000000`
- Border: **`1px solid #000000`**
- Padding: **`9.6px 40px 12px`** — **上下非対称。下を 2.4px 厚くする**
- Border Radius: **`38px`**
- Font: 筑紫ゴシック / **16px / weight 500 / lh 1.75 / `letter-spacing: normal`**
- 例: 「文喫の楽しみ方」「一覧を見る」「トップページにもどる」
- **面を塗り、かつ細い黒枠を持つ**。塗りボタンなのに輪郭を描くのがこのサイトの特徴
- **padding の下が厚いのは和文の視覚補正**。等分にすると文字が下に沈んで見える

**Primary Pill（小）**

- Background: **`#fdeadf`**
- Text: `#000000`
- Border: **`1px solid #000000`**
- Padding: **`3.5px 16.8px 5.6px`** — **同じく下を厚く**
- Border Radius: **`38px`**
- Font: **14px / weight 500 / lh 1.75 / ls normal**
- 例: 「店舗を探す」「詳しくみる」「店舗一覧」

**Outline Pill（深緑）— 記事への遷移**

- Background: **`#ffffff`**
- Text: **`#34806f`**
- Border: **`1px solid #34806f`**
- Padding: `3.5px 16.8px 5.6px`
- Border Radius: **`38px`**
- Font: 14px / weight 500 / ls normal
- 例: ニュースカードの「詳しくみる」
- **アプリコット＝サイト内の主要な遷移、深緑＝記事を読む**。役割で色を分ける

**Chip（MAP）**

- Background: **透明**
- Text: `#000000`
- Border: **`1px solid #000000`**
- Padding: **`0 7px 0.5px 7.14px`** — **左右も微妙に非対称**
- Border Radius: **`38px`**
- Font: **12px / weight 400 / ls 0.512px**
- 例: 住所の末尾に付く「MAP」
- **面を持たない最小のピル**。本文の行内に置く

### Cards（ニュース）

- Background: `#ffffff`
- Border: なし（**カード間の区切りは 1px の横罫**）
- Border Radius: **`0px`** — **ボタンは 38px のピル、カードは角丸ゼロ**
- Shadow: **なし**
- Padding: **`51.2px 58.88px 51.2px 20px`**（上下 51.2px ＝ 3.2rem、右 58.88px、左 20px）
- 構成: 日付 → タイトル（18px / **700**）→ 「詳しくみる」アウトラインピル
- **カードの中でだけ weight 700 が使われる**。他はすべて 400

### Information Block

- Background: **`#f4f4f4`**
- Border Radius: **`0px`**
- Padding: `48px 40px` 目安
- 見出し: 30px / weight 400（**横組み**。縦組みは使わない）
- 例: 「スペースのご利用について」
- **実用情報のブロックだけ面を敷いて横組みにする**。詩的な部分（縦組み）と実務的な部分（横組み・面あり）を書式で分ける

### Footer Band

- Background: **`#fdeadf`**（アプリコット）
- Padding: **`118.15px 0`**（上下に約 7.4rem）
- 中央にロゴ「文喫」の画像を 1 つだけ置く
- **フッターの上に、ロゴだけのアプリコットの帯**。CTA と同じ色で、ページを閉じる

### Inputs

実サイトに公開フォームが無いため、**このサイトの原則（ピル / 1px 黒枠 / palt）から導くと以下**。

- Background: `#ffffff`
- Border: **`1px solid #000000`**
- Border (focus): **`1px solid #34806f`**（深緑）
- Border Radius: **`38px`**（ボタンと揃える）
- Padding: `9.6px 24px 12px`（**ボタンと同じ非対称 padding**）
- Font: 筑紫ゴシック / 16px / weight 400 / Text Color: `#000000`
- Placeholder: `#5d5d5d`
- Textarea だけ **`border-radius: 8px`**（ピルにすると複数行が入らない）

---

## 5. Layout Principles

### Spacing Scale

`0.8rem = 12.8px` を単位とする **1.6rem 系のスケール**（`body` の 25.6px = 1.6rem に由来）。

| Token | Value |
|-------|-------|
| XS | 6.4px (0.4rem) |
| S | 12.8px (0.8rem) |
| M | 20px |
| L | 40px |
| XL | 51.2px (3.2rem) |
| XXL | 80px |
| XXXL | **118.15px**（フッター帯の上下） |

### Container

- Max Width: **1320px**（1440px 幅で左右に 60px ずつ）
- 読み物カラム: **720px** 目安
- Padding (horizontal): 20〜60px
- **KV は全幅ブリード**（左右 60px の余白を残した「ほぼ全幅」）。**3 枚の写真を横に並べ、その上に白文字のキャッチを重ねる**
- ヘッダーは**全幅・透過**。**KV に重ねる**（ロゴだけが白い写真の上に乗る）
- **ヘッダー中央にロゴ、左に欧文ワードマーク、右にハンバーガー**という 3 分割

### Grid

- Columns: ニュース一覧は **1 カラム（横罫で区切る）**、店舗一覧は 2〜3 カラム
- Gutter: 40px
- **セクションの間に画面 1 つ分近い余白を置く**。実測で **セクション間の空きが 300〜500px**
- **セクション見出しは中央寄せ**。縦組みの見出しがページの中心軸に立つ
- **情報ブロック（`#f4f4f4`）だけが面を持つ**。それ以外のセクションは白地のまま余白で区切る

---

## 6. Depth & Elevation

**実測の `box-shadow` は 0 段**。サイト内に影が 1 つも存在しない。

| Level | Shadow | 用途 |
|-------|--------|------|
| 0 | **`none`** | **全要素**。ボタン・カード・ヘッダー・情報ブロックのすべて |

- **奥行きは面色の 3 段で表す**:

| 面 | 色 | 用途 |
|----|-----|------|
| 地 | `#ffffff` | ページ全体 |
| 情報ブロック | `#f4f4f4` | 実用情報のセクション |
| CTA・フッター帯 | `#fdeadf` | 押せるもの、ページの終端 |

- **線は 1px のみ**。`1px solid #000000`（ボタン枠・カードの区切り・縦組み見出しの罫）と `1px solid #34806f`（深緑のアウトラインピル）の 2 種類
- **WordPress の `--wp--preset--*`（色・スペーシング・フォントサイズ）は Gutenberg の既定値で、サイトでは使われていない**。ブランドトークンと取り違えないこと

---

## 7. Do's and Don'ts

### Do（推奨）

- **和文はゴシック（筑紫ゴシック Pro5 D）、欧文ラベルはセリフ（Bookman Old Style）にする**。この逆転がブランドの署名
- **セクション見出しは「欧文ラベル（横組み・Bookman）→ 和文見出し（縦組み）」の 2 段**で組む
- **縦組み見出しに `letter-spacing: 1.05em` を当てる**。文字 1 つ分以上開けて、左に 1px の縦罫を添える
- **`font-feature-settings: "palt"` を `body` に置いて全継承させ、その上で `letter-spacing: 0.512px` で開き直す**
- **weight は 400 を基本にする**。500 はボタンだけ、700 はニュースカードのタイトルだけ
- **CTA はすべて `border-radius: 38px` のピル**にする
- **ピルの padding を上下非対称にする**（下を上より 2.4px 厚く。和文の視覚補正）
- **塗りピルにも `1px solid #000000` の枠を付ける**。塗りと輪郭を同時に持たせる
- **アプリコット `#fdeadf` = 主要な遷移、深緑 `#34806f` = 記事を読む** の役割分担を守る
- **カードは角丸ゼロ**にする。ピル（38px）とカード（0px）の対比を保つ
- **`box-shadow` を使わない**。奥行きは面色 3 段（白 / `#f4f4f4` / `#fdeadf`）と 1px 罫で作る
- **セクション間に 300px 以上の余白を取る**。密度を上げない
- **キャッチコピーは意図した位置で改行させる**（`<br>` か `max-width` で制御）
- **フッターの上にアプリコットのロゴ帯**を置いてページを閉じる
- 縦組みでは **`font-feature-settings: "vpal"`** に切り替える

### Don't（禁止）

- **和文をセリフ（明朝）、欧文をサンセリフにしない**。組み合わせを逆にするとブランドが消える
- **見出しを太らせない**（44px の h1 も 400 のまま）
- **`letter-spacing` を要素ごとに上書きしない**。例外は縦組み見出し（31.5px）・Bookman ラベル（-0.48px）・ボタン（normal）の 3 つだけ
- **縦組みの 1.05em を横組みに持ち込まない**
- **和文に負の `letter-spacing` を当てない**（負の字間は Bookman ラベルだけ）
- **ボタンの中で `letter-spacing` を開かない**（`normal` を守る）
- **ピルの padding を上下均等にしない**（和文が下に沈んで見える）
- **塗りピルの枠を省略しない**（`1px solid #000000` はセットで 1 つの形）
- **カードを角丸にしない**。角丸はピルだけの記号
- **影を付けない**。`0 2px 8px` のような一般的なカードシャドウを持ち込まない
- **色を増やさない**。有彩色はアプリコットと深緑の 2 色だけ
- **アプリコットと深緑の役割を入れ替えない**
- **セクションを詰めない**。余白を削ると本屋の静けさが消える
- **縦組みブロックにピルを入れない**（横長の形が縦の列を割る）
- **縦組みの行数を自動に任せない**（`height` を固定する）
- **`body` の `font-size: 25.6px` を本文サイズとして使わない**（あれは継承の基準）
- **フォールバックの末尾を `"sans-serif"` とクォートで囲まない**（実サイトの記述は誤りで、ジェネリックファミリーとして機能しない）
- **`--wp--preset--*` をブランドトークンとして使わない**（Gutenberg の既定値）

---

## 8. Responsive Behavior

### Breakpoints

| Name | Width | 説明 |
|------|-------|------|
| Mobile | ≤ 767px | 1 カラム。KV は 1 枚に。**縦組み見出しは維持する**（`letter-spacing` を 0.6em に落とす） |
| Tablet | 768–1024px | 2 カラム。セクション間の余白を 200px 程度に詰める |
| Desktop | > 1024px | KV は 3 枚並び。セクション間 300〜500px |

### タッチターゲット

- 最小サイズ: 44px × 44px（WCAG 基準）
- **Primary Pill（大）は `padding 9.6px 40px 12px` ＋ 16px / lh 1.75 で高さ 49.6px**。基準を満たす
- **Primary Pill（小）は `padding 3.5px 16.8px 5.6px` ＋ 14px / lh 1.75 で高さ 33.6px**。**モバイルでは `padding 9.6px 20px 12px` に広げて 46px を確保する**
- **Chip（MAP）は高さ 20px しかない**。**モバイルでは住所行ごとタップ領域にする**（チップ単独を押させない）
- カードは**カード全体をタップ領域**にする
- **ハンバーガーは 44px × 44px 以上**を確保する

### フォントサイズの調整

- 本文 16px は据え置く（14px を下回らない）
- Page Title 44px → モバイルでは 28〜30px。**weight 400 は維持する**
- Lead 36px → 24〜26px
- **縦組みセクション見出し 30px → 22〜24px。`letter-spacing: 31.5px` は `0.6em` 程度に落とす**（画面高が足りなくなるため）。**縦組みそのものは維持する**
- English Label（Bookman）24px → 18px。**負の字間 -0.02em は維持する**
- Card Title 18px → 16px。**weight 700 は維持する**
- Button 16px → 15px まで。**`padding` は縦方向に広げて高さ 46px を確保する**
- **`letter-spacing: 0.512px` の全体継承と `palt` はモバイルでも維持する**
- **読み物の `line-height: 1.75` はモバイルでも維持する**（1.6 に落とさない）

---

## 9. Agent Prompt Guide

### クイックリファレンス

```
Background:      #ffffff   （ページ地色。純白）
Surface:         #f4f4f4   （実用情報ブロックの面）
Apricot:         #fdeadf   （主色。全 CTA ピルの面 ＋ フッター帯）
Forest:          #34806f   （第 2 色。記事への遷移＝アウトラインピルの枠と文字）
Ink:             #000000   （見出し・CTA の文字・枠線。純黒を使う）
Body Ink:        #28292b   （body の既定文字色）
Muted:           #5d5d5d   （住所・注記・キャプション）
Font (和文):      TsukuGoPr5-D, sans-serif           ← 筑紫ゴシック Pro5 D
Font (欧文ラベル): BookmanOldStylePro-Regular, serif  ← セリフ。和文ゴシックとの逆転
Fallback:        noto-sans-cjk-jp, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
                 メイリオ, Meiryo, sans-serif        ← ProN ではなく Pro
Body:            16px / weight 400 / lh 1.6 / ls 0.512px (0.02em) / #000000
                 （body の 25.6px は継承の基準で、本文サイズではない）
Weight:          400 が基本。500 はボタンのみ、700 はニュースカードのタイトルのみ
Line Height:     1.6（基準）/ 1.75（読み物・ボタン）/ 1.0（フッターナビ）
Letter Spacing:  0.512px を body に置いて全継承（px 固定）
                 例外 3 つ: 縦組み見出し 31.5px (1.05em) /
                          Bookman ラベル -0.48px (-0.02em) / ボタン normal
Feature:         font-feature-settings: "palt" を body に置いて全継承
                 （縦組みブロックだけ "vpal" に切り替える）
Radius:          CTA ピル 38px / カード・情報ブロック 0px（対比を保つ）
Shadow:          全要素 none（影は存在しない）
Border:          1px solid #000000（ボタン枠・区切り・縦罫）/
                 1px solid #34806f（深緑アウトライン）
縦組み:           セクション見出しとキャッチコピーで日常的に使う
                 writing-mode: vertical-rl / 左に 1px の縦罫 / 上に Bookman の欧文ラベル
Container:       1320px（読み物 720px）
Section Gap:     300〜500px（余白でセクションを区切る）
```

### プロンプト例

```
文喫（BUNKITSU）のデザインシステムに従って、書店の「店舗紹介」ページを作成してください。
- 和文は TsukuGoPr5-D, sans-serif（筑紫ゴシック Pro5 D）。
  欧文のセクションラベルだけ BookmanOldStylePro-Regular, serif（セリフ体）。
  この「和文ゴシック × 欧文セリフ」の逆転を必ず守る。
  フォールバックは noto-sans-cjk-jp, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
  メイリオ, Meiryo, sans-serif（ヒラギノは ProN ではなく Pro）
- body に font-feature-settings: "palt" と letter-spacing: 0.512px を置き、全要素に継承させる。
  「palt で詰めてから letter-spacing で開き直す」二段構えにする。
  字間の例外は 3 つだけ：縦組み見出し 31.5px / Bookman ラベル -0.48px / ボタン normal
- 本文は 16px / weight 400 / line-height 1.6。読み物ブロックだけ 1.75 に広げる
- weight は 400 を基本にする。500 はボタンだけ、700 はニュースカードのタイトルだけ。
  44px の見出しも 400 のままにして、サイズだけで階層を作る
- セクション見出しは 2 段で組む：
  上に Bookman の欧文ラベル（24px / 横組み / letter-spacing -0.48px）、
  下に和文の見出しを縦組み（writing-mode: vertical-rl / 30px / weight 400 /
  letter-spacing 31.5px = 1.05em / 左に border-left: 1px solid #000000 / padding-left 24px）。
  縦組みブロックでは font-feature-settings を "vpal" に切り替える
- 縦組みの本文コピーも使う（line-height 2.4、height を固定して行数をコントロールする）。
  縦組みブロックの中にピルを入れない
- CTA はすべて border-radius: 38px のピル：
  主要な遷移＝面 #fdeadf ＋ 1px solid #000000 ＋ 文字 #000000 /
    padding 9.6px 40px 12px（下を上より 2.4px 厚く。和文の視覚補正）/ 16px weight 500 / ls normal
  小サイズ＝padding 3.5px 16.8px 5.6px / 14px weight 500
  記事への遷移＝白地 ＋ 1px solid #34806f ＋ 文字 #34806f / radius 38px / 14px weight 500
  塗りピルにも必ず黒枠を付ける（塗りと輪郭をセットで持たせる）
- カードは border-radius: 0px。ピル（38px）とカード（0px）の対比を保つ。
  カード間の区切りは 1px の横罫だけ。カードの中だけ weight 700 を使う
- box-shadow は一切使わない。奥行きは面色 3 段で表す：
  白 #ffffff（地）/ #f4f4f4（実用情報ブロック）/ #fdeadf（CTA・フッター帯）
- 有彩色はアプリコット #fdeadf と深緑 #34806f の 2 色だけ。色を増やさない
- セクションの間に 300px 以上の余白を取る。1 画面にセクションを 2 つ入れない
- キャッチコピーは <br> か max-width で意図した位置に改行させる（自動折り返しに任せない）
- ページの最後は、アプリコット #fdeadf の帯（上下 padding 118px）に
  ロゴだけを中央に置いて閉じる
- コンテナ幅は 1320px、読み物カラムは 720px
```
