.page-accuracy {
  background: #000;
}

.page-accuracy .site-header {
  background: rgba(0, 0, 0, 0.5);
  border: 0;
}

.accuracy-page {
  overflow: hidden;
  background: #fff;
}

.accuracy-content {
  width: min(calc(100% - 96px), 1380px);
  margin-inline: auto;
}

.accuracy-page h1,
.accuracy-page h2,
.accuracy-page p,
.accuracy-page figure {
  margin-top: 0;
}

/* hero */
.accuracy-hero {
  position: relative;
  overflow: hidden;
  background: #000;
  line-height: 0;
}

.accuracy-hero__visual {
  width: 100%;
  min-height: 410px;
  object-fit: cover;
  object-position: center center;
}

.accuracy-hero__overlay {
  position: absolute;
  inset: 0;
  width: min(calc(100% - 96px), 1380px);
  margin-inline: auto;
  pointer-events: none;
}

.accuracy-hero__anniversary {
  position: absolute;
  left: 0;
  top: clamp(72px, 8.4vw, 118px);
  max-width: clamp(108px, 14.5vw, 184px);
}

.accuracy-hero__copy {
    position: absolute;
    line-height: .94;
    left: 0;
    bottom: clamp(22px, 2.2vw, 38px);
    max-width: clamp(285px, 34vw, 545px);
}

.accuracy-hero__mini {
  margin: 0 0 4px;
  font-size: clamp(24px, 2.2vw, 36px);
  font-weight: 300;
  letter-spacing: -.03em;
}

.accuracy-hero__row {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  margin-bottom: 2px;
}

.accuracy-hero__headline {
  font-size: clamp(52px, 5.6vw, 96px);
  font-weight: 800;
  letter-spacing: -.05em;
}

.accuracy-hero__of {
  position: relative;
  top: -10px;
  font-size: clamp(26px, 2.3vw, 40px);
  font-weight: 300;
}

.accuracy-hero__scale {
  display: flex;
  align-items: flex-end;
  gap: 8px;
}

.accuracy-hero__num {
  font-size: clamp(66px, 7.1vw, 120px);
  font-weight: 800;
  letter-spacing: -.06em;
}

.accuracy-hero__unit {
  position: relative;
  top: -10px;
  font-size: clamp(24px, 2vw, 34px);
  font-weight: 700;
}

/* intro */
.accuracy-intro {
  color: #fff;
  background: #000;
  padding: 22px 0 58px;
}

.accuracy-intro__label {
    margin-bottom: 18px;
    color: #00a6e8;
    font-size: clamp(18px, 1.4vw, 18px);
    letter-spacing: .04em;
}
.accuracy-intro__copy {
    width: min(100%, 740px);
    color: rgba(255, 255, 255, .78);
    font-size: clamp(15px, .83vw, 14px);
    font-weight: 300;
    line-height: 2;
}
.accuracy-intro__copy p {
  margin-bottom: 18px;
}

.accuracy-intro__copy p:last-child {
  margin-bottom: 0;
}

/* sections */
.accuracy-sections {
  padding: 32px 0 72px;
  background: #efefef;
}

.accuracy-sections__inner {
  width: min(calc(100% - 96px), 1080px);
}

.accuracy-block {
    padding: clamp(43px, 7vw, 56px) 0 50px;
    border-bottom: 4px solid #d7d7d7;
}

.accuracy-block:first-child {
  padding-top: 10px;
}

.accuracy-block:last-child {
    padding-bottom: 50px;
}

.accuracy-block__head {
  margin-bottom: 18px;
}

.accuracy-block__kicker {
  margin-bottom: 4px;
  color: #55b8e8;
  font-size: clamp(13px, 1vw, 15px);
  font-weight: 400;
}

.accuracy-block h2 {
  margin-bottom: 4px;
  color: #17a5df;
  font-size: clamp(30px, 2.5vw, 44px);
  font-weight: 300;
  line-height: 1.1;
}

.accuracy-block__en {
  color: #7a7a7a;
  font-size: clamp(11px, .82vw, 13px);
  letter-spacing: .14em;
}

.accuracy-block__mainimage {
  margin: 0 0 18px;
}

.accuracy-block__mainimage img {
  height: auto;
}

.accuracy-block__body {
    width: min(100%, 760px);
    margin-bottom: 18px;
    color: #444;
    font-size: clamp(15px, .84vw, 15px);
    line-height: 1.95;
}
.accuracy-block__body p {
  margin-bottom: 10px;
}

.accuracy-block__body p:last-child {
  margin-bottom: 0;
}

.accuracy-block__thumbs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 330px));
    gap: 10px;
}
.accuracy-block__thumbs figure {
  margin: 0;
}

.accuracy-block__thumbs img {
  width: 100%;
  height: auto;
}

@media (max-width: 1023px) {
  .accuracy-content {
    width: min(calc(100% - 56px), 920px);
  }
  .accuracy-sections__inner {
    width: min(calc(100% - 56px), 860px);
  }
  .accuracy-hero__overlay {
    width: calc(100% - 56px);
  }
}

@media (max-width: 760px) {
  .accuracy-content,
  .accuracy-sections__inner {
    width: calc(100% - 44px);
  }

  .accuracy-hero__overlay {
    width: calc(100% - 44px);
  }

  .accuracy-hero__visual {
    min-height: 0;
    height: auto;
  }

.accuracy-hero__anniversary {
        top: 76px;
        max-width: 117px;
    }

  .accuracy-hero__copy {
    bottom: 18px;
  }

  .accuracy-hero__mini {
    font-size: 20px;
  }

  .accuracy-hero__headline {
    font-size: 40px;
  }

  .accuracy-hero__of {
    top: -4px;
    font-size: 20px;
  }

  .accuracy-hero__num {
    font-size: 58px;
  }

  .accuracy-hero__unit {
    top: -6px;
    font-size: 22px;
  }

  .accuracy-intro {
    padding: 18px 0 42px;
  }

  .accuracy-sections {
    padding: 18px 0 54px;
  }

  .accuracy-block {
    padding: 22px 0 22px;
  }

  .accuracy-block h2 {
    font-size: 28px;
  }

  .accuracy-block__mainimage img,
  .accuracy-block__body {
    width: 100%;
  }

  .accuracy-block__thumbs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
