/* Orangray Rail base primitives. Load after tokens.css, before category CSS. */

@font-face {
  font-family: "Barlow";
  src: url("assets/fonts/Barlow-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Barlow";
  src: url("assets/fonts/Barlow-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

*, *::before, *::after {
  box-sizing: border-box;
}

html {
  background: var(--rt-color-paper);
  color: var(--rt-color-ink);
  font-family: var(--rt-font-sans);
  line-height: var(--rt-leading-body);
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--rt-color-line) 32%, transparent) 1px, transparent 1px) 0 0 / 128px 128px,
    linear-gradient(0deg, color-mix(in srgb, var(--rt-color-line) 32%, transparent) 1px, transparent 1px) 0 0 / 96px 96px,
    var(--rt-color-paper);
  color: var(--rt-color-ink);
  font-size: var(--rt-text-body);
}

img, svg {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

button, input, textarea, select {
  font: inherit;
}

:focus-visible {
  outline: 3px solid var(--rt-color-focus);
  outline-offset: 3px;
}

::selection {
  background: var(--rt-color-gate-yellow);
  color: var(--rt-v3-ink);
}

.rt-container {
  width: min(100% - 2.5rem, var(--rt-container));
  margin-inline: auto;
}

.rt-measure {
  max-width: var(--rt-measure);
}

.rt-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.rt-kicker {
  display: flex;
  align-items: center;
  gap: var(--rt-space-3);
  margin: 0 0 var(--rt-space-4);
  color: var(--rt-color-muted);
  font-family: var(--rt-font-data);
  font-size: var(--rt-text-small);
  font-weight: 600;
  letter-spacing: 0.08em;
}

.rt-kicker::before {
  width: 2.5rem;
  height: 0.375rem;
  background: var(--rt-color-jr-green);
  content: "";
}

.rt-heading {
  margin: 0;
  font-size: var(--rt-text-section);
  font-weight: 700;
  letter-spacing: var(--rt-tracking-sign);
  line-height: var(--rt-leading-title);
}

.rt-lead {
  max-width: 42em;
  margin: var(--rt-space-4) 0 0;
  color: var(--rt-color-muted);
  font-size: var(--rt-text-lead);
}

.rt-code {
  font-family: var(--rt-font-code);
  font-size: 0.92em;
  font-variant-numeric: tabular-nums;
}

.rt-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  flex: none;
  background: currentColor;
  -webkit-mask-image: var(--rt-icon);
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-image: var(--rt-icon);
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  vertical-align: -0.12em;
}

.rt-icon--internal {
  --rt-icon: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22currentColor%22%3E%0A%20%20%3Ctitle%3E%E6%96%B9%E5%90%91%E7%AE%AD%E5%A4%B4%EF%BC%9A%E4%BE%9D%E6%8D%AE%20JR%20%E6%96%B0%E5%AE%BF%E7%AB%99%E5%AF%BC%E8%A7%86%E7%85%A7%E7%89%87%E5%8F%82%E8%80%83%E8%87%AA%E7%BB%98%EF%BC%8C%E9%9D%9E%E5%AE%98%E6%96%B9%E7%B4%A0%E6%9D%90%3C%2Ftitle%3E%0A%20%20%3Cdesc%3E%E5%8F%82%E8%80%83%20GK%20%E6%96%B0%E5%AE%BF%E7%AB%99%E6%A1%88%E4%BE%8B%E7%9A%84%E7%9B%B4%E6%9D%86%E4%B8%8E%E6%8A%98%E8%A7%92%E7%AE%AD%E5%A4%B4%E7%BB%93%E6%9E%84%E3%80%82https%3A%2F%2Fwww.gk-design.co.jp%2Fsekkei%2Fjr-east-sign.html%3C%2Fdesc%3E%0A%20%20%3Cpath%20d%3D%22M10.3%2022V9.2L4.6%2014.9%202.2%2012.5%2012%202.7%2021.8%2012.5%2019.4%2014.9%2013.7%209.2V22Z%22%2F%3E%0A%3C%2Fsvg%3E%0A");
}

.rt-icon--external {
  --rt-icon: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22currentColor%22%3E%0A%20%20%3Ctitle%3E%E7%BB%A7%E7%BB%AD%E5%89%8D%E5%BE%80%EF%BC%9A%E4%BE%9D%E6%8D%AE%20CRT%20%E7%AB%99%E5%A4%96%E5%AF%BC%E5%90%91%E5%8F%8C%E6%8A%98%E8%A7%92%E5%8F%82%E8%80%83%E8%87%AA%E7%BB%98%EF%BC%8C%E9%9D%9E%E5%AE%98%E6%96%B9%E7%B4%A0%E6%9D%90%3C%2Ftitle%3E%0A%20%20%3Cdesc%3E%E5%8F%82%E8%80%83%20DBJ50%2FT-274-2024%20%E5%9B%BE%204.1.2-1%E3%80%82%E6%9C%AC%E7%AB%99%E7%94%A8%E4%BD%9C%E6%9C%89%E6%96%87%E5%AD%97%E7%9A%84%E8%B7%A8%E5%85%A5%E5%8F%A3%E5%8E%BB%E5%90%91%EF%BC%8C%E4%B8%8D%E6%98%AF%20CRT%20%E7%BD%91%E9%A1%B5%E5%A4%96%E9%93%BE%E8%A7%84%E8%8C%83%E3%80%82https%3A%2F%2Fweb.archive.org%2Fweb%2F20250531122858id_%2Fhttp%3A%2F%2Fwww.jsfzzx.com%2Fx%2Fx_upfile%2F202503%2F2025031002531248268.pdf%3C%2Fdesc%3E%0A%20%20%3Cpath%20d%3D%22M2%203H7L14%2012%207%2021H2L9%2012ZM11%203H16L23%2012%2016%2021H11L18%2012Z%22%2F%3E%0A%3C%2Fsvg%3E%0A");
}

.rt-icon--book {
  --rt-icon: url("data:image/svg+xml;charset=utf-8,%EF%BB%BF%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C%21DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20baseProfile%3D%22full%22%20width%3D%2276%22%20height%3D%2276%22%20viewBox%3D%220%200%2076.00%2076.00%22%20enable-background%3D%22new%200%200%2076.00%2076.00%22%20xml%3Aspace%3D%22preserve%22%3E%0A%09%3Cpath%20fill%3D%22%23000000%22%20fill-opacity%3D%221%22%20stroke-width%3D%220.2%22%20stroke-linejoin%3D%22round%22%20d%3D%22M%2057%2C25L%2057%2C51L%2045.5%2C51C%2042.8572%2C51%2041%2C54%2041%2C54L%2035%2C54C%2035%2C54%2033.1428%2C51%2030.5%2C51L%2019%2C51L%2019%2C25L%2034.5%2C25C%2034.5%2C25%2035.9205%2C25.7102%2037.4765%2C27.3448C%2039.3408%2C25%2041.25%2C25%2041.25%2C25L%2057%2C25%20Z%20M%2035%2C29.652C%2034.3526%2C28.8549%2033.5338%2C28%2033%2C28L%2022%2C28L%2022%2C48L%2031%2C48C%2031%2C48%2033%2C47.75%2035%2C50.75L%2035%2C29.652%20Z%20M%2041%2C50.75C%2043%2C47.75%2045%2C48%2045%2C48L%2054%2C48L%2054%2C28L%2043%2C28C%2042.4662%2C28%2041.6474%2C28.8549%2041%2C29.652L%2041%2C50.75%20Z%20%22%2F%3E%0A%3C%2Fsvg%3E%0A");
}

.rt-icon--folder {
  --rt-icon: url("data:image/svg+xml;charset=utf-8,%EF%BB%BF%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C%21DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20baseProfile%3D%22full%22%20width%3D%2276%22%20height%3D%2276%22%20viewBox%3D%220%200%2076.00%2076.00%22%20enable-background%3D%22new%200%200%2076.00%2076.00%22%20xml%3Aspace%3D%22preserve%22%3E%0A%09%3Cpath%20fill%3D%22%23000000%22%20fill-opacity%3D%221%22%20stroke-width%3D%220.2%22%20stroke-linejoin%3D%22round%22%20d%3D%22M%2021%2C30.0001L%2055.9999%2C30.0001L%2055.9999%2C50L%2021%2C50L%2021%2C30.0001%20Z%20M%2052%2C28L%2037%2C28C%2038%2C25%2039.4999%2C24.0001%2039.4999%2C24.0001L%2050.75%2C24C%2051.3023%2C24%2052%2C24.6977%2052%2C25.25L%2052%2C28%20Z%20%22%2F%3E%0A%3C%2Fsvg%3E%0A");
}

.rt-icon--graph {
  --rt-icon: url("data:image/svg+xml;charset=utf-8,%EF%BB%BF%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C%21DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20baseProfile%3D%22full%22%20width%3D%2276%22%20height%3D%2276%22%20viewBox%3D%220%200%2076.00%2076.00%22%20enable-background%3D%22new%200%200%2076.00%2076.00%22%20xml%3Aspace%3D%22preserve%22%3E%0A%09%3Cpath%20fill%3D%22%23000000%22%20fill-opacity%3D%221%22%20stroke-width%3D%220.2%22%20stroke-linejoin%3D%22round%22%20d%3D%22M%2022%2C52L%2022%2C35L%2030%2C35L%2030%2C52L%2022%2C52%20Z%20M%2032%2C52L%2032%2C22L%2039%2C22L%2039%2C52L%2032%2C52%20Z%20M%2041%2C52L%2041%2C41L%2049%2C41L%2049%2C52L%2041%2C52%20Z%20M%2051%2C52L%2051%2C29L%2059%2C29L%2059%2C52L%2051%2C52%20Z%20M%2017%2C19L%2020%2C19L%2020%2C54L%2059%2C54L%2059%2C57L%2017%2C57L%2017%2C19%20Z%20%22%2F%3E%0A%3C%2Fsvg%3E%0A");
}

.rt-icon--code {
  --rt-icon: url("data:image/svg+xml;charset=utf-8,%EF%BB%BF%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C%21DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20baseProfile%3D%22full%22%20width%3D%2276%22%20height%3D%2276%22%20viewBox%3D%220%200%2076.00%2076.00%22%20enable-background%3D%22new%200%200%2076.00%2076.00%22%20xml%3Aspace%3D%22preserve%22%3E%0A%09%3Cpath%20fill%3D%22%23000000%22%20fill-opacity%3D%221%22%20stroke-width%3D%220.2%22%20stroke-linejoin%3D%22round%22%20d%3D%22M%2030%2C51L%2019%2C40L%2019%2C37L%2030%2C26L%2030%2C31L%2023%2C38L%2030%2C45L%2030%2C51%20Z%20M%2042.9999%2C21.0001L%2037%2C55L%2033%2C55L%2039%2C21.0001L%2042.9999%2C21.0001%20Z%20M%2046%2C51L%2046%2C45L%2053%2C38L%2046%2C31L%2046%2C26L%2057%2C37L%2057%2C40L%2046%2C51%20Z%20%22%2F%3E%0A%3C%2Fsvg%3E%0A");
}

.rt-icon--calendar {
  --rt-icon: url("data:image/svg+xml;charset=utf-8,%EF%BB%BF%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C%21DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20baseProfile%3D%22full%22%20width%3D%2276.0106%22%20height%3D%2276.0106%22%20viewBox%3D%220%200%2076.01%2076.01%22%20enable-background%3D%22new%200%200%2076.01%2076.01%22%20xml%3Aspace%3D%22preserve%22%3E%0A%09%3Cpath%20fill%3D%22%23000000%22%20fill-opacity%3D%221%22%20stroke-width%3D%220.2%22%20stroke-linejoin%3D%22round%22%20d%3D%22M%2018.0025%2C57.0081L%2018.0025%2C23.0032L%2023.0032%2C23.0032L%2023.0032%2C20.0028C%2023.0033%2C18.898%2023.8988%2C18.0025%2025.0035%2C18.0025L%2029.004%2C18.0025C%2030.1087%2C18.0025%2031.0042%2C18.898%2031.0043%2C20.0026L%2031.0043%2C23.0032L%2045.0063%2C23.0032L%2045.0062%2C20.0026C%2045.0062%2C18.8978%2045.9018%2C18.0023%2047.0065%2C18.0023L%2051.0071%2C18.0023C%2052.1118%2C18.0023%2053.0074%2C18.8978%2053.0074%2C20.0026L%2053.0074%2C23.0032L%2058.0081%2C23.0032L%2058.0081%2C57.0081L%2018.0025%2C57.0081%20Z%20M%2021.0029%2C54.0077L%2055.0076%2C54.0077L%2055.0076%2C31.0044L%2021.0029%2C31.0044L%2021.0029%2C54.0077%20Z%20M%2023.0032%2C47.0066L%2029.004%2C47.0066L%2029.004%2C52.0073L%2023.0032%2C52.0073L%2023.0032%2C47.0066%20Z%20M%2031.0043%2C47.0066L%2037.0051%2C47.0066L%2037.0051%2C52.0073L%2031.0043%2C52.0073L%2031.0043%2C47.0066%20Z%20M%2039.0054%2C47.0066L%2045.0063%2C47.0066L%2045.0063%2C52.0073L%2039.0054%2C52.0073L%2039.0054%2C47.0066%20Z%20M%2047.0065%2C47.0066L%2053.0074%2C47.0066L%2053.0074%2C52.0073L%2047.0065%2C52.0073L%2047.0065%2C47.0066%20Z%20M%2023.0032%2C40.0056L%2029.004%2C40.0056L%2029.004%2C45.0063L%2023.0032%2C45.0063L%2023.0032%2C40.0056%20Z%20M%2031.0043%2C40.0056L%2037.0051%2C40.0056L%2037.0051%2C45.0063L%2031.0043%2C45.0063L%2031.0043%2C40.0056%20Z%20M%2039.0054%2C40.0056L%2045.0063%2C40.0056L%2045.0063%2C45.0063L%2039.0054%2C45.0063L%2039.0054%2C40.0056%20Z%20M%2047.0065%2C40.0056L%2053.0074%2C40.0056L%2053.0074%2C45.0063L%2047.0065%2C45.0063L%2047.0065%2C40.0056%20Z%20M%2031.0043%2C33.0048L%2037.0051%2C33.0048L%2037.0051%2C38.0055L%2031.0043%2C38.0055L%2031.0043%2C33.0048%20Z%20M%2039.0054%2C33.0048L%2045.0063%2C33.0048L%2045.0063%2C38.0055L%2039.0054%2C38.0055L%2039.0054%2C33.0048%20Z%20M%2047.0065%2C33.0048L%2053.0074%2C33.0048L%2053.0074%2C38.0055L%2047.0065%2C38.0055L%2047.0065%2C33.0048%20Z%20M%2048.5067%2C20.0028C%2047.6782%2C20.0028%2047.0065%2C20.6745%2047.0065%2C21.5031L%2047.0065%2C24.5035C%2047.0065%2C25.332%2047.6782%2C26.0037%2048.5067%2C26.0037L%2049.5069%2C26.0037C%2050.3354%2C26.0037%2051.0071%2C25.332%2051.0071%2C24.5035L%2051.0071%2C21.5031C%2051.0071%2C20.6745%2050.3354%2C20.0028%2049.5069%2C20.0028L%2048.5067%2C20.0028%20Z%20M%2026.5037%2C20.0028C%2025.6751%2C20.0028%2025.0035%2C20.6745%2025.0035%2C21.503L%2025.0035%2C24.5034C%2025.0035%2C25.332%2025.6751%2C26.0037%2026.5037%2C26.0037L%2027.5038%2C26.0037C%2028.3324%2C26.0037%2029.004%2C25.332%2029.004%2C24.5034L%2029.004%2C21.503C%2029.004%2C20.6745%2028.3324%2C20.0028%2027.5038%2C20.0028L%2026.5037%2C20.0028%20Z%20%22%2F%3E%0A%3C%2Fsvg%3E%0A");
}

.rt-icon--mail {
  --rt-icon: url("data:image/svg+xml;charset=utf-8,%EF%BB%BF%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C%21DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20baseProfile%3D%22full%22%20width%3D%2276%22%20height%3D%2276%22%20viewBox%3D%220%200%2076.00%2076.00%22%20enable-background%3D%22new%200%200%2076.00%2076.00%22%20xml%3Aspace%3D%22preserve%22%3E%0A%09%3Cpath%20fill%3D%22%23000000%22%20fill-opacity%3D%221%22%20stroke-width%3D%220.2%22%20stroke-linejoin%3D%22round%22%20d%3D%22M%2021.5%2C23L%2054.5%2C23C%2056.2489%2C23%2058%2C24.7511%2058%2C26.5L%2058%2C49.5C%2058%2C51.2489%2056.2489%2C53%2054.5%2C53L%2021.5%2C53C%2019.7511%2C53%2018%2C51.2489%2018%2C49.5L%2018%2C26.5C%2018%2C24.7511%2019.7511%2C23%2021.5%2C23%20Z%20M%2022%2C47C%2022%2C48.3117%2022.6883%2C49%2024%2C49L%2052%2C49C%2053.3117%2C49%2054%2C48.3117%2054%2C47L%2054%2C29L%2040.6563%2C42.6567C%2039.4197%2C43.8933%2037.4146%2C43.8933%2036.178%2C42.6567L%2022%2C29L%2022%2C47%20Z%20M%2025%2C27L%2036.7378%2C38.7381C%2037.6653%2C39.6656%2039.169%2C39.6656%2040.0965%2C38.7381L%2052%2C27L%2025%2C27%20Z%20%22%2F%3E%0A%3C%2Fsvg%3E%0A");
}

.rt-skip-link {
  position: fixed;
  top: var(--rt-space-3);
  left: var(--rt-space-3);
  z-index: 1000;
  padding: var(--rt-space-2) var(--rt-space-3);
  background: var(--rt-color-gate-yellow);
  color: var(--rt-v3-ink);
  font-weight: 700;
  transform: translateY(-160%);
}

.rt-skip-link:focus {
  transform: translateY(0);
}

@media (max-width: 720px) {
  body {
    background-size: 96px 96px, 72px 72px, auto;
  }

  .rt-container {
    width: min(100% - 2rem, var(--rt-container));
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *, *::before, *::after {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 1ms !important;
  }
}
