CastMatrix

デザイン・カスタマイズ

デザイン概要・レイアウトカスタマイズ


このドキュメントでできること

  • 現状のレイアウト構造を理解する
  • ブランドカラー・フォントを変更する
  • ナビゲーションの項目を変更する
  • 大きくレイアウトを変更するパターンを知る

現状のレイアウト構造

モバイル(スマートフォン)

┌────────────────────────────┐  ← 固定ヘッダー(スクロールしても追従)
│  ロゴ / 店舗名      ☎ 住所 │
│                      [≡]   │  ← ハンバーガーボタン
├────────────────────────────┤
│  ▼ メニュー(タップで開閉)│  ← 展開時のみ表示
├────────────────────────────┤
│                            │
│       メインコンテンツ      │
│                            │
└────────────────────────────┘
                          [LINE] ← 右下フローティング

PC(768px 以上)

┌────────────────────────────┐
│  ロゴ / 店舗名      ☎ 住所 │  ← ヘッダー(固定なし)
├────────────────────────────┤
│ トップ│出勤表│在籍│ランク…│  ← 横並びナビゲーション
├────────────────────────────┤
│                            │
│   メインコンテンツ(最大    │
│   1152px / max-w-6xl)     │
│                            │
└────────────────────────────┘

主要ファイルと担当箇所

変更したい箇所 対象ファイル
ブランドカラー・フォント frontend/tailwind.config.mjs
ヘッダー(ロゴ・電話番号エリア) frontend/src/components/SiteHeader.astro
ナビゲーション項目 frontend/src/lib/site-nav.ts
ナビゲーションのデザイン frontend/src/components/SiteNav.astro
全ページ共通(body・フォント・LINE ボタン) frontend/src/layouts/BaseLayout.astro
キャストカード frontend/src/components/CastCard.astro
トップページ frontend/src/pages/home.astro
キャスト一覧 frontend/src/pages/casts/index.astro
キャスト詳細 frontend/src/pages/casts/[id].astro

ブランドカラーの変更

frontend/tailwind.config.mjs を開いてください。

// frontend/tailwind.config.mjs
export default {
  theme: {
    extend: {
      colors: {
        brand:      '#c8a96e',   // ← メインカラー(ゴールド系)
        'brand-dark': '#b8975a', // ← ホバー時の濃い色
      },
    },
  },
}

brand を好みの色に変えると、ナビゲーションのアクティブ色・NEW バッジ・LINE ボタン以外のブランド箇所がすべて変わります。

カラー変更の例

テーマ brand brand-dark
ゴールド(デフォルト) #c8a96e #b8975a
ピンク系 #e8829a #d06882
紫系 #9b59b6 #7d3c98
黒系ラグジュアリー #1a1a2e #0f0f1a

フォントの変更

フォントは2箇所を変更します。

1. BaseLayout.astro — Google Fonts の読み込み

<!-- frontend/src/layouts/BaseLayout.astro -->
<!-- 変更前 -->
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap" rel="stylesheet" />

<!-- 変更後の例(游ゴシック + 見出し用セリフ体) -->
<link href="https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;700&display=swap" rel="stylesheet" />

2. tailwind.config.mjs — フォントファミリーの指定

fontFamily: {
  // 変更前
  sans: ['Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Meiryo', 'sans-serif'],

  // 変更後の例
  sans: ['Shippori Mincho', 'Hiragino Mincho ProN', 'serif'],
},

ナビゲーション項目の変更

frontend/src/lib/site-nav.ts を編集します。

// frontend/src/lib/site-nav.ts
export const SITE_NAV = [
  { href: '/home',     label: 'トップ' },
  { href: '/schedule', label: '出勤表' },
  { href: '/casts',    label: '在籍一覧' },
  { href: '/ranking',  label: 'ランキング' },
  { href: '/system',   label: '料金・案内' },
  { href: '/coupon',   label: 'クーポン' },
]
  • 項目を追加する: 配列に { href: '/pages/access', label: 'アクセス' } を追加(/pages/スラッグ はフリーページ)
  • 項目を削除する: 該当行を削除
  • ラベルを変える: label の文字列を変更
  • 順番を変える: 配列の並び順がそのままナビの順番

ページ背景色の変更

frontend/src/layouts/BaseLayout.astro<body> タグを変更します。

<!-- 変更前(薄いグレー) -->
<body class="bg-gray-50 font-sans text-gray-900 min-h-dvh flex flex-col">

<!-- 変更後の例(白) -->
<body class="bg-white font-sans text-gray-900 min-h-dvh flex flex-col">

<!-- 変更後の例(黒・ダーク系テーマ) -->
<body class="bg-gray-950 font-sans text-gray-100 min-h-dvh flex flex-col">

キャストカードの列数変更

キャスト一覧ページ(frontend/src/pages/casts/index.astro)の grid-cols-3 を変えます。

<!-- 変更前(3列) -->
<div class="grid grid-cols-3 gap-2">

<!-- 2列にする -->
<div class="grid grid-cols-2 gap-3">

<!-- 4列にする(カードが小さくなります) -->
<div class="grid grid-cols-4 gap-2">

<!-- スマホ2列・PC4列のレスポンシブ -->
<div class="grid grid-cols-2 md:grid-cols-4 gap-2">

大きなレイアウト変更パターン

パターン A: 全幅ヒーロー画像トップページ

トップページ(home.astro)に大きなビジュアルを追加する例。

<!-- home.astro の先頭に追加 -->
<div class="relative w-full h-[60vw] max-h-[420px] overflow-hidden">
  <img
    src="/hero.jpg"
    alt="店舗イメージ"
    class="w-full h-full object-cover object-center"
  />
  <!-- 半透明オーバーレイとキャッチコピー -->
  <div class="absolute inset-0 bg-black/40 flex flex-col items-center justify-center text-white text-center px-4">
    <p class="text-2xl font-bold tracking-widest mb-2">最高の時間をあなたに</p>
    <a href="/casts" class="mt-4 px-6 py-2 border border-white rounded-full text-sm hover:bg-white hover:text-black transition-colors">
      在籍キャストを見る
    </a>
  </div>
</div>

パターン B: PC 2カラムレイアウト(サイドバーあり)

デスクトップでメインコンテンツとサイドバーを横並びにする例。

<!-- home.astro の全体を <div class="md:flex ..."> で囲む -->
<div class="md:flex md:gap-6 md:px-4 md:max-w-6xl md:mx-auto md:py-4">

  <!-- メインエリア -->
  <div class="md:flex-1 min-w-0">
    <!-- 既存のキャストグリッドなど -->
  </div>

  <!-- サイドバー(PC のみ表示) -->
  <aside class="hidden md:block md:w-64 shrink-0 space-y-4">
    <div class="bg-white rounded-lg shadow p-4">
      <h2 class="font-bold text-sm mb-2">営業時間</h2>
      <p class="text-sm text-gray-600">{shop.business_hours}</p>
    </div>
    <div class="bg-white rounded-lg shadow p-4">
      <h2 class="font-bold text-sm mb-2">お知らせ</h2>
      <!-- news リスト -->
    </div>
  </aside>

</div>

パターン C: ダーク系テーマ(黒背景)

全体をダークテーマにする最小変更セット。

1. BaseLayout.astro の body を変更

<body class="bg-gray-950 font-sans text-gray-100 min-h-dvh flex flex-col">

2. SiteHeader.astro のヘッダー背景を変更

<!-- 変更前 -->
<header class="bg-white border-b border-gray-200">

<!-- 変更後 -->
<header class="bg-gray-900 border-b border-gray-700">

3. SiteNav.astro のナビ背景を変更

<!-- PC nav 変更前 -->
<nav class="hidden md:block bg-gray-100 border-b border-gray-200">

<!-- PC nav 変更後 -->
<nav class="hidden md:block bg-gray-800 border-b border-gray-700">

4. CastCard.astro のカード背景を変更

<!-- 変更前 -->
<a href={`/casts/${id}`} class="block bg-white rounded-lg ...">

<!-- 変更後 -->
<a href={`/casts/${id}`} class="block bg-gray-800 rounded-lg ...">


AI エージェントでデザインを一括適用する

個別のカスタマイズではなく、サンプルデザインをベースにフロントエンド全体を一度に作り直したい場合は、同梱の デザイン参考ファイル を使って AI エージェントに指示できます。サンプルデザインはデモサイトに適用のデザインです。

サンプルデザインファイル

docs/08-design/design-base.md

このファイルには以下が含まれています:

内容 詳細
AI エージェント向けプロンプト そのままコピーして使えるワンショット指示文
ページ全体のレイアウト構造 セクション配置・2カラム比率・グリッド列数
セクション別 UI 仕様 ヘッダー・ヒーロー・出勤表・ピックアップ等の詳細
セラピストカード variant schedule / pickup / list の出し分け仕様
カラー・タイポグラフィ 白基調・Cabin 英字見出し・ゴールド系アクセント
CastMatrix 実装チェックリスト テンプレート側を変更する際の確認点

使い方

  1. docs/08-design/design-base.md を開く
  2. 冒頭の「AIエージェント向けプロンプト」セクションにあるプロンプトをコピーする
  3. Claude Code(またはお使いの AI エージェント)に貼り付けて実行する
# プロンプト例(design-base.md 冒頭に掲載)
このリポジトリ内のフロントエンド(frontend/)のデザインをアップデートしたいです。
【参考資料】docs/08-design/design-base.md を読み...(以下略)