# DESIGN.md — 青森県立美術館（AOMORI MUSEUM OF ART）

> 青森県立美術館 / Aomori Museum of Art（https://www.aomori-museum.jp/）のデザイン仕様書。
> 2006 年開館、青木淳の設計。菊地敦己による VI は日本のグラフィックデザイン史に残る仕事として知られる。
> 最大の特徴は **文字色が黒ではなく `#332200`（暖かい焦茶）** であること。ロゴも罫も SVG の塗りもすべてこの 1 色で、サイト全体が「墨」ではなく「土」の色で組まれている。
> 差し色は **`#91d2e5`（淡い空色）の 1 色だけ**。彩度を持つ色はこれしか存在しない。
> **`border-radius` は全要素 `0px`**、**`box-shadow` は 1 つも無い**。角丸も影も使わず、**2px / 3px のベタ罫**だけで面を区切る。
> そして **`letter-spacing` が 0.2em / 0.12em / 0.06em / 0.03em / normal の 5 段に設計されている**。字間そのものが階層を作る。
> 実サイトの computed style 実測（2026-08-15 取得。トップ ＋ TICKETS ＋ 展覧会詳細ページ）に基づく。

---

## 1. Visual Theme & Atmosphere

- **デザイン方針**: **白地に焦茶の線画**。角丸ゼロ・影ゼロ・彩度ほぼゼロ。**罫線の太さ（2px / 3px）と字間の広さだけで情報の階層を作る**、製図的で禁欲的な設計
- **青森県立美術館について**: 三内丸山遺跡の発掘現場（トレンチ）を意匠の起点にした建築。**「掘り起こされた土の断面」に対応する色が `#332200`** で、サイトはそのアイデンティティをそのまま Web に移している
- **密度**: 低い。トップは **巨大な SVG 見出し → 大きく字間を開いたリンク列 → 20 周年ロゴ → 展覧会カード**という順で、1 画面あたりの情報量を抑えている
- **キーワード**: 焦茶 `#332200`、空色 `#91d2e5`、radius 0、影なし、ls 0.2em の大リンク、Noto Sans JP ＋ 約物半角
- **特徴**:
  - **主文字色が `#332200`（rgb 51,34,0）**。純黒 `#000000` はサイト内に一切現れない。**罫線・枠・SVG の `fill` もすべて同じ 1 色**
  - **有彩色は `#91d2e5`（淡い空色）1 色のみ**。20 周年ロゴの枠、年号の罫、開館ステータスの `○`、Cookie バーのリンクにしか使わない
  - **`border-radius: 0px` が全要素**。ボタンもバッジも入力欄も角丸にしない
  - **`box-shadow: none` が全要素**。奥行きは **罫線の太さ（2px / 3px）** だけで表す
  - **主ナビゲーションが 26px / weight 700 / `letter-spacing: 0.2em`** の巨大なリンク列。**リンクがそのまま見出しとして機能する**
  - **`letter-spacing` に 5 段の設計がある**（0.2em / 0.12em / 0.06em / 0.03em / normal）。**サイズではなく役割で字間が決まる**
  - **ロゴと大見出しは SVG 画像**。菊地敦己による専用アルファベット／和文レタリングは Web フォントではないため、**HTML テキストで再現しない**
  - **`palt` を掛けない**（`font-feature-settings: normal`）。字間は詰めず、開く方向にだけ動かす

---

## 2. Color Palette & Roles

> 実測値。地は `#ffffff`（`pageBackground.resolved` = `rgb(255,255,255)` / 根拠 `body`）。
> **`uniqueBackgrounds` に現れる有彩色は 1 つも無い**。空色 `#91d2e5` は面ではなく**文字色・SVG の塗り**としてしか使われないため、背景色の集計には出てこない。**このサイトを読むときは `interactive` の `color` と実スクリーンショットを必ず突き合わせること**。

### Brand（ブランド）

- **Ink Brown** (`#332200`, rgb 51,34,0): **サイトを支配する唯一の主色**。本文・見出し・罫線・枠・アイコンの `fill`・Cookie バーの面。**純黒の代わりに使う**
- **Sky** (`#91d2e5`, rgb 145,210,229): **唯一の差し色**。20 周年ロゴの枠線、年号「2006 — 2026」の罫、「本日開館」の `○`、Cookie バー上のリンク文字。**面としてはほとんど塗らず、線と文字で使う**

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

- **Background** (`#ffffff`): ページ地色。**純白**
- **Surface** (`#f4f4f4`, rgb 244,244,244): 展覧会詳細の定義リスト（「会期」「休館日」「会場」の行）の面。**唯一の面色**
- **Badge Gray** (`#cccccc`, rgb 204,204,204): ステータスバッジ（「開催中」「開催予定」）の面。**枠も同色の 2px**
- **Text Secondary**: 独立した弱色を持たない。**補足も `#332200` のまま font-size を落として表す**

### Semantic（意味的な色）

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

- **Danger／Error**: `#8c2f14` 目安。**`#332200` と同じ暖色系に寄せ、彩度を上げすぎない**
- **Warning**: 新色を足さず、**`#332200` の 2px 枠 ＋ 太字**で表す
- **Success**: `#91d2e5`（既存の Sky）を流用する
- **非活性**: 面 `#cccccc` ／ 文字 `#332200`（バッジと同じ扱い）

---

## 3. Typography Rules

> **`letter-spacing` が 5 段に設計されている**のがこのサイトの核。**サイズではなく役割で字間が決まる**（同じ 16px でも見出しは 0.12em、本文は 0.06em）。書体は Noto Sans JP に**約物半角（YakuHanJP）を重ねた 2 段構成**。

### 3.1 和文フォント

- **全要素共通**: **`YakuHanJPs_Noto` → `NotoSansJP` → `sans-serif`**
- **`YakuHanJPs_Noto` は「約物だけを差し替えるサブセット」**。`YakuHanJP` は括弧・句読点（`（）「」、。`）を**半角字形に置き換えるためだけのフォント**で、仮名・漢字のグリフは持たない。**先頭に置くことで約物だけが半角になり、後続の `NotoSansJP` が本体を描く**
- 末尾の `s` は **Sans 版**、`_Noto` は **Noto Sans JP と字形を合わせた版**を指す
- **ウェイト**: `@font-face` は **300 / 500 / 700** を宣言。実際に読み込まれるのは **500（本文・UI の既定）と 700（見出し・バッジ・カードタイトル）** の 2 段。**300 は宣言のみで未使用**
- **400 は body に指定が無いのに h1 / h2 で現れる**。これはブラウザ既定の継承ではなく、**大見出しだけ意図的に Regular に落としている**もの

### 3.2 欧文フォント

- **欧文専用の書体を持たない**。「AOMORI MUSEUM OF ART」「20TH」「2006 — 2026」は**すべて SVG 画像**（菊地敦己による専用アルファベット）で、Web フォントではない
- 本文中の英数字・日付（`2026.8.14（金）`）は **Noto Sans JP の字形**で出る
- 例外はカルーセルの制御ボタン（`Arial` / 13.3333px）のみ。**UA 既定が残っているだけなので、自社の設計には持ち込まない**
- 等幅フォントは使わない
- **preview.html での注記**: **Noto Sans JP は Google Fonts で取得できるため、本体の字形は実サイトと一致する**。ただし **`YakuHanJPs_Noto` は Google Fonts に無い**ため、約物の半角化は再現されない（`yakuhanjp` の CDN を読むか、`font-feature-settings: "halt"` で近似する）。**SVG のロゴ・大見出しは再現不可**

### 3.3 font-family 指定

```css
/* 全要素共通 */
font-family: YakuHanJPs_Noto, NotoSansJP, sans-serif;

/* body の既定 */
font-size: 18px;
font-weight: 500;              /* ← Regular ではなく Medium */
line-height: 1.75;             /* 31.5px */
letter-spacing: normal;        /* body は開かない。開くのは役割ごと */
color: #332200;                /* 純黒ではない */
font-feature-settings: normal; /* palt は使わない */
```

**フォールバックの考え方**:
- **約物用サブセットを最優先に置く**。`YakuHanJPs_Noto` → `NotoSansJP` の順は**「約物だけ差し替える」ための必須の順序**で、入れ替えると効かない
- **OS 標準書体（游ゴシック・ヒラギノ）を並べない**。Noto Sans JP を必ず読み込む前提の、Web フォント単独の構成
- **`body` の `letter-spacing` は `normal`**。OPAM のような「body に字間を置いて全継承」型ではなく、**役割ごとに個別に指定する**設計

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

| Role | Size | Weight | Line Height | Letter Spacing | Color | 備考 |
|------|------|--------|-------------|----------------|-------|------|
| Page Title (h1) | 36px | **400** | 1.75 (63px) | normal | `#332200` | **大見出しだけ Regular** |
| Section Head (h2) | 27px | **400** | 1.75 (47.25px) | normal | `#332200` | 「チケットの購入」「お知らせ」 |
| **Action Link** | **26px** | **700** | **1.75 (45.5px)** | **0.2em (5.2px)** | `#332200` | 「開館時間／休館日」「一覧をみる」。**このサイトの顔** |
| Date Display | 26px | **700** | 1.75 (45.5px) | **0.2em (5.2px)** | `#332200` | 「2026.8.14（金）」「本日開館」 |
| Detail Title (h2) | 26px | **700** | 1.8 (46.8px) | 0.03em (0.78px) | `#332200` | 展覧会詳細の展覧会名 |
| Sub Head (h3) | 20px | **700** | 1.7 (34px) | 0.03em (0.6px) | `#332200` | 「展示の見どころ」 |
| Caption Head (h3) | 21.06px | **400** | 1.75 (36.855px) | normal | `#332200` | 作家名・サポーター告知 |
| Body | 18px | **500** | **1.75 (31.5px)** | **normal** | `#332200` | `body` の基準 |
| Card Title (h3) | 16px | **700** | 1.8 (28.8px) | **0.12em (1.92px)** | `#332200` | 展覧会カードのタイトル |
| Card Date (p) | 16px | **700** | 1.8 (28.8px) | **0.12em (1.92px)** | `#332200` | 「2026.10.31 - 2027.03.14」 |
| Term Label (h4) | 16px | **700** | 1.25 (20px) | **0.12em (1.92px)** | `#332200` | 「会期」「当日券」。**行間だけ 1.25 に締める** |
| Reading Text (p) | 16px | **500** | 1.8 (28.8px) | **0.06em (0.96px)** | `#332200` | 展覧会解説の本文 |
| Badge | 13px | **700** | **1.0 (13px)** | **0.12em (1.56px)** | `#332200` | 「開催中」「企画展」 |
| Small (p) | 13px | **500** / 400 | 1.8 (23.4px) | **0.03em (0.39px)** | `#332200` | 注記・キャプション |
| Calendar Digit | 13px | **700** | **1.0 (13px)** | normal | `#332200` / `#91d2e5` | カレンダーの日付。**空色は開館日** |

- **見出しほど weight が下がる**という逆転がある。**h1 / h2 は 400、カードタイトルや小見出しは 700**。「大きい文字は細く、小さい文字は太く」で視覚的な重さを揃えている
- **`line-height` は 3 段**: **1.75**（18px 基準の UI・大見出し・アクションリンク）／ **1.8**（16px・13px の読み物）／ **1.0**（バッジ・カレンダーの数字）。例外は「会期」ラベルの 1.25 のみ
- **`letter-spacing` は em で指定されている**（OPAM の px 固定とは逆）。**サイズが変わっても見た目の字間比が保たれる**

### 3.5 行間・字間

- **本文の行間 (line-height)**: **1.75**（18px → 31.5px）。読み物ブロックは **1.8**（16px → 28.8px）と、**わずかに広げる**
- **字間 (letter-spacing) は 5 段で設計されている**:

| Tier | 値 | 使う場所 |
|------|-----|---------|
| **Wide** | **0.2em** | アクションリンク（26px/700）、日付表示。**このサイトの署名** |
| **Label** | **0.12em** | バッジ、カードタイトル、カード日付、「会期」等の項目ラベル |
| **Reading** | **0.06em** | 16px の読み物本文 |
| **Fine** | **0.03em** | 13px の注記、20px / 26px の見出し |
| **Normal** | `normal` | `body`（18px）、h1（36px）、h2（27px） |

- **重要なのは「サイズで決まらない」こと**。同じ 16px でもカードタイトルは 0.12em、本文は 0.06em。**役割が字間を決める**
- **`body` は `normal`**。字間を継承させず、**開きたい要素にだけ個別に当てる**
- **0.2em を当てるのは 26px / weight 700 のリンクと日付だけ**。文章には絶対に当てない
- **`palt` は使わない**（`font-feature-settings: normal`）

**ガイドライン**:
- **アクションリンクは「26px ＋ weight 700 ＋ ls 0.2em」の 3 点セット**で作る。字間だけを真似すると痩せて見える
- **バッジとカードタイトルは同じ 0.12em で揃える**。ラベル系の字間を統一することで、カード内の情報が 1 つの塊に見える
- **本文（0.06em）と注記（0.03em）で字間を変える**。サイズ差だけでなく字間差でも階層を作る
- **`body` に字間を置かない**。継承させると 0.2em のリンクとの落差が作れなくなる

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

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

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

- **`YakuHanJPs_Noto` が約物を半角にしている**ため、`「」（）` の前後に**追加のマージンを入れない**。二重に詰まる
- 展覧会名は長く記号を含む（`青森県立美術館開館20周年 / 東日本大震災15年「志賀理江子 なぬもかぬも」展`）。**スラッシュ `/` の前後、鉤括弧の直前で折らない**
- 会期表記（`2026.10.31 - 2027.03.14`）は**全体を 1 行に保つ**（`white-space: nowrap`）。ハイフンの前後で折らない
- 日付（`2026.8.14（金）`）は**曜日の括弧ごと 1 行**にする
- **`letter-spacing: 0.2em` を当てた行は折り返させない**。字間が開いているため 2 行になると塊として読めなくなる。折り返しが起きるなら**サイズを落として 1 行に収める**
- バッジのラベル（「開催中」「コレクション展」「ワークショップ」）は折り返さない

### 3.7 OpenType 機能

```css
font-feature-settings: normal;   /* palt を掛けない */
```

- **`palt` は使わない**。代わりに **`YakuHanJPs_Noto` で約物だけを物理的に半角字形へ差し替える**。**「詰める」のではなく「約物専用のグリフに置き換える」**アプローチ
- **この 2 つを併用しない**。`palt` と約物半角フォントを重ねると括弧まわりが詰まりすぎる
- 字間は**開く方向（0.03〜0.2em）にだけ動かす**。負の `letter-spacing` はサイト内に存在しない
- カレンダーの日付は桁を揃えたいので、必要なら `font-feature-settings: "tnum"` を足す（現行サイトは未使用）

### 3.8 縦書き

- 現行サイトは全面横組み（`writing-mode: horizontal-tb`）
- 作品キャプションや作家ステートメントで縦組みを使う場合は以下

```css
writing-mode: vertical-rl;
text-orientation: mixed;
font-family: YakuHanJPs_Noto, NotoSansJP, sans-serif;
font-weight: 500;
letter-spacing: 0.06em;   /* 読み物と同じ字間を維持する */
line-height: 1.9;         /* 縦組みは横組みの 1.8 より広げる */
color: #332200;
```

- 縦組み中の年号（`2026`）は `text-combine-upright: all` で縦中横にする
- **`letter-spacing: 0.2em` を縦組みに持ち込まない**。縦組みでは行長が伸びすぎる
- **2px の罫線は縦組みブロックの右端（行頭側）に置く**。横組みの「見出しの下に罫」を 90 度回した位置

---

## 4. Component Stylings

> **全要素 `border-radius: 0px` / `box-shadow: none`**。形の違いは**枠線の太さ（2px / 3px）と面の有無**だけで作る。

### Buttons

**Outline Button（枠 3px）— 主要な操作**

- Background: **`#ffffff`**
- Text: `#332200`
- Border: **`3px solid #332200`**
- Padding: **`4px 28px`**
- Border Radius: **`0px`**
- Font: 18px / **weight 500** / lh 1.75 / ls normal
- 例: ヒーロー右下の「2026.8.14（金）○ 本日開館」ブロック
- **枠 3px はサイト内で最も太い線**。「今いちばん押してほしいもの」にだけ使う

**Text Link（大）— サイトの主ナビゲーション**

- Background: なし
- Text: `#332200`
- Border: なし（末尾に `→` を置く）
- Font: **26px / weight 700 / lh 1.75 / `letter-spacing: 0.2em`**
- 例: 「開館時間／休館日 →」「利用料金 →」「アクセスマップ →」「一覧をみる →」
- **面を持たないのに主 CTA として機能する**。**字間 0.2em ＋ 太字 ＋ 大きさ**の 3 点で押せることを示す
- **矢印は `→`（U+2192）をテキストで置く**。アイコンフォントや SVG にしない

**Header Link**

- Text: `#332200`
- Font: 18px / weight 500 / lh 1.75 / ls normal
- 例: 「TICKETS」「MENU」
- **ヘッダーだけ字間を開かない**。大リンクとの対比を作るため

### Badges

**Status Badge（塗り）**

- Background: **`#cccccc`**
- Text: `#332200`
- Border: **`2px solid #cccccc`**（面と同色の枠を置いて高さを揃える）
- Padding: **`8px`**（上下左右均等）
- Border Radius: **`0px`**
- Font: 13px / **weight 700** / **lh 1.0** / **ls 0.12em (1.56px)**
- 例: 「開催中」「開催予定」
- **状態を表す**。グレーの面だけで、色分けはしない

**Category Badge（枠）**

- Background: **`#ffffff`**
- Text: `#332200`
- Border: **`2px solid #332200`**
- Padding: **`8px`**
- Border Radius: **`0px`**
- Font: 13px / **weight 700** / **lh 1.0** / **ls 0.12em (1.56px)**
- 例: 「企画展」「コレクション展」「一般開催」「ワークショップ」「その他」
- **分類を表す**。**カテゴリが何種類あっても色を増やさない**。文字だけで区別する
- **状態＝塗り（`#cccccc`）／分類＝枠（`#332200`）** の 2 種類しかバッジは存在しない

### Cards（展覧会・イベント）

- Background: `#ffffff`（地と同色）
- Border: なし
- Border Radius: **`0px`**
- Shadow: **なし**
- 構成: サムネイル → **バッジ 2 枚を横並び（分類 ＋ 状態）** → タイトル（16px / 700 / ls 0.12em）→ 会期（16px / 700 / ls 0.12em）
- **カードの輪郭を描かない**。地と同色・枠なし・影なしで、**サムネイルの矩形とテキストの塊だけでカードに見せる**
- **バッジは必ず「分類（枠）→ 状態（塗り）」の順**に左から並べる

### Definition List（展覧会詳細の「会期／休館日／会場」）

- Background: **`#f4f4f4`**（サイト唯一の面色）
- Border Radius: **`0px`**
- ラベル: 16px / **weight 700** / **lh 1.25** / ls 0.12em
- 値: 16px / weight 700 / lh 2.0 / ls 0.12em
- **ラベルだけ `line-height: 1.25` に締める**。値との行送りの差で 2 列に見せる

### Inputs

実サイトのフォームは検索窓のみで、専用のスタイルを持たない。**このサイトの原則（radius 0 / 影なし / 2px 罫）から導くと以下**。

- Background: `#ffffff`
- Border: **`2px solid #332200`**
- Border (focus): **`3px solid #332200`**（**色を変えず太さで示す**。このサイトには focus 用の色が無い）
- Border Radius: **`0px`**
- Padding: `12px 16px`
- Font: 18px / weight 500 / Text Color: `#332200`
- Placeholder: `#332200` の opacity 0.5

### Cookie Bar

- Background: **`#332200`**（サイト唯一の暗い面）
- Text: `#ffffff` / 13px / weight 500 / lh 1.8 / ls 0.03em
- Link: **`#91d2e5`**（空色）／ 13px / weight 500
- **暗い面の上でだけ空色がリンク色として機能する**。白地の上では空色をリンクに使わない

---

## 5. Layout Principles

### Spacing Scale

| Token | Value |
|-------|-------|
| XS | 4px |
| S | 8px |
| M | 16px |
| L | 24px |
| XL | 40px |
| XXL | 80px |
| XXXL | 120px |

### Container

- Max Width: **1128px**（h1 / h2 の `getBoundingClientRect().width` 実測値）
- 読み物カラム: **760px** 目安
- Padding (horizontal): 40〜120px。**1440px 幅で左右に約 115px ずつ余白**を取る
- ヘッダーは全幅・白地・不透過。**KV に重ねない**
- **ヒーローの大見出しは SVG 1 枚**（PC / SP で別ファイルを出し分ける）

### Grid

- Columns: 展覧会カードは **4 カラム**（カード幅 255px 実測）、イベントカードも 4 カラム
- Gutter: 24px
- **セクションの区切りは面色を変えない**。すべて白地のまま、**余白の量だけで区切る**
- **アクションリンクは横に並べて折り返す**（「開館時間／休館日 →」「利用料金 →」が 1 行、「アクセスマップ →」「フロアマップ →」「サービス施設／設備 →」が次の行）。**リンク列そのものがレイアウトの単位**になっている
- 20 周年ロゴのような記念ブロックは **`3px solid #91d2e5` の枠**で囲み、中は白地

---

## 6. Depth & Elevation

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

| Level | Shadow | 用途 |
|-------|--------|------|
| 0 | **`none`** | **全要素**。カード・バッジ・ボタン・入力欄・ヘッダーのすべて |

- **奥行きを影で表さない**。代わりに **枠線の太さ**を 3 段に分けている:

| 太さ | 用途 |
|------|------|
| **2px** | バッジの枠（分類 `#332200` / 状態 `#cccccc`） |
| **3px** | 主要な操作ブロックの枠、20 周年ロゴの枠（`#91d2e5`） |
| なし | カード・見出し・本文 |

- 面の段は **地 `#ffffff` と 定義リストの `#f4f4f4` の 2 段だけ**
- **WordPress の `--wp--preset--shadow--*`（natural / deep / sharp / outlined / crisp）は Gutenberg の既定値で、サイトでは 1 つも使われていない**。**ブロックエディタ由来の CSS 変数をブランドのトークンと取り違えないこと**（`--wp--preset--color--*` の vivid-red / vivid-purple 等も同様に未使用）

---

## 7. Do's and Don'ts

### Do（推奨）

- **主文字色を `#332200`（暖かい焦茶）にする**。本文・見出し・罫線・SVG の `fill` をすべてこの 1 色で統一する
- **有彩色は `#91d2e5`（空色）1 色だけに絞る**。しかも**面ではなく線と文字**で使う
- **`border-radius: 0px` を全要素で守る**。ボタンもバッジも入力欄も角丸にしない
- **`box-shadow` を使わない**。奥行きは**枠線の太さ（2px / 3px）**で表す
- **アクションリンクは「26px ＋ weight 700 ＋ `letter-spacing: 0.2em`」の 3 点セット**で作る
- **`letter-spacing` を役割ごとに 5 段（0.2em / 0.12em / 0.06em / 0.03em / normal）で使い分ける**。サイズで決めない
- **`body` の `letter-spacing` は `normal`** にして、開きたい要素にだけ当てる
- **大見出しほど weight を下げる**（h1 / h2 は 400、カードタイトルは 700）
- **バッジは 2 種類だけ**にする。**分類＝白地 ＋ 2px 枠 `#332200`／状態＝面 `#cccccc` ＋ 同色 2px 枠**
- **バッジの枠を面と同色で置く**（高さが揃う）
- **カードに枠も影も付けない**。サムネイルとテキストの塊だけでカードに見せる
- **`YakuHanJPs_Noto` を `NotoSansJP` の前に置く**（約物半角の必須条件）
- **矢印は `→` をテキストで置く**（アイコン化しない）
- **面色は `#f4f4f4` の 1 つだけ**にする

### Don't（禁止）

- **純黒 `#000000` を使わない**。文字も罫も `#332200`
- **`#91d2e5` を広い面に塗らない**。線と文字と `○` のためだけの色
- **角丸を作らない**（pill も 4px も禁止）。radius 0 が設計そのもの
- **影を付けない**。`0 2px 8px` のような一般的なカードシャドウを持ち込まない
- **色を増やさない**。カテゴリが増えてもバッジの色を分けない（文字で区別する）
- **`letter-spacing` をサイズで決めない**。同じ 16px でもラベルは 0.12em、本文は 0.06em
- **`letter-spacing: 0.2em` を文章に当てない**。1 行のリンク・日付だけ
- **`letter-spacing: 0.2em` の行を折り返させない**（サイズを落として 1 行に収める）
- **`body` に `letter-spacing` を置いて全継承させない**（0.2em との落差が作れなくなる）
- **`palt` を掛けない**。約物は `YakuHanJPs_Noto` に任せる。**両方を併用しない**
- **負の `letter-spacing` を使わない**（字間は開く方向だけ）
- **大見出しを太くしない**（h1 / h2 は 400 を守る）
- **游ゴシック・ヒラギノをフォールバックに並べない**。Noto Sans JP 単独の構成
- **SVG のロゴ・大見出しを HTML テキストで再現しようとしない**。専用レタリングは Web フォント化されていない
- **`--wp--preset--*` の色・影・グラデーションをブランドトークンとして使わない**（Gutenberg の既定値で、実サイトでは未使用）
- **セクションごとに地色を変えない**（全面白地 ＋ 余白で区切る）

---

## 8. Responsive Behavior

### Breakpoints

| Name | Width | 説明 |
|------|-------|------|
| Mobile | ≤ 767px | 1 カラム。展覧会カードは 1 列。**大見出しは SP 用 SVG に差し替える**（`headline_visit-sp.svg`） |
| Tablet | 768–1024px | 2 カラム。アクションリンクは 2 列で折り返す |
| Desktop | > 1024px | 展覧会カードは 4 カラム。アクションリンクは 3〜4 個ずつ横並び |

### タッチターゲット

- 最小サイズ: 44px × 44px（WCAG 基準）。**アクションリンクは 26px / lh 1.75 で高さ 45.5px** を確保できているため、そのままで基準を満たす
- **バッジは `line-height: 1.0` ＋ `padding: 8px` で高さ 33px しかない**。**バッジ自体はタップ対象にしない**（カード全体をタップ領域にする）
- **枠 3px のボタンは `padding: 4px 28px` で高さ 40px**。モバイルでは `padding: 10px 28px` に広げて 52px を確保する
- カードは**カード全体をタップ領域**にする

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

- 本文 18px は据え置く（16px を下回らない）
- **アクションリンク 26px → モバイルでは 20〜22px。`letter-spacing: 0.2em` は 0.15em に落とす**（幅が収まらないため）。**weight 700 は維持する**
- Page Title 36px → モバイルでは 24〜26px。**weight 400 は維持する**
- Section Head 27px → 20〜22px
- Card Title 16px → 15px まで。**`letter-spacing: 0.12em` は維持する**
- Badge 13px → 12px。**`line-height: 1.0` と `padding: 8px` は維持する**
- **`line-height` の 3 段（1.75 / 1.8 / 1.0）はモバイルでも維持する**
- **`border-radius: 0` と影なしはモバイルでも維持する**

---

## 9. Agent Prompt Guide

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

```
Background:      #ffffff   （ページ地色。純白）
Surface:         #f4f4f4   （定義リストの面。唯一の面色）
Ink Brown:       #332200   （主色。文字・罫線・枠・SVG の fill すべて。純黒は使わない）
Sky:             #91d2e5   （唯一の差し色。線と文字だけ。面には塗らない）
Badge Gray:      #cccccc   （状態バッジの面 ＋ 同色 2px 枠）
Font:            YakuHanJPs_Noto, NotoSansJP, sans-serif
                 （約物半角サブセットを Noto の前に置く。順序が必須）
Body:            18px / weight 500 / lh 1.75 / ls normal / #332200
Weight:          500（本文・UI）と 700（バッジ・カードタイトル・アクションリンク）。
                 h1 36px と h2 27px だけ 400（大見出しほど細い）
Line Height:     1.75（18px 基準・大見出し・アクションリンク）/
                 1.8（16px・13px の読み物）/ 1.0（バッジ・カレンダー数字）
Letter Spacing:  5 段。役割で決める（サイズで決めない）
                 0.2em  … アクションリンク 26px/700、日付表示
                 0.12em … バッジ、カードタイトル、カード日付、項目ラベル
                 0.06em … 16px の読み物本文
                 0.03em … 13px の注記、20px/26px の見出し
                 normal … body(18px)、h1(36px)、h2(27px)
Feature:         font-feature-settings: normal（palt は使わない。約物はフォントで解決）
Radius:          全要素 0px（例外なし）
Shadow:          全要素 none（影は存在しない）
Border:          2px（バッジ）/ 3px（主要操作・記念ブロック）の 2 段
Container:       1128px（読み物 760px）
```

### プロンプト例

```
青森県立美術館のデザインシステムに従って、美術館の展覧会一覧ページを作成してください。
- フォントは YakuHanJPs_Noto, NotoSansJP, sans-serif。
  約物半角サブセットを Noto Sans JP の前に置く（この順序でないと約物が半角にならない）。
  游ゴシック・ヒラギノをフォールバックに並べない
- 主文字色は #332200（暖かい焦茶）。純黒 #000000 は一切使わない。
  本文・見出し・罫線・枠・アイコンの fill をすべてこの 1 色で統一する
- 有彩色は #91d2e5（淡い空色）1 色だけ。しかも面に塗らず、線と文字にだけ使う
- ページ地色は #ffffff。面色は定義リストの #f4f4f4 だけ。
  セクションごとに地色を変えず、余白の量だけで区切る
- border-radius は全要素 0px。box-shadow は使わない。
  奥行きは枠線の太さ（バッジ 2px / 主要操作 3px）だけで表す
- body は 18px / weight 500 / line-height 1.75 / letter-spacing normal
- letter-spacing はサイズではなく役割で決める：
  0.2em  … アクションリンク（26px / weight 700）と日付表示
  0.12em … バッジ、カードタイトル、カード日付、「会期」等の項目ラベル
  0.06em … 16px の読み物本文
  0.03em … 13px の注記、20px / 26px の見出し
  normal … body、h1(36px)、h2(27px)
  body には letter-spacing を置かない（継承させない）
- 大見出しほど weight を下げる。h1 36px と h2 27px は 400、
  カードタイトル 16px とバッジ 13px は 700
- 主ナビゲーションは面を持たないテキストリンクにする：
  26px / weight 700 / line-height 1.75 / letter-spacing 0.2em / 末尾に → をテキストで置く。
  この行は絶対に折り返させない
- バッジは 2 種類だけ：
  分類（企画展・コレクション展・ワークショップ）＝白地 ＋ 2px solid #332200
  状態（開催中・開催予定）＝面 #cccccc ＋ 2px solid #cccccc
  どちらも 13px / weight 700 / line-height 1.0 / letter-spacing 0.12em / padding 8px / radius 0
  カテゴリが増えても色を分けない（文字だけで区別する）
- カードは枠も影も付けない。地と同色の白のまま、
  サムネイルの矩形とテキストの塊だけでカードに見せる。
  バッジは必ず「分類（枠）→ 状態（塗り）」の順に左から並べる
- 主要な操作ブロックは白地 ＋ 3px solid #332200 / padding 4px 28px / radius 0 / 18px weight 500
- 入力欄のフォーカスは色を変えず、枠を 2px → 3px に太くして示す
- font-feature-settings は normal（palt は掛けない。約物はフォント側で解決する）
- 負の letter-spacing を使わない。字間は開く方向にだけ動かす
- コンテナ幅は 1128px、読み物カラムは 760px
```
