@charset "UTF-8";
/*
 * 問い合わせページ専用。本文にCF7のショートコードがあるページでだけ読み込む。
 * 全体の余白・ロゴ・見出しの扱いは page.css 側にある。ここはフォームの見た目だけ。
 *
 * 数値は現行サイトを1440pxで実測した値。
 *   フォームの幅 … 960px 中央（左端x=240）
 *   ラベル      … 15px / #4B4F58
 *   入力欄      … 高さ49px・地色 #FAFAFA・枠 1px #DDD・角丸2px・内側11.25px
 *   本文欄      … 高さ272px
 *   送信ボタン  … 110×35px・黒地に白文字・角丸なし・左寄せ
 */

.kakoi-contact .wpcf7 {
	max-width: 960px;
	margin-inline: auto;
	text-align: left; /* ページ全体は中央ぞろえだが、フォームは左ぞろえ */
}

.kakoi-contact .wpcf7 p {
	margin: 0 0 20px;
	font-size: 15px;
	line-height: 1.65;
	letter-spacing: normal;
	color: #4b4f58;
}

.kakoi-contact .wpcf7 label {
	display: block;
	font-size: 15px;
	line-height: 1.65;
	color: #4b4f58;
}

.kakoi-contact .wpcf7 input[type="text"],
.kakoi-contact .wpcf7 input[type="email"],
.kakoi-contact .wpcf7 input[type="tel"],
.kakoi-contact .wpcf7 textarea {
	display: block;
	width: 100%;
	margin-top: 4px;
	padding: 11.25px;
	border: 1px solid #ddd;
	border-radius: 2px;
	background: #fafafa;
	color: #666;
	font-family: inherit;
	font-size: 15px;
	line-height: 1.65;
	letter-spacing: normal;
}

.kakoi-contact .wpcf7 textarea {
	height: 272px;
	resize: vertical;
}

.kakoi-contact .wpcf7 input:focus,
.kakoi-contact .wpcf7 textarea:focus {
	outline: 2px solid var(--wp--preset--color--secondary, #433c03);
	outline-offset: 1px;
}

/* 確認のチェックは、四角と文字を同じ行にそろえる。 */
.kakoi-contact .wpcf7 .wpcf7-checkbox .wpcf7-list-item {
	margin: 0;
}

.kakoi-contact .wpcf7 .wpcf7-list-item label {
	display: flex;
	align-items: center;
	gap: 10px;
}

.kakoi-contact .wpcf7 input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: 0;
	flex: none;
}

/* 送信ボタン。現行サイトは黒地・角丸なし・左寄せ。 */
.kakoi-contact .wpcf7 input[type="submit"],
.kakoi-contact .wpcf7 .wpcf7-submit {
	margin-top: 16px;
	padding: 10px 40px;
	border: 0;
	border-radius: 0;
	background: #000;
	color: #fff;
	font-family: inherit;
	font-size: 15px;
	line-height: 1;
	letter-spacing: normal;
	cursor: pointer;
}

.kakoi-contact .wpcf7 input[type="submit"]:hover,
.kakoi-contact .wpcf7 input[type="submit"]:focus-visible {
	background: #333;
}

/* 送信中・エラー・完了の案内文 */
.kakoi-contact .wpcf7 .wpcf7-response-output {
	margin: 20px 0 0;
	padding: 12px 16px;
	font-size: 14px;
	letter-spacing: normal;
}

.kakoi-contact .wpcf7 .wpcf7-not-valid-tip {
	font-size: 13px;
	letter-spacing: normal;
	color: #b3261e;
}

@media (max-width: 767px) {
	.kakoi-contact .wpcf7 textarea {
		height: 200px;
	}
}

/* 2026-10-03 本番の幅別フォーム幅（1024px:810 ／ 768px:591 ／ 390px:295＝左右47px）と文字・欄の大きさ */
@media (min-width: 768px) and (max-width: 1200px) {
	.kakoi-contact .wpcf7 { max-width: min(calc(85.5vw - 66px), 810px); } /* 1200pxまで広げたため810pxで頭打ち */
}

@media (max-width: 767px) {
	.kakoi-contact .wpcf7 { max-width: calc(100vw - 94px); }
}

@media (max-width: 1200px) {
	.kakoi-contact .wpcf7 p,
	.kakoi-contact .wpcf7 label,
	.kakoi-contact .wpcf7 input[type="text"],
	.kakoi-contact .wpcf7 input[type="email"],
	.kakoi-contact .wpcf7 input[type="tel"],
	.kakoi-contact .wpcf7 textarea {
		font-size: 13.68px;
	}

	.kakoi-contact .wpcf7 input[type="text"],
	.kakoi-contact .wpcf7 input[type="email"],
	.kakoi-contact .wpcf7 input[type="tel"],
	.kakoi-contact .wpcf7 textarea {
		padding: 10.26px;
	}

	.kakoi-contact .wpcf7 textarea { height: 248px; }
}

/* 2026-10-12 自動判定（Turnstile）を送信ボタンの直前へ移したので、下に余白を取る */
.kakoi-contact .wpcf7 .wpcf7-turnstile { margin: 0 0 4px; }

/* 2026-10-12 幅360px未満では、自動判定の枠（幅300pxで固定）がフォームより広くなり横にはみ出すため、縮めて表示する */
@media (max-width: 359px) {
	.kakoi-contact .wpcf7 .wpcf7-turnstile { transform: scale(.74); transform-origin: 0 0; height: 50px; }
}
