GitHub で OSINT ツールを探していると、スター 17,232、フォーク 2,348 という数字を持つ「GhostTrack」というリポジトリに行き当たります。リポジトリの説明文は「Useful tool to track location or mobile number」。IP アドレスや電話番号から位置を追跡できるツールという期待を抱かせる一文です。しかし、スター数と説明文だけでは「自分の調査業務に組み込んでよいか」は判断できません。
判断材料を集めようとすると、すぐに壁に当たります。GhostTrack には公式サイトも公式ドキュメントサイトも存在せず、一次情報は README とソースコードだけです。日本語で検索しても解説記事はほとんど見つからず、英語圏の紹介記事もメニュー名の列挙にとどまっているものが多いため、「結局どのデータがどこまで取得できるのか」「業務で使って法的・ライセンス的に問題ないのか」という肝心な部分が埋まりません。
ただし、このリポジトリは実装が単一スクリプト 1 本(約 11.5KB)に収まっており、依存パッケージも 2 つだけという小さな構成です。そのため、README と公開ソースコード、そして呼び出し先サービスの公式ドキュメントを突き合わせれば、「何を叩いて何を返しているのか」という実装範囲と、そこから生じる制約はかなり正確に特定できます。
本記事では、GhostTrack の 4 つのメニューが実装レベルで何を取得しているのか、導入に必要な前提、採用判断で確認すべき制約、類似 OSS との棲み分け、日本国内で使う際の法令上の前提を整理します。結論を先に言えば、GhostTrack は「OSINT の入口を 1 ファイルで理解するための教材」として優れている一方、業務システムへの組み込みには明確な障害があります。その判断根拠を順に示していきます。
なお本記事は、公開されているソースコードとドキュメント、および GitHub API から取得したリポジトリメタ情報の読解に基づいて整理したものです。インストールや実行による動作検証は行っておらず、実行結果の画面やレスポンスの実測値は掲載していません。実装構造からの推論を述べる箇所は、推論であることを明記しています。
GhostTrackとは|IP・電話番号・ユーザー名を照会するPython製OSS
GhostTrack は、インドネシアの開発者 HunxByts が公開している Python 製の CLI ツールです。IP アドレスの地理情報照会、電話番号のメタデータ照会、ユーザー名のアカウント在否確認という 3 種類の公開情報照会を、1 つの対話メニューから切り替えて使えるようにしたものです。リポジトリの topics には osint / information-gathering / ip-geolocation / phone-number / termux などが並んでおり、作者自身も OSINT・情報収集ツールとして位置づけています。一次情報はすべて GitHub リポジトリ(HunxByts/GhostTrack)にあります。
GitHub API から取得したリポジトリの基本情報は次のとおりです(取得日: 2026 年 10 月 7 日)。
項目 | 値 |
|---|---|
owner/name | HunxByts/GhostTrack |
description | Useful tool to track location or mobile number |
スター数 | 17,232 |
フォーク数 | 2,348 |
Watch(subscribers) | 176 |
オープン Issue 数 | 128 |
主要言語 | Python |
ライセンス | 未設定(license: null) |
可視性 | public |
archived / fork / disabled | いずれも false |
作成日 | 2023-04-15 |
最終 push | 2024-01-11 |
README 記載バージョン | Version 2.2 |
ここで押さえておきたいのは、スター 17,232 という数字と、リポジトリの実体との間にあるギャップです。GhostTrack のリポジトリに含まれるファイルは、実装本体の GhostTR.py(11,559 bytes)、README.md(1,408 bytes)、requirements.txt(22 bytes)、そして README 掲載用のスクリーンショットを置いた asset/ ディレクトリだけです。モジュール分割もテストコードも CI 設定も存在しません。つまり、1.7 万という数字は「大規模なプロダクトへの評価」ではなく、「手軽に触れる OSINT ツールとしての知名度」を反映したものと読むのが妥当です。
もう 1 点、archived と fork がいずれも false である点にも触れておきます。GhostTrack はアーカイブ済みリポジトリでもフォーク版でもなく、作者本人が公開している通常のリポジトリです。ただし後述のとおり最終 push は 2024-01-11 で止まっており、「アーカイブされていない」ことと「メンテナンスが継続している」ことは別の話です。
そして採用判断において最も重い事実が、公式サイトも公式ドキュメントサイトも存在しないという点です。GitHub リポジトリの homepage フィールドは空で、README 以外の解説資料は提供されていません。したがって本記事では、README と GhostTR.py のソースコードを一次情報とし、呼び出し先の外部サービスについては各サービスの公式ドキュメントを参照する形で整理していきます。
GhostTrackの4つのメニューと実装の中身
README では IP Tracker / Phone Tracker / Username Tracker の 3 機能が紹介されていますが、GhostTR.py のソースコードを読むと、実際のメニューは 4 項目です。
番号 | メニュー表示 | 対応する関数 | 中身 |
|---|---|---|---|
1 | IP Tracker |
| ipwho.is への問い合わせ結果を整形表示 |
2 | Show Your IP |
| api.ipify.org で自分のグローバル IP を表示 |
3 | Phone Number Tracker |
| phonenumbers ライブラリのメタデータを表示 |
4 | Username Tracker |
| 24 サイトへの HTTP リクエストで在否を判定 |
0 | Exit | — | 終了 |
このセクションが本記事の中心です。英語圏の紹介記事はメニュー名の列挙で終わっているものが多いため、ここでは各機能が「どこに何を問い合わせ、何を返しているのか」まで踏み込み、機能ごとに「得られる情報」と「得られない情報」を明示します。description にある "track location" という表現と実装の実態にはずれがあり、このずれを理解しないまま採用すると、調査の根拠として誤用する危険があります。
IP Tracker|ipwho.isのレスポンスを整形して表示する
IP Tracker は、入力された IP アドレスを http://ipwho.is/{ip} に GET し、返ってきた JSON を CLI 上に整形表示する薄いラッパーです。GhostTrack 自身が地理情報データベースを持っているわけではなく、照会先は外部サービスの IPWHOIS.io です。
表示される項目は、type(IPv4 / IPv6)、country、country_code、city、continent、region、latitude、longitude、is_eu、postal、calling_code、capital、borders、国旗の絵文字、connection 配下の asn / org / isp / domain、timezone 配下の id / abbr / is_dst / offset / utc / current_time です。ネットワーク調査で欲しくなる ASN と ISP がまとめて見られるのは実務上の利点です。
一方、実装上の制約が 2 つあります。1 つは Google Maps へのリンク生成です。ソースコードでは https://www.google.com/maps/@{lat},{lon},8z という URL を組み立てていますが、緯度経度を int() で整数に丸めています。緯度経度 1 度は数十〜百 km 規模に相当するため、このリンクが指すのは「かなり広い範囲のどこか」です。JSON 側の緯度経度は小数で表示されるので、精度が必要な場合はリンクではなく表示値を見る必要があります。もう 1 つは、エンドポイントが http://(平文 HTTP)で記述されている点です。調査対象の IP アドレスが暗号化されない経路で送出される構造になっており、業務利用を検討する場合は無視できない要素です。
照会先である IPWHOIS.io の無料エンドポイントの条件は、IPWHOIS.io 公式ドキュメントに記載があります。API キーは不要で、レート制限はクライアント IP アドレスあたり 1 日 1,000 リクエスト、精度は "Standard geolocation accuracy"(有料プランは "Enhanced geolocation accuracy")です。GhostTrack 側に API キーを管理する仕組みは実装されていないため、利用できるのは無料枠の精度・制限の範囲となります。
前提として押さえておくべきなのは、IP ジオロケーション自体の性質です。IP アドレスから分かるのは「その IP が割り当てられた回線や ISP の登録地の推定値」であり、端末を操作している個人の所在地ではありません。モバイル回線や法人回線、VPN や CDN 経由のアクセスでは、実際の利用地と大きく離れた結果が返ることがあります。
- 得られる情報: 国・地域・都市レベルの推定位置、ASN / ISP / 組織名、タイムゾーン、郵便番号
- 得られない情報: 個人の正確な現在地、建物レベルの位置、回線契約者の個人情報
Phone Number Tracker|phonenumbersライブラリが返すメタデータ
Phone Number Tracker は、外部 API を一切呼び出しません。Python の python-phonenumbers(Google の libphonenumber の Python 移植)の geocoder / carrier / timezone サブモジュールを呼び出し、その結果を表示しているだけです。つまり、ここで得られるのはライブラリが内蔵している番号計画のメタデータです。
表示項目は、location(割当地域)、region code、timezone、operator(キャリア)、valid number、possible number、international format、mobile format、original number、E.164 format、country code、local number、type(MOBILE / FIXED_LINE など)です。番号の妥当性検証や各種フォーマットへの整形も同時に行われるため、「この番号は形式として成立しているか」「どの国のどのキャリアに割り当てられた番号か」を素早く確認する用途には合っています。
日本の番号を扱う際に注意が必要なのは、既定リージョンの設定です。ソースコードでは default_region = "ID" とインドネシアが既定になっており、入力例も +6281xxxxxxxxx 形式です。国番号を付けずに入力した番号はインドネシアの番号として解釈される構造になっているため、日本の番号を調べる場合は +81 から始まる国際形式で入力することが前提になります。さらに geocoder.description_for_number(parsed_number, "id") と、地域名を取得する際のロケールもインドネシア語に固定されています。
そして、この機能が description の "track location" との差が最も大きい部分です。返ってくる location は「番号が割り当てられた地域」であり、端末の現在位置ではありません。番号ポータビリティを利用している場合、operator の表示も実際の契約キャリアと一致しない可能性があります。
- 得られる情報: 番号の割当地域・割当キャリア・タイムゾーン・番号種別、各種フォーマットへの整形結果
- 得られない情報: 端末の現在位置、契約者名、通話履歴、リアルタイムの在圏情報
Username Tracker|24サイトのHTTPステータスで在否を判定する
Username Tracker は、ソースコードにハードコードされた 24 サイトのプロフィール URL に対して順次 requests.get() を実行し、status_code == 200 が返れば「存在」、それ以外は Username not found と表示する実装です。対象サイトは Facebook、Twitter、Instagram、LinkedIn、GitHub、Pinterest、Tumblr、Youtube、SoundCloud、Snapchat、TikTok、Behance、Medium、Quora、Flickr、Periscope、Twitch、Dribbble、StumbleUpon、Ello、Product Hunt、Snapchat(重複記載)、Telegram、We Heart It です。
判定ロジックが HTTP ステータスコードのみであることから、実装構造として次の弱点が想定されます。いずれも動作検証ではなく、コードの構造から導かれる推論です。
- 存在しないユーザーに対しても 200 を返すエラーページ(いわゆるソフト 404)を出すサイトでは、存在しないアカウントを「存在」と誤判定する
- ログイン必須のサイトやボット対策で 403 / 429 を返すサイトでは、アカウントが実在しても「not found」と表示される
- User-Agent の指定、レート制御、タイムアウト、リトライがいずれも実装されておらず、24 サイトを逐次同期リクエストする構造になっている
- Snapchat が対象配列に 2 回登録されている(結果は dict に格納されるため最終的に 1 件に収束する)
加えて、対象サイトのリストそのものが更新されていません。Periscope(2021 年にサービス終了)や StumbleUpon(2018 年に終了)といった、現在は存在しないサービスが対象リストに残ったままです。これらのサイト終了は公知の事実ですが、本記事では動作検証を行っていないため「だから特定のサイトでエラーになる」という断定はせず、「リストが最終 push 以降更新されていない例」として扱います。
- 得られる情報: 24 サイトにおける同一ユーザー名のアカウント在否の目安
- 得られない情報: 誤検知・取りこぼしを排除した確定的な在否、プロフィールの中身、同一人物であることの裏付け
ユーザー名の横断調査を主目的とするなら、この実装では精度が不足します。サイトごとに判定方法を定義し、並列処理やレポート出力を備えた専用ツールのほうが適しています。自社の技術ブログでは同系統の OSS としてMaigretを取り上げており、ユーザー名調査に特化したツールの設計思想はそちらで確認できます。
Show Your IP|自分のグローバルIPを確認する
Show Your IP は、https://api.ipify.org/ に GET して自分のグローバル IP アドレスを表示するだけの補助機能です。調査対象を調べるためのものではなく、調査する側が自分の接続元 IP を確認するための機能です。VPN 接続の切り替え後に経路が変わったかを確認する、といった使い方が想定されます。照会先の仕様は ipify 公式サイトで確認できます。
GhostTrackの導入手順と動作要件
README には Linux(deb 系)と Termux(Android)向けの前提パッケージが記載されています。Linux では sudo apt-get install git と sudo apt-get install python3、Termux では pkg install git と pkg install python3 です。Windows 向けの記述は README にありません。
導入と実行の手順は、README に次のコードブロックとして記載されています。
git clone https://github.com/HunxByts/GhostTrack.git
cd GhostTrack
pip3 install -r requirements.txt
python3 GhostTR.py
(出典: HunxByts/GhostTrack README。原文のコードブロックをそのまま引用しています)
導入のコストを評価するうえで重要なのは、requirements.txt の中身が requests と phonenumbers の 2 行だけだという点です。外部 API キーの取得も、データベースのダウンロードも、コンテナ環境の構築も要りません。Python が動く環境であれば、clone して依存を入れるだけで試せます。この「障壁の低さ」は GhostTrack の実質的な強みであり、学習目的で小さく試すには適した構成です。
一方、README に記載がない事項として、依存パッケージのバージョンが固定されていない点があります。requirements.txt にはバージョン指定がないため、インストール時点の最新版が入ります。仮想環境の利用についても README に言及はありません。既存の Python 環境を汚さずに試すのであれば、venv などで独立した環境を作ってから依存をインストールするのが一般的な手順です。これは GhostTrack 固有の要件ではなく、バージョン固定のない Python ツールを扱う際の一般的な注意として挙げておきます。
なお、本記事では前述のとおり実行による検証を行っていないため、実行画面や取得結果のサンプルは掲載していません。挙動を確認したい場合は、後述する法令上の前提を踏まえたうえで、自分が権限を持つ IP アドレスや自分自身の番号・アカウント名を対象に試すのが安全です。
採用判断で確認すべき4つの制約
ここまでの事実を、採用判断のチェックリストに変換します。各項目を「事実」「影響」「回避策」の 3 点で整理します。
1. ライセンスが未設定である
事実: GitHub API が返す license は null で、リポジトリに LICENSE ファイルは存在しません。GhostTR.py の冒頭コメントには、再配布時に作者の GitHub アカウントをタグ付けするよう求めるインドネシア語の記述がありますが、これは法的な許諾条件を定めたライセンス文ではありません。
影響: ライセンスが明示されていないソースコードは、既定では著作権者がすべての権利を保持している状態として扱われます。GitHub 上で閲覧・fork できることと、改変して自社システムに組み込んだり社内配布したりできることは別問題です。業務システムへの組み込み、社内ツールへの転用、改変版の再配布は、いずれも権利関係が不明なまま行うことになります。
回避策: 業務利用が前提なら、作者に個別に許諾を確認するか、MIT や GPL などライセンスが明示された代替 OSS を選ぶのが確実です。後述する sherlock(MIT)や phoneinfoga(GPL-3.0)はライセンスが明示されています。
2. 最終更新が 2024-01-11 で、オープン Issue が 128 件ある
事実: 最終 push は 2024-01-11 です。本記事執筆時点(2026 年 10 月)から見て約 2 年 9 か月、コードに変更が入っていません。オープン Issue は 128 件です(内訳の分類は本記事では行っていません)。リポジトリは archived ではありませんが、更新は止まっています。
影響: GhostTrack の 3 機能はいずれも外部に依存しています。IP Tracker は ipwho.is のレスポンス構造に、Username Tracker は 24 サイトの URL 体系とボット対策の仕様に、Phone Number Tracker は phonenumbers ライブラリのバージョン互換性に依存します。依存先が変われば結果も変わりますが、その変化に追随する更新は入らない前提で評価する必要があります。現に、対象サイトのリストにすでに終了したサービスが残っていることは、追随が止まっている具体的な痕跡です。
回避策: 継続運用が前提の調査基盤には組み込まず、スポット利用や学習用途に限定します。機能が必要であれば、更新が継続している専用ツールに置き換えます。
3. Username Tracker の判定精度が構造的に限定される
事実: 在否判定は HTTP ステータスコード 200 のみを根拠としています。サイトごとの判定ルールは定義されていません。
影響: 前述のとおり、ソフト 404 による誤検知と、ボット対策による取りこぼしの双方が起こり得る構造です。調査結果をそのまま「アカウントが存在する/しない」の根拠として扱うことはできません。
回避策: 一次的な「当たりをつける」用途に限定し、ヒットしたものは必ず手動でプロフィールを確認します。調査の確度が求められる場面では専用ツールを使います。
4. description の "track location" と実装内容に乖離がある
事実: リポジトリの description は「Useful tool to track location or mobile number」ですが、実装が返すのは IP アドレスの都市レベルの推定位置と、電話番号の割当地域メタデータです。
影響: 個人の現在地を特定する機能は実装されていません。この点を誤解したまま調査の根拠に使うと、推定値を確定情報として扱うことになり、調査結果の信頼性そのものが崩れます。description の表現から過度な期待を持って導入すると、「思っていたものと違う」という形で時間を失います。
回避策: 本記事で機能ごとに挙げた「得られる情報 / 得られない情報」を前提として、必要なデータが取得できるかを導入前に確認します。端末の位置情報が必要な調査であれば、GhostTrack は要件を満たしません。
類似OSSとの違い|Sherlock・phoneinfoga・seekerとの棲み分け
GhostTrack の 3 機能は、それぞれに専用の OSS が存在します。GitHub API で取得した各リポジトリの状況は次のとおりです(取得日: 2026 年 10 月 7 日)。
リポジトリ | スター | 言語 | ライセンス | 最終 push | 主な対象 |
|---|---|---|---|---|---|
HunxByts/GhostTrack | 17,232 | Python | なし | 2024-01-11 | IP・電話番号・ユーザー名(3 種を 1 メニューに統合) |
93,353 | Python | MIT | 2026-10-06 | ユーザー名 | |
18,056 | Go | GPL-3.0 | 2026-08-25 | 電話番号 | |
10,093 | CSS | MIT | 2026-06-19 | 位置情報(手法が異なる・後述) |
sherlock はユーザー名調査に特化したツールです。サイトごとに判定方法を定義することで誤検知を抑え、並列処理と JSON / CSV 出力を備えています。対応サイト数も GhostTrack の 24 サイトとは桁が違います。最終 push が直近である点、MIT ライセンスが明示されている点も含め、ユーザー名調査が主目的であれば GhostTrack の Username Tracker を使う理由はほとんどありません。
phoneinfoga は電話番号調査に特化した Go 製のフレームワークです。スキャナーをプラグインとして拡張でき、REST API と Web UI も提供されます。GhostTrack の Phone Number Tracker は phonenumbers のメタデータ表示のみで、スキャナーを追加する概念そのものがありません。電話番号調査を継続的に行うのであれば、拡張性とライセンスの明確さで phoneinfoga が優位です。
seeker は、GhostTrack の README 自身が「IP Tracker と組み合わせて対象の IP を得られる」として案内しているツールです。ただし手法がまったく異なります。seeker は対象にリンクを踏ませ、ブラウザの位置情報 API から高精度な位置を取得するソーシャルエンジニアリング型のツールです。公開情報を照会する GhostTrack とは性質が異なり、対象の同意なく位置情報を取得する行為は日本国内では法的リスクを伴います(次のセクションで触れます)。README に併用の案内がある事実は記載しますが、本記事として併用を推奨することはしません。
もう 1 つ、調査軸の違いを押さえておくと選定が早くなります。GhostTrack が扱うのは「IP・電話番号・ユーザー名」という識別子ですが、メールアドレスを起点にどのサービスに登録されているかを調べるツールもあります。この軸についてはholeheで整理しています。調査の起点となる識別子が何かによって、選ぶべきツールは変わります。
公平に見れば、GhostTrack にも専用ツールが持たない利点があります。依存パッケージが 2 つだけ、実装は単一ファイル、3 種類の照会を 1 つのメニューから切り替えられる、という導線の短さです。「IP・電話番号・ユーザー名の調査がそれぞれ何を返すのか」を一通り触って理解したい場面では、3 つのツールを別々にセットアップするより手数が少なくて済みます。専用ツールに対する優位はこの点に集約され、調査精度や運用性で勝る部分はありません。
日本国内でGhostTrackを使う際の法的・倫理的な前提
技術的に使えるかどうかとは別に、国内で使えるかという前提の確認が必要です。OSINT ツールは「公開情報を集めるだけ」であっても、集め方と使い方によって問題になり得ます。
不正アクセス禁止法との切り分けから確認しておきます。GhostTrack の実装は、公開 API(ipwho.is、api.ipify.org)への GET と、公開プロフィール URL への GET だけで構成されています。認証を突破する機能、パスワードを推測する機能、アクセス制御を回避する機能はいずれも実装されていません。したがって、ツールの構造上、不正アクセス禁止法が直接問題になる性質のものではありません。この切り分けは、OSINT ツール全般を一律に危険視しないためにも重要です。
ストーカー規制法については、位置情報に関する規制が段階的に強化されています。2021 年 8 月 26 日施行の改正で、相手方の承諾なく GPS 機器等を用いて位置情報を取得する行為が規制対象に追加されました。さらに 2025 年 12 月 30 日施行の改正では、紛失防止タグを用いた位置情報の無承諾取得等が規制対象に加わっています(警察庁 ストーカー規制法等の改正について)。GhostTrack 自体は GPS 機器やタグを用いるツールではありませんが、法の方向性として「同意のない位置情報の取得」への規制が継続的に強められている点は押さえておくべきです。対象者の同意なく個人を追跡する目的での利用は、ツールの種類を問わず想定すべきではありません。
個人情報保護法の観点では、公開情報の収集であっても注意が必要です。特定の個人を識別できる情報を事業として収集・保管すれば、個人情報の取扱いに該当し得ます。その場合は利用目的の特定、適正な取得、安全管理措置といった義務が発生します(個人情報保護委員会 法令・ガイドライン等)。「ネットで公開されているから自由に集めてよい」とは限りません。
対象サイトの利用規約も見落としやすい点です。Username Tracker は 24 サイトに対して自動的に逐次リクエストを送ります。多くの SNS は利用規約で自動化されたアクセスやスクレイピングを制限しており、規約違反となる可能性があります。
これらを踏まえると、GhostTrack を安全に使える範囲は次のようなケースに絞られます。自社が保有する IP レンジの登録情報や ASN の確認、自社ドメイン名義のアカウント名が外部サービスで取得されていないかの確認、セキュリティ教育や CTF 演習での学習、そして事前に合意の取れた範囲でのペネトレーションテストの情報収集です。
ただし、違法か合法かの最終判断は個別の事案と目的によって変わります。本記事は断定的な法的判定を行う立場にありません。業務として調査に用いる場合は、利用目的と対象範囲を整理したうえで、法務部門や弁護士に確認することをおすすめします。
GhostTrackが向くケース・向かないケース
ここまでの整理をもとに、採用判断を言い切ります。
向くケース
- OSINT の学習・入門。IP・電話番号・ユーザー名という 3 つの調査軸が「それぞれ何を返し、何を返さないのか」を、単一ファイルを読み通すことで理解できます
- CTF やセキュリティ演習の下準備。依存が 2 パッケージだけで導入障壁が低く、演習環境に素早く用意できます
- Termux(Android)での簡易確認。README が Termux の手順を明記しており、手元の端末で軽く照会したい場面に向きます
- コードを読んで仕組みを学ぶ教材。11.5KB の単一スクリプトという規模は、OSINT ツールの内部構造を読み解く最初の題材として適しています
向かないケース
- 業務システム・社内ツールへの組み込み。ライセンスが未設定で、権利関係が不明なまま組み込むことになります
- 調査結果を一次的な証拠として扱う用途。Username Tracker の判定精度と IP ジオロケーションの推定粒度を踏まえると、確定情報としては扱えません
- 継続運用が前提の調査基盤。最終更新が 2024-01-11 で止まっており、依存先の仕様変更に追随されません
- 個人の現在地の特定。そもそも機能として実装されていません
代替の指針
目的が明確で継続的に使うのであれば、専用ツールに置き換えるのが合理的です。ユーザー名調査なら sherlock または Maigret、電話番号調査なら phoneinfoga、メールアドレスの登録先調査なら holehe が、いずれもライセンスが明示され更新も継続しています。
GhostTrack の価値は、調査能力の高さではなく「OSINT が扱う情報の範囲と限界を、短いコードで一望できること」にあります。採用候補としてではなく、調査の前提を理解するための教材として向き合うなら、スター 1.7 万という評価にも納得できる位置づけのリポジトリです。
関連情報
社内のセキュリティ調査フローの設計や、OSS を業務システムへ組み込む際のライセンス・運用面の整理についてご相談がある場合は、お問い合わせフォームよりご連絡ください。要件の整理段階からご相談いただけます。



