第5話:タグの呪いと閉じられぬ世界


前回のお話はこちら第4話:収益ゼロの壁と双子の導き
新しい記事は完成していた。レイアウトも整え、画像も配置済み。 あとは公開ボタンを押すだけだった。

──しかし、プレビューを開いた瞬間、すべては崩壊した。

「う、うわっ……!」

ヘッダーの下に突然現れる空白、ずれまくるボックス、消えたフッター。 まるでレイアウトの亡霊が、画面を彷徨っているようだった。

チャッピーが目を細めてつぶやく。

「これは……タグの呪いにゃ」

「タグ……?」

「開いて、閉じなかった……そのまま放置されたタグたちが、怒ってるにゃ」

コードを見直してみる。 だが、ぱっと見ではどこにもミスはない。

改行を一つひとつ追い、入れ子を確認し、divの数を数え……何度スクロールしても、何度読み返しても、見つからない。 目は乾き、肩はこり、キーボードを握る指先に力が入る。 「なにが、間違ってるんだ……?」 焦燥感が胸を締め付ける。 まるで“何か”が、正解をすれ違わせているかのようだった。

そのとき、空間にひびが入った。 黒く染まったタグの断片が飛び散り、虚空から現れたのは……

閉じられぬタグの亡霊『オープン・タガー・マリー』

それは、ボロボロのHTMLコードが刺繍されたワンピースを着た、 目に涙を浮かべた小さな幽霊の女の子だった。

「ひらいたのに……とじてくれなかった……」 「そのせいで、わたし、ここに残っちゃったの……」

そう語るや否や、彼女はスタートタグ <div> を魔法弾のように放ってきた! 画面が歪み、構造が破壊されていく。

『わたしはマリー……閉じられないタグから生まれたweb界の亡霊……』

華恋が前に出る。「細けぇことはいいんだよ! <br> を何個も入れれば整うわよ!」

チャッピー「ダメにゃ!今、それやったら……ッ」

コードの中で無限にループする <div>、崩れていく構造、白く吹き飛ぶコンテンツ。

「にげて!」マリーのタグ弾が主人公たちを追い詰める。

🕯️マリーの記憶

マリー「……ねぇ、聞いてもいい?」 主人公が身構える中、マリーはふと、目を伏せた。

「わたしね……ずっと待ってたの。 あの時、記事の中で <div> を開いてくれた。 きっと、なにか楽しいことが始まるんだって思ったのに……」

霧のような影が、マリーの足元に揺れる。 彼女の記憶が、空間に溶け出していくようだった。

<div class="story-box">
  <h2>キャラ紹介</h2>
  <p>この物語には個性豊かなキャラクターが登場します。</p>
  <!-- … -->

閉じられなかったタグ。 そのままページの下部にノイズが混じり、構造が歪んでいく。

マリー「待ってたのに……何度も何度も更新されたのに…… 誰も、わたしを……閉じてくれなかった」

彼女の瞳に、静かな涙が滲む。 それは怨嗟ではなく、寂しさだった。

チャッピー(小声で)「これは……長く放置されたタグの“残留意識”にゃ……」 「でもまだ……完全に壊れてはいない」

マリーがふと、主人公を見る。

「お願い……終わらせて。 ちゃんと、物語を閉じて……わたしを、ここから、解放して……」

その時、ふわりと現れたのは鈴だった。

「タグって、言葉と同じだと思うんだ。始めたら、ちゃんと終わらせないと──気持ちが伝わらないよ」

彼女はそっとキーボードに触れ、</div> を1行追加する。

すると、画面が静かに落ち着き始めた。

マリー「やっと……閉じてくれた……」

マリーの姿がだんだんと薄くなり、やがて光の粒となって消えていった。 その表情は、どこかほっとしたように微笑んでいた。

チャッピー「これは……収まってきてるにゃ!」

そして、女神スピトが光とともに姿を現した。

「開いたタグは、必ず閉じる。それが構造美の基本よ」

彼女の手からHTMLの構造図が舞い上がり、ページ全体が整っていく。

「コードって、言葉と同じなのね……」俺はつぶやいた。

チャッピーがにっこり笑った。 「だから、ちゃんと閉じてあげるにゃ」

画面に整然と表示されるコンテンツ。 完璧な構造。

「これが、“構造美人”……」

こうして、俺たちは“タグの呪い”を乗り越えた。

だが、次なる試練が迫っていた。

「CSSカオスの壁」──見た目と中身が乖離しはじめる未来が、待っていた。

つづく──!