フォーム・作成型テンプレートに準拠。本画面は非ログインでも閲覧・送信可能な全体公開ページ。ログイン状態では会員向けサイドバー付きシェルで表示し、氏名・所属法人・所属事業所・メールアドレスをアカウント情報から自動入力する。未ログイン状態ではサイドバーを持たない公開レイアウト(メイン全幅)で表示し、氏名・所属法人・メールアドレスを手入力、所属事業所は任意入力とする。パンくず→ページヘッダー→FAQ誘導パネル(ログイン状態のみ表示)→退会導線バナー→入力フォームカード→フッターアクション(確認ボタン)の縦1カラム構成は両状態共通。「送信内容を確認する」ボタンクリックで確認モーダルを表示し、モーダル内「送信する」で実際に送信する2ステップ構成。退会導線バナーは常時表示(F-CORP-007からの遷移・直接アクセス双方で表示)。
本画面は非ログインでも閲覧・送信可能(全体公開)。ログイン時は氏名・所属法人・所属事業所・メールアドレスをアカウント情報から自動入力(所属法人・所属事業所は変更不可)。非ログイン時は所属法人を手入力必須・所属事業所を手入力任意とする。FAQ(F-CMN-001)はログイン必須のため、非ログイン表示ではFAQ誘導を出さない。ログイン画面・パスワードリセット画面(F-AUTH-001/F-AUTH-003)からの問合せ導線あり。
フォームの自動入力値はログインユーザーのアカウント情報から取得。送信データはカスタムテーブル `lms_inquiries`(`inquiry_id`・`account_id`・`corp_id`/`site_id`・`sender_name`・`sender_email`・`corp_name_snapshot`/`site_name_snapshot`・`category`・`subject`・`body`・`status`・`received_at`)に保存。REST API: `POST /wp-json/lms/v1/inquiries`。対応ステータスは`open`(未対応)/`resolved`(対応済)の2値。送信後はSendGridを経由して事務局への通知メールとユーザー宛の自動返信メール(受付番号`INQ-{inquiry_id:06}`を含む)を送信。ダミー値は2026年度の福祉系ユーザー情報を使用。
「送信内容を確認する」ボタンクリック→確認モーダルを表示(入力値をモーダル内テーブルに反映)。モーダル内「修正する」クリック→モーダルを閉じてフォームに戻る。モーダル内「送信する」クリック→APIに送信→完了画面またはアラートを表示。問合せカテゴリが「退会」に変更された場合、件名フィールドの`placeholder`を「例:退会希望」に動的変更することを検討(実装時判断)。画面上部の表示状態切替(ログイン状態/未ログイン状態)はワイヤー確認用のモックであり、実装時のUI要素ではない。切替に伴い、パンくず表示・サイドバーの有無(未ログイン時は非表示・メイン全幅)・FAQ誘導パネルの表示有無(未ログイン時は非表示)・氏名/所属法人/所属事業所/メールアドレスの初期値と入力可否が変化する。
PC表示(1200px)を基準設計。タブレット(768px以下)では氏名・所属の2カラム`form-row`を1カラムに切り替え、フォームカードのpaddingを縮小。スマホ(480px以下)ではフッターアクションのボタンを全幅表示に変更。確認モーダルはビューポート幅に合わせて最大幅を調整。いずれの幅でも退会導線バナーは全幅表示を維持する。
送信はWordPress REST API経由で、ログイン時はNonce検証(`wp_create_nonce('wp_rest')`)を必須とする。CSRFトークンをフォームの隠しフィールドまたはHTTPヘッダーで送信する。本文フィールドはサーバーサイドで`sanitize_textarea_field()`を適用し、XSS・SQLインジェクションを防止。送信レートリミットは同一IPアドレス1分間に5回まで・同一メールアドレス1時間に10回まで・同一本文ハッシュ1時間に1回までとし、超過時はエラーを返す。フォームにハニーポット項目(非表示`website`フィールド)を設け、非空の場合は200レスポンスを返しつつ事務局通知・自動返信は送信しない(sink処理)。非ログイン送信時の自動返信メールは即時送信とせず、5分間の遅延キューを経由して送信する。`lms_inquiries`テーブルには`(category, received_at)`・`(status, received_at)`・`(corp_id, received_at)`・`(account_id, received_at)`にインデックスを設定。reCAPTCHA等の追加スパム対策は本機能Phase1の対象外とする。