/* v4 シェル:左パネル / 右ナビ(スクロールスパイ)/ 中央 / モバイルCTA */ // ===== フォーム送信設定(ここを変更すれば差し替え可能)===== const FORM_TO = "nakamura@nts-kyushu.co.jp"; // 申込みメールの主たる届け先 const FORM_CC = "satsuki@nts-kyushu.co.jp,haruhisa.nts@icloud.com,otoiawase@ritou-hikkoshi.com,info@nts-kyushu.co.jp,keiri@nts-kyushu.co.jp,yamaguchitakuya0112@gmail.com"; // 同報先 const FORM_ACTION = "https://formsubmit.co/" + FORM_TO; // FormSubmit エンドポイント const THANKS_URL = "https://ritou-hikkoshi.com/thanks/"; // 送信後の遷移先 const AUTO_REPLY = "この度は中村トランスポートへお問い合わせをいただき、誠にありがとうございます。\n\n" + "お送りいただいた内容を確認のうえ、担当者より24時間以内にご連絡を差し上げます。\n" + "お急ぎの場合は、お電話(0957-53-5656/年中無休・24時間受付)でも承っております。\n\n" + "※本メールは自動送信です。ご不明な点はお電話にてお問い合わせください。\n\n" + "中村トランスポート株式会社\n遺品整理・特殊清掃・生前整理"; function ContactForm() { const [s, setS] = React.useState({ name: "", email: "", phone: "", address: "", layout: "", message: "" }); const [errors, setErrors] = React.useState({}); const up = (k) => (e) => {setS((p) => ({ ...p, [k]: e.target.value }));if (errors[k]) setErrors((er) => ({ ...er, [k]: null }));}; const submit = (e) => { const er = {}; if (!s.name.trim()) er.name = "お名前をご入力ください"; if (!s.phone.trim()) er.phone = "お電話番号をご入力ください";else if (!/^[\d\-+() ]{7,}$/.test(s.phone.trim())) er.phone = "正しい電話番号をご入力ください"; if (s.email.trim() && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(s.email.trim())) er.email = "正しいメールアドレスをご入力ください"; if (Object.keys(er).length > 0) { e.preventDefault(); // エラーがあれば送信中止 setErrors(er); return; } // 問題なければそのまま FormSubmit へ送信 → サンクスページへ遷移 }; const inp = (name) => ({ width: "100%", padding: "14px 14px", fontSize: 16, borderRadius: "var(--r-sm)", border: `1.5px solid ${errors[name] ? "var(--coral)" : "var(--line)"}`, background: "var(--surface-2)", fontFamily: "inherit", color: "var(--ink)", minHeight: 52 }); const fieldWrap = { marginBottom: 16 }; const labelStyle = { display: "flex", alignItems: "center", gap: 8, fontSize: 14, fontWeight: 700, marginBottom: 7 }; const reqBadge = { background: "var(--coral)", color: "#fff", fontSize: 10, padding: "2px 7px", borderRadius: 4 }; const optBadge = { background: "var(--surface-3)", color: "var(--ink-mute)", fontSize: 10, padding: "2px 7px", borderRadius: 4 }; const errStyle = { fontSize: 12, color: "var(--coral)", marginTop: 4 }; return (
CONTACT

無料相談・無料お見積り

「金額だけ知りたい」でも大丈夫。
お電話・LINE・フォームのご希望の方法で、お気軽に。

{/* 3つの導線 */}
【お急ぎの方はこちら】
電話で相談する「今から来れますか?」など緊急のご相談 LINEで写真を送って相談写真を送るだけでも大丈夫です フォームから相談する電話やLINEが難しい方はこちら
お電話でのご相談
{TEL}
年中無休・24時間受付
最短30分〜1時間対応 立会不要・写真報告対応
{/* FormSubmit 設定 */}
{errors.name &&
{errors.name}
}
{errors.phone &&
{errors.phone}
}
{errors.email &&
{errors.email}
}
{errors.address &&
{errors.address}
}