/* PC: 部品写真の3列テーブルを800px内に収める */
@media screen and (min-width:768px) {
  table.hc-parts-source {
    width:800px;
    max-width:800px;
    table-layout:fixed;
    margin-left:auto;
    margin-right:auto;
    border-collapse:collapse;
  }
  table.hc-parts-source > tbody > tr > td,
  table.hc-parts-source > tr > td { width:auto; min-width:0; text-align:center; }
  table.hc-parts-source img { display:block; max-width:100%; height:auto; margin:0 auto; }
  table.hc-parts-source ul, table.hc-parts-source li { text-align:left; }
}

/* HCシリーズ：PCは従来の表組みを維持 */
.hc-mobile-cards { display: none; }
@media screen and (max-width:767px) {
  html, body { width:100%; max-width:100%; margin:0; padding:0; overflow-x:hidden; }
  body { box-sizing:border-box; padding:10px; font-size:16px; line-height:1.65; overflow-wrap:anywhere; }
  *, *::before, *::after { box-sizing:border-box; }
  center { max-width:100%; }
  table:not(.hc-responsive-source), table:not(.hc-responsive-source) > tbody,
  table:not(.hc-responsive-source) > tbody > tr,
  table:not(.hc-responsive-source) > tbody > tr > td,
  table:not(.hc-responsive-source) > tr, table:not(.hc-responsive-source) > tr > td {
    display:block; width:100% !important; max-width:100%; height:auto !important; min-width:0;
  }
  table:not(.hc-responsive-source) { border-spacing:0; margin:10px auto; }
  table:not(.hc-responsive-source) td { padding:10px 12px; white-space:normal !important; }
  table.hc-responsive-source { display:none !important; }
  .hc-mobile-cards { display:block; width:100%; max-width:100%; margin:12px 0 22px; }
  .hc-mobile-card { margin:0 0 16px; border:1px solid #d3dfd3; background:white; }
  .hc-mobile-card-title { background:#1e90ff; color:#fff; text-align:center; padding:10px 8px; font-weight:bold; }
  .hc-mobile-card-title h3, .hc-mobile-card-title h2, .hc-mobile-card-title p { color:white; margin:0; font-size:1.05rem; line-height:1.55; }
  .hc-mobile-card-body { padding:12px 8px; min-width:0; }
  .hc-mobile-shared { padding:10px 12px; margin-bottom:18px; background:#f5f8f4; }
  img { max-width:100% !important; height:auto !important; object-fit:contain; }
  iframe { display:block; width:100% !important; max-width:100%; height:auto !important; aspect-ratio: 400 / 284; border:0; }
  hr { width:100% !important; max-width:100%; }
  h1 { font-size:1.55rem; line-height:1.4; margin:10px 0; }
  h2 { font-size:1.25rem; line-height:1.4; margin:10px 0; }
  h3 { font-size:1.08rem; line-height:1.5; margin:5px 0; }
  ul,ol { padding-left:1.5em; margin:8px 0; }
  li { margin-bottom:5px; }
  a { overflow-wrap:anywhere; }
  [data-mrc-webform] { width:100%; max-width:100%; }
  table:not(.hc-responsive-source) td[bgcolor] { text-align:center; }

  /* スマートフォン：説明文は左寄せ（centerタグの中央寄せを上書き） */
  body, center, .hc-mobile-card-body, .hc-mobile-shared,
  table:not(.hc-responsive-source) td, p, ul, ol, li, dl, dd {
    text-align: left;
  }
  /* 見出しの帯と画像・動画は従来どおり中央寄せ */
  .hc-mobile-card-title,
  table:not(.hc-responsive-source) td[bgcolor] { text-align:center; }
  .hc-mobile-card-body img, .hc-mobile-shared img,
  table:not(.hc-responsive-source) img { display:block; margin-left:auto; margin-right:auto; }
  .hc-mobile-card-body iframe, table:not(.hc-responsive-source) iframe { margin-left:auto; margin-right:auto; }

}
