.main-visual {
  margin-top: 0;
  margin-bottom: calc(80 / 750 * 100vw);
  height: calc(680 / 750 * 100vw);
  background: linear-gradient(#ee2013 0, #f74813 50%, #ff6512 85%, #ff6513 100%);
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.overlay-text {
  display: block;
  width: calc(176 / 375 * 100vw);
  transform: translateY(calc(-17 / 375 * 100vw));
}

.main-cars {
  width: calc(285 / 375 * 100vw);
  height: calc(116 / 375 * 100vw);
  position: absolute;
  left: 50%;
  bottom: calc(18 / 750 * 100vw);
  transform: translateX(-50%);
  opacity: 0.85;
}

.car-c {
  width: calc(96 / 375 * 100vw);
  position: absolute;
  bottom: calc(11 / 375 * 100vw);
  left: 0;
}
.car-a {
  width: calc(105 / 375 * 100vw);
  position: absolute;
  bottom: calc(5 / 375 * 100vw);
  right: 0;
}
.car-b {
  width: calc(146 / 375 * 100vw);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-52%);
}

/*main*/
.souba-contents {
  border-top: 1px solid #ffed00;
  border-right: 1px solid #ffed00;
  padding: calc(18 / 375 * 100vw) calc(12 / 375 * 100vw);
}

h2 {
  font-size: 1.3rem;
  color: #ff6512;
  margin-bottom: 0.2rem;
}

.satei_select {
  margin-bottom: calc(80 / 750 * 100vw);

  & table {
    width: 100%;
  }
}
.sel-mo {
  position: relative;
  height: 24vw;

  & td:first-child {
    position: absolute;
    font-size: 5vw;
    top: 0;
    left: 0;
  }
  & td:nth-child(2) {
    position: absolute;
    top: 12vw;
    right: 0;
  }

  & form {
    background: #eee;
    border: 1px solid #333;
    padding: 0 0 0.1rem 0.8rem;
    margin: 0;
    border-radius: 4px;
    font-size: 0.9rem;
  }
}

.caption {
  font-size: 0.8rem;
  line-height: 1.3;
}

.list_satei {
  font-size: 3.2vw;
  text-align: initial;

  & li {
    margin-bottom: 5.3vw;

    & table {
      border-spacing: 0;
      border-bottom: 1px solid #ccc;
      border-left: 1px solid #ccc;
      border-right: 1px solid #ccc;
      width: 100%;

      & tr {
        & th {
          white-space: nowrap;
          padding: 1vw;
          border-right: 1px solid #ccc;
          border-top: 1px solid #ccc;
          color: #fff;
          background-color: #ff6512;
          width: 17vw;
        }
        & td {
          padding: 1vw;
          border-right: 1px solid #ccc;
          border-top: 1px solid #ccc;
          width: 22vw;
        }

        & .pic_cell {
          width: 44vw;
          border-right: none;
          & img {
            width: auto;
            height: auto;
          }
        }
        &:last-child td {
          border-right: none;
          width: 66vw;
        }
      }
    }
  }
}

@media screen and (min-width: 601px) {
  .main-visual {
    margin-bottom: calc(60 / 1000 * 100vw);
    height: calc(528 / 1000 * 100vw);
  }

  .overlay-text {
    width: calc(266 / 1000 * 100vw);
    max-width: 266px;
    transform: translateY(calc(-96 / 1000 * 100vw));
  }

  .main-cars {
    width: calc(594 / 1000 * 100vw);
    max-width: 594px;
    height: calc(242 / 1000 * 100vw);
    max-height: 242px;
    bottom: calc(36 / 1000 * 100vw);
  }

  .car-c {
    width: calc(200 / 1000 * 100vw);
    max-width: 200px;
    bottom: calc(23 / 1000 * 100vw);
  }
  .car-a {
    width: calc(220 / 1000 * 100vw);
    max-width: 220px;
    top: calc(10 / 1000 * 100vw);
  }
  .car-b {
    width: calc(305 / 1000 * 100vw);
    max-width: 305px;
  }

  .souba-contents {
    border: none;
  }

  .satei_select {
    margin-bottom: calc(40 / 1000 * 100vw);
  }
  h2 {
    margin-bottom: 0;
  }
  .sel-mo {
    height: 38px;

    & td:first-child {
      font-size: 18px;
    }
    & td:nth-child(2) {
      top: 6px;
    }
  }

  .caption {
    font-size: 0.6rem;
  }

  .list_satei {
    font-size: 1.4vw;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;

    & li {
      width: 49.5%;
      margin-bottom: 1%;

      & table {
        & tr {
          & th {
            padding: 0.5vw;
            width: 7vw;
          }
          & td {
            padding: 0.5vw;
            width: 11vw;
          }
          & .pic_cell {
          width: 22vw;
          }
          &:last-child td {
          width: 33vw;
        }
        }
      }
    }
  }
}
@media screen and (min-width: 811px) {
  .main-visual {
    margin-bottom: 60px;
    max-height: 528px;
  }
  .overlay-text {
    transform: translateY(-90px);
  }
  .main-cars {
    bottom: 36px;
  }
  .car-c {
    top: initial;
    bottom: 23px;
  }
  .car-a {
    top: initial;
    bottom: 10px;
  }
  .car-b {
    width: calc(305 / 1000 * 100vw);
    max-width: 305px;
  }

  .satei_select {
    margin-bottom: 15px;
  }
  h2 {
    margin-bottom: 0;
  }
  .sel-mo {
    height: 38px;

    & td:first-child {
      font-size: 18px;
    }
    & td:nth-child(2) {
      top: 6px;
    }
  }

  .caption {
    font-size: 0.6rem;
  }

  .list_satei {
    font-size: 0.75rem;
        & li {
      & table {
        & tr {
          & th {
            padding: .5rem;
            width: 4.5rem;
          }
          & td {
            padding: .5rem;
            width: 6rem;
          }
          & .pic_cell {
          width: 11rem;
          }
          &:last-child td {
          width: 17rem;
        }
        }
      }
    }
  }
}
