
以下の仕様に基づいて、安全なPHP + JavaScriptによる投票システムを構築してください。

【目的】
シンプルかつ安全なWeb投票所を作成する。

【構成】
- フロントエンド: HTML + JavaScript (fetch APIを使用したAjax)
- バックエンド: PHP
- データ保存: MySQLを使わず、`data.json` にJSON形式で保存
- フォルダ構成:
    vote_ajax_file/
    ├── index.php        ← 投票フォーム（Ajax送信）
    ├── vote.php         ← 投票処理（ファイル保存）
    ├── result.php       ← 投票結果表示
    └── data.json        ← 投票データ保存ファイル（初期は `{ "votes": {}, "log": [] }`）

【機能要件】
- 投票はAjax（JavaScriptのfetch）により非同期送信
- PHPは受け取った投票内容を`data.json`ファイルに記録
- 投票は1人1回まで（制限方法: IPアドレス + Cookie による重複チェック）
- 結果表示は`result.php`にて、`data.json`を読み込んで一覧表示
- 同時アクセスに対してファイル書き込み時に排他ロック(flock)を使用
- Cookieは投票ページで発行（1年間有効のランダムID）

【備考】
- 最初の`data.json`は空オブジェクト（例: `{ "votes": {}, "log": [] }`）で始める
- 投票済みの場合は再投票できないようメッセージを返す
- 投票後はAjaxのレスポンスに応じて、画面に投票完了メッセージを表示する

この仕様に従って今後も設計・開発を継続してください。
