@charset "UTF-8";
:root {
  --font-serif: "Hiragino Mincho ProN","Hiragino Mincho Pro","Yu Mincho","YuMincho",serif;

  --col-wh: #fff;
  --col-blk: #000;
  --col-purple: #A83EFF;
  --col-yel: #DAFB32;
  --col-red: #DF0011;
  --col-blue: #4A78FF;

  --fs-12: min(0.83vw, 12px);
  --fs-14: min(0.97vw, 14px);
  --fs-16: min(1.11vw, 16px);
  --fs-18: min(1.25vw, 18px);
  --fs-20: min(1.39vw, 20px);
  --fs-22: min(1.53vw, 22px);
  --fs-24: min(1.67vw, 24px);
  --fs-25: min(1.74vw, 25px);
  --fs-26: min(1.81vw, 26px);
  --fs-27: min(1.88vw, 27px);
  --fs-28: min(1.94vw, 28px);
  --fs-28: min(1.94vw, 28px);
  --fs-29: min(2.01vw, 29px);
  --fs-30: min(2.08vw, 30px);
  --fs-34: min(2.36vw, 34px);
}
@media screen and (max-width: 768px) {
  :root {
    --pixel01: 0.26666666666666666vw;
    --pixel02: 0.5333333333333333vw;
    --pixel03: 0.8vw;
    --pixel04: 1.0666666666666667vw;
    --pixel05: 1.3333333333333335vw;
    --pixel06: 1.6vw;
    --pixel07: 1.866666666666667vw;
    --pixel08: 2.1333333333333333vw;
    --pixel09: 2.4vw;
    --pixel10: 2.666666666666667vw;
    --pixel11: 2.933333333333333vw;
    --pixel12: 3.2vw;
    --pixel13: 3.4666666666666663vw;
    --pixel14: 3.733333333333334vw;
    --pixel15: 4vw;
    --pixel16: 4.266666666666667vw;
    --pixel17: 4.533333333333333vw;
    --pixel18: 4.8vw;
    --pixel19: 5.066666666666666vw;
    --pixel20: 5.333333333333334vw;
    --pixel21: 5.6000000000000005vw;
    --pixel22: 5.866666666666666vw;
    --pixel23: 6.133333333333333vw;
    --pixel24: 6.4vw;
    --pixel25: 6.666666666666667vw;
    --pixel26: 6.933333333333333vw;
    --pixel27: 7.199999999999999vw;
    --pixel28: 7.466666666666668vw;
    --pixel29: 7.733333333333333vw;
    --pixel30: 8vw;
    --pixel31: 8.266666666666666vw;
    --pixel32: 8.533333333333333vw;
    --pixel33: 8.799999999999999vw;
    --pixel34: 9.066666666666666vw;
    --pixel35: 9.333333333333334vw;
    --pixel36: 9.6vw;
    --pixel37: 9.866666666666667vw;
    --pixel38: 10.133333333333333vw;
    --pixel39: 10.4vw;
    --pixel40: 10.666666666666668vw;
    --pixel41: 10.933333333333334vw;
    --pixel42: 11.200000000000001vw;
    --pixel43: 11.466666666666667vw;
    --pixel44: 11.733333333333333vw;
    --pixel45: 12vw;
    --pixel46: 12.266666666666666vw;
    --pixel47: 12.533333333333333vw;
    --pixel48: 12.8vw;
    --pixel49: 13.066666666666665vw;
    --pixel50: 13.333333333333334vw;
    --pixel51: 13.600000000000001vw;
    --pixel52: 13.866666666666665vw;
    --pixel53: 14.133333333333335vw;
    --pixel54: 14.399999999999999vw;
    --pixel55: 14.666666666666666vw;
    --pixel56: 14.933333333333335vw;
    --pixel57: 15.2vw;
    --pixel58: 15.466666666666667vw;
    --pixel59: 15.733333333333333vw;
    --pixel60: 16vw;
    --pixel61: 16.266666666666666vw;
    --pixel62: 16.53333333333333vw;
    --pixel63: 16.8vw;
    --pixel64: 17.066666666666666vw;
    --pixel65: 17.333333333333336vw;
    --pixel66: 17.599999999999998vw;
    --pixel67: 17.866666666666667vw;
    --pixel68: 18.133333333333333vw;
    --pixel69: 18.4vw;
    --pixel70: 18.666666666666668vw;
    --pixel71: 18.933333333333334vw;
    --pixel72: 19.2vw;
    --pixel73: 19.466666666666665vw;
    --pixel74: 19.733333333333334vw;
    --pixel75: 20vw;
    --pixel76: 20.266666666666666vw;
    --pixel77: 20.533333333333335vw;
    --pixel78: 20.8vw;
    --pixel79: 21.066666666666666vw;
    --pixel80: 21.333333333333336vw;
    --pixel81: 21.6vw;
    --pixel82: 21.866666666666667vw;
    --pixel83: 22.133333333333333vw;
    --pixel84: 22.400000000000002vw;
    --pixel85: 22.666666666666664vw;
    --pixel86: 22.933333333333334vw;
    --pixel87: 23.200000000000003vw;
    --pixel88: 23.466666666666665vw;
    --pixel89: 23.733333333333334vw;
    --pixel90: 24vw;
    --pixel91: 24.266666666666666vw;
    --pixel92: 24.53333333333333vw;
    --pixel93: 24.8vw;
    --pixel94: 25.066666666666666vw;
    --pixel95: 25.333333333333336vw;
    --pixel96: 25.6vw;
    --pixel97: 25.866666666666667vw;
    --pixel98: 26.13333333333333vw;
    --pixel99: 26.400000000000002vw;
    --pixel100: 26.666666666666668vw;

    --fs-10: min(2.56vw, 10px);
    --fs-11: min(2.82vw, 11px);
    --fs-12: min(3.08vw, 12px);
    --fs-13: min(3.33vw, 13px);
    --fs-14: min(3.59vw, 14px);
    --fs-15: min(3.85vw, 15px);
    --fs-16: min(4.1vw, 16px);
    --fs-17: min(4.36vw, 17px);
    --fs-18: min(4.62vw, 18px);
    --fs-19: min(4.87vw, 19px);
    --fs-20: min(5.13vw, 20px);
    --fs-21: min(5.38vw, 21px);
    --fs-22: min(5.64vw, 22px);
    --fs-23: min(5.9vw, 23px);
    --fs-24: min(6.15vw, 24px);
    --fs-25: min(6.41vw, 25px);
    --fs-26: min(6.67vw, 26px);
    --fs-27: min(6.92vw, 27px);
    --fs-28: min(7.18vw, 28px);
    --fs-29: min(7.44vw, 29px);
    --fs-30: min(7.69vw, 30px);
    --fs-31: min(7.95vw, 31px);
    --fs-32: min(8.21vw, 32px);
    --fs-33: min(8.46vw, 33px);
    --fs-34: min(8.72vw, 34px);
    --fs-37: min(9.49vw, 37px);
    --fs-38: min(9.74vw, 38px);
    --fs-40: min(10.26vw, 40px);
    --fs-42: min(10.76vw, 42px);
    --fs-48: min(12.31vw, 48px);
    --fs-59: min(15.13vw, 59px);
    --fs-65: min(16.67vw, 65px);
  }
}

ol,
ul {
  list-style: none;
}
main a {
  color: inherit;
  text-decoration: none;
}
main img,
main picture {
  display: block;
}
main i {
  font-style: normal;
}
main :is(dl, dt, dd) {
  margin: 0;
}
body {
  font-family: "Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","Yu Gothic","YuGothic","Meiryo",sans-serif;
  line-height: 1.5;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  position: relative;
  overflow: hidden;
}

html,
body,
div,
span,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
address,
img,
small,
ul {
  background: transparent;
  border: 0;
  margin: 0;
  padding: 0;
}
* {
  box-sizing: border-box;
}
img {
  height: auto;
  max-width: 100%;
  width: 100%;
  vertical-align: bottom;
}
.inner__wrap {
  margin-inline: auto;
}

@media (max-width: 768px) {
  .inner__wrap {
    width: 87.69%;
  }
}

@media (min-width: 769px) {
  .inner__wrap {
    width: 100%;
    max-width: calc(1120px + 40px);
    padding: 0 20px;
  }
}

/* -----------------------------------------------
footer
----------------------------------------------- */
footer {
  background-color: var(--col-blk);
  display: flex;
  justify-content: center;
  align-items: center;
}
.footer__copyright {
  color: var(--col-wh);
  display: flex;
  justify-content: center;
  gap: 0 1em;
}

@media (max-width: 768px) {
  footer {
    height: 80px;
  }
  .footer__copyright {
    font-size: 12px;
  }
}

@media (min-width: 769px) {
  footer {
    height: 120px;
  }
  .footer__copyright {
    font-size: 12px;
  }
}