← 成果物一覧に戻る

デザインガイドライン

Version 1.0.0 | SB-Ticket(シュートボクシング)

UIガイドライン

プロジェクト: シュートボクシング協会 統合PWAアプリ(SB-Ticket) バージョン: 1.0 作成日: 2026-03-16 ソース: docs/requirements/design-requirements.md, docs/design/design-system.yml


1. 美的方向性

1-1. トーン・ムード

項目方向性
トーンダーク×コンバット — 格闘技ブランドの力強さとモダンさの融合
ムード緊張感・プロフェッショナル・信頼感
世界観格闘技の迫力とエンターテインメント性。試合の熱気をデジタルで体感できるUI

1-2. ビジュアルの柱

1-3. 差別化ポイント

格闘技系チケットサービスとして類を見ない「ダークUI×データ可視化×LP自動生成」の統合体験を提供する。管理画面の洗練されたデータ表示と、LPの迫力あるビジュアルが共存するUIを目指す。


2. タイポグラフィガイドライン

2-1. フォント体系

用途フォントウェイト備考
日本語(見出し・本文)Noto Sans JP400, 500, 700Webフォント。日本語UIの主軸
数値・英語Inter400, 600, 700クライアント指定例外。tabular-numsで数値を等幅に
アイコンLucide IconsSVG形式で軽量

注意: Inter はCCAGI Anti-Patternルールでは禁止フォントだが、クライアント要件定義書にて数値・英語用フォントとして明示的に指定されているため、client-specified exceptionとして採用する。

2-2. サイズスケール

用途サイズフォント使用場面
KPI数値3rem (48px)Inter 700ダッシュボードのKPIカード
ページタイトル (h1)2.5rem (40px)Noto Sans JP 700ページ見出し
セクション見出し (h2)2rem (32px)Noto Sans JP 700セクション区切り
カード見出し (h3)1.5rem (24px)Noto Sans JP 500カードタイトル
サブヘッダー (h4)1.25rem (20px)Noto Sans JP 500サブセクション
リード文1.125rem (18px)Noto Sans JP 400説明文(大)
本文1rem (16px)Noto Sans JP 400通常テキスト
補助テキスト0.875rem (14px)Noto Sans JP 400ラベル・キャプション
極小テキスト0.75rem (12px)Noto Sans JP 400タイムスタンプ・注釈

2-3. 使用ルール


3. カラーガイドライン

3-1. 管理画面(ダークパレット)

管理画面と選手ホームはダークネイビーベースで統一する。

要素カラーHEX用途
背景ダークネイビー#0F1729ページ背景
サーフェスダークスレート#1E293Bカード・パネル・テーブル行
ホバーミディアムスレート#334155インタラクティブ要素のホバー
アクセントブランドレッド#E63946CTA・アクティブタブ・重要数値
テキスト(主)ホワイト#FFFFFF見出し・主要テキスト
テキスト(副)グレー#94A3B8ラベル・補助テキスト
ボーダーダークボーダー#2D3748カード境界線

3-2. 公開ページ(ライトパレット)

ファン向けページはライトテーマで明るく親しみやすい印象にする。

要素カラーHEX用途
背景ライトグレー#F8FAFCページ背景
サーフェスホワイト#FFFFFFカード背景
テキスト(主)ダーク#0F172A主要テキスト
アクセントブランドレッド#E63946購入ボタン・CTA

3-3. プログレスバー色分け

達成率に応じた3段階の色分けを全画面で統一して使用する。

達成率HEX使用場面
80%以上#22C55E順調・支払完了
50〜80%#EAB308注意・要フォロー
50%未満#EF4444危険・エラー・期限切れ

3-4. ステータスバッジカラー

ステータス背景色テキスト色用途
ドラフト#334155#94A3B8LP未公開状態
確認中#EAB308 + 透過#EAB308LP確認中
公開済み#22C55E + 透過#22C55ELP公開中
公開停止#EF4444 + 透過#EF4444LP停止

4. モーションガイドライン

4-1. アニメーションライブラリ

framer-motion を使用する。全アニメーションは200ms以内を基本とする。

4-2. パターン一覧

パターン実装方法用途
カウントアップframer-motion animate + useInViewKPIカードの数値表示時
フェードインopacity: 0 → 1, duration: 200msスケルトンからデータ表示への切り替え
スライドオーバーx: "100%" → "0%", duration: 300ms選手詳細パネル(右からスライド)
スケルトンスクリーンpulse アニメーションデータ読み込み中の枠表示
プログレスバーwidth: 0 → N%, duration: 500ms, ease: easeOut達成率の視覚的表現
トーストy: 100 → 0, opacity: 0 → 1成功/エラー/Undo通知
モーダルscale: 0.95 → 1, opacity: 0 → 1確認ダイアログ・LP生成プレビュー
タブ切り替えレッドアンダーラインの layoutId アニメーション試合選択タブ

4-3. Undoトースト

破壊的操作(削除・公開停止など)実行時に3秒間Undoトーストを表示する。

[操作名]を実行しました  [元に戻す]  ━━━━━━━━ (3秒タイマー)

4-4. カウントアップアニメーション

KPIカードの数値はページ表示時にカウントアップアニメーションで表示する。

4-5. 禁止事項


5. コンポーネントパターン

5-1. KPIカード

ダッシュボード最上部に配置する最重要コンポーネント。

┌──────────────────────────────┐
│  直近試合 総販売枚数          │
│  ┌─────────────────────┐     │
│  │    1,247 枚         │     │  ← Inter 700 / 48px / カウントアップ
│  │    ▲ +12% (前回比)  │     │  ← 緑矢印 or 赤矢印
│  └─────────────────────┘     │
│  更新: 2026-03-16 15:30      │  ← 補助テキスト / 14px
└──────────────────────────────┘

5-2. プログレスバー付きデータテーブル

販売状況テーブルでは各行にプログレスバーを組み込む。

| 選手名       | ノルマ | 販売数 | 達成率     |
|-------------|--------|--------|-----------|
| 笠原 直樹    |   30   |   28   | ███████▓░ 93% (緑) |
| 鈴木 一郎    |   25   |   15   | ██████░░░ 60% (黄) |
| 田中 太郎    |   20   |    5   | ██░░░░░░░ 25% (赤) |

5-3. スライドオーバーパネル

選手カードクリック時に右からスライドして表示する詳細パネル。

5-4. コマンドパレット(⌘K)

⌘K でオーバーレイ表示される検索パレット。

┌──────────────────────────────────────┐
│  🔍 試合・選手・LPを検索...          │
│─────────────────────────────────────│
│  最近の操作                          │
│  ● SHOOT BOXING 2026 act.2          │
│  ● 笠原 直樹                        │
│  ● LP: SHOOT BOXING 2026 act.1     │
│─────────────────────────────────────│
│  アクション                          │
│  ⌘N  新しい試合を作成               │
│  ⌘G  LP生成                        │
└──────────────────────────────────────┘

5-5. LPインラインエディタ

LPプレビュー画面でテキストをクリックすると、その場で編集できるインラインエディタ。

5-6. LPステータスカード

LP管理ショートカットで使用するカード。

┌──────────────────────────────┐
│  SHOOT BOXING 2026 act.2     │
│  2026/04/15 後楽園ホール      │
│  ┌────────┐                  │
│  │ 公開済み │ ← ステータスバッジ(緑)
│  └────────┘                  │
│  LP閲覧数: 3,456             │
│  LP経由購入: 28枚            │
│  [プレビュー] [編集] [停止]   │
└──────────────────────────────┘

6. ページ別ガイドライン

6-1. 協会管理者ダッシュボード

6-2. 選手ホーム

6-3. 公開ページ(ファン向け)

6-4. 試合LP(自動生成)


7. アンチパターン(禁止事項)

以下のパターンは本プロジェクトでは使用禁止とする。

カテゴリ禁止パターン理由
カラー紫グラデーション on 白背景AI slop — 格闘技ブランドの世界観と合わない
エフェクト過剰なドロップシャドウ(多重シャドウ)AI slop — カードシャドウは指定値のみ
エフェクトグロー効果(neon glow)AI slop — ダークUIの視認性を損なう
エフェクトぼかし(backdrop-blur多用)パフォーマンス低下の原因
レイアウト予測不能なレイアウト変更ユーザビリティの低下
アニメーション1秒超のアニメーションユーザーの待機時間増加
アニメーションレイアウトプロパティのアニメーションパフォーマンス低下(リフロー発生)
タイポグラフィRoboto / Arial の使用ブランドフォントはNoto Sans JP + Interに統一

注意: Inter はクライアント要件により例外的に許可しているが、数値・英語表示以外での使用は禁止する。日本語テキストには必ずNoto Sans JPを使用すること。


8. アクセシビリティガイドライン

項目基準
WCAG準拠レベルAA
コントラスト比4.5:1以上(通常テキスト)、3:1以上(大テキスト)
タッチターゲット最小44px × 44px
キーボード操作全主要操作でキーボードナビゲーション対応
スクリーンリーダー全インタラクティブ要素に適切な aria-label を設定
フォーカスリングフォーカス状態を視覚的に明示する(ブランドレッドのアウトライン)
減モーションprefers-reduced-motion を尊重し、アニメーションを無効化する

Generated by CCAGI SDK Phase 2 - 2026-03-16 Source: docs/requirements/design-requirements.md