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;
}
装飾のない「HTMLで作成した基本フォーム」と、余白や入力枠、緑色の送信ボタンなどデザインが整えられた「CSSを適用したフォーム」の比較

ポイント

  • フォーム全体に 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でフォームを作るのは難しそう…」「コードを書かずにすぐにお問い合わせフォームを設置したい!」そんな方には、②のノーコードで簡単にお問い合わせフォームを作成できる「フォームメーラー」 がおすすめです。

無料から始められるクラウド型メールフォーム作成サービス「フォームメーラー(FormMailer)」のWebサイトの画像

公式サイト:https://www.form-mailer.jp

フォームメーラーのメリット

  1. プログラミング不要
    コードを一切書かずに、ドラッグ&ドロップでフォームを作成可能。
  2. 即日利用OK
    アカウントを作成すれば、すぐにフォームを作成・公開できる。
  3. 自動返信メールやreCAPTCHA機能もすぐに設定可能
    投稿者への確認・サンクスメールも自動で返信可能。ロボット対策のreCAPTCHAも簡単に設定できます。
  4. WordPressやサイトへの設置も簡単
    作成したフォームのURLを貼るだけで、サイトに設置可能。外部設置でサイトにフォームを埋め込むことも可能。

「コードを書くのが苦手…」という方でも、簡単にプロ仕様のフォームが作れるので、ぜひ活用してみてください。

\フォームメーラーの有料機能を14日間無料で試す/

まとめ

本記事では、HTMLとCSSを使ってシンプルなお問い合わせフォームを作成する方法を解説しました。

  •  HTMLでフォームを作成(<form> <input> <textarea> <button> を使用)
  •  CSSでデザインを整える(フォームのレイアウト、ボタンのスタイル調整)
  •  スマホ対応のレスポンシブデザインを適用

まずはこの記事の内容を試しながら、自分のサイトに合ったお問い合わせフォームを作ってみてください。なお、用途に合わせてフォームをさらに使いやすくしたい場合は、以下の記事にて紹介している機能を追加するのも一つの方法です。あわせてご活用ください。

関連記事:
初心者向け!フォームの離脱防止アラートをHTMLとJavaScriptで簡単に実装する方法
フォームの条件分岐を簡単に実装する方法
フォームにカレンダー入力を追加する方法!日付選択を簡単にする

さらに、入力完了率を高めるフォーム設計や、問い合わせ受付後の対応・管理といった運用ノウハウについては、こちらの記事で詳しく解説しています。

関連記事:失敗しない問い合わせフォームの作り方|CV向上と業務効率化を両立する基本設計

フォームメーラー