:root {
  --designW: 1280;
  --scrollbarW: 0;
}

::-moz-placeholder {
  opacity: 1;
}

::placeholder {
  opacity: 1;
}

label {
  cursor: pointer;
}

img,
iframe,
video {
  vertical-align: top;
}

dt {
  font-weight: inherit;
}

small {
  font-size: inherit;
}

html,
body {
  height: 100%;
}

html {
  font-size: 62.5%;
}
html.is_locked {
  position: fixed;
  width: 100%;
}

body {
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.6;
  overflow-wrap: anywhere;
  -moz-osx-font-smoothing: unset;
  -webkit-font-smoothing: subpixel-antialiased;
  -webkit-text-size-adjust: 100%;
  backface-visibility: hidden;
  -webkit-print-color-adjust: exact;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  body {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
  }
}
@media not all and (max-width: 767px), print {
  body {
    font-size: calc(16 / (var(--designW) + var(--scrollbarW)) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  body {
    font-size: 1.6rem;
  }
}

:lang(en) {
  font-family: "PT Serif", serif;
}

img {
  max-width: 100%;
  height: auto;
}