*, *::before, *::after {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}
@media screen and (min-width: 768px) and (max-width: 1120px) {
  html {
    font-size: calc(100vw / 112);
  }
}

body {
  color: #444;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 2;
  font-size: 1.6rem;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

a {
  color: #444;
  text-decoration: none;
}
a:hover {
  cursor: pointer;
}

p {
  margin: 0 0 1.5em;
  line-height: 2;
}
p:last-child {
  margin-bottom: 0;
}

img {
  max-width: 100%;
  vertical-align: top;
}

/* PC
----------------------------------------------------------- */
@media (min-width: 767px) {
  a {
    cursor: pointer;
    transition: 0.3s all;
  }

  .sp-view {
    display: none !important;
  }
}
/* SP
----------------------------------------------------------- */
@media (max-width: 767px) {
  .pc-view {
    display: none !important;
  }
}