: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;
}
}
}
}
}
研究室にて彼の訃報を私は突然に耳に入れさせられた。願っても、ましてや思ってもなく、寝耳に水であることは火を見るよりも明らかであった。作業中のファイルにCtrl+Sをかけることを忘れず、そして白衣などまるで雨に曝されたぼろ布のごとく打ち捨て、研究室のドアを打ち開けた。このような事態は起こってはならない。
幾万もの研究室のドアが幾度となく打ち開けられるかのような音がする。天蓋より滴り落ちる水が地の果てまで続いている塩水の行進を打ち付ける音に違いない。非暴力・不服従の行進は遅々として進まず、もともと濡れていたものがより濡れて行く。そのようなことが幾万年にわたって幾度となく繰り返されたからこその、この命をたたえる塩水の行進である。果てには天蓋にもいずれ至る行進である。岩から染み出した塩味が水に吸われたからこのような味がする。
おのずと涙が流れる。私と彼はそれほど仲が良いというわけではなく、会話を交わすのも朝と昼と夜の挨拶と、たまたま食堂にて目が合った時くらいである。それでも彼の容貌と物理的な冷たさは私の無意識に差し込んだ。楔、もしくは紫外線のように。蛍光灯が続く無機質な廊下に私は足を踏み出す。床に光と影が連続している。
涙の味とは、海の味を何倍にも薄くしたようなものである。あまねく生物は全て放射性物質に温められた海の中から生まれ出でた。すると、体から出る水に塩が含まれているのは自然なことのように思える。幾億年前に幾億のシアノバクテリアが水と二酸化炭素から酸素を合成し、天蓋の上まで上り詰めた酸素が紫外線にさらされて、三つのどくだみのような匂いがする輪を作り上げたあの日を境にして、地球の残りの三割に生物がはびこるようになった。彼の死はそれを悠々越えてしまう衝撃である。
丸い日光が塩水の行進を刺す。強大な力を誇る日であろうと膨大な塩水の行進は乾かせず、依然として行進は続き、また濡れたままである。しかし幾分かその表面を削ることには成功したようで、暴れだした小さな水玉が天蓋に向けて今まさに旅立とうとしている。蛇のごとく大地をのたうち回る川は、このような小さな水玉が幾万年前からの幾万の風に吹かれて出来上がっている。
薄暗い廊下の蛍光灯の光が私の顔に当たるたびに日が昇り、南中し、また沈んでいるかのようだ。彼のいる場所までは果てしないように感じる。一歩足を踏み出していくと同時に、体感時間においては幾日が経ち、幾回も日が地平線を横切っているようだ。それだけ気がはやり、視界はだんだんと、フィルム映画を一コマ一コマじっくりと見ているかのように、ゆっくりになって行く。
小さな水玉は風の導きに従って北へ北へと進んでゆく。ある地点に達した時、それはちいさな水玉でいることをやめ、中くらいの水玉になる。冷えた空気は水玉をそう多く持てないのである。天蓋の近くまで達した水玉はやがてはるか西や東から集まった同胞と雲を形作る。
ここに来るまでどれくらいの時間がたっただろうか。幾年か、幾分か。私の研究室から彼がいると思われる場所まではそう長くないはずなのに、気ばかりが焦って自らの鈍足と無機質な廊下の長さに辟易する。今は激怒一歩手前。まるで火山のように。あの大地の赤いミネストローネ・スープのように。
北に集まった水玉の中にはこのような地球の激怒から生まれた水玉も存在するはずだ。硬い岩の中にも水は存在する。やはり塩水の行進に由来するものなのであろうか。そうに違いない。海の底を超える行進はミネストローネ・スープに温められ、また一度吹き荒れる。そうしてできたちいさな水玉が北に来て、おおきな水溜を作る。幾歩幾日と駆けながら。
北の空にできるのは水溜というより、氷溜である。幾億、もしくは幾兆のちいさな六角形の氷が綿菓子のような氷溜を形成している。底から吹く風の容量をいよいよ超えたとき、ちいさな氷の、歯車のような六角形がしんしんと白い大地に降り注ぐ。白い大地は氷であった。氷の行進はゆっくり、緩やかといえど、塩水の行進を目指して動いている。
わたしの歩みは遅々としている。まるで氷河の行進のように。足よ、我が大殿筋よ、唸りを上げろ。もっと熱を発せよ。
燦燦と光る太陽にいくら照らされども、氷河の進みは依然として幾日に幾寸である。幾回も太陽に追い越されながら、幾千キロ先の塩水の行進を目指す。西から東へ、大地を削り、U文字谷を荒々しく立ち上げながら。
わたしの歩みは遅々としている。まるで氷河の行進のように。足よ、我が大殿筋よ、唸りを上げろ。もっと熱を発せよ。蛍光灯の昼夜は冷たい太陽。
燦燦と光る太陽にいくら照らされども、氷河の進みは依然として幾日に幾寸である。幾回も太陽に追い越されながら、幾千キロ先の塩水の行進を目指す。西から東へ、大地を削り、U文字谷を荒々しく立ち上げながら。
わたしの歩みは遅々としている。まるで氷河の行進のように。足よ、我が大殿筋よ、唸りを上げろ。もっと熱を発せよ。蛍光灯の昼夜は冷たい太陽。
燦燦と光る太陽にいくら照らされども、氷河の進みは依然として幾日に幾寸である。幾回も太陽に追い越されながら、幾千キロ先の塩水の行進を目指す。西から東へ、大地を削り、U文字谷を荒々しく立ち上げながら。モレーンをやさしく削り出しながら。
わたしの歩みは遅々としている。まるで氷河の行進のように。足よ、我が大殿筋よ、唸りを上げろ。もっと熱を発せよ。蛍光灯の昼は冷たい太陽。蛍光灯の夜は優しい月。
燦燦と光る太陽にいくら照らされども、氷河の進みは依然として幾日に幾寸である。幾回も太陽に追い越されながら、幾千キロ先の塩水の行進を目指す。西から東へ、大地を削り、U文字谷を荒々しく立ち上げながら。モレーンをやさしく削り出しながら。
あのもどかしく、また苛立たしい歩みは雫の川のように流れてゆく。ようやく温まった大殿筋が効力を発するところである。さりとて歩みにまだ苛立ちを覚えていることに変わりはない。まだ凍っている。
日に照らされども温まらない氷ではあるが、日ではなく気に温められる。東へと氷河が流れて行く。氷からかき氷にだんだんと変遷を遂げて行く。幾千キロを幾千年かけて流れて行く。
彼のいる部屋までもうすぐだ。あの冷たさは果たしてどうなっているのだろうか。さらに冷えているのだろうか。室温と同じくらいなのだろうか。終了間近になってくると苛立ちも幾分か落ち着いてくる。ここで死んだ者はどうやって弔われるのだろうか。
塩水の行進はもう目と鼻の先だ。この大きな冷たい氷の塊もだんだんと温まり、硬い表面はだんだんとぬかるむ。おお、轟音が響き渡る。氷の塊が塩水の行進に巻き込まれていく音だ。やはり歩みは遅々としているが、それでも少しだけ早くなっている。塩水の行進がどのようなものであるかはすでに忘れた。自らがどこから来たのかなど、もう覚えていない。向かうところは塩水の行進で、塩水の輪廻に巻き込まれるだけなのであろうか。
ようやくだ。ようやく彼の眠る霊安室の前に到着した。この無機質なコンクリートの廊下にただ一つある、温かな木の扉で歓迎と離別とともに閉ざされている。私は想いをのせて、少しも重くない木の扉をゆっくりと開いた。木と木の擦れるような音が連続して訪れた。
崖はもはや説明する言葉がないほど近づいている。ようやくこの一回りが終わる。ああ、音もなく氷河からはがれる。落ちていく様は雪と変わらず、また雨のようでもある。潮流に飲み込まれる。木と木が擦れるような音があたりに響き渡る。確固たる氷は溶け去り、曖昧なまどろみの中に落ちて行く。落陽だ。この瞬間だけ、あれほどもどかしかった落陽が、真新しい浴室の壁に貼りつく吸盤に滴る水のようだった。
彼はそこに眠っていた。あとで聞く話ではあるが、彼はどのようにして死んだのかは不明で、また死んでいること以外は全くの健康体だそうだ。木と木の擦れるような音に続き、木の扉の閉じる音がする。あたりは優しいまどろみに包まれていて、静かだ。彼の手を思わず取ってしまった。彼は、死体のように冷たかった。
夜は、来るものではない。常にそこにあるのだ。宇宙は、産声を上げてから、ずっと夜だったのではないか。無秩序に秩序をもたらそうとする人間は、けっきょく無秩序に帰るのだ。夜は氷河を見る。子の旅立ちを見送る母親のように。朝、昼、夕方は、この宇宙にあふれる星々にとって普遍のものだ。夜は、この宇宙にとって不変のものだ。
雨が海を打ち付ける。まどろみは終わり、新たな循環が今まさに始まろうとしている。彼にはいずれまた会えるのだろうか。私の喉の奥から漏れ出るのは、生ぬるい風だった。