/* 特定商取引法ページ専用スタイル */

/* セクションタイトル（h2）のスタイル */
.stl-sub-ttl {
  font-size: clamp(24px, 1.667vw, 28px) !important;
  font-weight: 700 !important;
  margin-top: clamp(60px, 4.167vw, 80px) !important;
  margin-bottom: clamp(20px, 1.389vw, 25px) !important;
  padding: 0 !important;
  color: #333 !important;
  text-align: left !important;
}

/* コンテンツブロックの余白調整 */
.stl-block {
  margin-bottom: clamp(16px, 1.111vw, 20px) !important;
}

/* デフォルトの項目余白（販売事業者セクションなど） */
.stl-item {
  margin-bottom: clamp(20px, 1.389vw, 25px) !important;
}

.stl-item-ttl {
  font-size: clamp(1.4rem, 0.972vw, 1.9rem) !important;
  font-weight: 700 !important;
  margin-bottom: clamp(6px, 0.4167vw, 8px) !important;
}

.stl-item-txt {
  font-weight: 500 !important;
}

.stl-item-txt p {
  margin-bottom: clamp(10px, 0.6944vw, 13px) !important;
}

/* コンパクト表示用クラス（価格・支払・提供時期セクションなど） */
.stl-block--compact .stl-item {
  margin-bottom: 8px !important;
  padding-bottom: 0 !important;
}

.stl-block--compact .stl-item:last-child {
  margin-bottom: 16px !important;
}

.stl-block--compact .stl-item-ttl {
  margin-bottom: 2px !important;
  padding-bottom: 0 !important;
  font-size: clamp(14px, 0.972vw, 16px) !important;
}

.stl-block--compact .stl-item-txt {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.stl-block--compact .stl-item-txt p {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1.5 !important;
}

.stl-block--compact .stl-txt {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1.5 !important;
}

/* サブセクションヘディング（h3）のスタイル */
.stl-heading {
  font-size: clamp(18px, 1.25vw, 20px) !important;
  font-weight: 700 !important;
  margin-top: clamp(12px, 0.833vw, 16px) !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  color: #333 !important;
}

/* TAKAMEL会員（月額）など、上部に余白が必要な見出し */
.stl-heading--space-top {
  margin-top: clamp(30px, 2.083vw, 40px) !important;
}

/* テキストの余白調整 */
.stl-txt {
  margin-bottom: clamp(6px, 0.417vw, 8px) !important;
  line-height: 1.7 !important;
}

/* モバイル対応 */
@media screen and (max-width: 834px) {
  .stl-sub-ttl {
    font-size: 20px !important;
    margin-top: 45px !important;
    margin-bottom: 15px !important;
  }

  .stl-heading {
    font-size: 16px !important;
    margin-top: 10px !important;
    margin-bottom: 0 !important;
  }

  .stl-heading--space-top {
    margin-top: 25px !important;
  }

  .stl-block {
    margin-bottom: 12px !important;
  }

  .stl-item {
    margin-bottom: 15px !important;
  }

  /* コンパクト表示用 */
  .stl-block--compact .stl-item {
    margin-bottom: 6px !important;
  }

  .stl-block--compact .stl-item:last-child {
    margin-bottom: 12px !important;
  }

  .stl-block--compact .stl-item-ttl {
    margin-bottom: 1px !important;
    font-size: 13px !important;
  }

  .stl-block--compact .stl-item-txt p {
    line-height: 1.4 !important;
  }

  .stl-txt {
    margin-bottom: 4px !important;
  }
}