:root {
  --font-display: "Space Grotesk", "Zen Kaku Gothic New", sans-serif;
  --font-serif: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;
  --color-hair: oklch(40% 0.17 272 / 0.28);
}
body { font-weight: 500; letter-spacing: 0.03em; }
.page { line-height: 1.85; }
.logo__text, .rail-side__logo, .rail-logo__name { font-family: var(--font-serif); font-weight: 800; }
.rail-logo__name { letter-spacing: 0.12em; }
.rail-side__concept { font-family: var(--font-serif); font-weight: 700; font-size: 18px; }
.btn { border-width: 1px; font-weight: 500; letter-spacing: 0.12em; border-radius: 0; }
.btn--fill { clip-path: none; }

.page__label { font-weight: 500; letter-spacing: 0.34em; font-size: 0.78em; }
.page__no { font-weight: 400; font-size: 2.3em; }
.page:not(.page--hero)::before { --b: 1px; }

.hero__tag { background: none; color: inherit; border: 1px solid currentColor; font-weight: 500; letter-spacing: 0.34em; font-size: 0.82em; padding: 0.3em 1em; }
.hero__name { font-family: var(--font-serif); font-weight: 800; letter-spacing: 0.1em; }
.hero__name small { font-family: var(--font-body); font-weight: 500; }
.hero__job { border-left-width: 1px; font-weight: 500; letter-spacing: 0.16em; font-size: 1.05em; }
.swipe { font-weight: 500; }
.swipe__arrow { border-width: 1px; width: 14px; height: 14px; }

.intro__catch, .fit__catch { font-family: var(--font-serif); font-weight: 800; letter-spacing: 0.06em; }
.intro__like { transform: none; padding: 0 0.18em; }
.intro__eq, .intro__q { font-family: var(--font-serif); }
.intro__city { background: linear-gradient(transparent 90%, var(--color-accent) 90%); }
.intro__text { font-weight: 500; }
.intro__both mark { font-weight: 700; background: linear-gradient(transparent 62%, var(--color-accent) 62%); padding: 0; }
.intro__close, .work__close, .fit__hit { font-family: var(--font-serif); font-weight: 700; border-left-width: 2px; letter-spacing: 0.06em; }

.check { border-width: 1px; font-weight: 500; border-radius: 0; }
.check__box { border-width: 1px; background: none; width: 1.15em; height: 1.15em; }
.check__box::after { border-right-width: 0.16em; border-bottom-width: 0.16em; }
.fit__text, .work__text { font-weight: 500; }
.fit__voices { font-family: var(--font-serif); font-weight: 700; }

.work__lead { font-family: var(--font-serif); font-weight: 800; letter-spacing: 0.05em; }
.work__sub { background: none; clip-path: none; padding: 0 0 0.25em; font-family: var(--font-serif); font-weight: 700; border-bottom: 1px solid var(--color-brand); }
.flow li { border-width: 0 0 1px; border-radius: 0; background: none; font-weight: 700; padding-left: 0; }
.flow li::before { background: none; color: var(--color-brand); font-weight: 500; font-size: 1.05em; width: 2.2em; justify-items: start; letter-spacing: 0.08em; }
.flow li:not(:last-child)::after { display: none; }
