カード重ね・ニュースレターフッター
フッター上辺に浮かせた登録カードでニュースレターへ誘導し、下にリンク列と「トップへ戻る」を配置。カード型で視線を集める Cards 系フッターで、メディアやブログに向きます。
ライブデモ
使用例(お題: カフェ MOON BREW)
この技法を「カフェ MOON BREW」というテーマのダミーサイトで実際に使った例です。
HTML
<!-- MOON BREW:カフェの読み物メディア向けフッター -->
<footer class="fnc">
<div class="fnc-card">
<div class="fnc-card__txt">
<p class="fnc-card__h">今月の一杯を、メールで。</p>
<p class="fnc-card__p">月替わりの豆と、夜の焙煎日記をお届けします。</p>
</div>
<form class="fnc-card__form" onsubmit="return false">
<input class="fnc-card__in" type="email" placeholder="メールアドレス" aria-label="メールアドレス">
<button class="fnc-card__btn" type="submit">購読する</button>
</form>
</div>
<div class="fnc-cols">
<a class="fnc-logo" href="#" onclick="return false">MOON BREW</a>
<nav class="fnc-col">
<p class="fnc-col__h">読む</p>
<a href="#" onclick="return false">焙煎日記</a>
<a href="#" onclick="return false">豆の物語</a>
<a href="#" onclick="return false">淹れ方</a>
</nav>
<nav class="fnc-col">
<p class="fnc-col__h">店舗</p>
<a href="#" onclick="return false">アクセス</a>
<a href="#" onclick="return false">通販</a>
<a href="#" onclick="return false">お問い合わせ</a>
</nav>
</div>
<div class="fnc-bar">
<span>© 2026 MOON BREW</span>
<button class="fnc-top" type="button" aria-label="トップへ戻る">↑ Top</button>
</div>
</footer>
CSS
/* MOON BREW(カフェ):カード重ねニュースレターフッターの再スキン */
* { box-sizing: border-box; }
body { margin: 0; font-family: "Segoe UI", system-ui, -apple-system, sans-serif; }
.fnc { width: 100%; min-height: 380px; display: flex; flex-direction: column; background: #efe7da; color: #3c2f22; padding: 56px 30px 0; }
.fnc-card {
display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap;
margin-top: -28px; padding: 22px 26px; border-radius: 18px;
background: linear-gradient(135deg, #7a4f2a, #b07a3f); color: #fff;
box-shadow: 0 22px 44px rgba(122,79,42,.3);
}
.fnc-card__h { margin: 0; font-size: 19px; font-weight: 800; }
.fnc-card__p { margin: 5px 0 0; font-size: 12.5px; color: rgba(255,255,255,.85); }
.fnc-card__form { display: flex; gap: 8px; }
.fnc-card__in { font: inherit; font-size: 13px; width: min(220px, 50vw); padding: 11px 15px; border-radius: 999px; border: none; background: rgba(255,255,255,.96); color: #3c2f22; }
.fnc-card__in::placeholder { color: #a98f76; }
.fnc-card__btn { font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; padding: 11px 20px; border-radius: 999px; border: none; background: #2a1d10; color: #fff; transition: transform .15s ease; }
.fnc-card__btn:hover { transform: translateY(-2px); }
.fnc-cols { display: flex; gap: 44px; flex-wrap: wrap; padding: 30px 4px 24px; }
.fnc-logo { font-size: 18px; font-weight: 800; color: #4a3320; text-decoration: none; margin-right: auto; letter-spacing: .04em; }
.fnc-col__h { margin: 0 0 10px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #a98f76; }
.fnc-col a { display: block; color: #5b4630; text-decoration: none; font-size: 13px; padding: 4px 0; transition: color .18s ease; }
.fnc-col a:hover { color: #7a4f2a; }
.fnc-bar { margin-top: auto; display: flex; align-items: center; justify-content: space-between; padding: 14px 4px; font-size: 12px; color: #6f5840; border-top: 1px solid #ddd0bd; }
.fnc-top { font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; padding: 8px 14px; border-radius: 999px; border: 1px solid #cdbca3; background: #fffdf8; color: #5b4630; transition: transform .18s ease, box-shadow .18s ease; }
.fnc-top:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(122,79,42,.16); }
@media (prefers-reduced-motion: reduce) { .fnc-card__btn, .fnc-top { transition: none; } }
実装ガイド
使いどころ
メディア・ブログ・カフェなど、購読誘導を主役にしたいフッターに。上辺に浮かせた登録カードで視線を集め、その下にリンク列と「トップへ戻る」を配置します。
実装時の注意点
カードは負の margin でフッター上辺にせり出させ、強い影で浮遊感を出します。下にリンク列、最下部にバー(著作権+トップへ戻る)を flex の margin-top:auto で底に固定。装飾は CSS 中心で、トップへ戻るはホバーで浮きます。
対応ブラウザ
flexbox・border-radius・box-shadow は全モダンブラウザで対応します。負マージンの重なりも安定して描画されます。
よくある失敗
カードを負マージンで出す分、フッター上部に padding を確保しないと前のセクションと重なります。狭い画面ではカード内の見出しとフォームを縦積み(flex-wrap)に。トップへ戻るは実サイトでスムーススクロールと結線してください。
応用例
登録カードに特典バッジを付ける、カードを資料ダウンロード導線に、トップへ戻るを進捗リング付きに、カード背景を画像にするなどの展開が可能です。
コード
HTML
<!-- 上辺に浮かせた登録カード+リンク列+トップへ戻る -->
<footer class="fnc">
<!-- 浮かせたニュースレターカード -->
<div class="fnc-card">
<div class="fnc-card__txt">
<p class="fnc-card__h">最新の記事を、メールで。</p>
<p class="fnc-card__p">週1回、編集部が選んだ特集だけをお届けします。</p>
</div>
<form class="fnc-card__form" onsubmit="return false">
<input class="fnc-card__in" type="email" placeholder="メールアドレス" aria-label="メールアドレス">
<button class="fnc-card__btn" type="submit">購読する</button>
</form>
</div>
<div class="fnc-cols">
<a class="fnc-logo" href="#" onclick="return false">paperlane</a>
<nav class="fnc-col">
<p class="fnc-col__h">読む</p>
<a href="#" onclick="return false">特集</a>
<a href="#" onclick="return false">連載</a>
<a href="#" onclick="return false">インタビュー</a>
</nav>
<nav class="fnc-col">
<p class="fnc-col__h">about</p>
<a href="#" onclick="return false">編集方針</a>
<a href="#" onclick="return false">寄稿</a>
<a href="#" onclick="return false">お問い合わせ</a>
</nav>
</div>
<div class="fnc-bar">
<span>© 2026 paperlane</span>
<button class="fnc-top" type="button" aria-label="トップへ戻る">↑ Top</button>
</div>
</footer>
CSS
* { box-sizing: border-box; }
body { margin: 0; font-family: "Segoe UI", system-ui, -apple-system, sans-serif; }
.fnc {
width: 100%; min-height: 380px;
display: flex; flex-direction: column;
background: #eef0f6; color: #2a2e3a;
padding: 56px 30px 0; /* 上にカードを浮かせる余白 */
}
/* 浮かせた登録カード */
.fnc-card {
display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap;
margin-top: -28px; /* セクション上辺にせり出す */
padding: 22px 26px; border-radius: 18px;
background: linear-gradient(135deg, #4f46e5, #7c3aed);
color: #fff;
box-shadow: 0 22px 44px rgba(79,70,229,.32);
}
.fnc-card__h { margin: 0; font-size: 19px; font-weight: 800; }
.fnc-card__p { margin: 5px 0 0; font-size: 12.5px; color: rgba(255,255,255,.85); }
.fnc-card__form { display: flex; gap: 8px; }
.fnc-card__in {
font: inherit; font-size: 13px; width: min(220px, 50vw);
padding: 11px 15px; border-radius: 999px; border: none;
background: rgba(255,255,255,.95); color: #1f2433;
}
.fnc-card__in::placeholder { color: #9aa1b1; }
.fnc-card__btn {
font: inherit; font-size: 13px; font-weight: 700; cursor: pointer;
padding: 11px 20px; border-radius: 999px; border: none;
background: #0e1117; color: #fff; transition: transform .15s ease;
}
.fnc-card__btn:hover { transform: translateY(-2px); }
.fnc-cols {
display: flex; gap: 44px; flex-wrap: wrap;
padding: 30px 4px 24px;
}
.fnc-logo { font-size: 18px; font-weight: 800; color: #1f2433; text-decoration: none; margin-right: auto; }
.fnc-col__h { margin: 0 0 10px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #8b91a1; }
.fnc-col a { display: block; color: #41454f; text-decoration: none; font-size: 13px; padding: 4px 0; transition: color .18s ease; }
.fnc-col a:hover { color: #4f46e5; }
.fnc-bar {
margin-top: auto;
display: flex; align-items: center; justify-content: space-between;
padding: 14px 4px; font-size: 12px; color: #6b7180;
border-top: 1px solid #dcdfe9;
}
.fnc-top {
font: inherit; font-size: 12px; font-weight: 700; cursor: pointer;
padding: 8px 14px; border-radius: 999px;
border: 1px solid #cfd3e0; background: #fff; color: #41454f;
transition: transform .18s ease, box-shadow .18s ease;
}
.fnc-top:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(20,24,40,.12); }
@media (prefers-reduced-motion: reduce) { .fnc-card__btn, .fnc-top { transition: none; } }
🤖 AIエージェント用プロンプト
このままコピーしてAIに貼り付け「追加する場所」だけ書き換えればOK
あなたは熟練のフロントエンドエンジニアです。私のWebサイトに「カード重ね・ニュースレターフッター」の効果を追加してください。
# 追加してほしい効果
カード重ね・ニュースレターフッター(フッター)
フッター上辺に浮かせた登録カードでニュースレターへ誘導し、下にリンク列と「トップへ戻る」を配置。カード型で視線を集める Cards 系フッターで、メディアやブログに向きます。
# 追加する場所
👉【ここに対象箇所を記入:例「トップのヒーローセクション」「お問い合わせボタン」「記事カードの一覧」など】
# 参考実装(この見た目・挙動を再現してください)
【HTML】
<!-- 上辺に浮かせた登録カード+リンク列+トップへ戻る -->
<footer class="fnc">
<!-- 浮かせたニュースレターカード -->
<div class="fnc-card">
<div class="fnc-card__txt">
<p class="fnc-card__h">最新の記事を、メールで。</p>
<p class="fnc-card__p">週1回、編集部が選んだ特集だけをお届けします。</p>
</div>
<form class="fnc-card__form" onsubmit="return false">
<input class="fnc-card__in" type="email" placeholder="メールアドレス" aria-label="メールアドレス">
<button class="fnc-card__btn" type="submit">購読する</button>
</form>
</div>
<div class="fnc-cols">
<a class="fnc-logo" href="#" onclick="return false">paperlane</a>
<nav class="fnc-col">
<p class="fnc-col__h">読む</p>
<a href="#" onclick="return false">特集</a>
<a href="#" onclick="return false">連載</a>
<a href="#" onclick="return false">インタビュー</a>
</nav>
<nav class="fnc-col">
<p class="fnc-col__h">about</p>
<a href="#" onclick="return false">編集方針</a>
<a href="#" onclick="return false">寄稿</a>
<a href="#" onclick="return false">お問い合わせ</a>
</nav>
</div>
<div class="fnc-bar">
<span>© 2026 paperlane</span>
<button class="fnc-top" type="button" aria-label="トップへ戻る">↑ Top</button>
</div>
</footer>
【CSS】
* { box-sizing: border-box; }
body { margin: 0; font-family: "Segoe UI", system-ui, -apple-system, sans-serif; }
.fnc {
width: 100%; min-height: 380px;
display: flex; flex-direction: column;
background: #eef0f6; color: #2a2e3a;
padding: 56px 30px 0; /* 上にカードを浮かせる余白 */
}
/* 浮かせた登録カード */
.fnc-card {
display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap;
margin-top: -28px; /* セクション上辺にせり出す */
padding: 22px 26px; border-radius: 18px;
background: linear-gradient(135deg, #4f46e5, #7c3aed);
color: #fff;
box-shadow: 0 22px 44px rgba(79,70,229,.32);
}
.fnc-card__h { margin: 0; font-size: 19px; font-weight: 800; }
.fnc-card__p { margin: 5px 0 0; font-size: 12.5px; color: rgba(255,255,255,.85); }
.fnc-card__form { display: flex; gap: 8px; }
.fnc-card__in {
font: inherit; font-size: 13px; width: min(220px, 50vw);
padding: 11px 15px; border-radius: 999px; border: none;
background: rgba(255,255,255,.95); color: #1f2433;
}
.fnc-card__in::placeholder { color: #9aa1b1; }
.fnc-card__btn {
font: inherit; font-size: 13px; font-weight: 700; cursor: pointer;
padding: 11px 20px; border-radius: 999px; border: none;
background: #0e1117; color: #fff; transition: transform .15s ease;
}
.fnc-card__btn:hover { transform: translateY(-2px); }
.fnc-cols {
display: flex; gap: 44px; flex-wrap: wrap;
padding: 30px 4px 24px;
}
.fnc-logo { font-size: 18px; font-weight: 800; color: #1f2433; text-decoration: none; margin-right: auto; }
.fnc-col__h { margin: 0 0 10px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #8b91a1; }
.fnc-col a { display: block; color: #41454f; text-decoration: none; font-size: 13px; padding: 4px 0; transition: color .18s ease; }
.fnc-col a:hover { color: #4f46e5; }
.fnc-bar {
margin-top: auto;
display: flex; align-items: center; justify-content: space-between;
padding: 14px 4px; font-size: 12px; color: #6b7180;
border-top: 1px solid #dcdfe9;
}
.fnc-top {
font: inherit; font-size: 12px; font-weight: 700; cursor: pointer;
padding: 8px 14px; border-radius: 999px;
border: 1px solid #cfd3e0; background: #fff; color: #41454f;
transition: transform .18s ease, box-shadow .18s ease;
}
.fnc-top:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(20,24,40,.12); }
@media (prefers-reduced-motion: reduce) { .fnc-card__btn, .fnc-top { transition: none; } }
# 外部ライブラリ
なし(追加ライブラリ不要)
# 守ってほしいこと
- 既存のHTML構造・レイアウト・デザインを壊さないこと。必要に応じてクラス名・色・サイズを私のサイトに合わせて調整してよい。
- クラス名やidが既存と衝突しないよう、必要なら接頭辞で名前空間を分けること。
- レスポンシブ対応と prefers-reduced-motion への配慮を入れること。
- 私のサイトのフレームワーク(React / Vue / 素のHTML など)に合わせて実装すること。不明な場合は素のHTML/CSS/JSで提示し、組み込み手順も説明すること。
- 変更後の確認手順も簡潔に教えてください。