@charset "utf-8";
/* CSS Document */
/* report記事アーカイブページ／投稿ページ */
/*********************************************
report記事（投稿）ページ
*********************************************/
.img_report-main {
  position: relative;
  left: -5%;
  top: -3.906vw;
  width: 110%;
  margin: 0;
  padding: 0;
}
.img_report-main img {
  width: 100%;
  margin: 0 0 5%;
}
.report_lead strong {
  display: inlines;
  background: linear-gradient(transparent 2%, #fdff81 0);
  padding: 0 0.1em;
  font-weight: 700;
}
.report_lead p {
  margin-bottom: 1em;
}
.report_txt p {
  margin-bottom: 1em !important;
}
.report_txt h2 {
  position: static;
  left: 0;
  width: 100%;
}
.report_txt h4 {
  margin-top: 1.5em !important;
}
.report-table {
  border-collapse: collapse;
  width: 100%;
  border-top: 1px solid #d0d0d0;
  border-left: 1px solid #d0d0d0;
  font-size: 4.281vw;
}
.report-table th,
.report-table td {
  border-bottom: 1px solid #d0d0d0;
  border-right: 1px solid #d0d0d0;
  min-height: 9.375vw;
  padding: 3% 4%;
  line-height: 1.3;
  vertical-align: middle;
}
.report-table th {
  background-color: #effbf9;
  color: #249a86;
  white-space: normal;
  width: 30%;
}
.report-price {
    width: 100%;
    overflow-x: scroll;
    margin-top: 1em;
}
.report-price-table {
  border-collapse: collapse;
  width: max-content;
  border-top: 1px solid #d0d0d0;
  border-left: 1px solid #d0d0d0;
}
.report-price-table th,
.report-price-table td {
  border-bottom: 1px solid #d0d0d0;
  border-right: 1px solid #d0d0d0;
  padding: 0.7em;
  line-height: 1.3;
  vertical-align: middle;
  text-align: center;
}
.report-price-table th {
  background-color: #effbf9;
  color: #249a86;
  white-space: nowrap;
}
.report-price-table thead th {
  background-color: #249a86;
  color: #fff;
}
.report-price-table td.align_left {
  text-align: left;
}
.report_txt .price_note {
  font-size: 3.125vw;
  line-height: 1.3;
}
.report_txt .point_wrap {
  border: 6px solid #eee;
  padding: 4% 4% 1%;
}
.report_txt .point_wrap .pont_midashi {
  background-color: #effbf9;
  text-align: center;
  font-size: 5.625vw;
  font-weight: 700;
  color: #249a86;
  min-height: 9.375vw;
  line-height: 1.2;
  padding: 1% 5% 2%;
}
.report_txt .point_wrap .pont_txt {
  margin-bottom: 2em;
}
body.single-report .cta-txt {
  text-align: center;
  color: #3366ff;
  margin-top: 10%;
}
.report_txt .full.cta {
  width: 100%;
  margin: -3% 0 5%;
}
.point_table {
  width: 100%;
  border-collapse: collapse;
  border: 2px solid #117a65;
  margin-bottom:20px;
}
.point_table tr {
    background: #117a65;
}
.point_table th {
    background: #117a65;
    color: #fff;
    text-align: center !important;
    padding: 3vw 4vw;
    font-size: 3.6vw;
    line-height: 1.6;
    font-weight: 700;
}
.point_table td {
    background: #fff;
    padding: 3vw 4.4vw;
    line-height: 1.9;
}
.staff-prf {
  border: 0.3em solid #248879;
  background: #fff;
  padding: 6vw;
  margin: 6vw 0 12vw;
}
.staff-img img {
  width: 100% !important;
  margin: 0 !important;
}
.staff-prf-wrap {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 4vw;
    align-items: center;
    margin-bottom: 2vw;
}
.staff-prf .staff-name {
  font-weight: bold;
}
.report_txt .staff {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  width: 100%;
}
/*********************************************
report記事一覧（アーカイブ）ページ（PC）
*********************************************/
@media (min-width: 1200px) {
  main {
    background-color: #f0f4f4;
    margin-bottom: 7rem;
  }
  main .contents-wrap {
    background-color: #fff;
    width: 1100px;
    padding: 30px 50px 0;
    margin: -40px auto;
  }

  .img_report-main {
    position: static;
    left: auto;
    top: auto;
    width: 100%;
    margin: 0;
    padding: 0;
  }
  .img_report-main img {
    width: 50%;
    margin: 0 25% 4%;
    padding: 0;
  }
  .report_lead strong {
    display: inlines;
    background: linear-gradient(transparent 2%, #fdff81 0);
    padding: 0 0.1em;
    font-weight: 700;
  }
  .report_lead p {
    margin-bottom: 1em;
  }
  .report_txt p {
    margin-bottom: 1em;
  }
  .report_txt h2 {
    position: relative;
    left: -50px;
    width: 1150px;
  }
  .report_txt h4 {
    margin-top: 1.5em !important;
  }
  .report-table {
    border-collapse: collapse;
    width: 100%;
    border-top: 1px solid #d0d0d0;
    border-left: 1px solid #d0d0d0;
    font-size: 20.8px;
  }
  .report-table th,
  .report-table td {
    border-bottom: 1px solid #d0d0d0;
    border-right: 1px solid #d0d0d0;
    min-height: 60px;
    padding: 2% 4%;
    line-height: 1.3;
    vertical-align: middle;
  }
  .report-table th {
    background-color: #effbf9;
    color: #249a86;
    width: auto;
  }
  .report-price-table {
    border-collapse: collapse;
    width: 100%;
    border-top: 1px solid #d0d0d0;
    border-left: 1px solid #d0d0d0;
    font-size: 20.8px;
  }
  .report-price-table th,
  .report-price-table td {
    border-bottom: 1px solid #d0d0d0;
    border-right: 1px solid #d0d0d0;
    min-height: 60px;
    padding: 2%;
    line-height: 1.3;
    vertical-align: middle;
    text-align: center;
    white-space: nowrap;
  }
  .report-price-table th {
    background-color: #effbf9;
    color: #249a86;
  }
  .report-price-table thead th {
    background-color: #249a86;
    color: #fff;
    padding: 1% 2%;
  }
  .report-price-table td.align_left {
    text-align: left;
  }
  .report_txt .price_note {
    font-size: 20px;
  }
  .report_txt .point_wrap {
    border: 6px solid #eee;
    padding: 4% 4% 1%;
  }
  .report_txt .point_wrap .pont_midashi {
    background-color: #effbf9;
    text-align: center;
    font-size: 30px;
    font-weight: 700;
    color: #249a86;
    height: 60px;
    min-height: 60px;
    line-height: 58px;
    padding: 0;
  }
  .report_txt .point_wrap .pont_txt {
    margin-bottom: 2em;
  }
  .report_txt .cta-txt {
    font-weight: 700;
    font-size: 36px;
    line-height: 48px;
    letter-spacing: 0%;
    text-align: center;
    color: #0376c3;
    margin-top: 10%;
  }
  .report_txt .full.cta {
    width: 66%;
    margin: 0 17% 5%;
  }
  .point_table th {
        padding: 18px 10px;
        font-size: 22px;
  }
  .point_table td {
        padding: 20px 48px !important;
        font-size: 20.8px;
  }
  .point_table strong {
    background: #fff59d;
    padding: 2px 6px;
  }

  .staff-prf {
        padding: 40px 76px 42px;
        margin: 40px 0 70px;
  }
  .staff-prf-wrap {
        display: flex;
        justify-content: center;
  }
  .staff-img {
    width: 180px;
  }
}
