/* =========================================
   コラム記事用スタイル
========================================= */

.reform-column-wrap .article-title,
.reform-column-wrap .article-meta,
.reform-column-wrap .article-intro,
.reform-column-wrap .heading-h2,
.reform-column-wrap .heading-h3,
.reform-column-wrap .article-table,
.reform-column-wrap .comparison-table,
.reform-column-wrap .section-full-img,
.reform-column-wrap .section-side-img,
.reform-column-wrap .expert-comment-box,
.reform-column-wrap .cta-box {
  margin-left: auto;
  margin-right: auto;
  color: #333;
  line-height: 1.8;
  box-sizing: border-box;
}

/* タイトル */
.reform-column-wrap .article-title {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 12px;
  line-height: 1.4;
}

/* メタ情報 */
.reform-column-wrap .article-meta {
  display: flex;
  gap: 15px;
  margin-bottom: 25px;
  font-size: 14px;
  color: #666;
}

.reform-column-wrap .category {
  background-color: #005a9c;
  color: #fff;
  padding: 4px 10px;
  border-radius: 4px;
  font-weight: bold;
}

/* 導入文 */
.reform-column-wrap .article-intro {
  background-color: #f7f9fa;
  padding: 20px 25px;
  margin-bottom: 40px;
  border-radius: 8px;
}

/* H2 */
.reform-column-wrap .heading-h2 {
  font-size: 22px;
  border-bottom: 3px solid #005a9c;
  padding-bottom: 10px;
  margin-top: 50px;
  margin-bottom: 20px;
}

/* H3 */
.reform-column-wrap .heading-h3 {
  font-size: 18px;
  border-left: 5px solid #005a9c;
  padding-left: 12px;
  margin-top: 40px;
  margin-bottom: 15px;
}

/* テーブル */
.reform-column-wrap .article-table,
.reform-column-wrap .comparison-table {
  width: 100%;
  border-collapse: collapse;
  margin: 30px auto;
}

.reform-column-wrap .article-table th,
.reform-column-wrap .article-table td,
.reform-column-wrap .comparison-table th,
.reform-column-wrap .comparison-table td {
  border: 1px solid #ccc;
  padding: 12px;
}

.reform-column-wrap .article-table th {
  background-color: #f0f4f8;
}

.reform-column-wrap .comparison-table thead th {
  background-color: #eaf4fc;
}

.reform-column-wrap .article-table th,
.reform-column-wrap .comparison-table th {
  text-align: center;
  font-weight: bold;
  color: #333333;
}

.reform-column-wrap .small-text {
  font-size: 0.85em;
  color: #666;
  display: block;
  margin-top: 5px;
}

/* 画像 */
.reform-column-wrap .section-full-img img,
.reform-column-wrap .side-img-box img {
  width: 100%;
  height: auto;
  border-radius: 4px;
}

.reform-column-wrap .section-full-img {
  margin: 40px auto;
}

.reform-column-wrap .section-side-img {
  display: flex !important;
  gap: 25px;
  margin: 40px auto;
  align-items: flex-start;
}

.reform-column-wrap .side-img-box {
  flex: 0 0 45%;
}

.reform-column-wrap .side-text-box {
  flex: 1;
}

/* キャプション */
.reform-column-wrap .img-caption {
  font-size: 0.8em;
  color: #999;
  text-align: center;
  margin-top: 8px;
}

.reform-column-wrap .img-caption-bold {
  font-weight: bold;
  color: #333;
}

/* マーカー */
.reform-column-wrap .marker-yellow {
  background: linear-gradient(transparent 60%, #fff2a8 60%);
  font-weight: bold;
}

/* コメント */
.reform-column-wrap .expert-comment-box {
  background-color: #eaf4fc;
  padding: 20px;
  border-radius: 8px;
  margin: 40px auto;
}

.reform-column-wrap .expert-profile {
  display: flex;
  align-items: center;
  gap: 15px;
  font-weight: bold;
  margin-bottom: 15px;
}

.reform-column-wrap .expert-icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  border: 2px solid #005a9c;
}

/* CTA */
.reform-column-wrap .cta-box {
  background-color: #fff8e5;
  border: 2px solid #f1984d;
  padding: 40px 20px;
  text-align: center;
  border-radius: 8px;
  margin-top: 60px;
}

.reform-column-wrap .cta-button {
  display: inline-block;
  background-color: #f1984d;
  color: #fff !important;
  padding: 15px 50px;
  border-radius: 30px;
  text-decoration: none;
  font-weight: bold;
}
.reform-column-wrap .table-scroll {
  width: 100%;
  overflow-x: auto;
}

.reform-column-wrap .table-scroll table {
  min-width: 680px;
}

.reform-column-wrap .table-scroll th,
.reform-column-wrap .table-scroll td {
  white-space: nowrap;
}

/* スマホ */
@media screen and (max-width: 768px) {
  .reform-column-wrap .article-title,
  .reform-column-wrap .article-meta,
  .reform-column-wrap .article-intro,
  .reform-column-wrap .heading-h2,
  .reform-column-wrap .heading-h3,
  .reform-column-wrap .article-table,
  .reform-column-wrap .comparison-table,
  .reform-column-wrap .section-full-img,
  .reform-column-wrap .section-side-img,
  .reform-column-wrap .expert-comment-box,
  .reform-column-wrap .cta-box {
    width: 100%;
    padding-left: 16px;
    padding-right: 16px;
  }

  .reform-column-wrap .section-side-img {
    flex-direction: column;
  }

  .reform-column-wrap .side-img-box,
  .reform-column-wrap .side-text-box {
    width: 100%;
  }

  .reform-column-wrap .cta-button {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }
}

@media screen and (max-width: 768px) {
  .reform-column-wrap .table-scroll table {
    display: table !important;
    width: auto !important;
    min-width: 680px !important;
    border-collapse: collapse;
  }

  .reform-column-wrap .table-scroll thead {
    display: table-header-group !important;
  }

  .reform-column-wrap .table-scroll tbody {
    display: table-row-group !important;
  }

  .reform-column-wrap .table-scroll tr {
    display: table-row !important;
  }

  .reform-column-wrap .table-scroll th,
  .reform-column-wrap .table-scroll td {
    display: table-cell !important;
    white-space: nowrap !important;
  }
}