/* =============================
   tr-landing 用の最小上書き（レスポンシブ/横幅拡張）
   ============================= */
html, body { margin: 0; padding: 0; color: #202933; }
.tr-landing img, .tr-landing video { max-width: 100%; height: auto; }

/* 横幅: 1250px 固定の箱をまとめて拡張（必要十分） */
.tr-landing .appear,
.tr-landing .header_logo,
.tr-landing .sub-menu_lists,
.tr-landing .client_no-slider-inner,
.tr-landing .client_no-slider-inner02,
.tr-landing .heading_box,
.tr-landing .appeal_area,
.tr-landing .ex-appeal-box,
.tr-landing .ex_contents,
.tr-landing .ex_contents02,
.tr-landing .features_area,
.tr-landing .common-btn,
.tr-landing .common-btn_footer,
.tr-landing .info_area,
.tr-landing .column_area,
.tr-landing .support-detail_area,
.tr-landing .reason_area,
.tr-landing .semi_link,
.tr-landing .whats-soatest_link {
  max-width: 1440px !important;         /* 好みで 1360/1600 に変更可 */
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
}

/* 固定 width の箱は “可変 + 上限” に */
.tr-landing .CTA-first_inner,
.tr-landing .CTA-middle_inner {
  width: auto !important;
  max-width: 1440px !important;
  margin: 0 auto;
  padding: 0 16px;
}

/* セクションを端まで広げたい場合に使うユーティリティ */
.tr-landing .alignfull {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.tr-landing .alignwide {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 16px;
}

/* モバイルの余白・可読性を微調整 */
@media (max-width: 768px) {
  .tr-landing #contents { padding-top: 0 !important; }
  .tr-landing .heading_box { margin: 0 16px !important; padding: 3em 0 1em !important; }
  .tr-landing .CTA-first_inner,
  .tr-landing .CTA-middle_inner { gap: 16px; }
  .tr-landing .CTA-first_box,
  .tr-landing .CTA-first_box02,
  .tr-landing .CTA-middle_box,
  .tr-landing .CTA-middle_box02 { width: 100% !important; }
}
