PCのヘッダ画像の下部に少し重なる「白背景+3列カードレイアウト」の設置方法
この記事では、トップページや固定ページなどで使える「白背景+3列カードレイアウト」の実装方法を紹介します。
LightningやCocoonテーマにも対応し、スマホでは重なりが解除され、自動的に1列表示になります。
1 実装のポイント
- Flexboxを使ってPCで3列、スマホでは重なりが解除され、1列に自動調整
- カードには画像+キャプションを配置し、マウスホバー時にふわっと浮き上がる演出
- 背景は白、角丸とシャドウを加えて上品に仕上げる
2 HTML構造
<div class="image-menu">
<div class="menu-card">
<a href="https://sample1.com/">
<img src="https://example.com/image1.jpg" alt="電話無料相談">
<p>電話無料相談</p>
</a>
</div>
<div class="menu-card">
<a href="https://sample2.com/">
<img src="https://example.com/image2.jpg" alt="資料請求">
<p>資料請求</p>
</a>
</div>
<div class="menu-card">
<a href="https://sample3.com/">
<img src="https://example.com/image3.jpg" alt="面談">
<p>面談</p>
</a>
</div>
</div>
補足:
- 画像のURLはご自身のメディアライブラリにある画像へ差し替えてください。
- お問い合わせ先などのURLはご自身のページアドレスに差し替えてください。
- Alt属性も内容に合わせて変更するとSEO的にも効果的です。
- 画像のURLはご自身のメディアライブラリにある画像へ差し替えてください。
- お問い合わせ先などのURLはご自身のページアドレスに差し替えてください。
- Alt属性も内容に合わせて変更するとSEO的にも効果的です。
3 汎用CSS
/*----------------------------------------
相談カード(白背景・3列固定 → スマホ1列)
----------------------------------------*/
/* コンテナ全体(.image-menu) */
.image-menu {
position: relative; /* 配置基準を作る */
top: -80px; /* 背景との重なりを微調整 */
z-index: 2; /* 背景より前に出す */
max-width: 1280px; /* 横幅の最大値を制限 */
margin: 0 auto; /* 中央寄せ */
padding: 40px 20px 60px; /* 内側余白(上・横・下) */
display: flex; /* 横並び配置 */
flex-wrap: wrap; /* 折り返しを許可 */
justify-content: center; /* 中央寄せ配置 */
gap: 20px; /* 各カード間の間隔 */
background: #fff; /* 背景を白に設定 */
border-radius: 20px; /* 角を丸める */
box-shadow: 0 4px 25px rgba(0, 0, 0, 0.08); /* 柔らかい影 */
}
/* 各カード(.menu-card) */
.menu-card {
background: #fff; /* 背景色(白) */
border-radius: 10px; /* 角を丸くする */
box-shadow: 0 4px 16px rgba(0,0,0,0.1); /* 薄い影で浮かせる */
overflow: hidden; /* 枠外は非表示 */
width: calc(33.333% - 20px); /* 3列固定配置 */
transition: transform 0.3s ease, box-shadow 0.3s ease; /* ホバー時アニメーション */
}
/* ホバー時の効果 */
.menu-card:hover {
transform: translateY(-5px); /* 少し上に持ち上げる */
box-shadow: 0 10px 24px rgba(0,0,0,0.18); /* 浮き上がり感を強調 */
}
/* カード内の画像設定 */
.menu-card img {
display: block !important; /* 行間の隙間を防止 */
width: 100% !important; /* 横幅いっぱいに表示 */
height: 200px !important; /* 高さ固定で均一に */
object-fit: cover; /* トリミングして自然表示 */
margin: 0 !important; /* 外側余白をリセット */
padding: 0 !important; /* 内側余白をリセット */
border: none !important; /* 余分な線を削除 */
vertical-align: bottom !important; /* 下揃えでズレ防止 */
}
/* カード全体をクリック可能にする(aタグ) */
.menu-card a {
display: block; /* カード全体をクリック可能に */
margin: 0 !important; /* 余白リセット */
padding: 0 !important;
line-height: 0 !important; /* 行間による空白を完全除去 */
border: none !important;
text-decoration: none !important; /* 下線を削除 */
outline: none !important; /* フォーカス枠削除 */
color: inherit !important; /* 文字色を継承 */
}
/* hover時も装飾を出さない */
.menu-card a:hover {
text-decoration: none !important; /* 下線を出さない */
border: none !important; /* 枠を出さない */
outline: none !important; /* フォーカス枠を出さない */
}
/* カード下部テキスト(pタグ) */
.menu-card p {
margin: 0 !important; /* デフォルトの上下余白削除 */
padding: 12px 0 !important; /* テキスト内の余白 */
background: #6cf; /* 背景色(明るい青) */
color: #fff; /* テキスト白 */
text-align: center; /* 中央揃え */
font-weight: bold; /* 太字 */
font-size: 1em; /* 標準文字サイズ */
line-height: 1.6; /* 読みやすい行間 */
}
/* 3列維持の微調整(画面幅1054px以下) */
@media (max-width: 1054px) {
.menu-card {
width: calc(33.333% - 15px); /* わずかに縮小して3列維持 */
}
}
/* スマホ対応(768px以下:1列表示) */
@media (max-width: 768px) {
.image-menu {
flex-direction: column; /* 縦並びに変更 */
max-width: 95%; /* 横幅の最大値を制限 */
align-items: center; /* 中央寄せ */
margin: 80px 25px 60px; /* 上下左右の重なり解除 */
padding: 30px 10px 40px; /* 余白を調整してコンパクトに */
}
.menu-card {
width: 90%; /* 1列レイアウト用に拡張 */
max-width: 360px; /* 横幅の上限を設定 */
}
.menu-card img {
height: auto; /* 高さ自動調整 */
aspect-ratio: 16 / 9; /* 縦横比固定(16:9) */
object-fit: cover; /* トリミング表示 */
}
}
4 トップページ(HOME)のみパンくずを非表示
/* ----------------------------------------
トップページ(HOME)のみパンくずを非表示
---------------------------------------- */
body.home .breadcrumb,
body.home .vk_breadcrumb {
display: none !important; /* HOMEのみ非表示にする */
}
補足:
もし、トップページ(HOME)にパンくずリストが邪魔をしたら、トップページ(HOME)だけパンくずリストを見えなくしてください。
もし、トップページ(HOME)にパンくずリストが邪魔をしたら、トップページ(HOME)だけパンくずリストを見えなくしてください。
5 完成イメージ

6 代用プラグイン
このレイアウトは純粋なHTML+CSSで実装しているため、プラグインは不要です。
ただし、同様のカードデザインをビジュアルエディタで作成したい場合は、以下のプラグインが代用できます:
- Elementor(無料版でもカードブロック作成可能)
- Snow Monkey Blocks(ブロックエディタ用カードあり)
7 まとめ
このコードを使えば、どんなテーマでも「白背景+3列カード」デザインを簡単に実装できます。
LightningやCocoonでも動作確認済みで、スマホでは重なりが解除され、自動的に1列化します。


