/* Responsive overflow repairs. Keep desktop layout and page content unchanged. */
@media screen and (max-width: 1024px) {
  .common-action-button,
  .underground-login-button {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .procedure-step-list,
  .construction-flow-list,
  .lp-merit-reasons,
  .electric-order-attention {
    grid-template-columns: minmax(0, 1fr);
  }

  .procedure-step-list > li,
  .construction-flow-list > li,
  .lp-merit-reasons > section,
  .electric-order-attention > *,
  .procedure-info-grid > section,
  .procedure-application-grid > section {
    min-width: 0;
  }

  .denki-consultation-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .denki-consultation-form .form-card,
  .denki-consultation-form .form-field,
  .denki-consultation-form fieldset,
  .denki-consultation-form legend {
    min-width: 0;
    max-width: 100%;
  }

  .denki-consultation-form fieldset label,
  .denki-consultation-form input[type="file"] {
    box-sizing: border-box;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .check-image-grid figcaption span {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .lifesupport-content .membership__links {
    max-width: 100%;
    box-sizing: border-box;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Keep the existing mobile menu breakpoint; fit the narrow tablet header. */
@media screen and (min-width: 1001px) and (max-width: 1024px) {
  .lifesupport-content .site-header__inner {
    gap: 20px;
  }

  .lifesupport-content .site-logo {
    gap: 12px;
    font-size: 22px;
  }

  .lifesupport-content .site-logo img {
    width: 150px;
  }
}

@media screen and (max-width: 767px) {
  .denki-simulator .center-block-xs {
    min-width: 0;
    max-width: 100%;
  }

  .denki-simulator #meter_btn {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    white-space: normal;
    height: auto;
  }
}

@media screen and (max-width: 360px) {
  #tour .tour__brume-inner {
    min-width: 0;
    max-width: 100%;
    grid-template-columns: minmax(0, 1fr);
  }

  #tour .tour__brume-info dt,
  #tour .tour__brume-info dd {
    white-space: normal;
    overflow-wrap: anywhere;
  }

  #tour .tour__brume-image {
    max-width: 120px;
    justify-self: center;
  }
}
