/* One desktop rail, shared by the home, company, contact, news and FAQ pages. */
@media (min-width: 801px) {
  .site-rail { position: fixed; inset: 0 auto 0 0; z-index: 35; width: 82px; height: 100svh; display: flex; flex-direction: column; align-items: center; gap: 0; padding: 16px 0; overflow-y: auto; background: #fafaf7; border: 0; border-right: 1px solid #18333f16; color: #193541; }
  .site-rail > .brand-link { display: block; width: 66px; margin: 0 auto 16px; padding: 0; }
  .site-rail > .brand-link .quuma-logo { width: 66px; height: 66px; }
  .site-rail > .brand-link::before,.site-rail > .brand-link::after { display: none; }
  .site-rail .site-rail-nav { width: 100%; display: flex; flex: 1; flex-direction: column; align-items: stretch; gap: 0; min-height: 0; margin: 0; padding: 0; }
  .site-rail .site-rail-nav a { position: relative; display: flex; flex: 1; align-items: center; justify-content: center; min-height: 75px; padding: 8px 0; color: #53666d; font: 400 13px/1.35 "Quuma Corporate","Hiragino Sans",sans-serif; letter-spacing: .1em; white-space: nowrap; writing-mode: vertical-rl; text-decoration: none; background: transparent; }
  .site-rail .site-rail-nav a::before { content: ""; position: absolute; inset: auto 0 auto auto; top: 50%; width: 2px; height: 22px; background: #369bbc; opacity: 0; transform: translateY(-50%); }
  .site-rail .site-rail-nav a:not(:last-child)::after { content: ""; position: absolute; top: auto; bottom: 0; left: 50%; width: 1px; height: 12px; background: linear-gradient(#718f9a00,#718f9a66,#718f9a00); }
  .site-rail .site-rail-nav a:last-child::after { display: none; }
  .site-rail .site-rail-nav a { font-family: "Quuma Corporate","Hiragino Sans",sans-serif !important; }
  .site-rail .site-rail-nav a:is(:hover,:focus-visible,[aria-current="page"]) { color: #193d4c; background: transparent; }
  .site-rail .site-rail-nav a:is(:hover,:focus-visible,[aria-current="page"])::before { opacity: 1; }
  .site-rail .site-rail-nav a:focus-visible { outline: 1px solid #369bbc; outline-offset: -6px; }
  .site-rail .rail-mark,.site-rail .company-rail-bottom { display: none; }
  .news-shell { margin-left: 82px; }
  .news-header > .brand-link { visibility: hidden; }
}
@media (max-height: 820px) and (min-width: 801px) {
  .site-rail { padding-block: 8px; }
  .site-rail > .brand-link { margin-bottom: 8px; }
  .site-rail > .brand-link .quuma-logo { width: 58px; height: 58px; margin: auto; }
  .site-rail .site-rail-nav a { min-height: 0; padding: 3px 0; font-size: 12px; letter-spacing: .02em; }
}
.site-contact-toggle { display: none; }
@media (max-width: 800px) {
  .contact-rail { height: 74px; }
  .site-contact-toggle { display: flex; align-items: center; gap: 20px; min-height: 44px; padding: 8px 15px; background: #fafaf7; color: #193541; border: 1px solid #a4b7bc77; border-radius: 10px; font: 12px "Hiragino Sans",sans-serif; position: relative; z-index: 42; cursor: pointer; }
  .site-contact-toggle i { display: block; width: 20px; height: 12px; border-block: 1px solid currentColor; }
  .contact-rail .rail-nav { display: none; }
  .contact-rail .rail-nav.is-open { position: fixed; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 8px; padding: 70px 30px 24px; background: #fafaf7; color: #193541; z-index: 41; }
  .contact-rail .rail-nav.is-open a { display: flex; align-items: center; min-height: 52px; padding: 10px 8px; font-size: 16px; writing-mode: horizontal-tb; white-space: nowrap; }
  .contact-rail .rail-nav a::before,.contact-rail .rail-nav a::after { display: none; }
  .contact-menu-open { overflow: hidden; }
}
