@media screen and (max-width:680px) {
  .w-wide .w-middle,
  .w-wide .w-small,
  .w-middle .w-middle,
  .w-middle .w-small {
    width: 100%;
  }
  .sp {
    display: inline-block;
  }

  header {
    margin-bottom: 1.5rem;
  }
  header .logo {
    width: 50%;
  }
  header .tel {
    width: 50%;
  }
  footer {
    margin-top: 4rem;
  }
  footer .inner {
    flex-direction: column;
    justify-content: center;
  }

  #mfp_phase_stat li {
    font-size: 1.2rem;
  }

  form#mailformpro dl dd input,
  form#mailformpro dl dd textarea,
  form#mailformpro dl dd select {
    padding: 0.5em;
  }

  form#mailformpro dl dd label {
    padding: 0.5em;
  }

  form#mailformpro dl .col2:not(.fixed),
  form#mailformpro dl .col3 {
    grid-template-columns: 1fr;
  }

  .button-list {
    margin-top: 5rem;
  }

  table#mfp_confirm_table tr th,
  table#mfp_confirm_table tr td {
    font-size: 1.4rem;
  }
  table#mfp_confirm_table tr th {
    width: 40%;
  }
  table#mfp_confirm_table tr td {
    width: 60%;
  }
  table#mfp_confirm_table .table_separator th {
    font-size: 1.6rem;
  }
  table#mfp_confirm_table .table_separator:has(+ .table_separator) {
    display: none;
  }

  form#mailformpro dl .col2:not(.fixed),
  form#mailformpro dl .col3 {
    grid-template-columns: 1fr;
  }

  #mfp_phase_stat li {
    font-size: 1.2rem;
  }
}