🎯 このガイドの目的

既存の「コーディングルール」「モバイル最適化」「画像最適化」を補完する、レスポンシブLP制作に特化した実践ガイドです。
デザイン判断、スペーシング、レイアウトの具体的な数値と判断基準を提供します。

1. ブレークポイント標準化

必須ブレークポイント

ブレークポイント デバイス 用途
デフォルト(1201px以上) デスクトップ PC表示
@media (max-width: 1200px) タブレット・小型PC モバイルレイアウト切替
@media (max-width: 768px) タブレット縦・スマホ横 スペーシング縮小
@media (max-width: 480px) スマホ縦 極小画面調整

プロジェクト固有ブレークポイント

  • ヘッダーメニュー切替: 1135px (ロゴ+メニュー項目の実測値から決定)
  • 中間レイアウト: 1610px (カード2列表示等、必要に応じて)

重要: HTML Critical CSSとrenewal.cssで同じ値を使用すること。

2. スペーシング設計原則

基本単位(CSS変数化推奨)

変数名 px換算
--space-xs0.5rem8px
--space-sm0.75rem12px
--space-md1rem16px
--space-lg1.5rem24px
--space-xl2rem32px
--space-2xl2.5rem40px
--space-3xl3rem48px

レスポンシブスペーシングの法則

画面サイズ padding-top タイトル下 カード間 カードグリッド下 下部余白
PC(1201px+) 8rem 2.5rem 1rem 1.5rem -
タブレット(769-1200px) 120px 2.5rem 1rem 1.8rem 40px
スマホ(768px以下) 110px 2rem 0.75rem 1.5rem 40px

ルール: 大→小で余白を縮小。重要要素(タイトル下、CTA前)は余白を確保。下部余白は必ず40px以上。

エディトリアル・タイポグラフィ(文字組み・改行)について

特有の行間(2.1〜)や文字間隔、およびスマホ表示での厳格な改行分離ルール(br禁止)については、「One Source of Truth」の原則に則り、以下のガイドに一元管理しています。
👉 📱 モバイル最適化ガイド(タイポグラフィ基準) を参照してください。

3. FOUC(一瞬の崩れ)対策

Critical CSS(HTML内)に含めるもの

✅ 含めるべきもの

  • 基本リセット・CSS変数定義
  • ヘッダー基本レイアウト
  • ヒーローセクション基本構造(背景色、高さ、flex方向)
  • 初期表示に必要な最小限のアニメーション

❌ 含めないもの

  • コンポーネント固有のスタイル
  • 詳細なデザイン(影、グラデーション等)
  • メディアクエリ内の詳細スタイル

CSS読み込み戦略

メインCSSは通常読み込み(FOUC防止):

<link rel="stylesheet" href="css/renewal.css?v=X.X" />

重要度が低いCSSのみ非同期:

<link rel="stylesheet" href="css/optional.css" media="print" onload="this.media='all'" />

4. レスポンシブカードレイアウト構成

グリッドテンプレート標準

PC: 3列

grid-template-columns: repeat(3, 1fr);

中間(1201-1610px): 2列

@media (max-width: 1610px) { grid-template-columns: repeat(2, 1fr); }

タブレット・スマホ: 1列

@media (max-width: 1200px) { grid-template-columns: 1fr; max-width: 600px; margin: 0 auto; }

ルール: 3→2→1の段階的縮小。1列時はmax-widthで幅制限。

【厳禁】モバイルでの「Flex圧迫」と解決策

PC時の display: flexwidth: 130px 等の固定数値をモバイルに持ち越すと、テキスト領域が極端に数ピクセルに押し込まれ、「1細2行」のような崩壊を起こします。

解決策(解放プロトコル):

  • カードレイアウトはモバイルで flex-direction: column(縦積み) にして画像をフル幅バナー化する。
  • ニュース等のリストはスマホ専用の display: grid(上段にメタ情報、下段に画像とテキスト)で再設計する。

5. ヘッダーメニュー設計

項目数の目安

デバイス 項目数 備考
PC 5-7項目 + CTA 画面幅に応じて調整
モバイル 制限なし ハンバーガーメニュー内

必須要素

  • ロゴ(左)
  • ナビゲーション(中央)
  • CTA(右端、目立つ色・LINE緑等)
  • モバイルトグル(1135px以下)

ルール: 項目名は2-4文字が理想。ロゴとCTAの間隔は十分に確保。

6. ボタン・CTA設計

サイズガイドライン

種類 padding font-size border-radius max-width
プライマリCTA 1.2rem 3rem 1.25rem 50px 400px
セカンダリCTA 0.75rem 1.6rem 0.85rem 50px -

⚠️ 重要: プライマリCTAは必ずmax-width設定!広い画面でボタンが伸びすぎるのを防止。

ホバー・インタラクション

  • ホバー時: transform: translateY(-2px) で軽く浮かす
  • アイコンとテキストの間隔: gap: 4-8px

7. コード品質チェックリスト

必須チェック項目(目標: 90/100以上)

  • !importantが0件
  • ☐ ブレークポイントが統一されている
  • ☐ HTMLにコンポーネントスタイルがない
  • ☐ アニメーション定義が重複していない
  • ☐ renewal.min.cssが同期されている

推奨チェック項目

  • ☐ スペーシングが一貫している
  • ☐ メディアクエリにコメントがある
  • ☐ 未使用のCSSがない

8. コミットメッセージ規則

フォーマット

<type>(<scope>): <subject>

Type一覧:

  • feat: 新機能
  • fix: バグ修正
  • refactor: リファクタリング
  • style: スタイル変更
  • perf: パフォーマンス改善

9. アニメーション実装

配置ルール

場所 用途
HTML(Critical CSS) 初期表示用のみ fadeInPride, scroll
renewal.css その他すべて fadeInTitle, shineText

パフォーマンス

✅ 良い例(transform + opacity):

animation: fadeIn 0.8s ease-out forwards;

❌ 避ける(width, height, left, top):

レイアウト再計算が発生してパフォーマンス低下

ルール:

  • transformとopacityのみ使用
  • 0.8s以内の短いアニメーション
  • forwardsで状態維持

10. ファイル更新フロー

  1. renewal.cssを編集
  2. Copy-Item -Force "css\renewal.css" "css\renewal.min.css"
  3. git add/commit

ルール: .cssを編集したら必ず.min.cssに同期。画像はすべてWebP形式。


📊 これらのルールによる効果

  • 🚀 開発速度: 30-50%向上
  • 🎯 品質: 一貫して90点以上
  • 🔧 保守性: 6ヶ月後も理解可能
  • 📱 レスポンシブ: すべてのデバイスで最適

⭐ 最重要ルール TOP 3

  1. ブレークポイントは必ず統一
  2. スペーシングは計算された値を使用
  3. コミット前に必ず品質チェック