Webサイトを運営していると、訪問者からの問い合わせを受け付けるために、お問い合わせフォームを設置する場面が多くあります。しかし、HTMLやCSSに慣れていないと、「どうやって作ればいいのだろう」と迷ってしまうこともあるでしょう。
実は、基本的なHTMLとCSSの知識があれば、おしゃれで使いやすいお問い合わせフォームを簡単に作ることができます。
本記事では、初心者向けにHTMLとCSSを使って、お問い合わせフォームを作成する方法を、コピペで使えるサンプルコードとともに詳しく解説します。
お問い合わせフォームの基本構成
お問い合わせフォームには、一般的に次のような要素が含まれます。
- 名前入力欄(訪問者の名前を入力)
- メールアドレス入力欄(問い合わせに返信できるメールアドレス)
- お問い合わせ内容入力欄(自由記述のテキストエリア)
- 送信ボタン(フォームを送信するためのボタン)
これらの要素をHTMLで作成し、CSSで見た目を整えることで、シンプルで使いやすいフォームを作ることができます。
HTMLでお問い合わせフォームを作成
まずは、基本的なフォームをHTMLで作成しましょう。以下のコードをコピーして、index.html という名前で保存してください。
<!DOCTYPE html><html lang="ja"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>お問い合わせフォーム</title> <link rel="stylesheet" href="styles.css"></head><body> <h2>お問い合わせ</h2> <form> <label for="name">お名前:</label> <input type="text" id="name" name="name" required> <label for="email">メールアドレス:</label> <input type="email" id="email" name="email" required> <label for="message">お問い合わせ内容:</label> <textarea id="message" name="message" rows="5" required></textarea> <button type="submit">送信</button> </form></body></html>
ポイント
<form>タグの中に各入力欄(<input>や<textarea>)を配置<label>を使って入力欄の説明を追加し、使いやすくするrequired属性を追加し、必須入力を指定
このHTMLは、そのままお問い合わせフォームとして使えます。項目を増やしたり減らしたりして応用すれば、アンケートフォームなど別の用途のフォームを作る際のテンプレートとしても活用できます。
CSSでフォームのデザインを整える
次に、フォームを見やすくするためにCSSを追加します。以下のコードを styles.css というファイルに保存し、index.html に適用してください。
/* 全体のスタイルを統一 */* { box-sizing: border-box; /* これで padding, border を含めたサイズ計算をする */ margin: 0; padding: 0;}body { font-family: Arial, sans-serif; background-color: #f4f4f4; text-align: center; margin: 0; padding: 0;}/* フォームのタイトル */h2 { margin-top: 50px; font-size: 24px; color: #333;}/* フォーム全体のスタイル */form { background-color: white; padding: 20px; width: 90%; max-width: 400px; margin: auto; border-radius: 10px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); text-align: left;}/* ラベルのスタイル */label { display: block; margin-top: 10px; font-weight: bold; color: #555;}/* 入力欄のスタイル */input, textarea { width: 100%; /* box-sizingが適用されるので、paddingやborder込みで100%に収まる */ padding: 10px; margin-top: 5px; border: 1px solid #ccc; border-radius: 5px; font-size: 16px;}/* テキストエリアの高さを調整 */textarea { resize: vertical; height: 120px;}/* 送信ボタンのスタイル */button { background-color: #28a745; color: white; border: none; padding: 10px; width: 100%; margin-top: 10px; border-radius: 5px; font-size: 16px; cursor: pointer;}/* ホバー時のボタンスタイル */button:hover { background-color: #218838;}

ポイント
- フォーム全体に
max-width: 400px;を設定し、スマホでも適切なサイズになるように調整 box-shadowを適用して、立体感を持たせるinputやtextareaに余白(padding) を設定し、見やすくする- ボタンに
hover効果を加え、マウスを乗せたときの反応を良くする
スマホ対応(レスポンシブデザイン)
現代では、スマートフォンからのアクセスが多いため、レスポンシブデザインを考慮することが大切です。上記のCSSでは、width: 90%; を指定することで、小さい画面でも適切に表示されるようにしました。
しかし、より細かく調整したい場合は、次のように メディアクエリ を追加しましょう。
@media screen and (max-width: 600px) { form { padding: 15px; width: 95%; } button { font-size: 14px; padding: 8px; }}
この設定を追加すると、画面幅が600px以下のスマホではフォームの余白やボタンのサイズが調整され、より使いやすくなります。
より細かいレスポンシブ対応を知りたい方は、以下の記事もあわせて参考にしてください。
関連記事:レスポンシブ対応フォームの作り方!HTML+CSSの実装ガイド
フォームの動作確認
ここまでの作業が完了したら、フォームが適切に表示されているか確認しましょう。
index.htmlをブラウザで開く(ダブルクリックするだけでOK)- フォームのデザインが整っているか確認
- 各入力欄にテキストを入力しやすいかテスト
問題なく表示されていれば、フォームの作成は成功です。ここで作成したフォームに送受信処理を追加すれば、実際に問い合わせを受け付けられるようになります。
なお、今回のコードではrequired属性やtype="email"により、未入力チェックと基本的なメール形式のチェックができます。ただし、エラーメッセージを独自の文言やデザインで表示するには、JavaScriptが必要です。こうした入力チェック(バリデーション)を追加したい場合は、以下の記事で実装方法を解説しています。
関連記事:フォーム必須項目の基本と実装方法
ノーコードで簡単にお問い合わせフォームを作成する方法
送受信処理を用意する方法は、大きく2つあります。①送信されたデータをPHPなどで受け取る仕組みを自分で実装する方法と、②フォームメーラーのようなフォーム作成ツールを使う方法です。
①の場合、送受信処理のプログラムに加えて、スパム対策やセキュリティ対策、サーバーやメールの設定まで自分で用意する必要があり、慣れていないと思った以上に手間がかかります。
「HTMLやCSSでフォームを作るのは難しそう…」「コードを書かずにすぐにお問い合わせフォームを設置したい!」そんな方には、②のノーコードで簡単にお問い合わせフォームを作成できる「フォームメーラー」 がおすすめです。

公式サイト:https://www.form-mailer.jp
フォームメーラーのメリット
- プログラミング不要
コードを一切書かずに、ドラッグ&ドロップでフォームを作成可能。 - 即日利用OK
アカウントを作成すれば、すぐにフォームを作成・公開できる。 - 自動返信メールやreCAPTCHA機能もすぐに設定可能
投稿者への確認・サンクスメールも自動で返信可能。ロボット対策のreCAPTCHAも簡単に設定できます。 - WordPressやサイトへの設置も簡単
作成したフォームのURLを貼るだけで、サイトに設置可能。外部設置でサイトにフォームを埋め込むことも可能。
「コードを書くのが苦手…」という方でも、簡単にプロ仕様のフォームが作れるので、ぜひ活用してみてください。
\フォームメーラーの有料機能を14日間無料で試す/
まとめ
本記事では、HTMLとCSSを使ってシンプルなお問い合わせフォームを作成する方法を解説しました。
- HTMLでフォームを作成(
<form> <input><textarea> <button>を使用) - CSSでデザインを整える(フォームのレイアウト、ボタンのスタイル調整)
- スマホ対応のレスポンシブデザインを適用
まずはこの記事の内容を試しながら、自分のサイトに合ったお問い合わせフォームを作ってみてください。なお、用途に合わせてフォームをさらに使いやすくしたい場合は、以下の記事にて紹介している機能を追加するのも一つの方法です。あわせてご活用ください。
関連記事:
初心者向け!フォームの離脱防止アラートをHTMLとJavaScriptで簡単に実装する方法
フォームの条件分岐を簡単に実装する方法
フォームにカレンダー入力を追加する方法!日付選択を簡単にする
さらに、入力完了率を高めるフォーム設計や、問い合わせ受付後の対応・管理といった運用ノウハウについては、こちらの記事で詳しく解説しています。