スマートフォンやタブレット、PCなど、あらゆるデバイスからアクセスされる現代のウェブサイトでは、フォームのレスポンシブ対応が欠かせません。特にお問い合わせフォームは、ユーザーのアクションに直結する重要な要素です。使いにくいフォームが原因で離脱されてしまっては、せっかくの訪問が無駄になってしまいます。
本記事では、HTMLとCSSを使ってレスポンシブ対応のお問い合わせフォームを作る方法を、基本から実装例までわかりやすく解説します。
レスポンシブとは?お問い合わせフォームに必要な理由
「レスポンシブデザイン」とは、画面サイズに応じて自動的にレイアウトを調整するWebデザインの手法です。
スマートフォンからWebサイトを閲覧するユーザーが年々増えている中、PCだけを前提としたフォームは、スマホでは使いにくくなる可能性が高いです。
たとえば、入力欄が画面に収まらない、ボタンが小さすぎてタップできない、余白がなくて見づらい……といった問題があると、ユーザー体験は一気に悪化します。
そのため、すべての画面サイズで快適に入力できるお問い合わせフォームの設計が必要不可欠なのです。

HTML構造のシンプル化が第一歩
レスポンシブ対応をスムーズに行うためには、まずHTMLの構造をできるだけシンプルにすることが大切です。
以下は基本的なフォームの構造例です。
<form action="#" method="post">
<div class="form-group">
<label for="name">お名前</label>
<input type="text" id="name" name="name" required>
</div>
<div class="form-group">
<label for="email">メールアドレス</label>
<input type="email" id="email" name="email" required>
</div>
<div class="form-group">
<label for="message">お問い合わせ内容</label>
<textarea id="message" name="message" rows="5" required></textarea>
</div>
<button type="submit">送信する</button>
</form>
form-groupというクラスで各ラベルと入力欄をグループ化することで、CSSでの調整がしやすくなります。
CSSでの基本スタイルとレスポンシブ調整
次に、CSSでスタイルを整えていきましょう。まずは基本的なレイアウトからです。
form {
max-width: 600px;
margin: 0 auto;
padding: 1rem;
}
.form-group {
margin-bottom: 1rem;
}
label {
display: block;
margin-bottom: 0.5rem;
}
input,
textarea {
width: 100%;
padding: 0.75rem;
font-size: 1rem;
box-sizing: border-box;
}
button {
display: block;
width: 100%;
padding: 1rem;
font-size: 1rem;
background-color: #007acc;
color: white;
border: none;
cursor: pointer;
border-radius: 5px;
}
このスタイルでは、フォームの幅を最大600pxに制限しつつ、width: 100%によってどの画面サイズでも自然に広がるようにしています。box-sizing: border-boxは、パディングやボーダー込みでサイズを計算するため、入力欄の幅が崩れにくくなります。
メディアクエリでより細かく調整する
スマートフォンなど、画面幅が狭い端末に向けて、メディアクエリを使ってデザインを最適化します。
@media (max-width: 480px) {
input,
textarea {
font-size: 0.9rem;
padding: 0.5rem;
}
button {
font-size: 0.9rem;
padding: 0.75rem;
}
}
ここでは、480px以下の画面幅(スマホ縦向き)を想定し、フォントサイズやパディングを少しだけ縮小しています。こうすることで、見やすさと操作性を両立できます。
よくある失敗例とその対策
レスポンシブ対応でありがちな失敗をいくつか紹介し、それぞれの対策をまとめます。
1. フォーム幅がはみ出る
- 原因:
width: 700pxなどの固定値指定 - 対策:
max-width: 100%やwidth: 100%を使用して柔軟にする
2. テキストが小さくて読みにくい
- 原因: スマホ対応を意識せずに文字サイズを小さく指定
- 対策:
font-sizeは1remやvwなど、相対単位で指定する
3. ボタンが小さくてタップしづらい
- 原因: paddingが足りない、幅が狭い
- 対策: ボタンには十分なパディングを与え、
width: 100%で広げる
モバイルファーストで考えると設計がラクになる
レスポンシブ対応は、「まずスマホで快適に使えるフォームを作り、それをPC向けに広げていく」というモバイルファーストの考え方で進めると、シンプルで効率的に設計できます。
スマホでの表示に最適化したあと、必要に応じてPC向けに見栄えを整えるというアプローチは、CSSの記述量を減らし、保守性も高まります。
コーディング不要でレスポンシブ対応!
「HTMLやCSSでのレスポンシブ対応は少し難しそう…」と感じた方もいるかもしれません。
そんな方におすすめなのが、フォーム作成ツール「フォームメーラー」です。
フォームメーラーでは、最初からレスポンシブデザインに対応済みのフォームを、専門的な知識なしで誰でも簡単に作成できます。PCはもちろん、スマートフォンでも快適に入力できる設計になっているため、ユーザーがどんなデバイスを使っていても、スムーズな問い合わせ体験を提供できます。
「コードを書かずに、モバイル対応フォームを作りたい」という方は、ぜひ一度フォームメーラーを試してみてください。

▼フォームメーラー
https://www.form-mailer.jp/
実装の基本さえ押さえれば難しくない!
お問い合わせフォームをレスポンシブ対応にするためには、HTML構造をシンプルにし、CSSで柔軟な幅指定とレイアウト調整を行うことがポイントです。メディアクエリで細かくチューニングし、ユーザーの使いやすさを第一に考えれば、スマホでもPCでもストレスなくフォーム入力ができるようになります。
「スマホからだと入力しづらい…」というユーザーの不満を減らし、コンバージョンを最大化するためにも、ぜひ一度、フォームのレスポンシブ対応を見直してみてください。
▼初心者向け!シンプルなお問い合わせフォームをHTMLとCSSで作る方法
https://blog.form-mailer.jp/useful/contact_form_coding/