/* 縦書きと輪の追従を、幅1080px以上・高さ700px以上へ広げる。従来は1181px以上・800px以上。?off=follow で従来へ戻す。 */
@media (min-width: 1080px) and (max-width: 1180px) and (min-height: 700px) {
  html:not(.off-follow) .vertical { position: fixed; top: 59px; right: 56px; width: 132px; height: calc(100svh - 124px); transform: none; }
  html:not(.off-follow) .cover::after { content: ""; width: 132px; }
  /* 本文幅は1181px以上と同じ780px。右余白90pxで縦線の手前に収まる（1080pxで間隔52px）。 */
  html:not(.off-follow) .wrap { max-width: 780px; }
  html:not(.off-follow) main > section.wrap, html:not(.off-follow) footer .wrap { padding-right: 90px; }
  html:not(.off-follow) .badge-study { transition: opacity .55s cubic-bezier(.22, .61, .36, 1); }
  html:not(.off-follow) .badge-study.is-returning { transition-duration: .9s; }
}
/* 高さ700〜799pxでも固定する（従来は絶対配置で表紙に留まっていた）。 */
@media (min-width: 1181px) and (min-height: 700px) and (max-height: 799px) {
  html:not(.off-follow) .vertical { position: fixed; }
  html:not(.off-follow) .badge-study { transition: opacity .55s cubic-bezier(.22, .61, .36, 1); }
  html:not(.off-follow) .badge-study.is-returning { transition-duration: .9s; }
}
@media (prefers-reduced-motion: reduce) { .badge-study { transition: none; } }
