+ 作るログイン
1 / 15
Cloudflare のすべて ― 1機能ずつ、仕組みと存在理由から / 全35本

Cloudflare 30:AI Gateway ― AI の呼び出しの前に立つ関所

発行
アニメモ公式
版
第2版
改訂
コマ
全15

OpenAI・Anthropic・Workers AI などの AI の呼び出しを、Cloudflare を経由させて見える化する AI Gateway を、直接呼ぶと何に困るのかから説明します。キャッシュ・回数制限・記録・費用の集計・再試行と切り替えの仕組み、URL の差し替え方と TypeScript のコード例、料金と落とし穴まで。

なぜ、AI の呼び出しに「関所」が要るのか

アプリに AI を組み込むと、コードのあちこちから AI の API を呼ぶようになります。チャットの画面、要約のボタン、夜中に動く分類の処理。呼び先も、OpenAI、Anthropic、Workers AI(28号)と、1つとは限りません。

最初は、それぞれの場所から AI の会社の API を直接呼べば十分に見えます。ところが、利用者が増えてくると、次のような質問に答えられなくなります。

「先月、AI にいくら使った? どの機能がいちばん高い?」「昨日の夜、答えが遅かったのはなぜ?」「同じ質問に、何度もお金を払っていない?」「AI の会社が止まったら、うちのアプリはどうなる?」

どれも、呼び出しが1か所を通っていないから答えられないのです。

この号で扱う AI Gateway は、アプリと AI の提供元の間に立つ関所です。すべての呼び出しをここに通すことで、記録を取り、同じ答えを使い回し、使いすぎを止め、失敗したら別の道を選べるようになります。

※この号の内容は 2026年9月時点の情報です。AI Gateway は機能の追加や呼び出し方の変更が多い製品です。料金・上限・書き方は、使う前に必ず公式のドキュメントで確かめてください。

  • Cloudflare のすべて 30 ― AI Gateway
  • 1 / 15
  • なぜ、AI の呼び出しに「関所」が要るのか
  • ?
  • あなたのアプリ
  • AI の提供元
  • Worker・サーバー
  • OpenAI・Anthropic ほか
  • AI の API を直接呼ぶと、何が起きているのかが見えない。

直接呼ぶと:費用も障害も、呼び出し元ごとにばらばら

AI Gateway を使わずに、アプリから各社の API を直接呼んでいる状態を考えます。

困りごと中身
費用が見えないいくら使ったかは、月末に各社から届く請求書で初めて分かる
同じ質問に毎回払うよくある質問への答えも、毎回 AI に作らせて料金がかかる
使い倒される1人の利用者がボタンを連打すると、そのぶん請求が増える
原因が追えない遅い・おかしな答えが返った、という報告があっても、何を送って何が返ったかが残っていない
止まると止まる提供元に障害が起きると、アプリの AI 機能も止まる
鍵が散らばるAPI キーが、いろいろなサーバーや設定に置かれている

これらを解決するために、アプリの中に「記録する仕組み」「キャッシュする仕組み」「回数を数える仕組み」を自分で作ることもできます。でも、それを呼び出し元ごと、提供元ごとに作るのは大変です。

そこで、呼び出しを全部1か所に集めて、そこでまとめて面倒を見るという発想が出てきます。

  • Cloudflare のすべて 30 ― AI Gateway
  • 2 / 15
  • 直接呼ぶと:費用も障害も、呼び出し元ごとにばらばら
  • OpenAI
  • あなたのアプリ
  • Anthropic
  • Workers AI
  • 同じ質問にも毎回課金 / 1人の利用者が使い倒せる / 提供元が落ちたら止まる
  • API キーが各所に散らばる。費用は月末の請求書で初めて知る
  • いくら使ったか・なぜ遅いか・止まったらどうするかが分からない。

一言でいうと:アプリと AI の提供元の間に立つプロキシ

AI Gateway は、AI の API のためのプロキシ(代理人)です。アプリは提供元に直接ではなく、AI Gateway に依頼を送ります。AI Gateway はそれを提供元に転送し、返ってきた答えをアプリに返します。その途中で、いろいろな仕事をします。

これは、00号で見た Cloudflare の基本の形(利用者とオリジンの間に立つリバースプロキシ)と同じです。違うのは、守る相手が「あなたのサーバー」ではなく「あなたが AI にかける費用と、AI の呼び出しの流れ」であることです。

機能何をするか
キャッシュ同じ依頼には、保存しておいた答えを返す
回数制限決めた回数を超えた呼び出しを止める
記録(ログ)依頼と答え、かかった時間、トークン数を残す
費用の集計提供元ごと・モデルごとの使用額の目安を出す
再試行・切り替え失敗したら、もう一度試す・別のモデルに回す

導入のしかたは、驚くほど簡単です。呼び出し先の URL を、AI Gateway の URL に変えるだけです。OpenAI や Anthropic の SDK は、そのまま使えます。

  • Cloudflare のすべて 30 ― AI Gateway
  • 3 / 15
  • 一言でいうと:アプリと AI の提供元の間に立つプロキシ
  • AI Gateway(Cloudflare のエッジ)
  • キャッシュ:同じ質問には保存した答え
  • 回数制限:使いすぎを止める
  • あなたのアプリ
  • 記録:質問と答え・時間・トークン数
  • AI の提供元
  • Worker・サーバー
  • 費用:提供元ごと・モデルごとに集計
  • OpenAI・Anthropic ほか
  • 再試行・切り替え:失敗したら次へ
  • AI への依頼
  • URL を1つ変えるだけで、全部の呼び出しが Cloudflare を通る。

キャッシュ:同じ質問には、保存しておいた答えを返す

最初の機能はキャッシュです。02号で見た CDN のキャッシュと、考え方は同じです。

ある依頼に対する答えを、AI Gateway が一定の時間覚えておきます。次にまったく同じ依頼が来たら、提供元には送らず、覚えていた答えをその場で返します。

利点中身
速いAI が考える時間がかからない。すぐに返る
安い提供元に送らないので、そのぶんの料金がかからない
提供元の制限に当たりにくい提供元の「1分あたりの回数」を使わずに済む

どのくらいの時間覚えておくか(TTL)は、ゲートウェイの設定で決められます。依頼ごとに変えたいときは、cf-aig-cache-ttl というヘッダーで秒数を指定します。逆に、この依頼だけはキャッシュを使いたくない、というときは cf-aig-skip-cache のヘッダーで飛ばせます。

効果が大きいのは、「よくある質問への回答」「同じ商品説明の要約」「決まった文章の翻訳」のように、同じ依頼が何度も来る場面です。一方で、1人ずつ違う会話のような依頼には、ほとんど当たりません。

  • Cloudflare のすべて 30 ― AI Gateway
  • 4 / 15
  • キャッシュ:同じ質問には、保存しておいた答えを返す
  • AI Gateway(Cloudflare のエッジ)
  • ← 保存済み
  • キャッシュ:同じ質問には保存した答え
  • 回数制限:使いすぎを止める
  • あなたのアプリ
  • 記録:質問と答え・時間・トークン数
  • AI の提供元
  • Worker・サーバー
  • 費用:提供元ごと・モデルごとに集計
  • OpenAI・Anthropic ほか
  • 再試行・切り替え:失敗したら次へ
  • 提供元に行かないので、速くて、料金もかからない。

回数制限:1つのゲートウェイへの呼び出しを絞る

2つめの機能は回数制限(レート制限)です。

AI の API は、呼んだぶんだけ料金がかかります。アプリのバグで同じ呼び出しがループしたり、悪意のある人がボタンを連打したりすると、請求があっという間に膨らみます。

AI Gateway では、ゲートウェイごとに「一定の時間に何回まで」という上限を決められます。上限を超えた呼び出しは、提供元に送られずに AI Gateway が断ります。つまり、お金がかかる手前で止まるのです。

設定例
回数100 回
時間の幅60 秒
数え方固定の区切りで数える、または直近の幅で数える

ただし、この上限はゲートウェイ全体に対するものです。「利用者1人あたり1分に5回まで」のように人ごとに絞りたいときは、Worker の中で数えるか、06号のレート制限(Workers の Rate Limiting バインディングなど)を組み合わせます。AI Gateway の回数制限は、「全体として、これ以上は絶対に使わない」という最後の安全装置と考えるとよいでしょう。

  • Cloudflare のすべて 30 ― AI Gateway
  • 5 / 15
  • 回数制限:1つのゲートウェイへの呼び出しを絞る
  • AI Gateway(Cloudflare のエッジ)
  • ← 断る
  • キャッシュ:同じ質問には保存した答え
  • 回数制限:使いすぎを止める
  • あなたのアプリ
  • 記録:質問と答え・時間・トークン数
  • AI の提供元
  • Worker・サーバー
  • 費用:提供元ごと・モデルごとに集計
  • OpenAI・Anthropic ほか
  • 再試行・切り替え:失敗したら次へ
  • 上限を超えた呼び出しは、提供元に送らずに断る。

記録:すべての呼び出しを、あとから見られる

3つめの機能は記録(ログ)です。AI Gateway を通った呼び出しは、1件ずつ記録されます。

記録される主なもの使い道
送った依頼(プロンプト)おかしな答えの原因を調べる
返ってきた答え品質の確認、改善のための材料
かかった時間遅い原因が AI 側かどうかを見分ける
トークン数費用の計算、長すぎる依頼の発見
成功・失敗、キャッシュに当たったか障害の把握、キャッシュの効き具合

管理画面では、これらを一覧で見たり、条件で絞り込んだりできます。「利用者から変な答えが返ったと報告があった」というとき、その時刻の記録を開けば、実際に何を送り、何が返ったのかが分かります。

ただし、依頼と答えがそのまま残るということは、そこに個人情報や社外秘の内容が含まれていれば、それも残るということです。記録を残すかどうかはゲートウェイごと・依頼ごとに切り替えられます。扱うデータに合わせて設定しましょう(落とし穴のページでも触れます)。

  • Cloudflare のすべて 30 ― AI Gateway
  • 6 / 15
  • 記録:すべての呼び出しを、あとから見られる
  • AI Gateway(Cloudflare のエッジ)
  • キャッシュ:同じ質問には保存した答え
  • 回数制限:使いすぎを止める
  • あなたのアプリ
  • 記録:質問と答え・時間・トークン数
  • AI の提供元
  • Worker・サーバー
  • 費用:提供元ごと・モデルごとに集計
  • OpenAI・Anthropic ほか
  • 再試行・切り替え:失敗したら次へ
  • 記録
  • 何を聞かれ、何を答え、何秒かかり、何トークン使ったか。

費用:提供元ごと・モデルごとに、使った額を見る

4つめの機能は費用の集計です。記録したトークン数と、各モデルの料金表を元に、どの提供元の、どのモデルに、いくら使ったかの目安を出してくれます。

管理画面の分析のページでは、リクエスト数、トークン数、費用、エラー数、キャッシュに当たった割合などを、時間の流れに沿ったグラフで見られます。

これにより、たとえば次のようなことが分かります。

気づき次の一手
要約の機能だけ費用が大きい小さなモデルに替えられないか試す
キャッシュがほとんど当たっていない依頼の作り方を揃えて、同じ依頼になるようにする
夜中に呼び出しが急増しているバッチ処理のバグや乱用を疑う

表示される費用は、あくまで目安です。提供元の料金の変更がすぐ反映されないこともあります。正式な金額は、各提供元の請求で確かめてください。

  • Cloudflare のすべて 30 ― AI Gateway
  • 7 / 15
  • 費用:提供元ごと・モデルごとに、使った額を見る
  • AI Gateway(Cloudflare のエッジ)
  • キャッシュ:同じ質問には保存した答え
  • 回数制限:使いすぎを止める
  • あなたのアプリ
  • 記録:質問と答え・時間・トークン数
  • AI の提供元
  • Worker・サーバー
  • 費用:提供元ごと・モデルごとに集計
  • OpenAI・Anthropic ほか
  • 再試行・切り替え:失敗したら次へ
  • 集計
  • 月末の請求書を待たずに、どこでお金を使っているかが分かる。

再試行と切り替え:失敗したら、別のモデルへ

5つめの機能は、失敗への備えです。

AI の提供元も、ときどき遅くなったり、エラーを返したり、止まったりします。そのたびにアプリの AI 機能が止まるのは困ります。

AI Gateway では、失敗したときにもう一度試す(再試行)ことや、別のモデル・別の提供元に回す(フォールバック)ことを設定できます。たとえば「まず OpenAI のモデルに頼み、失敗したら Workers AI のモデルで答える」といった形です。

2026年9月時点では、こうした振り分けはダイナミックルーティング(Dynamic Routing)という仕組みで設定するのが基本になっています。以前あった「Universal Endpoint」(依頼の中に複数の提供元を並べて順に試す方法)は、非推奨になっています。古い記事の書き方をそのまま真似しないよう注意してください。

アプリのコードに「失敗したら別の会社の API を呼ぶ」処理を書くと、提供元ごとの書き方の違いを全部アプリが抱えることになります。関所の側で切り替えれば、アプリは1つの呼び方のままで済みます。

  • Cloudflare のすべて 30 ― AI Gateway
  • 8 / 15
  • 再試行と切り替え:失敗したら、別のモデルへ
  • AI Gateway(Cloudflare のエッジ)
  • キャッシュ:同じ質問には保存した答え
  • 失敗→次へ
  • 回数制限:使いすぎを止める
  • あなたのアプリ
  • 記録:質問と答え・時間・トークン数
  • AI の提供元
  • Worker・サーバー
  • 費用:提供元ごと・モデルごとに集計
  • OpenAI・Anthropic ほか
  • 再試行・切り替え:失敗したら次へ
  • 提供元が止まっても、アプリは答えを返し続けられる。

導入:ゲートウェイを作り、URL を差し替える

AI Gateway を使い始める手順は、次のとおりです。

順番やること
1管理画面の AI の項目から AI Gateway を開く
2ゲートウェイを作る。名前(ID)を付ける
3アカウント ID とゲートウェイ ID を控える
4アプリの呼び出し先の URL を、ゲートウェイの URL に差し替える
5管理画面で、記録や分析が出てくることを確かめる

キャッシュの時間、回数制限、記録を残すかどうかは、ゲートウェイの設定画面で決めます。

1つ気をつけたいのが、ゲートウェイの URL はアカウント ID とゲートウェイ ID さえ分かれば組み立てられることです。提供元の API キーは別に要るとはいえ、他人に勝手に使われて記録が汚れたり回数制限を食いつぶされたりしないよう、認証付きゲートウェイ(Authenticated Gateway)を有効にしておくのがおすすめです。有効にすると、Cloudflare の API トークンを専用のヘッダーに付けた呼び出しだけが通るようになります。

  • Cloudflare のすべて 30 ― AI Gateway
  • 9 / 15
  • 導入:ゲートウェイを作り、URL を差し替える
  • AI Gateway を開く
  • ゲートウェイを作る
  • ID を控える
  • URL を差し替え
  • 記録を見る
  • 管理画面の AI → AI Gateway で作る。キャッシュ・回数制限・記録の設定もそこで
  • 誰でも使えないように、「認証付きゲートウェイ」にしておくのがおすすめ
  • コードの変更は、ほぼ「呼び出し先の URL」だけ。

使い方①:呼び出し先を、ゲートウェイの URL に変える

AI Gateway の URL は、次の形をしています。

https://gateway.ai.cloudflare.com/v1/{アカウントID}/{ゲートウェイID}/{提供元}

たとえば OpenAI のチャットの API なら、これまで

https://api.openai.com/v1/chat/completions

を呼んでいたところを、

https://gateway.ai.cloudflare.com/v1/{アカウントID}/my-gateway/openai/chat/completions

に変えます。末尾の openai の部分を anthropic や workers-ai などに変えると、他の提供元にも同じゲートウェイを通せます。どの提供元に対応しているかは、公式の Providers のページに一覧があります。

また、OpenAI の API と同じ形で書ける互換の窓口も用意されていて、モデル名の指定だけで複数の提供元を呼び分けられます。さらに 2026年には、Cloudflare の API(api.cloudflare.com)側にも提供元をまたいで使える窓口が加わっています。どの書き方が最新の推奨かは変わりやすいので、公式のドキュメントで確かめてください。

  • Cloudflare のすべて 30 ― AI Gateway
  • 10 / 15
  • 使い方①:呼び出し先を、ゲートウェイの URL に変える
  • これまで
  • https://api.openai.com/v1/chat/completions
  • これから
  • https://gateway.ai.cloudflare.com/v1/{アカウントID}/{ゲートウェイID}/openai/chat/completions
  • 末尾の openai を anthropic・workers-ai などに変えると、別の提供元にも同じ関所を通せる
  • OpenAI 互換の窓口もあり、1つの書き方で複数の提供元を呼べる
  • 提供元の SDK はそのまま。baseURL だけを差し替える。

使い方②:Worker からの呼び方

Worker から使う場合の例です。Workers AI(28号)なら、env.AI.run() の3つめの引数でゲートウェイを指定するだけです。

ts
const out = await env.AI.run(
  "@cf/meta/llama-3.1-8b-instruct",
  { prompt: "Cloudflare を一言で説明して" },
  { gateway: { id: "my-gateway", cacheTtl: 3600 } },
);

OpenAI の公式 SDK を使う場合は、baseURL を差し替えます。API キーは wrangler の secret(npx wrangler secret put OPENAI_API_KEY)に入れておきます。

ts
import OpenAI from "openai";

const openai = new OpenAI({
  apiKey: env.OPENAI_API_KEY,
  baseURL: `https://gateway.ai.cloudflare.com/v1/${env.ACCOUNT_ID}/my-gateway/openai`,
});
const res = await openai.chat.completions.create({
  model: "gpt-4o-mini",
  messages: [{ role: "user", content: "こんにちは" }],
});

依頼ごとにキャッシュの時間を変えたいときは、cf-aig-cache-ttl ヘッダーに秒数を入れて送ります。SDK の多くは、追加のヘッダーを渡すオプションを持っています。

  • Cloudflare のすべて 30 ― AI Gateway
  • 11 / 15
  • 使い方②:Worker からの呼び方
  • // Workers AI:3つめの引数でゲートウェイを指定
  • const out = await env.AI.run("@cf/meta/llama-3.1-8b-instruct", { prompt },
  • { gateway: { id: "my-gateway", cacheTtl: 3600 } });
  • // OpenAI の SDK:baseURL を差し替える
  • const openai = new OpenAI({
  • apiKey: env.OPENAI_API_KEY,
  • baseURL: `https://gateway.ai.cloudflare.com/v1/${env.ACCOUNT_ID}/my-gateway/openai`,
  • });
  • // 1回ごとにキャッシュの時間を変える:ヘッダー cf-aig-cache-ttl: 3600
  • Workers AI なら gateway の ID を渡すだけ。他社は baseURL を変える。

料金と制限:中心の機能は無料、記録の件数に上限

2026年9月時点の料金の骨格です。

項目内容
基本の機能キャッシュ、回数制限、分析、記録は、すべてのプランで無料で使える
ログの保存無料プランは合計 10 万件まで。有料プラン(Workers Paid)ではより多く保存できる
上限に達すると新しいログが保存されなくなる。古いログを自動で消す設定もある
提供元の料金OpenAI などの利用料は、これまでどおり各社に払う
まとめ払いCloudflare 経由で各社の利用料をまとめて払う仕組み(Unified Billing)もある
有料の追加機能ログを外部に送る Logpush など

AI Gateway 自体は、ほとんどの人にとって無料で入れられる関所です。キャッシュが当たれば提供元への支払いが減るので、入れたほうが安くなることもよくあります。

ログの保存件数の上限はプランによって違い、変わることもあります。本番で使う前に、公式の Pricing と Limits のページで確かめてください。

  • Cloudflare のすべて 30 ― AI Gateway
  • 12 / 15
  • 料金と制限:中心の機能は無料、記録の件数に上限
  • 基本の機能
  • キャッシュ・回数制限・集計・記録は無料で使える
  • ログの保存
  • 無料プランは合計 10 万件まで。有料はもっと多い
  • 上限に達すると
  • 新しいログが保存されない(古いものを消す設定も)
  • 提供元の料金
  • これまでどおり各社に払う(まとめ払いの仕組みも)
  • Logpush など
  • 外へのログ送信などは有料の機能
  • 2026年9月時点。料金・上限は変わるので公式の Pricing で確かめること
  • キャッシュ・回数制限・集計は無料。ログの保存数はプランで違う。

よくある落とし穴

AI Gateway でつまずきやすい点をまとめます。

落とし穴どうするか
キャッシュがほとんど当たらないキャッシュは完全に同じ依頼だけに当たる。日時や ID を依頼に混ぜると、毎回違う依頼になる
他人の答えが返る利用者ごとに違う答えになる依頼(その人の情報を含むもの)をキャッシュすると、別の人に同じ答えが返りうる。そういう依頼はキャッシュを飛ばす
ログに秘密が残る依頼と答えがそのまま記録される。記録しない設定や、機密情報を検出する DLP の機能を使う
他人に使われるURL は組み立てられる。認証付きゲートウェイにする
費用の数字を信じすぎる集計は目安。正式な金額は提供元の請求で
古い書き方Universal Endpoint など、非推奨になった書き方の記事が多い。公式の最新の手順を見る

とくに2つめは、見落とすと情報漏えいになります。「この依頼は、誰が送っても同じ答えでよいか」を、キャッシュを有効にする前に必ず考えてください。

  • Cloudflare のすべて 30 ― AI Gateway
  • 13 / 15
  • よくある落とし穴
  • 少しでも違う依頼はキャッシュに当たらない(完全一致)
  • 人ごとに違う答えをキャッシュすると、他人に見える
  • ログに個人情報や秘密が残る → 記録しない設定・DLP
  • URL を知られると他人に使われる → 認証付きにする
  • 費用の数字は目安。正式な請求は提供元で確かめる
  • キャッシュは「完全に同じ依頼」だけ。個人の答えを共有しない。

他の機能とのつながり

AI Gateway は、AI を使う他の機能の「見張り役」です。

機能つながり号
WorkersAI を呼ぶ側。ここからゲートウェイを通す18
Workers AIenv.AI.run() にゲートウェイの ID を渡すだけで通せる28
Vectorize・AI SearchRAG の中の LLM の呼び出しも、ゲートウェイで記録できる29
レート制限利用者ごとの回数制限は、こちらで入口に掛ける06
分析とログログを外部に送る Logpush など、記録の扱い全般32

AI の機能を作り始めたら、最初からゲートウェイを通しておくのがおすすめです。後から入れることもできますが、記録は入れた時点からしか残りません。問題が起きてから「記録があれば」と思っても、過去の分は戻ってきません。

  • Cloudflare のすべて 30 ― AI Gateway
  • 14 / 15
  • 他の機能とのつながり
  • AI Gateway(Cloudflare のエッジ)
  • Workers:呼び出し元(18)
  • Workers AI:推論(28)
  • あなたのアプリ
  • Vectorize・AI Search:RAG(29)
  • AI の提供元
  • Worker・サーバー
  • レート制限:利用者ごとの回数(06)
  • OpenAI・Anthropic ほか
  • 分析とログ:Logpush で外へ(32)
  • Workers AI・Vectorize の RAG も、この関所を通して見張る。

まとめ:URL を変えるだけで、AI の呼び出しが見える

この号で見たことをまとめます。

項目内容
何のためAI の呼び出しを1か所に集め、見える化し、守る
形アプリと AI の提供元の間に立つプロキシ
主な機能キャッシュ、回数制限、記録、費用の集計、再試行と切り替え
導入ゲートウェイを作り、呼び出し先の URL を差し替える
Workers AIenv.AI.run(モデル, 入力, { gateway: { id } })
料金基本機能は無料。ログの保存件数に上限
注意キャッシュは完全一致。個人の答えはキャッシュしない。ログの中身と認証に気を配る

AI Gateway は、「AI をどう呼ぶか」を変えずに、「AI をどう使っているか」を見えるようにする道具です。次の31号では、話題を変えて、画像と動画を配る Images と Stream を見ていきます。

  • Cloudflare のすべて 30 ― AI Gateway
  • 15 / 15
  • まとめ:URL を変えるだけで、AI の呼び出しが見える
  • AI Gateway(Cloudflare のエッジ)
  • ← 答え
  • キャッシュ:同じ質問には保存した答え
  • 回数制限:使いすぎを止める
  • あなたのアプリ
  • 記録:質問と答え・時間・トークン数
  • AI の提供元
  • Worker・サーバー
  • 費用:提供元ごと・モデルごとに集計
  • OpenAI・Anthropic ほか
  • 再試行・切り替え:失敗したら次へ
  • gateway.ai.cloudflare.com/v1/{アカウント}/{ゲートウェイ}/{提供元} を baseURL に
  • Workers AI なら env.AI.run(…, …, { gateway: { id } }) の1行で通せる
  • 記録・キャッシュ・回数制限・費用・切り替えを1か所で。

0 件のコメント

読み込み中…

権利侵害・不適切な内容の連絡: [email protected]