/* 本文の固定幅レイアウトを小さな画面で縦並びにする。 */
.responsive-product #contents,
.responsive-product .no70-content-inner {
  max-width: 100%;
  min-width: 0;
}

.responsive-product #contents img,
.responsive-product #contents iframe {
  max-width: 100%;
}

.responsive-product #contents .video-note {
  margin: 0.7em 0 0;
}

.responsive-product #contents .video-cell > br {
  display: none;
}

.responsive-product #contents .video-cell > b {
  display: block;
  margin-top: 0.7em;
}

.responsive-product .use-steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
  margin: 12px 0;
}

.responsive-product .use-step img {
  display: block;
  width: min(100%, 310px);
  height: auto;
}

.responsive-product .use-step p {
  margin: 6px 0 0;
}

@media only screen and (max-width: 639px) {
  .responsive-product #contents {
    overflow-wrap: anywhere;
  }

  .responsive-product #contents .table_scroll {
    overflow: visible;
  }

  .responsive-product #contents table:not(.hpb-cnt-tb1),
  .responsive-product #contents table:not(.hpb-cnt-tb1) > tbody,
  .responsive-product #contents table:not(.hpb-cnt-tb1) > tbody > tr,
  .responsive-product #contents table:not(.hpb-cnt-tb1) > tbody > tr > td,
  .responsive-product #contents table:not(.hpb-cnt-tb1) > tbody > tr > th {
    display: block;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  .responsive-product #contents table:not(.hpb-cnt-tb1) > tbody > tr > td,
  .responsive-product #contents table:not(.hpb-cnt-tb1) > tbody > tr > th {
    padding: 4px 0;
    white-space: normal !important;
  }

  .responsive-product #contents table:not(.hpb-cnt-tb1) > tbody > tr > td:empty {
    display: none;
  }

  .responsive-product #contents .hpb-cnt-tb1 {
    max-width: 100%;
    height: auto !important;
    table-layout: fixed;
  }

  .responsive-product #contents .hpb-cnt-tb1 td {
    overflow-wrap: anywhere;
  }

  .responsive-product #contents img {
    max-width: 100% !important;
    height: auto !important;
    float: none !important;
  }

  .responsive-product #contents iframe {
    display: block;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9;
    float: none !important;
  }

  .responsive-product #contents .catalog-rollover {
    vertical-align: middle;
    margin: 3px 5px 3px 0;
  }

  .responsive-product .use-steps {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .responsive-product .use-step {
    padding-bottom: 12px;
    border-bottom: 1px solid #ddd;
  }
}
