/* Paperstack Theme [2020 Wikidot Theme] By EstrellaYoshte Based on: Inkblot Theme by Croquembouche Word Processor Theme by stormbreath Modern Theme by Azamo Simple Yonder Theme by EstrellaYoshte Edited by ukwhatn for SCP-JP */ /* Japanese Font */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Sawarabi+Gothic&display=swap'); /* English Font */ @import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Oxygen&display=swap'); @import url(https://fonts.googleapis.com/css2?family=Fira+Code&display=swap); #page-content { font-size: 0.87rem; } body { font-family: "Noto Sans JP", "Oxygen", sans-serif; } body { color: black; background-image: linear-gradient( to bottom, #EFEFEF, #EFEFEF 276px, #D3D3D3 276px, #ffffff 282px, #ffffff 282px, #ffffff 100% ); background-repeat: no-repeat; } #main-content { top: -1.6rem; padding: 0.2em; } .page-source, .code pre, .code p, .code, tt { font-family: "Fira Code", monospace; } /* ---- HEADER ---- */ div#container-wrap { background-image: none; } div#header { background-image: none; } #header h1, #header h2 { margin-left: 0; float: none; text-align: center; } /* Move the subtitle down a smidge */ #header h2 { margin-top: 0.45rem; } /* Hide the existing text */ #header h1 span, #header h2 span { font-size: 0; display: none; } /* Style the new text */ #header h1 a::before, #header h2::before { color: #333333; font-family: "Josefin Sans", sans-serif; text-shadow: none; } /* Set the new text's content from variable */ #header h1 a::before { content: var(--header-title, "SCP FOUNDATION"); font-weight: 300; font-size: 1.3em; } #header h2::before { content: var(--header-subtitle, "SECURE - CONTAIN - PROTECT"); font-weight: 600; font-size: 1.22em; } #login-status, #login-status a { color: #333333; } #page-title { display: none; } #footer, #footer a { background: transparent; color: #333333; } #search-top-box-input, #search-top-box-input:hover, #search-top-box-input:focus, #search-top-box-form input[type=submit], #search-top-box-form input[type=submit]:hover, #search-top-box-form input[type=submit]:focus { border: none; background: #333333; box-shadow: none; border-radius: 0px; color: #efefef; } #search-top-box input.empty { color: #999999; } #search-top-box { top: 2.3rem !important; right: 8px; } /* ---- TOP BAR ---- */ #top-bar { display: flex; justify-content: center; right: 0; top: 7.9rem; } #top-bar, #top-bar a { color: #333333; } /* ---- SIDE BAR ---- */ #side-bar .side-block { border: transparent; border-radius: 0; box-shadow: 0px 0px 7px #999999; background: #ffffff; } #side-bar .side-block.media > * { display: flex; justify-content: space-evenly; } #top-bar div.open-menu a { border-radius: 0; box-shadow: 0px 1px 4px 0 rgba(0, 0, 0, 0.2), 0px 3px 10px 0 rgba(0, 0, 0, 0.19); border: 1px white; } @media (max-width: 767px) { #main-content { padding: 0; margin: 0 5%; border-left: none; } #page-title { margin-top: 0.7em; } #side-bar { background-color: #fff; } #side-bar:target { border: none; box-shadow: 3px 0 1px -2px rgba(0, 0, 0, 0.04), 1px 0 5px 0 rgba(0, 0, 0, 0.2); } #side-bar .close-menu { transition: width 0.5s ease-in-out 0.1s, opacity 1s ease-in-out 0s; display: block; position: fixed; width: 100%; height: 100%; top: 0; right: 0; background: rgba(0, 0, 0, 0.3); background-position: 19em 50%; z-index: -1; opacity: 0; pointer-events: none; } #side-bar:target .close-menu { width: calc(100% - 19em); right: 0; left: auto; opacity: 1; pointer-events: auto; } #page-content > hr, #page-content > .list-pages-box > .list-pages-item > hr { margin: 3em -5.5%; } #side-bar { top: 0; } #side-bar .heading { padding-left: 1em; margin-left: -1em; } #search-top-box { top: 107px; } } /* ---- TABS ---- */ /* ---- YUI TAB BASE ---- */ .yui-navset .yui-nav a, .yui-navset .yui-navset-top .yui-nav a { background-color: inherit; background-image: inherit } .yui-navset .yui-nav a:hover, .yui-navset .yui-nav a:focus { background: inherit; text-decoration: inherit } .yui-navset .yui-nav .selected a, .yui-navset .yui-nav .selected a:focus, .yui-navset .yui-nav .selected a:hover { color: inherit; background: inherit } .yui-navset .yui-nav, .yui-navset .yui-navset-top .yui-nav { border-color: inherit } .yui-navset li { line-height: inherit } /* ---- YUI TAB CUSTOMIZATION ----*/ .yui-navset .yui-nav, .yui-navset .yui-navset-top .yui-nav { display: flex; flex-wrap: wrap; width: calc(100% - .125rem); margin: 0 auto; border-color: #333333; box-shadow: none; } .yui-navset .yui-nav a, /* ---- Link Modifier ---- */ .yui-navset .yui-navset-top .yui-nav a { color: #333333; /* ---- Tab Background Colour | [UNSELECTED] ---- */ background-color: #efefef; border: unset; box-shadow: none; box-shadow: none; } .yui-navset .yui-nav a:hover, .yui-navset .yui-nav a:focus { color: #ffffff; /* ---- Tab Background Colour | [HOVER] ---- */ background-color: #333333; } .yui-navset .yui-nav li, /* ---- Listitem Modifier ---- */ .yui-navset .yui-navset-top .yui-nav li { position: relative; display: flex; flex-grow: 2; max-width: 100%; margin: 0; padding: 0; color: #ffffff; background-color: #ffffff; border-color: transparent; box-shadow: none; } .yui-navset .yui-nav li a, .yui-navset-top .yui-nav li a, .yui-navset-bottom .yui-nav li a { display: flex; align-items: center; justify-content: center; width: 100%; } .yui-navset .yui-nav li em { border: unset; } .yui-navset .yui-nav a em, .yui-navset .yui-navset-top .yui-nav a em { padding: .35em .75em; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } .yui-navset .yui-nav .selected, /* ---- Selection Modifier ---- */ .yui-navset .yui-navset-top .yui-nav .selected { flex-grow: 2; margin: 0; padding: 0; /* ---- Tab Background Colour | [SELECTED] ---- */ background-color: #333333; } .yui-navset .yui-nav .selected a, .yui-navset .yui-nav .selected a em { border: none; } .yui-navset .yui-nav .selected a { width: 100%; color: #ffffff; } .yui-navset .yui-nav .selected a:focus, .yui-navset .yui-nav .selected a:active { color: #ffffff; background-color: #333333; } .yui-navset .yui-content { background-color: #ffffff; box-shadow: 0px 0px 4px #999999; } .yui-navset .yui-content, .yui-navset .yui-navset-top .yui-content { padding: .5em; border: none; } /* ---- INFO BAR ---- */ body { --barColour: #333333; } .info-container .collapsible-block-content { padding: 0 .5em 30px; } .info-container .collapsible-block-content .wiki-content-table { width: 100%; } /* ---- INFO PANE ---- */ #page-content .creditRate { margin: unset; margin-bottom: 4px; } #page-content .rate-box-with-credit-button { background-color: #ffffff; border: solid 1px #ffffff; box-shadow: 0px 0px 7px #999999; border-radius: 0; } #page-content .rate-box-with-credit-button .fa-info { border: none; color: #333333; } #page-content .rate-box-with-credit-button .fa-info:hover { background: #333333; color: #ffffff; } .rate-box-with-credit-button .cancel { border: solid 1px #ffffff; } /* ---- PAGE RATING ---- */ .page-rate-widget-box { box-shadow: 0px 0px 7px #999999; margin: unset; margin-bottom: 4px; border-radius: 0; font-family: "Oxygen", sans-serif; } div.page-rate-widget-box .rate-points { background-color: #ffffff; color: #333333 !important; border: solid 1px #ffffff; border-radius: 0; } .page-rate-widget-box .rateup, .page-rate-widget-box .ratedown { background-color: #ffffff; border-top: solid 1px #ffffff; border-bottom: solid 1px #ffffff; } .page-rate-widget-box .rateup a, .page-rate-widget-box .ratedown a { background: transparent; color: #333333; } .page-rate-widget-box .rateup a:hover, .page-rate-widget-box .ratedown a:hover { background: #333333; color: #ffffff; } .page-rate-widget-box .cancel { background: transparent; background-color: #ffffff; border: solid 1px #ffffff; border-radius: 0; } .page-rate-widget-box .cancel a { color: #333333; } .page-rate-widget-box .cancel a:hover { background: #333333; color: #ffffff; border-radius: 0; } /* ---- PAGE ELEMENTS ---- */ h1, h2, h3, h4, h5, h6 { color: #333333; font-family: "Sawarabi Gothic", "Josefin Sans", sans-serif; font-weight: bold; } blockquote, div.blockquote, #toc, .code { background-color: #F8F8F8; border: solid 1px #F8F8F8; box-shadow: 0px 0px 4px #999999; } .scp-image-block { border: solid 8px #ffffff; box-shadow: 0px 0px 5px #999999; box-sizing: border-box; } .scp-image-block .scp-image-caption { background-color: #ffffff; border-top: solid 4px #ffffff; color: black; } #page-content .wiki-content-table tr th { border: solid 1px #999999; background-color: #efefef; /* set border for table title */ } #page-content .wiki-content-table tr td { border: solid 1px #999999; /* set border for table content */ } /*-- tags --*/ #main-content .page-tags span { max-width: 100%; } #main-content .page-tags a { height: 0.9rem; line-height: 0.9rem; font-size: 0.76rem; background-color: #FDFDFD; border-radius: 0.6rem 0.12rem; margin: .25rem .2rem; .5rem .2rem; padding: 0.2rem 0.42rem 0.25rem 0.46rem; box-shadow: 0.6px 0.6px 1.9px 0.8px rgba(0, 0, 0, 0.27); } #main-content .page-tags a:before { content: "•"; font-size: 1.1rem; float: left; position: relative; top: -0.19rem; left: -0.24rem; color: #ffffff; background-color: #B8B8B8; color: transparent; text-shadow: 1px 1px 0.7px rgba(255, 255, 255, 0.82); -webkit-background-clip: text; -moz-background-clip: text; background-clip: text; } /* ---- CUSTOM SYNTAX ---- */ .header-container { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; position: relative; justify-content: space-around; align-content: space-between; width: 100%; left: 0; align-items: flex-start; row-gap: 2px; } .text-item { flex-grow: 1; max-width: 25%; text-align: center; } .grid-item { flex-grow: 1; min-width: 25%; text-align: center; margin: 8px 6px; } @media (max-width: 1200px) { .grid-item { min-width: 50%; } } .logo { position: absolute; width: 180px; top: -154px; left: -17em; z-index: -1; } @media (max-width: 767px) { .logo { width: 36%; top: -9.7em; left: 32%; } } .textbox { position: absolute; width: 42%; top: 7.5rem; } @media (max-width: 960px) and (min-width: 767px), (max-width: 666px) { .textbox { position: relative; width: 100%; top: 0; } } /* CreditModule対応 by ukwhatn */ .creditRate.creditModule .creditButton { background-color: white; border: unset; border-radius: 0px; margin-left: 5px; height: 100%; } .creditRate.creditModule .creditButton a { height: 100%; line-height: 20px; }
/* 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)); } }
/* BASALT Theme [2021 Wikidot Theme] By Liryn & Placeholder McD Based on: Paperstack Theme by EstrellaYoshte Minimal Theme by Stormbreath BLANKSTYLE CSS by Placeholder McD & HarryBlank PLACESTYLE CSS by Placeholder McD Simple Yonder Theme by EstrellaYoshte Tab animation by Croquembouche Edited by iti119 for SCP-JP */ @import url('https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;400;500;600;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap'); /* MAIN */ /* ======================= */ :root { --title: " SCP財団"; --subtitle: " 確保 • 収容 • 保護"; --barColour: rgb(20, 20, 20); --fnColor: rgb(15, 15, 15); --fnLinger: 1s; --logo: url(http://scp-jp-storage.wdfiles.com/local--files/file%3A5722815-21-21vy/basalt_logotype_black.png); --sidelogo: var(--logo); --sidesubtitle: var(--subtitle); --utilcolor: #FFF; --antiutilcolor: rgb(20, 20, 20); --titleLength: 8.3rem; } body { background: rgb(255, 255, 255); font-family: 'Inter', sans-serif; } #main-content { top: -2.8rem; } #container-wrap-wrap { overflow-x: hidden; } /* ======================= */ /* HEADER & TOPBAR */ /* ======================= */ #extra-div-1 { z-index: 9; position: fixed; top: 0; left: 0; width: 1000vw; height: 5rem; box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3); background: white; } #extra-div-2 { z-index: 9; position: fixed; top: 0; left: 0; width: 1000vw; height: 5rem; } #extra-div-1::before { content: var(--title); position: fixed; left: 8.5rem; top: 0.7rem; color: black; font-family: 'Work Sans', sans-serif; font-weight: 900; font-size: 27.45px; animation: slideLeft 1s; transition-duration: 0.3s; transition-property: transform; transform: translateZ(0); } #extra-div-2::before { content: var(--subtitle); position: fixed; font-size: 1.22em; left: 8.5rem; top: 2.5rem; color: #272842; font-family: 'Work Sans', sans-serif; font-weight: 700; animation: slideLeft 1s; } #u-header-link { display: block; position: fixed; top: 0.6rem; left: 8.3rem; height: 3.5rem; width: 15.7rem; z-index: 21; } .logo { z-index: 10; position: fixed; width: 4.5rem; height: 4.5rem; top: 0.2rem; left: 3.6rem; transition-duration: 0.3s; transition-property: transform; transform: translateZ(0); animation: slideLeft 1s; background-image: var(--logo); background-size: contain; background-repeat: no-repeat; background-position: center; } .logo:hover { transform: rotate(348deg); } #header { height: 5rem; } #header h1, #header h2 { display: none; } #top-bar { position: fixed; align-items: stretch; display: flex; flex-direction: row; justify-content: flex-start; text-transform: uppercase; font-family: 'Work Sans', sans-serif; font-weight: 800; animation: slideLeft 1s; top: 1.7rem; max-width: 50rem; min-width: 8rem; font-size: 90%; font-weight: 800; left: 25.4rem; } #top-bar div.open-menu a { display: none; } #top-bar ul { float: left; } #top-bar ul li ul { border: none; } #top-bar ul li.sfhover ul li a, #top-bar ul li:hover ul li a { background-color: #F4F4F4; } #top-bar ul li>a { border: none; } #top-bar a { filter: grayscale(100%) saturate(0%); -webkit-filter: grayscale(100%) saturate(0%); } #top-bar ul li.sfhover a:hover, #top-bar ul li:hover a:hover { background: #F4F4F4; } #top-bar ul li.sfhover a, #top-bar ul li:hover a { border: none; } #top-bar ul li>a { transition-duration: 0.3s; transition-property: transform; transform: translateZ(0); } #top-bar ul li>a:hover { transform: translate(0px, -3px); border: none; } #top-bar ul li ul li>a:hover { animation: none; } @keyframes translateTop { 0% { opacity: 1; } 100% { transform: translate(0px, -3px); } } @keyframes slideLeft { 0% { transform: translate(-200px, 0px); opacity: 0; } 100% { opacity: 1; } } @keyframes tilt { 0% { opacity: 1; } 100% { transform: rotate(360deg); } } #login-status { position: fixed; top: 0.65rem; right: 2rem; width: fit-content; font-size: 0.78em; text-align: center; color: transparent; } #login-status > a > strong { margin-right: 0.7rem; font-size: 0.7rem; } #login-status > span { color: #333; font-family: 'Work Sans', sans-serif; font-weight: 700; } #login-status span.printuser img { font-size: 0; transform: translate(6px, 5px); } #login-status a#my-account { display: none; } #account-topbutton { border: none; margin-left: -0.25rem; } div#search-top-box { width: 2rem; position: fixed; top: 0.76rem; right: 0.2rem; z-index: 21; } #search-top-box-input { display: none; } #search-top-box-form>input[type=submit], #search-top-box-form>input[type=submit]:hover, #search-top-box-form>input[type=submit]:focus, #search-top-box-form>input[type=submit]:target { background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20fill%3D%22%23ddd%22%20d%3D%22M505%20442.7L405.3%20343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3%2044-79.7%2044-128C416%2093.1%20322.9%200%20208%200S0%2093.1%200%20208s93.1%20208%20208%20208c48.3%200%2092.7-16.4%20128-44v16.3c0%206.4%202.5%2012.5%207%2017l99.7%2099.7c9.4%209.4%2024.6%209.4%2033.9%200l28.3-28.3c9.4-9.4%209.4-24.6.1-34zM208%20336c-70.7%200-128-57.2-128-128%200-70.7%2057.2-128%20128-128%2070.7%200%20128%2057.2%20128%20128%200%2070.7-57.2%20128-128%20128z%22%2F%3E%3C%2Fsvg%3E") 50%/0.8rem no-repeat, #000 !important; border: none; border-radius: 30%; font-size: 0; height: 1.2rem; width: 1.2rem; margin-top: 0.2rem; } .mobile-top-bar { left: unset; } /* ======================= */ /* SIDEBAR */ /* ======================= */ #u-sb-button { display: block; position: fixed; top: 0.5rem; left: 0.9rem; height: 4rem; width: 45px; color: black; font-family: 'Work Sans', sans-serif; font-weight: 300; font-size: 2.5rem; text-decoration: none !important; z-index: 21; transition-duration: 0.3s; transition-property: transform; transform: translateZ(0); animation: slideLeft 1s; } #u-sb-button:hover { font-weight: 900; } #side-bar { box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3); background: linear-gradient( 0deg, rgba(255, 255, 255, 1) 87%, rgba(250, 250, 250, 1) 100%); text-transform: uppercase; font-family: 'Work Sans', sans-serif; font-weight: 400 !important; overflow-x: hidden; } #side-bar::before { content: var(--sidesubtitle); background: var(--sidelogo); background-size: 4.5rem; background-repeat: no-repeat; background-position: top center; padding-bottom: 0.3rem; padding-top: 4.7rem; display: inline-block; border-bottom: double 5px black; font-family: 'Work Sans', sans-serif; font-weight: 800; text-align: center; margin-right: auto; margin-left: auto; width: 100%; text-transform: none; } #side-bar, #side-bar:target { z-index: 22; } #side-bar a { color: black; } #side-bar a:visited { color: black; } #side-bar img, iframe.scpnet-interwiki-frame { filter: grayscale(100%) saturate(0%); -webkit-filter: grayscale(100%) saturate(0%); } #side-bar .side-block { background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(246, 246, 246, 1) 100%); border-color: transparent; border-radius: 0px; } #side-bar .side-block.media { background-color: white; border-bottom: solid 2px rgb(190, 190, 190); border-top: solid 2px rgb(190, 190, 190); margin-top: 1rem; } #side-bar .heading { color: black; border-bottom: solid 1px black; text-transform: uppercase; font-family: 'Work Sans', sans-serif; font-weight: 800; } #side-bar .collapsible-block-folded { background-image: url(http://scp-jp-storage.wdfiles.com/local--files/file:5722815-27-wn18/expand.png); } #side-bar .collapsible-block-unfolded-link { border-bottom: solid 1px black; } #side-bar .collapsible-block-unfolded-link .collapsible-block-link, #side-bar .collapsible-block-unfolded-link .collapsible-block-link:hover { color: black; } /* ======================= */ /* TABS */ /* ======================= */ ul.yui-nav a { font-family: 'Work Sans', sans-serif; padding: 3.5px; color: white; font-weight: 600; } .yui-navset .yui-nav .selected, .yui-navset .yui-navset-top .yui-nav .selected, .yui-navset .yui-nav a:hover, yui-navset .yui-nav a:active { color: white; background-color: black; } .yui-navset .yui-nav, .yui-navset .yui-navset-top .yui-nav { border: none; border-bottom: dotted 1px grey; box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3); } .yui-navset .yui-content>div { display: block; top: 0; overflow: hidden; transform-origin: 0 0; } .yui-navset-top a { transition-property: background, background-color; transition-duration: 0.2s; } /* Tab animation by Croquembouche */ /*---------------------------------------------*/ #page-content .yui-navset .yui-content>div[style*="none"] { display: block !important; flex: 0; max-height: 0; padding: 0 0.5em; border-width: 0; /* The following transition affects the one that DISAPPEARS */ transition: padding 0s linear 0.5s, border-width 0s linear 0.5s, flex 0.5s cubic-bezier(.18, .51, .54, .9) 0s; animation: tab-disappear 0.5s ease-in-out 0s 1 both; } #page-content .yui-navset .yui-content>div[style*="block"] { display: block !important; flex: 1; max-height: 9999rem; /* The following transition affects the one that APPEARS */ transition: padding 0s linear 0.5s, border-width 0s linear 0.5s, flex 0.5s cubic-bezier(.18, .51, .54, .9) 0.5s; animation: tab-appear 0.5s ease-in-out 0.5s 1 both; } @keyframes tab-disappear { 0% { max-height: 9999rem; } 1% { max-height: 100vh; } 100% { max-height: 0; } } @keyframes tab-appear { 0% { max-height: 0; } 99% { max-height: 100vh; } 100% { max-height: 9999rem; } } /*---------------------------------------------*/ .yui-navset .yui-content { background: transparent; box-shadow: none; border-bottom: dotted 4px grey; } /* ======================= */ /* TAGS */ /* ======================= */ #main-content .page-tags a { line-height: inherit; background-color: rgb(20, 20, 20); border-radius: 2px 6px; color: white; font-family: 'Work Sans', sans-serif; font-weight: 500; } .page-tags span { border-top: none; } /* ======================= */ /* CONTENT */ /* ======================= */ h1, h2, h3, h4, h5, h6 { font-family: 'Work Sans', sans-serif; font-weight: 800; text-transform: uppercase; color: black; letter-spacing: unset; } .top-left-box>.item { display: none; } hr { background-color: #333; } .info-container { padding-bottom: 8px } /* CONTENT > CUSTOM DIVS */ /* ======================= */ .document { background: white; box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); margin: 26px auto 0; max-width: 550px; min-height: 300px; padding: 24px; padding-top: 50px; position: relative; width: 80%; } .document:before, .document:after { content: ""; height: 98%; position: absolute; width: 100%; z-index: -1; } .document:before { background: #fafafa; box-shadow: 0 0 8px rgba(0, 0, 0, 0.2); left: -5px; top: 4px; transform: rotate(-2.5deg); } .document:after { background: #f6f6f6; box-shadow: 0 0 3px rgba(0, 0, 0, 0.2); right: -3px; top: 1px; transform: rotate(1.4deg); } .darkdocument { background: rgb(30, 30, 30); box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); margin: 26px auto 0; max-width: 550px; min-height: 300px; padding: 24px; padding-top: 50px; position: relative; width: 80%; color: #EDEDED; } .darkdocument:before, .darkdocument:after { content: ""; height: 98%; position: absolute; width: 100%; z-index: -1; } .darkdocument:before { background: rgb(25, 25, 25); box-shadow: 0 0 8px rgba(0, 0, 0, 0.2); left: -5px; top: 4px; transform: rotate(-2.5deg); } .darkdocument:after { background: rgb(25, 25, 25); box-shadow: 0 0 3px rgba(0, 0, 0, 0.2); right: -3px; top: 1px; transform: rotate(1.4deg); } .notation { border-left: solid 3px rgb(30, 30, 30); border-right: solid 3px rgb(30, 30, 30); padding: 25px 25px 25px 25px; box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3); width: 75%; margin: auto; background: #f7f7f7; } .modal { padding: 15px 15px 15px 15px; box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3); width: auto; margin: auto; background: rgb(253, 253, 253); border: solid 2px #5D5D5D; } .smallmodal { padding: 15px 15px 15px 15px; box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3); width: 75%; margin: auto; background: rgb(253, 253, 253); border: solid 2px #5D5D5D; } .jotting { padding: 5px 10px 5px 10px; box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3); width: 75%; margin: auto; background: #FDFDFD; border: dashed 0.1rem #5D5D5D; } .transcript { padding: 10px 10px 10px 10px; box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3); width: 80%; margin: auto; background: rgb(253, 253, 253); border: dotted 1px #5D5D5D; border-radius: 10px; } .papernote { background-color: #eaeeef; color: #21252E !important; padding: 0.1rem 0.5rem 0.5rem 0.5rem; box-shadow: 1px 1px 3px 2px rgb(0 0 0 / 30%); margin: auto; width: 65%; } .raisa_memo { background: url(http://scp-jp-storage.wdfiles.com/local--files/file%3A5722815-28-qlyx/RAISA_LIGHTLOGO.png) #fff3ad; background-size: contain; background-position: top center; background-repeat: no-repeat; font-family: 'Work Sans', sans-serif; box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5); width: 90%; min-height: 4rem; max-height: 100rem; margin-left: auto; margin-right: auto; text-align: center; padding: 10px 20px 20px 20px; word-break: break-word; } .raisa_memo>p:nth-child(1)::before { content: "記録・情報保安管理局より通達\00000a"; font-family: 'Work Sans', sans-serif; font-weight: 900; font-size: 130%; text-align: center; margin-bottom: 1rem; padding-bottom: 0.3rem; border-bottom: dotted 0.13rem darkslategrey; max-width: 49rem; margin-left: auto; margin-right: auto; display: flex; flex-direction: column; align-content: stretch; align-items: center; } .classification_memo { background: url(http://scp-jp-storage.wdfiles.com/local--files/file%3A5722815-30-ubdk/CLASSIFICATION_LIGHTLOGO.png) #edf5f3; background-size: contain; background-position: top center; background-repeat: no-repeat; font-family: 'Work Sans', sans-serif; box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5); width: 90%; min-height: 4rem; max-height: 100rem; margin-left: auto; margin-right: auto; text-align: center; padding: 10px 20px 20px 20px; word-break: break-word; } .classification_memo>p:nth-child(1)::before { content: "分類委員会覚書\00000a"; font-family: 'Work Sans', sans-serif; font-weight: 900; font-size: 130%; text-align: center; margin-bottom: 1rem; padding-bottom: 0.3rem; border-bottom: dotted 0.13rem darkslategrey; max-width: 49rem; margin-left: auto; margin-right: auto; display: flex; flex-direction: column; align-content: stretch; align-items: center; } .ettra_memo { background: url(http://scp-jp-storage.wdfiles.com/local--files/file%3A5722815-32-wqge/ETTRA_LIGHTLOGO.png) #f5d7d7; background-size: contain; background-position: top center; background-repeat: no-repeat; font-family: 'Work Sans', sans-serif; box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5); width: 90%; min-height: 4rem; max-height: 100rem; margin-left: auto; margin-right: auto; text-align: center; padding: 10px 20px 20px 20px; word-break: break-word; } .ettra_memo>p:nth-child(1)::before { content: "緊急時脅威戦術対応機構より通達\00000a"; font-family: 'Work Sans', sans-serif; font-weight: 900; font-size: 130%; text-align: center; margin-bottom: 1rem; padding-bottom: 0.3rem; border-bottom: dotted 0.13rem darkslategrey; max-width: 49rem; margin-left: auto; margin-right: auto; display: flex; flex-direction: column; align-content: stretch; align-items: center; } .ethics_memo { background: url(http://scp-jp-storage.wdfiles.com/local--files/file%3A5722815-34-2jq6/ETHICS_LIGHTLOGO.png) #ffdbc4; background-size: contain; background-position: top center; background-repeat: no-repeat; font-family: 'Work Sans', sans-serif; box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5); width: 90%; min-height: 4rem; max-height: 100rem; margin-left: auto; margin-right: auto; text-align: center; padding: 10px 20px 20px 20px; word-break: break-word; } .ethics_memo>p:nth-child(1)::before { content: "倫理委員会覚書\00000a"; font-family: 'Work Sans', sans-serif; font-weight: 900; font-size: 130%; text-align: center; margin-bottom: 1rem; padding-bottom: 0.3rem; border-bottom: dotted 0.13rem darkslategrey; max-width: 49rem; margin-left: auto; margin-right: auto; display: flex; flex-direction: column; align-content: stretch; align-items: center; } .temporal_memo { background: url(http://scp-jp-storage.wdfiles.com/local--files/file%3A5722815-36-ohm1/DELTA_T_LIGHTLOGO.png) #ffffff; background-size: contain; background-position: top center; background-repeat: no-repeat; font-family: 'Work Sans', sans-serif; box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.16); border: double 3px lightgrey; width: 90%; min-height: 4rem; max-height: 100rem; margin-left: auto; margin-right: auto; text-align: center; padding: 10px 20px 20px 20px; word-break: break-word; } .temporal_memo>p:nth-child(1)::before { content: "時間異常部門\00000a"; font-family: 'Work Sans', sans-serif; font-weight: 900; font-size: 130%; text-align: center; margin-bottom: 1rem; padding-bottom: 0.3rem; border-bottom: dotted 0.13rem darkslategrey; max-width: 49rem; margin-left: auto; margin-right: auto; display: flex; flex-direction: column; align-content: stretch; align-items: center; } .overwatch_memo { background: url(http://scp-jp-storage.wdfiles.com/local--files/file%3A5722815-38-9n6y/O5_LIGHTLOGO.png) #e3e3e3; background-size: contain; background-position: top center; background-repeat: no-repeat; font-family: 'Work Sans', sans-serif; box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5); width: 90%; min-height: 4rem; max-height: 100rem; margin-left: auto; margin-right: auto; text-align: center; padding: 10px 30px 20px 20px; word-break: break-word; } .overwatch_memo>p:nth-child(1)::before { content: "監督司令部\00000a"; font-family: 'Work Sans', sans-serif; font-weight: 900; font-size: 130%; text-align: center; margin-bottom: 1rem; padding-bottom: 0.55rem; border-bottom: dotted 0.13rem darkslategrey; max-width: 49rem; margin-left: auto; margin-right: auto; display: flex; flex-direction: column; align-content: stretch; align-items: center; } .miscomm_memo { background: url(http://scp-jp-storage.wdfiles.com/local--files/file%3A5722815-40-c6bj/MISCOMM_LIGHTLOGO.png) #eeedfa; background-size: contain; background-position: top center; background-repeat: no-repeat; font-family: 'Work Sans', sans-serif; box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5); width: 90%; min-height: 4rem; max-height: 100rem; margin-left: auto; margin-right: auto; text-align: center; padding: 10px 30px 20px 20px; word-break: break-word; } .miscomm_memo>p:nth-child(1)::before { content: "誤伝達部門より通達\00000a"; font-family: 'Work Sans', sans-serif; font-weight: 900; font-size: 130%; text-align: center; margin-bottom: 1rem; padding-bottom: 0.3rem; border-bottom: dotted 0.13rem darkslategrey; max-width: 49rem; margin-left: auto; margin-right: auto; display: flex; flex-direction: column; align-content: stretch; align-items: center; } .raisa_memo a, .temporal_memo a, .classification_memo a, .overwatch_memo a, .ettra_memo a, .ethics_memo a, .miscomm_memo a { font-weight: 700; } .bigtext { font-family: 'Work Sans', sans-serif; font-weight: 700; } .st { font-family: 'Work Sans', sans-serif; font-weight: 800; text-decoration: underline; } /* ======================= */ /* CONTENT > TABLES */ /* ======================= */ #page-content .wiki-content-table tr th { font-family: 'Work Sans', sans-serif; font-weight: 700; border: solid 1px #000; background-color: #aaa; } #page-content .wiki-content-table tr td { border: 1px #000 solid; } #page-content .table1 tr th { background-color: #D7EFE7; } #page-content .table1 .st { color: #D7EFE7; } #page-content .table2 tr th { background-color: #D8ECF4; } #page-content .table2 .st { color: #D8ECF4; } #page-content .table3 tr th { background-color: #FDF6D7; } #page-content .table3 .st { color: #FDF6D7; } #page-content .table4 tr th { background-color: #FFDABF; } #page-content .table4 .st { color: #FFDABF; } #page-content .table5 tr th { background-color: #F5D8E0; } #page-content .table5 .st { color: #F5D8E0; } #page-content .table6 tr th { background-color: rgba(146, 0, 255, 0.2); } #page-content .table6 .st { color: rgb(146, 0, 255); } .tableb .wiki-content-table { border-collapse: separate; border-spacing: 5px; padding-left: -100px; } .table1 .scp-image-block .scp-image-caption { background-color: #D7EFE7; color: black; } .table2 .scp-image-block .scp-image-caption { background-color: #D8ECF4; color: black; } .table3 .scp-image-block .scp-image-caption { background-color: #FDF6D7; color: black; } .table4 .scp-image-block .scp-image-caption { background-color: #FFDABF; color: black; } .table5 .scp-image-block .scp-image-caption { background-color: #F5D8E0; color: black; } .table6 .scp-image-block .scp-image-caption { background-color: rgba(146, 0, 255, 0.2); color: black; } /* ======================= */ /* CONTENT > RATING MODULE */ /* ======================= */ div.page-rate-widget-box .rate-points { color: black !important; font-family: 'Work Sans', sans-serif; font-weight: 700; text-transform: uppercase; border: none; font-size: 90%; } .page-rate-widget-box .rateup, .page-rate-widget-box .ratedown, .page-rate-widget-box .cancel, div.page-rate-widget-box .rate-points { border: none; } /* ======================= */ /* CONTENT > IMAGE BLOCK */ /* ======================= */ .scp-image-block img { background: white; } .scp-image-block.block-right { margin: 0em 0em 1em 2em; } .scp-image-block.block-center { max-width: 99% !important; } .scp-image-block { border: none; box-shadow: none; } .scp-image-block .scp-image-caption { border-top: none !important; margin-top: 8px; background-color: #292929; color: #ffffff; } .scp-image-block img, .scp-image-block .scp-image-caption { outline: solid 1px #444; box-shadow: 0px 0px 5px #999999; } .scp-image-block .scp-image-caption p { font-size: 110%; font-family: 'Work Sans', sans-serif; } /* ======================= */ /* CONTENT > LINKS */ /* ======================= */ a { color: #0645AD; } a.newpage { color: #CC2200; } a:visited { color: #0B0080; } .danger-diamond a, .danger-diamond a::selection { color: transparent; background: none; } .scp-image-block .scp-image-caption a { color: #c5c5c5; } /* ======================= */ /* CONTENT > SCROLLBAR */ /* ======================= */ ::-webkit-scrollbar { cursor: pointer; border: none; } ::-webkit-scrollbar-thumb { background: black; cursor: pointer; } ::-webkit-scrollbar-thumb:hover { background: rgb(45, 45, 45); } ::-webkit-scrollbar-track { background: white; } /* ======================= */ /* CONTENT > COLLAPSIBLES */ /* ======================= */ a.collapsible-block-link { font-family: 'Work Sans', sans-serif; font-weight: 600; color: white; padding-top: 4px; padding-bottom: 4px; padding-left: 7px; padding-right: 9px; background: rgb(20, 20, 20); border-radius: 3px; margin-top: 10px; margin-bottom: 10px; } /* ======================= */ /* CONTENT > PAGE TITLE / BREADCRUMBS */ /* ======================= */ #page-title, .meta-title { display: block !important; font-family: 'Work Sans', sans-serif; font-weight: 700; color: #252525; border: none; margin-top: 3rem; } #breadcrumbs { text-transform: uppercase; color: grey; font-weight: 600; font-family: 'Work Sans', sans-serif; margin-top: -1.5rem; font-size: 90%; } /* ======================= */ /* CONTENT > BETTERFOOTNOTES INTEGRATION */ /* ======================= */ .fnnum:hover { background: transparent; transform: scale(1.3); } .fnnum { transition-duration: 0.2s; transition-property: transform; transform: translateZ(0); } .fnnum::after { color: #3f21ff !important; } .fnnum:hover::after { color: white !important; } .fncon { background: rgb(25, 25, 25) !important; color: #EDEDED; border: 0.15rem solid rgb(20, 20, 20); border-radius: 2px; font-size: 90%; } /* ======================= */ /* @MEDIA QUERIES / MOBILE FORMATTING */ /* ======================= */ @media only screen and (max-width: 600px) { .scp-image-block.block-right { float: none; margin: 10px auto; } } @media (min-width: 768px) { #header, #top-bar { width: calc(100% - 4.4rem); max-width: calc(100% - 4.4rem); } #main-content { max-width: 95%; } } @media (max-width: 1120px) { #top-bar { font-weight: 600; font-size: 80%; } } @media (max-width: 1020px) { #top-bar { top: 3.2rem; left: 7.8rem; } #extra-div-1::before { top: 0.3rem; } #extra-div-2::before { top: 1.9rem; } #u-header-link { height: 2.5rem; } .document, .darkdocument { width: 95%; } } @media (max-width: 767px) { .mobile-top-bar { display: flex; justify-content: flex-start; max-width: 100%; width: 100%; flex-direction: row; } } @media (max-width: 500px) { .logo { display: none; } #top-bar { left: 3.6rem; } #extra-div-1::before, #extra-div-2::before { left: 4.2rem; } #u-header-link { left: 4rem; } .document, .darkdocument { width: auto; } } @media (max-width: 560px) { #login-status span.printuser { font-size: 0; } } @media (max-width: 430px) { #extra-div-1::before { font-size: 23.45px; top: 0.5rem; } #extra-div-2::before { font-size: 1em; top: 2.1rem; } #u-header-link { width: 13.5rem; } #login-status { right: 1.8rem; } } /* ======================= */ /* MISC */ /* ======================= */ .avatar-hover { display: none !important; } ::selection { background-color: rgba(0, 0, 255, 0.7); color: white; } select { font-family: 'Work Sans', sans-serif; font-weight: 600; border: solid 2px grey; cursor: pointer; border-radius: 5px; } body.wait { cursor: wait; } body.wait * { cursor: auto; } input { font-size: 90%; font-family: 'Work Sans', sans-serif; font-weight: 600; } #action-area > p { font-size: 90%; font-weight: 500; } #action-area > h1 { font-size: 150%; } div.buttons input, input.button, button, file, a.button { margin: 0 2px; border: 2px solid grey; cursor: pointer; } #who-rated-page-area > h2 { display: none; } #who-rated-page-area>div { column-count: 4; } @media (max-width: 900px) { #who-rated-page-area>div { column-count: 3; } } @media (max-width: 700px) { #who-rated-page-area>div { column-count: 2; } } @media (max-width: 540px) { #who-rated-page-area>div { column-count: 1; } } .pager .current { border-style: solid; outline: solid 1px rgb(250, 250, 250); } .pager a, .pager .current { border-style: double; border-width: 3px; text-transform: uppercase; background: none; color: inherit; } .pager a:hover, .pager .current:hover { text-decoration: none; cursor: pointer; } .pager .target { font-weight: 800; } .w-container { font-family: 'Work Sans', sans-serif; font-weight: 700; border-style: double !important; border-width: 4px !important; margin: auto; width: 90%; margin-top: 1rem; margin-bottom: 1rem; } .s-cell { font-size: 1.25rem !important; } .anom-bar-container, .anom-bar-container * { font-family: 'Work Sans', sans-serif !important; font-weight: 700; } #page-content div.warning-box div.text-number, #page-content div.warning div.text-number { font-size: 140%; font-weight: 400; } #page-content div.warning-box strong, #page-content div.warning strong { font-weight: 700; } #page-content div.warning-box div.text-top, #page-content div.warning div.text-top { font-weight: 800; } #page-content div.warning-box, #page-content div.warning { font-family: 'Work Sans', sans-serif !important; font-weight: 500; } .collection { font-family: 'Work Sans', sans-serif; color: #905c5c; } .footer-wikiwalk-nav { filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.5)); width: fit-content; margin: auto; margin-top: 1rem; } .footer-wikiwalk-nav p { color: #EDEDED; } .footer-wikiwalk-nav a, .footer-wikiwalk-nav p { border-radius: 10px; background: rgb(20, 20, 20); width: fit-content; margin: auto; font-family: 'Work Sans', sans-serif; font-weight: 800; padding: 0.5rem 0.5rem 0.5rem 0.5rem; } .footer-wikiwalk-nav a { color: #bdbdff; } .footer-wikiwalk-nav a:hover { text-decoration: underline; } /* MISC > WIKIDOT OWINDOW */ /* ======================= */ #owindow-1 { background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(246, 246, 246, 1) 100%); } #owindow-1>div.title.modal-header { font-family: 'Work Sans', sans-serif; text-transform: uppercase; font-size: 90%; cursor: default; } #owindow-1>div.content.modal-body td.active>b { font-family: 'Work Sans', sans-serif; color: rgb(100, 100, 100); } #owindow-1>div.content.modal-body>table { max-height: 10rem; overflow: auto; display: block; } #owindow-1>div.content.modal-body>div { margin-top: 1.5rem !important; border-top: solid 0.2rem rgb(210, 210, 210); padding-top: 1rem; } #owindow-1>div.content.modal-body>div>div>a { background: #870000; } #owindow-1>div.content.modal-body>div>div>a:hover { background: #470000; } #owindow-1>div.content.modal-body>img { filter: drop-shadow(0.35rem 0.35rem 0.4rem rgba(0, 0, 0, 0.3)); padding: 0px 0px 0px 0px !important; background: none; background-color: transparent !important; margin-right: 1.7rem; } #owindow-1 { font-family: 'Work Sans', sans-serif; } /* ======================= */ /* MISC > EDIT BOX & PAGE SOURCE */ /* ======================= */ #lock-info { box-shadow: 0px 0px 4px #999999; background: white; font-family: 'Work Sans', sans-serif; font-weight: 500; margin-left: 1rem; font-size: 95%; border: solid 1px grey; color: #191919; } #edit-page-form>table.edit-page-bottomtable>tbody>tr>td:nth-child(1)>div.sub, #edit-page-form>table.form>tbody>tr>td:nth-child(1) { font-family: 'Work Sans', sans-serif; font-weight: 500; } #edit-page-form>table.edit-page-bottomtable>tbody>tr>td:nth-child(1)>div:nth-child(1) { font-family: 'Work Sans', sans-serif; font-weight: 600; } .wd-editor-toolbar-panel ul li a { height: 22px; width: 22px; padding: 0; margin: 0; display: block; border-radius: 2px; filter: invert(1), hue-rotate(180deg); filter: invert(1) hue-rotate( 180deg); } .wd-editor-toolbar-panel { margin-bottom: 0.5rem; } input#edit-page-title.text { border-radius: 4px; font-family: 'Work Sans', sans-serif; border: 2px solid #afafaf; } textarea { font-family: 'Roboto', sans-serif; padding: 5px 5px 5px 5px; font-size: 105%; border: 0.13rem solid #949494; background-color: #FFF; color: #000; border-radius: 2px; } .page-source { background: white; font-family: 'Inter', sans-serif; font-size: 105%; border: none; width: 80%; box-shadow: 0px 0px 4px #999999; padding: 18px 18px 18px 18px; word-break: break-word; } /* ======================= */ /* MISC > FONT SIZE/WEIGHT CHANGES */ /* ======================= */ #page-content strong { font-weight: 900; } #page-content { font-size: 100%; } /* ======================= */ #show-upload-button { float: unset; border-radius: 6px; border: solid 1px grey; font-size: 0.85rem; } .edit-help-34 { margin-top: 2px; font-family: 'Work Sans', sans-serif; font-size: 0.7rem; font-weight: 500; } .printuser a { font-family: 'Work Sans', sans-serif; font-weight: 700; } form, #action-area>p, table.page-files td span { font-family: 'Work Sans', sans-serif; } #action-area>table>thead>tr, #revision-list>table>tbody>tr:nth-child(1) { font-family: 'Work Sans', sans-serif; text-transform: uppercase; font-weight: 700; } #page-info { font-family: 'Work Sans', sans-serif; font-weight: 500; padding-bottom: 0.2rem; margin-bottom: 0.2rem; } #page-info::first-letter, a.btn.btn-default.button.button-close::first-letter, a.btn.btn-default.button.button-close-message::first-letter, a.btn.btn-default.button.button-cancel::first-letter, a.btn.btn-default.button.button-rename::first-letter, a.btn.btn-default.button.button-no\,-cancel::first-letter, #owindow-1 > div.button-bar.modal-footer > a.btn.btn-default.button.button-yes\,-delete::first-letter, #owindow-1 td::first-letter { text-transform: uppercase; } #owindow-1 td a::first-letter { text-transform: lowercase !important; } .button-bar.modal-footer a.btn.btn-danger, #owindow-1>div.content.modal-body>div>div>a { float: right !important; margin-top: -0.73rem; } td:nth-child(1)>a { font-family: 'Work Sans', sans-serif; font-weight: 600; } /* MISC > BUTTONS */ /* ======================= */ a.btn.btn-danger, a.btn.btn-primary, .btn-small, #owindow-1>div.button-bar.modal-footer>a, #edit-cancel-button, #edit-diff-button, #edit-preview-button, #edit-save-draft-button, #edit-save-continue-button, #edit-save-button, #owindow-1>div.content.modal-body>div>a.btn.btn-default { font-family: 'Work Sans', sans-serif; font-weight: 600 !important; font-size: 0.75rem; color: white; padding-top: 4px; padding-bottom: 4px; padding-left: 7px; padding-right: 9px; background: rgb(20, 20, 20); border-radius: 2px !important; cursor: pointer; width: fit-content !important; margin-top: 0.1rem; margin-bottom: 0.1rem; margin-left: 0.3rem; margin-right: 0.35rem; float: left; } a.collapsible-block-link:hover, a.btn.btn-danger:hover, a.btn.btn-primary:hover, .btn-small:hover, #owindow-1>div.button-bar.modal-footer>a:hover, #edit-cancel-button:hover, #edit-diff-button:hover, #edit-preview-button:hover, #edit-save-draft-button:hover, #edit-save-continue-button:hover, #edit-save-button:hover, #owindow-1>div.content.modal-body>div>a.btn.btn-default:hover { text-decoration: none; background: rgb(45, 45, 45); } #action-area > p:nth-child(5) > a:hover { text-decoration: none; background: rgb(45, 45, 45); } #action-area > p:nth-child(5) > a { font-family: 'Work Sans', sans-serif; font-weight: 600 !important; font-size: 0.75rem; color: white; padding-top: 4px; padding-bottom: 4px; padding-left: 7px; padding-right: 9px; background: rgb(20, 20, 20); border-radius: 2px !important; cursor: pointer; width: fit-content !important; margin-top: 0.1rem; margin-bottom: 0.1rem; margin-left: 0.3rem; margin-right: 0.35rem; } /* ======================= */ #footer, #license-area { font-family: 'Work Sans', sans-serif; font-weight: 500; } #page-content div.collapsible-block { margin-top: 13px; margin-bottom: 13px; } div.collapsible-block-content { animation: fade 0.4s; animation-fill-mode: forwards; } /* MISC > FOOTNOTES */ /* ======================= */ .hovertip { background: rgb(25, 25, 25) !important; border-radius: 2px; padding: 5px 5px 5px 5px; color: white; font-family: 'Work Sans', sans-serif; max-width: 400px; } .f-heading { text-transform: uppercase; font-weight: 900; font-size: 80%; } .footnotes-footer .title { font-size: 0px; color: transparent; margin-bottom: 15px; } .footnotes-footer .title:before { content: "Footnotes \0026 References"; color: rgb(25, 25, 25); text-transform: uppercase; font-weight: 900; font-size: 0.9rem; font-family: 'Work Sans', sans-serif; cursor: text; } .footnotes-footer a { color: black; font-weight: 700; font-family: 'Work Sans', sans-serif; } .footnotes-footer { border-left: solid 3px rgb(20, 20, 20); padding-left: 15px; margin-top: 6rem; } .footnote .f-footer, .equation .e-footer, .reference .r-footer { display: none; } /* ======================= */ #page-options-container a { color: rgb(45, 45, 45); font-family: 'Work Sans', sans-serif; font-weight: 800; font-size: 90%; text-transform: uppercase; } #page-options-container a:hover { text-decoration: none; color: rgb(2, 2, 2); } #page-info-break { height: 3rem; } .code pre, .code p, .code, tt { font-family: 'Fira Code', monospace; } #account-options { border: none; font-family: 'Work Sans', sans-serif; font-weight: 700; width: fit-content; box-shadow: 0px 0px 5px rgb(0 0 0 / 30%); padding: 5px 5px 5px 5px; text-transform: uppercase; } #account-options a { filter: grayscale(100%) saturate(0%); -webkit-filter: grayscale(100%) saturate(0%); color: grey; } /* Anendlessusername's invaluable correction of the ACS octagon! */ #page-content .quadrants>div { top: 2.25%; left: 18.5%; } /* WHEN YOU SEE IT... */ .licensebox .collapsible-block-link, .licensebox .collapsible-block-link:hover { background: none; text-transform: uppercase; font-weight: 700; } /* ---- WORDS NO LONGER BROKEN, THE CROQUEMBOUCHE HAS SPOKEN ---- */ #page-content span, #page-content a { word-break: normal !important; } /* ======================= */ /* LOCALIZATION FOR JP */ /* ======================= */ /* CREDIT MODULE */ #page-content .creditRate.creditModule .rate-box-with-credit-button { border: none 0; box-shadow: none; } #page-content div.page-rate-widget-box, #action-area div.page-rate-widget-box { margin: 0; background: #ffffff; font-size: 0.88rem; } #page-content div.page-rate-widget-box .rate-points, #action-area div.page-rate-widget-box .rate-points { font-family: 'Work Sans', sans-serif; font-size: 90%; } #page-content .page-rate-widget-box .cancel, #action-area .page-rate-widget-box .cancel { padding: 0 1px 0 0; } #page-content .page-rate-widget-box .cancel a, #action-area .page-rate-widget-box .cancel a { margin: 0 1px; color: #333333; } #page-content .page-rate-widget-box .rateup a, #page-content .page-rate-widget-box .ratedown a, #page-content .creditRate.creditModule .page-rate-widget-box .cancel a, #action-area .page-rate-widget-box .rateup a, #action-area .page-rate-widget-box .ratedown a, #action-area .creditRate.creditModule .page-rate-widget-box .cancel a { height: 18px; } #page-content .rate-box-with-credit-button .page-rate-widget-box .cancel a { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; } #page-content .page-rate-widget-box .cancel a:hover, #action-area .page-rate-widget-box .cancel a:hover { color: #ffffff; } #page-content .creditRate.creditModule .rate-box-with-credit-button .creditButton { box-sizing: border-box; padding: 0 2px; box-shadow: 0px 0px 7px #999999; } #page-content .rate-box-with-credit-button .creditButton a { display: inline-flex; align-items: center; justify-content: center; } #page-content .modalcontainer { display: flex; align-items: center; justify-content: center; } #page-content .modalbox { width: 100%; box-shadow: 0px 0px 7px rgb(0 0 0 / 30%); position: relative; } /* HEADER */ #extra-div-1::before { top: 0.4rem; } #u-header-link { width: var(--titleLength); z-index: 10; } #top-bar { text-transform: none; } div#search-top-box { top: 0.76rem !important; } @media (max-width: 430px) { #u-header-link { width: calc( var(--titleLength) * 0.86); } } @media (min-width: 431px) and (max-width: 1020px) { #extra-div-1::before { top: -0.2rem; } #u-header-link { height: 2.9rem; top: 0.2rem; } } @media (min-width: 1021px) { #top-bar { left: calc(var(--titleLength) + 9.7rem); } } /* SIDE BAR */ #u-sb-button { display: flex; align-items: center; z-index: 10; } #u-sb-button br { display: none; } #side-bar { text-transform: none; } #side-bar .side-block { overflow-x: hidden; } #side-bar .side-block .collapsible-block-unfolded-link { margin-bottom: 5px; } #side-bar .side-block a.collapsible-block-link { background: none; border: none 0; padding: 0; } #side-bar .side-block .collapsible-block-folded a.collapsible-block-link:hover { text-decoration: underline 1px; } #side-bar .side-block .collapsible-block-unfolded-link a.collapsible-block-link:hover { color: #5D5D5D; } #side-bar img, iframe.scpnet-interwiki-frame { -webkit-filter: none; filter: none; } #side-bar img:not([src*="twitter" i]):not([src*="discord" i]) { -webkit-filter: grayscale(100%) saturate(0%); filter: grayscale(100%) saturate(0%); -webkit-user-select: none; user-select: none; } @media (max-width: 767px) { #side-bar:target { width: 19em; } #side-bar:target .close-menu { width: calc(100% - 21em); } #side-bar .side-block .collapsible-block-unfolded-link { padding-left: 1em; margin-left: -1em; } #side-bar .side-block .collapsible-block-unfolded-link a.collapsible-block-link { margin-left: 0; } } @media (min-width: 768px) { #side-bar:target { width: 19em; border: none 0; } #side-bar:target .close-menu { width: calc(100% - 21em); right: 0; left: auto; background: none; } } /* OWINDOW */ #owindow-1>div.title { font-family: 'Work Sans', sans-serif; text-transform: uppercase; font-size: 90%; cursor: default; } /* COLMOD */ .colmod-link-top a, .colmod-link-end a { font-family: 'Work Sans', sans-serif; font-weight: 600; color: white; padding-top: 4px; padding-bottom: 4px; padding-left: 7px; padding-right: 9px; background: rgb(20, 20, 20); border-radius: 3px; margin-top: 10px; margin-bottom: 10px; } .colmod-link-top a:hover, .colmod-link-end a:hover { text-decoration: none; background: rgb(45, 45, 45); } /* TAGS */ #main-content .page-tags span { line-height: 1.4; } #main-content .page-tags a:before { line-height: 1.1; } /* OWINDOW */ #owindow-1>div.content.modal-body>h1 { text-transform: none; } #owindow-1 tr:nth-last-of-type(n+3) td:nth-of-type(2)::first-letter { text-transform: none; } #page-version-info { border-style: solid; background: #eaeeef; color: #21252E; } .preview-message { background: #0C0C0C; border: none 0; box-shadow: 0 0 4px #999999; color: #FFFFFF; } .preview-message a { color: #7aa4eb; } /* 圏点 */ .kt { -webkit-text-emphasis-style: filled dot; text-emphasis-style: filled dot; } /* RUBY */ .ruby, .rt { border-collapse: collapse; }
[[/collapsible]]
[[/=]]
ネオンよりも目に悪くて明るくて眩しいスプレーで、この街の夜にサイケな花を描き出す。原色の花が夜に咲いて、宙に浮かぶ頭の悪そうなミーム広告なんて、簡単にかき消すくらいの魔法になる。描いた本人でも思わずくらっと来ちまうくらいに綺麗な花なんだから、きっと今日こそ誰かが気づいてくれるはず。今は足も目も止めてくれない周りの雑踏だって、遠巻きに見てる露天で買い食い中のヤツらだって、このスプレー缶の中身がなくなる頃にはきっとオレへの大歓声を上げるに決まっている。
頭上にはありったけ積み重ねたジェンガのような違法建築の産物が夜を覆いつくし、浄祓塔は行き交う住民どもを監視するようにそびえ立っている。踊るように動かす足の下からは、吐瀉物と露天の安くて早くてマズい三拍子揃った飯を混ぜた後にぎとついた香水をぶっかけたみたいな匂いが漂っている。
ここは悪逆と悪徳と悪行と……とにかく悪って名前のつくもんなら何だってあるイカれた街。サカイって名前は何かの境目を表してるみたいで、だからオレはここが気に入っていた。企業のオフィスが目立つナンバみたいに冷たくないし、サツ、つまりはアウターオーサカの市警に見つかる心配も幾分かしなくていい。
……最も、完全に心配せずに済むってわけじゃないんだけどな。
雑踏に何度も聞いたサイレンが混ざる。もはや陶酔じゃかき消せなくなって、オレの両耳は迷惑そうな住民の顔と、そこから発せられる糾弾ばかりを拾ってしまう。芸術家の作品の見事さに舌を巻いてたんじゃなくて、遠巻きにしてたんだって気づいてしまう。
心臓が止まるような感覚。唐突に突きつけられる孤独はいつだって新鮮に苦いままオレの思考を止める。誰も、オレのことを見てない。オレの描いた花も見てない。はた迷惑なスプレーアート気取りの落書き野郎を見ていたのは、善良ぶった市民というわけで。
「……なさい、繰り返す……止まりなさい……」
飽きるほど聞いたサイレンの音は、どんなに小さくたって絶対にオレの耳に届く。目覚ましのサイレンにしてはパンチの足りない単調な音程が、悲劇の酔いを醒ましてくれた。
「やっべ」
聞き慣れた情けない自分の声で、逃走のためのスイッチが入る。両手でぶん回していたスプレー缶を、近くに立てかけてあったキックスクーターのハンドルにセット。毎夜のルーティンに成り下がった動作は、オレの思考より早く電動キックスクーターのスイッチを入れる、はずだった。
「おい、あー畜生、こんな時に充電切れてんのかよ!?」
太陽光発電はこの街ではちっとも役に立たない。夜でも充電できるって触れ込みを信じて買ったオンボロはオレより生活習慣が正しいらしく、ネオンの光ごときでは動かない、とへそを曲げてばかりだ。
慌てふためくオレを助ける酔狂なヤツが、この街にいたことは一度だってなかった。他人を助ける余裕があるのは明日のことを心配しなくていい金持ちか、ここに来たばっかの新参者だけ。何度も教えられたそのやるせなさが、無関心が、オレの脳みそを沸騰させる。
スクーターに足をかける。反響するサイレンは、もうこの通りの前まで来ている。ハンドルにセットしたスプレー缶、赤と青のそれを取り出して、乱雑に振って、ねばついた地面を思いっきり蹴る。
次の瞬間。破裂するみたいな音と共に、塗装の剥げたスクーターが空中に飛び上がった。体を好き勝手にもてあそぶ重力に抗うように、どうにか全身をハンドルに引きつける。ビビッドな赤と青を振りまきながら、オレは夜を横切っていく。
この街でただのスプレーなんか使ったって目立てない。広告にもネオンにも負けないくらい綺麗な花を描くには、皆が振り返るようなどでかいのを夜に飾るには、それなりのブツが必要だ。その点、今使ってるこれはいい。怪しい露天で店主の言い値と胡散臭い説明を鵜呑みにして買った時には、こんな芸当もできるなんて検討もつかなかった。
スクーターはどこまでも飛んでいく。オレの色で、この街の夜を染める。どうやって飛べてるのかの理屈なんか知らないし知る気もない。聞いたって、オレにはきっと分かんねぇだろう。
ただ、この夜間飛行はいつだって楽しいってオレの魂は知っている。エアロビークル行き交う空を引き裂く連絡通路を避けながら、排気ガスで染まった夜に二色の花を描く。
画材とスクーターさえあれば、オレはドラッグよりも簡単にトべる。オレの内なる魂の叫びを、オレの考えた最強に綺麗な理想郷を、言葉より早くズドンと皆の心に届けられる。
逆さまの天地をオレは飛ぶ。空から生えてきたみたいな繁華街は今日も下品な宝石箱みたいで、決してオレを受け入れてくれないその様はどこかオアシスってやつにも似ている。あそこの奴らはきっと芸術の何たるかを分かってねぇんだ、と安酒みたいな感傷でごまかそうとして、でもそれが嘘だって知ってるからオレはこうして一人で飛んでいく。楽しいはずの夜間飛行の終着点は、いつだってぐずついた反省会だ。
最高の画材があったって、皆が見てくれなきゃ意味なんかない。オレの花の美しさを分かってくれる同志ってやつが、絶対この夜のどこかにいるはずなのに。夜に咲かせたサイケな花を見つけるのはいつだって、同志じゃなくてサツのサイレンと目ざとい住民の凍りつくみたいな視線だった。
オレの感傷なんて知ったこっちゃないスクーターが街を横切っていく。遠くに浄祓塔の光が見えて、オレはその輝きから目を逸らす。汚泥を清める塔だっていうけど、あんなにメカニカルで無機質なタワーに、本当に浄化の作用なんかあるんだろうか。本当に、神様なんかこの街にいるんだろうか。
神様がいるっていうなら、どうしてこんなに、オレはずっとずっと辛いんだろうか。
痛みをどう誤魔化すか考えていたオレは、空中に張り巡らされた通路の一つにスクーターの後輪が掠れたことに気がつかなかった。
「あっ!?」
ガゴッ、と嫌な音がする。それに気を取られたオレはハンドルの操作をミスって、ついでにスプレー缶の中身は空を飛べるほど残ってなんかいなくて、もう一度空中に投げ捨てられるような重力を全身で感じた、時にはもう手遅れだった。
赤と青の塗料をまき散らしながら、オレはサカイの夜に落ちていく。下品な宝石箱みたいな繁華街が、セクシーな服を着た蜘蛛みたいな腕と目のねーちゃんが谷間見せながらウィンクしてる広告が、ぎらぎら輝くカラフルなネオンが、浄祓塔の放つ鈍い光が、いっしょくたになって汚い万華鏡を描き出す。
体感にして、一分三十秒後。スローに感じた落下の衝撃がいっぺんに全身に来て、オレはようやく運転をミスって地上に落ちたことを認めざるを得なかった。
「……どこだ、ここ」
全身の骨がべっきりぼっきりと折れなかったのは、積み重なったゴミ袋の上に落ちたおかげらしい。オレがいた路地からそこまで離れていないらしく、人工培養ミートを焼いただけでふざけた値段をぼったくる屋台の煙が漂ってくる。ぼんやりあたりを見回すと、すぐ近くにスクーターが落っこちていた。ハンドルはぐにゃりと曲がって、中身のないスプレー缶はひしゃげて、ラベルの腹立つ顔をしたキャラクターもすっかり歪んでいる。大破といってもいいありさまだった。後輪は焦げたみたいに真っ黒で、全身を彩っていた迷彩柄だけがオレの持ち物だということを突き付けてきた。
現実逃避みたいに空を見上げる。似たようなネオンと似たようなミーム広告が、つまりはサカイのいつもの夜の風景が、じわりと少しずつ滲んでいく。
「……は、はっ」
この夜に花を咲かせて、全天をサイケに染め上げて。そうできたのなら、こんな思いはしないんだろうか。自己嫌悪が泡みたいに浮かんでは消えて、悔しいのか苦しいのか分からなくなって、誰もいない路地裏で泣きたくなんかないのに喉がしゃくり上げる。
認めたくはないが、限界、というやつだった。バッドトリップより重苦しい鉛が、全身に孤独の毒を回す。誰かがそばにいて、笑い飛ばしてくれたなら、きっとこんなことなんでもないのに。
大通りから聞こえてくる話し声に、とうとうオレは取り繕うのをやめた。浄祓塔の光は、ここからではもう見えないから。どうせ、誰も聞いてやしないのに。
神様がいるのなら。いや、もはや神様じゃなくたっていい。誰でもいい。誰でもいいから。
「誰でもいいから、助けて、くれよ……」
涙の気配を含んだ声は、無慈悲な群衆の話し声にかき消されそうで。もう動く気力なんか残ってなくて、オレはガス欠の心のまま目を閉じようとして、
「……呼んだな」
そして、その声を聞いた。
「僕を!呼んだなッ!!」
男の声だった。少し癖のある声で、でもそれを聞いたヤツを全員奮い立たせるような、力の籠った暑苦しいくらいに熱い声。元気を直接心に送りつけてくるような、冷笑とも悪意とも違う、たった一声だけでこいつは信頼できる、って一発で分かるようなそんな声。
アウターオーサカではきょうび聞かないようなまっすぐな声に、オレはゆっくりと目を開く。逆転した天地とけばけばしいネオン、強制的にこっちの脳裏に割り込んできそうなミーム広告。ゴミ袋の山から漂う酸えた匂いと、人工肉を焼く煙の混ざった空気。
つまりはいつものサカイの光景が、一度びりり、と震える。オレの肌も一緒になって鳥肌が立ち、思わずオレは空を見上げて、次の、瞬間。
眩しいネオンをかき消すくらいの勢いで、ロボットが着陸したのを見た。
その日、青年オレはきっと、運命ってやつに出会ったんだと思う。
ずるり、とオレはゴミ袋の山から滑り落ちる。汚いアスファルトに尻餅をついたことよりも、目の前に立っているロボットのことが気になって仕方がない。
鋼じみた黒色の体躯は、マットな質感でかすかにネオンを照り返す。両目のライトは何より眩しいイエローで、車のヘッドライトのような光を放っている。二本の手足も、凛々しい顔も。体のつくりはオレに近いのに、何もかもがオレとは違っている。
へたり込んだままのオレに、そのロボットは立ったまま、ゆっくりと手を差し伸べる。黒と白が組み合わさった、メカニカルでごつくてデカい手だった。
「あえて問おう。君が僕の、パイロットか?」
「……は?」
ロボットが喋った。しかも、さっき聞いた声で。
「そうじゃないなら通報者か。怪我したから呼んでくれたってことかな?もしかして、さっき聞こえた『アウターオーサカを知ってるか』って声も、君が?」
熱くてまっすぐな声が、さっきより控えめな音量で目の前のロボットから聞こえてくる。ロボットはオレと目が合うと、右目のライトをウィンクのように一度点滅させた。
「そうだ、自己紹介がまだだったね。安心して、決して怪しいロボじゃないからさ!」
その時点でだいぶ怪しいと思う、と突っ込む気も失せて、オレはぽかんとしたままそいつを見上げていた。緊張が抜けた手足は脱力しきっていうことを聞かないし、何より、何となく悪いヤツじゃなさそうだって気がした。こいつはオレの声を聞いてここに来てくれたのか、と一瞬だけ思って、オレにしては腑抜けた考えは眩暈と恥ずかしさまみれで、でも予感ってやつみたいに胸の中から離れてくれない。
「僕はエイド。超電救助隊のスーパーロボット、皆の頼れる超救命究極救助A.E.Dエイドだ!」
よぎったわずかな光の予感は、こいつのやたらと堂々とした名乗りによってあっという間に消えていった。というかこいつ、何を言ってるんだ?
「あれ?もしかして君、超電救助隊のこと知らない……?」
呆れかえっているオレに、エイド、と名乗ったロボットがおずおずと聞いてくる。両目のライトが意志の強そうな瞳から、ぱっと眉を下げたものに切り替わる。
「聞いたことすらねぇけど」
「そ、そんな……!」
大げさに肩を落として落ち込んでいる。メカメカしいロボットのはずなのに、こういうところが人間臭かった。自販機くらいの身長と合わせて、特撮の着ぐるみロボットみたいな気安さだ。
小さい頃に何度も見た、小さなテレビの中の光景をぼんやり思い出す。あれはアウターオーサカの外から来た父ちゃんが持ち込んだDVDだったはずで、小さい頃のオレはそのお約束まみれのストーリーを結構気に入っていた、ような気もする。五人だか六人だかのヒーローがロボットに乗り込んで、怪人を倒す物語。
「超電救助隊、ってことは、何かを助けるヤツらなのか?」
今となっては、色あせた遠い記憶でしかない。番組の内容もタイトルも、オレはもう覚えていない。
薄くなった記憶から連想してあてずっぽうで呟いた言葉に、エイドはライトをぴかぴかに輝かせて反応する。瞳孔のあたりもニコニコしたものに切り替わる。
「そう!子どもを守り、弱きを助け悪をくじく!勧善懲悪の正義のヒーローたちさ!ここには、誰もいないみたいだけど……」
「あー……たまにあんだよ、ここ出身じゃないのが声に呼ばれて落ちてくるの。ここ、そういう街だしな」
エイドの瞳がまた切り替わる。落ちてきた時と同じ、意志の強そうな真剣な目。それに尻餅ついてばっかのオレが映ってるのもな、とようやく立ち上がって、サカイの路地を踏む。
「アウターオーサカへようこそ。ここにはたぶん、お前の知ってる正義なんかないぜ」
ほとんど実体験に基づいた言葉に、エイドはただ不思議そうにしていた。愚痴を吐き出すようにしてかっこつけてみたものの、実際オレもどうしたらいいのか分からない。別次元から来たヤツは沢山いる。まさにこっちに落ちてきた瞬間のヤツらも、何度か見たことがある。でも、こいつはそういうのとは違う気がした。
ここは悪って名前のつくもんなら何だってあるイカレた夜の街で、混沌のごった煮のスラムで、だからここに呼ばれるのはどうしようもないヤツらばっかで。たまに例外もあるっちゃあるだろうけど、こいつの何もかもがアウターオーサカとは正反対な気がした。正義なんて言葉を頭から信じ切ってるヤツが、どうしてこんなとこに来たんだ?
「なるほど……それで、困ってる人はどこかな」
オレの雑な説明にもなってない一言二言で、エイドはなんとなく事情を理解したらしい。それでもなお、こいつはぬけぬけとそう言い放つ。
「呼ばれたってことは、きっと理由があると思うんだ。僕が呼ばれたということはつまり、ヒーローを必要としてる、今まさに泣いてる誰かがいるんじゃないかって!」
輝く瞳のイエローが、今はやたらと眩しかった。オレ、こいつのこと嫌いかもしれない。
「ありがとう、親切な君。そういえば、名前を聞いてなかったね。君は?」
「どうだっていいだろ、オレの名前なんて」
鬱陶しい、まではいかない感情が、ちりちりと心臓の裏を苦く焼く。早くどこかに行ってほしい。たとえオレの声を聞いて来たんだとしても、今はこいつに救われたくない、って気持ちの方が大きくなっていた。
「どうでもいいもんか!僕を呼んでくれた人の名前は、ちゃんと覚えておかなくちゃ。ヒーローとしては、当然の義務だと思うけど」
お前の義務に付き合わせられてたまるかよ。元いた世界の優しい住人ならそれでよかったかもしれねぇけど、こっちは生まれも育ちもアウターオーサカなんだよ。八つ当たりだって分かっているのに、そんな思いがオレの中でぐるんぐるんと暴れ回る。これ以上こいつといたってろくなことがない。自己嫌悪まみれになる前に、さっさと帰って酒飲んで寝よう。
「ねぇ、君!」
手遅れになる前に歩き出そうとしたオレの足は、ミーム広告とネオンをかき分けてやってきたでかい羽音に止まる。雑踏の声も呼び込みもかき消すような、威圧感のある羽音の群れ。カラフルな広告のホログラムが、真っ黒な夜に切り裂かれる。
「これは……ヘリコプターかな?」
のんきに見物しているエイドをよそに、オレは羽音の正体に気づいて、そして心臓までが震える。オレなんかが生きていて一生関わる機会がないと思ってた企業のロゴが、緑とネオングリーンの双葉みたいなYの字が、頭の中でぐるぐると回る。
サツ、じゃない。むしろ、もっとヤバいヤツらが来る。
「んなわけねぇだろ!でも、何で……!」
逃げなきゃ、と全身が騒ぐ。反射的に駆けだそうとした足は、それでも動かない。黒々とした夜空の一部が動いた、と思ったら、それがこちらに降り立って。その風圧に思わず閉じた瞳を恐る恐る開いたことを、オレは一瞬で後悔する。カラスの顔と羽を持ったスーツの男たちが、オレとエイドを取り囲むように、うらぶれた路地裏に立っていた。
「動くな。そこのデカブツ、一緒に来てもらおうか」
カラスの頭をしたスーツの男たち。その内の一人が、エイドに一歩近寄る。どうにか逃げようにも、周囲は完全にそいつらに囲まれていた。
「初めまして、僕はエイド。超電救助隊の頼れるロボットさ!君たちは?」
相変わらず平和ボケしたエイドに、その男は嘴のあたりを押さえる。やれやれと嘆くような動作が、不自然なくらい固い。一秒たりとも気を抜いていないのが丸分かりの気迫だった。
「……Yakushiグループの傘下企業の一つ。ヤタガラス製薬、と呼ばれている部署の者だが」
オレが思い浮かべていたのと全く同じ企業の名前。双葉みたいなシンプルなロゴが、オレの真っ暗な視界をくるくる回って消えていく。
この街を、アウターオーサカを牛耳る六つの勢力の一つ。アウターオーサカの主である神様のメンテから絆創膏の流通まで、何でもやってるでっかい企業。
でも、それがなんでエイドを追ってるんだ?
「お、おい、なんであんたらがいるんだよ」
声が震えて路地に落っこちる。人生で一番情けない場面を余裕で更新した気がして、でもそんなことはどうでもよかった。
オレが知らないだけで、ここに来たヤツらの案内もYakushiの管轄になったのか?にしては態度がおかしいし、一人に対してこの人数ってのもおかしい。これじゃ案内するというよりむしろ、エイドを捕まえに来たみたいだ。
「あ、もしかして、彼の知り合いかな?僕もさっきここに来たばかりで、この街のことはよく知らないんだ」
エイドの方を睨んでいた男は、冷たい瞳でオレを一度だけ見た。
たったそれだけで、オレはその場に崩れ落ちそうになる。見慣れた無関心とは比べ物にならないくらいの、心を芯から凍りつかせてしまうような瞳。痛いくらいに心がきしむ。視線だけで怖いって思ったの、初めてだ。
「犯罪者以下のチンピラの、知り合いなんぞであるものか」
ゆっくりと口を開いた男の言っていることが、一瞬理解できなかった。
「サカイの景観を乱すという点では迷惑だが、それ以外何もしていないだろう?お前みたいなのに構っていられるほど、市警も暇じゃないからな。私たちからしてもどうでもいい」
頭が真っ白になる。言葉の意味を理解してしまうのが、どうしようもなく怖い。やめろと叫ぶ心は、頭がその意味に辿り着くのを止められない。
「どうでも、いいって……」
反射的に、聞き返してしまう。こいつの言っていることを受け入れたくない。怒りよりも悲しみよりも先に、ただ、恐怖がくる。
「市警から雑談のついでに報告は受けていたが、どうでもいいから後回しにしていたまでだ」
昔どこかで聞いた言葉が、オレを内側から串刺しにする。好きの反対は、嫌いじゃなくて無関心だって。
「捕獲のついでに、市警に恩を売るのも悪くないか。ここに転移してくれたことに感謝する、エイドくん」
人生全部終わりそうなのに、オレの脳はそれどころじゃなかった。オレたち二人とも捕まるってことよりも、さっきの言葉の方がよほど怖い。
誰も見てないどころか、無視されていた。あんなに楽しかった花を咲かせることも、あんなに綺麗だと思えていた花の数々も、飛んで眺めるこの街の夜景も、全部がその一言だけで灰になっていく。動けない。心が、音を立ててひび割れていく。
「……なるほど。よく分かったよ、カラスさんたち」
言葉が、二人の話す声が、オレを通り過ぎていく。オレだけがここにいないみたいに。オレの心をいとも簡単に踏みにじったそいつは、エイドに夜より黒い羽を伸ばして、
「理解してくれたようで何より。手荒な真似は本意ではないんだ、さぁ、こちらへ……」
「君たちと、一緒に行けないってことがね!」
次の瞬間、あたりが煙幕に包まれた。
「動かないで。さぁ、掴まって!」
ごほごほと咳き込むオレの体を、無骨で無機質な腕ががしっと抱える。夜が、ネオンが、カラス頭の男たちが、白い煙に覆われていく。何が起こったのか理解できないまま、オレは煙にむせながら頭上からの電子音声を聞くので精いっぱいだった。
「エイド!?これ、エイドが……」
「いいからじっとして……飛ぶよ!」
やったのか、と言い切る前に、オレの体が宙に浮いた。ぐわん、とオレを地面に引き戻すような重力をものともせずに、ゴミ捨て場を後にして、ネオンの夜景を抜けていく。オレを抱えてエイドが飛び上がったのだと気づいたのは、夜の空がずいぶんと近くに見えるようになってからだった。
「危機一髪って感じだったな……ケガはなかった?ああするしか思いつかなくて、つい」
「なんで逃げて来たんだよ、あいつらと一緒に行きゃよかっただろ!?」
ぎらぎら輝く夜景が遠のいていく。謝るエイドに、オレは反射的に食って掛かる。
こいつ、何したか分かってるんだろうか。他の次元から転移してきたばっかとはいえ、逆らったらヤバいヤツとそうじゃないヤツの違いも分からなかったのかよ。ポンコツにもほどがあるだろ。
あっちは明確な会社の名前を名乗ってきた、物腰柔らかなスーツ姿の男たち。こっちはゴミ捨て場に落っこちてきた、いたって普通の現地人。エイドのためになるのはどっちか、なんて問題、赤ん坊だって間違えようがない。
「確かにそうだったかもしれない。でも、僕を呼んでくれた君についていく、って決めてたからね」
ないって、いうのに。
エイドの目が微笑むようなものに変わる。さっきも見たその鮮やかな黄色からは、気遣いと優しさ以外読み取れない。
「アウターオーサカを知ってるか、ってのは、ここに落っこちてくる時の合図なんだよ!だから別に、オレが呼んだわけじゃ……」
その色があまりに眩しくて、どこか気高くて、何よりも純粋だったから。オレの言葉のボリュームは徐々にしぼんでいく。こんなの八つ当たり以外の何ものでもないのに、エイドはずっと微笑んだままだった。
「だとしても、君は助けてと願った。あの路地裏で。君は、そういう目をしてた」
仕事柄そういうのはすぐに分かっちゃうんだよね、とエイドは優しく続ける。子どもを諭すような、それでいて、こちらの手をそっと握るような。エイドの声はオレを内側からじんわりと温める、小さなたき火みたいだった。
「……何で、ヒーローなんだよ」
「えっ?」
「いや、お前ってすごいヒーローって感じだけど……何でそこまで、こだわってるのかと思ってさ」
そっとエイドの顔を見上げる。夢見るような黄色い瞳に夜景がきらきら映り込んでるから、別世界の景色を見ているみたいな気持ちになった。この街よりもっと綺麗で、優しくて。
「ここに来る前に見たんだ。全ての助けを求める者の味方、悪を打ち倒す正義の使者を!」
そして、ヒーローってやつが実在する世界みたいだった。
「……番組の中じゃなくてか?」
「本当に存在するんだよ!僕がいた場所にやってきて、悪いことをした人たちを打ち倒して、捕らえられていた子どもを助け出して。お礼を背中に受けて去っていくその姿を見た時に、僕はヒーローになろうって決めたんだ」
エイドが語るその時の光景は、何だかおとぎ話みたいだった。テレビで偶然見た景色を、本当にあるんだって勘違いしているみたいな。作り物なんてこの世界には何一つないって信じていられる子どもの視界には、きっとそういう風景が映るんだろうな。
甘ったるくて、嘘みたいな話なのに。夜景がこんなに眩しいからか、エイドが信じ切っているからか。どうしてか、いたらいいなって思っちまった。作り物みたいなヒーローが、どっかの世界にいたらいい。そしたらきっと、ちょっとだけその世界はマシになるだろうから。
オレたちはあてもなく夜を飛んでいく。サツから逃げるために風を切るのとも、やけくそになってどこまでも高く高く飛ぶのとも違う、無言の逃避行。頬に受ける風は一人の時より冷たくなくて、それがどうしてかは分からなくて。
「オレ、絵以外は褒められたことねぇんだよ。自分で言うのも変だけど、取り柄、みたいなさ」
沈黙が怖くないのも、誰かと夜にこうしているのも、初めてだったから。
「それだって、父ちゃんと母ちゃんが褒めてくれたっきりだし……まぁ、今はどっちもいないんだけどな」
だから、口がすべったんだと思う。オレの口はゆっくりと、何にもならない言葉を吐き出していく。
こんなこと言ってどうするんだろうな、エイドになんて言ってほしいんだろうな、オレ。誰にも言ったことのない昔話なんて、オレの身の上なんて、こいつ聞いてどうすんだろ。
無駄にぐるぐると回る思考は、それでも口の動きを止められない。エイドの方を見上げるのが怖くて、オレは点描みたいな地上の光だけを見つめていた。
「父ちゃんは元いたとこでは花火師だったらしくてさぁ、でもこんなとこで花火なんか打ち上げられねぇだろ?だから貧乏やりながら暮らしてたんだ。オレだって、父ちゃんの花火は小さい頃に見たきりだし」
こんな街に呼ばれるのは悪党が大半だと思うけど、父ちゃんは数少ないまとも側だったんじゃないかと思う。オレと母ちゃんの前では、そういう風にふるまってただけかもしれないけど。布団に寝っ転がりながらタバコ吸ってたし、声はやたらとデカいし、働いてた姿なんてろくに見たこともないけど。
「いつかこの街の空に、どでかい花火を打ち上げてやりてぇな。お前の描いた花を光の花にして、どかんと一発ぶち上げるんだ。そうすりゃ、皆が俺たちのことを見てくれる。お前の才能にだって、きっと気づいてくれる」
母ちゃんの横顔も父ちゃんの後ろ姿も、忘れたことなんか一度だってない。安アパートの窓に腰かけてそう話す父ちゃんの瞳がどれだけ眩しかったか、どれだけ綺麗だったかを、忘れることなんかきっとできない。
「だから……花火は無理だろうけど、絵なら、せめて、オレにもできるんじゃないかなって」
「そうか、君はお父上の遺志を……」
湿っぽくなったエイドの電子的な声にオレは慌てて両手を振る。こいつに家族のことを誤解されるのは、どうしてか、他のヤツらに軽蔑されるよりも二倍くらい堪える気がした。
「別にそういうんじゃねぇ!オレがやりたいからやってることで、父ちゃんは関係ねぇから!」
関係が、あるとするなら。勉強もダメだし運動も普通くらいで、都合が悪くなるとすぐ逃げてしまうオレの、誰かに誇れる唯一の取り柄は。褒めてもらえた、最後の記憶は。
「あーもう、また床にまで絵描いてこの子は!はみ出すなってあれほど言ったのに……!」
「元気があっていいだろうが。それに見ろ、これなんかよく描けてるしな」
「それは、そうだけど……」
「ほんと!?」
「俺ァ絵についてはさっぱりだが、その俺が誰にも負けないすげぇ絵だって分かったんだ。こいつはきっと、アウターオーサカで一番の画家になる」
「こんな時だけ調子いいこと言って……」
「まぁまぁ。流石、俺の息子だってことだな」
そう言って肩車してくれた父ちゃんの腕があったかかったこと。怒ってたはずの母ちゃんも、いつの間にか笑顔になってたこと。二人が、オレの描いた花を褒めてくれたこと。あったかい手でオレの頭を撫でて、にっこり笑ってくれたこと。
「……だから、オレは描くんだ。父ちゃんの言葉を、嘘にしないために、描いてた。これならオレだって誰かと話せるし、認めてもらえる、って思ってたのにな」
足の下を通り過ぎていくネオンが、夜の星をかき消すくらいぎらぎら光る街がかすむ。目尻から溢れそうな何かに、オレは慌てて瞬きをする。あーくそ、泣くな。こんなところで。よりによって、こいつの前で。
「あいつらの言う通りだった。オレは、ずっと誰かに見てほしかったんだよ。下手くそなくせに、いっちょ前に。バカみたいだろ?」
言葉にすると追いついてきそうな痛みを振り切りたくて、オレはエイドに笑ってみせる。まるっきり嘘じゃないんだ。お前が話を聞いてくれて、助けてくれようとして、たぶんちょっとは嬉しかった。
誰かに話を聞いてもらえるなんて、本当に、久しぶりだったから。
「……よし、戻ろう!」
きりっとした目つきになったエイドが発した一言に、オレはずるっと腕の隙間から抜けそうになる。こいつ、本当に何考えてんだ?
「君の絵は素敵だ。君の描く花を見れば、彼らもきっと分かってくれる」
「見たことないくせに、よく言えるぜ」
「見なくても分かるさ。だって、君が憧れたお父上が太鼓判を押した絵なんだろう?それなら、君の絵は素敵に決まっている」
声も顔も真面目そのもので、冗談で言っているわけではなさそうだった。……やっぱお花畑だ、こいつ。
アウターオーサカってのは、そんな優しい土地じゃない。あいつらだって、そうだってのに。黒い鳥の頭と凍るような視線がまたフラッシュバックして、飛んでるせいか鼻の奥がつーんとしてきて、涙声にならないようにオレは言い返す。たぶんこいつ、がつんと言ってやらないと直らない。
「どんだけ世間知らずなんだお前、分かってくれるわけないし、あいつらはたぶん見た上であの評価なんだよ!第一、もうあそこにいるわけ……」
「あ」
「えっ?」
エイドが間抜けな声を出したのと、ちょうど入れ替わるように。オレの頭上、エイドの右肩あたり。ちょっと出っ張ってる黒いパーツのあたりから、変な音が聞こえてきた。
「……なぁ、まさかエイド」
どこかにぶつかった、というより警告のアラート音。鈍く響くブザーみたいな音と一緒に、エイドはがくん、と動きを停止した。
いや、落ちるとかないよな?ここまで来たのに、まさかそんなことはないよな、うん。……ない、よな?
「……ごめん、そのまさかだ……落ちる!」
そんな真剣な顔で言うな、と声に出すより早く、周囲の景色が流れるように下がっていく。エイドの機体がまっすぐに地面まで急降下していくのだと気づいた時のオレは、きっとサカイの誰よりひどい顔をしていた。
「嘘だろ信じらんねぇ、というか、パラシュートとかないのかよお前!」
「ないよごめん!君が僕の機体に搭乗してくれてたなら、脱出用ハッチが開いたかもだけど……!」
「それを早く言えよというか乗せて飛べよこのポンコツ!!」
「飛んだままコクピットを開けられると思う!?第一、逃げるのに精いっぱいだったんだってば!」
風を切る音に負けないようにオレは声を張り上げる。そんなオレたちの口論もおかまいなしに、地面がどんどん近づいていく。スクーターから落ちた時みたいにせめて、と上手いことクッションになってくれそうなものを求めて周りを見ようとするも、オレの脳味噌は上手く処理してくれない。
「なぁ、こういうのなんて言うっけー!?」
「デジャヴじゃないかなあぁぁ……」
最後に見たのは、サカイのネオンと浄祓塔。アウターオーサカの逆さまの天地は、オレたちも逆さまになったことで一周回って元通りになっていた。地面を埋めるぎらついた欲望の象徴と、空にそびえるのっぺらぼうの無機質な塔。
その景色を最後に、オレの意識は一度途切れた。オレとエイドは真っ逆さまに、夜のサカイへ落ちていった。
「いっ、でぇ……」
体の痛みが寝ぼけていた意識を起こして、オレはゆっくりと目を開ける。
窓のない大きな部屋を、赤いランタンが照らしている。部屋の片隅にはパソコンやらモニターやらが密集したスペースがあって、その横に龍と虎の屏風、彼岸花の掛け軸。和風と中華をごっちゃにしてサイバー要素を加えて混ぜたみたいなヘンテコな部屋の隅に、オレとエイドは落ちてきたらしかった。
体が痛い。落下の衝撃というよりむしろ、固いものの上で寝すぎたみたいに全身が軽く強張っている。座り込んでいた黒い凹凸から飛びのいて、そこでようやく、オレはエイドの機体の上で気絶していたらしいと気がついた。
「エイド、なぁ、おい!」
「うーん……簡易計測終了、システムオールグリーン……よかった、二人ともケガはないみたいだ」
エイドの黒い、シャッターみたいな瞼が開く。黄色の瞳にホログラムのような何かが薄く浮かんで、浮かんだと思ったらシャボン玉が弾けるみたいに消えていった。
「奇跡的にな。それより、さっさとずらかるぞ」
ロボットと人間味を反復横跳びするエイドはひとまず放っておいて、オレは素早くあたりを見回す。オレたちは地面をぶち抜いて落下してきたらしく、天井には大きな穴が開いている。もじオレがこの部屋の持ち主だったとしたら、犯人をとっつかまえて弁償させないと気が済まない。
「待った、ここの持ち主に謝らないと」
「謝ったってどうしようもないことだってあるんだよ、ほら、めんどくせーからさっさと行くぞ!」
アウターオーサカは正義なんてない混沌の都市。他人の良心は期待できないっていうのが鉄則のこの街では、もめ事は自分から起こさないに限る。このままここにいるのは、どう考えてもマズかった。
「せめて書き置きだけでもー!」
マズいっていうのに、こいつ意外としつこいな!
エイドの足をぐいぐい引っ張ってみるも、腹立つことに機体はびくともしない。地面に接着剤でくっついたみたいに動かないエイドの足をどうにか動かそうとしていた時、
「話ややこしくするプロかお前は!いいから行くぞエイド……」
「どこへ行くつもりなのですか?」
オレの声にかぶせるように、冷たい女の声がした。
「アカゴの箱庭は電脳の蜘蛛の巣。出口なんて、堕ちてきた時点でないのです」
かしゃかしゃ、という機械の音に交じって、どこか幼い女の声。全身に立った鳥肌と悪寒と本能に逆らって、オレは恐る恐る振り向いた。
つやつやした姫カットの長い黒髪。開いた切れ長の瞳は赤く、妖しく光っている。黒と黄色の土蜘蛛が描かれた朱色の着物の下半身はだらんと椅子に垂れ下がっていて、そこから伸びているはずの足はどこにもなかった。かわりに着物の裾からは、細い銀色のアームが八本伸びている。
見間違えようもない個性だらけのその人が誰かを理解した途端、背中に冷や汗がほとばしる。オレの目と頭がイカれたんじゃなきゃ、この人はオレとは違う次元の人間だ。一般的なアウターオーサカの市民が関わっちゃいけない人。ごろつきやチンピラがかわいく見えてくるくらい恐ろしい、裏社会にどっぷり染まった人。黒い闇から出てきた人が、今、目の前にいる。
「その反応からして、彼女は君の知り合いかな?」
「お前知らねぇのか!?オレ的アウターオーサカ喧嘩売っちゃいけねぇ人ランキングでは常に首位!裏社会を牛耳ってるとか生き血しか口にしねぇとか、舐めた口きいたヤツを廃人にしたとかしてないとか……とにかくそんな噂が常に耐えない闇の女王、電脳のセアカゴケグモことアカゴさんだぞ!それをお前……!」
「噂の真偽はともかく、モジュールよりは世間を知ってるみたいなのです。そのデカブツより先に口を開いていたのであれば、無礼も不問にしてあげようと思ったのですが。少し部屋を離れた途端に不法侵入者が落ちてくるなんて、本当にこの街は油断も隙もないのです」
「申っし訳ありませんしたァ!!」
即座に見事な土下座のポーズを決めたオレに、呑気なエイドがいぶかしむような視線を向ける。アカゴさんが口を閉じてからおよそ0.3秒。スライディングで行う謝罪の最上位。普段のオレなら絶対やらない、プライドを全部捨てた、やらないと死ぬって恐怖が駆り立てた土下座だった。
「不法侵入者のわりには判断が早いのです。早い安い薄っぺらい、ファストフードみたいな庶民らしい謝罪なのですね」
頭上からの声にずき、と心が痛む。慣れた痛みだ。これくらいなら、まだやり過ごせる。否定されたわけじゃない。カラス頭のあいつみたいに、全部をどうでもいいって片付けられたわけでもない。強いヤツから見たオレがみっともないのは、だって、どうしようもない事実だし。
「お嬢さん!彼はこれでも心から謝っているのだから、何もそんな風に言わなくても……」
「うるさいですよ泥人形。脳みそも泥でできてるんですか?」
「ど、泥人形?」
疑問で痛みが一瞬だけどっかに消えて、オレはとっさに間抜けな声を上げる。金属に詳しいってわけじゃないけど、エイドはどこからどうみても超合金だ。ロボットってそういうもんだろうし。叩くと痛そうなくろがねの体は、今も部屋のパソコンから漏れたブルーライトを薄く照り返している。
「見る目もプライドもない。本当に、ないない尽くしなのですね」
もう一度頭を下げる必要はなかった。アカゴさんの声には、もう威圧感も嫌悪感もこもっていなかったから。口から出かけた礼の言葉は、黒髪が揺れる音に引っ込む。
「上方漫才にしてはお粗末な脚本でしたが、そこそこ面白かったので不問にしてあげるのです。それにしても……」
血よりも赤い瞳がエイドを見つめる。命知らずのエイドは首をかしげて、慌てるオレなんかいなかったかのように二人は見つめ合っていた。
「どこかの泥人形がアカゴの罠の箱庭に堕ちてくるなんて、おかしな偶然もあったものなのです」
アカゴさんがくすり、と笑う。あどけない顔立ちに似合わない、毒々しい赤い紅が吊り上がる。赤い瞳で見透かされたらしい何かは、オレにはよく分からない。
「む!お嬢さん、僕は正真正銘超合金だ!泥とは耐久性もハートの強さも段違いだ、取り消してもらいたいな」
「オレを殺す気かお前は!」
かわりに、命知らずにも限度があるだろ、とエイドの声に割り込むことしかできなかった。このままエイドに好き勝手喋らせたら、オレは多分五回くらい死ぬ。
「バカお前、アカゴさんが青って言ったら何色でも青になるんだよ!そういうもんなの!」
「そこは赤じゃないのか」
「そうじゃねーって!」
「……久しぶりに驚きました。まさか、まだ気づいていないのですか?」
アカゴさんの瞳が丸くなる。鮮やかな赤い丸の中に、とぼけた顔のエイドが映り込んでいる。
「ところで、いつまでそうしているんですかデクノボーども。アカゴ、まだ報告の途中でしたのに」
アカゴさんの呟いた言葉に気を取られている暇はなかった。その丸の中にオレも映り込んだのを見て、慌てて頭を下げる。エイドはというといつものペースだ。どこから来たのかとは関係なく、単にこいつが常識外れすぎるだけなのかもしれない。カラス頭にも呑気なもんだったし、危機感のリミッターが存在してないってこともあるよな。
「ひっ、さーせんした!」
「お仕事の最中だったのか、それはすまなかった」
「生まれ落ちたその日に定められたライフワークとしては、確かにそうかもしれないのです。貪欲な赤子は上へ上へと手を伸ばす。蝶はその引力に惹かれて、紫煙と共に舞い飛び上がる。けれど蜘蛛はその下で、じっと電子の巣を張り巡らせて、堕ちてきたガラクタを楽しむのです」
アカゴさんの赤い瞳は、オレたちのどちらももう見ていなかった。歌うように言葉を紡ぐ唇は、つやつやとしてやっぱり赤い。
「アカゴはこのタイムラインをずっと見張っていたいのです。何百といる蜘蛛の姉妹には、同じタイムラインを見ている子もいるかもしれないのですが……アカゴ、ネタバレは嫌いなのです。自分の目で見てみないと、分からないものだってあるでしょう?うっかりここに呼ばれて堕ちてくるかもしれないお父様の驚く顔を誰よりも先に見たいと願うのは、娘として当然のことなのです」
機嫌よくこちらに微笑んだかと思えば、次の瞬間にはもう真顔になって、かしゃかしゃと八本の蜘蛛の足がオレたちを通り過ぎていく。今どきレトロな部屋のパソコンに向かったまま、オレたちを見ることもなくこう言い放った。
「そういう訳で帰りやがってくださいね。アカゴ、人付き合いは苦手なもので」
これ以上ここにいたってオレの寿命が縮むだけだ。オレが喜び勇んでその提案を受けようとしたちょうどその時、
「何だ!?」
地下室が真っ赤な光に染まる。耳をつんざくような聞きなれない警報音が、オレたちの頭上で鳴り響いた。
これはオレたちの知らない話。オレとエイドがアカゴさんと話しているちょうどそれくらいの時間に、水面下でひっそり進んでいた計画。
アウターオーサカにそびえ立つ、逆さまの高い高い摩天楼の一角で。ワイングラスを傾けた男が、カラス頭の男と話している。ビロードの椅子に悠々と座って手の中の水面を眺めている男の、風の形に飾ったようなオールバックが、ガラス越しの都市の光を受けてほのかに光っていた。
「誠に申し訳ございません、あと一歩のところで取り逃がしてしまい……!」
「君、そんな言い方をするものじゃない。あれはわが社にとってのチャンスそのものなんだから。何の役にも立たない有象無象とは、何から何まで違いすぎる」
膝を立てて座るカラス頭の男に、彼はゆっくりと微笑んだ。椅子から立ち上がった拍子に、ワイングラスの中で液体が渦を作る。金を溶かしたような色の液体を、彼はじっと薄青の瞳で見つめている。
「まがりなりにも神聖汚泥ホーリータイドの寵愛を受けてこの地に落ちてきたんだ、丁重に歓待しないとね」
「では……」
「社長の手を煩わせることもない。彼がなりきっているというのなら、こちらもヒーローごっこに乗ってあげよう。その上で、格の違いを分からせる。早めに使われる側だって知っておいてもらわないとね、被造物が反抗するって三文芝居には君だって飽き飽きだろう?」
「まさか、それをお使いになるというのですか!実験段階には早すぎます、第一副作用が……!」
悪趣味な提案に、カラス頭の羽根が逆立つ。反対に男の方は、先程からずっと貼り付けている、酷薄な笑みを一段と強めた。
「うん。君がね」
「は、今、何と……!?」
一瞬。瞬きをするよりも早く、男がその羽根を捉える。串刺しにするでもなく、へし折るでもなく、ただ、人間そのもののような両手で捉えて。
カラス頭の嘴が開く。抗議の声のかわりに、黄金色の液体を、ワイングラスの中身を、男はまるごと流し込んだ。
Tttのネクタルを、Yakushiの、男の技術が踏みにじったもの。神々に供されるはずの酒は、今や理性を奪い、口にした者の身を怪物に変える猛毒と化した。
薄暗い部屋の中で、光源はネオンと都市の明かりだけ。声にならない声をあげてもがき苦しむ一羽のカラスは、やがてその二つの光に照らされて、めきめきと姿かたちを変えていく。
犯した失態に対して、あまりにも重い罰だった。
「言ってなかったっけ?僕は反骨心のあるやつが一番嫌いなんだよね。ヤタガラスのごとく、神の使いとして行っておいでよ」
男は微笑む。何の感情もこもっていない、軽薄そのもののがらんどうの笑みだった。
一羽の大きなカラスが、壁を蹴って飛び立った。ガラス張りの窓を割って、夜に飛び出していく。男の元にも、風が吹き込んでくる。排気ガスと汚物の匂い、それから香水の匂い、人と人でないものの匂いが入り混じった、ごみごみした街の風。男はそれを受けながら、ただ眼下の混沌の街をその両目に映していた。
「泥人形が、例えもう二度と元には戻らなくとも。この街が壊れるくらい暴れてくれるなら、ついでに邪魔なYakushiの連合体のうち一つでも潰れてくれればいい。それはそれで、滑稽で面白い見世物じゃないか」
嘲笑うような男の声は、誰も知らないまま夜に溶けていく。闇より黒い羽根は、その間にもめきめきと大きく膨らみつづけていた。
オレは知らない。軽薄そうな男がこれから何をしようとしているのかも、エイドとオレに何が迫っているのかも。
警報が鈍く鳴り響く。脳を直接絞るようなこの重低音に比べたら、サツのサイレンなんてほとんどおままごとだ、と思ってしまうくらいにがんがんと。
「何かあったのか!?」
「……パターンは赤、外なのです」
エイドの声に、一拍遅れてアカゴさんが答える。とっさに動けないオレとは違って、エイドの反応は素早い。
「外で何かあったのか……街の様子が分かる何かは!?」
「お、落ち着けって!今モニター出すから!」
鼓動がうるさい。エイドの声に急かされるように、オレは慌てて左手を叩く。スクーター見てても運転しやすいように、スプレーで花を描いている時にも分かりやすいように、とここに仕込んでおいたデバイスが起動する。ホログラムの板をどうにか操作して、でも、こういう時ってどこを見りゃいいんだっけ!?
「貸して!」
エイドの白と黒のメカニカルな指が、画面に触れた。一度ゆらめいたホログラムが、次の瞬間には中継の画面に切り替わる。
「な、何だよ、これ……」
眠らないネオンの街、アウターオーサカを、黒い風が切り裂いた。足元の車を鉤爪の足が踏みつける度に、轟音に交じって悲鳴のようなクラクションが鳴り響く。逆さまの天地を歩きながら、空に浮かんだビルに手を伸ばそうとしているのは、
「これは……!」
巨大な、カラス頭の人間だった。
巨大なカラスの化け物、その咆哮に、聞き慣れたサイレンが重なる。サツの乗った小型のエアロビークルが、中継の映像を横切っていく。
ノイズ混じりの音声に、ネズミ花火が爆ぜたような音が一瞬盛り上がって、そして消えた。エアロビークルの頭のあたりが一瞬光って、また消える。息もつかせぬ射撃にも、カラスの化け物はびくともしない。大きな羽根が空気を叩いたと思ったら、エアロビークルが何台もあっけなく明後日の方向に飛んでいく。見ているだけで息ができなくなりそうな一方的な蹂躙に、オレは中継画面から目をそらした。
オレでも分かる。あの化け物は、誰にも止められない。サツでさえダメなんだ、止められる訳がない。
暴力の嵐の中心で、カラス頭の化け物がひときわ大きく吠えた。耳を塞ぎたくなるような痛々しいくらいデカい音で、地響きみたいな轟音で、そいつは確かに、
「エ、イ、ドォォ……!」
エイドの名前を、呼んでいた。
「ミス・アカゴ」
エイドの声は迷っていなかった。アカゴさんを見つめる黄色い瞳が、静かな怒りに燃えているのがよく分かった。
「ここからあの場所まで行くには、どうしたらいい」
「行く気、なのですか」
「うん、行かなくちゃ。僕はヒーローだし、何よりそうありたいんだから」
「……どうなっても知りませんよ。非常用の通路、あそこから飛び立てばすぐなのです。燃料補給は?」
アカゴさんが手元のパソコンに何かを打ち込むと、大きな屏風がぱたんと倒れる。隠されていたのは、ライトに照らされたトンネルみたいな通路だった。ごうごうと、通路の奥から風の音も聞こえてくる。自販機みたいなデカさのエイドの機体でも、余裕で通り抜けられそうだった。
「必要ない。今のままで、十分だ」
このままだとエイドが行ってしまう。それだけは、すぐに分かった。
「誰だか知らないが……僕を探しているというなら、お望み通りに行ってやろうじゃないか」
「ち、ちょっと待てよ……探してるって、どういうことだよ」
燃えるような眼差しで、静かに怒っている声のエイドにオレはどうにか言葉を投げる。オレの声は震えていて、そして自分でも分かるくらいには情けなかった。
「行かなくちゃ。あの声は、僕を呼んでる」
「呼んでるって、お前……」
オレが、知らず知らずのうちにエイドの名前を呼んでたみたいに。あのカラスが、お前に、助けを求めてるっていうのかよ。
「僕の名前を知ってるってことは、きっと僕らの知り合いだ。それに、あの人を止められるのはきっと僕しかいないから」
知り合い。エイドの言葉と今もなお暴れるカラス頭がオレの脳内で結びついた瞬間、全身から力が抜けて立っていられなくなった。
「あ、あいつ、なのか……?」
訳の分からない悪寒に体が震える。吐き気が胃に駆け込んできて、オレはその場にへたり込む。エイドと初めて会った路地裏で、オレを取り囲んだヤツらの羽根と眼差しが蘇ってくる。
あそこには何羽もいた。いたはずなんだ。オレが知らないだけで、アウターオーサカの外にはカラス頭だけの国だってあるのかもしれないし。だから、今街で暴れ回ってるらしいデカブツと、エイドを捕まえようとしてついでにオレを笑ったヤツは関係ない。きっとそうだ。オレが知らないだけで、双子がいるのかもしれないし。
座り込んだままのオレを横目で一度だけ見て、エイドは一歩ずつ歩いていく。
やめとけよ。あんなデカブツ、わざわざ構う必要ないって。お前がわざわざ助ける義理なんてないし、お前が行かなくても、サツはあんな感じだけど、でも、そうだ、きっと政府だかお偉いさんだかがなんとかしてくれるって。なぁ、エイド。
エイドの横顔がやけに遠くて、そういえばこいつのこと何も知らない、と気づいて。どうしようもなく胸を満たすモヤモヤしたものを振り払うように、気づいたらオレは叫んでいた。
「だから、待てって!」
エイドの瞳を怖いと思ったのはこれが初めてだった。ぐるりとこちらを捉えた、危険信号みたいな眩しいイエローに耐えられなくて、オレはどうにか言葉を絞り出す。
「い……行っちまう、のかよ」
「急いでいるんだ、ごめんね」
オレの言葉なんか構わずに、エイドはその足を動かす。簡単に跳ねのけられたのが悔しくて、むかむかした何かが心の中に湧いてきた。感情は熱いまま、わっと口から飛び出してくる。
「ほっとけよあんなヤツ!それに……オレのこと、まだ助けてないだろ!」
こう言えば止まってくれると思っていたのかもしれない。一度足を止めたエイドが、それでもオレの方を見ずに進み始めた時、オレの心の中で何かが裂けるような音がした。
「優先順位はつけたくないけど……君を助けるためにも、君がいるこの街を守らなくちゃ」
アウターオーサカに、誰かを助けようとするヤツなんかいない。明日のことを心配しなくていい金持ちの道楽か、ここに来たばっかの新参者ならいざ知らず。根っからのヒーローなんて、この街にはいないはずだった。物語の中から出てきたみたいなエイドの姿は、痛々しいくらいに凛々しくて、そして正しさに満ちていた。
「あぁ、そうかよ……ヒーローごっこがしたいなら、一人で勝手にやっとけばいいだろ」
オレを巻き込む必要なんかなかった。全部台無しになっちまったあの夜に、オレの元に落ちてくる必要なんかなかった。オレの声に答えたみたいに、あんなに暑苦しくてまっすぐで優しくて光に満ちた声で、オレを勘違いさせる必要なんかなかった!
「……そうするよ」
エイドの声は、心臓にも届きそうなくらい冷たかった。
ごう、と風の音が強くなる。エイドの足音が響いて、響いて、この部屋を抜けて、やがて遠くからエンジンの音が聞こえてきた。
どこかで聞いたなと思ったら、エイドと一緒に飛んだ時に、夜の中で聞いた音だった。
「……アポロンの怒りで翼が染まったことには同情の余地もあるのですが、それでもカラスは気に入らないのです。フィクサー気取りで黒という色の代表者のような顔をして、恥というものを知らないのでしょうか」
一人言みたいなアカゴさんの声が聞こえる。返事を待っているんじゃないか、って気がして、でもオレはそれに答えられない。声を出したくない。きっと、みっともないくらい弱々しくなる。
のろのろとどうにか手足を動かして、ゆっくり歩いていく。動きたくなかった。でも、それよりもっと、ここにいたくはなかったから。
「どこへ行く気なのです」
「帰り、ます」
どうにか答えたオレの声は、思っていたよりしっかりしていた。ただ、泣きそうなくらい湿っぽいだけで。
今なら、全部悪い夢だったってことにならねぇかな。よく考えたら、カラス頭とはいえ人間が巨大化なんかする訳ないし。地下に裏社会の女王がいるのも、ヒーロー気取りのロボットがいるのも、夢って言われた方が納得できるのに。
「そうですか。お前、何がしたいのですか?」
アカゴさんの声は、こんなにも冷たいのに。夢は覚めない。オレは、まだここにいる。
「何が、って……」
「デクノボーその2の足を引っ張って。かと思えば、そこでうじうじして。主体性、いったいどこに置いてきたのでしょうね」
「……そりゃ、自分なんか持てないっすよ」
いっそこの人に取って食われたら、オレの目も覚めるんじゃないか。怒りの後で律儀に怖さが来るオレの頭の出来が、今はもういっそおかしかった。
「何も悪いことなんかしてないのに、スプレーだってちゃんと消えるやつだし周りに迷惑なんかかけてないし、なのに、なのにオレのこと決めつけて!」
カラス頭の冷ややかな声。遠巻きにする周りの視線。オレの描いた花をすり抜けていく通行人。無視されているって気づいた時の、心臓が止まるような錯覚。
「オレの描いた花を見てくれたことあったか!?オレのことを、オレとして見てくれたことが!見つけてくれたことが、一度だってあったかよ!」
全ての始まりは、あんなにも優しい声だったのに。もういない二人の声を、言葉を、嘘になんかしたくなかったのに。父ちゃんの誇りになりたかった。母ちゃんの支えになりたかった。なりたいものになれなくて、それでも諦めきれなくて。
あの日というにはまだ早い、オレとあいつが出会った夜に。何にも決めつけられないまま、オレとして見つけてもらえたって、オレは確かに嬉しかったのに。助けに来てくれたんじゃないかって思うくらい、本当に、本当に嬉しかったのに。
あいつにとって、オレって何だったんだろうな。
オレはうつむいたまま、ぶちまけた感情をどうすることもできないまま、ただ黙って立っていた。一歩が重い。足を動かすのがこんなにキツいなんて、知らなかった。
あいつも、そうだったんだろうか。浮かんできたあたたかな何かを、頭を振って追い出す。そんな訳ない。あいつは、エイドは。
……そういえば、エイドはどうなったんだ。街のヤツらとカラス頭を助けに行って、それっきりだよな。
時間の感覚がいまいち掴めないまま、オレは左手の甲を軽く叩いてモニターを呼び出す。誰も急かさないから、今度は落ち着いて操作ができた。
モニターの向こうから何かを手繰り寄せるように触れる。ここを押せば、ネットに流れてくる中継が繋がるはずだ。今頃きっと、エイドの華々しい大活躍が映っていることだろう。
「……繰り返しお伝えします」
落ち着き払った電子音声にノイズが走る。映った映像には、巨大なカラス頭の男がいた。深くなっていく夜に溺れるように、羽根をばたばたと動かしている。
「突如出現した第二飛翔体は、第一飛翔体との交戦の後……」
その反対側を、カメラが捉えた。
鮮やかな夜が、そこだけなかった。
そこには、ただ、夜より黒い闇があった。ネオンの光も浄祓塔もかき消すような何かが、そこにいる。見てはいけないはずなのに目が離せない、何かが。一瞬ちらちらと白いものが浮かんでは、覆うような闇の中に消えていった。
「パイプに激突した際に神聖汚泥ホーリータイドを浴び、機能を停止したものと思われます」
「嘘、なのです……!」
かしゃかしゃとせわしない音がして、アカゴさんが映像をのぞき込んだ。赤い瞳が、夜を映して確かに震えている。
「よりにもよって泥人形に混ぜ物なんて……ああ、アカゴはどうして気づかなかったのですか!」
その声を聞いた途端に、オレは反射的にアカゴさんの肩を掴んでいた。あんなに恐ろしかったその人の肩は、怖くなるほど小さく冷たかった。
「あれは、あれはエイドなんすか」
「何と言っていいか分からないのです、間違いなくアカゴの落ち度なのです」
「アカゴさん!」
「……ええ、確かにあれはお前の言うエイドなのです」
はっとしたようにアカゴさんがこちらを向く。オレが肩から手を放すと、彼女は一心不乱にパソコンに向かった。カタカタと何かを打ち込む度に、画面が何度か点滅していく。ポップアップしてくる通知とメッセージの山に答えながら、オレに向かって、焦ったような早口で語り掛けていた。
「タイムラインの出来事に極力介入したくはないのですが、今回ばかりは話が別です。あれは神聖汚泥ホーリータイドと相性が良すぎました、このままだと取り込まれてH.R.Kヒルコをも飲み込む泥になります、お父様を見つけるどころかタイムラインの存続の危機なのです。それはアカゴの望む結末じゃないのです、だからお前は、あれを止めに行ってくれませんか」
「止める、って……それは、アカゴさんとか、エイドみたいなやつのすることじゃ」
アカゴさんの提案に、一瞬だけ息と思考が止まる。H.R.Kヒルコっていうのはこのアウターオーサカを支えてる土地神で、つまりそいつがいなくなったら、アウターオーサカはおしまいだ。オレたちだって、生きていられるかどうか怪しい。でも、エイドが?あんなに正しくて、もういっそ嫌なくらいのいいヤツが、本当にこの土地を支える神様まで呑み込むような存在になるのか?
フリーズした思考が動きを再開して、その拍子に今度は逃げる理由ばかりが湧いてくる。
サツでも無理だったんだ。エイドも、考えたくはないけど、たぶん。アカゴさんと繋がりがあるような裏社会のヤツらならいざ知らず、オレが何とかできる訳がない。権力でもヒーローの力でも無理な相手に、あんなにデカい化け物に、オレがどうやって立ち向かうって言うんだろう。どうやって、エイドを助けろって言うんだろう。
オレには何もできないのに。力どころか勇気もないんだって、さっき思い知ったばっかりなのに。誰にも気づいてもらえないようなヤツが、どうやって、誰かを助けるって言うんだろう。
「お前にしか、できないことなのです……!」
口ごもるオレの心臓をビンタするみたいな声で、アカゴさんが鋭く叫んだ。アカゴさんに、ようやくピントが合った気がした。目の前のその人は思っていたよりずっと小さくて、泣いている赤ん坊みたいな顔をしていた。
「お前じゃないと、できないことです。アカゴにも、アカゴのお友達にも、六頭体制ヘキサドの誰にもできない!少しでも助けたいなら、助けられたいのなら、だから……どうか、お願いします……」
ぐっしゃぐしゃの顔のまま、息を切らせて、アカゴさんがオレに頭を下げる。眩暈がしそうな目の前の状況が、この人は必死で、本当のことしか言ってないって証明していた。
「もうお父様に会えないなんて、アカゴは、わたしは二度とごめんなのです……」
アカゴさんの声に、オレはこんな時なのに、自分の父親を思い出した。甲斐性なんて見せたことなかったし、いい夫じゃなかったのかもしれないけど。それでもオレにとっては、たった一人の父ちゃんだった。父ちゃんなら、こんな時どうしたんだろう。今のオレを見たら、父ちゃんはなんて言うんだろう。
「……できるもんなら、助けたいっすよ」
赤く染まった部屋にオレの声が落ちる。震えていて、情けなくて、どうしようもない声。エイドの凛々しさとは大違いだ。
「でも、だけど!本当に、オレにどうにかできるんですか!エイドにだって……!」
エイドにだって、できなかったことなのに。
「お前になら、できます。泥と混ざった泥人形を、完全に混ざりきる前に元の形に戻すことができるのは、泥人形と共に過ごしたお前にしかできないことなのですから」
オレの迷いを断ち切るように、アカゴさんはまっすぐな声でそう言った。その眼差しがエイドにどこか似ているって気づいて、それで、オレは思考が追いつくより早く声が出た。
「できるなら……間に合うん、ですか」
アカゴさんが、短く息を呑んだ。
オレは何を言ってるんだろう。頭の中で、冷静な声が囁く。アカゴさんの言ってることはぶっちゃけよく分かんないし、オレにできることなんてないって思ったばかりじゃないか。こんなのオレらしくないって。今ならまだ取り消して、知らないふりだってできる。それが一番賢いって、オレの足を止めようとする。
それを振り切るように、オレは一歩前に出た。重い一歩を踏み出したら、後はもう、走り出すだけだった。
「今ならまだ、きっと。でも時間はないのです、アカゴはお友達と協力して被害を抑えられるかやってみますから、お前は、どうにか止めてきてください」
一度だけ、アカゴさんが確かに頷いた。それからパソコンに向き直って、黒髪を振り乱すくらいの勢いで操作を続ける。つけっぱなしの画面からはニュース速報が鳴りやまない。迷っている暇なんか、一秒たりともなさそうだった。
「トンネルを使って。途中に階段がありますから、そこからなるべく高いところに走って、後のことはこちらで……ああもう、こんな時にだけセキュリティが固いったら!」
「よく分かんねぇけど……行ってきます!」
だから。後悔も情けなさも戸惑いも全部置いてけぼりにするくらいの勢いで、色あせて擦り切れたスニーカーの靴底が焦げるくらいに速く。アカゴさんの背中に声だけをかけて、その声すらも瞬きの後には置き去りにして、オレはエイドの元に向かって走り出した。
走って、走って、走り続けた。トンネルを抜けてサビた階段を上って、路地裏に出た。そこからまた走り続けた。
路地裏から空を見上げて、一番高いビルを探す。検索よりも目で見て探す方が速い。わざわざデバイスを呼び出す手間さえ惜しかった。
見上げた空はビルとネオンを吊り下げて、泥でも溶けたみたいに黒くそびえ立っている。オレの心もおかまいなしに、あるいは心の奥の焦りを読み取ったみたいに、心臓はずっとうるさく動き続けていた。
「……あそこか!」
スニーカーの底が欠けたアスファルトを蹴る。路地裏を走って、視界が開けたと思ったら大通りに出た。何語かすらも聞き取れない怒号に返事をする暇もなく、オレはまた走り出す。人混みを抜けて、キャッチの声とミーム広告に割って入って、寝転がった酔っ払いになおも酒を注ごうとする飲食店のポンコツ給仕ロボットを飛び越えて、そうしてまた走り続ける。
なんでこんなにがむしゃらに走っているのか、自分でもよく分からなかった。思考より早く、考えてる暇なんかないくらいに、オレは夜を駆け抜けていく。
自分じゃ何もできないって、もう思いたくはなかった。思った途端に、足が止まる気がした。オレは臆病でどうしようもないから、足が止まったらもう、オレにはやっぱり無理だって諦めてしまいそうで。足をがむしゃらに動かしながら、酸素を吸い込みながら、閃きみたいにオレは気がつく。
でも、だってまだ、あいつはオレの描いた花を見てない!
あいつの中でオレが何もできないヤツって評価のまま終わりたくなかった。あいつだけじゃない、アウターオーサカのヤツらにも、サツにも、オレ自身にも。何もできないままのデクノボーなんて、犯罪者以下のチンピラなんて、二度と思われたくはなかった。
こっちはアーティストのつもりなんだ、せめて見てから評価してもらわなきゃ困るんだよ。ヒーローとは、エイドとは違って、自己顕示欲まみれの動機だけど、それくらいがオレらしくていい気がした。そういう理由で、そういう理由でもいいから、あいつのところに行けるオレでありたかった。
人の動きに逆流するように。慌てたように逃げていく人の塊と、それを導く聞き覚えのあるサイレン。いつもなら恐怖の象徴みたいなその音が、今はオレの進路が間違っていなかったことを確信させる。
大通りから一本外れた路地に向かう。ここで見つかって戻されたらおしまいだ。目の前は細く、それでも確かに開けている。
疲れに目を向けた瞬間オレの足は止まる、そんな確信じみた予感があった。だから足を止める選択肢なんかなかった。止まっていいのは方向転換の時だけだ、このまま一気に突っ切ってやる。
路地裏の外に出る。夜の空気が火照った体にぶつかって、サイレンが少し遠のく。どこもかしこも似たようなビル。ビル、ビル、闇、ビル……。
「そこ、か!」
ビルとビルの隙間に。見間違えようのない闇が、ぽっかりと空いていた。
冷えた体がまた熱くなる。間違いなく、エイドはあそこにいる。
後は一番高いビルを探すだけだ。逆さまの天地を見渡して、連絡通路をどうにか見つけようとする。迷路みたく入り組んだ通路を見るだけだと、どれが何に通じているのか分かりはしない。ミーム広告が遮って、オレはぶんぶんと首を振ってどうにか視界から追い出そうとする。
焦りが汗になって顔から吹き出る。心臓がまたうるさくなって、でもそれに意識を向けている暇なんてない。こうしている間にもエイドは取り込まれかけてるかもしれないのに、オレはそれを止めに来たのに。
何もしていないのに、左手の近くにホログラムが浮かんだ。じじ、と一瞬赤いノイズが走った後、ひとりでに音声が接続される。同時に画面も更新されて、見覚えのある地下の部屋が映った。
『聞こえますか、デクノボー』
「アカゴさん!」
髪はぼさぼさでせわしなく手を動かしてはいるけど、少なくともさっきよりは落ち着いて話せる状況になったらしかった。存分に頼っていい助っ人の登場に、オレは気が抜けてへたり込みそうになる。
『休むにはまだ早いのです。文字通りのデクノボーになってないで、西の通路に行くのですよ。あそこは天上のビルに向かって建設されましたから、デクノボーその2のところに向かえるはずなのです』
「よっしゃ……!で、西ってどっちっすか!」
『はぁ……お前から見て右ですね。視覚を共有するのです』
オレの目の前に赤い矢印が浮かんだ。それを追うように、もう一回体を奮い立たせる。ため息は聞かなかったことにして、また、とにかくひたすらに走る。
こんなところで止まってる場合じゃない。今は、エイドのところに行くことだけを考えろ。そのためだったら、肺が裂けて足が折れたって構わないから。
バリケードを蹴っ飛ばして、空に伸びる通路に駆け込む。進むごとに傾斜がきつくなって、オレの体は重力に負けそうになる。
エイドはきっともっときついんだ。オレが、負けてたまるか。
「僕はエイド。超電救助隊のスーパーロボット、皆の頼れる超救命究極救助A.E.Dエイドだ!」
バカみたいに優しくて、おかしなやつで、ロボットのくせにあったかくて。
「君の絵は素敵だ。君の描く花を見れば、彼らもきっと分かってくれる」
行動の全部が常識外れで、そういうところに苛立ったり、どうしてか悔しくなったりしたけど。
「君を助けるためにも、君がいるこの街を守らなくちゃ」
今なら分かる。オレ、お前のこと、けっこうちゃんと好きになってた。打算もちょっとはあるんだろうけど、それよりもっと、お前を助けたいって思ってる。こんなこと、他人に対して思ったことなかったのに。だから、頼む。神様ってヤツがいるのなら、どうかエイドを助けてやってくれよ。
ボロボロの通路の上を、根性だけで進み続ける。ネオンも夜も排気も置き去りにして、逆さまのビルまで一歩一歩進んでいく。体が重い、と感じたことすら振り払って、オレはどんどん歩いて、歩いて、そして。
「見えた……!」
ぽっかりと夜に空いた闇と、そこから見え隠れするエイドの手足。それを威嚇する巨大なカラス人間と、オレが通ってきた道。坂みたいな通路の向こうにはそれだけがあった。
……本当に、それだけがあった。通路は途中で、一番高いところで途切れたように終わっていた。作るのを諦めたみたい、というか、実際そうなんだろうけど。
「それで、この後どうするんすか!?」
エイドを、早く助けないと。といっても、どうやって?
『そういえば言い忘れていましたね……お前が、あれを生みなおすのです』
考えるより先にオレはアカゴさんに訪ねる。返ってきた答えはシンプルで、そして全然訳が分からなかった。
『再定義なのです。今のデクノボーその2は、神聖汚泥ホーリータイドに侵食されつつあるのです。幸いメインシステムまでは到達していないようですから、お前が乗り込んで書き換えてしまえば済むはずなのです』
「すんません全然分かりません!」
『とにかくコクピットまで向かって乗り込む、それだけを考えるのです。上手く意識を拾えさえすれば、後はどうにかなるはずなのです』
「なるほど……分かんないなりに分かりました!で、どうやって乗り込めば……?」
『そこから飛び降りるのです』
「言うと思った!」
ここまで来たのに、と思いつつも、オレは二の足を踏む。途切れた道路の上からは、余裕で街を見下ろせる。逆さまのビルの方が近いくらいで、つまり、とんでもなく高いってことで。
……エイドなら、怖くはないんだろうな。オレと同じ人間だったとしても、ためらいなく飛べてたんだろうな。この街のヤツらのことも、カラス人間のことも多分助けるために行ったんだから、そうしたよな。そうした、はずだよな。
排気と香水の匂いを運んでくる風が、オレの背を押すように吹いて。足元の闇から、エイドの足が、白く見え隠れして。ここまで来たのに何ぐずってんだよって、オレの中で何かが決まった。
「……あーもう、骨は拾ってくれー!」
逆さまの天地から、夜に向かってオレは飛ぶ。本日三回目の落下だった。そのうち二回は失敗してるんだから、三回目くらいは、きっと成功するはずだ。しないとおかしいし、失敗した時のことはもう考えたくない。
どうにでもなれ。エイドなら、上手いことコクピットのとこまで着陸できるはずだから!
……コクピットって、どこにあるんだっけ?
そういえば聞いてないなと思う間もなく、オレは真っ逆さまに落ちていく。夜の中に。エイドがいる、闇の中に。手足をばたつかせて、泳ぐように無理やりに、エイドの方にもがいて向かっていく。
やがてオレの体は夜と、闇と、そのどちらか分からないものにかき消えた。
恐る恐る、目を開ける。ここは死後の世界か、エイドのコクピットのどちらかだ。オレの体は椅子の横にもたれこむみたいな体勢で無理やり狭い部屋の中に押し込められていて、その部屋は文字やらよく分からない記号やらラインやら、とにかく壁も床も白く光っている以外はぼんやりと暗かった。
「システムエラー、87パーセント。浸食を確認。コクピットに生体反応を確認。パイロット登録なし。システムの応答を求めます」
無機質な機械音声の言っていることが、分からないようで何となく分かった。つまりオレは生きていて、エラーってことは、たぶんエイドも生きている。システムが応答してるってことは、そういうことだ、そのはずなんだ。
「どうして、ここに……」
そうして、オレはその声を聞いた。
聞き間違いじゃなかった。機械音声でもアカゴさんの声でもなく、確かに何度も何度も聞いた、ずっと聞きたかった声だった。優しくて、少し癖のある男の声。聞いたヤツを全員奮い立たせるような、力の籠った暑苦しいくらいに熱いまっすぐな声。
今はちょっと弱弱しいけど、でも間違いなく、それはエイドの声だった。
「エイド!エイドだよな!なぁ、無事か!?」
「そうか、機体から泥を排出しようとして、コクピットが開いていて……神聖汚泥ホーリータイドがクッションになって、それで、乗り込めたんだね……僕と一番長く過ごしてたのは君だから、パイロット候補として、システムが……」
「何があったんだよエイド、とにかく、無事なんだよな?」
「僕とあの泥は、とにかく相性が悪かった……情けない限りだけど、思い出したんだよ」
ようやく声が聞けた嬉しさに浸ってる場合じゃないらしかった。あんなに堂々としたエイドの声が、今はもう消えてしまいそうなくらいに弱々しい。
「思い出したって、何をだよ……なぁ、エイド!」
『愚かなる人間たちの産物であったことを、ですよ』
どうにか立ち上がって、オレがエイドに必死に呼びかけたその一秒後。左手を叩いていないのに起動したデバイスから、若い男の声がした。
『初めまして。Yakushiの傘下企業が一角、ヤタガラス製薬統括係長、ヤタガラスと申します』
若いはずなのに変に貫禄がある男の声だった。若々しいのに、どっしりしている。余裕、とも違う。自分の力を、存分にひけらかしているみたいな声だった。
オレは知らない。ヤタガラスを名乗るこの男が、全てを引き起こしたことも。巨大化したカラス頭、エイドの苦しみ、その原因であることも。
『そしてそのまま朽ち果てなさい、スワンプマン。ここは、お前のいるべき世界ではないのだから』
そして、エイドが何者なのかも。
『ヤタガラス……!』
デバイスの画面に一瞬、火花みたいな赤いノイズが浮かぶ。怒りを帯びたその声が、アカゴさんのものだとすぐに分かった。
『ただの泥ならここまで強く取り込まれなかった。よりによって、その名前を使うなんて……!』
『名前をつけたのは私ではありませんよ、若き女王陛下。彼の名付け親は、こことは違う宇宙の人間です』
こことは違う宇宙。きっと、エイドが生まれた世界だ。違う宇宙から声に呼ばれてやってくる旅人は、アウターオーサカでは珍しくない。そいつらの力を、文化を、全てを食らって吸収して、きっとそうやってアウターオーサカは発展してきたんだ。
『スワンプマン。思考実験の檻の中の怪物、けして本物にはなり得ぬドッペルゲンガー。その名前をたかが儀式のための泥につけるなんて、鉄錆とやらはずいぶん命知らずな教団ですね』
『名前は呪い、最初の縛り。よりによってその名前なんかつけなければ……いえ、これこそ後の祭りなのです』
『よくお分かりで、女王陛下。名前によって彼は命を得、人格を得、魂を得ました。どうやら彼にその自覚はなかったようですが。ここに落ちてくるまでのどこかの道筋で、ヒーロー番組でも見たんでしょうね』
二人の言ってることは全然分からない。ただ、エイドがヒーローを名乗ってた理由は何となく分かった。あいつがヒーローにこだわってたように見えた理由も、何となく。
『……あるいは神話を学習させれば、本当に神性を帯びたのかもしれませんが。どんなものの身代わりにもなる、無限の可能性を秘めた泥人形。それが、よりにもよってヒーローごっことは』
しみじみと惜しむような声だった。ヒーローよりももっと価値のあるものになってくれたら、というような。エイドの全部を価値のないものだと決めつけて、値踏みして、そしてバカにして片付けてしまうような声だった。オレがずっと晒されていた無理解にも、冷たい視線にも、よく似た声に。
エイドの横顔が、熱い声が、オレを助けてくれたあの姿が、二人で飛んだ夜がよぎった。
「それの、何が悪いんだよ」
だから、気づいたらオレはそう答えていた。
「何が悪いんだよ、あいつは本気でヒーローやってたぞ!」
悔しかった。オレの夢をバカにされた時よりも、もっともっと。ごちゃまぜの怒りと悲しみが、そのまま叫ぶように言葉になる。
『人間には分かりませんよ。たまたまスワンプマンと出会っただけの分際で、ごちゃごちゃと……あなたと出会わなければ、交渉はもっとスムーズに』
「うるせぇ!!」
ヤタガラスの腹立つ顔を、オレは画面ごと叩き割った。これ以上、エイドの夢をバカになんかされたくなかった。
「誰だって、なりたいもんになれんだよ!お前あいつに好き勝手喋らせといていいのかよ、悔しくないのかよ!?」
怒りをゆっくりと清々しさが塗り替えていく。コクピットを見渡して、オレはさっきから黙ったままのエイドの名前を呼んだ。
「なぁ、エイド!お前は、何になりたい!?」
「僕、は……」
弱々しい声。
「お前は、何だ!」
それでも、確かな一つの声。
「僕は、エイド……超電救助隊の頼れるロボット、皆のパイロット、超救命究極救助A.E.Dエイド!」
エイドの声が力を増していく。初めて会った時のような、まっすぐで熱い声になる。
「たとえプログラムミスの使命でも、望んではいけなかった愚かな夢でも、僕だって誰かを助けたいんだ!だって、僕は……!」
優しさを秘めた、暑苦しいくらい熱い声。少し癖のある声。こことは違う宇宙から来たらしい、ちょっと変で、でも間違いなくいいヤツで、そんなロボットの声。
「君の声に呼ばれて、君を助けに来たんだから!」
オレが、全部を託したヒーローの声。
「そうだ……ああ、そうだよなぁ!」
コクピットの黒が晴れていく。夜と、ビルと、逆さまの天地。空に浮かぶ通路と、巨大なカラス頭が見える。
「見せてやろうぜエイド、お前があいつらより上手く、早く、人を助けられるってことをな!」
「あぁ、もちろん!」
「……で、どうやるんだ?」
「こういう時はいったん倒してしまえば、彼も浄化されて元に戻るはず!そういうお約束だから」
「なるほどなー……って、そんな上手くいくのかよ!」
「大丈夫。彼は酔っぱらったみたいになって、正気を失っているだけだ。どうして巨大化したのかは分からないけど……神聖汚泥ホーリータイドだったかな?僕よりは浴びていないみたいだし、まずは沈静化させて、それから元に戻るのを待とう」
カラス頭の怪人の動きがどんどん激しくなっていく。今は威嚇で済んでるっぽいけど、このままだとどうなるか分からない。エイドの言う通り、まずは動きを止めないとヤバそうだ。
「そういえばお前、もう大丈夫なのか?」
「神聖汚泥ホーリータイドの効果があるのは、スワンプマンとして……つまり、役割のない状態のまっさらな僕だから。君が再定義してくれたおかげで、今は名前も心もすっかりエイドだから、効果は受けないよ。むしろちょっとベタベタするってくらい!」
「へへ、アカゴさんの言う通り、本当になんとかなったな……って、うぉっ!」
威嚇をやめた怪人がこちらに向かってくる。デカいくせに、そこそこ早い。恩人の顔を思い浮かべる余裕もヒマもなく、このままだとタックルの衝撃をかわせない。
「どうすんだよエイド、ヤバそうだぞ!」
「大丈夫だから、椅子に座り直して。あと、名前を教えてくれないかな」
「それに何の関係があんだよ、というか、今聞く必要ないよな!?」
「椅子は衝撃をかわすため、危ないからね。名前は、まだパイロット登録を完了してないから。登録しないと100%の力を出し切れないし、色々発動できないんだよ、合体とか必殺技とか!」
カラス頭の怪人が、デカい羽根を広げてどんどん近づいてくる。これは腹をくくるしかないと覚悟を決めて、オレはやけくそでコクピットの椅子に腰かけた。
「……バンドだよ。伴藤バンドーバンド!ややこしいから好きに呼んでくれ!」
今となっては分からないけど。父ちゃんと母ちゃんは、何を思ってこの名字の息子にこの名前をつけたんだろうな?いや、そんなこと思ってる場合じゃないんだけど。
「バンド、か。素敵な名前だね!」
「パイロット名"バンド"を認識。パイロット登録を完了しました。救急救命ボックスの使用が解禁されます」
迫ってくるカラス怪人を前に、エイドと音声は呑気なもので。黒い鳥の頭が、羽根が、もうそこまで来ている。ぶつかる、とオレが身構えた次の瞬間、コクピットの外から衝突音がした。
「あ、あれ……?」
オレの視界をふさいでいたのは、デカい救急箱だった。カラス怪人のタックルから守ってくれたらしい真っ赤な救急箱が、ぱかっと変形してアーマーの形になる。変形と同時に、デカい救急箱のデカい中身も一緒に出てきた。
色とりどりの絆創膏が何枚も花びらみたいに重なって、エイドの左手の虹色の盾に。包帯がくるくると体温計に巻き付いて、右手の真っ白な剣に。薬の箱が二つに割れて、エイドの両足の銀色のブーツに。箱の中身はエイドの両肩に飛んで行って、薬のシートの銀色の甲冑になった。
「エイド、こ、これどうなってんだよ!」
エイドの姿が変わっていく。基本のごつさはそのままに、より色が増えて、何というかゴージャスになっていく。身長もよりデカくなって、その辺りのビルを優に超す。さっき登ってきたハイウェイが、今はもう、エイドの腰あたりに見える。
「戦うための換装、フォームチェンジってやつかな?」
「……確かに、今の見た目の方が強そうだもんな!」
巨大化の説明にはなってないけど、それでも、エイドの姿は頼もしかった。色とりどりの光をまとった、白と赤のヒーローがそこに立っていた。
体の中を巡る熱い気持ちのまま、オレはヒーローの名前を呼ぶ。
「「完全合体!超究極絶対救命士・エイドバンド!!」」
赤と銀の騎士になったエイドと、オレの叫ぶ声が重なった。背後でビルのネオンが高らかにきらめいて、エイドバンドの姿をくっきりと照らしだした。
コクピットに座ったままでも、オレとエイドは一緒に戦えた。オレの手はエイドの手になり、オレの足はエイドの足になる。ひるんだカラス怪人に、オレは右手の真っ白い剣で切りつける。グギャア、みたいな声を上げて、カラス頭がよろっとよろけた。
「いい感じだな、エイド!」
「油断しちゃダメだ、来るよバンド!」
エイドの声とほぼ同じタイミングで、カラスの黒い翼が夜に開く。そのままぐるぐると高速回転して、嵐のようにこっちに突っ込んでくる。とっさに左手の盾で防ごうとするも、動きを捉えられず防ぎきれない。そのままカラス怪人と激突して、オレたちは踏ん張りながらも後ずさる。
「ぐっ……!」
「いってぇ……大丈夫か、エイド!?」
「僕は大丈夫、それより前を!」
ぐるぐる回りながら突っ込んでくる黒い嵐から、カラスの羽根が射出されてくる。さっきとは違い、小さな痛みがじわじわと積み重なってくる。さっきの攻撃をもろに食らったダメージもまだ残ってるってのに、これじゃ反撃の暇がない。エイドのヤツ、こんなのと一人で戦ってたのかよ。
「うわぁっ!?」
「な、何だ!?」
背後で爆発が起こる。その衝撃に、エイドの機体が揺らいだ。もろにダメージを食らって、頭がびりびり震える。予想してなかったところからの爆発に、まだ脳がついていかない。
「両肩のアーマーは小型ミサイルなんだけど、そこを狙われたみたいだね……」
「んなのありかよ!?」
「これ以上長引くのは、ちょっとまずいかも……」
エイドも息が荒くなっている。オレがもっと上手くやれてたら、なんて思うのは後だ。どうにか前を見上げると、カラス頭は体勢を整えて、もう一度翼を大きく構えていた。
このままだと、あれが来る。さっきよりデカいのが。もう一度まともに食らったら今度こそおしまいだ。
ひりつく空気をかき消すように、怪物の足元で光が爆ぜた。爆竹のような赤い光に気を取られて、怪物が一瞬体勢を崩す。蜘蛛の巣のような火花が、オレたちの足元にも飛んでくる。
「あれは……」
不思議そうなエイドの声を聞きながら、オレの口元には笑みが浮かんでいた。どうやったのかは知らないけど、きっと裏社会の女王様の人脈の力だろう。
「ナイスタイミング、アカゴさん!」
このまま嬉しさに浸っていたかったけど、カラス頭の様子を見る限り、ガッツポーズをしている暇はないらしかった。赤い火花で生まれた隙が徐々に消えていく。このままだと、多分オレたちはおしまいだ。
「なぁ、エイド」
イチかバチか。チャンスはもう、今しかない。なのにオレの声は、自分でも不思議なくらい弾んでいた。
「やってみようぜ、必殺技ってヤツ!」
「……ああ、もちろん!」
怪人が突っ込んでくる。黒い嵐になって、こっちに向かってくる。まだ足元はふらついてるけど、それでも威力がヤバそうなことに変わりはない。風の隙間から、艶々と光る羽根が見えた。
タイミングを見極めろ。目が覚めるくらいの衝撃を与えて、絶対に一度で倒しきる!
「「絶対究極救命!」」
今だ、とがむしゃらに叫んだ声が、エイドの熱い声と重なる。ぐっと盾を引くと、そこに光のエネルギーが集まった。剣を一度大きく回して、オレたちは声高らかに、必殺技の名前を叫んだ。
「「ファイナル・エイドバンド・スラッシャー!!」
盾がまとった虹色の光と、白く輝く剣を同時に、カラスの嵐に向かってぶっぱなす!
「グワァアーッ!」
その叫び声を最後に、カラス頭は倒れ込んだ。巨体が地面に叩きつけられた衝撃に、空のビルがぐわっと揺れる。
次の瞬間。爆発音と共に、アウターオーサカの空に、七色の大きな花火が打ち上がった。
ミーム広告は一度じじ、と大きく揺れ、ネオンサインはその光にかき消される。アウターオーサカを行き交う群衆は一度足を止めて、その花の美しさを、非日常の光景を、心の中にしっかりと焼きつけた。
「綺麗……」
誰かがそうこぼした声は、花火に驚く街の雑踏にかき消され、そして夜に消えていった。
「何だったんだあの爆発……というかこいつ、ちゃんと生きてるよな?」
恐る恐るのぞき込んだコクピットの景色に、電子的なウィンドウが重なる。エイドが黄色い瞳で何かをスキャンした後、大丈夫、というように右手で丸を作った。
「エネルギーも抜けきってる。夜が明ける頃には元に戻るはずだよ。超究極絶対救命士の僕が言うんだから、大丈夫!」
「そっか。はー、よかった……」
信じたかったし、いつの間にか戦闘までやっちまったから信じざるを得ないよなっていうのもあるけど。でも、エイドの言葉はすんなり信じられた。こいつが言うんだから、大丈夫なんだろう。
「うん……本当に、よかった」
しみじみと噛みしめるようなエイドの声を聞いて、今更みたいに疲れがやってきた。コクピットの座席に体を預けたまま、オレは力を抜いて目をつむる。暗闇に浮かぶのは、エイドと出会ってからの光景。エイドが落ちてきて、カラス頭と出会って、アカゴさんのところに墜落して。それからエイドを追って、通路を登って、コクピットに飛び込んで。何だか落ちてばっかだな、オレたちは。
でも、それくらいがオレたちにとってはちょうどいいのかもしれない。
ここは天地が逆さまのへんてこな街だから、正義も悪も他の世界とは真逆なんだよ。だからきっと、上るんじゃなくて落ちてきたんだ。悪はデカい顔をしてはびこっているのに、正義はどこにも見当たらなくて。へんてこな街が呼ぶのもへんてこなヤツらばっかりだ。ヒーローに憧れた泥人形に、昔気質の花火職人とその息子。ミステリアスな裏社会の八本足の女王様に、カラス頭とその上司。
だからきっと、オレでもヒーローになれたんじゃないのかな。正義も悪も天地と同じで他とは真逆の、へんてこな街。どいつもこいつも自分の事情ばっかにかまけてて、他人のことなんかお構いなしで。それくらい、一生懸命に息をしている。
カラス頭に言われたことを思い出す。見てるか、カラス野郎。どうでもいい人間なんて、きっとどこにもいねぇんだよ。オレにだって、きっと誰かを守れたんだから。
全身の力が抜けて、じわじわと眠気に浸されていく。オレの一生で一番長い運命の夜は、こうして幕を閉じた。
「しゃ、借金!?」
「そうです、借金なのです」
運命の夜から数日後、あの日オレとエイドが落ちてきた地下室で。アカゴさんは、淡々とオレにそう告げた。赤い瞳は無感情なようで、何だかちょっと楽しそうにも見える。オレの被害妄想かもしれないけど。
「戦闘によって破壊した家屋、商社、その他の被害……しめて一千万アウターオーサカ圓イェンになるのです。アカゴの使っているネットワークを辿られたらしく、電子督促状が今朝届いていたのです」
アカゴさんの背後のパソコンが点滅して、カラフルに数字を並べていく。0が画面の大半を覆いつくしたあたりで頭痛がしてきて、慌てて画面から目を離す。これ以上見てたら倒れそうだ。
「そんな大金払える訳……あいつらに請求してくださいよ!」
一千万、と聞いて一気に血の気が引いた。一生かかったって払える気がしない。培養肉まん何個買えるんだ、と計算してみようとするも、あまりの途方もなさにオレは途中で諦めた。
「Yakushiに裁判でも起こす気ですか?向こうも事態の火消しに奔走してますから、上手くいけば半分は払ってくれるかもしれないですね。お前たちの身の安全と人権までは保障できませんし、アウターオーサカで弁護士なんてやってる奇特なアホが見つかればの話ですけれど」
「そんなぁ……」
「どうして落ち込んでいるんだい?僕らは街を守れたんだよ」
がっくりと肩を落とすオレを、元のサイズに戻ったエイドがひょっこりのぞき込んでくる。しかもめちゃくちゃ嬉しそうに。ヒーローに憧れてたこいつにとっては、確かに名誉かもしれない。
「そうだけどさぁ!」
こいつの元いた世界では、街を守れただけでよかったのかもしれない。でもここでは、名誉で飯は食えないんだよなぁ!
「そういえば……彼らの目的は、いったい何だったんだろうね」
落ち込むオレをよそに、エイドは呑気に首を傾げている。
「エイドってやろうと思えばビルとか壊せちまいそうだし、それで欲しかったんじゃね?」
「そんなことする訳ないだろ、僕は正義のヒーローなのだから!」
「それは分かってるって!」
「はぁ……スワンプマンは、とある哲学者の考えた泥人形なのです。沼のそばで死んだ男と入れ替わるようにして現れた、男と原子レベルで同一の構造をした人形。お前がそれと同一の存在だった場合、何にでも変化できる無限の可能性を手に入れたも同然なのですから。それこそ、兵器どころか神様にだって成り代われるかもしれませんね?」
アカゴさんの説明に、オレはまじまじとエイドを見つめる。今オレの目の前にいるエイドは、やっぱりエイドにしか見えなかった。暑苦しいくらいアツくて、弱さも強さもどっちも持ってる、素直で頑固な正義のヒーロー。
もしこいつが正義のヒーローに憧れてなかったら、どうなってたんだろう。オレも、この街も。
「今はエイドっていう存在になったから、もう他のものにはなれないんだけどね」
「あ、そうだったわ」
「……漫才もいいですが、何か大切なことを忘れていませんか?」
ほっとしたところにアカゴさんの声が飛んできて、オレはそうだった、と息を呑む。ヤタガラスのことより、今はこの途方もない借金をどうやって返すかが先決だった。何てったってこっちは死活問題だ。何とかしないと、リアルにオレの首が飛ぶ。
「返済のあてなら、ないこともないのです」
「マジっすか!」
アカゴさんが呟いた言葉に、オレはがばっと食いつく。彼女はどう見ても悪い笑みを浮かべて、オレの肩を小さな手でがしっと掴んだ。思ったより力が強い、というか痛い。これ、もしかして罠ってヤツか?
「アカゴは見ての通りか弱い乙女ですから、蜘蛛の巣に引きこもって姉妹たちと情報交換するしかないのです。肉体労働は専門外なのです……そこで、アルバイトを雇いたいと思っているのですけどね?」
話が見えてくるようで見えてこない。エイドも首を傾げている。オレに分かるのは、怖い笑顔のアカゴさんの腕の力がますます強くなったということ。それと、か弱い、に対して何か余計なことを言ったら、間違いなくオレの肩がちぎれるということも。
「これから堕ちてくるかもしれないお父様を探すついでに、アウターオーサカの各地でアカゴのお使いや、アカゴのお友達のお手伝いをする簡単なお仕事なのです。デクノボーには無理な仕事かと思っていましたが、あなたたち、それなりに動けるみたいなので」
「……ぶっちゃけ、報酬はいくらっすか」
声のトーンを落として、オレはこっそりと聞いてみる。アカゴさんは途端に打って変わって、天使のような美しい笑みを浮かべた。
「そうですね……お友達は、成功したら百万アウターオーサカ圓イェンは出してくれるらしいのです。アカゴもまぁ、成功報酬としてそれくらいなら用立てられないこともないのです」
アカゴさんの後ろに後光が見える。間違いない。彼女は天使、もしくは地上に舞い降りた救いの女神だ。
「乗った!やります、っつーかオレらにやらせてください、その話!」
がむしゃらにオレは頷いた。エイドと一緒にアカゴさんの役に立てる。何より、こんなにうまい話は生きてて二度も巡り会えるもんじゃない。
「困っている人を助ける素敵なお仕事ってことだね。いいよ、僕も手伝おうじゃないか!」
エイドもやる気でガッツポーズ。オレは有頂天になって、わっと声を張り上げた。
「よっしゃ、やってやろうぜエイド!」
「そうだね、バンド!ヒーローとして、街の人達のお悩み解決といこうじゃないか!」
「ふふふ、甘い話には必ず裏があることを知らないなんて……動けるバカで助かったのです。鉄砲玉、無事ゲットなのです」
オレは、いやオレたちは、この時はまだ知らなかった。
裏社会の女王なんて呼ばれてるアカゴさんのお友達も、だいたいがその筋のヤツらであることも。そういうヤツらの持ってくるお仕事なんて、ヤバくて危険でろくなもんじゃないことも。
「ヤタガラス製薬の従業員が?そうか……まぁいい。使い潰すための駒など、この街にいくらでもいるのだから」
エイドに言わせれば物語の悪役ヴィランよりよっぱどヴィランな、アウターオーサカにうごめく巨大な闇も。そして、エイドのパイロットとして、二人でその闇に立ち向かっていくことも。
アウターオーサカのネオンは今日もぎらぎらとうるさいくらいに光り続けて、オレとエイドの進む道を点滅するピンクで照らしていた。