日常的非日常


評価: +32+x
blank.png

日常的非日常


「半年後に5級以上の国家非常事態が発生する? どうしてそんな事が?」

「近畿地方全域とその周辺領域が基底現実を離脱するためです。当事案により複数のサイト施設で連鎖的収容違反が発生し、3か月以内に日本全土の正常性は修復不可能なレベルで破壊されます。87パーセント前後の確率でヴェールプロトコルの破綻が宣言され、加えて96パーセントの確率でこのインシデントは起こりえます。きっかり、6か月後にね」

異国の景色でも眺めるかのように、西と東を横断する鉄の通路に立つ二名の職員。かれらの目の前には、忌々しい程の青い光を放つ巨大な機構が一つの都市の如く鎮座していた。サイト-81KKが誇る超越的バックアップシステム“DEEPWELL”の深層、因果解読統合体“WHITECAT”の未来予知が予測を外したことは一度もない。

「……一体どうすればいい?」

「簡単です。この男性を止めるだけで構いません」

エージェントの重々しい口調とは正反対、なんでもないことを話すかのように分析官は画面全体に映像を展開した。映されたのは日本にどこにでもありそうな民家の街並み……そしてその焦点は道路を歩く一人の老人に当てられていた。

「彼の名前は市川 寛治郎いちかわ かんじろう。三重県に在住する一般市民です。問題のインシデントは彼が自宅から近所の公園に移動し20分程度の滞在の後に再び自宅に戻るという一連のルーティーンを40年以上に渡って継続したことにより発生します。奇跡的イベントというよりはバタフライエフェクトの線が濃いでしょうね」

エージェントは信じられないものを見るような目で画面を見た後、僅かに頭を抱える。

「私は……この人を殺す必要があるのか?」

「いいえ。3日程度彼を足止めできれば問題ないでしょう。それで蓄積された因果のエネルギーは解消され、問題ないレベルまで回復するものと見られます」

この言葉でエージェントはやっと頭を抱えるのを止めた。

「まだ頭痛がするがしかたない。一刻も早く現場に飛ぶ。詳細な位置情報を送っておいてくれ」

終末論構想セクションがこの事案に対処し、因果の流れは正位置へと戻った。


四つの画面を通して映るカートゥーン風のガラガラヘビのアイコンを睨む。アンダーグラウンドを思わせる黒の画面の中央に描かれたその画像は、背景に映える黄色の姿も相まって余計に滑稽という感情を想起させる。

ここ日本にもとうとうシルクロードのパチモンが現れた。近年異常なスピードで発達するダークウェブ上のIT技術は全世界の犯罪組織の間にのぞき穴を開け、薬物や呪物といったクソッタレな品々が通ることを可能にした。そして現状穴を埋めるより開ける連中の方が一歩リードしている。取引の総数は闇の中にあっても青天井。統計的に見れば違法かつ異常な物品を取引するネットワークは現在全盛期とも言える程の隆盛を遂げている。

画面に映るウェブサイトの名は“殻々”。5か月ほど間に突如として現れた闇市で、異例の速さで東アジアのアンダーグラウンドサービスの使用率4位に食い込んできている。何らかの要注意犯罪結社が何枚か噛んでいる可能性が高い。そして何よりもの証拠がここにある。

画面をチェンジするとガラガラヘビの姿は消え、そこには先ほどのチープな姿とは似ても似つかない禍々しい血染めの蛇がこちらを睨んでいた。外傷を負わされ息絶える寸前なのか、あるいは同族と闘うことを強要されたのか……真相こそ不明なもののそこには明確な憎悪の色が見て取れる。

どこの誰かは知らないがこれを考えた奴は狂ってる。匿名化技術と呪術的防壁の掛け合わせ。突破を試みればデータ上に刻まれた呪術が発動し、即座に呪詛事象がホワイトハッカーへと向く……。

だが、興味深い。そっちがその気なら、こっちも総力をかけて内幕を暴かせてもらう。

情報技術セクションがこの事案に対処し、ウェブサイトは78時間後に閉鎖された。


「お前に何が分かんだよ」

昼下がり、大阪某所の寂れた喫茶店。最奥の席で二人の男が冷めかけのコーヒーを飲みもせず互いを凝視していた。タンクトップの青年とスーツの中年。対照的な二人にの間に張りつめた緊張が敵意に似た重圧を形成している。

「分かりゃしねえよ。ふざけたオモチャ作って地元のヤンキーや半グレ相手に捌く。そんな汚ねえ金でクスリやる奴の気持ちの何か知る訳ねえ」

「在庫も金も消えた。俺の作り上げたモン全部奪っていった奴が何言おうが聞こえねえよ!」

青年の怒声に危険な匂いを嗅ぎ取った店主が恐る恐る顔を出すもスーツの男がそれを静止させる。口止め料代わりのチップで店主をテーブルから追い出した後男は言葉を紡いだ。

「浅いんだよ。あるいはこういっても言い。お前は自分のことを世紀の天才か何かに思ってたのかもしれんが、やってることはありふれてる」

「……はぁ?」

この言葉に青年が初めて動揺の色を見せた。

「都市伝説って知ってるだろ? 口裂け女、ドッペルゲンガー、異世界に行く方法。これは全てお前の作ったオモチャ同様存在する。俺たちの組織の間でこういう人知を超えた存在は一様に“アノマリー”って呼ばれてる。組織の役目はアノマリーを世界中から集め一般民衆から遠ざけること。そのために俺たちは世界中の政府や秘密結社と協力し、裏側の世界で巨大な権力を築き上げてる」

「お前何言って……」

「最初に言っただろ、俺はケーサツじゃねえ。それとも逮捕されてえのか? 俺たちの組織にかかりゃ、そんなことは簡単にできる」

しばしの沈黙。この空気に耐え切れなくなったのか、あるいは逃げ場が欲しかったのか青年は驚愕の表情のままコーヒーをすする。冷えて甘さだけが増幅された液体が彼の喉の奥へと消えた。

「捕まりたくない……だけど、だけどどうすりゃいいんだ?」

「組織で働くのが一番の手だな。安心しろ、福利厚生はちゃんとしてるしそれなりに高給取り。無論リスクもあるがでもこれっきゃねえだろう?」

青年に怒りと絶望の色は既に見えない。自分が見ていた全知の世界が狭い個室でしかなかったような、圧倒的な何かに揉まれるような奇妙な感情がそこにはあった。

「ガキの時に親父が蒸発して800万の借金か……順風満帆な人生とは言えねえな」

男が最後のダメ押しとして切り出した言葉に青年は俯く。そして、全てが変わりきった状況にこう呟く他無かった。

「……俺はまだ変われるのか?」

「それは分からねえ。これからのお前の選択次第だ」

中年の手の中でコーヒーカップがカチャリと音を立てる。10年ぶりの涙が青年の目から零れ落ちた。

緩和・抑制セクションがこの事案に対処し、同セクションは1名の新規職員を獲得した。


長い神社の階段を抜けた先は、薄汚れた公衆トイレに繋がっていた。狂気じみた太鼓の音頭は終わり、壁の向こうのパイプを流れるごぼごぼした水音が取って代わる。されど、追跡者の足音がやむことは無い。

無限大の通路の左側には個室トイレが並び、遠目で見れば一定間隔で辻が出来ているのが分かる。端は見えない。

まずい状況になった。倒産したスーパーマーケットの非常口から通じる奇怪な空間。典型的な擬態型の捕食性ネクサスだ。

「会計が済んでおりません。代金をお支払いください」

濡れたタイルの床を疾走する。下手をしたら足を水に取られて頭からすっころんでしまいそうだ。個室トイレの扉は全て開いていた。洋式の便器とトイレットペーパー、背後の小さな瓶に赤い花が1つ。全くもって同じ外観の個室が複製でもされたかのように延々と続く。

湿気が気持ち悪い。嫌な予感も臭いもする。

「会計が済んでおりません。代金をお支払いください」

諦めはしない。どんな餌も食道を通らなければ胃袋には落ちてこない。口に繋がるWayは必ずこの場所にある。水が勢いよく流れる音は何倍にも大きくなり、壁の向こうでリズミカルな何かを奏で始めた。

本能的な違和感に足を止める。この個室だけ違う。花の色が青。一瞬の脳に思考が流れ込んだ。

「会計が済んでおりませ──」

個室へ飛び込み、片手で鍵を閉める。世界が、暗転した。

ネクソロジーセクションがこの事案に対処し、帰還人員の証言を元に領域は解体された。


「見たまんまの“異常”っすね。まあ一目で分かったところで、マシってことにはならないですけど」

人魚。夜の闇が晴れつつある住宅街付近の河川に、そうとしか形容できない異形の骸がそこにはあった。

それほど深くもない澱んだ水に浮かぶ2名の若い男女。肌は長時間低温に晒されたせいか青白く、魂を失ったかのような虚ろな無表情が顔に見える。腰と脚に相当する位置には、薄い紅色が差す魚の半身があった。されど、縫合を行ったような痕は無い。これらの遺体は最初からこうして生まれたかのような、自然の見えざる手を持って永久の眠りの中にある。

異常性のトリガーなのか、犯人の嗜好傾向かは現状不明だが犠牲者たちは皆細身の美形を煌めかせていた。証拠を確保した今は日が昇り始める前に遺体をここから片づける必要がある。

「女性の方から詰めるよ。時間が無い、急ごう」

「了解っす」

遺体バッグに詰められたこれは手始めに『研究・開発』ケンカイの分析にかけられるだろう。先ほど入れたメールで既に『未詳資料/目録編纂』ヘンサンが遺体の身元情報を割り出し始めている。数日も経てば遺体は予測される異常に応じたセクションの元へと渡る……。そして第一発見者として、一連の流れの発射台を務めるのが私たちの役目だ。

「終わり、もう一つも詰めといて。こっち車に運んどくから」

辺りは黒からくすんだ青へと徐々に変化していく。おそらくあと15分前後で太陽が空に現れるはずだ。

バッグは重いが車まで距離は無いし、仕事の都合上遺体を運ぶのは慣れている。ちゃっちゃっと積み込んだ後、もう一人の遺体を詰めこちらも運んだ。

「一旦サイト戻るよ。……どした? 気分悪いの?」

「まぁ悪いっすよ。まだ直に見て触るのは馴染めないので」

「こういう仕事の後に飯食えたら馴染めるよ。早かったし食堂で一緒に朝飯でもどう?」

「焼きサバ定食は勘弁してほしい気分っすね」

エンジン音が鳴る。車がスピードを上げ始めた時、白い朝日が街全体を包んだ。

未詳怪異調査セクションがこの事案に対処し、今日新たに1つのSCPオブジェクトが財団データベースに登録された。

/* source: http://ah-sandbox.wikidot.com/component:collapsible-sidebar-x1 */
 
#top-bar .open-menu a {
        position: fixed;
        bottom: 0.5em;
        left: 0.5em;
        z-index: 15;
        font-family: san-serif;
        font-size: 30px;
        font-weight: 700;
        width: 30px;
        height: 30px;
        line-height: 0.9em;
        text-align: center;
        border: 0.2em solid #888 !important;
        background-color: #fff !important;
        border-radius: 3em;
        color: #888 !important;
        text-decoration: none!important;
}
 
@media (min-width: 768px) {
 
    .mobile-top-bar {
        display: block;
    }
 
    .mobile-top-bar li {
        display: none;
    }
 
    #main-content {
        max-width: 708px;
        margin: 0 auto;
        padding: 0;
        transition: max-width 0.2s ease-in-out;
    }
 
    #side-bar {
        display: block;
        position: fixed;
        top: 0;
        left: -25em;
        width: 17em;
        height: 100%;
        background-color: rgb(184, 134, 134);
        overflow-y: auto;
        z-index: 10;
        padding: 1em 1em 0 1em;
        -webkit-transition: left 0.5s ease-in-out 0.1s;
        -moz-transition: left 0.5s ease-in-out 0.1s;
        -ms-transition: left 0.5s ease-in-out 0.1s;
        -o-transition: left 0.5s ease-in-out 0.1s;
        transition: left 0.5s ease-in-out 0.1s;
    }
 
    #side-bar:after {
        content: "";
        position: absolute;
        top: 0;
        width: 0;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.2);
 
    }
 
    #side-bar:target {
        display: block;
        left: 0;
        width: 17em;
        margin: 0;
        border: 1px solid #dedede;
        z-index: 10;
    }
 
    #side-bar:target + #main-content {
        left: 0;
    }
 
    #side-bar:target .close-menu {
        display: block;
        position: fixed;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        background: rgba(0,0,0,0.3) 1px 1px repeat;
        z-index: -1;
    }
}
:root {
    --timeScale: 1;
    --timeDelay: 0s;
}
 
/* Converting middle divider from box-shadow to ::before pseudo-element */
.anom-bar > .bottom-box { box-shadow: none!important; }
.anom-bar > .bottom-box::before {
    position: absolute;
    content: " ";
    width: 100%;
    height: 0.5rem;
    background-color: rgb(var(--black-monochrome, 12, 12, 12));
    transform: translateY(-0.74rem);
}
 
/* DIVIDER */
.anom-bar > .bottom-box::before {
    animation-name: divider;
    animation-duration: calc(0.74s * var(--timeScale));
    animation-delay: calc(0.1s * var(--timeScale) + var(--timeDelay));
    animation-iteration-count: 1;
    animation-timing-function: cubic-bezier(.32,.38,.39,.94);
    animation-fill-mode: backwards;
}
 
/* CLASSIFIED LEVEL BARS */
div.top-center-box  > * {
    animation-name: bar;
    animation-duration: calc(0.45s * var(--timeScale));
    animation-iteration-count: 1;
    animation-timing-function: ease-out;
    animation-fill-mode: backwards;
}
div.top-center-box > :nth-child(1) { animation-delay: calc(0.2s * var(--timeScale) + var(--timeDelay)); }
div.top-center-box > :nth-child(2) { animation-delay: calc(0.32s * var(--timeScale) + var(--timeDelay)); }
div.top-center-box > :nth-child(3) { animation-delay: calc(0.45s * var(--timeScale) + var(--timeDelay)); }
div.top-center-box > :nth-child(4) { animation-delay: calc(0.61s * var(--timeScale) + var(--timeDelay)); }
div.top-center-box > :nth-child(5) { animation-delay: calc(0.75s * var(--timeScale) + var(--timeDelay)); }
div.top-center-box > :nth-child(6) { animation-delay: calc(0.95s * var(--timeScale) + var(--timeDelay)); }
 
/* TOP TEXT */
div.top-left-box, div.top-right-box {
    clip-path: polygon( 0% -50%, 150% -50%, 150% 100%, 0% 100%);
}
 
div.top-left-box > *, div.top-right-box > * {
    position: relative;
    animation-name: bottomup;
    animation-duration: calc(0.65s * var(--timeScale));
    animation-delay: calc(0.5s * var(--timeScale) + var(--timeDelay));
    animation-iteration-count: 1;
    animation-timing-function: ease-out;
    animation-fill-mode: backwards;
}
 
/*-----------------------------------*/
/*-----------------------------------*/
 
/* CONTAINMENT, DISRUPTION, RISK CLASSES */
div.text-part > * {
    clip-path: polygon( 0% 0%, 100% 0%, 100% 100%, 0% 100%);
    animation-name: expand2;
    animation-duration: calc(0.5s * var(--timeScale));
    animation-iteration-count: 1;
    animation-timing-function: cubic-bezier(.12,.41,.27,.99);
    animation-fill-mode: backwards;
}
div.text-part > :nth-child(1) {
    animation-name: expand1;
}
div.text-part > :nth-child(1) { animation-delay: calc(0.6s * var(--timeScale) + var(--timeDelay)); }
div.text-part > :nth-child(2) { animation-delay: calc(0.75s * var(--timeScale) + var(--timeDelay)); }
div.text-part > :nth-child(3) { animation-delay: calc(0.86s * var(--timeScale) + var(--timeDelay)); }
 
div.main-class::before, div.main-class::after {
    animation-name: iconslide;
    animation-duration: calc(0.45s * var(--timeScale));
    animation-delay: calc(0.8s * var(--timeScale) + var(--timeDelay));
    animation-iteration-count: 1;
    animation-timing-function: cubic-bezier(.12,.41,.27,.99);
    animation-fill-mode: backwards;
}
 /* BOTTOM TEXT */
div.main-class > *,  div.disrupt-class > *, div.risk-class > * {
    white-space: nowrap;
    animation-name: flowIn;
    animation-duration: calc(0.42s * var(--timeScale));
    animation-delay: calc(0.75s * var(--timeScale) + var(--timeDelay));
    animation-iteration-count: 1;
    animation-timing-function: ease-out;
    animation-fill-mode: backwards;
}
 
/*-----------------------------------*/
/*-----------------------------------*/
 
/* DIAMOND */
div.arrows {
    animation-name: arrowspin;
    animation-duration: calc(0.7s * var(--timeScale));
    animation-delay: calc(0.6s * var(--timeScale) + var(--timeDelay));
    animation-iteration-count: 1;
    animation-timing-function: cubic-bezier(.12,.41,.27,.99);
    animation-fill-mode: backwards;
}
 
div.quadrants > * {
    animation-name: fade;
    animation-duration: calc(0.3s * var(--timeScale));
    animation-delay: calc(1.4s * var(--timeScale) + var(--timeDelay));
    animation-iteration-count: 1;
    animation-timing-function: cubic-bezier(.12,.41,.27,.99);
    animation-fill-mode: backwards;
}
 
div.top-icon, div.right-icon, div.left-icon, div.bottom-icon {
    animation-name: nodegrow;
    animation-duration: calc(0.4s * var(--timeScale));
    animation-delay: calc(1.4s * var(--timeScale) + var(--timeDelay));
    animation-iteration-count: 1;
    animation-timing-function: cubic-bezier(.12,.41,.27,.99);
    animation-fill-mode: backwards;
}
div.diamond-part {
    clip-path: polygon( -10% 0.37%, 120% 0.37%, 120% 100%, -10% 100%);
    animation-name: diamondBorder;
    animation-duration: calc(0.8s * var(--timeScale));
    animation-delay: calc(0.5s * var(--timeScale) + var(--timeDelay));
    animation-iteration-count: 1;
    animation-timing-function: cubic-bezier(.32,.38,.39,.94);
    animation-fill-mode: backwards;
    will-change: box-shadow;
}
 
/* MOBILE QUERY */
@media (max-width: 480px ) {
    .anom-bar > .bottom-box::before {
        display:none;
    }
    .anom-bar > .bottom-box {
        box-shadow: 0 -0.5rem 0 0 rgb(var(--black-monochrome, 12, 12, 12))!important;
    }
    div.top-center-box  > * {
        animation-name: bar-mobile;
        animation-duration: calc(0.9s * var(--timeScale));
    }
    div.top-center-box > :nth-child(1) { animation-delay: calc(0.1s * var(--timeScale) + var(--timeDelay)); }
    div.top-center-box > :nth-child(2) { animation-delay: calc(0.2s * var(--timeScale) + var(--timeDelay)); }
    div.top-center-box > :nth-child(3) { animation-delay: calc(0.3s * var(--timeScale) + var(--timeDelay)); }
    div.top-center-box > :nth-child(4) { animation-delay: calc(0.4s * var(--timeScale) + var(--timeDelay)); }
    div.top-center-box > :nth-child(5) { animation-delay: calc(0.5s * var(--timeScale) + var(--timeDelay)); }
    div.top-center-box > :nth-child(6) { animation-delay: calc(0.6s * var(--timeScale) + var(--timeDelay)); }
 
}
 
/*--- Motion Accessibility ---*/
@media screen and (prefers-reduced-motion: reduce) {
    div.anom-bar-container { --timeScale: 0!important; }
}
 
/*-------------------------*/
 
@keyframes divider {
    from { max-width: 0%;  }
    to { max-width: 100%; }
}
 
@keyframes bar {
    from { max-width: 0%; }
    to { max-width: 100%; }
}
@keyframes bar-mobile {
    from { max-height: 0%; }
    to { max-height: 100%; }
}
 
@keyframes bottomup {
    from { top: 100px; }
    to { top: 0; }
}
 
@keyframes expand1 {
    from { opacity: 0; clip-path: inset(0 calc(100% - 0.75rem) 0 0); }
    to { opacity: 1; clip-path: inset(0); }
}
@keyframes iconslide {
    from { opacity: 0; transform: translateX(-5rem); }
    to { opacity: 1; transform: translateX(0); }
}
 
@keyframes expand2 {
    from { opacity: 0; width: 1%; }
    to { opacity: 1; width: calc(100% - 0.25rem); }
}
@keyframes fade {
    from { opacity: 0; }
    to { opacity: 1; }
}
 
@keyframes flowIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
 
@keyframes arrowspin {
    from { clip-path: circle(0%); transform: rotate(135deg); }
    to { clip-path: circle(75%); transform: rotate(0deg); }
}
@keyframes nodegrow {
    from { transform: scale(0);}
    to {  transform: scale(1);}
}
@keyframes diamondBorder {
    from { box-shadow: -0.5rem -20rem 0 0 rgb(var(--black-monochrome, 12, 12, 12)); }
    to { box-shadow: -0.5rem 0 0 0 rgb(var(--black-monochrome, 12, 12, 12)); }
}

特に指定がない限り、このサイトのすべてのコンテンツはクリエイティブ・コモンズ 表示 - 継承3.0ライセンス の元で利用可能です。