フッター 初級

多段サイトマップ・フッター

製品・会社・リソース・法務などを複数カラムで整理した情報量の多いダークフッター。右にニュースレター、下部に言語切替・SNS・著作権。大規模サイトやコーポレートの定番レイアウトです。

#footer#sitemap#grid#dark

ライブデモ

使用例(お題: アイドルグループ Sakura)

この技法を「アイドルグループ Sakura」というテーマのダミーサイトで実際に使った例です。

HTML
<!-- Sakura:アイドル公式サイトの多段フッター -->
<footer class="fsm">
  <div class="fsm-top">
    <div class="fsm-brand">
      <a class="fsm-logo" href="#" onclick="return false">✿ Sakura</a>
      <p class="fsm-tag">満開の、その先へ。</p>
      <div class="fsm-news">
        <input class="fsm-news__in" type="email" placeholder="ファンクラブ最新情報を受け取る" aria-label="メールアドレス">
        <button class="fsm-news__btn" type="button">登録</button>
      </div>
    </div>

    <nav class="fsm-grid">
      <div class="fsm-col">
        <p class="fsm-col__h">ライブ</p>
        <a href="#" onclick="return false">ツアー日程</a>
        <a href="#" onclick="return false">チケット</a>
        <a href="#" onclick="return false">配信</a>
        <a href="#" onclick="return false">セットリスト</a>
      </div>
      <div class="fsm-col">
        <p class="fsm-col__h">メンバー</p>
        <a href="#" onclick="return false">プロフィール</a>
        <a href="#" onclick="return false">ブログ</a>
        <a href="#" onclick="return false">誕生日</a>
      </div>
      <div class="fsm-col">
        <p class="fsm-col__h">作品</p>
        <a href="#" onclick="return false">ディスコグラフィ</a>
        <a href="#" onclick="return false">MV</a>
        <a href="#" onclick="return false">グッズ</a>
      </div>
      <div class="fsm-col">
        <p class="fsm-col__h">規約</p>
        <a href="#" onclick="return false">利用規約</a>
        <a href="#" onclick="return false">プライバシー</a>
      </div>
    </nav>
  </div>

  <div class="fsm-bar">
    <span>© 2026 Sakura Project</span>
    <div class="fsm-bar__right">
      <span class="fsm-lang">🌐 日本語</span>
      <span class="fsm-social">
        <a href="#" onclick="return false">𝕏</a>
        <a href="#" onclick="return false">IG</a>
        <a href="#" onclick="return false">▷</a>
      </span>
    </div>
  </div>
</footer>
CSS
/* Sakura(アイドル):多段サイトマップ・フッターの再スキン */
* { box-sizing: border-box; }
body { margin: 0; font-family: "Hiragino Kaku Gothic ProN", "Segoe UI", system-ui, sans-serif; }

.fsm { width: 100%; min-height: 380px; display: flex; flex-direction: column; background: #20111c; color: #e7c9d8; }

.fsm-top { flex: 1; display: grid; grid-template-columns: 1.3fr 2fr; gap: 28px; padding: 34px 30px 26px; }
.fsm-logo { font-size: 19px; font-weight: 800; color: #ffd9e8; text-decoration: none; }
.fsm-tag { margin: 12px 0 18px; font-size: 13px; color: #b78aa0; line-height: 1.7; max-width: 260px; }
.fsm-news { display: flex; gap: 8px; max-width: 300px; }
.fsm-news__in { font: inherit; font-size: 13px; flex: 1; min-width: 0; padding: 10px 14px; border-radius: 9px; border: 1px solid #4a2b3c; background: #2c1826; color: #f3dde7; }
.fsm-news__in::placeholder { color: #8a6175; }
.fsm-news__btn { font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; padding: 10px 16px; border-radius: 9px; border: none; background: #f06595; color: #fff; transition: filter .15s ease; }
.fsm-news__btn:hover { filter: brightness(1.1); }

.fsm-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.fsm-col__h { margin: 0 0 12px; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #b06b86; }
.fsm-col a { display: block; color: #e7c9d8; text-decoration: none; font-size: 13px; padding: 5px 0; transition: color .18s ease, padding-left .18s ease; }
.fsm-col a:hover { color: #fff; padding-left: 4px; }

.fsm-bar { display: flex; align-items: center; justify-content: space-between; padding: 15px 30px; font-size: 12px; color: #b78aa0; border-top: 1px solid #381f2d; }
.fsm-bar__right { display: flex; align-items: center; gap: 18px; }
.fsm-social { display: flex; gap: 14px; }
.fsm-social a { color: #e7c9d8; text-decoration: none; font-size: 13px; font-weight: 700; }
.fsm-social a:hover { color: #fff; }

@media (prefers-reduced-motion: reduce) { .fsm-col a, .fsm-news__btn { transition: none; } }

実装ガイド

使いどころ

ページ数の多いコーポレート・メディア・公式サイトに。製品/会社/リソース/法務などを複数カラムで整理し、ニュースレターやSNS、言語切替まで一段にまとめた情報量の多いダークフッターです。

実装時の注意点

上段はブランド+ニュースレターと4カラムのリンクグリッド、下段に著作権・言語・SNSのバー。grid を二段(左ブランド/右リンク群)で組み、リンクはホバーで色+わずかな左インデントを付けています。

対応ブラウザ

CSS grid・flexbox・transition は全モダンブラウザで安定動作します。装飾は CSS のみで JS 不要です。

よくある失敗

カラム数をレスポンシブで畳まないと、スマホで横スクロールが発生します(2列→1列のブレークポイントを用意)。リンクが多いほどコントラストとタップ領域(最低44px)の確保が重要。法務リンク(規約・プライバシー)は必ず含めること。

応用例

カラムをアコーディオン化してモバイル最適化、ニュースレターに同意チェックを追加、地域別フッターの出し分け、SNSアイコンを実アイコンフォントへ置換などが定番です。

コード

HTML
<!-- 多段サイトマップ+ニュースレターのダークフッター -->
<footer class="fsm">
  <div class="fsm-top">
    <div class="fsm-brand">
      <a class="fsm-logo" href="#" onclick="return false">▲ Northwind</a>
      <p class="fsm-tag">現場のデータを、意思決定へ。</p>
      <div class="fsm-news">
        <input class="fsm-news__in" type="email" placeholder="メールで更新を受け取る" aria-label="メールアドレス">
        <button class="fsm-news__btn" type="button">登録</button>
      </div>
    </div>

    <nav class="fsm-grid">
      <div class="fsm-col">
        <p class="fsm-col__h">製品</p>
        <a href="#" onclick="return false">概要</a>
        <a href="#" onclick="return false">分析</a>
        <a href="#" onclick="return false">連携</a>
        <a href="#" onclick="return false">API</a>
      </div>
      <div class="fsm-col">
        <p class="fsm-col__h">会社</p>
        <a href="#" onclick="return false">私たちについて</a>
        <a href="#" onclick="return false">採用</a>
        <a href="#" onclick="return false">ニュース</a>
      </div>
      <div class="fsm-col">
        <p class="fsm-col__h">リソース</p>
        <a href="#" onclick="return false">ドキュメント</a>
        <a href="#" onclick="return false">ブログ</a>
        <a href="#" onclick="return false">サポート</a>
      </div>
      <div class="fsm-col">
        <p class="fsm-col__h">法務</p>
        <a href="#" onclick="return false">利用規約</a>
        <a href="#" onclick="return false">プライバシー</a>
      </div>
    </nav>
  </div>

  <div class="fsm-bar">
    <span>© 2026 Northwind K.K.</span>
    <div class="fsm-bar__right">
      <span class="fsm-lang">🌐 日本語</span>
      <span class="fsm-social">
        <a href="#" onclick="return false">𝕏</a>
        <a href="#" onclick="return false">in</a>
        <a href="#" onclick="return false">▷</a>
      </span>
    </div>
  </div>
</footer>
CSS
* { box-sizing: border-box; }
body { margin: 0; font-family: "Segoe UI", system-ui, -apple-system, sans-serif; }

.fsm {
  width: 100%; min-height: 380px;
  display: flex; flex-direction: column;
  background: #0f1320; color: #c7cbda;
}

.fsm-top {
  flex: 1;
  display: grid; grid-template-columns: 1.3fr 2fr; gap: 28px;
  padding: 34px 30px 26px;
}
.fsm-logo { font-size: 19px; font-weight: 800; color: #fff; text-decoration: none; }
.fsm-tag { margin: 12px 0 18px; font-size: 13px; color: #8a90a6; line-height: 1.7; max-width: 260px; }
.fsm-news { display: flex; gap: 8px; max-width: 300px; }
.fsm-news__in {
  font: inherit; font-size: 13px; flex: 1; min-width: 0;
  padding: 10px 14px; border-radius: 9px;
  border: 1px solid #2a3047; background: #161b2c; color: #e8eaf2;
}
.fsm-news__in::placeholder { color: #6b7290; }
.fsm-news__btn {
  font: inherit; font-size: 13px; font-weight: 700; cursor: pointer;
  padding: 10px 16px; border-radius: 9px; border: none;
  background: #6366f1; color: #fff; transition: filter .15s ease;
}
.fsm-news__btn:hover { filter: brightness(1.1); }

.fsm-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.fsm-col__h { margin: 0 0 12px; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #6b7290; }
.fsm-col a {
  display: block; color: #c7cbda; text-decoration: none;
  font-size: 13px; padding: 5px 0; transition: color .18s ease, padding-left .18s ease;
}
.fsm-col a:hover { color: #fff; padding-left: 4px; }

.fsm-bar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 15px 30px; font-size: 12px; color: #8a90a6;
  border-top: 1px solid #1e2334;
}
.fsm-bar__right { display: flex; align-items: center; gap: 18px; }
.fsm-lang { font-size: 12px; }
.fsm-social { display: flex; gap: 14px; }
.fsm-social a { color: #c7cbda; text-decoration: none; font-size: 13px; font-weight: 700; }
.fsm-social a:hover { color: #fff; }

@media (prefers-reduced-motion: reduce) { .fsm-col a, .fsm-news__btn { transition: none; } }

🤖 AIエージェント用プロンプト

このままコピーしてAIに貼り付け「追加する場所」だけ書き換えればOK
あなたは熟練のフロントエンドエンジニアです。私のWebサイトに「多段サイトマップ・フッター」の効果を追加してください。

# 追加してほしい効果
多段サイトマップ・フッター(フッター)
製品・会社・リソース・法務などを複数カラムで整理した情報量の多いダークフッター。右にニュースレター、下部に言語切替・SNS・著作権。大規模サイトやコーポレートの定番レイアウトです。

# 追加する場所
👉【ここに対象箇所を記入:例「トップのヒーローセクション」「お問い合わせボタン」「記事カードの一覧」など】

# 参考実装(この見た目・挙動を再現してください)
【HTML】
<!-- 多段サイトマップ+ニュースレターのダークフッター -->
<footer class="fsm">
  <div class="fsm-top">
    <div class="fsm-brand">
      <a class="fsm-logo" href="#" onclick="return false">▲ Northwind</a>
      <p class="fsm-tag">現場のデータを、意思決定へ。</p>
      <div class="fsm-news">
        <input class="fsm-news__in" type="email" placeholder="メールで更新を受け取る" aria-label="メールアドレス">
        <button class="fsm-news__btn" type="button">登録</button>
      </div>
    </div>

    <nav class="fsm-grid">
      <div class="fsm-col">
        <p class="fsm-col__h">製品</p>
        <a href="#" onclick="return false">概要</a>
        <a href="#" onclick="return false">分析</a>
        <a href="#" onclick="return false">連携</a>
        <a href="#" onclick="return false">API</a>
      </div>
      <div class="fsm-col">
        <p class="fsm-col__h">会社</p>
        <a href="#" onclick="return false">私たちについて</a>
        <a href="#" onclick="return false">採用</a>
        <a href="#" onclick="return false">ニュース</a>
      </div>
      <div class="fsm-col">
        <p class="fsm-col__h">リソース</p>
        <a href="#" onclick="return false">ドキュメント</a>
        <a href="#" onclick="return false">ブログ</a>
        <a href="#" onclick="return false">サポート</a>
      </div>
      <div class="fsm-col">
        <p class="fsm-col__h">法務</p>
        <a href="#" onclick="return false">利用規約</a>
        <a href="#" onclick="return false">プライバシー</a>
      </div>
    </nav>
  </div>

  <div class="fsm-bar">
    <span>© 2026 Northwind K.K.</span>
    <div class="fsm-bar__right">
      <span class="fsm-lang">🌐 日本語</span>
      <span class="fsm-social">
        <a href="#" onclick="return false">𝕏</a>
        <a href="#" onclick="return false">in</a>
        <a href="#" onclick="return false">▷</a>
      </span>
    </div>
  </div>
</footer>

【CSS】
* { box-sizing: border-box; }
body { margin: 0; font-family: "Segoe UI", system-ui, -apple-system, sans-serif; }

.fsm {
  width: 100%; min-height: 380px;
  display: flex; flex-direction: column;
  background: #0f1320; color: #c7cbda;
}

.fsm-top {
  flex: 1;
  display: grid; grid-template-columns: 1.3fr 2fr; gap: 28px;
  padding: 34px 30px 26px;
}
.fsm-logo { font-size: 19px; font-weight: 800; color: #fff; text-decoration: none; }
.fsm-tag { margin: 12px 0 18px; font-size: 13px; color: #8a90a6; line-height: 1.7; max-width: 260px; }
.fsm-news { display: flex; gap: 8px; max-width: 300px; }
.fsm-news__in {
  font: inherit; font-size: 13px; flex: 1; min-width: 0;
  padding: 10px 14px; border-radius: 9px;
  border: 1px solid #2a3047; background: #161b2c; color: #e8eaf2;
}
.fsm-news__in::placeholder { color: #6b7290; }
.fsm-news__btn {
  font: inherit; font-size: 13px; font-weight: 700; cursor: pointer;
  padding: 10px 16px; border-radius: 9px; border: none;
  background: #6366f1; color: #fff; transition: filter .15s ease;
}
.fsm-news__btn:hover { filter: brightness(1.1); }

.fsm-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.fsm-col__h { margin: 0 0 12px; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #6b7290; }
.fsm-col a {
  display: block; color: #c7cbda; text-decoration: none;
  font-size: 13px; padding: 5px 0; transition: color .18s ease, padding-left .18s ease;
}
.fsm-col a:hover { color: #fff; padding-left: 4px; }

.fsm-bar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 15px 30px; font-size: 12px; color: #8a90a6;
  border-top: 1px solid #1e2334;
}
.fsm-bar__right { display: flex; align-items: center; gap: 18px; }
.fsm-lang { font-size: 12px; }
.fsm-social { display: flex; gap: 14px; }
.fsm-social a { color: #c7cbda; text-decoration: none; font-size: 13px; font-weight: 700; }
.fsm-social a:hover { color: #fff; }

@media (prefers-reduced-motion: reduce) { .fsm-col a, .fsm-news__btn { transition: none; } }

# 外部ライブラリ
なし(追加ライブラリ不要)

# 守ってほしいこと
- 既存のHTML構造・レイアウト・デザインを壊さないこと。必要に応じてクラス名・色・サイズを私のサイトに合わせて調整してよい。
- クラス名やidが既存と衝突しないよう、必要なら接頭辞で名前空間を分けること。
- レスポンシブ対応と prefers-reduced-motion への配慮を入れること。
- 私のサイトのフレームワーク(React / Vue / 素のHTML など)に合わせて実装すること。不明な場合は素のHTML/CSS/JSで提示し、組み込み手順も説明すること。
- 変更後の確認手順も簡潔に教えてください。