# 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弾は吉本隆明『言葉からの触手』`)。**全角スペースの直後で折る**のは可、二重鉤括弧 `『』` の直前では折らない - **キャッチコピーは意図した位置で改行させる**(`文化を喫する、` / `入場料のある本屋。`)。`
` を打つか `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 以上の余白を取る**。密度を上げない - **キャッチコピーは意図した位置で改行させる**(`
` か `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 つ入れない - キャッチコピーは
か max-width で意図した位置に改行させる(自動折り返しに任せない) - ページの最後は、アプリコット #fdeadf の帯(上下 padding 118px)に ロゴだけを中央に置いて閉じる - コンテナ幅は 1320px、読み物カラムは 720px ```