自社の CSS Custom Properties 89 個のうち 40 個以上が色。接頭辞は --primary- --txt-color-- --label-color-- --decoration-color-- --border-color-- --bg-color-- と役割別に揃い、ライブラリ由来ではなく自社設計のトークン(プラットフォーム由来は Swiper の 1 個だけ)。
トップページの pageBackground.resolved は #ececec だが、これは運行情報帯の面色。下層ページは #ffffff。地色は白、#ececec はセクション帯と読む。
変数名で意味が確定している。路線名と色を自前で決め直さず、必ずこの 6 個を使う。
:root { font-size: 0.625rem } でルートが 10px。rem はすべて「px の 1/10」になる(1.4rem = 14px / .4rem = 4px / 0 .3rem .9rem = 0 3px 9px)。letter-spacing は可視 258 要素が normalで、CSS 全文の宣言は 5 回すべて 0%。
ウェイトは 400 / 500 / 700 の 3 段だけ。Google Fonts の要求は wght@400;500;700 で、実測の分布も 400(154)/ 700(71)/ 500(35)。600 や 300 を当てると合成になる。
font-feature-settings: "pkna" を :root に 1 回だけ書いて可視 1765 要素へ継承させている。palt ではない。pkna はかな(ひらがな・カタカナ)だけをプロポーショナル字形にし、約物・漢字・欧文の幅は動かさない。palt より詰まり方が穏やかで、読み違いが許されない案内文に向く。
行間は 1.5 の一本。--line-height--root: 1.5 を body { line-height: inherit } で受け、可視 255 要素が 1.5。見出しで詰めない。見出しの締まりは font-size と余白で作る。
フォールバックは sans-serif だけ。実サイトは "Noto Sans JP", sans-serif しか書いておらず、OS 書体への保険が無い。新規実装では "Noto Sans JP", "Hiragino Sans", "Yu Gothic Medium", sans-serif のように挟むとよい(実サイトはそうしていない)。
CTA は #e94e00 の面に border-radius: .4rem(4px)と 0 .3rem .9rem rgba(0,0,0,.2)。カードは #f9f9f9 の面に 0 .3rem .6rem rgba(0,0,0,.16)。角丸も影もすべて rem で宣言されているので、10px 基準で読むこと。
コンテナは --contents-width: 1080px(可視 26 要素/下層 31 要素)。影は黒のアルファのみで、濃いものほどぼかしが小さい(ヘッダー 2px / カード 6px / CTA 9px)。
左右パディングは --padding-contents-wrapper--lr: 1.8rem(18px)、上 3rem(30px)/下 6rem(60px)。実測で多い gap は 6px(32 件)。
ブレークポイントは min-width: 769px が主軸(CSS 内 7 回で最多)。569 / 1025 / 1281 / 1600px が続く。@media print, screen and (min-width: 769px) の形が多く、印刷にもデスクトップレイアウトを当てている。@media (prefers-reduced-motion: reduce) も実装済み。html は 4 幅すべてで 10px 固定で、本文のタイポグラフィはブレークポイントをまたいで同一。
z-index は 17 段すべてが変数。--z-popup: 6 / --z-site-header: 14 / --z-modal: 16 のように名前で管理されている。新しい重なりを足すときは生の数値を書かず、変数を追加すること。