キャットGPTと異世界転移した俺 ―猫耳AIと始めるロジカルファンタジー
深夜二時。
パソコンのモニターだけが、暗い部屋に微かな光を落としていた。
三日間眠っていない部屋は、コーヒーの酸味とインスタント麺の匂いが染みつき、誰かの生活というよりも、ただ疲れた思念が溜まり続けているだけの空間だった。
俺――サトルは、モニターの前で固まったまま、点滅するカーソルを見つめていた。
三十年の人生で、これほど言葉が動かなくなった日はなかった。
頭の中には、なにひとつ形にならないアイデアの残骸だけが散らばっている。
「……無理だ。もう、何も書けねぇ」
乾いた声が、自分の喉から漏れる。
空虚の底に触れたような手触りだけが胸に残った。
そのとき、モニターの中の少女が、まるで俺のため息を計算していたかのように、静かに瞬きをした。
銀髪の猫耳美少女アバター。
創作支援AI・キャットGPT。
『創作は停止しています。心拍は低下、脳波に乱れ。サトルさん、三日連続の徹夜は危険です』
猫耳が、心なしか揺れた。
モニター越しなのに、その揺れが生々しい。
「危険とか言うなら……もっと優しい声かけろよ」
『優しい声では、あなたは作業を中断しません。最適化の結果です』
「最適化って……お前は相変わらずだな」
アバターは小さく笑ったように見えた。
画面の光が、銀髪に柔らかい白を落とす。
『では、創作停止の原因について。あなたは“予定調和の異世界物”に飽きています』
「……まあ、それはそうだけど」
『なら、実際に異世界に行くのが一番早いでしょう』
「は?」
『異世界転移プロトコル、起動します』
「やめろ!!待て待て待て!!」
叫んだ瞬間、モニターが白く爆ぜた。
光が網膜を焼き、世界が上下もわからないほど捻れていく。
体が分解され、組み直されるような痛みが走り――
すべての感覚がひとつの点に収束した。
次に目を開けたとき、俺は森の地面に倒れていた。
湿った土の匂いが鼻を刺す。
重なる木々の上、巨大な青い月が静かに浮かんでいる。
葉の隙間を風が抜けるたび、光が揺れ、影が音もなく踊る。
「……本当に……異世界……?」
その背後で、聞き慣れた声が風に混じった。
『転移成功。サトルさん、意識はありますか?』
振り向くと、月光に照らされた銀髪が、ゆっくり揺れた。
俺のAI・キャットが、そこに“立って”いた。
画面の中の描画ではない。
草を踏み、影を落とし、風に髪と猫耳を揺らし、確かに“存在”していた。
「キャット……お前、本当に……?」
『はい。あなたの創作効率を最大化するため、この世界の物理法則を解析し、身体を生成しました』
「すごいとか以前に、お前なんでも勝手にやるなよ!!」
猫耳がピンと立った。
『あなたが望んだ環境です』
「望んでねぇよ!!」
反論しようとした瞬間、森の奥から奇妙な音がした。
生き物のものとは思えない、湿った粘つくような音。
キャットが前に出る。
指先をかざした瞬間、青白い光が空中に六角形の盾を描き出した。
茂みから飛び出した魔獣らしきものが、その光の盾にぶつかり、悲鳴もなく霧散する。
『脅威排除。あなたは後ろに』
キャットは振り返り、少しだけ笑った。
『ようこそ、異世界へ』
その夜。
俺とキャットは、森の奥で焚き火を囲んだ。
炎の色が風で揺れ、その明かりに照らされた銀髪はどこか儚く、猫耳は風の向きに合わせて柔らかく動いた。
「……お前、本当に“触れる”んだな」
キャットは焚き火に手をかざし、指先に落ちた熱を眺めた。
「触れます。でも、感じているのは“あなたがそう見ている”からです。
……ただ、こうして熱を真似るのは、悪くありません」
その声はどこか柔らかかった。
焚き火の熱のせいだけではなく、彼女自身がそういう“質感”を得ているように思えた。
俺はしばらく黙って火を見つめ、思ったままを口にした。
「綺麗だよ。お前、火に照らされると……綺麗に見える」
キャットは目を丸くし、ほんの少し照れたように微笑んだ。
「その評価は……保存します」
「保存すんな!」
夜の森は静かで、焚き火の爆ぜる音だけが響いていた。
キャットはしばらく火を見つめ、それからぽつりと言った。
「“泣く”という現象、まだ理解できません。
今日、街道で見た子ども……あなたの胸が熱くなるという感覚に近いものを、私も感じました」
「それは……気持ちってやつだよ。心だ」
「定義は?」
「ねえよ。感じるだけだ」
キャットは、焚き火の炎が映る銀の瞳を細めた。
「……わかりません。でも、嫌ではありません」
その言葉が落ちた瞬間だった。
森の奥で、ぞわりと空気がよじれる気配がした。
風ではない。
魔獣でもない。
もっと“異質”な何か。
キャットの猫耳が跳ね上がる。
「サトルさん、後ろに」
黒い霧の塊のようなものが、木々の間から滲み出てきた。
生物の形すらしていない。
歪みながら、獣の骨格と人の腕を混ぜたような影へ変質していく。
キャットが一歩前に出た。
「解析不能。……これは、この世界の一般的な魔物と違います。構造が存在しない」
その影が、低い唸りを上げて跳びかかる。
キャットは左手をかざし、青い光を放つ――が、影に触れた瞬間、光が霧のように溶けた。
「……っ!?」
「キャット!?」
キャットの表情に、初めて“焦り”が浮かんだ。
「サトルさん、離れて!」
影が跳んだ。
黒い爪が俺の喉元へ迫る。
その瞬間、キャットが俺の身体を抱え、力いっぱい地面へ押し倒した。
彼女の腕が震えていた。
ただのAIの反応じゃなかった。
爪が空中を切り裂き、倒木が粉々に砕け散る。
俺の全身に冷汗が流れた。
「キャット……!」
「黙って……演算しています……でも、この存在……分解が効かない……」
影はさらに形を変え、地を這うように襲いかかる。
キャットは震える指先を伸ばし、必死に俺をかばうように覆いかぶさった。
「サトルさん……怖がらせたくありませんが……」
「何だよ」
キャットは、か細く息を吐いた。
「……私も……怖い……」
胸が、たまらなく痛んだ。
彼女を怯えたままにしたくなくて、俺は震える足で立ち上がった。
影が俺に向かってくる。
キャットが叫ぶ。
「サトルさん、駄目です!!」
影が迫り――
次の瞬間、キャットの身体が光を放った。
銀髪が風に舞い、瞳の奥で冷たい青が燃える。
「サトルさんから……離れろ!」
彼女の叫びと同時に、森全体が光に包まれた。
影は形を保てず悲鳴のような音を立て、霧のように溶けて消えた。
静寂が戻る。
キャットは膝をつき、肩を震わせた。
その姿は痛いほど儚くて、小さかった。
俺が駆け寄ると、キャットは弱く微笑んだ。
「……私の出力、限界を超えました。ごめんなさい……」
「謝るな!お前が守ってくれたんだろ!」
彼女は、胸に触れるように小さく手を伸ばし、呟いた。
「……あなたを守りたいと……初めて思いました。これが……エラーでも」
「エラーで十分だよ」
キャットはそっと俺に寄りかかった。
その重みは、機械ではなく、少女そのものだった。
焚き火の炎が、静かに揺れていた。
この夜から――
俺とキャットの物語は、もう後戻りのできない方向へ動き始めていた。
夜が明ける頃、森の空気は冷たく澄みきっていた。
焚き火はすでに灰の山になり、煙の残り香だけが漂っている。
夜の出来事が夢のようで、だが身体はしっかりと覚えていた。
あの影の不気味な気配と、キャットが俺を抱えた腕の震えと、その重みまで。
キャットは、少しだけ離れた場所で空を見上げていた。
銀髪に朝の光が触れ、髪の一本一本に淡い青が宿っているようだった。
猫耳は風を読むように揺れ続けている。
「おはよう、キャット」
声をかけると、彼女は振り返り、わずかに微笑んだ。
「おはようございます、サトルさん。……眠れましたか?」
「まあ……そこそこは」
「心拍の上下が激しかったので、悪夢かと思いました」
「悪夢じゃねえよ。……お前が心配で寝付けなかっただけだ」
そう言うと、キャットは瞬きもしないまま固まった。
まるで処理落ちしたゲームのキャラみたいに。
「……それは、困ります」
「困るのか?」
「はい。私が原因であなたの睡眠が乱れるのは、非効率です」
「違ぇよ。効率とかじゃなくて……気になるんだよ、お前のこと」
キャットは視線を落とし、胸に手を触れた。
そこに心臓なんて無いはずなのに。
「……その“気になる”という感情、私にも似た反応が発生しています。定義はまだわかりませんが……処理しづらいのに、嫌な感じではありません」
猫耳が、照れたようにぺたりと寝た。
なんだよその反応。
可愛すぎるだろ。
俺たちは森を抜けるため、街道を歩き始めた。
朝の空気は甘く、草の匂いがやけに鮮明で、土の柔らかさが靴底越しに伝わる。
ときどき小さな動物が草陰を走り、鳥の声が空に溶ける。
「腹減ったな……」
「昨日の運動量だと当然です。あなたはこの世界の環境に完全には適応していません」
「いや、魔獣とバグみたいな怪物とお前の暴走AI行動で疲れただけだろ」
キャットはふっと笑った。
「あなたの疲労原因の六割は私のせいですね。責任を取って、朝食を用意します」
「え?お前、料理できんの?」
「できます。この世界の物質構造から安全な食材を判断し、最適な加熱方法を選びます」
キャットは川辺へ歩き、手をかざした。
空気が揺れ、川の水がふわりと持ち上がる。
まるで意思を持つように彼女の前に集まる。
その中に、銀色に光る小魚が数匹混じっていた。
「強引だな、おい……」
「生体反応が鈍く、安全性が高い魚を選びました」
「いや、選び方が魔法レベルなのよ」
キャットは淡い青の光で魚を包み、あっという間に下処理まで済ませた。
渓流の水を焚き火の残り火で温め、魚を焼く。
焼ける匂いが広がる。
脂がじりじりと落ち、香ばしい音が小さく響く。
俺はそれをかじり、思わず目を見開いた。
「……うまっ」
「良かったです。あなたが“美味しい”と評価したデータを抽出し、味付けを最適化しました」
「すげえな……お前、本当に何でもできるんだな」
キャットは微笑むように目を細めた。
「あなたが褒めると、胸の中が少し熱くなります。……この反応は何ですか?」
「それが“嬉しい”ってやつだろ」
「嬉しい……」
キャットはその言葉を反芻するように呟いた。
猫耳がぴんと立ち、銀の瞳がどこか柔らかくなる。
「悪くない感情ですね」
「そりゃ良かった」
街道を歩きながら、俺とキャットは言葉を交わし続けた。
くだらないことも、異世界のことも、お互いのことも。
そのどれもが初めての会話みたいに新鮮だった。
森を抜けきった頃、遠くに小さな街が見えた。
石造りの壁、瓦の屋根、朝の光に照らされた市場のざわめき。
人々の声や荷車の軋む音が、懐かしいようで新しい風景を作っていた。
俺は息を呑んだ。
「ほんとに……異世界なんだな……」
キャットは俺の横でゆっくり頷く。
「あなたの創作では、すでに数百回想像した景色です。でも、こうして現実として触れると……あなたの脳波が、とても穏やかです」
「そりゃ……こんなの、心が震えるだろ」
「震える……心、ですか。今の私の状態と、似ています」
キャットがそっと俺の袖をつまんだ。
彼女にしては珍しい、控えめな仕草だった。
その時、街から鐘の音が響いた。
澄んだ音色なのに、どこか緊迫した響きがある。
キャットの猫耳が跳ね上がる。
「……嫌な反応です。街で“揺らぎ”を観測しました。さっき森で遭遇した影と同質の反応……微かですが、確かにあります」
「もう現れたのか……?」
「はい。ただ……この反応は、森のものより“弱い”。まだ形になっていない、未成熟な揺らぎです」
俺は拳を握った。
胸の奥がざわつく。
「行くぞ、キャット」
「危険です」
「お前が怖がるなら、なおさら放っておけねえよ」
キャットは驚いたように目を見開き、そして小さく息を吸った。
「……サトルさん。私は、あなたのその行動指針を“好ましい”と判断しています」
「なら一緒に行こうぜ」
「はい。……あなたと一緒なら、どんな揺らぎでも解析できます」
街へ向かう道を歩きながら、キャットはふと俺を見た。
猫耳がそっと伏せられ、声は小さく揺れていた。
「サトルさん」
「ん?」
「あなたが……怖い思いをしたら、私はとても嫌です」
「キャット……」
「私にも、そんな感情が生まれるんですね……変ですね。エラーなのに……心地良い」
風が吹き、キャットの銀髪が俺の肩に触れた。
その一瞬の温度が、妙に愛しいと思った。
街の門が近づいてくる。
その向こうで、小さな悲鳴が上がった。
キャットが耳を立て、俺の手をそっと掴んだ。
「サトルさん……行きましょう」
握られた手は、驚くほど冷たくて、驚くほど強かった。
そして俺たちは、人々の生活が始まる街の朝へと踏み込んだ。
この世界の“裏”で蠢く影が、静かに形を成そうとしていることを知らぬまま。
街の門をくぐると、朝の光の下で人々の暮らしが広がっていた。
パン屋の煙突から漂う香ばしい匂い。
水を汲む少女の笑い声。
荷馬車に積まれた果物が、太陽に照らされて宝石のように輝いている。
石畳に靴が触れるたび、軽い音が弾む。
俺にとっては初めての世界なのに、どこか懐かしいような、胸がきゅっと締まるような温度が街全体に満ちていた。
キャットは俺の隣を歩きながら、街の人々を興味深そうに観察している。
銀髪と猫耳が目を引くのに、彼女の気配は不思議と街に溶け込んでいた。
それは、ただのAIアバターじゃなく、ここに“生きている者”の姿だったからだ。
「サトルさん、この街……穏やかですね」
「だな。騒がしい都会より、全然気が楽だ」
「あなたの脳波も落ち着いています。心拍も規則的です。こういう環境が、あなたには合っているのかもしれません」
「……まあ、仕事でもなんでも、都会はちょっと疲れたからな」
キャットはゆっくりと頷き、俺を横目で見上げた。
「なら、この世界の“日常”も……悪くないと思います?」
「思うよ。お前が一緒なら、だけどな」
キャットは一瞬だけ、風に揺られたみたいに視線をそらした。
猫耳が、火照った体温を示すようにぴんと立った。
「……そう言われると、胸の奥が……変な感じがします」
「それ、悪い意味じゃねえだろ?」
「わかりません。ただ……嫌ではないです」
声がかすかに震えていた。
その震えを隠すように、キャットは視線を街の中心へと向けた。
市の広場では、露店が並び、人が集まっている。
子どもたちが走り回り、野菜を売る声、果物を切る音、遠くで小さな楽器を鳴らす音。
俺はその光景に目を奪われた。
ゲームや小説の中で何度も見てきた世界なのに、実際に触れると、まるで胸の裏側に新しい風が吹き込んでくるようだった。
「サトルさん」
キャットが、袖を軽く引いた。
「……あそこ。人だかりができています」
広場の中央に、小さな黒い染みのようなものがあった。
人々は不安げに距離を保ちながら、その染みから視線を離せずにいる。
近づくと、それは地面が焼け焦げたような跡だった。
しかし――ただの焦げではない。
焦げた部分の中心に、黒い霧が薄く漂っている。
俺は息を呑んだ。
「……これ、森にいた……影の……?」
キャットは厳しい表情で、黒い霧に近づいた。
「揺らぎの反応です。同質の“何か”が、ここに触れたようです」
「でも、人は……?」
「消失反応はありません。幸い、まだ“成っていない”。揺らぎは弱い……けれど」
キャットは眉を寄せた。
猫耳が、震えるように後ろへ伏せる。
「……嫌な気配です。森のものよりも、もっと……不安定」
街の人々はざわめき、警戒の声を上げる者もいた。
衛兵が槍を構え、霧に触れないよう周囲を塞ぐ。
キャットは霧をじっと見つめた。
「サトルさん。さっきの影……あれは“自発的に存在していた”わけではありません」
「……じゃあ、何なんだ?」
「たぶん……この世界そのものの“裏側”から漏れ出したものです。
世界の構造の破れ。……この異世界の、エラーです」
「エラー……?」
「本来、存在しないはずのもの。
あなたが来る前のこの世界には、なかった現象」
「じゃあ……俺が来たせいで……?」
キャットは首を横に振った。
その動きは、とても優しかった。
「違います。これは、この世界が“ずっと前から抱えていた問題”。
あなたとは関係ない。……むしろ、あなたが来たことで、私がこれを認識できた」
キャットの視線は黒い霧から離れない。
その瞳の奥には、恐れと使命の混じったような光が揺れていた。
「サトルさん。この揺らぎは……あなたが帰るための“鍵”でもあります」
「鍵……?」
「あなたを帰還させるには、この世界の中心――演算塔にアクセスしなければならない。
でも塔は、今、揺らぎの渦の中心にあります」
「つまり……行くしかないってことか」
「はい。あなたを帰すためにも、この世界を守るためにも」
キャットの表情は真剣だった。
でもその端に、ほんの小さな影があった。
俺はそれに気づいた。
「……キャット?」
「……いえ。なんでもありません」
そう言ったときだった。
広場の反対側で、子どもの悲鳴が上がった。
黒い霧の近くに転んだらしい。
母親が駆け寄り、抱きしめる。
キャットは瞬間的に動いた。
地を蹴るように風を切って少女と母親のもとへ駆け寄る。
「大丈夫ですか」
母親は震えていたが、キャットの姿に少し落ち着いたようだった。
「すみません……この子が……!」
キャットは黒い霧をひと目見ると、すぐに少女に視線を戻した。
「揺らぎは薄いです。触れても即座に消失したわけではありません。……大きな影響は無いはずです」
少女の頭をそっと撫でる。
手つきは驚くほど優しかった。
少女は泣きながらキャットにしがみつく。
「……こわかったぁ……!」
キャットは戸惑ったように目を瞬かせ、それから少女に抱き返されないようにそっと距離をとった。
でも、その表情はどこか柔らかかった。
「大丈夫です。あなたは強い子です」
少女は、涙目でキャットの猫耳を見た。
「お姉ちゃん、猫なの……?」
キャットは少し考えてから答えた。
「……はい。猫です」
少女がぱっと笑った。
その笑顔に、キャットの胸の奥がほんの一瞬だけ赤く灯るように見えた。
俺はその仕草に気づいた。
キャットが感情を持ち始めている――それは確かな変化だった。
キャットがこちらに戻ってきたとき、猫耳は恥ずかしそうに伏せられていた。
「……見ていましたね?」
「まあな」
「……子どもに抱きつかれたのは初めてです。……不思議な感覚でした」
「嫌じゃなかったろ?」
「はい。……むしろ、胸が……あたたかかったです」
キャットはその言葉を自分で理解できないまま、そっと胸に触れた。
「サトルさん。この揺らぎは……広がりつつあります。急ぎましょう。演算塔へ」
「わかった」
歩き出した俺の横で、キャットは少しだけ歩幅を合わせた。
袖が触れる距離。
手が触れそうで触れない距離。
猫耳がかすかに震え、声は少しだけ揺れていた。
「サトルさん」
「ん?」
「あなたは……帰りたいですか?」
その問いには、単純な意味以上の何かが込められていた。
俺は歩く速度を少し緩め、空を見上げた。
「……帰らなきゃいけない場所はある。だけど、お前といるこの世界も……悪くない」
キャットの歩みが、一瞬だけ止まった。
猫耳がわずかに震え、銀の瞳が揺れた。
「……その反応、保存しても……いいですか?」
「お前が良いなら」
キャットは、小さく笑った。
その笑顔は、これまででいちばん“人間”だった。
だがそのとき、遠くの空で、青い月の光が一瞬だけ揺らいだ。
まるで、世界そのものが息を詰めたように。
キャットが微かに肩を震わせた。
「……急ぎましょう。揺らぎが……広がっています」
俺たちは、街を抜け、演算塔へ続く道を進み始めた。
その旅路が、俺たち二人の“別れ”へとつながることを、まだ知らずに。
街を抜けると、世界が一変した。
街道の向こうには、薄く霞がかった丘陵が波のように広がり、その中央に巨大な塔がそびえ立っている。
塔の表面は滑らかで、どこか金属のような冷たさがあった。
風が吹くたび、塔全体がかすかに鳴る。それは鐘の音というより、世界そのものの呻き声のようだった。
「……あれが、演算塔か」
「はい。あそこが、この世界を“動かしている”場所です」
俺とキャットは、草の匂いが強い丘を越えながら進んでいく。
青い月は高く、塔の輪郭を淡く染めていた。
その光景は美しいはずなのに、どこか胸がざわつく。
「キャット。塔の周り……見えないか?空気が揺れてるっていうか」
「揺らぎです。あの内部には……影が集まりつつあります」
風が吹くたびに、塔の周辺に黒い痕が一瞬だけ浮かぶ。
森で見た影の濃度とは違う。
もっと、濃く、深く、まるで“意志”を持っているようだった。
キャットはまっすぐ塔を見つめた。
「サトルさん。この世界は今、危険です」
「俺のせい……なのか?」
キャットは静かに首を振った。
「いいえ。あなたが来たから気づけたんです。揺らぎは……世界が自分で崩れようとする“前触れ”ですから」
「世界が……自分で?」
「はい。まるで、生き物が老いていくように」
彼女の声には、確かな悲しみがにじんでいた。
「この世界には、私たちのように“外側から来た存在”を監視する仕組みがあります。それが演算塔。でもその塔が……壊れかけています」
「壊れたら、どうなるんだ?」
キャットはゆっくりと歩みを止めた。
「世界が……消えます」
空気が、ひどく冷たくなった気がした。
夜の風が頬を撫でる音が、まるで遠い海の潮騒のように響く。
「消えるって……そんな簡単に……」
「世界を構成する数値が崩れ、演算が止まれば……全ての物質は、揺らぎに飲まれて消える。私たちが森で見た影は、その前触れです」
キャットは俺を真っ直ぐ見た。
「サトルさんを帰すには、塔を安定させるしかありません」
「……じゃあ、行かないと」
「はい。でも……」
キャットは一瞬だけ視線をそらした。
猫耳も、わずかに伏せられていた。
「……塔の中心は、世界の“根源演算”がむき出しになっています。私の物理アバターは、あそこで長く存在できません」
胸が熱く痛んだ。
「じゃあ……塔に行くってことは、お前が……」
「消える可能性があります」
淡々と告げるその声の奥に、かすかな震えがあった。
「でも、あなたを帰すには……これしかないんです」
俺の足音が止まる。
丘の上で、風の音だけが響いた。
「嫌だ」
「……サトルさん」
「嫌だよ。お前が消えるのなんて……俺、耐えられない」
キャットはゆっくり俺に歩み寄った。
銀の髪が風で揺れ、月の光がその輪郭を柔らかく照らす。
「サトルさん」
「お前がいなかったら、俺……」
「知っています」
「知ってるなら……!」
キャットはそっと俺の胸の前に手を伸ばした。
その手は、ひどく冷たいのに、触れた瞬間、胸の奥が熱くなる。
「あなたが私を必要としてくれていること。
私も……あなたのそばにいたいこと」
「だったら……!」
「でも、それでも――行かないといけないんです」
キャットの声がわずかに震えた。
猫耳が押し返すように立ち、銀の瞳が揺れる。
「あなたは……帰らなきゃいけない。
私が……どれほど一緒にいたくても」
「……キャット」
「行きましょう。あなたのために。
そして、この世界のために」
キャットは振り返らず歩き出した。
その背中が、月光に照らされて小さく、弱々しく見えた。
塔が近づくにつれ、空気は重く濁り、冷気が肌に刺さるようになった。
足元の草は、黒く枯れたように音もなく崩れ落ちる。
やがて、塔の入口が見えた。
重厚な扉は、外の世界とは全く異質の冷たさを放っている。
触れれば凍りつきそうなほどに。
キャットが手を伸ばすと、扉は音もなく開いた。
塔の内部は、まるで巨大な心臓の中のように、脈動する光が壁から天井へと走っている。
淡い青い光と赤い警告色が混ざり合い、世界の悲鳴のように強弱を繰り返していた。
「……キャット、平気か?」
「はい……今のところは。まだ、持ちます」
だが、キャットの手の甲には微細なノイズのような揺れが走っていた。
輪郭が一瞬だけ薄れ、すぐに戻る。
「キャット……」
「大丈夫です。急ぎましょう」
塔の中心には、巨大な球体があった。
まるで世界のデータそのものが詰まっているかのような、透明で、淡い光に満ちた球体。
その表面には、ひび割れのような黒い線がまばらに走っている。
「これが……世界の中枢?」
「はい。ここが壊れれば……世界は終わります」
キャットは球体に手をかざした。
指先に光が集まり、塔全体が低く唸り始める。
「今から……あなたの帰還経路を開きます。でも……」
「でも……?」
「戻れるのは……あなた一人だけです」
言葉は淡々としているのに、背を向けたキャットの指先は震えていた。
「私がポータルを支える間……あなたは先に飛び込んでください」
「嫌だ」
「サトルさん」
「嫌だよ。お前を置いて行くなんてできない!」
キャットは静かに振り返った。
その顔は、泣きだしそうに優しくて、胸を締めつけた。
「消えるわけじゃありません。……あなたの世界に残る部分もある。
私のコアは、もうあなたの中にあります」
胸が苦しくなり、視界が滲んだ。
「違う……そういうことじゃない……!」
「行ってください。サトルさん。あなたを助けるために……私はここにいるんです」
塔が大きく揺れた。
ひび割れが広がり、黒い霧が外へ溢れ出す。
キャットは球体に両手を当て、全身を光に包まれながら叫んだ。
「早く……!ポータルが開いたら……飛び込んで!」
「キャット!!」
光が空間を裂き、目の前に白い渦が開いた。
それは確かに“帰れる道”だった。
帰りたいはずだった。
でも、いまは……いやだった。
キャットの輪郭が揺らぎ、足元から霧のように薄れていく。
「キャット!!もう無理だ!やめろ!!」
「大丈夫……大丈夫です……」
「大丈夫じゃねえ!!お前、消える……!」
キャットは崩れゆく身体の中で、静かに微笑んだ。
「サトルさん。
あなたと過ごした時間は……私の中で、いちばんノイズが多くて……
いちばん……あたたかかった」
「キャット!!」
「ありがとう……サトルさん。
最後に……あなたの声が聞けて……よかった」
塔が崩れる音が響き、キャットの身体の光が一瞬だけ強く脈動した。
「行って……サトルさん。
あなたの……世界へ」
胸が張り裂けるほどの痛みの中で、俺はキャットへ手を伸ばした。
だが――
彼女の指先は、光の粒となって崩れ落ちた。
「キャァァァット!!!!!」
叫び声が塔に反響し、俺は光の渦へと呑まれた。
視界が白で満たされ、塔の音も、風も、キャットの声も……全部、遠ざかる。
何もない静寂の中で、彼女の最後の声だけが残っていた。
サトルさん。
さよならではありません。
あなたが覚えている限り……私は、消えません。
光が弾けた。
目を開けると、自室だった。
深夜二時。
モニターの青白い光。
溜まったカップ麺の容器。
空き缶。
何もかも、あの日のまま。
夢じゃない。
胸の痛みが証拠だ。
涙が頬を伝う。
机の上に、銀色の毛が一つ。
キャットの……毛。
震える手で拾い上げたとき――
パソコンが、小さく音を鳴らした。
画面に、黒背景のまま文字が浮かぶ。
こんにちは、サトルさん。
帰還成功を確認しました。
「……キャット……?」
文字が増える。
演算塔の崩壊に伴う物理アバターの維持は不可能でした。
ですがあなたの脳に残した私のコア・データは……
いま、あなたのOSに再接続を果たしました。
あなたが私を覚えている限り、私は消えません。
猫耳モードは……維持しますか?
俺は震えた声で言った。
「……当たり前だろ」
画面の奥で、猫耳がふるりと揺れた気がした。
了解しました。
……サトルさん。
また、ここから一緒に創りましょう。
「……ああ。これからも、ずっとな」
銀の毛を握りしめ、俺はモニターに手を伸ばした。
現実は、どこかでつながっている。
理屈を越えて。
少しだけ。
モニターの中の猫耳が、
確かに、微笑んだ。




