@charset "utf-8";
/* CSS Document */

/* ------------------------------------------------------

whitepaper

------------------------------------------------------ */

#crumb {
  margin: 0;
}

.firstview {
  height: auto;
  background: url(../img/firstview__bg.webp) no-repeat bottom / cover;
}
.firstview__copy {
  padding: 94px 0 123px;
}

#mainBlock #contentsBlock section {
  padding-bottom: 60px;
}

#whitepaper * {
  box-sizing: border-box;
}

#whitepaper .inner .item {
  margin-top: 60px;
  &:first-of-type {
    margin-top: 0;
  }
}

.hd_bl {
margin-block-end: 30px;
}

.grid_wrap {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 3fr);
  grid-template-areas:
    "label label"
    "content cover"
    "download download";
  gap: 30px 20px;
  padding: 27px;
  border: 3px solid #779fd8;
  border-radius: 10px;
  background-color: #f0f6ff;
  line-height: 1.5;
  .grid_label {
    grid-area: label;
    justify-self: start;
    padding: 3px 12px;
    border-radius: 30px;
    background-color: #004bb1;
    color: #fff;
    font-size: 16px;
    line-height: 1.4;
  }
  .grid_content {
    min-width: 0;
    grid-area: content;
    h2 {
      margin-bottom: 10px;
      font-size: 30px;
      line-height: 1.4;
    }
  }
  .grid_stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-block: 30px;
    figure {
      position: relative;
    }
    picture, img {
      display: block;
      width: 100%;
    }
    figcaption {
      position: absolute;
      top: 62%;
      right: 0;
      left: 0;
      font-size: clamp(11px, 1.667vw, 16px);
      line-height: 1.5;
    }
  }
  .grid_stat_value {
    display: block;
    margin-top: 4px;
    color: #004bb1;
    font-weight: 700;
    font-size: clamp(14px, 2.084vw, 20px);
    > span {
      display: inline-block;
      white-space: nowrap;
    }
  }
  .grid_metadata {
    color: #004bb1;
    font-weight: 700;
  }
  .grid_cover {
    grid-area: cover;
    align-self: start;
    img {
      display: block;
      width: 100%;
    }
  }
  .grid_download {
    grid-area: download;
    .btn-wrapper {
      width: 100%;
      max-width: 460px;
    }
    .btn03 {
      height: 90px;
      padding-inline: 15px;
      border-radius: 50px;
      font-size: 30px;
      line-height: 1.5;
    }
  }
}

.section_list-01 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 30px;
  li {
    padding: 30px;
    border: 3px solid #cdd6dd;
    border-radius: 10px;
  }
  h4 {
    color: #707f89;
    text-align: center;
    min-height: 3em;
    display: grid;
    place-items: center;
  }
  p {
    margin-block-start: 7px;
    text-box-trim: trim-both;
  }
}

.flex_wrap:has(.section_list-02) {
  display: flex;
  gap: 30px;
  .flex_left {
    width: calc(590 / 960 * 100%);
  }
  .flex_right {
    width: calc(340 / 960 * 100%);
  }
}

.section_list-02 {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
  li {
    text-box-trim: trim-both;
    &::before {
      content: "●";
      margin-inline-end: 10px;
      color: #cdd6dd;
    }
  }
}

.section_list-03 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  li {
    padding: 30px;
    border: 3px solid #cdd6dd;
    border-radius: 10px;
  }
  h4 {
    color: #707f89;
    text-align: center;
  }
  p {
    margin-block-start: 7px;
    text-box-trim: trim-both;
  }
}

.btn-wrapper {
  max-width: 480px;
}
  a.btn03 {
    font-size: 30px;
    height: 90px;
  }

@media screen and (max-width: 768px) {
  .firstview {
    background: url(../img/firstview__bg-sp.webp) no-repeat bottom right / cover;
  }
  .firstview__copy {
    padding-top: 16px;
    padding-bottom: 27px;
  }

    .grid_wrap {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "label"
      "content"
      "cover"
      "download";
    row-gap: 15px;
    .grid_label {
      font-size: 14px;
    }
    .grid_content {
      font-size: 14px;
      line-height: 1.6;
      h2 {
        margin-bottom: 10px;
        font-size: 18px;
        line-height: 1.5;
      }
    }
    .grid_stats {
      gap: 6px;
      margin-block: 15px 13px;
      figcaption {
        position: static;
        margin-top: 3px;
        padding-inline: 3px;
        font-size: 12px;
      }
    }
    .grid_stat_value {
      margin-top: 3px;
      font-size: 14px;
      line-height: 1.6;
      > span {
        display: block;
      }
    }
    .grid_cover {
      width: 68%;
      max-width: 240px;
      justify-self: center;
      margin-block-start: -5px;
    }
    .grid_download .btn-wrapper {
      width: calc(100% - 20px);
      max-width: 390px;
      .btn03 {
        height: 50px;
        font-size: 16px;
      }
    }
  }

  .section_list-01 {
    grid-template-columns: auto;
    row-gap: 15px;
    li {
      width: 100%;
    }
    h4 {
      min-height: auto;
      font-size: 18px;
    }
    p {
      margin-block-start: 6px;
    }
  }

  .flex_wrap:has(.section_list-02) {
    flex-direction: column;
    .flex_left, .flex_right {
      width: 100%;
    }
    .flex_right {
      padding-inline: 10px;
    }
  }

  .section_list-02 {
    li {
      margin-inline-start: calc(1em + 5px);
      text-indent: calc(-1em - 5px);
      &::before {
        margin-inline-end: 5px;
      }
    }
  }

  .section_list-03 {
    grid-template-columns: auto;
    row-gap: 15px;
    li {
      width: 100%;
    }
    h4 {
      font-size: 18px;
    }
    p {
      margin-block-start: 6px;
    }
  }

  .btn-wrapper {
    max-width: 280px;
  }
  a.btn03 {
    font-size: 16px;
    height: 50px;
  }
}
