@media screen and (max-width: 768px) {

  #souzai-form {
    padding: 10px;
  }

  #souzai-form ul {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px;
  }

  #souzai-form li {
    font-size: 13px;
    padding: 8px;
  }

  #souzai-form li img {
    height: 100px;
  }

  #souzai-form .item-name {
    font-size: 14px;
  }

  #souzai-form .item-price {
    font-size: 13px;
  }

  #souzai-form .item-qty input[type="number"] {
    width: 48px;
    font-size: 15px;
  }

  #souzai-form .item-unit {
    font-size: 13px;
  }

  #souzai-form h3 {
    font-size: 16px;
  }

  #souzai-form input[type="text"],
  #souzai-form input[type="email"],
  #souzai-form input[type="tel"] {
    font-size: 15px;
  }

  #souzai-form button[type="submit"] {
    font-size: 18px;
    padding: 12px;
  }

  .resv-thanks {
    font-size: 20px;
  }

  .resv-note,
  .resv-description {
    font-size: 14px;
  }

  .resv-check-btn {
    font-size: 16px;
    padding: 12px 20px;
  }

  .resv-check-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .resv-check-row input[type="text"] {
    width: 100%;
    max-width: 100%;
  }

  .resv-check-label {
    margin-bottom: 4px;
  }

  .resv-check-btn {
    width: 100%;
    max-width: 100%;
  }

  .resv-box {
    flex-direction: column;
    gap: 8px;
  }

  .reservation-id {
    font-size: 28px;
  }
}
