/* お問い合わせ 専用 */
.hc-contact-hero__img { width: 100%; height: auto; display: block; border-radius: 24px; }
.hc-contact-heading { text-align: center; margin:87px 0 60px; }
.hc-contact-heading img { height:clamp(2.5rem, 4.5vw, 4.2rem); width: auto; }

.hc-contact { max-width: 820px; padding-bottom: 40px; }


.hc-form__label p{
	font-size: 20px;
font-weight:600;
}
/* ラベル左・入力欄右の2カラム（デザイン準拠：実線区切り） */
.hc-form__row { display: grid; grid-template-columns: 230px 1fr; gap: 20px; align-items: start; border-bottom: 1px solid #3b3a38; padding: 26px 0; }
.hc-form__row:first-child { border-top: 1px solid #3b3a38; }
.hc-form__label { display: flex; align-items: center; gap: 2px; font-family: var(--font-sans); font-weight: 700; font-size: 1.02rem; color: var(--ink); margin: 12px 0 0; }
.hc-form__req { font-size: 15px; color: #e60012; font-weight: 700; }
.hc-form__control input, .hc-form__control textarea {
	width: 100%; border: 1px solid #c9c7c0; border-radius: 8px; background: #fff;
	padding: 12px 14px; font-family: var(--font-sans); font-size: 1rem; color: var(--ink);
}
.hc-form__control textarea { min-height: 300px; }
.hc-form__control input:focus, .hc-form__control textarea:focus { outline: 2px solid var(--green); border-color: var(--green); }
.hc-form__control.is-error input, .hc-form__control.is-error textarea { border-color: var(--crimson); background: #fdf1f4; }

/* プライバシー・アクション */
.hc-form__privacy { font-size:16px; margin: 20px 0; }
.hc-form__privacy a { color: var(--ink); text-decoration: underline; }
.hc-form__privacy a:hover { color: var(--green-d); }
.hc-form__actions { display: flex; gap: 16px; justify-content: center; margin-top: 24px; position: relative; }
/* CF7が送信ボタン直後に挿入する .wpcf7-spinner が中央寄せをずらすため、フローから外す */
.hc-form__actions .wpcf7-spinner { position: absolute; left: 50%; transform: translateX(-50%); bottom: -34px; margin: 0; }

/* CF7 レイアウト調整 */
.hc-form__control input.wpcf7-not-valid, .hc-form__control textarea.wpcf7-not-valid { border-color: var(--crimson); background: #fdf1f4; }
.wpcf7-not-valid-tip { color: var(--crimson); font-size: .8rem; margin-top: 4px; display: block; }
.wpcf7-response-output { border-radius: 10px; padding: 12px 16px !important; margin: 20px 0 0 !important; font-size: .9rem; }
/* 送信・確認・戻るボタン（デザイン準拠：どちらも緑・PC幅200px） */
.hc-contact input.wpcf7-submit,
.hc-contact input.wpcf7-previous {
	width: 200px;
    background: var(--green);
    color: #fff;
    font-family: var(--font-round);
    font-weight: 700;
    padding: 12px 0;
    text-align: center;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    transition: background .2s;
    font-size: 19px;
}
.hc-contact input.wpcf7-submit:hover,
.hc-contact input.wpcf7-previous:hover { background: var(--green-d); }

/* 確認画面（メールフォーム確認画面.jpg 準拠） */
.hc-contact--confirm { padding-top:70px; }
.hc-confirm-lead { text-align: center; font-size: .95rem; margin: 0 0 30px; }
.hc-confirm-list { max-width: 700px; margin: 0 auto 34px; border-top: 1px solid #3b3a38; }
/* CF7のautopが差し込む <br> や <p> がグリッドを崩すため打ち消す
   （値の中のユーザー改行 <br> は消さないよう直下のみ対象） */
.hc-confirm-list > br, .hc-confirm-row > br { display: none; }
.hc-confirm-list p { margin: 0; }
.hc-confirm-row { display: grid; grid-template-columns: 170px 1fr; gap: 16px; padding: 20px 8px; border-bottom: 1px solid #3b3a38; }
.hc-confirm-label { font-family: var(--font-sans); font-weight: 700; color: var(--ink); }
/* ※white-space:pre-wrap はマークアップ整形の改行まで描画してしまうため使わない
   （テキストエリアの改行は autop が <br> に変換する） */
.hc-confirm-val { color: var(--ink); }

/* 確認画面ボタンエリア：他ページ非影響スコープ */
.hc-form--confirm .hc-form__actions { gap: 32px; margin-top: 36px; flex-wrap: wrap; }
/* CF7 autop が <p> でラップした場合、子要素を直接フレックスアイテムにする */
.hc-form--confirm .hc-form__actions p { display: contents; }

@media (max-width: 768px) {
	.hc-contact-hero__img { border-radius: 16px; }
	.hc-form__row { grid-template-columns: 1fr; gap: 8px; padding: 16px 0; }
	.hc-form__label { margin: 0; }
	.hc-confirm-row { grid-template-columns: 1fr; gap: 4px; padding: 14px 8px; }
	.hc-form__actions { flex-direction: column; align-items: center; }
	.hc-form--confirm .hc-form__actions { flex-direction: row; justify-content: center; gap: 20px; }
	
   .hc-contact-heading{margin:28px 0 30px;}
.hc-form__row p{
margin:5px 0;
font-size:16px;
	}
}
