/* bodyは既存の幅480px・transformによる固定要素の包含ブロック。
   その左右端から余白幅の半分へ配置する。本文の指定は変更しない。 */
.desktop-rail { display:none; }
@media (min-width:960px) {
  /* 中央bodyの外に置く固定UIをクリップしない。画面のoverflowはhtmlが管理。 */
  body { overflow:visible; }
  .desktop-rail { position:fixed; top:50%; z-index:90; display:flex; align-items:center; justify-content:center; transform:translate(-50%,-50%); }
  .desktop-rail-left { left:calc((480px - 100vw) / 4); }
  .desktop-wordmark { display:block; width:189.8px; font-size:23.4px; text-align:center; }
  .desktop-rail-right { left:calc(480px + (100vw - 480px) / 4); flex-direction:column; gap:14px; }
  .desktop-rail-right > .header-cta { width:208px; min-height:72px; font-size:17px; padding:12px 20px; }
}

.desktop-wordmark img { display:block; width:100%; height:auto; }
