月影のカグラ ―不倒の嫁と転生プログラマ―
月が大きすぎる夜に目覚めた神楽ソラ。そこは元の世界とは微妙にズレた並行世界だった。プログラミングコンテスト優勝の直後、ウイルスによって全てのデータを失った絶望の記憶だけを抱えて——。
黒い着物に黒いマスクの少女・月光輝夜に導かれ、辿り着いたのは「由崎」の表札がかかる一軒家。1400年前に月の民から不老不死の薬を飲まされた少女・由崎司を守るため、輝夜は六年間一人で戦ってきたという。だが月の民はすでに動き出し、月はさらに大きくなろうとしていた。
「あなたの力が必要だから」——月の血が騒ぐというソラに、異世界で生きる道が開ける。自称「NASAより早く光速になる男」のプログラマー・由崎星空との出会い、そして月の民との戦い。コードを失った男が、新たな世界で何を掴むのか。
観察と論理で非現実に立ち向かう転生プログラマーと、月の民に母を奪われた不倒の嫁・輝夜が織りなすアクションバトル。大きな月が照らす夜、物語は動き出す。
月影のカグラ ―不倒の嫁と転生プログラマ― - 鈍色の歯車 ―この世界で生きるという選択―
由崎家の朝は、少しだけ不思議な匂いがした。
味噌汁の香りと、炊きたてのご飯の湯気。それから、どこか古い木の匂い。神楽ソラは客間の布団の上で、しばらく天井を見つめていた。
(そうか。ここに、泊めてもらったんだ)
昨日の夜、玄関で司と初めて会って、それから夕食をごちそうになった。会話の内容は、正直あまり覚えていない。ただ、司の作った料理がやたらとうまかったことと、食卓の空気が温かかったことだけは、体に染みついている。
ソラはゆっくりと体を起こした。背中が少し痛い。布団は柔らかかったのに、体のあちこちが固まっているのは、たぶん知らない場所で寝たからだ。
左手首の古いデジタル時計を見る。朝の八時十二分。
(寝すぎたか)
ソラは黒髪のショートヘアを指でかき上げた。寝癖がついている。深い茶色の目が、窓から差し込む朝の光に細められる。
カーテンの向こうから、小鳥の声が聞こえた。
昨日とは違う。
公園のベンチで目覚めた時とは、空気の質が明らかに違っていた。あの時は、夜の冷たさと、知らない世界への不安で、体中が張り詰めていた。
今は、少しだけ落ち着いている。
(由崎家か)
ソラは立ち上がり、畳の上に足をつけた。ひんやりとした感触が、足の裏から伝わってくる。
着替えは、昨日のうちに司が用意してくれたらしい。白いシャツと黒のスラックスが、きちんと畳んで置かれていた。自分の服と同じ色合いだ。
(気を遣わせたな)
ソラは服を着替えると、部屋を出た。
廊下は木造で、歩くたびにギシリと小さく鳴る。古い家だ。でも、手入れは行き届いていて、廊下には埃ひとつ落ちていない。
「あら、おはようございます」
声の方を向くと、由崎司が立っていた。
長い黒髪を後ろでまとめ、鹿革のバレッタで留めている。白い肌に、柔らかな笑み。エプロン姿の小柄な少女は、手に持ったお盆の上に湯呑みを二つ乗せていた。
「おはようございます。よく眠れまして?」
「……ああ、おかげさまで」
ソラは少しだけ視線を外した。司の笑顔は、昨日の玄関で見たあの一瞬の泣きそうな顔と、どうしても重なってしまう。
(あの表情は、なんだったんだ)
「朝ごはん、できていますわ。居間へどうぞ」
「ありがとうございます」
ソラは司の後について、居間へ向かった。
―――
居間に入った瞬間、ソラの足が止まった。
部屋の隅に、パソコンが三台。
いや、正確には四台だ。机の上に二台、床に一台、それから膝の上に一台。
男が一人、床に胡座をかいて、三台の画面を同時に見ながらキーボードを叩いていた。
由崎ナサ。
黒髪を無造作に伸ばし、眼鏡の奥の目が、画面の上を素早く動いている。指の動きが、尋常じゃない。
カタカタカタカタカタカタ。
キーボードの音が、雨のように降り注ぐ。
「おはよう、ソラくん」
ナサは画面から目を離さずに言った。
「……おはようございます」
ソラは思わず、その手元に見入った。
画面には、何かのプログラムコードが流れている。黒い背景に、白い文字。カーソルが目にも止まらぬ速さで移動し、コードが次々に書き換えられていく。
(速い)
ソラはプログラミングコンテストで優勝した経験がある。全国の高校生が集まる大会で、誰よりも正確に、誰よりも速くコードを書けると自負していた。
でも、この男の前では、自分の技術なんて子供のお遊びに思える。
「ああ、気にしないで。朝のうちに片付けたい仕事があってね」
ナサは笑いながら、もう一方のキーボードに手を伸ばした。
左手で一つのコードを打ち込みながら、右手で別のコードを打ち込む。
(両手で別々のプログラムを書いてるのか?)
ソラは呼吸を忘れた。
「あ、これ面白いな。このエラー、昨日の夜に仕込んだやつだ。やっぱり引っかかった」
ナサは楽しそうに笑った。
「……あの、何をしているんですか」
ソラはようやく声を絞り出した。
「ん? 仕事だよ。在宅でプログラミングの仕事を請け負ってるんだ。今は、ある企業のサーバー構築のデバッグ中」
「デバッグ……あの速度でですか」
「ああ。まあ、この程度なら朝飯前だよ。NASAより早く光速になる男だからね」
ナサはさらっと言った。
ソラは、思わず笑ってしまった。
「……はは」
(なんだ、その口癖)
(NASAより早く光速になる男)
昨日、輝夜から聞いていた通りだ。でも、実際に本人の口から聞くと、妙に説得力がある。
「笑ったな? でも、本当のことだよ。俺は、この名前で笑われないために、誰よりも速く、誰よりも正確にやってきた」
ナサの声が、ほんの少しだけ真剣になった。
「星空と書いて、ナサと読む。子供の頃は、よく笑われた。でも、笑われたくなければ、笑われる余地のない結果を出せばいい。そう思って、勉強もプログラミングも、全部やってきた」
ソラは、ナサの横顔を見た。
(この人も、名前で笑われたのか)
ソラにも、似たような記憶がある。
「神楽ソラ」という名前。珍しい名前だと言われたことは何度もある。からかわれたことも、一度や二度じゃない。
(だから、プログラミングに逃げた)
ソラは、ナサに親近感を覚えた。
「……すごいですね。本当に」
「ありがとう。ソラくんも、プログラミングをやるんだって?」
「はい。高校のコンテストで、一応優勝したことがあります」
「おお、すごいじゃないか!」
ナサの目が輝いた。
「見せてよ、君のコード。どんなのを書くんだ?」
「……スマホが、昨日の夜にかなり電池を消耗していて。今はちょっと」
「ああ、そうか。じゃあ、後で見せてよ。楽しみにしてる」
ナサはそう言うと、また画面に視線を戻した。
カタカタカタカタ。
キーボードの音が、再び部屋に満ちる。
ソラは、しばらくナサの仕事ぶりを眺めていた。
(この世界で、生きていく)
(そのための足がかりが、ここにある)
胸の奥が、じわりと熱くなる。
昨日までは、この世界に放り出されただけの、何の力もない転移者だった。
でも、今は違う。
ここには、自分と同じ世界を見ている人間がいる。
「ソラさん、朝ごはんですわよ」
司の声で、ソラは我に返った。
「あ、はい。いただきます」
―――
朝食は、昨日の夕食と同じくらい、いや、それ以上にうまかった。
焼き魚に、卵焼きに、ほうれん草のおひたし。それから、炊きたての白米と味噌汁。
「お口に合いますかしら」
「……すごく、おいしいです」
ソラは素直に言った。
「よかったですわ。お寿司も握れますよ」
司はにっこりと笑った。
「司ちゃんの料理は、本当に何でもおいしいんだよ。宇宙一だ」
「もう、ナサくんったら」
司が照れて、少し早口になる。
(この二人は、夫婦なんだよな)
ソラは、改めて二人の関係を噛みしめた。
年齢は、ソラとそう変わらないように見える。でも、二人の間には、ソラには想像もつかない時間と絆がある。
(由崎司は、不老不死の少女)
輝夜の言葉を思い出す。
千四百年、十六歳の姿のまま生きている。
(それが、本当なら)
(この少女は、俺の何十倍もの時間を生きている)
ソラは、司の横顔をちらりと見た。
司は、ナサに卵焼きを取り分けながら、楽しそうに笑っている。
(とても、そんな風には見えない)
―――
朝食の後、ソラは輝夜を探した。
「輝夜は?」
「ああ、輝夜ちゃんね。朝早くに、外を見てくるって出て行ったよ。すぐ戻ると思うけど」
「外を?」
「うん。最近、毎朝のように家の周りを点検してるんだ。何かあるのかもしれないね」
ナサの声は、あくまで軽い。
でも、ソラには分かった。
(輝夜は、月の民の気配を探っているんだ)
ソラは居間を出て、廊下を歩いた。
由崎家は、思ったよりも広い。古い日本家屋で、廊下が長く、部屋がいくつもある。
(ネットワークのログを見せてもらおう)
ソラは、ナサに断ってから、居間のパソコンの一台を借りた。
「どうぞ使って。俺はこっちの仕事を片付けるから」
「ありがとうございます」
ソラは、パソコンの前に座った。
(まずは、この家のネットワークに何が接続されているか)
指が、キーボードの上を動く。
コマンドを打ち込み、ログを開く。
―――
三十分後。
ソラは、ある異常に気づいた。
「……おかしい」
「どうしたの?」
「この家のネットワークに、見覚えのない通信が混ざっています。しかも、一定の間隔で、まるで何かを探るように」
ソラは、画面を指さした。
「ほら、ここ。この時間帯だけ、外部からのアクセスが集中してる」
「ああ、それね。俺も気づいてた。でも、害はなさそうだから放置してたんだ」
「放置……してたんですか」
「うん。だって、データを抜かれてるわけでもないし、システムに干渉されてるわけでもない。ただ、家の周りをうろうろしてるだけって感じのアクセスだよ」
ソラは、眉をひそめた。
(家の周りを、うろうろ)
(まるで、家の構造を探っているみたいだ)
その時、玄関の扉が開く音がした。
「ただいま」
輝夜が、居間に入ってきた。
黒い着物に、黒マスク。長い黒髪が、朝の光を受けて、ほんの少しだけ銀色に輝いて見える。
「おかえり、輝夜ちゃん。朝ごはん、食べる?」
「……後で」
輝夜は、ソラの隣に立った。
「何を見てるの」
「この家のネットワークログ。不審なアクセスがある」
輝夜の黒曜石のような瞳が、画面に向けられる。
「……月の民よ」
輝夜の声が、低くなった。
「このアクセス、月の民が家の結界を探るための信号。微弱だけど、間違いない」
「結界?」
「由崎家には、司を守るための結界が張られている。月の民は、その結界の弱い場所を探している」
ソラは、画面と輝夜の顔を交互に見た。
「つまり、月の民はもう、この家のすぐ近くまで来てるってことか」
「ええ。昨日の夜、あなたと一緒にこの家に来た時、月の気配がした。あれは、気のせいじゃなかった」
輝夜は、右手の甲にある月の紋様のような痣を、そっと撫でた。
「……結界を点検する。あなたも来て」
「わかった」
ソラは立ち上がった。
―――
由崎家の裏庭。
朝の光が、庭の木々の葉を透かして、地面にまだら模様を描いている。
輝夜は、庭の四隅に立って、何かを確認していた。
「ここ。結界が少し薄くなってる」
「結界って、目に見えるものなのか」
「普通の人には見えない。でも、月の血を引く者には見える。あなたにも、うっすら見えてるはず」
ソラは、目を凝らした。
(……見える)
空気が、わずかに歪んでいる。家全体を包むように、透明な膜のようなものが張られていた。
「これが、結界」
「ええ。月の民の侵入を防ぐための、古い術。でも、完全じゃない。長い年月で、あちこちに穴が開いてる」
輝夜は、結界の薄くなった場所に手をかざした。
すると、彼女の右手の甲の痣が、淡く光った。
「……これで、少しは補強できる」
「すごいな」
「大したことじゃない。応急処置よ」
輝夜は、淡々と言った。
ソラは、輝夜の横顔を見た。
無表情。
でも、その目は、真剣だった。
「なあ、輝夜」
「何」
「君は、どうしてそこまでして司を守るんだ」
輝夜は、しばらく黙っていた。
風が吹いて、黒い着物の裾が揺れる。
「……私の母は、月の民に連れ去られた」
輝夜が、静かに口を開いた。
「私が十歳の時。母は、司を守るために戦って、負けた。月の民に、連れて行かれた。私は、その時、何もできなかった」
ソラは、息を止めた。
「月の血の力が、まだ未熟だった。母を守る力が、私にはなかった。だから、母は連れ去られた。今、どこにいるのかも、生きているのかも、分からない」
輝夜の声は、淡々としていた。
でも、その言葉の一つ一つが、ソラの胸に重く突き刺さる。
「それから十年。私は、月の民の気配を追い続けてきた。司を守るために。母の代わりに。……いや、母の無念を、私が晴らすために」
輝夜は、ソラの方を向いた。
黒曜石のような瞳が、まっすぐにソラを見つめる。
「あなたには、分からないかもしれない。でも、私には、もうこれしかないの」
ソラは、何も言えなかった。
(十歳で、母を奪われた)
(それから十年、一人で戦い続けてきた)
(この少女の無表情の裏には、そんな過去が)
ソラの胸の奥で、何かが動いた。
(俺は、どうだ)
(自分のことで、精一杯だった)
(この世界に来て、ただ戸惑って、誰かに頼ることしか考えていなかった)
「……俺は」
ソラは、ゆっくりと口を開いた。
「俺は、君みたいに強くない。戦う力もない。体力もない。プログラミングしか、取り柄がない」
「知ってる」
「でも」
ソラは、輝夜の目を見た。
「俺にできることがあるなら、やりたい。君と一緒に、司を守りたい」
輝夜は、少しだけ目を見開いた。
「……本気で言ってるの」
「本気だ。計算が合わないことばかりだけど、でも、この気持ちは本物だ」
輝夜は、じっとソラを見つめた。
それから、ほんの少しだけ、口元を緩めた。
黒マスクで隠れていて、ほとんど見えない。
でも、確かに、笑った。
「……ありがとう」
小さな声だった。
―――
夜。
ソラは、客間の布団に横になりながら、天井を見つめていた。
昼間の輝夜の言葉が、頭から離れない。
(母を、月の民に連れ去られた)
(十年間、一人で)
(司を守るために)
ソラは、ポケットからスマホを取り出した。
バッテリー残量は、二十二パーセント。
メモ帳アプリを開く。
『この世界のルールを、コードとして捉える』
『書き換えられるか?』
昨日の夜に書いたメモ。
ソラは、その下に、新しい言葉を書き足した。
『結界の構造を解析する』
『月の民のアクセスパターンを逆探知する』
『守るために、何ができるか』
その時。
ドンッ。
家の外で、何かが動く気配がした。
ソラは、体を起こした。
(今の音)
耳を澄ます。
シン、と静まり返った夜。
でも、確かに聞こえた。
何かが、家の周りを這うような音。
ソラは、窓に近づいた。
カーテンを、そっと開ける。
月明かりが、庭を青白く照らしていた。
あの、異様に大きな月。
その光の下に、黒い影が立っていた。
「……!」
ソラは、息を呑んだ。
影は、ゆっくりとこちらを向いた。
銀色の長髪が、月光の下で冷たく輝く。
金色の瞳。縦長の瞳孔。
月影の使者。
―――
その時、隣の部屋の窓が開く音がした。
「行くのね」
輝夜が、庭に飛び降りた。
黒い着物が、夜風に翻る。
「あら、お嬢さん。こんばんは」
使者は、笑った。
目が、全く笑っていない。
「何をしているの」
「何って、見ての通りですよ。下見です。蓬莱の娘の反応を見に来ただけ」
使者は、長い指を、ゆっくりと動かした。
その指先から、何かが伸びている。
糸だ。
肉眼では、ほとんど見えない。
でも、月明かりに照らされて、かすかに光っている。
「この家の周りに、私の糸を張り巡らせています。家の中の様子が、手に取るように分かるんですよ。例えば、今、二階の窓から、君の連れの少年がこっちを見ていることとかね」
ソラは、背筋が冷たくなった。
(気づかれてる)
「ソラ、逃げて」
輝夜が、振り返らずに言った。
「あなたは、家の中に。ここは私が」
「……いや」
ソラは、窓を開けた。
「何をしてるの」
「俺にも、できることがある」
ソラは、スマホを取り出した。
(あの糸は、制御信号で動いている)
(なら、その信号を解析して、逆探知できるかもしれない)
「輝夜、時間を稼いでくれ」
「……無茶よ」
「無茶でもやる。俺は、君と一緒に守ると決めた」
ソラは、スマホの画面をタップした。
自作の解析プログラムを起動する。
―――
「おやおや、面白い小虫がいるじゃないですか」
使者は、ソラの方を見た。
「君、何をしているのかな? まさか、私の糸を解析しようとでも?」
ソラは、無言でプログラムを走らせた。
画面に、数字とコードが流れる。
(糸の制御信号……あれは、特定の周波数で動いてる)
(逆算すれば、糸の構造が分かる)
「やめなさい。人間ごときが、私の術に触れていいものではない」
使者の声が、低くなった。
「ソラ、下がって!」
輝夜が、ソラの前に立った。
右手の甲の痣が、光る。
「お前の相手は、私よ」
「あら、怖い。でもね、お嬢さん。君の力は、まだ未熟だ。私に勝てるとは思わないことだ」
使者が、指を動かした。
見えない糸が、空気を裂いて、輝夜に襲いかかる。
「くっ……!」
輝夜は、かろうじてそれを避けた。
でも、黒い着物の袖が、ざくりと裂かれる。
「輝夜!」
「大丈夫。それより、解析を」
ソラは、歯を食いしばって、スマホに集中した。
(急げ。急ぐんだ)
指が、震える。
心臓が、うるさい。
(落ち着け。冷静に。俺の武器は、頭だ)
プログラムが、糸の制御信号のパターンを検出した。
「……見えた」
ソラは、逆探知プログラムを実行した。
ピピッ。
スマホが、小さく音を立てる。
その瞬間。
使者の糸の一部が、ぷつりと切れた。
「……ほう」
使者が、初めてソラをまっすぐに見た。
「私の糸の一部を、機能不全に陥らせたか。面白い。本当に面白い小虫だ」
使者は、笑った。
そして、次の瞬間。
ソラの手から、スマホが消えていた。
「……え」
使者が、いつの間にか、ソラの目の前に立っていた。
長い指が、ソラのスマホを掴んでいる。
「残念だったね。せっかくの玩具だが、これは壊させてもらうよ」
グシャ。
スマホが、握り潰された。
ガラスと金属の破片が、月明かりに散る。
「あ……」
ソラの手が、空を掴んだ。
「さようなら、小虫。君の解析は、なかなか面白かった。だが、私の相手は、君じゃない」
使者は、ソラに背を向けた。
「輝夜、逃げて!」
ソラは、叫んだ。
でも、遅かった。
使者の糸が、ソラに向かって放たれる。
「させるか」
輝夜が、ソラの前に飛び込んだ。
ザシュッ。
糸が、輝夜の肩を貫いた。
「——っ!」
血が、飛び散る。
黒い着物が、月明かりの下で、さらに黒く染まっていく。
「輝夜!!」
ソラは、倒れ込む輝夜を抱きとめた。
「どうして……どうして庇ったり……」
「あなたは……まだ、死ぬわけにはいかない」
輝夜の声が、かすれている。
「私の……使命は、司を守ること。でも……あなたも、守りたいと思った。それだけよ」
「馬鹿だ……俺なんかのために……」
ソラの目から、涙がこぼれた。
「感動的な場面だね。だが、今回はこれで失礼するよ。次は、本隊で来る。蓬莱の娘を、月へお連れするためにね」
使者は、そう言い残して、夜の闇に消えた。
―――
「輝夜さん!」
司が、家の中から飛び出してきた。
「大変。すぐに手当てを」
司は、輝夜の傷口を見て、顔をこわばらせた。
「……私の血で、治せる。少し、我慢してね」
司は、自分の指先を、小さなナイフで切った。
赤い血が、月明かりに浮かぶ。
「私の血には、人を癒やす力があるの。信じて」
司は、輝夜の傷口に、自分の血を垂らした。
すると、どうだろう。
塞がっていく。
見る見るうちに、傷が、塞がっていく。
「……すごい」
ソラは、ただ見つめることしかできなかった。
「大丈夫。もう、大丈夫ですわ」
司は、ほっと息をついた。
「ありがとう、ございます」
輝夜の声は、まだ弱々しい。
「無理しないで。今は、休んで」
司は、輝夜を家の中へ運ぼうとした。
「……待って」
輝夜が、ソラの方を向いた。
「あなたの解析、無駄じゃなかった」
「……え」
「あなたが解析したから、使者の糸の仕組みが分かった。次は、対策を立てられる」
輝夜の目は、まだ力強く光っていた。
「あなたは、私を守ろうとしてくれた。それだけで、十分よ」
ソラは、何も言えなかった。
ただ、涙が、止まらなかった。
―――
客間。
ソラは、床に座り込んでいた。
手の中には、破壊されたスマホの残骸。
画面は、粉々に割れている。
電源は、もう入らない。
(俺の、せいだ)
(俺が、勝手に解析なんてしなければ)
(輝夜は、傷つかなかった)
(スマホも、失わなかった)
後悔が、胸を締め付ける。
「……計算が、合わない」
ソラは、呟いた。
「俺は、何もできなかった。ただ、足を引っ張っただけだ」
涙が、畳に落ちる。
でも。
輝夜の言葉が、頭の中で繰り返される。
『あなたの解析で、使者の糸の仕組みが分かった』
『次は、対策を立てられる』
(対策)
(そうだ。俺にできることは、まだある)
ソラは、顔を上げた。
手元に、ノートがあった。
司が、筆記用具と一緒に置いていってくれたものだ。
ソラは、ノートを開いた。
(この世界のルールを、コードとして捉える)
(物理法則も、因果も、全部)
(プログラムとして、書き換える)
ソラは、震える手で、ペンを走らせた。
『世界のルールを書き換えるプログラム』
『結界の構造を解析し、強化する』
『月の民の糸の制御信号を、完全に無効化する』
『そのためには、この世界の根本原理を、コードとして理解する必要がある』
書いているうちに、ソラの思考は、どんどん加速していった。
(もし、本当に世界のルールを書き換えられるなら)
(月の民に対抗できる)
(司を守れる)
(輝夜を、もう傷つけなくて済む)
「……でも」
ソラの手が、止まった。
(代償は、何だ)
(世界のルールを書き換えるなんて、そんな力、ただで使えるはずがない)
ソラは、ノートの隅に、小さく書き足した。
『代償、不明』
『だが、やるしかない』
窓の外を見る。
カーテンの隙間から、月明かりが差し込んでいた。
あの、異様に大きな月。
月は、静かに、不気味に、輝いていた。
「次は、必ず」
ソラは、ノートを握りしめた。
「次は、絶対に、守ってみせる」
月の光が、ソラの横顔を、青白く照らしていた。
その光の中で、ソラの深い茶色の瞳だけが、熱を帯びて輝いていた。Noveliaとは?
Noveliaは、AIでライトノベルや二次創作を「読んで・数タップで作って・キャラクターと会話できる」プラットフォームです。挿絵つきの新作が毎日届き、無料で始められます。