@charset "utf-8";
/*
 * Contact Form 7 対応スタイル
 *
 * CF7 は入力欄を <span class="wpcf7-form-control-wrap"> で包むため、
 * そのままでは元のフォームのレイアウト（grid / flex）が崩れます。
 * ここでラッパーを「無いもの」として扱い、既存の見た目に揃えます。
 *
 * このファイルは Contact Form 7 が有効なときだけ読み込まれます。
 */

/* --- CF7のラッパーをレイアウトに影響させない --- */
#inquiry .wpcf7-form-control-wrap {
	display: contents;
}

/* display:contents 非対応ブラウザ向けのフォールバック */
@supports not (display: contents) {
	#inquiry .wpcf7-form-control-wrap {
		display: block;
	}

	#inquiry .cf-zip .wpcf7-form-control-wrap {
		display: inline-block;
		max-width: 16rem;
	}
}

/* --- フォーム本体（内蔵フォームと同じ枠に） --- */
#inquiry .wpcf7 {
	max-width: 760px;
	margin: 0 auto;
}

#inquiry .wpcf7-form.cf-form {
	max-width: none;
}

/* --- 送信ボタン（CF7 は <input type="submit">） --- */
#inquiry .cf-submit input[type="submit"],
#inquiry .cf-submit .wpcf7-submit {
	min-width: 26rem;
	padding: 1.5rem 4rem;
	border: none;
	border-radius: 5rem;
	background: #2A3C59;
	color: #fff;
	font-size: 1.7rem;
	font-family: inherit;
	font-weight: bold;
	letter-spacing: .08em;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: opacity .15s ease, transform .12s ease;
}

#inquiry .cf-submit input[type="submit"]:hover,
#inquiry .cf-submit .wpcf7-submit:hover {
	opacity: .85;
	transform: translateY(-1px);
}

#inquiry .cf-submit .wpcf7-submit:disabled {
	opacity: .5;
	cursor: default;
	transform: none;
}

@media screen and (max-width: 750px) {
	#inquiry .cf-submit input[type="submit"],
	#inquiry .cf-submit .wpcf7-submit {
		width: 100%;
		min-width: 0;
	}
}

/* --- 送信中のスピナー --- */
#inquiry .wpcf7-spinner {
	margin: 0 0 0 1rem;
	vertical-align: middle;
}

/* --- 同意チェックボックス --- */
#inquiry .cf-accept .wpcf7-acceptance,
#inquiry .cf-accept .wpcf7-list-item {
	display: block;
	margin: 0;
}

#inquiry .cf-accept .wpcf7-list-item-label {
	line-height: 1.8;
}

/* --- 添付ファイル --- */
#inquiry .cf-files .wpcf7-form-control-wrap {
	display: block;
}

#inquiry .cf-files input[type="file"] {
	font-size: 1.4rem;
}

/* --- 郵便番号（〒マークと横並び） --- */
#inquiry .cf-zip input[type="text"] {
	max-width: 16rem;
}

/* --- 入力エラー・送信結果のメッセージ --- */
#inquiry .wpcf7-not-valid-tip {
	display: block;
	margin-top: .6rem;
	font-size: 1.35rem;
	line-height: 1.7;
	color: #c0392b;
}

#inquiry .wpcf7-form-control.wpcf7-not-valid {
	border-color: #c0392b;
	background: #fffafa;
}

/* 送信前は結果表示の枠を出さない（CF7本体のCSSに依存しないよう明示） */
#inquiry .wpcf7-form.init .wpcf7-response-output,
#inquiry .wpcf7-form.resetting .wpcf7-response-output,
#inquiry .wpcf7-form.submitting .wpcf7-response-output,
#inquiry .wpcf7-response-output[aria-hidden="true"]:empty {
	display: none;
}

#inquiry .wpcf7-response-output {
	margin: 2.4rem 0 0;
	padding: 1em 1.2em;
	border: 1px solid #c9cdd4;
	border-radius: .6em;
	font-size: 1.6rem;
	line-height: 1.8;
	text-align: left;
}

#inquiry .wpcf7-form.sent .wpcf7-response-output {
	border-color: #4f9d69;
	background: #eaf7ee;
	color: #245c37;
}

#inquiry .wpcf7-form.invalid .wpcf7-response-output,
#inquiry .wpcf7-form.unaccepted .wpcf7-response-output,
#inquiry .wpcf7-form.payment-required .wpcf7-response-output {
	border-color: #d68910;
	background: #fdf6e7;
	color: #8a5a00;
}

#inquiry .wpcf7-form.failed .wpcf7-response-output,
#inquiry .wpcf7-form.aborted .wpcf7-response-output {
	border-color: #c0504d;
	background: #fdeeee;
	color: #8c2f2c;
}

/* --- reCAPTCHA v3 のバッジ（画面右下の固定バナーと重なるため位置を調整） --- */
.grecaptcha-badge {
	bottom: 90px !important;
	z-index: 9998 !important;
}

@media screen and (max-width: 750px) {
	.grecaptcha-badge {
		bottom: 100px !important;
	}
}
