/* ============================================================
   お問い合わせフォーム スタイル
   ============================================================ */

/* フォーム全体のテーブル */
.mw_wp_form table {
	width: 100%;
	border-collapse: collapse;
}

.mw_wp_form table tr {
	border-bottom: 1px solid #e0e0e0;
}

/* ラベル（項目名）列 */
.mw_wp_form table th {
	width: 220px;
	padding: 16px 20px;
	background: #f5f5f5;
	font-weight: normal;
	text-align: left;
	vertical-align: middle;
	font-size: 0.95em;
	white-space: nowrap;
}

/* 入力欄列 */
.mw_wp_form table td {
	padding: 12px 16px;
	vertical-align: middle;
}

/* 必須マーク */
.mw_wp_form .mwform-required {
	display: inline-block;
	margin-left: 6px;
	padding: 2px 6px;
	background: #c0392b;
	color: #fff;
	font-size: 0.7em;
	border-radius: 3px;
	vertical-align: middle;
}

/* テキスト入力・セレクト共通 */
.mw_wp_form input[type="text"],
.mw_wp_form input[type="email"],
.mw_wp_form input[type="tel"],
.mw_wp_form select {
	width: 100%;
	max-width: 480px;
	padding: 10px 14px;
	border: 1px solid #bbb;
	border-radius: 4px;
	background: #fff;
	font-size: 1em;
	color: #333;
	transition: border-color 0.2s, box-shadow 0.2s;
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
}

/* テキストエリア */
.mw_wp_form textarea {
	width: 100%;
	max-width: 640px;
	padding: 10px 14px;
	border: 1px solid #bbb;
	border-radius: 4px;
	background: #fff;
	font-size: 1em;
	color: #333;
	min-height: 160px;
	resize: vertical;
	transition: border-color 0.2s, box-shadow 0.2s;
	box-sizing: border-box;
}

/* フォーカス時 */
.mw_wp_form input[type="text"]:focus,
.mw_wp_form input[type="email"]:focus,
.mw_wp_form input[type="tel"]:focus,
.mw_wp_form select:focus,
.mw_wp_form textarea:focus {
	outline: none;
	border-color: #4a90a4;
	box-shadow: 0 0 0 3px rgba(74, 144, 164, 0.15);
}

/* プレースホルダー */
.mw_wp_form input::placeholder,
.mw_wp_form textarea::placeholder {
	color: #aaa;
	font-size: 0.9em;
}

/* セレクトボックス（矢印付き） */
.mw_wp_form select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M0 0l6 8 6-8z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 36px;
	cursor: pointer;
}

/* エラーメッセージ */
.mw_wp_form .error,
.mw_wp_form .mwform-error {
	display: block;
	margin-top: 6px;
	color: #c0392b;
	font-size: 0.85em;
}

/* 確認画面・送信ボタン */
.mw_wp_form .submit-wrap,
.mw_wp_form .mwform-submit-item {
	text-align: center;
	padding: 24px 0 8px;
}

.mw_wp_form input[type="submit"] {
	display: inline-block;
	padding: 14px 60px;
	background: #2c3e50;
	color: #fff;
	border: none;
	border-radius: 4px;
	font-size: 1em;
	letter-spacing: 0.1em;
	cursor: pointer;
	transition: background 0.2s;
}

.mw_wp_form input[type="submit"]:hover {
	background: #4a90a4;
}

/* スマートフォン対応 */
@media screen and (max-width: 768px) {
	.mw_wp_form table,
	.mw_wp_form table tbody,
	.mw_wp_form table tr,
	.mw_wp_form table th,
	.mw_wp_form table td {
		display: block;
		width: 100%;
	}

	.mw_wp_form table th {
		padding: 10px 14px 6px;
		white-space: normal;
	}

	.mw_wp_form table td {
		padding: 6px 14px 14px;
	}

	.mw_wp_form input[type="text"],
	.mw_wp_form input[type="email"],
	.mw_wp_form input[type="tel"],
	.mw_wp_form select,
	.mw_wp_form textarea {
		max-width: 100%;
	}
}
