/* Compact return-to-top control shared by the three top pages. */
.site-page-top {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 45;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 64px;
  min-height: 40px;
  padding: 7px 10px;
  border: 1px solid #c7d6dc;
  border-radius: 2px;
  background: #fff;
  color: #125b76;
  font: 700 12px/1.3 'Yu Gothic', 'Noto Sans JP', sans-serif;
  writing-mode: horizontal-tb;
  text-decoration: none;
  box-shadow: 0 2px 10px #092b3926;
}
.site-page-top[hidden] { display: none !important; }
.site-page-top:hover { background: #eef6f9; color: #125b76; }
.site-page-top:focus-visible { outline: 3px solid #238aaf; outline-offset: 3px; }
.site-page-top span:first-child { font: 700 16px/1 Arial, sans-serif; }

@media (max-width: 768px) {
  .site-page-top { right: 12px; bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }
}
