SCP-3785に通じている道。画像は携帯電話の映像から回収された。詳細は補遺3785.4(3785.AV.01)を参照。
特別収容プロトコル: SCP-3785へのアクセスポイントを封鎖し、自動観測装置による監視を行います。SCP-3785に向かおうとする者は捕縛して地元警察に引き渡します。財団職員は実験の必要がある場合を除き、確立された1.6kmの境界マーカーを超えないでください。
説明: SCP-3785はジョージア州道166号線を逸れた未舗装路からのみ辿り着ける場所です。この道路以外の手段でSCP-3785にアクセスしようとする試みは例外無く、SCP-3785を全く発見できないという結果になります。未舗装路を逸れてからそこに戻ろうとする人物は、問題の道路を再発見できません。この道路は空路からのアクセスが不可能です。道路は長さ約2kmであり、終端にSCP-3785があります。
SCP-3785は幅90m、長さ不定の見通しの良い丘であり、両側に沿って木々が生え、その中に巨大な高電圧線用の支柱が立ち並んでいます。SCP-3785の内部は恒久的に夜であり、一貫して22.5°Cの気温を維持しています。SCP-3785内にはオフロード車両がレクリエーションに用いるようなダートトラックが多数設けられています。
“ジャスパーヶ丘”Jasper’s Hillという文言と北方を指す矢印を記した粗雑な木製看板が、SCP-3785を通っている未舗装路に点在しています。SCP-3785内で北へ向かおうとする試みは、地形が徐々に辿り難くなり、丘や谷間の大きさ・複雑さが劇的に増して移動不可能な状態へ近付いていくために極めて危険を伴います。このため、探索チームはSCP-3785の北端に到達できていません。
SCP-3785-1は、車高の高い白の1980年代後半型シボレー・ブレイザーと、その運転手の総称です。SCP-3785-1の真の性質はまだ断定されていませんが、SCP-3785の内部で収集された情報は、この車両の運転手が“ジャスパーヶ丘”の“ジャスパー”であることを示しています。SCP-3785-1はSCP-3785の不条理な地形を容易に移動可能であり、SCP-3785の中で迷った人物を捜索・追跡するためにこれを行っている節があります。
補遺3785.1: 発見
SCP-3785の存在はこの地域でよく知られている民話の一部でした。典型的な民話は、森で迷子になった3人の子供が“ジャスパーの場所”と呼ばれる暗い空き地に入り込むという筋書きを取っています。子供たちは道を見失い、正体不明の人物によって追跡され、最終的には見つかって、物語の終わりで“上下逆さに首を吊られ”ます。
しかしながら、若者12名のグループが当該エリアにおいて不自然な状況下で失踪し、財団職員が関与するまでは、民話と一致するような出来事は起こっていませんでした。3週間後、激しいショック状態にある失踪者の一人が、SCP-3785の入口からおよそ2kmの場所で発見されました。この生存者 — ジョージア州ヴィラ・リカ在住の20歳の黒人男性 — は、最初の発見者たちに対し、自分はまだ“ジャスパー”に追われており、他の行方不明者は全員“逆さ吊り”にされたと語りました。近くを通り過ぎる車のヘッドライトを見て、男性はパニックを起こし、“ジャスパー”に発見されて隠れることができないのだと叫び始めたため、沈静されなければなりませんでした。
生存者が述べた未舗装路以外のSCP-3785への到達手段を警察職員が発見できず、またSCP-3785空間の異常な特徴が発見された後、アトランタから出向いた財団職員が現場を封鎖し、必要に応じて記憶処理を行うと共に、他の失踪者を発見するためのチームを結成しました。
補遺3785.2: 探索ログI
注記: 以下は機動部隊D-15“カントリー・ライン”の部隊員3名、D-15テッター、ジャックナイフ、ノースによる、SCP-3785内での探索試行の音声転写である。彼らの任務の目的は、失踪者11名の居場所を突き止めて回収することだった。
[記録開始]
D-15 テッター: よし、お前たち。行くとしようか。
D-15 ノース: 暗くなってきましたね。
D-15 テッター: そうだな、司令部、確かに暗くなり始めている。木が多すぎて光が届かないという感じじゃない、ただ夜間であるかのようだ。時間を確認してもらえるか?
司令部: 了解した、テッター。現在は現地時間で1405。
D-15 テッター: だろうと思ったよ。この時間帯にしては余りに暗すぎる。
チームは更に2km進んだ後、SCP-3785の入口に到達する。
D-15 ジャックナイフ: お前ら、あれが聞こえるか?
D-15 ノース: ええ、不気味だ。ここは本当に静かです。聞こえるのは風の音ばかり、 (沈黙) それと、時たま鳥の声も。
D-15 ジャックナイフ: おまけに恐ろしいほど暗い。
司令部: 了解した、チーム。注意して進んでくれ。
チームは肩部装着型ライトを起動させ、空き地を北に向かって進む。
D-15 テッター: 司令部、状況を報告する。
司令部: 了解、テッター。
D-15 テッター: 我々は広い空き地の中にいる。電力線が張られている場所を見るに、こちら側には樹木しかない。それで… 我々の居場所よりも北方に何があるか探るのは難しい。空には星があるが、かなり光は弱く、えー… 馴染みのある星は一つも無い。とても微かな光が前方に見えている、あとは沢山の丘と幾つかの荒い未舗装路だ。今のところ特に異常な事は起きていない。 (沈黙) 車両で来ればよかったとは思うがね。ここを動き回るのは骨が折れそうだ。
司令部: 了解、テッター。安全を保てる限り遠くまで探索を続行し、これ以上は前進できないと感じたら帰還してくれ。
D-15 テッター: 了解した。
チームは探索を短期間継続する。
D-15 ノース: ここを見てください。足跡です。 (沈黙) 多分、数人分の異なるものです。僕らの探している迷子たちだと思いますか?
D-15 テッター: 何とも言えない。かなり新しいようには見える。 (沈黙) フン。あれを見てみろ。
D-15 ジャックナイフ: 何だ?
D-15 テッター: あの看板だ。
D-15 ノース: 司令部、ここに看板があります。文言は… “ジャスパーヶ丘”、それと… 北を指す矢印が描いてありますね。
司令部: 了解した、ノース。諸君のいる場所に、他に不自然な物は?
D-15 ノース: いいえ。見通しはとても良好です。
司令部: 了解。続行してくれ。
チームは北に進み続け、他幾つかの似たような看板や、丘の上に残された小規模なキャンプ地らしき空間と焚火の跡などを通り過ぎていく。ひときわ高い丘の頂上で、チームは立ち止まる。
D-15 テッター: お前たち、そこから見えるか?
D-15 ノース: 何処です。
D-15 ジャックナイフ: ああ、向こうの方だな。ありゃ車か?
D-15 テッター: 見た目はそんな感じだろう? それほど早く動いてはいない。 (沈黙) 司令部、ここの地形はかなり異常になってきている。我々が頂上にいる丘は本来あるべき状態よりも高いし、ここを過ぎてからは急激に下落している。この先には、クソッ、あー… 他の異常に高い丘が半ダースぐらい見えるな? そしてその向こう、多分3、4クリック先にヘッドライトがある。対象はどうやら… ただ道なりに鈍行している。
D-15 ノース: ねぇ、止まりましたよ。
D-15 テッター: なので引き返し始めた方が良さそうだと思っている、ここから離れる脇道があるか調べ—
D-15 ジャックナイフ: シーッ、ちょっと待て。見ろ。
D-15 ノース: えー、司令部、例のヘッドライトは今しがた僕らに向けられました。対象が方向転換しています。 (沈黙) 僕らに向かって来ています。
司令部: 了解した。問題の車両はどの程度離れている?
D-15 テッター: 判断は困難だ。現在地より先の地形は相当奇妙になっている。結構離れてはいると思う。あれは— (沈黙) 鳥の鳴き声が止んだ。今は別な音が聞こえている。
司令部: 何だ?
D-15 テッター: 人が… ネコの鳴きまねをしているように聞こえる。えー、つまり、“ミャーオ、ミャーオ”というアレだ。それを何回も何回も繰り返している。何処が音源かは分からない。
司令部: 了解した、テッター。躊躇せず帰還してくれ、次回探索を試みる際には車両を使えるように手配しよう。
D-15 テッター: 分かった。
D-15 ジャックナイフ: ありがてぇ。足が痛くて死にそうだぜ。
チームはアクセスポイントに向かって引き返し始める。
D-15 ノース: テッター、こちらへ。この木の横に何かあります。
D-15 テッター: うん?
D-15 ノース: 携帯電話です。
D-15 テッター: ほう。よし、回収しろ。研究室で処理させよう。 (沈黙) 誰か、先ほどから例のヘッドライトを見た奴はいるか?
D-15 ジャックナイフ: あの尾根を戻ってからは見てない。 (沈黙) 例の変なネコの鳴きまねも聞こえないな。
D-15 ノース: ようやくですよ。
D-15 テッター: 気を引き締めろ。他の音が聞こえるぞ。お前たちは聞こえたか? あれは何だ?
D-15 ジャックナイフ: 正直言ってよく分からん。かなり奇妙だ、上手くここから逃げ出せるかどうか。 (沈黙) ああ、奇妙だ。かなり俺たちに近いのに殆ど聞き取れない。くぐもってるのか? まるで相当な—
D-15 ノース: (沈黙) ああ、なんてこった。上を見て。
D-15 ジャックナイフ: こいつは酷ぇ。
D-15 テッター: 何— クソッ、ヘッドライトだ。走れ! ライトを消して走るんだ!
司令部: テッター? テッター、何があった?
D-15 テッター: あの音 (荒い息づかい) 電力線 (荒い息づかい) 電力線の上からだ (荒い息づかい) 我々の探してた子供たちが (沈黙) 上空に向かって逆さに首を吊られていた。 (荒い息づかい) 奴は真後ろにいる。
司令部: 了解、救出班はアクセスポイントで準備を終えている。
司令部: テッター? 聞こえているか?
D-15 ジャックナイフ: (エンジン音、続けて叫び声、そして静寂)
D-15 テッター: 畜生!
司令部: D-15チーム? 聞こえるか?
静寂。
司令部: 聞こえるか?
短期間の静寂が続き、司令部はD-15チームとの意思疎通を再確立しようと試みる。
D-15 テッター: 頑張れ。もう少しだからな。
司令部: D-15、聞こえるか?
D-15 ノース: 司令部?
司令部: 聞こえている。何が起こった?
D-15 ノース: 奴はジャックナイフに追突して森の中に走り去りました。奴が近くまで来た時に声を聞きました、僕らに話しかけていたようですが、奴の方からこちらの姿が見えていたとは思いません。奴は今はもう尾根を越えて向こうに行ってしまい、(沈黙) 姿は見えません。ジャック? ジャック!
司令部: 繰り返す、ジャックナイフはMIAか?
D-15 テッター: その通りだ。司令部、我々は失踪者たちを発見できたと思うが (沈黙) 彼らが回収可能だとは思えない。ジャックを助け出さなければ。それまではここに留ま—
司令部: 否だ、テッター。救出ポイントへ向かいたまえ、諸君をそこから脱出させる。ジャックナイフの回収には別のチームを派遣しよう。
D-15チームの残存隊員はアクセスポイントで成功裏に回収された。軽微な引っ掻き傷や痣とストレスの兆候を別とすれば、残存隊員の健康状態は良好である。D-15チームによって回収された携帯電話は失踪者の一人の所持品と特定されている。機器から回収された情報は以下で閲覧可能。
[記録終了]
補遺3785.3: 探索ログII
注記: 以下は救出チーム、アトランタ-9“ダーティ・バード”の隊員が撮影した記録の音声/映像転写である。ATL-9は任務の決定的な破綻が起きた場合にD-15チームを回収する準備を整えていた。ATL-9チームは、D-15チーム残存隊員2名の回収に成功した直後に派遣された。
同チームはATL-9シャーマン、ディエゴ、ジュニペロの3名から構成されていた。
[記録開始]
回収チームのビデオレコーダーからの映像。
ATL-9 シャーマン: 空き地に到着しました。
司令部: 了解した。ジャックナイフの探知器は400m離れた場所を指し示している。D-15チームを襲撃した、敵対的かつ正体不明の実体に注意してくれ。
ATL-9 シャーマン: 了解。行くぞ。
ATL-9チームは速やかに前進し、D-15 テッターたちが残した跡を辿る。ディエゴの肩部装着型カメラは、薄暗い星明りを上空に捉えている。遠くで微かにエンジン音が聞こえる。
ATL-9 ジュニペロ: ジャック? ジャック、俺たちの声が聞こえるか、おい? お前を助けに来たんだよ。
D-15 ジャックナイフ: (くぐもった音)
司令部: 救出チーム、ジャックナイフからの通信を受け取ったことを報告しておく。
ATL-9 シャーマン: 了解。
回収チームのビデオレコーダーからの映像。
チームはさらに数分間進み続ける。彼らが大きな丘に近付くにつれ、電力線の支柱が見えてくる。高圧電線にはロープで拘束された無数の人影が縛り付けられ、電線から絞首縄で上下逆さに首を吊られている。人影の大半は身動きしない。1つの影が激しくもがいている。支柱の基部にSCP-3785-1がいる。
ATL-9 シャーマン: クソが。よし、あの鉄塔を登る必要があるな。 (沈黙) 私がトラックを遠くに誘い寄せよう。君たち2人は塔を登ってジャックナイフを救出し、救出ポイントに帰還して落ち合う。彼を救出したらすぐ連絡をくれ、私は奴と他所でデートしてくるから。
ATL-9 ディエゴ: 分かりました。
ATL-9 シャーマンが部隊から離れる。彼は丘の頂に沿って支柱とSCP-3785-1からさらに距離を取る。ATL-9 ディエゴとジュニペロが位置に着くとすぐにATL-9 シャーマンが照明弾を灯す。
ATL-9 シャーマン: こっちだ、ゲス野郎!
SCP-3785-1のエンジン回転音が大きくなると共に歪んだ笑い声と甲高い音が聞こえ、実体は支柱から離れてATL-9 シャーマンの方へ移動する。実体が丘の向こうに消え次第、ATL-9 ディエゴとジュニペロは支柱に向かって移動し、昇り始める。彼らが昇るにつれ、上方でロープで縛られ首を吊られた状態で身をよじっている姿はより活発に動き始める。一瞬、対象がディエゴのカメラに映り込む — D-15 ジャックナイフの目が見えるが、顔の他の部位はロープで覆い隠されている。
2人が昇るにつれて、周辺区域の様子がより視認可能になる。彼らの視点からは、下の世界は暗い森に覆われた大地を一本線の空き地と似たような電力線が走っているように見える。上空は未だに黒く、薄暗い星明りが点在しているが、幾分光っているように見える。さらに遠くでは、地面が著しく歪み捻じれた状態となって自己ループを形成し、標準的な幾何学に適合しない形式で歪曲している。
最終的に、ATL-9 ディエゴとジュニペロは両者ともに支柱の頂点に辿り着く。命綱としてロープを手繰りながら、ジュニペロがジャックナイフの方に身を乗り出す。
回収チームのビデオレコーダーからの映像。
ATL-9 ジュニペロ: 待ってろよ、ジャック。こいつを切る時間を少しくれ、そしたらここからはおさらばだ。
ジュニペロは鋸歯ナイフを取り出し、ロープを切断し始める。ディエゴの視点からは、ジャックナイフは一心にジュニペロを見つめているように思われる。下方では、森の中からエンジンの回転音が聞こえ、その後間もなくして小規模な爆発が起こる(後にATL-9 シャーマンが投げた手榴弾と判明)。
突然、低いゴロゴロと言う音が、明確な音源無しに響く。電力線が振動し、ジュニペロは線を掴み続けるために切断作業を暫く中断することになった。ゴロゴロ音が収まった後、ジュニペロは切断を再開する。
ATL-9 ジュニペロ: 待ってろ、待ってろ… あともう… ほんの少し—
ATL-9 ジュニペロがロープの最後の繊維を切断し、ジャックナイフの絞首縄と拘束が解ける。ジャックナイフは咳き込みながらジュニペロに手を伸ばすが、上方に向かって“落下”し始め、電力線から離れていく。
ATL-9 ディエゴ: クソッ!
ATL-9 ジュニペロ: ヤバいぞ! ディエゴ!
ATL-9 ディエゴが別のロープを用意し、ジャックナイフに向けて投げるが、1mほど外れる。再び低いゴロゴロ音が聞こえるが、今回は下方から歪んだ笑い声が付随している。ジャックナイフは上方に落下し続けている。
D-15 ジャックナイフ: クソッたれ! クソッたれ! 助けてくれ! 嫌だ! 助けて! 誰かお願いだぁ! 助けて!
ジャックナイフは上昇し続ける。下方では、歪んだ笑い声がより大きくなり、どことなくネコ科の鳴き声を思わせる鋭くけたたましい音で途絶える。低いゴロゴロ音は響き続けている。
ATL-9 ジュニペロ: ディエゴ? どうすりゃいい?
ATL-9 ディエゴ: こん畜生!
D-15 ジャックナイフ: なんてこった、なんて、できない、俺できない— (沈黙) 嗚呼。
電力線上にいる2人の上で、空の薄暗い星が変化し始める。星は僅かに明るさを増して歪み、地平線の端から端まで広がる数千(もしくは数十万)もの巨大な、漠然とタコに似た目を形作る。ジャックナイフが空と向かい合うように捻じれるのが見える。
ATL-9 ジュニペロ: ジャック!
D-15 ジャックナイフ: 俺— (沈黙) 俺は— (沈黙) こいつはそこら中に-
ジャックナイフの身体が劇的な勢いで切断され、声が途絶える。この際、空の目が暗い赤色に輝き、ジャックナイフの身体は唐突にバラバラになる。残った内臓は空に上昇し続ける。間もなく、低いゴロゴロ音は収まり、下方から歪んだ笑い声が聞こえる。
ATL-9 シャーマン: ジューン、ディエゴ、聞こえるか? ジャックナイフを回収したのか? トラックに乗った実体は森の中に消えた。
ATL-9 ディエゴ: 了解。ジャックナイフはロストした。合流ポイントに向かってくれ、そこで会おう。
ATL-9の全隊員はSCP-3785内から回収された。SCP-3785内の危険な状況を鑑み、これ以上の有人探査は一時的に制限されている。SCP-3785の上空で観察された実体の性質は不明。
[記録終了]
補遺3785.4: 回収された携帯電話のデータ
注記: 以下は、補遺3785.2の出来事の間に発見された、SCP-3785内で道に迷ったと考えられる人物、ダニエル・ハドソンの携帯電話から回収された動画および音声の転写である。
ID #: 3785.AV.01
記録形式: 動画
長さ: 15秒
転写: 3人の女性と2人の男性がオープントップのジープに乗り、後ほどSCP-3785に向かう道と確認された未舗装路を走っている。
ID #: 3785.AV.02
記録形式: 動画
長さ: 15秒
転写: 若者たちの小規模な一団が炎を囲んで立っている。カメラを持っている女性が、カメラを自分に向けて笑顔を作る。特筆すべき点として、遠くにヘッドライトが見える。
ID #: 3785.AV.03
記録形式: テキストメッセージ
転写: 起きてる?Jが泥にはまっちゃった。けん引してほしいの。クロスプレインズの外
ID #: 3785.AV.04
記録形式: 通話履歴
相手: “J”として登録されている連絡先
ステータス: 接続できていない
ID #: 3785.AV.05
記録形式: 動画
長さ: 1:13
転写: カメラは他の行方不明者たちの顔を横切るように動いており、全員が懸念または怒りの表情を見せている。誰かがナンバープレートを見たかどうか尋ねる。1人の白人男性が黒のトラックの前に立ち、右側の損傷を確かめている。他2人の女性が電話を掛けている。カメラがトラックに近付くと、白のブレイザーがグループに向かってゆっくりと接近してくる。ブレイザーが通り過ぎる際、暗い人影がグループを見つめているのが分かる。男性の一人が“満足かよ、クソ野郎”と叫び、森の中へ消えてゆくブレイザーに向かって瓶を投げつける。
ID #: 3785.AV.06
記録形式: 写真
内容: トラックの前面の損傷の画像。
Image ID# 3785.AV.07.
ID #: 3785.AV.07
記録形式: 写真
内容: 丘の頂上を写した画像。高電圧線の支柱が見える。これ以外の文脈は不明。
ID #: 3785.AV.08
記録形式: 通話履歴
相手: 911への通報7件、連絡先“ママ”への通話10件
ステータス: 接続できていない
ID #: 3785.AV.09
記録形式: 動画
長さ: 15秒
転写: 白人男性が銃を抜き、カメラの範囲外にある何かを狙う。男性は発砲するが、直後に白のブレイザーに激突され、両者ともカメラ視点から外れる。動画全体を通して女性の叫び声が聞こえる。カメラ視点が移動するが、ブレイザーも男性も見えない。奇妙なえずくような音が聞こえる。
ID #: 3785.AV.10
記録形式: 動画
長さ: 15秒
転写: 遠距離に一対のヘッドライトが見える。1人の男性が支離滅裂に叫んでいるのが聞こえるが、やがて大きなエンジンの回転音が響き、男性は静かになる。カメラ視点が移動し、丘の頂上にある焚火を映し出す。
ID #: 3785.AV.11
記録形式: 通話履歴
相手: 911への通報15件
ステータス: 接続できていない
ID #: 3785.AV.12
記録形式: テキストメッセージ
内容: 半時間以上に及ぶ多数のテキストメッセージ。全て“助けて”または“911に通報して”という類の内容。
ID #: 3785.AV.13
記録形式: 動画
長さ: 15秒
転写: 背景にエンジンのアイドリング音が聞こえる。前景で1人の女性がすすり泣いている。レンズは何かで曇っている。近くで男性の声が聞こえるが、著しく歪んでおり支離滅裂である。男性の声は笑っている。前の動画と同じく、えずくような音が聞こえる。
ID #: 3785.AV.14
記録形式: 通話履歴
相手: 不明な番号。ダイヤルミス、またはポケット内での誤発信の可能性あり
ステータス: 接続できていない
Image ID# 3785.AV.15.
ID #: 3785.AV.15
記録形式: 写真
内容: 至近距離にある一対のヘッドライト。これ以外の文脈は不明。
ID #: 3785.AV.16
記録形式: 動画
長さ: 23分
転写: カメラのライトが点灯しており、カメラは地面に近い場所にある。カメラ視点が上がる際、撮影者の顔が一瞬だけ映るが、判別は不可能である。撮影者は短い間、未舗装路をゆっくりと下り、再び空き地に出る。光源は月光のみであり、著しく歪曲した景色が映っている — ありえない地質学的特徴の峡谷があり、そこを交差して走る未舗装路はある地点から非ユークリッド的な形にねじれて上下が逆さになっている。
カメラは峡谷の非常に急な崖の上へ移動し、見下ろす。底は見えないが、幾つかの微かな明かりが暗闇でゆっくり移動しているのが分かる。突然、短いながらも独特の大きなエンジン音が響き、カメラは急速に右へと動く — 不可能なほど巨大な丘が暗闇の中に見える。どういう訳か、丘はSCP-3785の全域より大きく見えるにも拘らず、全体がカメラ映像に映り込んでいる。丘の頂上では一対の明るいヘッドライトが静止しており、近くで焚火が燃えている。丘の下側では、1体のヒト型の影が、他2体のヒト型の影を絞首縄に向かってゆっくりと引きずっていく。
立っている影が他2つの身動きしない影の首に絞首縄を掛け、再びエンジンの回転音が響く。丘の上のヘッドライトがバックし始め、身動きしない2つの影はゆっくり上昇を開始する。上昇するにつれて、2つの影の体勢は逆転し、身体が吊り下がるのではなく上方に向き始める1。影がもがき苦しんでいる様子が見える。
ヘッドライトは視界を外れ、2つの影(現在は上下逆さに吊られている)は主電力線を越えた高さまで上昇し続ける。カメラ視点が移動し、最初は数十、続いて数百近い可能性がある他の影が、全て電力線から逆さに吊るされているのを映し出す。丘の広がりの向こう側から、大きく歪んではいるが明確に笑い、早口で支離滅裂に話している男性の声が聞こえる。カメラは丘の上で吊るされた人々を見上げているヒト型の影に視点を戻す。低く唸るような音が聞こえ、上空(カメラの視点外)で何かが発生する。
突然、ヒト型の影は顔を跳ね上げてカメラの方角を見る。カメラは素早く引き戻され、ライトが消される。動画の残り15分は、撮影者の短く重苦しい呼吸と低い脈の音、そして断続的なヒト型実体の叫びしか聞こえない。
Image ID# 3785.AV.17.
ID #: 3785.AV.17
記録形式: 写真
内容: カメラの弱光で照らされた暗い男性の姿。これ以外の文脈は不明。この写真は、携帯電話から回収された他全ての記録から数日の間を置いて撮影されている。
本ページを引用する際の表記:
「SCP-3785」著作権者: djkaktus 出典: SCP財団Wiki http://scp-jp.wikidot.com/scp-3785 ライセンス: CC BY-SA 3.0
このコンポーネントの使用方法については、ライセンスボックス を参照してください。ライセンスについては、ライセンスガイド を参照してください。
ファイル名: hill.jpg
著作者:djkaktus
ライセンス: CC BY-SA 3.0
ソース: SCP Foundation Wiki
ファイル名: jasper.jpg
著作者:djkaktus
ライセンス: CC BY-SA 3.0
ソース: SCP Foundation Wiki
ファイル名: jasper2.png
著作者:djkaktus
ライセンス: CC BY-SA 3.0
ソース: SCP Foundation Wiki
ファイル名: recovery.png
著作者:djkaktus
ライセンス: CC BY-SA 3.0
ソース: SCP Foundation Wiki
ファイル名: recovery2.png
著作者:djkaktus
ライセンス: CC BY-SA 3.0
ソース: SCP Foundation Wiki
ファイル名: recovery3.png
著作者:djkaktus
ライセンス: CC BY-SA 3.0
ソース: SCP Foundation Wiki
ファイル名: road.png
著作者:djkaktus
ライセンス: CC BY-SA 3.0
ソース: SCP Foundation Wiki
:root { /* header measurements */ --header-height-on-desktop: 10rem; --header-height-on-mobile: 10rem; --header-h1-font-size: clamp(2rem, 5vw, 2.8125rem); --header-h2-font-size: clamp(0.875rem, 3vw, 0.9375rem); --logo-image: url("https://scp-jp.github.io/Black-Highlighter/img/logo.svg"); } #header { --search-textbox-text-color: var(--swatch-secondary-color); background: none; } #header::before { content: " "; position: absolute; width: 100%; height: 100%; left: 0; top: 0.75rem; background-image: var(--logo-image); background-repeat: no-repeat; background-position: center 0; background-size: auto calc(var(--header-height-on-desktop) - 1.5rem); opacity: 0.8; pointer-events: none; } #header h1, #header h2 { margin: 0; padding: 0; width: 100%; height: var(--header-height-on-desktop); display: flex; align-items: center; justify-content: center; display: flex; align-items: center; justify-content: center; } #header h1 a, #header h1 a::before, #header h2 span, #header h2 span::before { margin: 0; padding: 0; z-index: 0; display: block; text-align: center; } #header h1 { z-index: 1; } #header h1 a::before, #header h1 a::after { content: var(--header-title); } #header h1 a::before { color: rgb(var(--swatch-text-tertiary-color)); z-index: -1; -webkit-text-stroke: 0.325rem rgb(var(--swatch-text-dark)); } #header h1 a::after { color: rgb(var(--swatch-headerh1-color)); z-index: 1; } #header h2 { z-index: 0; text-transform: uppercase; pointer-events: none; } #header h2 span { margin-top: calc(var(--header-height-on-mobile)/2 + var(--header-h1-font-size)/1.6 - 2em); } #header h2 span::before, #header h2 span::after { --wght: 600; content: var(--header-subtitle); position: absolute; left: 50%; transform: translateY(-50%) translateX(-50%); width: 100%; text-align: center; } #header h2 span::before { -webkit-text-stroke: 0.25rem rgb(var(--swatch-text-dark)); } #header h2 span::after { color: rgb(var(--swatch-headerh2-color)); z-index: 1; } #search-top-box form[id="search-top-box-form"]:not(:focus-within) input[type="text"] { color: rgba(0, 0, 0, 0); } @media (min-width: 36rem) { #login-status { flex-grow: 1; left: 3%; right: initial; } #login-status::before { --mask-image: none; background-color: transparent; } #login-status:not(:focus-within) { color: rgb(var(--login-line-divider-color)); -webkit-user-select: initial; -moz-user-select: initial; -ms-user-select: initial; user-select: initial; } #login-status #account-topbutton, #login-status:not(:focus-within) #account-topbutton { --clip-path: polygon( 0 0, 100% 0, 100% 100%, 0 100% ); background-color: rgba(var(--login-arrow-color), 0); } #login-status #account-topbutton::before{ --clip-path: polygon( 30% 35%, 70% 35%, 50% 60%, 50% 60% ); --mask-image: initial; content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(var(--login-arrow-color), 1); -webkit-clip-path: var(--clip-path); clip-path: var(--clip-path); } #login-status #account-topbutton::before, #login-status:not(:focus-within) #account-topbutton::before, #login-status:not(:focus-within) #account-topbutton:hover::before { --clip-path: polygon( 30% 35%, 70% 35%, 50% 60%, 50% 60% ); --mask-image: initial; } #login-status:not(:focus-within) #account-topbutton::after { display: none; } #login-status:not(:focus-within) *:not(#account-topbutton):not([href*="account/messages"]) { --clip-path: polygon( 0 0, 100% 0, 100% 100%, 0 100% ); pointer-events: all; -webkit-clip-path: var(--clip-path); clip-path: var(--clip-path); } #login-status:not(:focus-within) *:not(#account-topbutton):not(#account-options):not([href*="account/messages"]) { opacity: 1; } #login-status #my-account { --wght: 300; } #account-options { background: var(--gradient-header); } #search-top-box { top: 1.5em; right: 3%; background: rgba(var(--search-focus-textbox-bg-color), 0.4); } #search-top-box:focus-within ~ #login-status { opacity: 1; } #search-top-box::after { transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-clip-path 150ms cubic-bezier(0.4, 0, 0.2, 1); transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1), clip-path 150ms cubic-bezier(0.4, 0, 0.2, 1); transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1), clip-path 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-clip-path 150ms cubic-bezier(0.4, 0, 0.2, 1); } #search-top-box:not(:focus-within)::after { --clip-path: polygon( 0 0, 100% 0, 100% 100%, 0% 100% ); background-color: rgba(var(--search-icon-bg-color, --dark-accent), 1); -webkit-clip-path: var(--clip-path); clip-path: var(--clip-path); } #search-top-box:not(:focus-within):hover::after { --clip-path: polygon( 0 0, 100% 0, 100% 100%, 0 100% ); background-color: rgb(var(--search-icon-hover-bg-color)); } #search-top-box form[id="search-top-box-form"]:not(:focus-within) { max-width: var(--search-width); } #search-top-box form[id="search-top-box-form"]:not(:focus-within) input[type="text"] { max-width: var(--search-width); padding: 0 var(--search-height) 0 1em; outline-width: 0; background-color: rgb(var(--search-focus-textbox-bg-color), 0.35); color: rgba(var(--search-textbox-text-color), 0.4); cursor: pointer; } #search-top-box form[id="search-top-box-form"]:not(:focus-within) input[type="submit"], #search-top-box form[id="search-top-box-form"]:focus-within input[type="submit"] { pointer-events: all; border: none; } } #page-title::after, .meta-title::after, #page-title::before, .meta-title::before { content: ""; flex-grow: 1; height: 0.0625rem; background: rgb(var(--swatch-primary)); } #page-title::before, .meta-title::before { margin: auto 1.25rem auto auto; }
@supports(display: grid) { :root { --sidebar-width-on-desktop: calc((var(--base-font-size) * (14 / 15)) * 19); --body-width-on-desktop: 45.75rem; } @media only screen and (min-width: 769px) { #side-bar .close-menu { display: block; position: fixed; top: unset; bottom: 0.5rem; left: 0.5rem; width: 3rem; height: 3rem; background: unset; opacity: 1; pointer-events: all; z-index: -1; } #side-bar .close-menu img { color: transparent; } #side-bar .close-menu::before, #side-bar .close-menu::after { content: ""; box-sizing: border-box; position: fixed; display: block; top: unset; bottom: 0.5rem; left: 0.5rem; width: 3rem; height: 3rem; padding: 0; margin: 0; text-align: center; pointer-events: all; cursor: pointer; transition: opacity var(--sidebar-transition-timing); } #side-bar .close-menu::before { --mask:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' id='Hamburger' x='0' y='0' baseProfile='tiny' overflow='visible' version='1.2' viewBox='0 0 32 32' xml:space='preserve'%3E%3Cpath d='M4 10h24c1.1 0 2-.9 2-2s-.9-2-2-2H4c-1.1 0-2 .9-2 2s.9 2 2 2zm24 4H4c-1.1 0-2 .9-2 2s.9 2 2 2h24c1.1 0 2-.9 2-2s-.9-2-2-2zm0 8H4c-1.1 0-2 .9-2 2s.9 2 2 2h24c1.1 0 2-.9 2-2s-.9-2-2-2z'/%3E%3C/svg%3E"); z-index: -1; background-color: var(--toggle-icon-color, rgb(var(--sidebar-links-text))) !important; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: 50% 50%; mask-position: 50% 50%; -webkit-mask-size: 60%; mask-size: 60%; } #side-bar .close-menu::after { z-index: -2; background-color: var(--toggle-button-bg, rgb(var(--sidebar-bg-color))) !important; border-radius: var(--toggle-roundness, 50%); border: var(--toggle-border-color, rgb(var(--sidebar-links-text))) var(--toggle-border-width, 0.25rem) solid; } #side-bar:focus-within .close-menu, #side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover .close-menu { pointer-events: none; } #side-bar:focus-within .close-menu::before, #side-bar:focus-within .close-menu::after { opacity: 0; pointer-events: none; } #side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover .close-menu::before, #side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover .close-menu::after { opacity: 0; pointer-events: none; } #side-bar { display: block; position: fixed; top: 0; left: calc(var(--sidebar-width-on-desktop)*-1); z-index: 10; transition: left 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms; height: 100%; overflow-y: auto; overflow-x: hidden; margin-top: 0; } #side-bar:focus-within { left: 0; } #side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover { left: 0; } #side-bar .side-block { margin-top: 1rem; background-color: rgb(0, 0, 0, 0); border-radius: 0; border-left-width: 0px; border-right-width: 0px; } #main-content::before { content: ""; display: block; position: fixed; top: 0; right: 0; z-index: -1; opacity: 0; transition: opacity 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms, width 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms; margin-left: var(--sidebar-width-on-desktop); background: rgba(var(--swatch-menubg-black-color), .3) 1px 1px repeat; padding-right: 0; width: 100%; height: 100vh; pointer-events: none; z-index: 99; } #side-bar:focus-within ~ #main-content::before { width: calc(100% - var(--sidebar-width-on-desktop)); opacity: 1; pointer-events: all; } #side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover ~ #main-content::before { width: calc(100% - var(--sidebar-width-on-desktop)); opacity: 1; pointer-events: all; } @supports (-moz-appearance:none) and (background-attachment:local) and (not (-moz-osx-font-smoothing:auto)) { #side-bar { padding: inherit; } } #content-wrap { display: flex; flex-direction: row; width: calc(100vw - (100vw - 100%)); min-height: calc(100vh - calc(var(--final-header-height-on-desktop, 10.125rem))); flex-grow: 2; height: auto; position: relative; margin: 0 auto; max-width: inherit; } #main-content { width: 100%; position: initial; max-height: 100%; padding: 2rem 1rem; max-width: var(--body-width-on-desktop, 45.75rem); margin: 0 auto; } #page-content { max-width: min(90vw, var(--body-width-on-desktop, 45.75rem)); } @supports (-webkit-hyphens:none) { #side-bar { transition: left 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms, padding-right 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms, background-color 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms; padding-right: 0; background-color: rgb(0, 0, 0, 0); pointer-events: all; overflow-x: visible; overflow-y: visible; z-index: 999; } #side-bar::-webkit-scrollbar { opacity: 0; -webkit-transition: opacity 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms; transition: opacity 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms; } #side-bar .close-menu::before { z-index: 999; } #side-bar .close-menu::after { z-index: 998; } #side-bar:hover .close-menu::before, #side-bar:hover .close-menu::after { opacity: 0; } #side-bar:hover { left: 0; background-color: rgba(var(--swatch-menubg-color), 1); padding-right: 0; } #side-bar:hover::-webkit-scrollbar { opacity: 1; } #side-bar:hover~#main-content::before { width: calc(100% - var(--sidebar-width-on-desktop)); opacity: 1; pointer-events: all; } } } } }
: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)); } }






