@import url("https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css");
@import url("https://fonts.googleapis.com/css?family=Zen+Maru+Gothic:500|Noto+Sans+JP:900,500,700,600");
* {
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;
}
html,
body {
  margin: 0px;
  height: 100%;
}
/* a blue color as a generic focus style */
button:focus-visible {
  outline: 2px solid #4a90e2 !important;
  outline: -webkit-focus-ring-color auto 5px !important;
}
a {
  text-decoration: none;
  color: #000000;
  text-decoration: none;
}
@font-face {
  font-family: "KozGoPr6N-Regular-90ms-RKSJ-H";
  src: url("https://anima-uploads.s3.amazonaws.com/projects/607fb64c636b54e6f9b3422e/fonts/kozgopr6n-regular.otf")
    format("opentype");
}

/* ページ先頭へ戻るボタン */
.to-top{
  position: fixed;
  right: max(16px, env(safe-area-inset-right, 0px));
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  width: 48px; height: 48px;
  display: inline-flex; align-items: center; justify-content: center;
  border: none; border-radius: 999px;
  background: #01B5B4; color: #fff;
  box-shadow: 0 6px 18px rgba(1,181,180,.30);
  cursor: pointer;
  opacity: 0; transform: translateY(10px);
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
  z-index: 2147483647; /* ほぼ最上位に。被り対策 */
  isolation: isolate;  /* まれな合成順序の乱れ対策 */
}
.to-top.is-show{ opacity: 1; transform: translateY(0); pointer-events: auto; }
.to-top:hover{ filter: brightness(1.05); }
.to-top:active{ transform: translateY(2px) scale(.98); }
.to-top:focus-visible{ outline: 3px solid rgba(1,181,180,.45); outline-offset: 3px; }

@media (max-width: 640px){
  .to-top{ width: 52px; height: 52px; }
}

@media (prefers-reduced-motion: reduce){
  .to-top{ transition: none; }
  html{ scroll-behavior: auto; }
}
