# DESIGN.md — 資生堂 (shiseido.co.jp)
> このファイルはAIエージェントが正確な日本語UIを生成するためのデザイン仕様書です。
> セクションヘッダーは英語、値の説明は日本語で記述しています。
---
## 1. Visual Theme & Atmosphere
- **デザイン方針**: 1872年創業の老舗化粧品ブランドとしての品格と信頼感。装飾を抑え、シャープな直線と温かみのある中間色で構成された、コーポレートと美容の橋渡し的トーン
- **密度**: 中密度の情報設計。ヒーロー画像とブランド紹介、お知らせ、サービスエントリが整然と並ぶインフォメーション型ホーム
- **キーワード**: 端正、信頼、上品、温かみ、伝統
**設計上のポイント**:
- 角丸を一切使わない(border-radius: 0px がほぼ全要素で徹底)
- テキストカラーが純黒ではなく茶味のあるダークグレー(`#45433e`)で、化粧品ブランドらしい柔らかさを演出
- 強調が必要な箇所のみ「資生堂レッド」`#c80421` を点で配置
---
## 2. Color Palette & Roles
### Brand(ブランドカラー)
- **Shiseido Red** (`#c80421`): 資生堂の象徴的な赤。「大事なお知らせ」見出し、プログレスバー、限定的な強調に使用。広い面には使わず、点で効かせる
- **Brand Text** (`#45433e`): ブランドの基準色。本文・見出し・リンクすべての主軸となる、わずかに茶味を含むダークグレー
### Semantic(意味的な色)
- **Danger / Important** (`#c80421`): 警告・重要なお知らせ。Shiseido Red と同色を流用
- **Warning**: 未定義(実測なし)
- **Success**: 未定義(実測なし)
### Neutral(ニュートラル)
- **Text Primary** (`#45433e`): 本文・見出しの基本色(`rgb(69, 67, 62)`)。純黒を避けた温かみのあるダークグレー
- **Text Inverse** (`#ffffff`): 暗い背景上のテキスト(フッター、グローバルナビの一部)
- **Border / Divider** (`#d3d2cf`): 区切り線、入力欄の枠、サブボタンの境界線(`rgb(211, 210, 207)`)
- **Border Strong** (`#45433e`): 強調されたアウトライン(「ブランド一覧」ボタン等)
- **Background** (`#ffffff`): ページ全体の基本背景
- **Surface Subtle** (`#d3d2cf`): セカンダリボタンの面、控えめな帯背景
- **Footer Background** (`#3d3d3d`): フッターのみ使用される濃いチャコールグレー(`rgb(61, 61, 61)`)
### Quick Swatch
| Token | Value | 役割 |
|-------|-------|------|
| Shiseido Red | `#c80421` | ブランド赤・重要強調 |
| Text / Brand | `#45433e` | テキスト・ボーダー基準 |
| Border Subtle | `#d3d2cf` | 仕切り線・控えめな面 |
| Footer | `#3d3d3d` | フッター背景 |
| White | `#ffffff` | ページ背景・反転テキスト |
---
## 3. Typography Rules
### 3.1 和文フォント
- **ゴシック体**: 游ゴシック体, yugothic, 游ゴシック, Yu Gothic, ヒラギノ角ゴ ProN, Hiragino Sans, Noto Sans JP
- **明朝体**: 使用なし(コーポレートサイトはゴシック体で統一)
### 3.2 欧文フォント
- **サンセリフ**: Inter(最優先で指定)
- **セリフ**: 使用なし
- **等幅**: 未定義
> **Web配信に関する注記(2026-05-05追記)**:
> - `Inter` は Google Fonts で配信されているため、Web フォントとして読み込み可能(推奨: `wght@400;500;600;700`)
> - `游ゴシック体` / `Yu Gothic` は **Web フォントとして配信されていない**。OS インストール済みフォント(macOS の Hiragino, Windows の Yu Gothic)にのみフォールバック
> - 環境を問わず確実に和文を表示したい場合は、`Noto Sans JP`(Google Fonts 配信)を Web フォントとして併読し、フォールバックチェーン末尾の保険として機能させる
> - プレビュー HTML / 実装で Web フォントを使う際は、`` で `Inter` と `Noto Sans JP` の 2 系統を読み込むのが安全
### 3.3 font-family 指定
```css
/* 全要素共通 */
font-family: Inter, 游ゴシック体, yugothic, 游ゴシック, "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", sans-serif;
```
**フォールバックの考え方**:
- `Inter`(オープンソースの欧文サンセリフ)を最優先で指定し、欧文表示の品質と統一感を確保
- 続けて 游ゴシック系(Mac/Windows 両対応)を厚く積む
- Mac には `ヒラギノ角ゴ ProN` / `Hiragino Sans` を保険として配置
- 最後は Web フォントの `Noto Sans JP`、generic は `sans-serif`
- 明朝体やセリフは使用しない(コーポレート+EC的な機能性を優先)
### 3.4 文字サイズ・ウェイト階層
実測値に基づく主要階層(トップページ計測):
| Role | Selector / Context | Size | Weight | Line Height | Letter Spacing | 備考 |
|------|--------------------|------|--------|-------------|----------------|------|
| Heading 1 | `h1`(header) | 28px | 700 | 33px (×1.18) | normal | ロゴ近傍の最上位見出し |
| Heading 2 (lead) | `h2.service__lead` 相当 | 22px | 700 | 32px (×1.45) | normal | サービス紹介リード |
| Heading 2 (alert) | `h2.attention__title` | 22px | 700 | 30px (×1.36) | normal | 「大事なお知らせ」赤色 `#c80421` |
| Heading 2 (news) | `h2.news__title` | 22px | 700 | 22px (×1.0) | normal | 「INFORMATION」等の英大文字 |
| Heading 2 (section) | `h2`(main) | 21px | 700 | 26px (×1.24) | normal | 一般的なセクション見出し |
| Heading 2 (aside) | `h2.info__title` | 18px | 700 | 18px (×1.0) | normal | サイドカラム見出し |
| Heading 3 | `h3.service-s__title` | 18px | 700 | 22px (×1.22) | normal | サブサービス見出し |
| Heading 3 (small) | `h3.service__content__title` | 16.38px | 700 | 21.38px (×1.305) | normal | コンテンツ小見出し |
| Heading 4 | `h4.service__sub__title` | 18px | 700 | 22px (×1.22) | normal | 「商品カタログ」等 |
| Body | `body` / `p` / `a` / `li` | 14px | 400 | 21px (×1.5) | normal | サイト全体の標準本文 |
| Body Emphasis | `p.service__text` | 16px | 500 | 24px (×1.5) | normal | サービス本文(やや強め) |
| Body Link (alert) | `a` 重要リンク | 16px | 500 | 22px (×1.375) | normal | 「自主回収に関するお詫び…」等 |
| List Item (alert) | `li` 重要リンク | 16px | 500 | 22px (×1.375) | normal | お知らせリスト内の強調項目 |
| Caption | `p`(small) | 12px | 500 | 18px (×1.5) | normal | 「お買い物に使えるポイント…」等 |
| Pagination | `span.swiper-pagination-current` | 16px | 600 | 16px (×1.0) | normal | スライダーのカウンター |
| Button (primary) | `button`(main) | 16px | 700 | 18px (×1.125) | normal | 「新着情報」等のタブボタン |
| Button (secondary) | `button.gray` 相当 | 16px | 500 | 18px (×1.125) | normal | 「資生堂グループ情報」等 |
| Button (outline) | `button` 細枠 | 14px | 400 | 21px (×1.5) | normal | 「さらに見る」等 |
> 算出: `line-height` の比率 = `行送り px / フォントサイズ px`。資生堂は本文系がほぼ **1.5**、見出し系が **1.0〜1.45** に収束する設計。
### 3.5 行間・字間
- **本文の行間 (line-height)**: 1.5(14px / 21px)でほぼ統一。日本語サイトとしてはやや控えめでコンパクト寄り
- **見出しの行間**: 見出しサイズによって 1.0〜1.45。短いラベル系(INFORMATION, お客さまへのお知らせ)は 1.0、リード文は 1.36〜1.45
- **本文の字間 (letter-spacing)**: `normal`(グローバルに `normal`。実測でも個別オーバーライドなし)
- **見出しの字間**: `normal`
**ガイドライン**:
- letter-spacing を意図的に詰めたり広げたりしない。和文の自然なメトリクスをそのまま使う設計
- 行間 1.5 は欧文寄りの設定。情報量の多いコーポレートサイトとして読みやすさより一覧性を優先
- 商品紹介や読み物コンテンツに展開する場合は、本文に `line-height: 1.7〜1.9` を別途設定するのが望ましい
### 3.6 禁則処理・改行ルール
```css
/* 推奨設定(実測ではグローバルな指定なし、ブラウザデフォルト) */
word-break: normal;
overflow-wrap: break-word;
line-break: strict;
```
**禁則対象**:
- 行頭禁止: `)」』】〕〉》、。,.・:;?!`
- 行末禁止: `(「『【〔〈《`
### 3.7 OpenType 機能
```css
font-feature-settings: normal; /* palt 等の指定なし */
```
- **palt**: 使用していない(実測値はすべて `normal`)。プロポーショナル字詰めを適用しない、素直な等幅組版
- **kern**: ブラウザの自動カーニングのみ
- 化粧品ブランドではあるが、コーポレートサイトとしては装飾的なフォント機能を抑制
### 3.8 縦書き
該当なし
---
## 4. Component Stylings
### Buttons
**Primary(白地・タブ的ボタン)**
- Background: `#ffffff`
- Text: `#45433e`
- Padding: 実測値なし(要素ごとに調整)
- Border Radius: `0px`
- Font Size: 16px
- Font Weight: 700
**Secondary(グレー塗り)**
- Background: `#d3d2cf`
- Text: `#45433e`
- Border: なし
- Border Radius: `0px`
- Font Size: 16px
- Font Weight: 500
**Outline(細枠)**
- Background: `transparent`
- Text: `#45433e`
- Border: `1px solid #d3d2cf`
- Border Radius: `0px`
- Font Size: 14px
- Font Weight: 400
**Outline Strong(強い枠)**
- Background: `#ffffff`
- Text: `#45433e`
- Border: `1px solid #45433e`
- Border Radius: `0px`
- Font Size: 14px
- Font Weight: 400
- 「ブランド一覧」等の重要導線で使用
### Inputs
トップページでは `` `