@media only screen and (max-width: 768px) {
  .home_page .key {
    --height: 125vw;
    --max-height: 920px;
    --min-height: 320px;
    font-size: 10px;
  }
  .home_page .key .key_text .item {
    padding: 0 20px;
  }
  .home_page .key .catch {
    padding-bottom: min(35vw, 260px);
  }
}
@media only screen and (max-width: 640px) {
  .home_page .key {
    --height: calc(100vh - 60px);
    --max-height: 123vw;
    font-size: 1.4vmin;
  }
}
@media only screen and (max-width: 430px) {
  .home_page .key .key_text .item {
    padding: 0;
  }
}
@media only screen and (max-width: 768px) and (orientation: landscape) {
  .home_page .key {
    font-size: 1.4vmin;
    --height: 50vw;
  }
  .home_page .key .catch {
    padding-bottom: 70px;
  }
}
@media only screen and (max-width: 768px) and (orientation: portrait) {
  .home_page .key::before {
    width: 90%;
    max-width: 670px;
    background-image: url(../images/idx_mv01_sp.jpg);
  }
}
@media only screen and (max-width: 768px) {
  .home_page h3 {
    text-align: center;
    margin-bottom: 30px;
    font-size: calc(var(--ttl_size) + 0px);
  }
}
@media only screen and (max-width: 768px) {
  .idx01 {
    padding: clamp(60px, 12vw, 80px) 0;
  }
  .idx01 h3 {
    margin-bottom: 25px;
  }
  .idx01 .content::before, .idx01 .content::after {
    font-size: 6px;
  }
  .idx01 .content::before {
    bottom: 100%;
    left: 0;
  }
  .idx01 .content::after {
    bottom: -8em;
    right: 0;
  }
  .idx01 .news ul {
    margin-bottom: 30px;
  }
  .idx01 .news ul li a {
    padding: 1.2em 1em;
    --w-d: 100px;
    --w-c: 80px;
  }
  .idx01 .news ul li a::before, .idx01 .news ul li a::after {
    width: 20px;
    height: 20px;
    bottom: 1.25em;
    right: 1em;
  }
  .idx01 .news ul li a .title {
    margin-left: 1em;
  }
  .idx01 .btn-group {
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
  }
  .idx02 {
    padding: 0;
  }
  .idx02 .idx_box {
    display: flex;
    flex-direction: column-reverse;
    max-width: 682px;
    margin: 0 auto;
  }
  .idx02 .idx_map {
    margin-bottom: 10px;
    height: 299px;
  }
  .idx02 .idx_vehicle {
    margin-bottom: 30px;
  }
  .idx02 .idx_vehicle > span::before {
    font-size: 0.875em;
    margin-bottom: 1.2em;
  }
  .idx03 {
    padding: max(120px, 40vw) 0 clamp(60px, 12vw, 80px);
  }
  .idx03::before, .idx03::after {
    width: min(256vw, 1920px);
    left: calc(50% - 128vw);
  }
  .idx03::before {
    top: 0;
  }
  .idx03 .box01 {
    display: flex;
    flex-direction: column;
    margin-bottom: 40px;
  }
  .idx03 .box01::before {
    font-size: min(1.333vw, 10px);
    bottom: calc(100% + 2em);
    right: 0;
  }
  .idx03 .box_img {
    max-width: 613px;
    order: 2;
    margin: 0 auto;
    margin-bottom: 30px;
  }
  .idx03 .box_img picture::before {
    bottom: 1%;
    left: 12.8%;
  }
  .idx03 .box_img .name {
    font-size: min(2.2vw, 10px);
    top: -10px;
    right: 0px;
  }
  .idx03 .box_content {
    display: contents;
  }
  .idx03 .box_content .desc {
    order: 3;
  }
  .idx03 .box02 .item {
    max-width: 655px;
    margin: 0 auto;
    padding: clamp(30px, 10vw, 60px) clamp(20px, 6.25vw, 40px);
  }
  .idx03 .box02 .item:not(:last-child) {
    margin-bottom: 30px;
  }
  .idx03 .box02 .item:before {
    font-size: clamp(6px, 1.875vw, 10px);
  }
  .idx03 .box02 .item .ttl {
    font-size: 22px;
    padding-bottom: 10px;
    margin-bottom: 15px;
  }
  .idx03 .box02 .item .txt dl {
    --w: 180px;
  }
  .idx03 .box02 .item .txt dl:not(:last-child) {
    margin-bottom: 8px;
  }
  .idx04 {
    padding: clamp(60px, 12vw, 80px) 0;
  }
  .idx04::before, .idx04::after {
    width: min(256vw, 1920px);
    left: calc(50% - 128vw);
  }
  .idx04 .inner_max::before {
    font-size: 6px;
    bottom: 100%;
    right: 20px;
  }
  .idx04 .idx_box {
    flex-direction: column;
    padding: clamp(30px, 10vw, 60px) clamp(20px, 6.25vw, 40px) 80px;
  }
  .idx04 .idx_box::before {
    width: 40%;
  }
  .idx04 .idx_box::after {
    font-size: 6px;
    top: calc(100% - 10em);
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .idx04 .box_content {
    display: contents;
  }
  .idx04 .box_content .ttl {
    text-align: center;
    font-size: 26px;
    line-height: 1.8;
    margin-bottom: 20px;
  }
  .idx04 .box_content .desc {
    order: 3;
    margin-bottom: 30px;
  }
  .idx04 .box_content .btn-group {
    order: 4;
  }
  .idx04 .box_img {
    order: 2;
    width: 90%;
    margin: 0 auto;
    margin-bottom: 30px;
  }
}
@media only screen and (max-width: 639px) {
  .idx01 .content::after {
    bottom: -5em;
    right: 0;
  }
  .idx01 .btn-group {
    flex-direction: column;
    align-items: center;
  }
}
@media only screen and (max-width: 430px) {
  .idx01 .content::after {
    bottom: 0;
  }
  .idx01 .news ul li a {
    flex-wrap: wrap;
  }
  .idx01 .news ul li a .title {
    max-width: 100%;
    margin-left: 0;
    margin-top: 1em;
  }
  .idx03 .box02 .item .txt dl {
    --w: 100px;
  }
}
@media only screen and (max-width: 360px) {
  .idx01 .content::after {
    right: -10px;
  }
  .idx04 .box_content .ttl {
    font-size: 24px;
  }
}

/*# sourceMappingURL=index_sp.css.map */
