@charset "utf-8";
/* Homepage placement only. Existing background and caption fades retain control
   of opacity/display. Desktop placement is followed by mobile caption rules. */
@media (min-width:1101px) {
  body.sj-home-position div#layout-header,
  body.sj-home-position div#layout-container {
    min-width:0;
  }

  body.sj-home-position div#header,
  body.sj-home-position div#container {
    width:calc(100% - 48px);
    max-width:1506px;
    min-width:0;
    margin-left:auto;
    margin-right:auto;
  }

  /* The header remains 385px high and the container retains its -385px
     top margin from the original stylesheet, keeping the artwork at the top. */
  body.sj-home-position div#main-visual {
    width:100%;
    min-width:0;
    height:calc(100vh - 67px);
    min-height:440px;
    max-height:none;
  }

  body.sj-home-position div#main-visual ul.slides {
    height:100%;
  }

  /* 5.71% is approximately 86px on the 1506px desktop frame. */
  body.sj-home-position div#main-visual ul.slides li p.txt {
    right:5.71%;
    bottom:0;
  }
}

/* Mobile/folded-screen update r2. Anchor captions to the visible page viewport,
   independently of the legacy 700/860px slideshow height. */
@media (max-width:1100px) {
  body.sj-home-position {
    min-width:0;
    -webkit-text-size-adjust:100%;
  }

  body.sj-home-position div#layout-header,
  body.sj-home-position div#header,
  body.sj-home-position div#layout-container,
  body.sj-home-position div#container,
  body.sj-home-position div#main-visual,
  body.sj-home-position div#layout-footer,
  body.sj-home-position div#footer,
  body.sj-home-position div#footer-warp {
    width:100%;
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
  }

  body.sj-home-position div#header,
  body.sj-home-position div#container {
    margin-left:auto;
    margin-right:auto;
  }

  body.sj-home-position div#main-visual {
    height:100vh;
    height:100dvh;
    min-height:385px;
    max-height:none;
  }

  body.sj-home-position div#main-visual ul.slides {
    height:100%;
  }

  body.sj-home-position div#main-visual ul.slides li p.txt {
    position:fixed;
    top:auto;
    left:12px;
    right:12px;
    bottom:52px;
    bottom:calc(52px + env(safe-area-inset-bottom, 0px));
    width:auto;
    min-width:0;
    max-width:none;
    height:auto;
    box-sizing:border-box;
    margin:0;
    padding:12px 16px;
    font-size:14px;
    line-height:1.5;
    text-align:center;
    overflow-wrap:break-word;
    z-index:10;
    pointer-events:none;
  }

  /* Copyright sits below the caption instead of remaining mid-page. */
  body.sj-home-position div#layout-footer {
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    min-height:42px;
    padding-bottom:0;
    padding-bottom:env(safe-area-inset-bottom, 0px);
    z-index:10;
    pointer-events:none;
  }

  body.sj-home-position div#footer,
  body.sj-home-position div#footer-warp {
    height:auto;
    min-height:0;
    margin:0;
    padding:0;
  }

  body.sj-home-position #footer p.copyright {
    float:none;
    margin:0;
    padding:10px 12px;
    font-size:11px;
    line-height:18px;
    text-align:center;
    overflow-wrap:break-word;
  }
}

/* Reserve the existing 205px menu width on short landscape screens. */
@media (max-width:1100px) and (max-height:480px) and (orientation:landscape) {
  body.sj-home-position div#main-visual ul.slides li p.txt {
    left:225px;
    text-align:left;
  }
}
