.main__body {
  .contents {
    padding-top: 64px;
    padding-bottom: 64px;
  }
}
/* -------------------------------
function-company-targeting （基本機能）
------------------------------- */
.function-company-targeting {
  .col-md-row {
    display: flex;
    flex-direction: column;
    gap: 64px;
    margin-top: 64px;
  }

  .example-segment {
    border: 1px solid #004ea1;
    border-radius: 12px;
    padding: 32px 16px 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;

    .title {
      background-color: #fafafa;
      padding: 8px 80px;
      position: absolute;
      top: -16px;
      font-size: 18px;
      font-weight: 600;
      color: #5a5a5a;

      @media (max-width: 528px) {
        padding: 8px 40px;
      }
    }

    .card-list {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      gap: 16px;
    }
    .ex-card {
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      width: calc(33% - 12px);
      min-width: 200px;

      @media (max-width: 768px) {
        width: calc(50% - 8px);
      }
      @media (max-width: 528px) {
        width: 100%;
      }

      .ex-card-ico {
        background-color: #fff;
        border-radius: 100%;
        width: 120px;
        height: 120px;
        position: relative;

        img {
          width: 48px;
          height: 48px;
          position: absolute;
          top: 0;
          bottom: 0;
          right: 0;
          left: 0;
          margin: auto;
        }
      }
      .ex-card-body {
        background-color: #fff;
        border-radius: 4px;
        padding: 40px 24px 24px;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
        margin-top: -60px;

        p {
          font-size: 18px;
          font-weight: 600;
          color: #004ea1;
          z-index: 1;
        }
        ul {
          font-size: 14px;
          width: 80%;

          li {
            &:before {
              content: "・";
              display: inline-block;
              margin-right: 2px;
            }
          }
        }
        .text {
          font-size: 14px;
          width: 80%;
          text-align: right;
        }
      }
    }
  }

  .click-report {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;

    .contents__mini_title {
      font-size: 22px;
      font-weight: 600;
    }
    p {
      font-size: 16px;
    }
    .report-image {
      background-color: #fff;
      padding: 24px 40px;
      border-radius: 10px;
    }
    .caption {
      display: block;
      font-size: 12px;
      color: #5a5a5a;
      margin-top: 8px;
    }
  }
}

/* -------------------------------
feature-company-targeting(シャノンユニークな特徴)
------------------------------- */
.feature-company-targeting {
  .col-md-row {
    margin-top: 64px;
    display: flex;
    flex-direction: column;
    gap: 64px;
  }
  .section {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .container-title {
    font-size: 28px;
    font-weight: 600;
    line-height: 1.6;
    display: flex;
    align-items: center;
    gap: 16px;

    .number {
      font-size: 40px;
      font-weight: 600;
      line-height: 1.6;
      letter-spacing: -1.5px;
      color: #004ea1;
    }
  }
  .container-image {
    background-color: #fafafa;
    padding: 24px;
    text-align: center;
    border-radius: 10px;
  }
  .container-body {
    display: inline-flex;
    flex-direction: column;
    gap: 24px;

    P {
      font-size: 16px;
      margin-top: 0;
    }
  }
}

/* -------------------------------
application_scene-company-targeting（各機能の活用シーン）
------------------------------- */
.application_scene-company-targeting {
  .example-image {
    margin-top: 64px;
  }
}

/* -------------------------------
price-company-targeting（価格）
------------------------------- */
.price-company-targeting {
  .col-md-table {
    margin-top: 64px;
  }
  .table {
    width: 100%;
    border-radius: 6px;
    overflow: hidden;
    text-align: center;
    margin-bottom: 0;

    th {
      background-color: #004ea1;
      color: #fff;
      font-size: 16px;
      font-weight: 600;
      padding: 8px;
      border: none;
      height: 40px;
      line-height: 40px;
    }
    th:not(:nth-of-type(1)) {
      border-left: 2px solid #fff;
    }
    td {
      background-color: #fff;
      font-size: 16px;
      font-weight: 600;
      padding: 8px;
      border: 0;
      line-height: 40px;
    }
    td:not(:nth-of-type(1)) {
      border-left: 2px solid #ecf3fa;
    }
    tr:not(:nth-of-type(1)) {
      border-top: 2px solid #ecf3fa;
    }
    .unit {
      font-size: 12px;
      margin-left: 2px;
    }
  }
  .caption {
    font-size: 14px;
    color: #5a5a5a;
    margin-top: 8px;
    line-height: 1.4;
  }
}

/* -------------------------------
responsive
------------------------------- */
@media (max-width: 768px) {
  .main__body {
    padding-top: 16px;
    .contents {
      padding-top: 32px;
      padding-bottom: 32px;
    }
  }

  .function-company-targeting {
    .col-md-row {
      gap: 40px;
      margin-top: 24px;
    }

    .example-segment {
      padding: 32px 16px 16px;

      .title {
        font-size: 14px;
      }

      .card-list {
        gap: 16px;
      }
      .ex-card {
        .ex-card-ico {
          width: 80px;
          height: 80px;

          img {
            width: 32px;
            height: 32px;
          }
        }
        .ex-card-body {
          padding: 24px 16px 16px;
          width: 100%;
          gap: 8px;
          margin-top: -32px;

          p {
            font-size: 14px;
          }
          ul {
            font-size: 13px;
          }
          .text {
            font-size: 12px;
          }
        }
      }
    }

    .click-report {
      gap: 16px;

      .contents__mini_title {
        font-size: 16px;
      }
      p {
        font-size: 14px;
      }
      .report-image {
        padding: 24px;
      }
      .caption {
        font-size: 11px;
      }
    }
  }

  .feature-company-targeting {
    .col-md-row {
      margin-top: 24px;
      gap: 32px;
    }
    .section {
      gap: 16px;
    }
    .container-title {
      font-size: 18px;
      line-height: 1.4;
      gap: 0 8px;

      .number {
        font-size: 28px;
      }
    }
    .container-image {
      padding: 16px;
    }
    .container-body {
      display: inline-flex;
      flex-direction: column;
      gap: 16px;

      P {
        font-size: 14px;
        margin-top: 0;
      }
    }
  }

  .application_scene-company-targeting {
    .example-image {
      margin-top: 24px;
    }
  }

  .price-company-targeting {
    .col-md-table {
      margin-top: 24px;
    }
    .table {
      th {
        font-size: 12px;
        height: 32px;
        line-height: 32px;
      }
      td {
        font-size: 13px;
        line-height: 32px;
      }
      .unit {
        font-size: 11px;
        margin-left: 2px;
      }
    }
    .caption {
      font-size: 12px;
    }
  }
}
