@charset "UTF-8";
@font-face {
  font-family: "mazdatype-regular";
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  src: url(../fonts/mazdatype-regular.otf) format("opentype");
}
@font-face {
  font-family: "mazdatype-bold";
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  src: url(../fonts/mazdatype-bold.otf) format("opentype");
}
html,
body,
div,
span,
h1,
h2,
p,
a,
address,
img,
q,
small,
strong,
var,
i,
dl,
dt,
dd,
ul,
li,
form,
label,
table,
tr,
th,
td,
section,
footer,
header,
main,
nav {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  outline: 0;
  font-size: 1em;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

@media all and (min-width: 897px) and (max-width: 1400px) {
  html {
    font-size: 0.714vw;
  }
}
@media all and (max-width: 614px) {
  html {
    font-size: 1.626vw;
  }
}
body,
table,
input,
textarea,
select,
option {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

footer,
header,
main,
menu,
nav,
section {
  display: block;
}

ul {
  list-style: none;
}

q {
  quotes: none;
}

img {
  vertical-align: top;
  max-width: 100%;
  height: auto;
}

address {
  font-style: normal;
}

a {
  color: inherit;
  transition: 0.3s;
}

a:link {
  text-decoration: none;
}

a:visited {
  color: inherit;
}

a:hover {
  color: inherit;
}

@media all and (min-width: 897px) {
  a:hover {
    opacity: 0.7;
  }
}
a:active {
  color: inherit;
}

body {
  color: #000;
  font-size: 1.6rem;
  line-height: 1.5;
  text-size-adjust: none;
  -webkit-text-size-adjust: none;
  background-color: #fff;
  font-feature-settings: "palt";
}

body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}

@media all and (max-width: 896px) {
  body {
    min-width: inherit;
    font-size: 1.4rem;
  }
}
#container {
  overflow: hidden;
  text-align: left;
}

@media all and (min-width: 897px) {
  .u-mobile {
    display: none !important;
  }
}
@media all and (max-width: 896px) {
  .u-desktop {
    display: none !important;
  }
}
#gHeader {
  margin-bottom: 1.9rem;
  padding: 4rem 2rem;
  border-bottom: 0.7rem solid #000;
}

@media all and (max-width: 896px) {
  #gHeader {
    width: 100%;
    margin-bottom: 3.6rem;
    padding: 2.8rem 9.8rem 2.1rem 2.6rem;
    border-width: 0.7rem;
    background-color: #fff;
    position: fixed;
    top: 0;
    z-index: 10;
  }
}
#gHeader .hBox {
  margin: 0 auto;
  max-width: 139.4rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

@media (min-width: 897px) and (max-width: 1500px) {
  #gHeader .hBox {
    align-items: center;
  }
}
#gHeader h1 {
  margin-left: 0.2rem;
  width: 57.4rem;
}

#gHeader h1 a {
  opacity: 1;
}

@media (min-width: 897px) and (max-width: 1500px) {
  #gHeader h1 {
    width: 50rem;
  }
}
@media all and (max-width: 896px) {
  #gHeader .hBox {
    margin: 0 auto;
    width: auto;
    align-items: center;
  }
  #gHeader h1 {
    margin-left: 0;
    width: 34.8rem;
  }
  #gHeader .menu {
    width: 4.3rem;
    position: absolute;
    right: 2.8rem;
    top: 3.3rem;
    cursor: pointer;
  }
  #gHeader .menu .img02 {
    display: none;
  }
  #gHeader .menu.on .img01 {
    display: none;
  }
  #gHeader .menu.on .img02 {
    display: block;
  }
}
#gNavi {
  margin-bottom: 0.6rem;
  display: flex;
  justify-content: flex-end;
  gap: 3rem;
}

@media (min-width: 897px) and (max-width: 1500px) {
  #gNavi {
    margin-bottom: 0;
  }
}
#gNavi .timeBtn {
  margin-top: 0.3rem;
  width: 5.8rem;
  position: relative;
}

@media all and (max-width: 896px) {
  #gNavi .timeBtn {
    position: static;
  }
}
#gNavi .timeBtn a {
  display: block;
}

#gNavi .timeBtn .calendarBox {
  position: absolute;
  right: 0;
  top: calc(100% + 1.5rem);
  z-index: 10;
  width: 41rem;
  padding: 1.2rem 0.9rem 1.5rem 1.3rem;
  color: #fff;
  font-size: 1rem;
  background-color: #121212;
  box-sizing: border-box;
  border-radius: 0.4rem;
  display: none;
}

@media all and (max-width: 896px) {
  #gNavi .timeBtn .calendarBox {
    width: 100%;
    top: 100%;
    font-size: 1.3rem;
  }
}
#gNavi .timeBtn .calendarBox .title {
  margin-bottom: 1.1rem;
  color: #fff;
  font-size: 1.2rem;
  text-align: center;
}

#gNavi .timeBtn .calendarBox .title img {
  margin: -0.5rem 1rem 0 0;
  width: 2.4rem;
  display: inline-block;
  vertical-align: middle;
}

#gNavi .timeBtn .calendarBox .txtBox {
  margin: 0.6rem 0.3rem 0;
  text-align: left;
  line-height: 1.4;
  letter-spacing: 0.085em;
}

@media all and (max-width: 896px) {
  #gNavi .timeBtn .calendarBox .txtBox {
    width: 78%;
    margin: 0.6rem auto 0;
    font-size: 1rem;
  }
}
#gNavi .timeBtn .calendarBox .txt {
  margin-bottom: 0.6rem;
  text-align: left;
}

#gNavi .timeBtn .calendarBox .txt .col {
  margin-top: -0.1rem;
  width: 1rem;
  height: 1rem;
  display: inline-block;
  vertical-align: middle;
  background-color: #d0d0d0;
}

@media all and (max-width: 896px) {
  #gNavi .timeBtn .calendarBox .txt .col {
    width: 1.3rem;
    height: 1.3rem;
  }
}
#gNavi .timeBtn .calendarBox .txt02 .col {
  background-color: #a98852;
}

#gNavi .timeBtn .calendarBox .txt03 .col {
  background-color: #6fa833;
}

#gNavi .timeBtn .calendarBox .dots {
  margin: -0.6rem 0.4rem 0 0.5rem;
  display: inline-block;
  vertical-align: middle;
}

@media all and (max-width: 896px) {
  #gNavi .timeBtn .calendarBox .txt02,
  #gNavi .timeBtn .calendarBox .txt03,
  #gNavi .timeBtn .calendarBox .txt04 {
    font-size: 1.2rem;
  }
}
#gNavi .timeBtn .calendarBox .txt02,
#gNavi .timeBtn .calendarBox .txt03 {
  margin-bottom: 0.3rem;
}

@media all and (max-width: 896px) {
  #gNavi {
    margin-bottom: 0;
    display: block;
  }
  #gNavi .timeBtn {
    margin-top: 0.1rem;
    width: 3.5rem;
  }
}
.ui-widget-content {
  width: 100% !important;
  border: none !important;
  background-color: transparent !important;
}

@media all and (min-width: 897px) {
  .ui-widget-content {
    display: flex !important;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
#datepicker .ui-widget-header {
  padding: 0.3rem 0 0.2rem !important;
  border: 0.1rem solid #b2b2b2 !important;
  color: #fff !important;
  font-size: 1.2rem;
  border-radius: 0 !important;
  background-color: transparent !important;
  font-family: "mazdatype-regular", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", Meiryo, "Yu Gothic Medium", sans-serif;
}

@media all and (max-width: 896px) {
  #datepicker .ui-widget-header {
    padding: 0.4rem 0 !important;
    font-size: 1.3rem;
  }
}
#datepicker .ui-datepicker th,
#datepicker .ui-datepicker td {
  box-sizing: border-box;
  font-family: "mazdatype-regular", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", Meiryo, "Yu Gothic Medium", sans-serif;
}

#datepicker .ui-datepicker th {
  color: #fff;
  text-align: center;
  padding: 1.1rem 0.2rem 0.5rem !important;
}

#datepicker .ui-datepicker td {
  text-align: center;
}

@media all and (min-width: 897px) {
  #datepicker .ui-datepicker td {
    padding: 0.1rem;
  }
}
#datepicker .ui-datepicker td span,
#datepicker .ui-datepicker td a {
  display: block;
  padding: 0.4rem 0 0.35rem;
  text-align: center;
}

@media all and (max-width: 896px) {
  #datepicker .ui-datepicker td span,
  #datepicker .ui-datepicker td a {
    padding: 0.5rem 0;
  }
}
#datepicker .ui-datepicker td.blue a,
#datepicker .ui-datepicker td.blue span {
  background-color: #d0d0d0 !important;
  color: #282828;
}

#datepicker .ui-datepicker td.yellow a,
#datepicker .ui-datepicker td.yellow span {
  background-color: #a98852 !important;
  color: #fff;
}

#datepicker .ui-datepicker td.green a,
#datepicker .ui-datepicker td.green span {
  background-color: #6fa833 !important;
  color: #fff;
}

@media all and (max-width: 896px) {
  #datepicker .ui-datepicker-multi-2 {
    width: 78% !important;
    margin: 0 auto;
  }
}
#datepicker .ui-datepicker-multi-2 .ui-datepicker-group {
  margin-bottom: 2rem;
  width: 47.8% !important;
}

@media all and (max-width: 896px) {
  #datepicker .ui-datepicker-multi-2 .ui-datepicker-group {
    width: 100% !important;
  }
}
#datepicker .ui-state-default,
#datepicker .ui-widget-content .ui-state-default {
  color: #fff;
  border: none !important;
  background-color: transparent !important;
}

#datepicker .ui-datepicker-multi .ui-datepicker-group span {
  width: 100%;
}

#datepicker .ui-datepicker-title {
  text-align: center;
}

#datepicker .ui-datepicker-calendar {
  margin-bottom: 0 !important;
  width: 100%;
  border-spacing: 0.2rem;
  border-collapse: inherit !important;
}

#datepicker .ui-datepicker-calendar thead th:first-child {
  color: #e13737 !important;
}

#datepicker .ui-datepicker-calendar thead th:last-child {
  color: #269ad6;
}

#datepicker .ui-datepicker-calendar tbody tr td:first-child a,
#datepicker .ui-datepicker-calendar tbody tr td:first-child span {
  color: #e13737;
}

#datepicker .ui-datepicker-calendar tbody tr td:last-child a,
#datepicker .ui-datepicker-calendar tbody tr td:last-child span {
  color: #269ad6;
}

.menuBox .naviList {
  display: flex;
  justify-content: flex-end;
}

.menuBox .naviList li {
  min-width: 13.9rem;
  border-right: 0.1rem solid #000;
}

.menuBox .naviList li:last-child {
  border-right: none;
}

.menuBox .naviList li a {
  padding: 0 2.2rem;
  display: block;
  letter-spacing: 0.1em;
  text-align: center;
}

.menuBox .naviList li a .icon {
  margin-bottom: 0.9rem;
  min-height: 3.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.menuBox .naviList li a .txt {
  display: block;
  font-size: 1.3rem;
}

@media all and (min-width: 897px) {
  .menuBox {
    display: block !important;
  }
}
@media all and (max-width: 896px) {
  .menuBox {
    padding: 5.3rem 5.5rem;
    width: 100%;
    height: calc(100% - 10.6rem);
    position: fixed;
    left: 0;
    top: 10.6rem;
    display: none;
    overflow: auto;
    background: #fff;
    z-index: 1000;
  }
  .menuBox ul {
    margin-bottom: 5rem;
  }
  .menuBox li {
    border-bottom: 0.1rem solid #000;
  }
  .menuBox li a {
    padding: 1.6rem 5rem 1.6rem 2.8rem;
    display: block;
    position: relative;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    background: url(../img/common/icon08.png) no-repeat right 2.5rem center;
    background-size: 2.1rem;
  }
  .menuBox li a::before {
    width: 0.1rem;
    position: absolute;
    left: 1rem;
    top: 1.5rem;
    bottom: 1.5rem;
    background: #6d0c16;
    content: "";
  }
}
#pagePath {
  padding-top: 1rem;
  margin: 0 auto 3rem;
  width: 119rem;
  text-align: right;
  font-size: 1.2rem;
}

#pagePath li {
  display: inline;
}

#pagePath li a {
  margin-right: 0.5rem;
  opacity: 1;
}

@media all and (min-width: 897px) {
  #pagePath li a:hover {
    text-decoration: underline;
  }
}
@media all and (max-width: 896px) {
  #pagePath {
    margin: 0 3.2rem 3.5rem;
    width: auto;
    text-align: left;
  }
}
footer {
  padding: 4rem 0 0 0;
  background: #111111;
  color: #b2b2b2;
  font-family: "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
  font-feature-settings: normal;
}

footer a {
  color: #aaaaaa;
  text-decoration: none;
}

footer a:hover {
  color: #ffffff;
  text-decoration: none;
}

footer .wrap {
  width: 117.4rem;
  margin: 0 auto 0;
}

footer .wrap .t h2 {
  font-size: 2.45rem;
  font-weight: 400;
  color: #ffffff;
  padding: 0 0 1.5rem 0;
}

footer .wrap .t .l {
  width: 81rem;
}

footer .wrap .t .l .calBox .container-calendar {
  margin-bottom: 0;
}

footer .wrap .t .l .calBox .calWrap {
  width: 57.2rem;
  padding: 0 0 1.5rem;
  vertical-align: top;
}

footer .wrap .t .l .calBox .calWrap .ui-datepicker-title {
  margin-bottom: 0.6rem;
  font-weight: bold;
  font-size: 1.7rem;
}

footer .wrap .t .l .calBox .calWrap .calBody .container-calendar:after {
  content: " ";
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0;
  clear: both;
}

footer .wrap .t .l .calBox .calWrap .calBody .container-calendar table {
  float: left;
  table-layout: fixed;
  border-collapse: separate;
  border: 0;
  empty-cells: hide;
  width: 28rem;
  margin: 0 0 1rem;
}

footer .wrap .t .l .calBox .calWrap .calBody .container-calendar table tr th,
footer .wrap .t .l .calBox .calWrap .calBody .container-calendar table tr td {
  padding: 0.4rem 0 0.5rem;
  text-align: center;
  vertical-align: middle;
  color: #b2b2b2;
  font-family: "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
  background: #202020;
  font-weight: normal;
  font-size: 1.7rem;
  border-right: #101010 solid 0.2rem;
  border-bottom: #101010 solid 0.2rem;
}

footer .wrap .t .l .calBox .calWrap .calBody .container-calendar table tr th:first-child,
footer .wrap .t .l .calBox .calWrap .calBody .container-calendar table tr td:first-child {
  color: #d7a096 !important;
}

footer .wrap .t .l .calBox .calWrap .calBody .container-calendar table tr th:first-child + * + * + * + * + * + *,
footer .wrap .t .l .calBox .calWrap .calBody .container-calendar table tr td:first-child + * + * + * + * + * + * {
  color: #8291a5 !important;
}

footer .wrap .t .l .calBox .calWrap .calBody .container-calendar table tr th:first-child span,
footer .wrap .t .l .calBox .calWrap .calBody .container-calendar table tr td:first-child span {
  color: #d7a096;
}

footer .wrap .t .l .calBox .calWrap .calBody .container-calendar table tr th .ui-state-default,
footer .wrap .t .l .calBox .calWrap .calBody .container-calendar table tr td .ui-state-default {
  color: inherit;
}

footer .wrap .t .l .calBox .calWrap .calBody .container-calendar table tr th.blue,
footer .wrap .t .l .calBox .calWrap .calBody .container-calendar table tr td.blue {
  background: #740824;
}

footer .wrap .t .l .calBox .calWrap .calBody .container-calendar table tr th.yellow,
footer .wrap .t .l .calBox .calWrap .calBody .container-calendar table tr td.yellow {
  background: #9c732c;
}

footer .wrap .t .l .calBox .calWrap .calBody .container-calendar table tr th.green,
footer .wrap .t .l .calBox .calWrap .calBody .container-calendar table tr td.green {
  background: #4a8012;
}

footer .wrap .t .l .calBox .calWrap .calBody .container-calendar table:first-child + table {
  float: right;
}

footer .wrap .t .l .calBox .calWrap .calBody p {
  font-size: 1.7rem;
}

footer .wrap .t .l .calBox .calWrap .calBody .holiday {
  font-size: 1.7rem;
  font-weight: 500;
}

footer .wrap .t .l .calBox .calWrap .calBody .holiday span {
  color: #740824;
}

.calendar-note__legend {
  margin-top: 1rem;
  line-height: 1.125;
}
.calendar-note__legend--green span {
  color: #4a8012 !important;
}
.calendar-note__legend--yellow span {
  color: #ddaf63 !important;
}
.calendar-note__text {
  margin: 0.5rem 0 1rem;
  text-align: left;
  line-height: 1.25;
}

footer .wrap .t .l .open {
  margin: 5rem 0 0 2.4rem;
}

footer .wrap .t .l .open p {
  font-size: 1.7rem;
  line-height: 1.5;
  padding: 0 0 1.5rem 0;
}

footer .wrap .t .l .linkBox ul {
  margin-right: 6.1rem;
  width: 36rem;
}

footer .wrap .t .l .linkBox ul li {
  width: 100%;
}

footer .wrap .t .l .linkBox .sslBox {
  width: 36rem;
  font-size: 1.25rem;
  line-height: 1.5;
}

footer .wrap .t .l .linkBox .sslBox ul li {
  padding-top: 1.2rem;
}

footer .wrap .t .l .linkBox .sslBox ul li a {
  font-size: 1.75rem;
  padding: 0 2.3rem 0 0;
  background: url(../img/common/icon_blank.svg) right center no-repeat;
  background-size: 1.6rem auto;
}

footer .wrap .t .r {
  width: 33rem;
}

footer .wrap .t .r .address {
  font-size: 2.1rem;
  line-height: 1.2;
  padding: 0 0 1.9rem 0;
}

footer .wrap .t .r .kouan {
  font-size: 1.9rem;
  line-height: 1.4;
  padding: 0 0 1.7rem 0;
}

@media all and (max-width: 896px) {
  footer {
    padding-top: 3rem;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    background: #000;
  }
  footer .wrap {
    display: none;
  }
  footer .fLogo {
    margin: 0 auto 3rem;
    width: 50.8rem;
  }
  footer p {
    color: #fff;
    font-size: 1.5rem;
    line-height: 1.75;
  }
  footer p.ttl {
    font-size: 2rem;
  }
}
#copyright {
  width: 100%;
  background: #202020;
  color: #b2b2b2;
  margin: 0 auto;
  padding: 1.4rem 0 3.5rem;
  font-size: 1.1rem;
}

#copyright p {
  width: 117.4rem;
  margin: 0 auto;
  font-family: "mazdatype-regular", sans-serif;
  font-weight: normal;
}

@media all and (max-width: 896px) {
  #copyright {
    width: auto;
    background: #000;
    color: #fff;
    padding: 2.4rem 0 3.2rem;
    font-size: 1.5rem;
    text-align: center;
  }
  #copyright p {
    width: auto;
  }
}
.u-flex,
.u-flex-between {
  display: flex;
  flex-wrap: wrap;
}

.u-flex-between {
  justify-content: space-between;
}

.u-mazda-font {
  font-family: "mazdatype-bold", sans-serif;
}

.u-fade-in {
  opacity: 0;
  transition: all 1s ease;
}

.u-fade-in.on {
  opacity: 1;
}

.u-fade-in-up {
  opacity: 0;
  transform: translateY(5rem);
  transition: all 1s ease;
}

.u-fade-in-up.on {
  opacity: 1;
  transform: translateY(0);
}

.content {
  margin: 0 auto;
  width: 118.6rem;
}

@media all and (max-width: 896px) {
  .content {
    width: auto;
    margin: 0 3rem;
  }
}
.btnStyle {
  border: 0.1rem solid #9c9c9c;
  cursor: pointer;
  margin: 0 auto 1.2rem auto;
  border-radius: 0.5rem !important;
  position: relative;
}

.btnStyle a {
  display: block;
  padding: 1.5rem 1.3rem;
  font-size: 1.7rem;
}

.btnStyle.blank {
  background: url(../img/common/icon_blank.svg) right 1.2rem center no-repeat;
  background-size: 1.6rem auto;
}

.btnStyle.arrow::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 1rem;
  width: 0.7rem;
  height: 0.7rem;
  border-top: 0.2rem solid currentColor;
  border-right: 0.2rem solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}

.vehicle-card {
  margin-bottom: 4.5rem;
  display: flex;
  justify-content: space-between;
}
.vehicle-card a {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.vehicle-card__gallery {
  width: 39.6rem;
}
.vehicle-card__gallery .vehicle-card__slider:not(.slick-initialized) > li:not(:first-child) {
  display: none;
}
.vehicle-card__gallery .vehicle-card__slider li {
  display: block !important;
}
.vehicle-card__gallery .vehicle-card__slider li img {
  display: block;
  width: 100%;
}
.vehicle-card__gallery .vehicle-card__thumbnails {
  margin-top: 1.5rem;
  display: flex;
  gap: 1.5rem 1.4rem;
}
.vehicle-card__gallery .vehicle-card__thumbnails li {
  width: calc((100% - 2.8rem) / 3);
}
.vehicle-card__gallery .vehicle-card__thumbnails li div {
  cursor: pointer;
}

@media all and (min-width: 897px) {
  .vehicle-card__gallery .vehicle-card__thumbnails li div:hover {
    opacity: 0.7;
  }
}
.vehicle-card__gallery .vehicle-card__thumbnails li img {
  width: 100%;
}
.vehicle-card__body {
  width: 76.4rem;
}
.vehicle-card__title {
  margin-bottom: 1.4rem;
  padding: 1.1rem 1.9rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  background: #6d0c16;
}
.vehicle-card__title .vehicle-card__badges {
  margin-right: 2rem;
}
.vehicle-card__title .vehicle-card__badges .vehicle-card__badge {
  display: inline-block;
  vertical-align: top;
}
.vehicle-card__title .vehicle-card__badges .vehicle-card__badge:not(:last-child) {
  margin-right: 1.1rem;
}
.vehicle-card__title .vehicle-card__badges .vehicle-card__badge--quality {
  display: inline-block;
  vertical-align: top;
}
.vehicle-card__title .vehicle-card__badges .vehicle-card__badge img, .vehicle-card__title .vehicle-card__badges .vehicle-card__badge--quality img {
  width: auto;
  max-height: 3.1rem;
}
.vehicle-card__title .vehicle-card__maker {
  margin: 1rem 1.6rem 0 0;
}
.vehicle-card__title .vehicle-card__model {
  font-size: 3.9rem;
  font-weight: bold;
  line-height: 1;
}
.vehicle-card__description {
  margin-bottom: 1.4rem;
  line-height: 1.4375;
}
.vehicle-card__body .vehicle-card__prices {
  margin-bottom: 1.5rem;
  padding: 1.1rem 2rem 2.9rem 0;
  border-top: 0.1rem solid #000;
  border-bottom: 0.1rem solid #000;
}
.vehicle-card__body .vehicle-card__prices .vehicle-card__price {
  align-items: flex-end;
}
.vehicle-card__body .vehicle-card__prices .vehicle-card__price--total {
  color: #dc0011;
}
.vehicle-card__body .vehicle-card__prices .vehicle-card__price--total .ttl {
  margin-right: 1rem;
  line-height: 1.5;
}
.vehicle-card__body .vehicle-card__prices .vehicle-card__price .vehicle-card__price-value.vehicle-card__price-value--total {
  font-size: 6.2rem;
}
.vehicle-card__body .vehicle-card__prices .vehicle-card__price .vehicle-card__price-value.vehicle-card__price-value--total small {
  font-size: 4.5rem;
}
.vehicle-card__body .vehicle-card__prices .vehicle-card__price .vehicle-card__price-value.vehicle-card__price-value--total span {
  font-size: 2.8rem;
}
.vehicle-card__body .vehicle-card__prices .vehicle-card__price--base .ttl {
  margin-right: 0.5rem;
}
.vehicle-card__body .vehicle-card__prices .vehicle-card__price .vehicle-card__price-value.vehicle-card__price-value--base {
  font-size: 4rem;
}
.vehicle-card__body .vehicle-card__prices .vehicle-card__price .vehicle-card__price-value.vehicle-card__price-value--fees {
  font-size: 2.4rem;
}
.vehicle-card__body .vehicle-card__prices .vehicle-card__price .vehicle-card__price-label {
  margin-bottom: -1.9rem;
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.4;
}
.vehicle-card__body .vehicle-card__prices .vehicle-card__price .vehicle-card__price-label small {
  display: block;
  color: #000;
  font-size: 1.2rem;
  font-weight: 400;
}
.vehicle-card__body .vehicle-card__prices .vehicle-card__price .vehicle-card__price-value {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
}
.vehicle-card__body .vehicle-card__prices .vehicle-card__price .vehicle-card__price-value span {
  color: #000;
  font-size: 1.8rem;
  font-weight: 400;
}
.vehicle-card__body .vehicle-card__specs {
  margin-bottom: 1rem;
  padding-bottom: 1.5rem;
  border-bottom: 0.1rem solid #000;
  gap: 0.8rem 0;
}
.vehicle-card__body .vehicle-card__specs li {
  font-size: 1.4rem;
}
.vehicle-card__body .vehicle-card__specs li:nth-child(4n-3) {
  width: 26.5rem;
}
.vehicle-card__body .vehicle-card__specs li:nth-child(4n-2) {
  width: 17rem;
}
.vehicle-card__body .vehicle-card__specs li:nth-child(4n-1) {
  width: 15.9rem;
}
.vehicle-card__body .vehicle-card__specs li:nth-child(4n) {
  width: 17rem;
}
.vehicle-card__body .vehicle-card__specs li dl {
  display: flex;
  align-items: flex-start;
}
.vehicle-card__body .vehicle-card__specs li dl dt {
  margin-right: 0.5rem;
  padding: 0 0.9rem 0.1rem;
  width: 7.5rem;
  color: #fff;
  line-height: 2.3rem;
  background: #666;
  text-align: justify;
  text-align-last: justify;
}
.vehicle-card__body .vehicle-card__specs li dl dt.vehicle-card__spec-label--compact {
  padding: 0 0.4rem;
  letter-spacing: -0.1em;
  text-align: center;
}
.vehicle-card__body .vehicle-card__specs li dl dd {
  margin-top: 0.2rem;
  flex: 1;
}
.vehicle-card__body .vehicle-card__features {
  align-items: center;
}
.vehicle-card__body .vehicle-card__features ul {
  margin-right: 3.2rem;
  padding: 0 3.5rem 0.7rem 0;
  border-right: 0.1rem solid #000;
}
.vehicle-card__body .vehicle-card__features ul:first-of-type {
  flex: 0 0 74%;
}
.vehicle-card__body .vehicle-card__features ul li {
  padding: 0 0.8rem;
  margin-top: 0.7rem;
  width: auto;
  height: 2.9rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.2rem;
  text-align: center;
  border-radius: 0.3rem;
  border: 0.1rem solid #000;
}
.vehicle-card__body .vehicle-card__features ul li:not(:last-child) {
  margin-right: 0.9rem;
}
.vehicle-card__body .vehicle-card__features ul li span {
  font-size: 0.9rem;
  letter-spacing: -0.1em;
}
.vehicle-card__body .vehicle-card__features ul li.u-mazda-font {
  font-weight: normal;
}

@media all and (max-width: 896px) {
  .vehicle-card {
    margin-bottom: 4.5rem;
    display: block;
  }
  .vehicle-card a {
    display: block;
  }
  .vehicle-card__gallery {
    width: 29.6rem;
  }
  .vehicle-card__gallery .vehicle-card__slider li img {
    height: 100%;
    object-fit: cover;
  }
  .vehicle-card__body {
    width: auto;
  }
  .vehicle-card__title {
    margin-bottom: 1.4rem;
    padding: 1.1rem 2.3rem 1rem;
    font-size: 2rem;
    position: relative;
  }
  .vehicle-card__title .vehicle-card__badges {
    margin-right: 0;
    position: absolute;
    left: 0;
    bottom: calc(100% + 1.3rem);
  }
  .vehicle-card__title .vehicle-card__maker {
    margin: 1rem 1.9rem 0 0;
  }
  .vehicle-card__description {
    font-size: 1.6rem;
  }
  .vehicle-card__body .vehicle-card__summary {
    margin-bottom: 1.8rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .vehicle-card__body .vehicle-card__prices {
    margin-bottom: 0;
    padding: 0;
    width: calc(100% - 31.8rem);
    display: block;
    border-bottom: none;
  }
  .vehicle-card__body .vehicle-card__prices .vehicle-card__price {
    padding: 1rem 0 1.1rem 1.3rem;
    border-bottom: 0.1rem solid #000;
  }
  .vehicle-card__body .vehicle-card__prices .vehicle-card__price--total {
    padding: 0.7rem 0 0.8rem 1.3rem;
  }
  .vehicle-card__body .vehicle-card__prices .vehicle-card__price--total .ttl {
    margin-right: 0;
  }
  .vehicle-card__body .vehicle-card__prices .vehicle-card__price .vehicle-card__price-value.vehicle-card__price-value--total {
    font-size: 4.2rem;
  }
  .vehicle-card__body .vehicle-card__prices .vehicle-card__price .vehicle-card__price-value.vehicle-card__price-value--total small {
    font-size: 3rem;
  }
  .vehicle-card__body .vehicle-card__prices .vehicle-card__price .vehicle-card__price-value.vehicle-card__price-value--total span {
    font-size: 1.8rem;
  }
  .vehicle-card__body .vehicle-card__prices .vehicle-card__price .vehicle-card__price-value.vehicle-card__price-value--base,
  .vehicle-card__body .vehicle-card__prices .vehicle-card__price .vehicle-card__price-value.vehicle-card__price-value--fees {
    font-size: 3rem;
  }
  .vehicle-card__body .vehicle-card__prices .vehicle-card__price .vehicle-card__price-label {
    margin: 0 1.3rem 0 0 !important;
    font-size: 1.6rem;
    line-height: 1.3 !important;
  }
  .vehicle-card__body .vehicle-card__prices .vehicle-card__price .vehicle-card__price-label small {
    font-size: 1.4rem;
  }
  .vehicle-card__body .vehicle-card__prices .vehicle-card__price .vehicle-card__price-value {
    font-size: 3rem;
  }
  .vehicle-card__body .vehicle-card__prices .vehicle-card__price .vehicle-card__price-value span {
    font-size: 1.6rem;
  }
  .vehicle-card__body .vehicle-card__specs {
    margin-bottom: 1.1rem;
    padding-bottom: 1.7rem;
    gap: 1.7rem 0;
  }
  .vehicle-card__body .vehicle-card__specs li {
    min-width: inherit;
  }
  .vehicle-card__body .vehicle-card__specs li:nth-child(4n-3) {
    width: inherit;
  }
  .vehicle-card__body .vehicle-card__specs li:nth-child(4n-2) {
    width: inherit;
  }
  .vehicle-card__body .vehicle-card__specs li:nth-child(4n-1) {
    width: inherit;
  }
  .vehicle-card__body .vehicle-card__specs li:nth-child(4n) {
    width: inherit;
  }
  .vehicle-card__body .vehicle-card__specs li:nth-child(3n-2) {
    width: 31%;
  }
  .vehicle-card__body .vehicle-card__specs li:nth-child(3n-1) {
    width: 34.5%;
  }
  .vehicle-card__body .vehicle-card__specs li:nth-child(3n) {
    width: 34.5%;
  }
  .vehicle-card__body .vehicle-card__specs li.u-full-width {
    width: 100%;
  }
  .vehicle-card__body .vehicle-card__specs li dl dt {
    width: 7.8rem;
  }
  .vehicle-card__body .vehicle-card__features {
    justify-content: space-between;
  }
  .vehicle-card__body .vehicle-card__features ul {
    margin-right: 0;
    padding: 0 2.9rem 0.7rem 0;
  }
  .vehicle-card__body .vehicle-card__features ul:first-of-type {
    flex: 0 0 62%;
  }
  .vehicle-card__body .vehicle-card__features ul li {
    padding: 0 0.4rem;
    margin-top: 0.7rem;
  }
  .vehicle-card__body .vehicle-card__features .vehicle-card__appraisal {
    width: 17.6rem;
  }
}
.dealer-contact {
  background: url(../img/common/bg01.jpg) no-repeat center center/100% 100%;
}
.dealer-contact__info {
  width: calc(100% - 37.4rem);
}
.dealer-contact__info .dealer-contact__region {
  padding-bottom: 0.7rem;
  width: 14.9rem;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
}
.dealer-contact__info .dealer-contact__region::before {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #e5e5e5;
  mix-blend-mode: multiply;
  content: "";
}
.dealer-contact__info .dealer-contact__details {
  width: calc(100% - 18.4rem);
  align-items: center;
  position: relative;
  z-index: 1;
}
.dealer-contact__info .dealer-contact__details .dealer-contact__shop {
  margin-top: -0.7rem;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.dealer-contact__info .dealer-contact__details .dealer-contact__phone {
  margin-top: 0.3rem;
}
.dealer-contact__info .dealer-contact__details .dealer-contact__phone a {
  padding-left: 4.3rem;
  display: block;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 1.15;
  background: url(../img/common/tel_icon.png) no-repeat left center;
  background-size: 3.3rem;
}
.dealer-contact__info .dealer-contact__details .dealer-contact__phone a span {
  display: block;
  color: #6d0c16;
  font-size: 3.5rem;
  font-weight: 700;
  letter-spacing: 0;
}
.dealer-contact ul {
  margin: 2.3rem 1.7rem 2.2rem 0;
  width: 33.2rem;
  gap: 1.2rem;
}
.dealer-contact ul li {
  width: 16rem;
}

@media all and (max-width: 896px) {
  .dealer-contact {
    padding-bottom: 2.7rem;
    display: block;
    background-image: url(../img/common/bg01_sp.jpg);
  }
  .dealer-contact__info {
    padding: 0.3rem 0 0.4rem;
    width: auto;
    position: relative;
    justify-content: center;
    align-items: center;
  }
  .dealer-contact__info::before {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: #e5e5e5;
    mix-blend-mode: multiply;
    content: "";
  }
  .dealer-contact__info .dealer-contact__region {
    padding-bottom: 0;
    width: auto;
    display: block;
    letter-spacing: 0;
  }
  .dealer-contact__info .dealer-contact__region::before {
    display: none;
  }
  .dealer-contact__info .dealer-contact__details {
    width: auto;
  }
  .dealer-contact__info .dealer-contact__details .dealer-contact__shop {
    margin: 0 1.8rem;
    letter-spacing: 0;
  }
  .dealer-contact__info .dealer-contact__details .dealer-contact__phone {
    margin-top: 0;
  }
  .dealer-contact__info .dealer-contact__details .dealer-contact__phone a {
    padding-left: 0;
    display: block;
    color: #db0011;
    font-weight: 700;
    font-size: 1.8rem;
    letter-spacing: 0;
    line-height: 1.79722;
    background: none;
  }
  .dealer-contact ul {
    margin: 2.8rem 0 0;
    width: auto;
    gap: 2rem;
    justify-content: center;
  }
  .dealer-contact ul li {
    width: 24.2rem;
  }
}
.price-filter__row {
  margin-top: -1.4rem;
}

.price-slider {
  position: relative;
  width: 62.5rem;
}
.price-slider__inner {
  width: 49rem;
  margin-left: 5.6rem;
  padding: 0;
}
.price-slider__graph-area {
  display: flex;
  align-items: flex-end;
  position: relative;
  top: 0.9rem;
  height: 2rem;
  line-height: 0;
  border-bottom: 0.1rem solid #eee;
  gap: 0.2rem;
}
.price-slider__graph {
  display: inline-block;
  position: relative;
  width: 2.8rem;
  margin: 0;
  background-color: #b3b3b3;
}
.price-slider .sliderWrap {
  display: block;
  position: relative;
  margin-top: 0.4rem;
  padding: 0.4rem 0;
}
.price-slider__track {
  display: block;
  position: relative;
  width: 100%;
  height: 0.3rem;
  margin-top: 0;
  background-color: #666666 !important;
  touch-action: none;
}
.price-slider__selection {
  position: absolute;
  top: 0;
  height: 100%;
  background-color: #6d0c16;
}
.price-slider__handle {
  position: absolute;
  top: 50%;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: url(../img/common/icon15.png) no-repeat center center/100%;
  box-shadow: none;
  cursor: pointer;
  transform: translate(-50%, -50%);
  touch-action: none;
  z-index: 15;
}
.price-slider__handle:focus-visible {
  outline: 0.2rem solid #6d0c16;
  outline-offset: 0.2rem;
}
.price-slider__range-labels {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 5rem;
}
.price-slider__range-label {
  position: absolute;
  bottom: 1rem;
  font-weight: bold;
  white-space: nowrap;
}
.price-slider__range-label--min {
  left: -1em;
}
.price-slider__range-label--max {
  right: 0;
}

.search-panel select, .search-panel textarea, .search-panel input[type=text], .search-panel input[type=tel] {
  padding: 0 1.3rem;
  width: 35.5rem;
  height: 3.4rem;
  color: #000;
  font-size: 1.4rem;
  line-height: 1;
  border-radius: 0.5rem;
  background: #fff;
  border: 0.1rem solid #8e8e8f;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.search-panel select.u-field-small, .search-panel textarea.u-field-small, .search-panel input[type=text].u-field-small, .search-panel input[type=tel].u-field-small {
  width: 15.5rem !important;
}
.search-panel select::-webkit-input-placeholder, .search-panel select::-webkit-input-placeholder, .search-panel textarea::-webkit-input-placeholder, .search-panel textarea::-webkit-input-placeholder, .search-panel input[type=text]::-webkit-input-placeholder, .search-panel input[type=text]::-webkit-input-placeholder, .search-panel input[type=tel]::-webkit-input-placeholder, .search-panel input[type=tel]::-webkit-input-placeholder {
  opacity: 1;
  color: #000;
}
.search-panel select:-moz-placeholder, .search-panel select:-moz-placeholder, .search-panel textarea:-moz-placeholder, .search-panel textarea:-moz-placeholder, .search-panel input[type=text]:-moz-placeholder, .search-panel input[type=text]:-moz-placeholder, .search-panel input[type=tel]:-moz-placeholder, .search-panel input[type=tel]:-moz-placeholder {
  opacity: 1;
  color: #000;
}
.search-panel select::-moz-placeholder, .search-panel select::-moz-placeholder, .search-panel textarea::-moz-placeholder, .search-panel textarea::-moz-placeholder, .search-panel input[type=text]::-moz-placeholder, .search-panel input[type=text]::-moz-placeholder, .search-panel input[type=tel]::-moz-placeholder, .search-panel input[type=tel]::-moz-placeholder {
  opacity: 1;
  color: #000;
}
.search-panel select:-ms-input-placeholder, .search-panel select:-ms-input-placeholder, .search-panel textarea:-ms-input-placeholder, .search-panel textarea:-ms-input-placeholder, .search-panel input[type=text]:-ms-input-placeholder, .search-panel input[type=text]:-ms-input-placeholder, .search-panel input[type=tel]:-ms-input-placeholder, .search-panel input[type=tel]:-ms-input-placeholder {
  opacity: 1;
  color: #000;
}
.search-panel input[type=radio] {
  display: none;
}
.search-panel input[type=radio] + span {
  padding: 0.5rem 0 0.5rem 2.7rem;
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  background: url(../img/lineup/radio_img01.png) no-repeat left center/2.1rem auto;
}
.search-panel input[type=radio]:checked + span {
  background-image: url(../img/lineup/radio_img02.png);
}
.search-panel__radio-list li:not(:last-child) {
  margin-right: 2.2rem;
}
.search-panel__color-list {
  gap: 1.3rem;
  font-size: 0;
}
.search-panel__color-list li {
  font-size: 0;
  line-height: 0;
}
.search-panel__color-list li label {
  display: inline-block;
}
.search-panel__color-list li input[type=checkbox] {
  display: none;
}
.search-panel__color-list li input[type=checkbox] ~ span {
  display: inline-block;
  vertical-align: top;
  position: relative;
  cursor: pointer;
  line-height: 0;
}
.search-panel__color-list li input[type=checkbox] ~ span::after {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 0.5rem;
  border: 0.2rem solid #d89e4c;
  box-sizing: border-box;
  content: "";
  opacity: 0;
}
.search-panel__color-list li input[type=checkbox]:checked ~ span {
  border-radius: 0.5rem;
  overflow: hidden;
}
.search-panel__color-list li input[type=checkbox]:checked ~ span::after {
  opacity: 1;
  border-radius: 0.5rem;
}
.search-panel .search {
  margin-bottom: 12.6rem;
  padding: 3.7rem 4.6rem 3rem;
  background: #ebebeb;
}
.search-panel .search .ttl {
  margin-bottom: 6.8rem;
  padding-bottom: 1.5rem;
  font-size: 3.4rem;
  border-bottom: 0.1rem solid #000;
}
.search-panel .search .searchList {
  margin-bottom: 3rem;
}
.search-panel .search .searchList > li {
  display: flex;
  align-items: flex-start;
}
.search-panel .search .searchList > li:not(:last-child) {
  margin-bottom: 6.5rem;
}
.search-panel .search .searchList > li:nth-child(2) {
  margin-bottom: 6rem;
}
.search-panel .search .searchList > li:nth-child(3) {
  margin-bottom: 4rem;
}
.search-panel .search .searchList > li dl {
  min-width: 44rem;
  display: flex;
  align-content: flex-start;
  align-items: flex-start;
}
.search-panel .search .searchList > li dl.dl01 {
  min-width: initial;
}
.search-panel .search .searchList > li dl.u-full-width {
  width: 100%;
  min-width: inherit;
}
.search-panel .search .searchList > li dl:not(:last-child) {
  margin-right: 4.7rem;
}
.search-panel .search .searchList > li dl dt {
  width: 8.5rem;
  padding-top: 0.5rem;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  text-align: justify;
}
.search-panel .search .searchList > li dl dd {
  flex: 1;
}
.search-panel .search .searchList > li dl dd .bar {
  margin: 0 1rem;
  font-size: 1.4rem;
  font-weight: 700;
}
.search-panel .search .search-panel__filters {
  display: none;
}
.search-panel .search .search-panel__filters table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.search-panel .search .search-panel__filters table th, .search-panel .search .search-panel__filters table td {
  padding: 0.5rem;
  vertical-align: middle;
  text-align: left;
  box-sizing: border-box;
  font-size: 1.4rem;
  font-weight: 400;
  border-top: 0.1rem solid #666666;
  border-bottom: 0.1rem solid #666666;
  background: #fff;
}
.search-panel .search .search-panel__filters table th {
  padding: 0.5rem 0;
  width: 10rem;
  text-align: center;
  border-bottom: 0.1rem solid #666666;
  background: #eeeeee;
}
.search-panel .search .search-panel__filters table td select {
  width: 100%;
  max-width: 100%;
}
.search-panel .search .search-panel__filters table td .list_body {
  display: flex;
  flex-wrap: wrap;
}
.search-panel .search .search-panel__filters table td .list_body li {
  width: 25%;
}
.search-panel .search .search-panel__filters table td .search-panel__options {
  display: flex;
  flex-wrap: wrap;
}
.search-panel .search .search-panel__filters table td .search-panel__options li {
  width: 14.2857142857%;
}
.search-panel .search .btmBox {
  margin-top: 6rem;
  padding-top: 2.9rem;
  border-top: 1px solid #000;
  align-items: center;
}
.search-panel .search .btmBox .link a {
  padding-right: 3.3rem;
  font-size: 1.8rem;
  font-weight: 700;
  background: url(../img/lineup/icon02.png) no-repeat right top 0.3rem;
  background-size: 2.2rem;
}
.search-panel .search .btmBox .link a .txt02 {
  display: none;
}
.search-panel .search .btmBox .link a.on {
  background-image: url(../img/lineup/icon05.png);
}
.search-panel .search .btmBox .link a.on .txt01 {
  display: none;
}
.search-panel .search .btmBox .link a.on .txt02 {
  display: inline;
}
.search-panel .search .btmBox .rBox {
  align-items: center;
}
.search-panel .search .btmBox .rBox .clearBtn a {
  font-size: 1.8rem;
  font-weight: 700;
}
.search-panel .search .btmBox .rBox .btn {
  margin-left: 4.2rem;
  width: 31rem;
}
.search-panel .search .btmBox .rBox .btn a {
  padding: 0 2.7rem 0.9rem;
  height: 5.8rem;
  display: flex;
  align-items: flex-end;
  color: #fff;
  font-size: 2.3rem;
  font-weight: 500;
  border-radius: 1rem;
  background: #6d0c16 url(../img/lineup/icon01.png) no-repeat right 2rem center;
  background-size: 2.1rem;
}
.search-panel .search .btmBox .rBox .btn a small {
  margin: 0 1.8rem 0.2rem 0;
  font-size: 1.7rem;
  font-weight: 700;
}
.search-panel .search .btmBox .rBox .btn a span {
  margin-right: 0.2rem;
  font-size: 3.7rem;
  line-height: 0.95;
}

@media all and (max-width: 896px) {
  .search-panel .ttl {
    margin-bottom: 3.1rem;
    min-height: 7.7rem;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    letter-spacing: 0.1em;
    text-align: center;
    background: url(../img/lineup/h2_bg.jpg) no-repeat center center/100% 100%;
    font-family: "mazdatype-regular", "Noto Sans JP", sans-serif;
  }
  .search-panel__actions {
    margin-bottom: 2.5rem;
  }
  .search-panel__actions li {
    width: calc((100% - 1rem) / 2);
    position: relative;
  }
  .search-panel__actions li a, .search-panel__actions li span {
    height: 5.1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.75;
    text-align: center;
    border-radius: 1rem;
    background: #808080 url(../img/lineup/icon03.png) no-repeat right 1.3rem center/2.8rem auto;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
  }
  .search-panel__actions li select {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
  }
  .search-panel .resultText {
    margin-bottom: 6.8rem;
  }
  .search-panel__color-list input[type=checkbox] ~ span::after {
    border-radius: 0.8rem;
  }
  .search-panel__color-list input[type=checkbox]:checked ~ span {
    border-radius: 0.8rem;
  }
}
.fixMenuBox {
  padding: 3.3rem 2.9rem 10rem;
  width: 70%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  display: block;
  transform: translateX(-100vw);
  transition: 0.3s;
  overflow: auto;
  border-right: 0.1rem solid #ddd;
  background: #fff;
  z-index: 100;
}

@media all and (min-width: 897px) {
  .fixMenuBox {
    display: none !important;
  }
}
.fixMenuBox.open {
  transform: translateX(0);
}

.fixMenuBox .close {
  margin: 0 0 1.1rem -1rem;
  width: 17.5rem;
  cursor: pointer;
}

.fixMenuBox .close span {
  padding: 1.4rem 1.6rem 1.8rem 5.3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-align: right;
  border-radius: 0.5rem;
  border: 0.1rem solid #ddd;
  background-color: #f6f6f6;
  box-shadow: 0.1rem 0.1rem 0.2rem rgba(0, 0, 0, 0.1);
}

.fixMenuBox .close span::before {
  content: "";
  position: absolute;
  left: 1.5rem;
  top: 50%;
  display: block;
  width: 3.6rem;
  height: 3.6rem;
  border-radius: 50%;
  transform: translateY(-50%);
  background: url(../img/lineup/icon04.svg) no-repeat center center/68% auto;
  background-color: rgba(0, 0, 0, 0.3);
}

.fixMenuBox select,
.fixMenuBox textarea,
.fixMenuBox input[type=text],
.fixMenuBox input[type=tel] {
  padding: 0 1.3rem;
  width: 35.5rem;
  height: 3.4rem;
  color: #000;
  font-size: 1.4rem;
  line-height: 1;
  border-radius: 0.5rem;
  background: #fff;
  border: 0.1rem solid #8e8e8f;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.fixMenuBox select.u-field-small,
.fixMenuBox textarea.u-field-small,
.fixMenuBox input[type=text].u-field-small,
.fixMenuBox input[type=tel].u-field-small {
  width: 15.5rem !important;
}

.fixMenuBox select::-webkit-input-placeholder,
.fixMenuBox select::-webkit-input-placeholder,
.fixMenuBox textarea::-webkit-input-placeholder,
.fixMenuBox textarea::-webkit-input-placeholder,
.fixMenuBox input[type=text]::-webkit-input-placeholder,
.fixMenuBox input[type=text]::-webkit-input-placeholder,
.fixMenuBox input[type=tel]::-webkit-input-placeholder,
.fixMenuBox input[type=tel]::-webkit-input-placeholder {
  opacity: 1;
  color: #000;
}

.fixMenuBox select:-moz-placeholder,
.fixMenuBox select:-moz-placeholder,
.fixMenuBox textarea:-moz-placeholder,
.fixMenuBox textarea:-moz-placeholder,
.fixMenuBox input[type=text]:-moz-placeholder,
.fixMenuBox input[type=text]:-moz-placeholder,
.fixMenuBox input[type=tel]:-moz-placeholder,
.fixMenuBox input[type=tel]:-moz-placeholder {
  opacity: 1;
  color: #000;
}

.fixMenuBox select::-moz-placeholder,
.fixMenuBox select::-moz-placeholder,
.fixMenuBox textarea::-moz-placeholder,
.fixMenuBox textarea::-moz-placeholder,
.fixMenuBox input[type=text]::-moz-placeholder,
.fixMenuBox input[type=text]::-moz-placeholder,
.fixMenuBox input[type=tel]::-moz-placeholder,
.fixMenuBox input[type=tel]::-moz-placeholder {
  opacity: 1;
  color: #000;
}

.fixMenuBox select:-ms-input-placeholder,
.fixMenuBox select:-ms-input-placeholder,
.fixMenuBox textarea:-ms-input-placeholder,
.fixMenuBox textarea:-ms-input-placeholder,
.fixMenuBox input[type=text]:-ms-input-placeholder,
.fixMenuBox input[type=text]:-ms-input-placeholder,
.fixMenuBox input[type=tel]:-ms-input-placeholder,
.fixMenuBox input[type=tel]:-ms-input-placeholder {
  opacity: 1;
  color: #000;
}

.fixMenuBox input[type=radio] {
  display: none;
}

.fixMenuBox input[type=radio] + span {
  padding: 0.5rem 0 0.5rem 2.7rem;
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  background: url(../img/lineup/radio_img01.png) no-repeat left center/2.1rem auto;
}

.fixMenuBox input[type=radio]:checked + span {
  background-image: url(../img/lineup/radio_img02.png);
}

.fixMenuBox .search-panel__radio-list li:not(:last-child) {
  margin-right: 2.2rem;
}
.fixMenuBox .search-panel__color-list {
  gap: 1.3rem;
}

.fixMenuBox .searchForm {
  margin-bottom: 2rem;
}

.fixMenuBox .searchForm dt {
  margin-bottom: 1.2rem;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.fixMenuBox .searchForm dd {
  font-size: 2rem;
}

.fixMenuBox .searchForm dd:not(:last-of-type) {
  margin-bottom: 3rem;
}

.fixMenuBox .searchForm dd select,
.fixMenuBox .searchForm dd input[type=text],
.fixMenuBox .searchForm dd input[type=tel] {
  width: 44%;
  height: 3.85rem;
  font-size: 1.8rem;
}

.fixMenuBox .searchForm dd select.u-field-wide,
.fixMenuBox .searchForm dd input[type=text].u-field-wide,
.fixMenuBox .searchForm dd input[type=tel].u-field-wide {
  width: 90%;
}

.fixMenuBox .searchForm dd .search-panel__color-list {
  gap: 0.7rem;
}

.fixMenuBox input[type=radio] + span {
  padding-bottom: 0.9rem;
  font-size: 1.8rem;
}

.fixMenuBox .submit {
  margin-bottom: 2.8rem;
}

.fixMenuBox .submit button {
  width: 100%;
  height: 5rem;
  color: #fff;
  font-size: 2.2rem;
  font-weight: 700;
  border-radius: 0.5rem;
  border: none;
  background: #373737;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.search-results {
  margin-bottom: 6.5rem;
}
.search-results__pagination-wrap--mobile {
  margin-top: -3.4rem;
  margin-bottom: 6.8rem;
}
.search-results__header {
  margin-bottom: 1.2rem;
}
.search-results__header .search-results__title {
  font-size: 1.4rem;
}
.search-results__header .search-results__title span {
  color: #6d0c16;
  font-weight: 700;
}
.search-results__header .search-results__pagination {
  margin-top: -0.3rem;
}
.search-results__header .search-results__pagination li:not(:first-child) {
  margin-left: 1.4rem;
}
.search-results__header .search-results__pagination li a, .search-results__header .search-results__pagination li span {
  font-size: 1.4rem;
}
.search-results__header .search-results__pagination li span, .search-results__header .search-results__pagination li.prev a, .search-results__header .search-results__pagination li.next a {
  color: #6d0c16;
  font-weight: 700;
}
.search-results .bBox {
  border-top: 0.1rem solid #000;
  border-bottom: 0.1rem solid #000;
}
.search-results .bBox dl {
  padding: 1.5rem 0;
  display: flex;
  flex-wrap: wrap;
  font-size: 1.5rem;
}
.search-results .bBox dl dt {
  margin-right: 3.2rem;
  width: 16.6rem;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.search-results .bBox dl dt::before {
  width: 0.1rem;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  background: #000;
  content: "";
}
.search-results .bBox dl dd .txtList {
  gap: 2.1rem;
}
.search-results .bBox dl dd .txtList > li {
  width: 13.1rem;
}
.search-results .bBox dl dd .txtList > li .ttl {
  margin-bottom: 0.6rem;
  color: #fff;
  line-height: 2.6rem;
  text-align: center;
  background: #666;
}
.search-results .bBox dl dd .txtList > li ul {
  display: flex;
  justify-content: center;
  position: relative;
}
.search-results .bBox dl dd .txtList > li ul::before {
  width: 0.1rem;
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  background: #000;
  content: "";
}
.search-results .bBox dl dd .txtList > li ul li {
  width: 50%;
  line-height: 1.1;
  text-align: center;
}
.search-results .bBox dl dd .txtList > li ul li.on a {
  color: #6d0c16;
}
.search-results__pagination--mobile {
  margin: 0 -3rem;
  padding: 1rem 3rem;
  display: grid;
  grid-template-columns: 7rem 2.8rem auto 2.8rem 7rem;
  background: #808080;
}
.search-results__pagination--mobile li {
  color: #fff;
  font-size: 2rem;
}
.search-results__pagination--mobile li a {
  color: #fff;
}
.search-results__pagination--mobile li.current {
  text-align: center;
}
.search-results__pagination--mobile li.last {
  text-align: right;
}

#lineup {
  margin-bottom: 28rem;
}

.pageTitle {
  margin: 6rem 0 10rem;
}

.vehicle-filter {
  margin: -4rem 0 6.4rem;
  padding: 3.1rem 3.4rem 3.4rem;
  border: 0.1rem solid #e3e3e3;
  border-radius: 2rem;
  background: linear-gradient(135deg, #fff 0%, #fafafa 100%);
  box-shadow: 0 1.4rem 4rem rgba(0, 0, 0, 0.07);
}
.vehicle-filter__title {
  width: 100%;
  margin-bottom: 2.3rem;
  padding-left: 1.6rem;
  color: #111;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  border-left: 0.4rem solid #91001e;
}
.vehicle-filter__options {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.vehicle-filter__option {
  position: relative;
  display: block;
  cursor: pointer;
}
.vehicle-filter__option input {
  position: absolute;
  width: 0.1rem;
  height: 0.1rem;
  opacity: 0;
  pointer-events: none;
}
.vehicle-filter__option span {
  min-height: 4.4rem;
  padding: 0.9rem 1.7rem;
  display: inline-flex;
  align-items: center;
  gap: 0.9rem;
  color: #333;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.35;
  white-space: nowrap;
  border: 0.1rem solid #d8d8d8;
  border-radius: 999px;
  background-color: #fff;
  box-shadow: 0 0.2rem 0.6rem rgba(0, 0, 0, 0.04);
  transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.vehicle-filter__option span::before {
  width: 1.7rem;
  height: 1.7rem;
  flex: 0 0 auto;
  content: "";
  border: 0.1rem solid #b5b5b5;
  border-radius: 50%;
  background-color: #fff;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.vehicle-filter__option:hover span {
  border-color: #8b8b8b;
  box-shadow: 0 0.6rem 1.4rem rgba(0, 0, 0, 0.09);
  transform: translateY(-0.1rem);
}
.vehicle-filter__option input:focus-visible + span {
  outline: 0.3rem solid rgba(145, 0, 30, 0.25);
  outline-offset: 0.2rem;
}
.vehicle-filter__option input:checked + span {
  color: #fff;
  border-color: #101010;
  background-color: #101010;
  box-shadow: 0 0.7rem 1.8rem rgba(0, 0, 0, 0.2);
}
.vehicle-filter__option input:checked + span::before {
  border-color: #fff;
  background: radial-gradient(circle, #91001e 0 0.4rem, #fff 0.45rem);
}

#lineup .vehicle-card {
  margin-bottom: 1.7rem;
}

#lineup .dealer-contact {
  margin-bottom: 8.7rem;
}

@media all and (max-width: 896px) {
  .pageTitle {
    margin: 4rem 0 8rem;
  }
  .vehicle-filter {
    margin: -3rem 0 5rem;
    padding: 2.5rem 2rem 2.2rem;
    border-radius: 1.6rem;
  }
  .vehicle-filter__title {
    margin-bottom: 1.8rem;
    padding-left: 1.2rem;
    font-size: 2rem;
  }
  .vehicle-filter__options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
  }
  .vehicle-filter__option span {
    width: 100%;
    min-height: 4.8rem;
    padding: 0.9rem 1.2rem;
    gap: 0.8rem;
    justify-content: flex-start;
    font-size: 1.35rem;
    white-space: normal;
    border-radius: 1.2rem;
  }
  #lineup {
    margin-bottom: 3.2rem;
  }
  #lineup .vehicle-card {
    margin-bottom: 1.2rem;
  }
  #lineup .dealer-contact {
    margin-bottom: 10.9rem;
  }
}
