@charset "UTF-8";
html {
  color: #000;
  line-height: 1;
}
html * {
  font-weight: inherit;
  box-sizing: border-box;
}
body {
  touch-action: manipulation;
  position: relative;
}
a {
  outline: none;
  color: inherit;
  transition: 0.5s;
}
a * {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
a:focus,
*:focus {
  outline: none;
}
a:hover {
  opacity: .7;
}
img {
  width: 100%;
  height: auto;
}
img[src$=".svg"] {
  max-width: 100%;
}
.flex_box {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flex_box.flex_start {
  justify-content: flex-start;
}

/*content-size
-----------------------------------------------------------------------------*/
.wrap-l {
  width: 100%;
  max-width: calc(1745px + 8rem);
  padding: 0 4rem;
  margin: 0 auto;
}
.wrap {
  width: 100%;
  max-width: calc(1420px + 8rem);
  padding: 0 4rem;
  margin: 0 auto;
}
.wrap-s {
  width: 100%;
  max-width: calc(1040px + 8rem);
  padding: 0 4rem;
  margin: 0 auto;
}
.wrap-ss {
  width: 100%;
  max-width: calc(840px + 8rem);
  padding: 0 4rem;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .wrap-l {
    max-width: 100%;
    padding: 0 2.5rem;
  }
  .wrap {
    max-width: 100%;
    padding: 0 2.5rem;
  }
  .wrap-s {
    max-width: 100%;
    padding: 0 2.5rem;
  }
  .wrap-ss {
    max-width: 100%;
    padding: 0 2.5rem;
  }
}

/*PC共通
-----------------------------------------------------------------------------*/
@media screen and (min-width: 1921px) {
  html {
    font-size: 62.5%;
  }
  .sp {
    display: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 1920px) {
  html {
    font-size: 0.66667vw;
  }
  .sp {
    display: none !important;
  }
}
/*--------------------------endPC--------------------------------*/

/*SP共通
-----------------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
  html {
    font-size: 1.3020833333vw;
  }
  body {
    font-size: 2.4rem;
    overflow-x: hidden;
  }
  html, body {
    overscroll-behavior-x: none;
    touch-action: pan-y;
  }
  p {
    font-size: 2.4rem;
  }
  .pc {
    display: none !important;
  }
}
/*--------------------------endSP--------------------------------*/
