# DESIGN.md — 鶴屋吉信(つるやよしのぶ) > 享和3年(1803年)創業、京都・西陣の京菓匠 鶴屋吉信の公式サイト(https://www.tsuruyayoshinobu.jp/)のデザイン仕様書。 > 「『ヨキモノ』を創る」を掲げ、代表銘菓「柚餅」「京観世」「つばらつばら」を軸に、直営店・茶寮・オンラインショップを案内する。 > 最大の特徴は **見出しに DNP 秀英明朝 Pr6N、本文にシステムフォント**という**明朝+システムゴシックの二層構造**。和文 Web フォントを本文に使わず、**見出しだけを明朝で立てる**。 > そして **`letter-spacing` がほぼ全テキストで `0.09375em`(= 3/32)に固定**されている。**サイズが変わっても字間比率が変わらない**、極めて統率された組版。 > 色は **黒と白の 2 色のみ**。有彩色は「ページの先頭へ戻る」の `#666666` すら含めて事実上ゼロで、**面は写真が担い、UI は 1px の黒罫だけで区切る**。 > 影は **`em` 基準**で書かれており、**文字サイズに追従して大きさが変わる**(PC 実測で 9px〜40.5px のバリエーション)。 > 実サイトの computed style 実測(2026-08-18 取得。トップページ + 店舗を探すページ)に基づく。 --- ## 1. Visual Theme & Atmosphere - **デザイン方針**: **菓子の写真を主役に置き、文字は明朝で静かに添える**。UI 部品を持たず、罫線と余白だけで構造を作る - **鶴屋吉信について**: 220 年余りの京菓子屋。**淡い水色・生成りの背景で撮られた菓子写真**がサイトの色そのもので、CSS 側は色を持たない - **密度**: 低密度・カタログ型。1 セクション 1 テーマで、**左右 70px の内側パディング**を取って窮屈にしない - **キーワード**: DNP 秀英明朝 Pr6N、システムフォント本文、ls 0.09375em、黒白 2 色、1px の黒罫、em 基準の影、radius 0 - **特徴**: - **見出しは明朝、本文はゴシック**。見出し・ナビ・ボタンラベルは `dnp-shuei-mincho-pr6n`(Adobe Fonts)、本文・キャプション・ニュースは `-apple-system, "system-ui", Arial, sans-serif`。**和文の Web フォントは明朝 1 書体だけ** - **`letter-spacing` が全サイズで `0.09375em`**。36px → 3.375px、24px → 2.25px、20px → 1.875px、17px → 1.59375px、15px → 1.40625px、14px → 1.3125px。**すべて同じ比率**。日本語サイトでこの精度で字間を統一している例は珍しい - **秀英明朝を weight 400 / 500 / 600 の 3 段階で使う**。見出しは 400、店名・リンクは 500。**700 を使わない**ため、明朝の細さが保たれる - **色を持たない**。CSS 変数は無く、実測で現れる色は `#000000` `#ffffff` `#666666`(TOP へ戻るボタン)`rgba(0,0,0,.07)`(入力欄の面)`rgba(0,0,0,.25)`(淡い罫)だけ - **`border-radius` は事実上 0**。実測で radius を持つのは 2px が 2 箇所のみ。ボタン・カード・画像すべて角のまま - **バッジが「面」ではなく「下線」**。ニュースのカテゴリ(トピックス/イベント/店舗/重要)は **10.5px のテキストに `border-bottom: 1px solid #000`** を引くだけ。塗りチップを使わない - **影が `em` 基準**。`0 0 1em rgba(0,0,0,.05), .27em .27em .33em rgba(0,0,0,.075)` 相当の **2 枚重ね**で、**要素の font-size に比例して影のサイズが変わる** - **ブレークポイントが 1024px と 1280px の 2 つだけ**(モバイルファースト)。コンテナ最大幅は **1600px** と広い - **文中リンクは `text-decoration: underline`**。ニュース見出しはすべて素の下線で示す --- ## 2. Color Palette & Roles > CSS Custom Properties は定義されていない。すべて直値。実装側で変数化する場合は以下の名前を使う。 ### Base(サイトの色はこれだけ) - **Ink** (`#000000`): **本文・見出し・罫線のすべて**。鶴屋吉信は**純黒**を使う(グレーに逃がさない) - **Paper** (`#ffffff`): ページ地色・カードの面・ヘッダーの面 ### Neutral(数少ない中間色) - **Gray Button** (`#666666`): **「ページの先頭へ戻る」の面だけ**に使う。サイトで唯一の「塗られた UI」 - **Field** (`rgba(0, 0, 0, .07)`): 検索入力欄の面。**枠線ではなく薄い面で入力欄を示す** - **Hairline Soft** (`rgba(0, 0, 0, .25)`): 淡い区切り罫(8 箇所) - **Hairline** (`#000000` / 1px): **主役の罫線**(72 箇所)。セクションの区切り・バッジの下線・カードの境界すべてがこれ ### Photo(色は写真が持つ) - サイトの印象色(**淡い水色 `#d9ebee` 付近、生成り `#f6f1e4` 付近**)は**すべて商品写真の背景**であって、CSS の値ではない - **実装で「ブランドカラー」を CSS に起こさないこと**。面を塗りたくなったら、まず写真を敷けないか考える ### Semantic(意味的な色) - 意味色は**定義されていない**。「重要」というニュースカテゴリすら**黒+下線**で表す - 実装でエラー表示等が必要な場合も、**赤を足すより「太らせる/罫で囲む」を優先**する。どうしても必要なら `#b00` 程度の低彩度に留める --- ## 3. Typography Rules > **見出し=秀英明朝(Web フォント)/本文=システムフォント**の二層構造。**字間は全サイズ 0.09375em で固定**。`palt` は使わない。 ### 3.1 和文フォント - **明朝体**: **DNP 秀英明朝 Pr6N**(`dnp-shuei-mincho-pr6n` / Adobe Fonts) - 見出し(h2 / h3)、ナビゲーション、店名、リンクラベルに使う - **weight は 400 / 500 / 600 の 3 つを読み込む**。実測で使われているのは **400(大見出し)と 500(小見出し・リンク・店名)** - **ゴシック体**: **和文の Web フォントを持たない**。`-apple-system, "system-ui", Arial, sans-serif` で **OS の既定和文(macOS: ヒラギノ角ゴ / Windows: 游ゴシック等)にそのまま落とす** - **明朝を「読ませる本文」には使わない**。秀英明朝は**見出し・固有名詞・リンクラベル**に限定し、説明文はゴシックで組む ### 3.2 欧文フォント - **セリフ**: 秀英明朝スタックの 2 番目に **Georgia** を置く。「IRODORI」「TOKYO MISE」「tubara cafe」等の欧文店名は **Georgia で組まれる** - **サンセリフ**: `-apple-system` → `system-ui` → **Arial**。本文中の英数字はここに落ちる - 等幅フォントの指定はない ### 3.3 font-family 指定 ```css /* 見出し・ナビ・店名・リンクラベル(明朝) */ font-family: dnp-shuei-mincho-pr6n, Georgia, "Yu Mincho", "Hiragino Mincho ProN", YuMincho, serif; /* 本文・キャプション・ニュース(システムフォント) */ font-family: -apple-system, "system-ui", Arial, sans-serif; /* グローバル */ letter-spacing: .09375em; /* ★ サイズを問わずこの比率 */ font-feature-settings: normal; /* palt は使わない */ ``` **フォールバックの考え方**: - **明朝は「欧文 → 和文」の順**。`dnp-shuei-mincho-pr6n`(和欧両方を持つ)→ **Georgia**(欧文セリフ)→ `Yu Mincho` / `Hiragino Mincho ProN` / `YuMincho` → `serif` - **Georgia を 2 番目に置く**ことで、Adobe Fonts が落ちても**欧文だけは端正なセリフを維持する** - ヒラギノは **ProN**(Pro ではない) - **ゴシックは OS 任せ**。游ゴシックやヒラギノを名指しせず、`-apple-system` / `system-ui` に委ねる**軽量志向**。写真の読み込みを優先する判断 - Adobe Fonts が使えない環境では、**秀英明朝の代替に Shippori Mincho / Zen Old Mincho** を置くと印象が近い(`Noto Serif JP` は字面が大きく、やや現代的になる) ### 3.4 文字サイズ・ウェイト階層 | Role | Font | Size | Weight | Line Height | Letter Spacing | 備考 | |------|------|------|--------|-------------|----------------|------| | Page Title | **明朝** | **42px** | 400 | 1.5 (63px) | **0.09375em (3.94px)** | 下層ページの見出し「店舗を探す」 | | Section Head | **明朝** | **36px** | 400 | 1.5 (54px) | **0.09375em (3.375px)** | 「特集」「ロングセラー・定番」「直営店」 | | Sub Head | **明朝** | 24px | 400 | 1.5 (36px) | 0.09375em (2.25px) | 「ご利用用途」 | | Store Name (on photo) | **明朝** | 22px | **500** | 1.2 (26.4px) | **0.136em (3px)** | 白文字で写真に重ねる店名 | | Card Title | **明朝** | 20px | **500** | 1.0–1.2 (20–24px) | 0.09375em (1.875px) | 「本蕨」「鶴屋吉信」 | | Nav / Link | **明朝** | 18px | **500** | 1.3 (23.4px) | 0.09375em (1.6875px) | 「公式オンラインショップでお買い物」 | | Small Head | **明朝** | 17–18px | **500** | 1.2 (20.4–21.6px) | 0.03125–0.09375em | 「創立/創業/周年記念」「オリジナル焼印」 | | News Title | ゴシック | 17px | 400 / **600** | **1.71 (29.14px)** | 0.09375em (1.59375px) | 「直営店舗の営業日時のお知らせ」 | | Body | ゴシック | 16px | 400 | 1.0 (16px) | normal | `body` 既定(実質リセット用) | | Store Row | ゴシック | 15px | 400 | 1.29 (19.29px) | 0.09375em (1.40625px) | 店舗一覧の行 | | Text | ゴシック | 14px | 400 | **1.71 (24px)** | 0.09375em (1.3125px) | 商品説明・ニュース本文 | | Meta | ゴシック | 14px | **600** | 1.2 (16.8px) | 0.09375em | 「すべての特集」「すべての最新情報」 | | Copyright | ゴシック | 14px | **600** | 1.0 (14px) | 0.0625em (0.875px) | © 2026 Tsuruya Yoshinobu | | Chip Label | ゴシック | 13px | **600** | 1.5 (19.5px) | 0.09375em | 「関西」「関東」「都道府県で探す」 | | Sub Label | ゴシック | 12.75px | 400 | 1.71 (21.86px) | 0.125em (1.59375px) | 「ご来店のお客様へ」 | | Category Tag | ゴシック | **10.5px** | 400 | 1.7 (17.85px) | **0.125em (1.3125px)** | 「トピックス」「イベント」。**下線付き** | - **明朝側は 400 と 500 だけ**。600 は読み込まれているが実測では現れない - **ゴシック側は 400 と 600**。**700 を使うのは prefecture 見出し(14.4px / 700 / 黒地に白)1 箇所だけ** - **行間は 1.5(明朝の見出し)と 1.71(ゴシックの本文)の 2 系統**。書体で行間を切り替えている ### 3.5 行間・字間 - **字間は `0.09375em`(= 3/32)が全体の基準**。36px の見出しから 10.5px のタグまで、**同じ比率で組む** - 例外 1: **写真に重ねる店名は 0.136em(3px / 22px)** — さらに開く - 例外 2: **カテゴリタグ・小ラベルは 0.125em** — 小さい文字はやや強めに開く - 例外 3: **`body` と汎用リンクは `normal`** — スタイルが当たっていない素の状態 - **明朝の見出しは行間 1.5**、**ゴシックの本文は 1.71** - **写真に重ねる店名だけ行間 1.2** に詰める(2 行組を想定) - `palt` は使わない **ガイドライン**: - **字間を「px で覚えない」**。0.09375em という**比率**で持ち、サイズが変わっても自動追従させる - **明朝に太いウェイトを当てない**。500 までに留めることで、220 年の店の落ち着きが保たれる - **本文を明朝にしない**。読ませる文はシステムゴシック、見出しは明朝、という役割分担を守る ### 3.6 禁則処理・改行ルール ```css overflow-wrap: break-word; word-break: normal; line-break: strict; ``` **禁則対象**: - 行頭禁止: `)」』】〕〉》、。,.・:;?!` - 行末禁止: `(「『【〔〈《` - 「【募集終了】」「『ヨキモノ』」のような**隅付き括弧・二重かぎ括弧が頻出**する。`word-break: break-all` は使わない - 「京観世・観世井」「創立/創業/周年記念」のように**中黒とスラッシュで並記**する見出しが多い。**スラッシュの前後で折り返させない** - 「IRODORI 京都駅八条口」「tubara cafe」など**欧文店名 + 和文地名**の組み合わせを割らない ### 3.7 OpenType 機能 ```css font-feature-settings: normal; /* 全ページ共通 */ ``` - **`palt` を掛けない**。秀英明朝の字面をそのまま使い、**開く方向(0.09375em)にだけ調整**する - 明朝で `palt` を有効にすると句読点が詰まりすぎ、**老舗の落ち着いた印象が失われる** ### 3.8 縦書き **縦組みは使わない。** `writing-mode` の指定は全ページで 0 件(ロゴの「鶴屋吉信」は画像)。 --- ## 4. Component Stylings > **塗りボタンがほぼ存在しない**。ボタンは「テキスト + 罫線」でできている。 ### Buttons **Text Button(サイトの標準)** - Background: `#ffffff`(=地色。実質塗らない) - Text: `#000000` - Border: なし(親ブロックの 1px 罫で囲む) - Border Radius: **`0`** - Padding: `14px 17.5px`(「すべての特集」「すべての最新情報」) - Font: ゴシック 14px / **600** / ls 0.09375em **Chip Button(絞り込み)** - Background: `#ffffff` / Text: `#000000` / Border Radius: `0` - Padding: `9.75px 6.5px`(トップ) / `15px 30px`(店舗ページ) - Font: ゴシック 13〜15px / **600** / ls 0.09375em - 例: 「関西」「関東」「都道府県で探す」「個人のお客様」「法人・団体のお客様」 **Prefecture Header(サイト唯一の黒ベタ)** - Background: **`#000000`** / Text: `#ffffff` - Border Radius: `0` / Padding: `10.8px` - Font: ゴシック 14.4px / **700**(サイトで唯一の 700) - 例: 店舗検索結果の「関東」「関西」の帯 **Back to Top(サイト唯一のグレー塗り)** - Background: **`#666666`** / Text: `#ffffff` - Border Radius: `0` / Padding: `9px 18px` - Font: ゴシック 12px / **600** **Mincho Link(明朝のリンク導線)** - Background: `transparent` / Text: `#000000` - Font: **明朝 18px / 500 / lh 1.3 / ls 0.09375em** - Padding: `13.5px 0`(**上下だけ空けて、下に罫を敷く**) - 例: 「公式オンラインショップでお買い物」(ヒーロー右上) ### Badges / Tags(面ではなく下線) **Category Tag** - Background: **なし** - Text: `#000000` - **Border Bottom: `1px solid #000000`** - Padding: `0 5.25px` - Font: ゴシック **10.5px** / 400 / lh 1.7 / **ls 0.125em** - 例: 「トピックス」「イベント」「店舗」「重要」「つばらつばら30周年」「お知らせ」 - **塗りチップを使わない**のが鶴屋吉信のバッジ。**下線 1 本で分類を示す** ### Cards(商品・店舗) - Background: `#ffffff` - Border Radius: **`0`**(**画像も角丸なし**) - Border: 1px solid `#000000`(囲む場合) / 使わない場合は罫で区切るだけ - 構成: 写真 → 商品名(**明朝 20px / 500**)→ 説明(ゴシック 14px / 400 / lh 1.71) - Padding: `0 0 24px`(画像直下に文字を置き、下だけ空ける) - Shadow: 下記 Depth 参照(**em 基準**) ### Inputs - Background: **`rgba(0, 0, 0, .07)`**(**枠線ではなく薄い面で示す**) - Border: なし - Border Radius: `0`(実測 2px が 2 箇所) - Font: 15.2〜16px / 400 / **ls -0.38px(-0.025em。入力欄だけマイナス字間)** - Text: `#000000` - 例: サイト内検索・オンラインショップ検索 - **入力欄だけ字間がマイナス**になる(入力文字を詰めて表示領域を稼ぐ) ### Section Heading(見出しの置き方) - 明朝 36px / 400 / lh 1.5 / ls 0.09375em - **Padding: `0 70px`**(左右に大きく内側余白を取ってから見出しを置く) - 見出しの下に罫を引かず、**余白だけで本文と分ける** --- ## 5. Layout Principles ### Spacing Scale 実測値から起こしたスケール。 | Token | Value | 用途 | |-------|-------|------| | XS | 5px | 店舗リンクのパディング | | S | 12px | カード内の下余白 | | M | 20–25px | ブロックの内側余白 | | L | 40.5px | セクション見出しの左右(SP) | | XL | **54px** | セクションの上余白 | | XXL | **70px** | **見出しブロックの左右パディング(PC)** | - **70px の左右余白**が鶴屋吉信の余裕を作っている。狭めない ### Container - Max Width: **`1600px`**(一般的な 1200px より広い。**写真を大きく見せるため**) - Padding (horizontal): `70px`(見出しブロック) / `40.5px`(SP) - 中央寄せ: `margin-inline: auto` ### Grid - 商品・店舗は **2〜4 カラム**(画面幅に応じて増減) - 罫線は **1px solid #000** で区切る(72 箇所) - **gap ではなく罫で区切る**箇所が多い。カード同士を離しすぎない --- ## 6. Depth & Elevation **影は `em` 基準の 2 枚重ね。要素の font-size に比例して大きさが変わる。** ```css box-shadow: 0 0 1em rgba(0, 0, 0, .05), /* 全方向の淡い滲み */ .267em .267em .333em rgba(0, 0, 0, .075); /* 右下へのわずかなずれ */ ``` | 基準 font-size | 実測される影 | 用途 | |---------------|-------------|------| | 9px | `0 0 9px rgba(0,0,0,.05), 2.4px 2.4px 3px rgba(0,0,0,.075)` | 小さいラベル | | 9.75px | `0 0 9.75px …, 2.6px 2.6px 3.25px …` | 店舗カード | | 10.5px | `0 0 10.5px …, 2.8px 2.8px 3.5px …` | **最頻出(37 箇所)**。商品カード | | 12px | `0 0 12px …, 3.2px 3.2px 4px …` | 特集カード | | 15px | `0 0 15px …, 4px 4px 5px …` | 大きめのカード | | 40.5px | `0 0 40.5px …, 10.8px 10.8px 13.5px …` | **ヒーロー級のブロック** | - **影の色は 2 種類固定**:`rgba(0,0,0,.05)`(滲み)と `rgba(0,0,0,.075)`(ずれ)。**どちらも極めて薄い** - **右下に 0.267em ずらす**のが特徴。真下ではなく斜めに落とす - **`px` で書き直さないこと**。`em` のまま持てば、SP でフォントを縮めたときに影も自動で小さくなる --- ## 7. Do's and Don'ts ### Do(推奨) - **見出しは明朝(秀英明朝)、本文はシステムゴシック**の二層を守る - **`letter-spacing` は `0.09375em` を既定にする**(px ではなく em で持つ) - **明朝のウェイトは 400 / 500 まで**。太らせない - **バッジは塗らず、`border-bottom: 1px solid #000` で示す** - **`border-radius: 0`** を全要素に適用する - **影は `em` 基準の 2 枚重ね**で書く(`0 0 1em rgba(0,0,0,.05), .267em .267em .333em rgba(0,0,0,.075)`) - **入力欄は枠線ではなく `rgba(0,0,0,.07)` の面**で示す - **見出しブロックの左右に 70px の余白**を取る - 色を足したくなったら、**まず写真を敷けないか考える** ### Don't(禁止) - **本文に明朝を使わない**(読み疲れる。明朝は見出し・固有名詞・リンクラベル限定) - **ブランドカラーを CSS に起こさない**。サイトの色味は写真が持っている - **`palt` を掛けない**。字間は開く方向にだけ調整する - **角を丸めない**。ボタン・カード・画像すべて radius 0 - **塗りチップのバッジを作らない**(下線 1 本で示す) - **明朝に `font-weight: 700` を当てない**(合成太字になり字面が潰れる) - **字間を px でハードコードしない**。サイズ違いで比率が崩れる --- ## 8. Responsive Behavior ### Breakpoints | Name | Width | 説明 | |------|-------|------| | Mobile | **< 1024px** | 既定(モバイルファースト)。1 カラム、見出しの左右余白を 40.5px に | | Tablet / Desktop | **≥ 1024px** | `screen and (min-width: 1024px)`。多カラム化 | | Wide | **≥ 1280px** | `screen and (min-width: 1280px)`。見出しの左右 70px、コンテナ 1600px | | Print | `print` | 印刷用スタイルを持つ | - **ブレークポイントは実質 2 つ**。中間の細かい分岐を持たない ### レイアウトの切り替え - 見出しの左右パディング: `70px` → `40.5px` - 商品グリッド: 3〜4 カラム → 2 カラム → 1 カラム - ナビ: 横並び → **全画面メニュー**(「メニュー」「閉じる」は白文字) - **影は `em` 基準なので、フォントを縮めれば自動で小さくなる**(別途の指定不要) ### タッチターゲット - 最小サイズ: 44px × 44px(WCAG基準) - チップボタンの実測は `9.75px 6.5px` パディング+13px。**SP では上下 14px 以上に増やして 44px を確保する** ### フォントサイズの調整 - 見出し: `42px` → 28px、`36px` → 24px 程度 - **本文 14px / lh 1.71 は下げない** - **字間 0.09375em は SP でも維持する**(em 指定なのでそのまま追従する) --- ## 9. Agent Prompt Guide ### クイックリファレンス ``` Text Color: #000000 (純黒を使う) Background: #ffffff Hairline: #000000 1px / 淡い罫は rgba(0,0,0,.25) Field: rgba(0, 0, 0, .07) Gray Button: #666666 (TOP へ戻るのみ) Font (見出し): dnp-shuei-mincho-pr6n, Georgia, "Yu Mincho", "Hiragino Mincho ProN", YuMincho, serif Font (本文): -apple-system, "system-ui", Arial, sans-serif Letter Spacing: .09375em ★全サイズ共通 Line Height: 1.5(明朝の見出し) / 1.71(ゴシックの本文) palt: 使わない Border Radius: 0 Shadow: 0 0 1em rgba(0,0,0,.05), .267em .267em .333em rgba(0,0,0,.075) Container: 1600px / 左右パディング 70px Breakpoint: 1024px, 1280px ``` ### プロンプト例 ``` 鶴屋吉信のデザインシステムに従って、商品一覧セクションを作成してください。 - 見出しは明朝: dnp-shuei-mincho-pr6n, Georgia, "Yu Mincho", "Hiragino Mincho ProN", YuMincho, serif 36px / font-weight: 400 / line-height: 1.5 / letter-spacing: .09375em / padding: 0 70px - 本文はシステムフォント: -apple-system, "system-ui", Arial, sans-serif 14px / 400 / line-height: 1.71 / letter-spacing: .09375em - 商品名は明朝 20px / font-weight: 500(700 は使わない) - カテゴリタグは面を塗らず、10.5px のテキストに border-bottom: 1px solid #000 / padding: 0 5.25px / letter-spacing: .125em - border-radius はすべて 0。色は #000 と #fff のみ(ブランドカラーを追加しない) - カードの影は em 基準: box-shadow: 0 0 1em rgba(0,0,0,.05), .267em .267em .333em rgba(0,0,0,.075) - 検索入力欄は枠線を使わず background: rgba(0,0,0,.07) / letter-spacing: -0.025em - コンテナは max-width 1600px。1024px 未満で 1 カラム、見出しの左右余白を 40.5px に落とす - font-feature-settings は normal(palt を掛けない) ```