レスポンシブデザイン

英語名 Responsive Design
読み方 レスポンシブ デザイン
難易度
所要時間 数時間〜数日(実装込み)
提唱者 Ethan Marcotte
目次

ひとことで言うと
#

1つのデザインで、スマホ・タブレット・PCなどあらゆる画面サイズに対応する設計手法。画面幅に応じてレイアウトを柔軟に変化させることで、どのデバイスでも最適な閲覧体験を提供する。

押さえておきたい用語
#

押さえておきたい用語
メディアクエリ(Media Query)
画面幅などの条件に応じて異なるCSSを適用する仕組み。レスポンシブの中核技術。
フルイドグリッド(Fluid Grid)
固定px幅ではなくパーセンテージで幅を指定するレイアウト手法。
ビューポート(Viewport)
ブラウザの表示領域サイズ。vwやvhはビューポートに対する相対単位。
srcset属性
画面サイズに応じて最適なサイズの画像を自動選択するHTML属性。

レスポンシブデザインの全体像
#

モバイルファースト→ブレイクポイント→柔軟単位→実機テストの流れ
モバイルファースト最小画面から設計を開始320px幅で必要なコンテンツを見極めブレイクポイントコンテンツが崩れる地点で切り替え3〜4段階が目安端末ではなく内容で判断柔軟な単位rem・%・vw・clamp()で実装固定pxに依存せず相対値を基本に実機テストiOS/Android実機で動作確認するタッチ操作・速度横向きもチェックレスポンシブ対応は選択肢ではなく前提条件
レスポンシブデザインの設計フロー
1
モバイルから設計
最小画面で必須要素を見極め
2
ブレイクポイント設定
コンテンツが崩れる地点で切替
3
柔軟な単位で実装
rem・%・clamp()を使う
4
実機で検証
iOS・Android実機で確認

こんな悩みに効く
#

  • PC向けに作ったサイトがスマホだと使いづらい
  • デバイスごとに別々のデザインを管理するのが大変
  • モバイルからのアクセスが増えているのに対応できていない

基本の使い方
#

ステップ1: モバイルファーストで設計を始める

一番小さい画面(モバイル)から設計を始め、大きい画面に拡張していく

  • モバイルは制約が多い(画面小、タッチ操作、通信遅い)。制約の中で本当に必要な要素を見極める
  • まず320px幅で必要なコンテンツと優先順位を決める
  • PCで「あったらいいな」要素は、モバイルでは省くか折りたたむ

PC→モバイルの順だと「何を削るか」の議論になるが、モバイル→PCなら「何を追加するか」のポジティブな設計になる。

ステップ2: ブレイクポイントを設定する

画面幅の区切り(ブレイクポイント)でレイアウトを切り替える。

  • 〜599px: モバイル(1カラム、タッチ最適化)
  • 600〜899px: タブレット(2カラム可能に)
  • 900〜1199px: 小型デスクトップ(サイドバー表示)
  • 1200px〜: 大型デスクトップ(フルレイアウト)

コンテンツが「壊れる」タイミングでブレイクポイントを設定するのが理想。デバイスの種類ではなく、コンテンツの読みやすさで判断する。

ステップ3: 柔軟な単位とコンポーネント設計を使う

固定値(px)ではなく相対値を基本にする。

  • フォントサイズ: rem(ルートに対する相対値)
  • : %、vw、max-width
  • 画像: max-width: 100% で親要素に合わせて縮小
  • 余白: clamp() で最小〜最大の範囲を指定

タッチターゲット: モバイルではボタン・リンクのサイズを最低44px×44pxに。指で押しやすいサイズを確保する。

ステップ4: 実機でテストする

ブラウザのデバイスシミュレーターだけでなく、実際のデバイスで確認する。

  • 実機では指の太さ、画面の反射、通信速度など、シミュレーターではわからない問題が見つかる
  • iOS Safari、Android Chrome の両方で確認する
  • ランドスケープ(横向き)モードも忘れずにチェック

具体例
#

例1:レストランサイトをレスポンシブ化して予約数を35%増やす

モバイル(〜599px):

  • ハンバーガーメニュー
  • ヒーロー画像(全幅、高さ50vh)
  • メニュー一覧は縦1列のカード
  • 予約ボタンは画面下部に固定(sticky)
  • 電話番号タップで発信

タブレット(600〜899px):

  • メニューカードは2列並び
  • 予約ボタンはヘッダーに移動

デスクトップ(900px〜):

  • ナビゲーション全表示(ハンバーガー不要)
  • メニューカードは3列
  • サイドに営業時間・地図を常時表示

結果: 同じHTMLで3パターンのレイアウトを実現。モバイルからの予約数が前年比135%に増加。 Lighthouseスコアは42から88に改善。

例2:社内ポータルサイトをレスポンシブ対応してモバイル利用率を4倍にする

Before: 社内ポータルはPC専用設計。営業チームが外出先でスマホからアクセスすると文字が小さすぎて使えず、モバイル利用率は8%。

レスポンシブ対応:

  • ダッシュボードのウィジェットを1カラム縦積みに(モバイル)→ 3カラムグリッド(PC)
  • 承認ボタンを44px以上のタッチターゲットに拡大
  • テーブル表示をモバイルではカード表示に切り替え
  • 社内通知をプッシュ対応に

結果: モバイル利用率が8%から32%に増加(4倍)。 外出先での承認処理が可能になり、承認待ち時間が平均2.5日から0.5日に短縮。

例3:教育プラットフォームがレスポンシブ対応で受講完了率を22%改善する

Before: オンライン講座サイトがデスクトップ専用。動画プレーヤーが固定幅で、スマホでは横スクロールが必要。モバイルの受講完了率は41%。

レスポンシブ対応:

  • 動画プレーヤーを max-width: 100%; aspect-ratio: 16/9 で可変に
  • 講義ノートをアコーディオン形式に(モバイル)→ サイドパネル(PC)
  • クイズのラジオボタンを48px角のカード選択UIに変更
  • srcsetで動画サムネイル画像をモバイル最適化

結果: モバイルの受講完了率が41%から63%に改善(+22pt)。 通勤時間に学習するユーザーが増え、全体の受講数も15%増加。

やりがちな失敗パターン
#

  1. PCデザインを縮小しただけの「レスポンシブ」 — 文字が小さくなるだけで、タッチ操作に最適化されていない。モバイルはモバイル専用のインタラクションを設計する
  2. ブレイクポイントが多すぎる — 3〜4段階で十分。あまり細かく分けると管理が複雑になる
  3. 画像の最適化を忘れる — モバイルでPC用の大きな画像を読み込むと表示が遅くなる。srcset属性やWebP形式で画面サイズに合った画像を配信する
  4. テーブルをそのままモバイルに表示する — 横幅の広いテーブルはモバイルでは壊れる。カード表示やスクロール可能なコンテナに切り替える

まとめ
#

レスポンシブデザインは「モバイルファーストで始め、ブレイクポイントで拡張し、柔軟な単位で実装する」の3ステップ。世界のWebトラフィックの半分以上がモバイルである今、レスポンシブ対応は選択肢ではなく前提条件