.company {
  width: 98%;
}
  .company__name {
    width: 100%;
    padding: 0.2em 0.5em;
    border-top: solid 5px #62B6CC;
    border-bottom: solid 5px #62B6CC;
    font-size: 2.0rem;
  }
  .company__upper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    width: 100%;
  }
    .company__mainimg {
      max-width: 90%;
      object-fit: contain;
      margin: 8px 0;
    }
    .company__option-list {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-around;
      width: 100%;
      margin: 8px 0; 
    }
      .company__option {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        width: 32%;
        height: 30px;
        margin: 0 0 3px;
        background: #d0cece;
        border-radius: 3px;
        text-align: center;
        color: #fff;
        font-size: 1.4rem;
        font-weight: bold;
      }
      .company__option.on {
          background: #62B6CC;
        }
  .company__content-head {
    position: relative;
    width: 100%;
    margin: 12px 0 0;
    padding: 0.2em 0.5em;
    border-top: solid 5px #62B6CC;
    font-size: 2.0rem;
    font-weight: bold;
  }
    .company__content-head::before {
      content: ' ';
      position: absolute;
      top: -5px;
      right: 0;
      width: 55%;
      border-top: solid 5px #ddd;
    }
  .company__content-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    width: 100%;
  }
    .company__content-img {
      max-width: 90%;
      object-fit: contain;
      margin: 8px 0;
    }
    .company__content-text {
      padding: 8px;
      font-size: 1.4rem;
    }
  .company__point {
    width: 98%;
    margin: 8px auto;
    padding: 8px 2em;
    border: solid 1px #62B6CC;
    border-radius: 10px;
    text-align: center;
  }
    .company__point-title {
      margin: 0.5em auto;
      padding: 0.1em 2em 0.2em;
      background: red;
      border-radius: 8px;
      color: #fff;
      font-size: 1.8rem;
      font-weight: bold;
    }
    .company__point-text {
      padding: 0.5em 0;
      text-align: left;
      font-size: 1.6rem;
    }
@media screen and (min-width: 768px) {
  .company__name {
    font-size: 2.8rem;
  }
  .company__mainimg {
    max-width: 36%;
    object-fit: contain;
    margin: 8px 0;
  }
    .company__option {
      width: 16%;
    }
  .company__content-head {
    font-size: 2.4rem;
  }
  .company__content-wrapper {
    flex-wrap: nowrap;
  }
    .company__content-img {
      max-width: 35%;
    }
    .company__content-text {
      max-width: 90%;
      font-size: 1.6rem;
    }
}

.data-table__wrapper {
  width: 98%;
}
.data-table {
  width: 100%;
  margin: 8px 0 0;
  color: #111;
}
  .data-table__th,
  .data-table__td {
    border: solid 1px #FC649C;
    font-size: 1.2rem;
  }
  .data-table__th {
    width: 22%;
    padding: 0.8em 0;
    background: #FFCCCC;
  }
    .data-table__th--star {
      background: #FF9C9C
    }
  .data-table__td {
    width: 28%;
    text-align: center;
  }
    .data-table__td>img {
      width: 18%;
    }
.data-table__note {
  width: 100%;
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
  .data-table__wrapper {
    width: 60%;
  }
    .data-table__th {
      font-size: 1.6rem;
    }
    .data-table__th {
      font-size: 1.4rem;
    }
    .data-table__note {
      font-size: 1.4rem;
    }
}

.price-table__wrapper {
  width: 98%;
  overflow-x: auto;
  margin-top: 8px;
  border-left: solid 1px #FC649C;
  border-right: solid 1px #FC649C;
}
.price-table {
  border-spacing: 0;
  width: max-content;
  border: none;
  font-size: 1.2rem;
  color: #111;
}
  .price-table__th,
  .price-table__td {
    padding: 0.6em 0.2em;
    border: solid 1px #FC649C;
  }
  .price-table__th {
    position: sticky;
    z-index: 2;
    left: 0;
    width: 80px;
    max-width: 120px;
    background: #FFCCCC;
    border-left: none;
  }
  .price-table__td {
    z-index: 1;
    width: 30vw;
    max-width: 180px;
    text-align: center;
  }
    .price-table__td--plan {
      background: #FFF4CC;
    }
@media screen and (min-width: 768px) {
  .price-table__wrapper {
    border: none;
  }
}


@media screen and (min-width: 768px) {
  .price-table {
    width: 98%;
    margin: 8px auto;
    color: #111;
    font-size: 1.4rem;
  }
    .price-table__tr {
      display: flex;
      width: 100%;
    }
      .price-table__th,
      .price-table__td {
        flex: 1;
        padding: 0.3em 0;
        border-top: solid 1px #FC649C;
        border-left: solid 1px #FC649C;
        text-align: center;
      }
      .price-table__th {
        width: 30vw;
        background: #FFCCCC;
        font-weight: bold;
      }
        .price-table__td--plan {
          background: #FFF4CC;
        }
        .price-table__td:last-of-type {
          border-right: solid 1px #FC649C;
        }
        .price-table__tr:last-of-type>div {
          border-bottom: solid 1px #FC649C;
        }
}

.review-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  width: 100%;
  font-size: 1.4rem;
}
  .review-list__title {
    position: relative;
    width: 100%;
    margin: 12px 0 0;
    padding: 0.2em 0.5em;
    border-top: solid 5px #62B6CC;
    font-size: 2.0rem;
  }
    .review-list__title::before {
      content: ' ';
      position: absolute;
      top: -5px;
      right: 0;
      width: 55%;
      border-top: solid 5px #ddd;
    }
  .review-list__item {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    width: 95%;
    margin: 8px auto 0;
    padding: 8px;
    border: solid 1px #aaa;
  }
    .review-list__img {
      width: 15%;
      object-fit: contain;
    }
    .review-list__prof {
      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center;
      width: 35%;
    }
    .review-list__star {
      display: flex;
      align-items: center;
      width: 40%;
    }
      .review-list__star>img {
        width: 18%;
      }
    .review-list__text {
      width: 100%;
      margin: 8px 0 0;
    }
@media screen and (min-width: 768px) {
  .review-list__title {
    font-size: 2.4rem;
  }
  .review-list__item {
    width: 32%;
  }
}

.html-table {
  width: 100%;
}
  .html-table table {
    width: 98%;
    margin: auto;
    font-size: 1.2rem;
    color: #111;
  }
    .html-table th,
    .html-table td {
      padding: 0.3em 0;
      border: solid 1px #FC649C;
      text-align: center;
    }
    .html-table th {
      background: #FFCCCC;
    }
      .html-table tr:first-of-type th {
        background: #FFF4CC;
      }
@media screen and (min-width: 768px) {
  .html-table {
    font-size: 1.4rem;
  }
}