@charset "utf-8";
/*
 * ============================================================
 * style_report.css - 取材レポートページ専用スタイル
 * ============================================================
 * 読み込み: 取材レポート詳細（single-report.php）
 * 依存: style.css（先に読み込まれる）
 * ============================================================
 */
/* 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) {
  body.single-report main {
    background-color: #f0f4f4;
    margin-bottom: 7rem;
  }
  body.single-report 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;
  }
}

/*********************************************
 取材レポート詳細（single-report.php から移植）
 main は body.single-report main に限定
*********************************************/
body.single-report main {
  background-color: #F9F8F6;
}
.report-contents-wrap {
  background-color: #fff !important;
  max-width: 1200px;
  width: 92%;
  margin: -57px auto 0;
  padding: 0 4%;
  box-sizing: border-box;
}
.report-contents-wrap .img_report-main {
  width: 55.8%;
  margin: 0 22.1% 6%;
}
.report-contents-wrap .img_report-main img {
  margin: 0;
  padding: 0;
  width: 100%;
  vertical-align: top;
}
.report-contents-wrap .report_title h1 {
  color: #248879;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.report_update {
  position: relative;
  text-align: left;
  font-size: 16px;
  color: #32302F;
  letter-spacing: 0.08em;
  line-height: 1.4;
  padding-left: 24px;
  margin-top: 20px;
}
.report_update::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-color: #249A86;
  height: 13px;
  width: 13px;
  border-radius: 50%;
}
.report_lead {
  font-size: 20px;
  line-height: 2;
  font-weight: 400;
  margin: 30px 0 50px;
  color: #434343;
}

/*目次（report共通）*/
.report-contents-wrap .howto_toc {
  border: 4px solid #248879;
  padding: 60px 35px 45px;
}
.report-contents-wrap .howto_toc-title {
  color: #248879;
  font-size: 40px;
  width: 100%;
  text-align: center;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 15px;
  letter-spacing: 0.05em;
  margin-bottom: 70px;
}
.single-report .report_txt h2,
.single-report .report_txt h3 {
  scroll-margin-top: 96px;
}

/*本文（report）*/
.single-report .post-txt_article-common {
  font-size: 20px;
  line-height: 2.1;
  font-weight: 400;
  color: #434343;
}
.single-report .post-txt_article-common img {
  width: 50%;
  margin: 5% 25%;
}
.single-report .post-txt_article-common strong {
  background: #FEFFB3;
  padding: .05em .2em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  font-weight: 700;
}
.single-report .post-txt_article-common h2 {
  font-size: 34px;
  font-weight: 500;
  color: #00826E;
  border-top: none;
  border-left: 6px solid #00826E;
  background: none;
  padding-left: 30px;
  letter-spacing: 0.05em;
  margin: 0 0 0 -1.5%;
}
.single-report .post-txt_article-common h2::before {
  content: none !important;
  display: none !important;
}
.single-report .post-txt_article-common h3 {
  font-size: 30px;
  font-weight: 500;
  color: #00826E;
  border-top: 2px solid #00826E;
  border-bottom: 2px solid #00826E;
  background: none;
  padding-left: 0;
  letter-spacing: 0.05em;
  margin: 0;
}
.single-report .post-txt_article-common h4 {
  position: relative;
  left: -20px;
  display: block;
  font-size: 30px;
  font-weight: 500;
  color: #00826E;
  letter-spacing: 0.05em;
  padding: 45px 0 0;
}
.single-report .post-txt_article-common h4::before {
  content: "● ";
  font-size: 30px;
  color: #00826E;
  border: 0;
  margin: 0;
}
.single-report .point_wrap {
  border: 2px solid #00826E;
}
.single-report .pont_midashi {
  background-color: #00826E;
  color: #fff;
  text-align: center;
  font-size: 22px;
  line-height: 1.4;
  padding: 18px 0 20px;
}
.single-report .pont_txt {
  padding: 20px 60px 25px;
}

@media (max-width: 480px) {
  .report-contents-wrap .img_report-main {
    width: 100%;
    margin: 0 auto 4%;
    padding-top: 140px !important;
  }
}
@media print, screen and (max-width: 1200px) {
  body.single-report main {
    background-color: #F9F8F6;
    padding: 0;
    margin: 0;
  }
  .report-contents-wrap {
    max-width: none;
    width: 100%;
    margin: 12px auto 0;
    padding: 0;
  }
  .report-contents-wrap .img_report-main { width: 100%; margin: -10px 0 4% 5%; padding: 0; }
  .report-contents-wrap .img_report-main img { width: 100%; padding: 0; margin: 0; }
  .report-contents-wrap .report_title h1 { font-size: 5.5vw; line-height: 1.4; padding: 0 9%; }
  .report_update { font-size: 3vw; padding-left: 5vw; margin: 20px 10%; }
  .report_lead { font-size: 4.063vw; margin: 3.125vw 0 9.375vw; padding: 0 9%; }
  .report-contents-wrap .howto_toc { padding: 10% 4% 8%; margin: 0 7% 30%; }
  .report-contents-wrap .howto_toc-title { font-size: 6.25vw; text-decoration-thickness: 0.313vw; text-underline-offset: 2.344vw; margin-bottom: 6.25vw; }
  .single-report .report_txt h2, .single-report .report_txt h3 { scroll-margin-top: 15vw; }
  .single-report .post-txt_article-common { font-size: 4.063vw; padding: 0 8% 0; margin: -7.812vw 0 0 0; }
  .single-report .post-txt_article-common img { width: 100%; margin: 5% 0; }
  .single-report .post-txt_article-common h2 { font-size: 5.5vw; padding-left: 4.5vw; margin: 0; }
  .single-report .post-txt_article-common h2::before { content: none !important; display: none !important; }
  .single-report .post-txt_article-common h3 { font-size: 5.3vw; }
  .single-report .post-txt_article-common h4 { left: -3.125vw; font-size: 4.688vw; padding: 7.031vw 0 0; text-indent: -2em; padding-left: 2em; }
  .single-report .post-txt_article-common h4::before { font-size: 4.688vw; }
  .single-report .point_wrap { border: 2px solid #00826E; }
  .single-report .pont_midashi { font-size: 3.438vw; padding: 2.813vw 0 3.125vw; }
  .single-report .pont_txt { font-size: 3.438vw; line-height: 1.6; padding: 3.125vw; }
}
