硝煙弾雨ーオペレーション: タングステン・ガルガンチュア_1
@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 {
/* 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;
}
太陽が高く登った頃に地元のバーでネットニュースとSNSをチェックしながら重いブランチを摂り、午後は郊外にある広いくせにいつもガラガラの射撃場でひとしきり汗をかいた後にジムで一泳ぎ、汗と火薬の臭いを洗い流してからガールフレンドのアンジーを迎えに行ってちょっとだけ値の張るレストランでディナー、そのあとまたバーに寄って後はお楽しみ。
ここに来る前日、俺はそんな風に過ごしていた。
それは2つの意味で、俺が連邦軍に居た頃には考えられない生活だった。いや、正確には今も軍籍は残っているが、正規の兵士じゃないって事だ。俺が野戦猟兵旅団にいた頃、基地から出られるのはシフト次第だったし、飯は旨いがビールは無い。走っては撃ち、HMMWVから撃ち、降りては撃ち、伏せては撃ち、飛び込んでは撃つ。その繰り返し。自分の手とライフルのグリップがくっ付いて離れなくなっていった。
イラクでもアフガニスタンでも、俺は色々な目にあったが、戦場基本適応化動機付けプログラム、略してBOMBのお陰で──誰だ、こんな下らないアクロニムを考え付いた奴は──、日常と非日常は明確に区別されていた。どちらもやっている事は同じだが、確かな違いがあった。それは自分の"気分"という奴だった。
今は違う。アンジーの下着を脱がす感覚を楽しんでから24時間も経っていないのに、こうして猛烈な砲火に晒されながら、動きも顔も間抜けな敵を照準器越しに狙い撃っている。こういう時に役立つのはTOMB、つまり自分の気分を"墓の下に埋める"わけだ。
始まりはこうだった。俺たちはオンラインでブリーフィングを受けた。それは普段の作戦前の儀式と変わりなかった―途中から見知らぬ男が参加してきたのを除けば、だが。
カメラ越しでさえ人を苛つかせるような薄ら笑いを浮かべたビジネススーツの男は、自分を財団の中東支部に所属する収容担当官で、次席対外情報部長という役職にあると説明し、続いて自己紹介とも前口上ともつかぬ下らない言葉を垂れ流した。とはいえ、前触れもなく突然に重要な事を言い出されても困る。ヘッドセットの音量を絞る訳にはいかなかった。
その男―イヴァン・アンドレエヴィチ・イヴァノフと名乗っていた―が説明するところによると、彼らがエリア126と呼んでいる施設で収容オブジェクトに起因する離反行為の恐れがあり、俺たちに責任者を含む高位職員の内偵を依頼したい、という事だった。その施設は、その扱っている代物だけではなく、世界有数の危険地帯―即ちシリア北部に位置するにも関わらず、財団の中東支部はそこの保安に掛かる予算をケチって、フルタイムの保安スタッフを減らして地元の民兵組織を雇い入れているそうだ。彼らの言う"Eクラス"として。
とはいえ、そのサイトに溜め込んでいる代物は、認識災害と生化学的側面の双方に跨る行動変容型ベクターをばら撒くせいで、過去に何度も奴らの大好きな"収容違反"を繰り返しているオブジェクトらしい。そして、一番悪いのは、それがサーキック・カルトに由来する代物で、しかも恐らくはオリジナルに絡む何かが含まれているという事だ。収容違反の再発に備えて、財団は"うちの会社"の手をいくらか借りながら数ヶ月前に"特設武装サイト126-B"を設置、オブジェクトごとその極秘施設を監視する事にしたらしい。
俺たちからすれば、サーカイト絡みのオブジェクトに関わる財団職員は、例外なく信用する理由がない。そもそも財団は俺たちの”仲間"じゃない。それが異常か正常かなんてのはどうでも良く、それが脅威かどうか──脅威なら排除すればいい。だが、何より一番腑に落ちなかったのは、なぜわざわざ俺たちにそれをやらせたいのか、という事だった。
説明された作戦はこうだった。俺たちは民兵に教練を施すための戦術アドバイザーとして現地入りする。事情を知ってるのはこのイヴァノフというロシア人の他は情報部の上級職員のみだと。財団からすれば、サーカイトに対する共同戦線を張る上で貴重なパートナーだという事実を改めて明確に出来るし、もし職員の誰かがボロを出せば、奴らの財団内ネットワークを炙り出せる。そういう説明だった。随分回りくどいやり方だ。財団にだって内部監査チームはあるだろう。それも出来ないならそもそも収容なんてしなければいい。イヴァノフはその件を説明し終えると、くれぐれも本件は他の財団職員に知られる事の無いように、特にサイト126-Bの保安関係者には絶対に口外しない事、と念を押してきた。
「財団内での人事調査なら―俺達はCRSAですよ。どう考えても俺たち向きの仕事じゃないように聞こえますが、ガイスト大尉」
俺たち6人を率いるチームリーダーのジョセフ・"ジョー"・オコーナーが探りを入れるように質問した。相手はロシア人ではなく、俺たちOp-Sec1の指揮官だ。
「今回はISNPに基づく正面切っての依頼だ。それに、生憎他のチームは全て出払ってる」
部外者が居るときは嘘で会話を成立させる。これは俺達の鉄則だった。その部外者が財団の奴であれば余計にだった。
「何より、お前たちは全員イラク派兵経験者だ。一番の適任だろう」
それは事実だった。俺は野戦猟兵だった頃に2回派兵されたし、ジョーは現役の時に開戦時から3か月以上、ずっと向こうにいたらしい。スタンとネイサンは2回、ネルは現役時代に1回、CRITICSに配属されてからの非公式で2回、ミラは1回だけだが滞在期間は俺たちの中で一番長い。
「で、そちらの保安体制はどうなってるので?」
ネイト、またはネイサンことナサニエル"ネイサン"ウィングフィールド少尉が、不信感を隠そうともせずに"ヴァーニャ"に聞いた。
「エリア126は内部保安が主体で30名ほど、装備は小火器のみ、クラスⅢのボディアーマーに抗弾ヘルメット、防毒マスク。機動部隊プサイ-7("燻蒸消毒業者")として招集された君たちのお仲間も常駐している。ローテーションで1個分隊と1個火器班がエリアに、小隊本部と他の分隊はサイト126-Bにて待機。そっちの装備や戦術については君たちの方が詳しいだろう?但し、彼らは君たちと接触しない事になっている。周辺の巡回警備はアイン・アル=アラブ革命旅団が行っている」
アイン・アル=アラブ革命旅団、通称AARB。元々はYPGの一派だったが、飽くまでクルド人の独立を目指すYPGと異なり、彼らはシリア政府の打倒を目的とする急進的な一派だ。決して信用できる連中とは思えない。イワン曰く、少なくとも給料分の仕事はしているらしいが。彼らの装備はAKにRPG、機関銃や無反動砲を載せたテクニカル。中東では定番を通り越してステレオタイプといって良い組み合わせだ。財団は彼らを警備員として雇用する見返りに幾つか装備品の供与も行っているそうだ。光学照準器に西側製のタクティカルベスト、それにオークリーやモンベルのトレッキングシューズなんかも。奴らはただの収容狂だから、それが何に使われるのかまでは興味を持てないらしい。
更に朗報は続いた。携行品及び弾薬は現地部隊と共用できるものか現地で入手可能なもの、或いは通常の手段で持ち込めるものに限られる。俺たちの仕事は表向き現地の保安要員に対する戦術指導で、その為には当然ながら彼らと同じ武器じゃなきゃ意味がない。つまり俺たちは拳銃とナイフを別にすればAKか古いHKの308しか選べないという訳だ。好き好んでAKを戦場に持っていくのはタフガイ気取りか、闘志以外は何も持ち合わせていない貧乏人と相場が決まっている。財団の正規保安部隊はもっとマシな物を使っている癖に、俺たちはクソみたいに重いAKを使えというのか。流石に気の毒になったのか、心優しい中佐は、狙撃銃なら別ルートで持ち込んでも構わないと言ってくれた。メンバー全員の表情が目に見えて渋くなっていくのを見ながら、俺自身も打ちひしがれたような気持ちに包まれていた。
携帯端末のインスタントメッセンジャーには大尉からの短いメッセージが来ていた。
(これ以上有益な会話は発生しないだろう。行動指示と必要な情報は後で転送する)
カメラフィードの向こうではイヴァノフの野郎が忌々しい薄ら笑いを張り付けたまままだ喋り続けていた。これは財団から君たちへの誠意だと思ってくれ、と。クソッタレ。財団が敵だろうと味方だろうとどっちでもいい。むしろ敵なら航空支援付きで乗り込んでやれるものを。ありったけのMk82をばら撒いた後でエリアごと例の森を粉砕した後に悠々と進んでサンプルだけ回収すればいい。そうなってくれれば素人染みた命令で俺たちの仲間が使い潰されることもなくなるだろう。イワンは得意げに話しながら、サイトやエリアに勤務する職員のプロフィールを画面に移した。殆どが神経質な顔をした男女だったが、一人だけその中で異彩を放つ顔があった。アイシャ・ファラハニ、サイト126-B保安部長。街中で見かけたら思わず振り返るくらいはするだろう。アンジーが隣に居たら別だが。
「お前たちの任務は飽くまで偵察だ。深入りはしなくていい。必要な情報が手に入れば良し、手に入らなかったとしてもイヴァノフ氏が次の手を打つだろう。他に質問はないな。ではいつも通り全員別ルート、別時刻で現地入りしろ。それと最後に。作戦名は"タングステン・ガルガンチュア"だ。」
「了解、ボス」
ジョーの一言でビデオ会議は終了した。
政府軍とそれを支援する国民防衛隊を始めとした政権支持派の軍閥、反体制派武装勢力―とは言ってもAQ系民兵やISIL、更にはこれを機に勢力を拡大しようとするクルド人勢力などそれぞれ異なる思惑を持つ組織やコミュニティが入り乱れ、更にはヒズボラや革命防衛隊といった国外の原理主義者勢力などが入り乱れ、今やカダフィ死亡後のベンガジを上回る混乱の極みにある場所。それが今のシリアだ。
現地に入ったら最後、仲間を除いて信用できる奴は誰もいないという事だけは、この時点でチームの全員が把握していた。