/* --- WPCF7 コンテナと初期設定 --- */

/* 簡略化：ほとんどの場所で div.wpcf7 は不要だが、初期化として保持 */
.wpcf7 {
	/* marginとpaddingの初期化は、リセットCSSで対応していれば削除可能 */
	margin: 0;
	padding: 0;
}

/* 視覚的な非表示（アクセシビリティ対応）の現代的な書き方 */
.wpcf7 .screen-reader-response {
	position: absolute;
	/* clip: rect(...) の代替として、推奨されるsr-onlyの書き方 */
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px; /* 1pxを打ち消すため */
	overflow: hidden;
	clip: rect(0, 0, 0, 0); /* 旧ブラウザ互換性のための残し */
	white-space: nowrap; /* 必須ではないが、安全のため */
	border-width: 0;
}

/* --- メッセージ出力エリア --- */

/* セレクタ簡略化: div.wpcf7 を削除 */
.wpcf7-response-output {
	margin: 2em 0.5em 1em;
	padding: 0.2em 1em;
}

/* メッセージ種別ごとの境界線と色の設定を集約 */
/* ボーダー幅が全て 2px solid なので、共通化。色は種別ごとに設定 */
.wpcf7-mail-sent-ok {
	border: 2px solid #398f14; /* 成功 */
}

.wpcf7-mail-sent-ng {
	border: 2px solid #ff0000; /* 失敗 */
}

.wpcf7-spam-blocked {
	border: 2px solid #ffa500; /* スパム */
}

.wpcf7-validation-errors {
	border: 2px solid #f7e700; /* 入力エラー */
}

/* --- フォーム要素周辺 --- */

/* エラーメッセージのラッパー */
.wpcf7-form-control-wrap {
	position: relative;
}

/* バリデーションエラーのヒント */
/* セレクタ簡略化: span.wpcf7-not-valid-tip を .wpcf7-not-valid-tip に */
.wpcf7-not-valid-tip {
	color: #f00;
	font-size: 1em;
	display: block;
}

/* フローティングヒントのスタイル（複雑なセレクタは維持） */
.use-floating-validation-tip .wpcf7-not-valid-tip {
	position: absolute;
	top: 20%;
	left: 20%;
	z-index: 100;
	border: 1px solid #ff0000;
	background: #fff;
	padding: .2em .8em;
}

/* リストアイテム (チェックボックス/ラジオボタンなど) */
/* セレクタ簡略化: span.wpcf7-list-item を .wpcf7-list-item に */
.wpcf7-list-item {
	margin-left: 0.5em;
}

/* 非表示要素 */
.wpcf7-display-none {
	display: none;
}

/* Ajaxローダー */
/* セレクタ簡略化: img.ajax-loader を .ajax-loader に */
.wpcf7 img.ajax-loader { /* 親セレクタを残して、競合を避ける */
	border: none;
	vertical-align: middle;
	margin-left: 4px;
}

/* Ajaxエラーは display: none で良い */
.wpcf7 div.ajax-error {
	display: none;
}

/* プレースホルダ代替 (古いブラウザ用) */
/* セレクタ簡略化: .placeheld に */
.wpcf7 .placeheld {
	color: #888;
}

/* reCAPTCHA iframe のマージン */
/* セレクタ簡略化: iframe に */
.wpcf7 .wpcf7-recaptcha iframe {
	margin-bottom: 0;
}

/* ファイル選択ボタンのカーソル */
/* div.wpcf7 は不要だが、特定の要素を限定するため残す */
.wpcf7 input[type="file"] {
	cursor: pointer;
}

.wpcf7 input[type="file"]:disabled {
	cursor: default;
}