/* 色・書体・光・彫刻は保持。表紙と本文の余白を整える。 */
@media (max-width: 820px) {
  .cover-composition { min-height: 0; padding: 12px 0 0; }
  .cover h1 { text-shadow: none; }
  .cover-endorsement { display: grid; grid-template-columns: minmax(0, 1fr) min(48%, 10rem); align-items: center; gap: 16px; margin-top: 22px; }
  .signature-copy { position: relative; z-index: 2; }
  .cover .hairline { margin-bottom: 16px; }
  .cover .tax-title { display: block; margin: 0 0 4px; line-height: 1.7; }
  .cover .sub { line-height: 2.1; }
  .mobile-art-slot { position: relative; inset: auto; width: 100%; min-width: 0; aspect-ratio: 1; }
  .mobile-art-slot canvas { -webkit-mask-image: none; mask-image: none; }
  .cover-nav { margin-top: 24px; }
}
@media (min-width: 821px) {
  .cover { max-width: 1040px; gap: 44px; }
  .vertical { gap: 14px; }
  .badge-study { width: 196px; height: 196px; }
}
@media (min-width: 1181px) {
  .vertical { right: max(56px, calc((100% - 1040px) / 2 + 56px)); }
  /* 本文・横罫・奥付を縦線の32px手前に収め、左端の位置を保つ。 */
  main > section.wrap, footer .wrap { padding-right: 90px; }
}
@media (min-width: 1181px) and (max-height: 799px) {
  .vertical { right: 56px; }
}
