@charset "utf-8";
/* Responsive glue only. Original desktop/mobile CSS is intentionally unchanged. */
/* Preserve desktop-optimised line-breaks and mobile-optimised line-breaks. */
.br-sp, .sp-space { display: none; }
@media (min-width: 768px) and (max-width: 1199px) {
  /* Original PC artwork assumes a 1200px-wide canvas. Scale rem units proportionally. */
  html { font-size: calc(100vw / 120); }
  body { min-width: 0; }
}
@media (max-width: 767px) {
  .br-sp, .sp-space { display: inline; }
  .br-pc { display: none; }
  /* Desktop-only flex helpers are absent in the original mobile HTML. */
  #main .special .inner .subInner .imgBox.flexBetween,
  #main .special .inner .subInner .subArea .linkBox.flexCenter { display: block; }
}
@media (min-width: 500px) and (max-width: 767px) {
  /* Prevent an oversized mobile layout on narrow tablets/landscape phones. */
  html { font-size: 13.333333px; }
  #container { max-width: 500px; margin-left: auto; margin-right: auto; }
}
