@charset "utf-8";
/* CSS Document */
body {
  position: relative;
  z-index: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  font-feature-settings: "palt";
  color: #212a37;
  background: #fff;
}
body.menu_open {
  position: fixed;
  width: 100%;
  height: 100vh;
}

/*ヘッダー */

/* Header Section */
.l-header {
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100vw;
  .l-header__inner {
    margin: 0 auto;
    width: 1340px;
    max-width: 95%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .l-header__logo {
    width: 300px;
  }
  .contact {
    width: 250px;
  }
  @media screen and (max-width: 768px) {
    .l-header__inner {
      margin: 0 auto 0 0;
      max-width: 96.15%;
    }
    .l-header__logo {
      width: calc(200 / 390 * 100vw);
    }
    .contact {
      width: calc(160 / 390 * 100vw);
    }
  }
}

/* Footer Section */
.l-footer {
  background: #212a37;
  color: #fff;
  .l-footer__inner {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: calc(100 / 1280 * 100vw);
    .box_data {
      padding-top: 66px;
      width: 581px;
      max-width: calc(581 / 1280 * 100vw);
      font-weight: 600;
      font-size: 16px;
      line-height: calc(28.8 / 16);
      text-align: left;
      color: #fefefe;

      h2 {
        margin-bottom: 34px;
        font-weight: 800;
        font-size: 40px;
        line-height: calc(45 / 40);
        color: #fefefe;

        .size_s {
          display: block;
          font-size: 24px;
          margin-bottom: 21px;
        }
      }
      .footer_text {
        margin-bottom: 27px;
        letter-spacing: 0.07em;
      }
      ul {
        margin-bottom: 50px;
        text-align: center;
        font-weight: 800;
        font-size: 20px;
        line-height: calc(45 / 20);
        display: flex;
        flex-flow: column;
        gap: 10px;

        li {
          padding: 2px 0 2px;
          width: calc(480 / 581 * 100%);
          background: #fff;
          color: #212a37;
          border-radius: 25px;
        }
      }
      small {
        font-weight: 600;
        font-size: 16px;
        line-height: calc(28.8 / 16);
        color: #fefefe;
      }
    }
    .box_img {
      width: calc(800 / 1920 * 100%);
      min-height: 617px;
      align-self: stretch;
      img {
        object-fit: cover;
        width: 100%;
        height: 100%;
      }
    }
  }
  @media screen and (min-width: 1920px) {
    .l-footer__inner {
      .box_img {
        height: 617px;
      }
    }
  }
  @media screen and (max-width: 1280px) {
    .l-footer__inner {
      .box_data {
        ul {
          li {
            width: 100%;
            text-align: center;
          }
        }
      }
    }
  }
  @media screen and (max-width: 980px) {
    .l-footer__inner {
      .box_data {
        ul {
          line-height: calc(24 / 16);
        }
      }
    }
  }

  @media screen and (max-width: 768px) {
    color: #fff;
    .l-footer__inner {
      flex-flow: column-reverse;
      gap: 0;
      .box_data {
        padding: calc(29 / 390 * 100vw) 0;
        width: 89.74%;
        max-width: unset;
        font-size: calc(16 / 390 * 100vw);
        line-height: calc(24 / 16);

        h2 {
          margin-bottom: calc(20 / 390 * 100vw);
          font-size: calc(30 / 390 * 100vw);
          line-height: calc(45 / 30);
          .size_s {
            font-size: calc(18 / 390 * 100vw);
            margin-bottom: calc(4 / 390 * 100vw);
          }
        }
        .footer_text {
          margin-bottom: calc(20 / 390 * 100vw);
        }
        ul {
          margin-bottom: calc(39 / 390 * 100vw);
          font-size: calc(16 / 390 * 100vw);
          line-height: calc(24 / 16);
          gap: calc(10 / 390 * 100vw);

          li {
            padding: calc(6 / 390 * 100vw) 0;
            width: 100%;
            border-radius: calc(30 / 390 * 100vw);
          }
        }
        small {
          display: block;
          text-align: center;
          font-size: calc(14 / 390 * 100vw);
          line-height: calc(2.28 / 14);
        }
      }
      .box_img {
        width: 100%;
        min-height: auto;
      }
    }
  }
}
/* ------------------------------------------------------------ */
/* 共通パーツ */
.sp_on,
.tb_on {
  display: none;
}
@media screen and (max-width: 980px) {
  .tb_on {
    display: inline;
  }
  .tb_off {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .sp_on {
    display: inline;
  }
  .sp_off {
    display: none;
  }
}
.btn00 {
  position: relative;
  z-index: 0;
  display: block;
  background: #2465e0;
  padding: 20px 25px 20px;
  border-radius: 30px;
  font-weight: bold;
  font-size: 20px;
  color: #fefefe;
  text-align: center;

  &::after {
    content: "";
    display: block;
    position: absolute;
    z-index: 0;
    background: #fff;
    opacity: 0.5;
    top: 50%;
    left: 25px;
    transform: translate(0, -50%);
    width: 12px;
    aspect-ratio: 1;
    border-radius: 50%;
  }

  @media screen and (max-width: 768px) {
    padding: calc(12 / 390 * 100vw) calc(25 / 390 * 100vw) calc(12 / 390 * 100vw);
    border-radius: calc(30 / 390 * 100vw);
    font-size: calc(16 / 390 * 100vw);
    text-align: center;

    &::after {
      left: calc(15 / 390 * 100vw);
      width: calc(10 / 390 * 100vw);
    }
  }
}

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

/* Main Visual (MV) Section */
.l-mv {
  overflow: hidden;
  background-image: url("../img/bc_mv.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  height: 700px;

  .inner {
    padding: 186px 0 98px;
    position: relative;
    z-index: 0;
    margin: 0 auto;
    width: 1340px;
    max-width: 95%;

    &::after {
      content: "";
      display: block;
      position: absolute;
      z-index: -1;
      background-image: url("../img/mv.png");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center;
      bottom: -7px;
      right: -690px;
      width: 1200px;
      aspect-ratio: 2400 / 1332;
    }
    .mv_ttl {
      font-weight: 800;
      font-size: 34px;
      letter-spacing: -0.02em;
      line-height: calc(51 / 34);

      .dec01 {
        color: #fefefe;
        background: linear-gradient(to top right, #212a37 0%, #6a7079 100%);
        padding: 7px 32px 3px;
        margin-right: 16px;
        border-radius: 5px;
      }

      .dec02 {
        display: inline-block;
        width: fit-content;
        margin: 20px 0 27px;
        font-size: 70px;
        letter-spacing: -0.02em;
        line-height: 1.4;
        color: #2362db;
        border-bottom: 8px solid #2362db;
        margin-right: 11px;
      }
      .size_s {
        font-size: 30px;
      }
    }
    .mv_text {
      margin-bottom: 45px;
      font-weight: 600;
      font-size: 24px;
      letter-spacing: 0.03em;
      line-height: calc(43.2 / 24);
    }
    .btn00 {
      width: 350px;
      padding: 25px 25px 25px;
      border-radius: 40px;
      font-size: 30px;
    }
  }
  @media screen and (max-width: 990px) {
    .inner {
      &::after {
        right: calc(-850px + 0.7239819005 * (100vw - 769px));
      }
    }
  }
  @media screen and (max-width: 980px) {
    .inner {
      .mv_ttl {
        .size_s {
          display: block;
          text-align: right;
          margin-top: -24px;
        }
      }
    }
  }
  @media screen and (max-width: 850px) {
    .inner {
      .mv_ttl {
        .dec02 {
          font-size: calc(63px + 0.08641975309 * (100vw - 769px));
        }
      }
    }
  }
  @media screen and (max-width: 768px) {
    background-image: none;
    height: auto;
    aspect-ratio: 390 / 744;
    .inner {
      padding: calc(124 / 390 * 100vw) 0 calc(387 / 390 * 100vw) calc(25 / 390 * 100vw);
      margin: 0 auto;
      max-width: 100%;

      &::after {
        background-image: url("../img/mv_sp.png");
        bottom: 0;
        right: auto;
        left: 0;
        width: 100%;
        aspect-ratio: 780 / 1488;
      }
      .mv_ttl {
        font-weight: 800;
        font-size: calc(16 / 390 * 100vw);
        letter-spacing: -0.1em;
        line-height: calc(24 / 16);

        .dec01 {
          padding: calc(4 / 390 * 100vw) calc(10 / 390 * 100vw) calc(4 / 390 * 100vw);
          border-radius: calc(5 / 390 * 100vw);
          margin-right: calc(8 / 390 * 100vw);
        }

        .dec02 {
          margin: calc(12 / 390 * 100vw) 0 calc(15 / 390 * 100vw);
          font-size: calc(24 / 390 * 100vw);
          letter-spacing: 0;
          /* line-height: 1.4; */
          border-bottom: calc(5 / 390 * 100vw) solid #2362db;
          margin-right: 1px;
        }
        .size_s {
          font-size: calc(14 / 390 * 100vw);
          display: inline-block;
          margin-top: 0;
        }
      }
      .mv_text {
        margin-bottom: calc(30 / 390 * 100vw);
        font-size: calc(16 / 390 * 100vw);
        letter-spacing: 0.055em;
        line-height: calc(24 / 16);
      }
      .btn00 {
        width: calc(160 / 390 * 100vw);
        padding: calc(11 / 390 * 100vw) calc(24 / 390 * 100vw) calc(13 / 390 * 100vw);
        border-radius: calc(40 / 390 * 100vw);
        font-size: calc(16 / 390 * 100vw);
        text-align: right;
      }
    }
  }
}

/* Weakness Section */
.l-weakness {
  background: #f5f5f5;
  padding: 50px 0 105px;
  .inner {
    position: relative;
    z-index: 0;
    &::after {
      content: "";
      display: block;
      position: absolute;
      z-index: -1;
      background-image: url("../img/img_weakness01.svg");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center;
      bottom: -48px;
      right: 0;
      width: 112px;
      aspect-ratio: 112 / 347;
    }
    margin: 0 auto;
    width: 1042px;
    max-width: 95%;
    h2 {
      margin-bottom: 47px;
      font-weight: 800;
      font-size: 40px;
      line-height: calc(60 / 40);
      text-align: center;
      color: #212a37;
      letter-spacing: 0.1em;

      .size_l {
        font-size: 60px;
      }
    }
    .list_weakness {
      position: relative;
      z-index: 0;
      display: flex;
      flex-flow: column;
      gap: 66px;
      .weakness00 {
        width: fit-content;
        font-weight: 600;
        font-size: 24px;
        letter-spacing: 0.05em;
        line-height: calc(36 / 24);
        color: #fefefe;
        border-radius: 10px;
        background: linear-gradient(to top right, #212a37 0%, #6a7079 100%);
        padding: 0.8em 1.44em;
        text-align: center;

        &.weakness02 {
          position: absolute;
          z-index: 0;
          top: 36px;
          right: 149px;
        }
        &.weakness03 {
          margin-left: 79px;
          padding: 0.8em 2.6em;
        }
      }
    }
  }
  @media screen and (max-width: 1090px) {
    .inner {
      width: 800px;
      .list_weakness {
        gap: 33px;
        .weakness00 {
          &.weakness02 {
            position: static;
            margin-left: 36.57%;
          }
        }
      }
    }
  }
  @media screen and (max-width: 768px) {
    padding: 0px 0 calc(48 / 390 * 100vw);
    .inner {
      &::after {
        bottom: calc(-18 / 390 * 100vw);
        right: calc(-5 / 390 * 100vw);
        width: calc(60 / 390 * 100vw);
      }
      max-width: 89.74%;
      h2 {
        margin-bottom: calc(-14 / 390 * 100vw);
        font-size: calc(18 / 390 * 100vw);
        line-height: calc(60 / 18);

        .size_l {
          font-size: calc(34 / 390 * 100vw);
        }
      }
      .list_weakness {
        position: relative;
        z-index: 0;
        display: flex;
        flex-flow: column;
        gap: calc(10 / 390 * 100vw);

        .weakness00 {
          font-size: calc(16 / 390 * 100vw);
          letter-spacing: 0.1em;
          line-height: calc(24 / 16);
          border-radius: calc(10 / 390 * 100vw);
          padding: 0.6em 1em;
          text-align: center;

          &.weakness02 {
            margin-left: calc(46 / 390 * 100vw);
          }
          &.weakness03 {
            margin-left: 0;
            padding: 0.6em 1.4em;
          }
        }
      }
    }
  }
}

/* Section (Unnamed/Mixed) */
.l-problem {
  padding: 90px 0 100px;

  .inner {
    margin: 0 auto;
    width: 1042px;
    max-width: 95%;
    + .inner {
      margin-top: 30px;
      h2 {
        line-height: 1.22;
        letter-spacing: 0.06em;
        .size_l {
          margin-top: 50px;
        }
      }
    }
    h2 {
      font-weight: 800;
      font-size: 30px;
      line-height: 2;
      text-align: center;

      .size_l {
        display: inline-block;
        font-size: 60px;
        line-height: calc(66 / 60);
        color: #2362db;

        .dec_point {
          position: relative;
          z-index: 0;
          &::after {
            content: "";
            display: block;
            position: absolute;
            z-index: 1;
            background: #2362db;
            top: -15px;
            left: 50%;
            transform: translate(-50%, 0);
            width: 15px;
            aspect-ratio: 1;
            border-radius: 50%;
          }
        }
      }
    }
    .list_problem {
      margin-top: 30px;
      font-weight: 800;
      letter-spacing: 0.07em;
      font-size: 24px;
      color: #fff;
      display: flex;
      flex-flow: column;
      align-items: center;
      gap: 20px;
      li {
        background: #212a37;
        padding: 26px 2.08em 20px;
        border-radius: 10px;
        .dec_c01 {
          color: #fed83b;
        }
      }
    }
    .box_img {
      display: block;
      margin-top: 60px;
    }
  }
  @media screen and (max-width: 980px) {
    .inner {
      margin: 0 auto;
      width: 1042px;
      max-width: 95%;
      .list_problem {
        line-height: calc(27 / 18);
        li {
          text-align: center;
        }
      }
      .box_img {
        margin: 30px auto 0;
        max-width: 900px;
      }
    }
  }
  @media screen and (max-width: 768px) {
    padding: calc(24 / 390 * 100vw) 0 calc(30 / 390 * 100vw);
    .inner {
      max-width: 89.74%;
      + .inner {
        margin-top: calc(30 / 390 * 100vw);
        h2 {
          .size_l {
            margin-top: calc(17 / 390 * 100vw);
            font-size: calc(40 / 390 * 100vw);
            line-height: 1.9;
          }
          line-height: 1.22;
        }
      }
      h2 {
        font-size: calc(18 / 390 * 100vw);
        line-height: 2.5;

        .size_l {
          display: inline-block;
          font-size: calc(36 / 390 * 100vw);
          line-height: calc(60 / 36);
          .dec_point {
            &::after {
              top: calc(-10 / 390 * 100vw);
              width: calc(10 / 390 * 100vw);
            }
          }
        }
        .size_m {
          font-size: calc(28 / 390 * 100vw);
          line-height: 1;
        }
      }
      .list_problem {
        margin-top: calc(14 / 390 * 100vw);
        font-size: calc(18 / 390 * 100vw);
        gap: calc(10 / 390 * 100vw);
        line-height: calc(27 / 18);
        text-align: center;

        li {
          padding: calc(16 / 390 * 100vw) 1.11em calc(14 / 390 * 100vw);
          border-radius: calc(10 / 390 * 100vw);
        }
      }
      .box_img {
        margin-top: calc(30 / 390 * 100vw);
        max-width: 100%;
      }
    }
  }
}

/* Solution Section */
.l-solution {
  .wrapper01 {
    padding: 94px 0 100px;
    background: url("../img/bc_solution.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;

    .dec_text01 {
      letter-spacing: 0.08em;
      font-weight: 800;
      font-size: 60px;
      text-align: center;
      color: #fed83b;
      margin-bottom: 43px;
    }
    .inner {
      margin: 0 auto;
      width: 1042px;
      max-width: 95%;
      background: #fff;
      padding: 50px 70px 70px;
      border-radius: 50px;

      .dec_text02 {
        font-weight: 800;
        font-size: 30px;
        line-height: 1.9;
        text-align: center;
        letter-spacing: 0.054em;

        .size_m {
          font-size: 50px;
          line-height: calc(75 / 50);
          color: #2362db;
        }
      }
      h2 {
        width: 400px;
        margin: 44px auto 30px;
      }
      .dec_text03 {
        font-weight: 800;
        font-size: 30px;
        line-height: calc(45 / 30);
        text-align: center;

        .wrapper_txt {
          display: block;
          width: fit-content;
          margin: 0.66em auto;
        }
        .size_m {
          font-size: 40px;
          color: #fefefe;
          margin-right: 20px;

          .dec_bc01 {
            background: #2362db;
            padding: 12px 0.5em 6px;
          }
        }
        .size_l {
          font-size: 50px;
          line-height: calc(66 / 50);
          color: #f5345d;
          margin-left: 10px;
        }
        svg {
          width: 1em;
          margin: 0 14px;
        }
        .adjust01 {
          display: block;
          letter-spacing: 0.05em;
          margin-top: 10px;
        }
        .adjust02 {
          display: inline-block;
        }
      }
    }
  }
  .wrapper02 {
    position: relative;
    z-index: 0;
    padding: 80px 0;
    &::before {
      content: "";
      display: block;
      position: absolute;
      z-index: -1;
      background-image: url("../img/bc_solution02_1.png");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center;
      top: 0;
      left: 0;
      width: 100%;
      aspect-ratio: 1920 / 920;
    }
    &::after {
      content: "";
      display: block;
      position: absolute;
      z-index: -1;
      background-image: url("../img/bc_solution02_2.png");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center;
      bottom: 0;
      right: 0;
      width: 100%;
      aspect-ratio: 1920 / 920;
    }
    background: #f0f6ff;
    .inner {
      margin: 0 auto;
      width: 1042px;
      max-width: 95%;
      .wrapper_list {
        position: relative;
        z-index: 0;
        padding-top: 90px;
        .list_solution {
          font-weight: 800;
          font-size: 24px;
          line-height: 3;
          color: #fefefe;
          display: flex;
          flex-flow: column;
          gap: 15px;

          li {
            background: #2362db;
            width: fit-content;
            border-radius: 10px;
            padding: 0 1.58em;

            .dec_c01 {
              color: #fed83b;
            }
          }
          + p {
            font-weight: 600;
            font-size: 16px;
            letter-spacing: 0.03em;
            line-height: 32px;
            padding: 12px 0 0 3em;
            text-indent: -1em;
          }
        }
        .box_img01 {
          position: absolute;
          z-index: -1;
          top: 0;
          right: 0;
          width: 61.42%;
        }
      }
      .dec_text01 {
        background: #fff;
        margin: 78px auto 52px;
        width: fit-content;
        padding: 4px 50px;
        border-radius: 1em;
        line-height: 1;
        font-weight: 800;
        font-size: 50px;
        text-align: center;
        color: #2362db;
        display: flex;
        align-items: center;
        gap: 14px;

        .size_l {
          align-self: center;
          font-size: 90px;
        }
      }
      .dec_text02 {
        margin-bottom: 50px;
        font-weight: 600;
        font-size: 30px;
        letter-spacing: 0.03em;
        line-height: calc(45 / 30);
        text-align: center;
        color: #212a37;

        .dec01 {
          display: block;
          margin: 12px auto 37px;
          width: fit-content;
          color: #2362db;
          border-bottom: 5px solid #2362db;
          font-weight: 800;
          line-height: 1.98;
          letter-spacing: 0.07em;
        }
        .size_l {
          font-weight: 800;
          font-size: 40px;
          line-height: calc(45 / 40);
          letter-spacing: 0.07em;
        }
      }
    }
  }
  @media screen and (max-width: 800px) {
    .wrapper01 {
      .inner {
        .dec_text03 {
          .size_m {
            font-size: calc(37px + 0.09677419355 * (100vw - 769px));
          }
        }
      }
    }
  }
  @media screen and (max-width: 768px) {
    .wrapper01 {
      padding: calc(37 / 390 * 100vw) 0 calc(50 / 390 * 100vw);
      background: url("../img/bc_solution_sp.png");

      .dec_text01 {
        font-size: calc(30 / 390 * 100vw);
        margin-bottom: calc(27 / 390 * 100vw);
      }
      .inner {
        max-width: 89.74%;
        padding: calc(26 / 390 * 100vw) calc(20 / 390 * 100vw) calc(30 / 390 * 100vw);
        border-radius: calc(30 / 390 * 100vw);

        .dec_text02 {
          font-weight: 800;
          font-size: calc(14 / 390 * 100vw);
          text-align: center;
          .size_m {
            font-size: calc(28 / 390 * 100vw);
          }
          .size_m2 {
            font-size: calc(18 / 390 * 100vw);
          }
        }
        h2 {
          width: 80.9%;
          margin: calc(27 / 390 * 100vw) auto calc(24 / 390 * 100vw);
        }
        .dec_text03 {
          font-size: calc(18 / 390 * 100vw);
          line-height: calc(45 / 30);

          .wrapper_txt {
            display: block;
            width: fit-content;
            margin: calc(9 / 390 * 100vw) auto;
          }
          .size_m {
            font-size: calc(20 / 390 * 100vw);
            color: #fefefe;
            margin-right: calc(12 / 390 * 100vw);

            .dec_bc01 {
              padding: calc(4 / 390 * 100vw) 0.25em calc(4 / 390 * 100vw);
            }
          }
          .size_l {
            font-size: calc(28 / 390 * 100vw);
            line-height: calc(66 / 50);
            margin: calc(16 / 390 * 100vw) 0 0;
            display: inline-block;
          }
          svg {
            width: calc(18 / 390 * 100vw);
            margin: 0 0.2em;
            transform: translateY(calc(10 / 390 * 100vw));
          }
          .adjust02 {
            display: contents;
          }
        }
      }
    }
    .wrapper02 {
      padding: calc(30 / 390 * 100vw) 0 calc(50 / 390 * 100vw);
      &::before {
        background-image: url("../img/bc_solution02_1_sp.png");
        aspect-ratio: 780 / 600;
      }
      &::after {
        background-image: url("../img/bc_solution02_2_sp.png");
        aspect-ratio: 780 / 600;
      }
      .inner {
        max-width: 89.74%;
        .wrapper_list {
          padding-top: 0;
          .list_solution {
            margin-top: calc(-10 / 390 * 100vw);
            font-size: calc(16 / 390 * 100vw);
            line-height: 1;
            color: #fefefe;
            display: flex;
            flex-flow: column;
            gap: calc(5 / 390 * 100vw);
            letter-spacing: 0.025em;

            li {
              background: #2362db;
              width: fit-content;
              border-radius: calc(5 / 390 * 100vw);
              padding: calc(12 / 390 * 100vw) calc(8 / 390 * 100vw) calc(12 / 390 * 100vw);

              .dec_c01 {
                color: #fed83b;
              }
            }
            + p {
              font-size: calc(14 / 390 * 100vw);
              letter-spacing: 0;
              line-height: calc(21 / 14);
              padding: 1em 0 0 0;
              text-indent: 0;
            }
          }
          .box_img01 {
            position: static;
            width: 91.42%;
            margin-left: auto;
          }
        }
        .dec_text01 {
          margin: calc(20 / 390 * 100vw) auto calc(24 / 390 * 100vw);
          padding: calc(4 / 390 * 100vw) calc(28 / 390 * 100vw) calc(4 / 390 * 100vw);
          border-radius: 1em;
          font-size: calc(30 / 390 * 100vw);
          line-height: 1;
          gap: calc(9 / 390 * 100vw);

          .size_l {
            font-size: calc(54 / 390 * 100vw);
          }
        }
        .dec_text02 {
          margin-bottom: calc(55 / 390 * 100vw);
          font-size: calc(20 / 390 * 100vw);
          letter-spacing: 0;
          line-height: 1;

          .dec01 {
            font-size: calc(22 / 390 * 100vw);
            line-height: 1.83;
            /* letter-spacing: 0.025em; */
            margin: calc(10 / 390 * 100vw) auto calc(21 / 390 * 100vw);
            color: #2362db;
            border-bottom: calc(5 / 390 * 100vw) solid #2362db;
          }
          .size_l {
            font-weight: 800;
            font-size: calc(24 / 390 * 100vw);
            line-height: 1;
          }
        }
      }
    }
  }
}

/* Improvement Section */
.l-improvement {
  padding: 80px 0;
  h2 {
    margin-bottom: 30px;
    font-weight: 800;
    font-size: 40px;
    line-height: calc(60 / 40);
    text-align: center;
    color: #2362db;
  }
  h3 {
    font-weight: 800;
    font-size: 30px;
    text-align: center;
    background: #212a37;
    color: #fefefe;
    padding: 22px 0;
    border-radius: 30px 30px 0 0;
  }
  .inner {
    margin: 0 auto;
    width: 1042px;
    max-width: 95%;
    display: flex;
    justify-content: space-between;

    .state_b {
      width: calc(375 / 1042 * 100%);
    }
    .state_a {
      width: calc(647 / 1042 * 100%);
      h3 {
        background: #2362db;
      }
    }
  }
  @media screen and (max-width: 768px) {
    padding: calc(30 / 390 * 100vw) 0;
    h2 {
      margin-bottom: calc(20 / 390 * 100vw);
      font-size: calc(22 / 390 * 100vw);
      line-height: calc(33 / 22);
    }
    h3 {
      font-size: calc(24 / 390 * 100vw);
      padding: calc(20 / 390 * 100vw) 0;
      border-radius: calc(20 / 390 * 100vw) calc(20 / 390 * 100vw) 0 0;
    }
    .inner {
      max-width: 89.74%;
      flex-flow: column;
      gap: calc(20 / 390 * 100vw) 0;

      .state_b {
        width: 100%;
      }
      .state_a {
        width: 100%;
      }
    }
  }
}

/* Use Section */
.l-use {
  padding: 100px 0;
  background: url("../img/bc_use.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  h2 {
    margin-bottom: 30px;
    font-weight: 800;
    font-size: 40px;
    line-height: calc(60 / 40);
    text-align: center;
    color: #2362db;
  }
  .inner {
    margin: 0 auto;
    width: 1042px;
    max-width: 95%;
    display: flex;
    justify-content: space-between;
    > li {
      background: #fff;
      width: calc(511 / 1042 * 100%);
      border-radius: 10px;
      overflow: hidden;
      &:nth-of-type(2) {
        h3 {
          background: #f5345d;
        }
        .list_use {
          li {
            h4 {
              color: #f5345d;
              &::after {
                background: #f5345d;
              }
            }
          }
        }
      }
      h3 {
        font-weight: 800;
        font-size: 24px;
        height: 80px;
        color: #fefefe;
        background: #2362db;
        display: flex;
        justify-content: center;
        align-items: center;
      }
      .list_use {
        padding: 19px 20px 30px;
        font-weight: 600;
        font-size: 16px;
        line-height: calc(24 / 16);
        display: flex;
        flex-flow: column;
        gap: 16px 0;
        letter-spacing: 0.06em;

        li {
          h4 {
            position: relative;
            z-index: 0;
            font-weight: 800;
            font-size: 18px;
            letter-spacing: 0.03em;
            line-height: calc(30 / 18);
            color: #2362db;
            padding-left: 1.16em;
            &::after {
              content: "";
              display: block;
              position: absolute;
              z-index: 0;
              background: #2362db;
              top: 50%;
              left: 0;
              transform: translate(0, -50%);
              width: 0.888em;
              aspect-ratio: 1;
              border-radius: 5px;
            }
            .size_s {
              font-size: 16px;
            }
          }
        }
      }
    }
  }
  @media screen and (max-width: 768px) {
    padding: calc(30 / 390 * 100vw) 0 calc(50 / 390 * 100vw);
    background: url("../img/bc_use_sp.jpg");
    h2 {
      margin-bottom: calc(15 / 390 * 100vw);
      font-size: calc(22 / 390 * 100vw);
      line-height: calc(33 / 22);
    }
    .inner {
      margin: 0 auto;
      max-width: 89.74%;
      flex-flow: column;
      gap: calc(20 / 390 * 100vw) 0;
      > li {
        width: 100%;
        border-radius: calc(10 / 390 * 100vw);

        h3 {
          font-size: calc(18 / 390 * 100vw);
          height: calc(60 / 390 * 100vw);
        }
        .list_use {
          padding: calc(16 / 390 * 100vw) calc(20 / 390 * 100vw) calc(30 / 390 * 100vw);
          font-size: calc(16 / 390 * 100vw);
          line-height: calc(24 / 16);
          gap: calc(15 / 390 * 100vw) 0;

          li {
            h4 {
              font-size: calc(18 / 390 * 100vw);
              letter-spacing: 0.025em;
              padding-left: 1.16em;
              margin-bottom: calc(2 / 390 * 100vw);

              &::after {
                top: 0.444em;
                transform: translate(0, 0);
                border-radius: calc(5 / 390 * 100vw);
              }
              .size_s {
                font-size: calc(16 / 390 * 100vw);
              }
            }
          }
        }
      }
    }
  }
}

/* Sample Section */
.l-sample {
  padding: 80px 0;
  .inner {
    margin: 0 auto;
    width: 1042px;
    max-width: 95%;

    h2 {
      margin-bottom: 30px;
      font-weight: 800;
      font-size: 40px;
      line-height: calc(60 / 40);
      text-align: center;
      color: #2362db;
    }
    p {
      margin-bottom: 42px;
      font-weight: 600;
      letter-spacing: 0.11em;
      font-size: 24px;
      letter-spacing: 0.03em;
      line-height: calc(43.2 / 24);
      text-align: center;
    }
  }
  @media screen and (max-width: 768px) {
    padding: calc(35 / 390 * 100vw) 0 calc(50 / 390 * 100vw);
    .inner {
      max-width: 89.74%;
      h2 {
        margin-bottom: calc(10 / 390 * 100vw);
        font-size: calc(22 / 390 * 100vw);
        line-height: calc(33 / 22);
      }
      p {
        margin-bottom: calc(19 / 390 * 100vw);
        font-size: calc(14 / 390 * 100vw);
        letter-spacing: 0em;
        line-height: calc(21 / 14);
        text-align: left;
      }
    }
  }
}

/* Utilization Section */
.l-utilization {
  position: relative;
  z-index: 0;
  background: #f0f6ff;
  padding: 80px 0 181px;

  .inner {
    margin: 0 auto;
    width: 1042px;
    max-width: 95%;

    h2 {
      margin-bottom: 23px;
      font-weight: 800;
      font-size: 40px;
      line-height: calc(60 / 40);
      text-align: center;
      color: #2362db;
    }
    p {
      font-weight: 600;
      font-size: 24px;
      letter-spacing: 0.03em;
      line-height: calc(43.2 / 24);
      text-align: center;
      letter-spacing: 0.1em;
    }
    .box_img {
      position: absolute;
      width: 1042px;
      max-width: 95%;
      left: 50%;
      bottom: -136px;
      transform: translateX(-50%);
    }
  }
  @media screen and (max-width: 768px) {
    padding: calc(30 / 390 * 100vw) 0 calc(197 / 390 * 100vw);
    .inner {
      max-width: 89.74%;
      h2 {
        margin-bottom: calc(15 / 390 * 100vw);
        font-size: calc(22 / 390 * 100vw);
        line-height: calc(33 / 22);
      }
      p {
        font-size: calc(14 / 390 * 100vw);
        letter-spacing: 0.03em;
        line-height: calc(25.2 / 14);
      }
      .box_img {
        width: 89.74%;
        bottom: calc(-185 / 390 * 100vw);
      }
    }
  }
}

/* Contact Section */
.l-contact {
  padding: 228px 0 118px;
  background: url("../img/bc_contact.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;

  .inner {
    margin: 0 auto;
    width: 1042px;
    max-width: 95%;
    .dec_text01 {
      margin-bottom: 47px;
      font-weight: 600;
      font-size: 30px;
      letter-spacing: 0.03em;
      line-height: calc(45 / 30);
      text-align: center;
      color: #fefefe;
      /* letter-spacing: .1em; */

      .dec01 {
        background: #fff;
        color: #2362db;
        padding: 12px 37px 15px;
        border-radius: 35px;
        margin-right: 10px;
        letter-spacing: 0.1em;
      }
    }

    h2 {
      margin-bottom: 62px;
      font-weight: 800;
      font-size: 50px;
      letter-spacing: 0.03em;
      line-height: calc(45 / 50);
      text-align: center;
      color: #fed83b;
      letter-spacing: 0.078em;
    }
    .box_form {
      aspect-ratio: 1042/1390;
      background: #fff;
      border-radius: 30px;
      iframe {
        display: block;
        width: 100%;
        height: 100%;
        transform: scale(0.95);
        transform-origin: center;
      }
    }
  }
  @media screen and (max-width: 1090px) {
    .inner {
      .box_form {
        aspect-ratio: unset;
        height: 1396px;
      }
    }
  }
  @media screen and (max-width: 768px) {
    padding: calc(214 / 390 * 100vw) 0 calc(50 / 390 * 100vw);
    background: url("../img/bc_contact_sp.jpg");

    .inner {
      max-width: 89.74%;
      .dec_text01 {
        margin-bottom: calc(9 / 390 * 100vw);
        font-size: calc(18 / 390 * 100vw);
        letter-spacing: 0.025em;
        line-height: calc(45 / 30);

        .dec01 {
          display: inline-block;
          margin: 0px calc(12 / 390 * 100vw) calc(9 / 390 * 100vw) auto;
          width: fit-content;
          padding: calc(8 / 390 * 100vw) calc(20 / 390 * 100vw) calc(8 / 390 * 100vw);
          border-radius: calc(21 / 390 * 100vw);
        }
      }

      h2 {
        margin-bottom: calc(25 / 390 * 100vw);
        font-size: calc(24 / 390 * 100vw);
        letter-spacing: 0.025em;
        line-height: calc(45 / 24);
      }
      .box_form {
        aspect-ratio: unset;
        height: 1396px;

        border-radius: calc(10 / 390 * 100vw);
      }
    }
  }
  @media screen and (max-width: 535px) {
    .inner {
      .box_form {
        /* aspect-ratio: 319/1663; */
        height: calc(1920px - 0.623255814 * (100vw - 320px));
      }
    }
  }
}
