/* ============================================================= *

index

* ============================================================= */
/* p-index-bg
=============================== */
.p-index-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background: var(--bg-image) var(--bg-position)/cover no-repeat var(--bg-color);

  --bg-position: 50% 50%;
  --bg-color: #fff;
  --bg-image: linear-gradient(to top, var(--dark-key-color) 0%, color-mix(in srgb, var(--light-key-color) 0%, transparent) 50%);
}

.p-index-bg > * {
  position: absolute;
  inset: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
  background: var(--bg-image) var(--bg-position)/cover no-repeat var(--bg-color);
  transition: opacity .8s, transform .8s;
}

.p-index-bg > *[data-id=top] {
  overflow: hidden;

  --slider-length: 4;
  --slider-duration: calc(6s * var(--slider-length));
}

.p-index-bg > *[data-id=top]:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(51, 51, 51, .15);
}

.p-index-bg > *[data-id=top]:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 2;
  display: block;
  width: calc(var(--vw) * 100 / 1366 * 1425);
  aspect-ratio: 1/1;
  border-radius: var(--ovall-radius);
  background: radial-gradient(50% 50% at 50% 50%, rgba(0, 0, 0, .35) 0%, rgba(0, 0, 0, 0) 100%);
  transform: translateX(calc(100% / 1425 * -677)) translateY(calc(-50% + 100% / 1425 * 189));
}

.p-index-bg > *[data-id=top] > li {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  animation: fadeZoom var(--slider-duration) linear infinite;
}

.p-index-bg > *[data-id=top] > li:nth-child(1) {
  animation-delay: 0s;
}

.p-index-bg > *[data-id=top] > li:nth-child(2) {
  animation-delay: calc(var(--slider-duration) / var(--slider-length) * 1);
}

.p-index-bg > *[data-id=top] > li:nth-child(3) {
  animation-delay: calc(var(--slider-duration) / var(--slider-length) * 2);
}

.p-index-bg > *[data-id=top] > li:nth-child(4) {
  animation-delay: calc(var(--slider-duration) / var(--slider-length) * 3);
}

.p-index-bg > *[data-id=top] > li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@keyframes fadeZoom {
  0% {
    opacity: 0;
    transform: scale(1);
  }
  3.75% {
    opacity: 1;
  }
  25% {
    opacity: 1;
  }
  30% {
    opacity: 0;
  }
  37.5% {
    transform: scale(1.25);
  }
  100% {
    opacity: 0;
    transform: scale(1);
  }
}

.p-index-bg > *[data-id=second] {
  position: relative;
  display: grid;
  grid-template-rows: repeat(2, 1fr);
  grid-template-columns: repeat(2, 1fr);
}

@media screen and (max-width: 767px) {
  .p-index-bg > *[data-id=second] {
    grid-template-rows: repeat(4, 1fr);
    grid-template-columns: 100%;
  }
}

.p-index-bg > *[data-id=second]:before {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: color-mix(in srgb, var(--base-color) 75%, transparent);
}

.p-index-bg > *[data-id=second] > div {
  background: var(--image) 50% 50%/cover no-repeat;
}

.p-index-bg > *[data-id=second] > ._01 {
  --image: url(../img/index/second-01.jpg);
}

.p-index-bg > *[data-id=second] > ._02 {
  --image: url(../img/index/second-02.jpg);
}

.p-index-bg > *[data-id=second] > ._03 {
  --image: url(../img/index/second-03.jpg);
}

.p-index-bg > *[data-id=second] > ._04 {
  --image: url(../img/index/second-04.jpg);
}

.p-index-bg > *[data-id=showroom] {
  --bg-image: url(../img/index-bg-01.jpg);
  --bg-position: bottom center;
}

@media screen and (max-width: 767px) {
  .p-index-bg > *[data-id=showroom] {
    --bg-image: url(../img/index-bg-01-sp.jpg);
  }
}

.p-index-bg > *[data-id=car] {
  background: linear-gradient(17deg, #26bcd3 0%, #233db1 100%);
}

.p-index-bg > *[data-id=maintenance] {
  --bg-image: url(../img/index-bg-04.jpg);
}

@media screen and (max-width: 767px) {
  .p-index-bg > *[data-id=maintenance] {
    --bg-image: url(../img/index-bg-04-sp.jpg);
  }
}

.p-index-bg > *[data-id=information] {
  background: linear-gradient(17deg, #26bcd3 0%, #233db1 100%);
}

.p-index-bg > *[data-id=topics] {
  --bg-color: var(--on-color);
}

.p-index-bg > *:not(:first-child) {
  opacity: 0;
}

.p-index-bg > *:not(:first-child).is-scrolled {
  visibility: hidden;
  opacity: 0;
  transition: all .6s;
}

.p-index-bg > *:not(:first-child).is-show {
  visibility: visible;
  opacity: 1;
  transition: all .6s;
}

/* p-index-top-wrapper
============================== */
.p-index-top-wrapper {
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding-inline: var(--inner-padding);
  padding-bottom: 20lvh;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .p-index-top-wrapper {
    padding-bottom: 10lvh;
  }
}

/* p-index-bottom-wrapper
============================== */
.p-index-bottom-wrapper {
  position: relative;
  z-index: 1;
}

.p-index-bottom-wrapper > * {
  position: relative;
  z-index: 0;
  padding-top: 20lvh;
  padding-bottom: 20lvh;
}

@media screen and (max-width: 767px) {
  .p-index-bottom-wrapper > * {
    padding-top: 10lvh;
    padding-bottom: 10lvh;
  }
}

/* ============================================================= *

index hero

* ============================================================= */
/* p-index-hero
=============================== */
.p-index-hero {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  min-height: 100lvh;
}

@media screen and (max-width: 767px) {
  .p-index-hero {
    padding-bottom: 0;
  }
}

.p-index-hero__contents {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  justify-self: stretch;
  width: 100%;
  max-width: var(--inner-width-px);
  margin-top: auto;
  margin-bottom: calc(40px + var(--slope-1px) * 20);
  padding-top: var(--header-height);
  text-align: left;
  opacity: 1;
  transition: all .4s;
}

.p-index-hero:not(:has(.p-index-news)) .p-index-hero__contents {
  height: 100lvh;
  margin-bottom: auto;
}

body.is-scrolled .p-index-hero__contents {
  opacity: 0;
  transition: all .4s;
}

/* p-index-news
============================== */
.p-index-news {
  display: grid;
  grid-template-columns: 100%;
  gap: 14px;
  width: 100%;
  max-width: var(--inner-width-px);
  margin-inline: auto;
  padding-bottom: 14px;
}

.p-index-news__head {
  display: flex;
  align-items: center;
  gap: calc(6px + var(--slope-1px) * 2);
  margin-block: var(--leading-trim);
  padding-left: calc(8px + var(--slope-1px) * 2);
  font-weight: 700;
  font-size: calc(14px + var(--slope-1px) * 4);
  font-family: var(--en-font-family);
}

.p-index-news__head:before {
  content: "";
  display: block;
  width: calc(6px + var(--slope-1px) * 2);
  aspect-ratio: 1/1;
  border-radius: var(--ovall-radius);
  background: currentColor;
}

.p-index-news__body {
  display: grid;
  grid-template-columns: 100%;
  gap: 12px;
}

/* p-index-news-nav
============================== */
.p-index-news-nav {
  display: grid;
  align-items: center;
  grid-template-columns: 127px 1fr auto;
  gap: 10px 1em;
  min-height: 58px;
  padding: 15px 20px;
  border-radius: var(--ovall-radius);
  background: #fff;
  color: var(--base-color);
  text-decoration: none;
  font-size: calc(15px + var(--slope-1px) * 1);
  transition: opacity .2s;

  --icon-color: #8c8c8c;
}

.p-index-news-nav:hover {
  opacity: .7;
}

@media screen and (max-width: 767px) {
  .p-index-news-nav {
    padding: 14px 15px 20px 20px;
    border-radius: 10px;
  }
}

.p-index-news-nav._important {
  border: 1px solid;
  color: var(--key-color);

  --icon-color: currentColor;
}

.p-index-news-nav__date {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  font-size: 17px;
  font-family: var(--en-font-family);
  line-height: .8;
}

@media screen and (max-width: 767px) {
  .p-index-news-nav__date {
    grid-column: span 2;
  }
}

.p-index-news-nav__date:before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: calc(22px + var(--slope-1px) * 2);
  aspect-ratio: 1/1;
  background: var(--icon-color);
  mask: var(--icon-info) 50% 50%/contain no-repeat;
}

.p-index-news-nav__text {
  margin-block: var(--leading-trim);
  padding-bottom: .25em;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .p-index-news-nav__text {
    grid-column: span 2;
  }
}

.p-index-news-nav:after {
  content: "";
  display: block;
  width: 14px;
  aspect-ratio: 1/1;
  background: currentColor;
  mask: var(--icon-arrow) 50% 50%/contain no-repeat;
}

@media screen and (max-width: 767px) {
  .p-index-news-nav:after {
    grid-column: 3 / 4;
    grid-row: 1 / 3;
  }
}

/* Mut-holidays
============================== */
body[data-id=index] .Mut-holidays {
  width: 100%;
  max-width: var(--inner-width-px);
  margin-inline: auto;
  margin-bottom: 14px;
  border-radius: var(--base-border-radius);
  background: #fff;
}

body[data-id=index] .Mut-holidays__button {
  padding-block: 1em;
  border: 1px solid;
  border-radius: var(--ovall-radius);
}

/* p-index-second
============================== */
.p-index-second {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 100%;
  padding-bottom: 20lvh;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .p-index-second {
    min-height: 0;
    padding-bottom: 0;
  }
}

.p-index-second__contents {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: 100lvh;
  max-width: var(--inner-width-px);
  margin-top: auto;
  padding-block: 75px;
  text-align: left;
  opacity: 1;
  transition: all .4s;

  container-type: inline-size;
}

@media screen and (max-width: 767px) {
  .p-index-second__contents {
    height: auto;
  }
}

.p-index-second__contents:after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(var(--inner-overflow) * -1);
  z-index: -1;
  display: block;
  width: 45cqi;
  max-width: 503px;
  aspect-ratio: 503/ 621;
  margin-left: auto;
  background: url(../img/index/map.png) right 50%/contain no-repeat;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .p-index-second__contents:after {
    position: relative;
    width: calc(100% - 7px + var(--inner-padding));
    max-width: 503px;
    margin-top: max(-31px, -8%);
    transform: none;
  }
}

@media screen and (min-width: 1367px) {
  .p-index-second__contents:after {
    width: calc(var(--vw) * 100 / 1366 * 495);
    max-width: none;
    max-height: 100%;
  }
}

.p-index-second__body {
  margin-top: calc(26px + var(--slope-1px) * 20);
}

.p-index-second__body > p {
  margin-block: var(--leading-trim);
  font-size: calc(15px + var(--slope-1px) * 5);
  line-height: 2.2;
}

.p-index-second__foot {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(100cqi / 1100 * 35);
  width: min(721px, 100%);
  margin-top: 72px;
}

@media screen and (max-width: 767px) {
  .p-index-second__foot {
    order: 1;
    margin-top: calc(20px + var(--slope-1px) * 10);
  }
}

/* p-index-copy
=============================== */
.p-index-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .12em;
  color: #fff;
  font-weight: 900;
  font-size: calc(31px + var(--slope-1px) * 30);
  font-family: var(--en-font-family), var(--base-font-family);
  line-height: calc(42.78px + var(--slope-1px) * 41.4);

  --speed: .3s;
}

.p-index-copy._second {
  font-size: clamp(26px, calc(100cqi / 1100 * 60), 61px);
  line-height: 1.45;

  --speed: .5s;
}

.p-index-copy__line {
  position: relative;
  display: block;
  overflow: hidden;
  transition: transform var(--speed) ease-out var(--delay);
  transform: scaleX(0);
  transform-origin: left top;

  --index: 0;
  --delay: calc(.15s * var(--index));
}

.p-index-copy__line:nth-child(2) {
  --index: 1;
}

.p-index-copy__line:nth-child(3) {
  --index: 2;
}

.p-index-copy__line em {
  font-weight: 700;
  font-size: 1.14754em;
}

@media screen and (max-width: 767px) {
  .p-index-copy._first .p-index-copy__line em {
    white-space: nowrap;
    letter-spacing: 0;
    font-size: calc(35px + var(--slope-1px) * 35);
  }
}

.p-index-copy__line mark {
  background: linear-gradient(to top, transparent .1em, var(--point-color) .1em, var(--point-color) .34em, transparent .34em);
  color: currentColor;
}

.p-index-copy__line:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  transition: transform var(--speed) ease-out calc(var(--speed) + var(--delay));
  transform-origin: right top;
}

body.is-loader-hide .p-index-hero .p-index-copy__line,
.p-index-copy._second[data-intersecting="true"] .p-index-copy__line {
  transform: scaleX(1);
}

body.is-loader-hide .p-index-hero .p-index-copy__line:before,
.p-index-copy._second[data-intersecting="true"] .p-index-copy__line:before {
  transform: scaleX(0);
}

/* ============================================================= *

index slider

* ============================================================= */
/* p-index-slider
=============================== */
.p-index-slider {
  position: relative;
  left: 50%;
  display: grid;
  grid-template-columns: 100%;
  overflow: hidden;
  width: calc(var(--vw) * 100);
  margin-bottom: 5.8rem;
  transform: translateX(-50%);
}

.p-index-slider__main {
  width: calc(var(--vw) * 100 / 1366 * 485);
  margin-inline: auto;
}

@media screen and (max-width: 560px) {
  .p-index-slider__main {
    width: calc(var(--vw) * 100 / 375 * 330);
  }
}

.p-index-slider__main .slick-list {
  overflow: visible;
}

.p-index-slider__item {
  display: flex !important;
  align-items: center;
  width: var(--box-size);
  padding: var(--padding-size);

  container-type: inline-size;
  --padding-size: calc(7.5px + var(--slope-1px) * 9);
}

.p-index-slider__item a {
  display: block;
  width: 100%;
  transition: opacity .3s ease-out;
}

.p-index-slider__item a:hover {
  opacity: .8;
}

.p-index-slider__item img {
  border-radius: calc(100cqi / 485 * 20);
  transition: transform .4s;
}

/* p-index-slider-control
============================== */
.p-index-slider-control {
  position: relative;
  display: grid;
  align-items: center;
  grid-template-columns: 1fr auto;
  gap: calc(20px + var(--slope-1px) * 22);
  width: 100%;
  max-width: calc(var(--inner-width-px) + var(--inner-padding) * 2);
  margin: calc(20px + var(--slope-1px) * 15) auto 0;
  margin-inline: auto;
  padding-inline: var(--inner-padding);
  color: #fff;
}

.p-index-slider-control .c-slider-progress {
  background: #fff;
}

/* p-index-sns
============================== */
.p-index-sns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(15px + var(--slope-1px) * 20);
  width: 100%;
  max-width: calc(var(--inner-width-px) + var(--inner-padding) * 2);
  margin-inline: auto;
  margin-top: calc(100px + var(--slope-1px) * 60);
  padding-inline: var(--inner-padding);
}

@media screen and (max-width: 767px) {
  .p-index-sns {
    grid-template-columns: 100%;
    max-width: 535px;
  }
}

.p-index-sns-block {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(24px + var(--slope-1px) * 6);
  padding: calc(30px + var(--slope-1px) * 5) 7.5188% calc(30px + var(--slope-1px) * 15);
  border-radius: var(--base-border-radius);
  background: #fff;
}

@media screen and (max-width: 767px) {
  .p-index-sns-block {
    padding-inline: calc(15px + var(--slope-1px) * 25);
  }
}

.p-index-sns-block__head {
  display: flex;
  align-items: center;
  gap: calc(16px + var(--slope-1px) * 4);
  padding-bottom: calc(24px + var(--slope-1px) * 6);
  border-bottom: 1px solid var(--light-base-color);
}

.p-index-sns-block__icon {
  flex-shrink: 0;
  width: calc(50px + var(--slope-1px) * 10);
}

.p-index-sns-block__title {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(8px + var(--slope-1px) * 4);
  font-weight: 500;
  font-size: calc(14px + var(--slope-1px) * 4);
  line-height: 1;
}

.p-index-sns-block__title:after {
  content: attr(data-en);
  font-weight: 600;
  font-size: calc(26px + var(--slope-1px) * 4);
  font-family: var(--en-font-family);
  line-height: .8;
}

.p-index-sns-block__body {
  display: contents;
}

.p-index-sns-block__text {
  font-size: calc(15px + var(--slope-1px) * 1);
}

.p-index-sns-block__image {
  overflow: hidden;
  border-radius: var(--base-border-radius);
}

.p-index-sns-block__foot {
  width: 100%;
  max-width: calc(303px + var(--slope-1px) * 40);
  margin-inline: auto;

  container-type: inline-size;
}

@media screen and (min-width: 768px) {
  .p-index-sns-block__foot .c-button {
    font-size: min(20px, 5.8cqi);
  }
}

/* ============================================================= *

index showroom

* ============================================================= */
/* p-index-showroom
=============================== */
.p-index-showroom {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-inline: var(--inner-padding);
  color: var(--on-color);
}

.p-index-showroom__head {
  flex-shrink: 0;
}

.p-index-showroom__body {
  flex-grow: 1;
  flex-basis: 61.81818%;
}

.p-index-showroom__grid {
  display: flex;
  gap: 46px;
  max-width: var(--inner-width-px);
}

@media screen and (max-width: 1180px) {
  .p-index-showroom__grid {
    flex-direction: column;
  }
}

/* p-index-showroom-search
============================== */
.p-index-showroom-search {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(15px + var(--slope-1px) * 5);
}

.p-index-showroom-search__notes {
  margin-top: calc(16px + var(--slope-1px) * 4 + var(--leading-trim));
  padding-left: 1em;
  text-indent: -1em;
  font-size: calc(12px + var(--slope-1px) * 1);
  line-height: 1.4;
}

/* ============================================================= *

index newcar

* ============================================================= */
/* p-index-newcar
=============================== */
.p-index-newcar {
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-block: 20lvh;
  color: var(--on-color);
}

@media screen and (max-width: 767px) {
  .p-index-newcar {
    padding-block: 10lvh;
  }
}

.p-index-newcar__inner {
  width: calc(var(--vw) * 100);
}

.p-index-newcar__body {
  overflow: hidden;
  margin-bottom: 50px;
}

.p-index-newcar__foot {
  display: flex;
  gap: 35px;
  width: 100%;
  max-width: calc(var(--inner-width-px) + var(--inner-padding) * 2);
  margin-inline: auto;
  margin-top: calc(40px + var(--slope-1px) * 40);
  padding-inline: var(--inner-padding);
  padding-inline: var(--inner-padding);
  opacity: 0;
  transition: opacity .3s;
  pointer-events: none;
}

.p-index-newcar__foot.is-show {
  opacity: 1;
  pointer-events: auto;
}

@media screen and (max-width: 767px) {
  .p-index-newcar__foot {
    flex-direction: column;
    max-width: calc(303px + var(--slope-1px) * 40 + var(--inner-padding) * 2);
  }
}

.p-index-newcar__foot .c-button {
  width: 343px;
}

@media screen and (max-width: 767px) {
  .p-index-newcar__foot .c-button {
    width: 100%;
  }
}

/* p-index-newcar-scroll
============================== */
.p-index-newcar-scroll__inner {
  position: sticky;
  top: 0;
  overflow: hidden;
  width: calc(var(--vw) * 100);
}

.p-index-newcar-scroll__body {
  display: flex;
  will-change: transform;
}

@media screen and (max-width: 767px) {
  .p-index-newcar-scroll__body {
    flex-direction: column;
  }
}

.p-index-newcar-scroll__heading {
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: calc(var(--vw) * 100);
}

@media screen and (max-width: 767px) {
  .p-index-newcar-scroll__heading {
    justify-content: flex-start;
    margin-bottom: 30px;
    padding-inline: var(--inner-padding);
  }
}

.p-index-newcar-scroll__heading .c-en-title {
  padding-inline: 64px;
}

@media screen and (max-width: 767px) {
  .p-index-newcar-scroll__heading .c-en-title {
    padding-inline: var(--inner-padding);
  }
}

/* p-index-newcar-slider
============================== */
.p-index-newcar-slider {
  flex-shrink: 0;
  width: calc(var(--vw) * 100);
  margin: 0;
  padding: 0;
  will-change: transform;

  --gap: calc(15px + var(--slope-1px) * 20);
  --slide-width: min(450px, 87.46667vw);
}

@media screen and (max-width: 767px) {
  .p-index-newcar-slider {
    width: calc(var(--vw) * 280);
  }
}

.p-index-newcar-slider__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gap);
  width: 100%;
  padding-right: var(--outer-padding-px);
}

@media screen and (max-width: 767px) {
  .p-index-newcar-slider__list {
    padding-inline: var(--inner-padding);
  }
}

@media screen and (min-width: 1500px) {
  .p-index-newcar-slider__list {
    width: calc(var(--slide-width) * 3 + var(--gap) * 2);
  }
}

.p-index-newcar-slider__item {
  container-type: inline-size;
}

.p-index-newcar-slider__item a {
  display: block;
  width: 100%;
  max-width: var(--slide-width);
  transition: opacity .2s;
}

@media screen and (max-width: 767px) {
  .p-index-newcar-slider__item a {
    max-width: 100%;
  }
}

.p-index-newcar-slider__item a:hover {
  opacity: .7;
}

.p-index-newcar-slider__item img {
  border-radius: calc(100cqi / 450 * 20);
}

/* ============================================================= *

index usedcar

* ============================================================= */
/* p-index-usedcar
=============================== */
.p-index-usedcar {
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: max(20lvh, var(--header-height));
  padding-bottom: 20lvh;
  color: var(--on-color);
}

@media screen and (max-width: 767px) {
  .p-index-usedcar {
    padding-top: max(10lvh, var(--header-height));
    padding-bottom: 10lvh;
  }
}

.p-index-usedcar__inner {
  width: calc(var(--vw) * 100);
}

.p-index-usedcar__body {
  overflow: hidden;
  margin-bottom: 50px;
}

.p-index-usedcar__foot {
  display: flex;
  justify-content: flex-start;
  width: 100%;
  max-width: calc(var(--inner-width-px) + var(--inner-padding) * 2);
  margin: calc(40px + var(--slope-1px) * 40) auto 0;
  margin-inline: auto;
  padding-inline: var(--inner-padding);
  opacity: 0;
  transition: opacity .3s;
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  .p-index-usedcar__foot {
    justify-content: center;
  }
}

.p-index-usedcar__foot.is-show {
  opacity: 1;
  pointer-events: auto;
}

.p-index-usedcar__foot .c-button {
  width: calc(303px + var(--slope-1px) * 40);
  max-width: 100%;
}

/* p-index-usedcar-stock
=============================== */
.p-index-usedcar-stock {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(9px + var(--slope-1px) * 1);
  width: calc(260px + var(--slope-1px) * 40);
  height: calc(102px + var(--slope-1px) * 15);
  max-width: 100%;
  margin-top: 34px;
  border: 1px solid;
  border-radius: var(--base-border-radius);
  font-size: calc(19px + var(--slope-1px) * 3);
}

.p-index-usedcar-stock__head {
  flex-shrink: 0;
  margin-block: var(--leading-trim);
  font-weight: 500;
  font-weight: 500;
  line-height: 1.2;
}

.p-index-usedcar-stock__body {
  display: flex;
  align-items: baseline;
  font-weight: 500;
  font-size: calc(24px + var(--slope-1px) * 4);
  line-height: 1;
}

.p-index-usedcar-stock__body em {
  letter-spacing: .03em;
  font-weight: 700;
  font-size: calc(57px + var(--slope-1px) * 9);
  font-family: var(--en-font-family);
  line-height: .8;
}

/* p-index-usedcar-card
=============================== */
.p-index-usedcar-card {
  display: grid;
  grid-template-columns: 50.36496% 1fr;
  overflow: hidden;
  min-height: calc(218px + var(--slope-1px) * 92);
  border-radius: var(--base-border-radius);
  background: var(--on-color);
  text-decoration: none;
  transition: opacity .4s;
}

.p-index-usedcar-card:hover {
  opacity: .7;
}

.p-index-usedcar-card__head {
  min-width: 0
}

.p-index-usedcar-card__image {
  width: 100%;
  height: 100%;
  max-width: calc(292px + var(--slope-1px) * 122);
  aspect-ratio: 414 / 312;
}

.p-index-usedcar-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-index-usedcar-card__body {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: calc(16px + var(--slope-1px) * 8) calc(16px + var(--slope-1px) * 8) calc(12px + var(--slope-1px) * 2);
  color: var(--base-color);
}

.p-index-usedcar-card__name {
  margin-block: var(--leading-trim) calc(20px + var(--slope-1px) * 4 + var(--leading-trim));
  margin-top: auto;
  font-weight: 700;
  font-size: calc(18px + var(--slope-1px) * 8);
  line-height: 1.25;
}

.p-index-usedcar-card__data {
  margin-top: var(--leading-trim);
  margin-bottom: calc(13px + var(--slope-1px) * 5);
  padding-bottom: calc(20px + var(--slope-1px) * 10 + var(--leading-trim));
  border-bottom: 1px solid var(--border-color);
  font-size: calc(16px + var(--slope-1px) * 2);
  line-height: 1.45;
}

.p-index-usedcar-card__price {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  gap: 1em;
  margin-bottom: var(--leading-trim);
  font-size: calc(12px + var(--slope-1px) * 5);
}

.p-index-usedcar-card__price span:nth-child(2) {
  color: var(--key-color);
  font-size: calc(18px + var(--slope-1px) * 7);
}

.p-index-usedcar-card__price span:nth-child(2) em {
  font-weight: 700;
  font-size: calc(31px + var(--slope-1px) * 13);
  font-family: var(--en-font-family);
  line-height: .8;
}

.p-index-usedcar-card__button {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: calc(8px + var(--slope-1px) * 7);
  margin-top: calc(28px + var(--slope-1px) * 12);
  color: var(--key-color);
  font-weight: 500;
  font-size: calc(11px + var(--slope-1px) * 4);
}

.p-index-usedcar-card__button:after {
  content: "";
  display: block;
  flex-shrink: 0;
  width: calc(22px + var(--slope-1px) * 10);
  aspect-ratio: 1/1;
  border-radius: var(--ovall-radius);
  background: var(--icon-arrow) calc(50% + var(--slope-1px)) 50%/calc(100% - 4px + var(--slope-1px) * 4) no-repeat var(--key-color);
}

/* p-index-usedcar-scroll
============================== */
.p-index-usedcar-scroll__inner {
  position: sticky;
  top: 0;
  overflow: hidden;
  width: calc(var(--vw) * 100);
}

.p-index-usedcar-scroll__body {
  display: flex;
  will-change: transform;
}

@media screen and (max-width: 767px) {
  .p-index-usedcar-scroll__body {
    flex-direction: column;
  }
}

.p-index-usedcar-scroll__heading {
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: calc(var(--vw) * 100);
}

@media screen and (max-width: 767px) {
  .p-index-usedcar-scroll__heading {
    justify-content: flex-start;
  }
}

.p-index-usedcar-scroll__heading-inner {
  padding-inline: 64px;
}

@media screen and (max-width: 767px) {
  .p-index-usedcar-scroll__heading-inner {
    width: 100%;
    margin-bottom: 30px;
    padding-inline: var(--inner-padding);
  }
}

/* p-index-usedcar-slider
============================== */
.p-index-usedcar-slider {
  flex-shrink: 0;
  width: calc(100% + var(--inner-padding) * 2);
  margin: 0;
  will-change: transform;

  --gap: 35px;
}

@media screen and (max-width: 767px) {
  .p-index-usedcar-slider {
    width: calc(var(--vw) * 280);

    --gap: 28px;
  }
}

.p-index-usedcar-slider__list {
  display: flex;
  width: calc(100% + var(--gap));
}

@media screen and (max-width: 767px) {
  .p-index-usedcar-slider__list {
    padding-inline: var(--inner-padding);
  }
}

.p-index-usedcar-slider__item {
  flex-shrink: 0;
  padding-right: var(--gap);
}

@media screen and (max-width: 767px) {
  .p-index-usedcar-slider__item:last-child {
    padding-right: 0;
  }
}

/* p-index-maintenance
=============================== */
.p-index-maintenance {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-inline: var(--inner-padding);
  color: var(--on-color);
}

.p-index-maintenance__contents {
  display: grid;
  justify-content: center;
  align-items: flex-start;
  grid-template-columns: auto 1fr;
  gap: 26px 50px;
  max-width: var(--inner-width-px);
}

@media screen and (max-width: 1180px) {
  .p-index-maintenance__contents {
    grid-template-columns: 100%;
  }
}

.p-index-maintenance__body {
  justify-self: flex-end;
  max-width: 680px;
}

@media screen and (max-width: 1180px) {
  .p-index-maintenance__body {
    justify-self: center;
  }
}

/* ============================================================= *

index information

* ============================================================= */
/* p-index-information
=============================== */
.p-index-information {
  padding: 75lvh 0 25lvh;
}

/* p-index-bg-information
=============================== */
.p-index-bg-information {
  position: fixed;
  z-index: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: calc(60px + var(--slope-1px) * 12);
  overflow: hidden;
  width: 100%;
  height: 100%;
  color: #fff;
  text-align: center;
}

.p-index-bg-information__ja {
  align-self: center;
  margin-block: var(--leading-trim);
  font-weight: 500;
  font-size: calc(24px + var(--slope-1px) * 4);
}

.p-index-bg-information__en {
  position: relative;
  display: grid;
  align-items: center;
  grid-template-columns: repeat(var(--loop-element-count), 1fr);
  gap: 0;
  overflow: hidden;
  white-space: nowrap;
  font-weight: 600;
  font-size: calc(var(--vw) * 100 / 1366 * 120);
  font-family: var(--en-font-family);
  animation: loop_text 10s linear infinite;
}

.p-index-bg-information__en ._loop {
  display: block;
  padding-inline: .5em;
  line-height: .8;
}

/* ============================================================= *

topics

* ============================================================= */
.p-index-topics {
  position: relative;
  position: relative;
  z-index: 100;
  width: 100%;
  min-height: 100%;
  padding: calc(75px + var(--slope-1px) * 19) var(--inner-padding) calc(75px + var(--slope-1px) * 25);
  background: #fff;
}

.p-index-topics__inner {
  max-width: var(--inner-width-px);
  margin-inline: auto;
}

.p-index-topics__head {
  margin-bottom: calc(40px + var(--slope-1px) * 16);
}

.p-index-topics__title {
  margin-block: var(--leading-trim);
  text-align: center;
  font-weight: 500;
  font-size: calc(24px + var(--slope-1px) * 8);
}

/* c-topics-list
=============================== */
.c-topics-list {
  border-top: 1px solid var(--border-color);

  --border-color: #8c8c8c;
}

.c-topics-list.is-hide {
  display: none;
  border-top: none;
  transition: transform .4s;
}

.c-topics-list__item {
  border-bottom: 1px solid var(--border-color);
}

.c-topics-list__item[data-toggle-id] {
  display: none;
}

.c-topics-link__head {
  display: flex;
  gap: .5em;
}

.topics-link {
  position: relative;
  display: grid;
  flex-direction: column;
  align-items: flex-start;
  grid-template-columns: 1fr 32px;
  gap: calc(16px + var(--slope-1px) * 2) 1em;
  width: 100%;
  padding: calc(24px + var(--slope-1px) * 6) calc(3px + var(--slope-1px) * 10) calc(24px + var(--slope-1px) * 6) calc(15px + var(--slope-1px) * 5);
  text-decoration: none;
  font-size: calc(15px + var(--slope-1px) * 3);
  transition: transform .4s;
}

.topics-link:hover {
  transform: translateX(5px);
}

.topics-link:after {
  content: "";
  display: block;
  align-self: center;
  grid-column: 2/3;
  grid-row: 1/3;
  width: 32px;
  height: 32px;
  background: var(--key-color);
  mask: var(--icon-arrow) 50% 50%/contain no-repeat;
}

.topics-link__head {
  display: flex;
  align-items: center;
  gap: 8px;
}

.topics-link__category {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 94px;
  height: 22px;
  background: var(--dark-base-color);
  color: #fff;
  font-weight: 700;
  font-size: 12px;
}

.topics-link__category._car {
  background: var(--key-color);
}

.topics-link__label {
  margin-block: var(--leading-trim);
  font-size: calc(15px + var(--slope-1px) * 2);
  font-family: var(--en-font-family), var(--base-font-family);
}

.topics-link__body {
  margin-block: var(--leading-trim);
}

.c-topics-more {
  display: flex;
  justify-content: flex-start;
  margin-top: calc(20px + var(--slope-1px) * 8);
  color: var(--base-color);
  font-size: calc(15px + var(--slope-1px) * 5);
}

.c-topics-more__button {
  position: relative;
  display: flex;
  align-items: center;
  outline: none;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: currentColor;
  text-decoration: none;
}

.c-topics-more__button:focus-visible {
  outline: 1px var(--key-color);
}

.c-topics-more__button:before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  background: #8c8c8c;
  mask: var(--icon-down) 50% 50%/contain no-repeat;
  transition: transform .4s ease-out;
}

.p-index-topics__foot {
  width: calc(303px + var(--slope-1px) * 40);
  margin: 35px auto 0;
}

/* p-index-bottom-slider
============================== */
.p-index-bottom-slider {
  padding-top: calc(56px + var(--slope-1px) * 24);
}

.p-index-bottom-slider__list {
  width: 100%;
  max-width: calc(350px * 3);
}

@media screen and (max-width: 560px) {
  .p-index-bottom-slider {
    max-width: 240px;
  }
}

.p-index-bottom-slider .slick-list {
  overflow: visible;
}

.p-index-bottom-slider__item {
  width: 350px;
  padding-inline: 8px;
}

@media screen and (max-width: 560px) {
  .p-index-bottom-slider__item {
    width: 240px;
  }
}

.p-index-bottom-slider__item img {
  border-radius: calc(var(--base-border-radius) * .5);
}

/* ============================================================= *

showroom

* ============================================================= */
/* p-showroom-map
============================== */
.p-showroom-map {
  overflow: hidden;
  height: 500px;
  border-radius: var(--base-border-radius);
  background: var(--bg-color);
}

.p-showroom-map iframe {
  width: 100%;
  height: 100%;
}

.p-showroom-map .gmapOpen_shopName {
  font-weight: bold;
  font-size: 1.25em;
}

.p-showroom-map .gmapOpen_shopZip {
  padding-right: .5em;
}

/* p-showroom-info
============================== */
.p-showroom-info {
  display: flex;
  align-items: center;
  gap: 30px;
  width: fit-content;
  margin-inline: auto;
  margin-bottom: calc(30px + var(--slope-1px) * 20);
}

@media screen and (max-width: 767px) {
  .p-showroom-info {
    display: grid;
    align-items: baseline;
    grid-template-columns: auto 1fr;
    gap: 15px 5px;
  }
}

.p-showroom-info__item {
  display: grid;
  align-items: center;
  grid-template-columns: auto 1fr;
  gap: 5px;
}

@media screen and (max-width: 767px) {
  .p-showroom-info__item {
    display: contents;
  }
}

.p-showroom-info__head {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 30px;
  border-radius: 3px;
  background: var(--dark-base-color);
  color: #fff;
  font-weight: 500;
  font-size: 14px;
}

.p-showroom-info__body {
  margin-block: var(--leading-trim);
  padding-bottom: .1em;
  font-weight: 500;
  font-size: calc(18px + var(--slope-1px) * 2);
}

/* p-showroom-facility
============================== */
.p-showroom-facility {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(20px + var(--slope-1px) * 10);
  margin-bottom: calc(30px + var(--slope-1px) * 20);
  padding: calc(20px + var(--slope-1px) * 10);
  border-radius: var(--base-border-radius);
  background: #f2f2f2;
}

.p-showroom-facility__head {
  padding-bottom: calc(15px + var(--slope-1px) * 5);
  border-bottom: 1px solid #8c8c8c;
  text-align: center;
  font-weight: 700;
  font-size: calc(20px + var(--slope-1px) * 4);
  line-height: 1;
}

/* p-showroom-facility-grid
============================== */
.p-showroom-facility-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(196px, 1fr));
  gap: calc(10px + var(--slope-1px) * 5);
}

/* p-showroom-facility-item
============================== */
.p-showroom-facility-item {
  display: grid;
  align-items: center;
  grid-template-columns: auto 1fr;
  gap: calc(3.75px + var(--slope-1px) * 1.25);
}

.p-showroom-facility-item__icon {
  width: calc(36px + var(--slope-1px) * 12);
  padding: 5px;
  border-radius: 3px;
  background: var(--dark-base-color);
}

.p-showroom-facility-item__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-showroom-facility-item__text {
  margin-block: var(--leading-trim);
  font-weight: 500;
  font-size: calc(15px + var(--slope-1px) * 1);
  line-height: 1.25;
}

/* p-showroom-list
============================== */
.p-showroom-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(356px, 1fr));
  gap: calc(11px + var(--slope-1px) * 5);
}

@media screen and (max-width: 767px) {
  .p-showroom-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-showroom-list__item {
  display: contents;
}

/* p-showroom-card
============================== */
.p-showroom-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--border-color);
  border-radius: var(--base-border-radius);
  text-decoration: none;
}

.p-showroom-card__image {
  overflow: hidden;
  aspect-ratio: 356/200;
  padding: 5px;
}

.p-showroom-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-top-left-radius: calc(var(--base-border-radius) - 5px);
  border-top-right-radius: calc(var(--base-border-radius) - 5px);
}

.p-showroom-card__contents {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 15px calc(15px + var(--slope-1px) * 10) calc(15px + var(--slope-1px) * 10);
}

.p-showroom-card__head {
  margin-top: var(--leading-trim);
  margin-bottom: calc(15px + var(--slope-1px) * 5);
  padding-bottom: calc(15px + var(--slope-1px) * 5 + var(--leading-trim));
  border-bottom: 1px solid;
  text-decoration: underline;
  font-weight: 700;
  font-size: calc(20px + var(--slope-1px) * 4);
  line-height: 1.25;
}

.p-showroom-card:hover .p-showroom-card__head {
  text-decoration: none;
}

.p-showroom-card__body {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(15px + var(--slope-1px) * 5);
  margin-bottom: auto;
  font-size: calc(15px + var(--slope-1px) * 1);
  line-height: 1.25;
}

.p-showroom-card__body > p {
  margin-block: var(--leading-trim);
}

.p-showroom-card__body > p._zip {
  font-weight: 500;
  font-family: var(--en-font-family), var(--base-font-family);
}

.p-showroom-card__tel {
  display: flex;
  align-items: center;
  font-weight: 600;
  font-size: calc(15px + var(--slope-1px) * 9);
  font-family: var(--en-font-family);
}

.p-showroom-card__tel:before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: calc(18px + var(--slope-1px) * 6);
  aspect-ratio: 1/1;
  background: currentColor;
  mask: url(../img/icon/tel.png) 50% 50%/contain no-repeat;
}

.p-showroom-card__foot {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: calc(3px + var(--slope-1px) * 1);
  width: 100%;
  margin-top: calc(10px + var(--slope-1px) * 15);
}

@media screen and (max-width: 767px) {
  .p-showroom-card__foot {
    grid-template-columns: repeat(4, 1fr);
  }
}

.p-showroom-card__foot > li {
  min-width: 0;
  aspect-ratio: 1/1;
  padding: 2px;
  border-radius: calc(2px + var(--slope-1px) * 1);
  background: var(--dark-base-color);
}

.p-showroom-card__foot > li._disabled {
  background: #d9d9d9;
}

.p-showroom-card__foot > li img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ============================================================= *

sr

* ============================================================= */
/* p-sr-information
============================== */
.p-sr-information {
  display: grid;
  grid-template-columns: min(590px, 52%) 1fr;
  gap: calc(30px + var(--slope-1px) * 20);
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-sr-information {
    grid-template-columns: 100%;
  }
}

/* p-sr-header
============================== */
@media screen and (min-width: 768px) {
  .p-sr-header {
    grid-column: 2/3;
    grid-row: 1/2;
  }
}

/* p-sr-header-contact
============================== */
.p-sr-header-contact {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(11px + var(--slope-1px) * 9);
  margin-bottom: calc(17px + var(--slope-1px) * 3);

  container-type: inline-size;
}

@media screen and (max-width: 767px) {
  .p-sr-header-contact {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-sr-header-contact__tel {
  display: grid;
  align-items: center;
  grid-template-columns: 32px auto;
  gap: 3px 0;
  color: var(--key-color);
  font-weight: 600;
  font-size: min(50px, 12cqi);
  font-family: var(--en-font-family);
  line-height: .8;
}

.p-sr-header-contact__tel:before {
  content: "";
  width: .64em;
  aspect-ratio: 1/1;
  background: currentColor;
  mask: url(../img/icon/tel.png) 50% 50%/contain no-repeat;
}

@media screen and (max-width: 767px) {
  .p-sr-header-contact__tel {
    justify-content: center;
    height: calc(52px + var(--slope-1px) * 21);
    border-radius: var(--ovall-radius);
    background: var(--key-color);
    color: #fff;
  }
}

@media screen and (min-width: 768px) {
  .p-sr-header-contact__tel:after {
    content: "TEL";
    grid-column: 1/2;
    grid-row: 2/3;
    text-align: center;
    font-size: 16px;
  }
  .p-sr-header-contact__tel > span {
    grid-row: span 2;
  }
}

/* p-sr-header-info
============================== */
.p-sr-header-info {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  font-size: calc(15px + var(--slope-1px) * 1);
}

.p-sr-header-info__item {
  display: contents;
}

.p-sr-header-info__head {
  margin-block: var(--leading-trim);
}

.p-sr-header-info__body {
  margin-block: var(--leading-trim);
}

/* p-sr-header-nav
============================== */
.p-sr-header-nav {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(212px, 1fr));
  gap: calc(10px + var(--slope-1px) * 1);
  margin-top: calc(30px + var(--slope-1px) * 5);
}

@media screen and (max-width: 767px) {
  .p-sr-header-nav {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* p-sr-slider
============================== */
@media screen and (min-width: 768px) {
  .p-sr-slider {
    grid-column: 1/2;
    grid-row: 1/2;
  }
  .p-sr-slider img {
    border-radius: var(--base-border-radius);
  }
}

@media screen and (max-width: 767px) {
  .p-sr-slider__list {
    width: calc(100% + var(--inner-padding) * 2);
    margin-left: calc(var(--inner-padding) * -1);
  }
}

.p-sr-slider-control {
  position: relative;
  display: grid;
  align-items: center;
  grid-template-columns: 1fr auto;
  gap: 15px;
  margin-top: 15px;
  color: #fff;
}

.p-sr-slider-control .c-slider-arrows {
  gap: 10px;
}

/* p-sr-profile
============================== */
.p-sr-profile {
  font-size: calc(15px + var(--slope-1px) * 1);
}

.p-sr-profile__item {
  display: grid;
  grid-template-columns: 6em 1fr;
  padding-block: 25px;
  border-bottom: 1px solid #8c8c8c;
}

.p-sr-profile__head {
  margin-block: var(--leading-trim);
}

.p-sr-profile__body:not(:has(img)) {
  margin-block: var(--leading-trim);
}

.p-sr-profile__body > span:not(:last-child) {
  padding-right: .5em;
}

/* p-sr-certification
============================== */
.p-sr-certification img {
  height: 25px;
}

/* p-sr-facility
============================== */
.p-sr-facility {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(14.5em, 1fr));
  gap: 6px 0;

  container-type: inline-size;
}

@media screen and (max-width: 767px) {
  .p-sr-facility {
    gap: 7px;
  }
}

.p-sr-facility__item {
  display: flex;
  align-items: center;
  gap: 5px;
  font-weight: 500;
  line-height: 1.25;
}

.p-sr-facility__icon {
  flex-shrink: 0;
  width: min(calc(100cqi / 480 * 48), 48px);
  padding: calc(3.75px + var(--slope-1px) * 1.25);
  border-radius: 3px;
  background: var(--dark-base-color);
}

@media screen and (max-width: 767px) {
  .p-sr-facility__icon {
    width: calc(36px + var(--slope-1px) * 12);
  }
}

.p-sr-facility__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* p-sr-calendar
============================== */
.p-sr-calendar {
  position: relative;
  display: block;
  align-self: flex-start;
  width: 100%;
  max-width: 460px;
  border: 1px solid #bfbfbf;
  border-radius: var(--base-border-radius);
  background: #fff;

  --theme-color: transparent;
  container-type: inline-size;
}

@media screen and (max-width: 767px) {
  .p-sr-calendar {
    margin-inline: auto;
  }
}

.p-sr-calendar .cal_close01 {
  --theme-color: #666;
}

.p-sr-calendar .cal_close02 {
  --theme-color: var(--base-color);
}

.p-sr-calendar .cal_close03 {
  --theme-color: #14b2be;
}

.p-sr-calendar__container {
  display: flex;
  align-items: center;
  padding: 30px max(20px, calc(100cqi / 460 * 30));
}

.p-sr-calendar-box__head {
  display: grid;
  align-items: end;
  grid-template-columns: 26px 1fr 26px;
  padding-bottom: calc(15px + var(--slope-1px) * 5);
  border-bottom: 1px solid #8c8c8c;
}

.p-sr-calendar-box__arrow {
  display: block;
  width: 26px;
  aspect-ratio: 1/1;
  border: 0;
  border-radius: var(--ovall-radius);
  background: var(--icon-arrow) calc(50% + var(--slope-1px)) 50%/contain no-repeat var(--dark-base-color);
  color: inherit;
  cursor: pointer;
  transition: opacity .2s;
  appearance: none;
}

.p-sr-calendar-box__arrow._prev {
  rotate: 180deg;
}

.p-sr-calendar-box__arrow:focus-visible {
  outline: 2px var(--key-color);
}

.p-sr-calendar-box__arrow:hover {
  opacity: .7;
}

.p-sr-calendar-box__arrow.is-disabled {
  background-color: #d9d9d9;
  transition: none;
  pointer-events: none;
}

.p-sr-calendar-box__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  text-align: center;
  font-weight: 600;
  font-family: var(--en-font-family);
  line-height: .7;
}

.p-sr-calendar-box__title .cal_year {
  font-size: calc(15px + var(--slope-1px) * 5);
}

.p-sr-calendar-box__title .cal_month {
  font-size: calc(40px + var(--slope-1px) * 8);
}

.p-sr-calendar-box__foot {
  margin-top: 20px;
}

.p-sr-calendar-box .cal {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-weight: regular;
  font-weight: 600;
  font-family: var(--en-font-family);
  line-height: .7;
}

.p-sr-calendar-box .cal th {
  padding-block: calc(100cqi / 460 * 10);
  text-align: center;
}

.p-sr-calendar-box .cal th > div {
  padding: 5px;
  font-size: calc(13px + var(--slope-1px) * 1);
}

.p-sr-calendar-box .cal td {
  padding: calc(100cqi / 460 * 2.5);
  text-align: center;
  font-size: max(15px, calc(100cqi / 460 * 20));
}

.p-sr-calendar-box .cal td > div {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(100cqi / 460 * 40);
  aspect-ratio: 1/1;
  margin-inline: auto;
  border-radius: 50%;
}

.p-sr-calendar-box .cal td .cal_sat {
  color: #3475b1;
}

.p-sr-calendar-box .cal .cal_sun,
.p-sr-calendar-box .cal .cal_holiday {
  color: #c00;
}

.p-sr-calendar-box .cal td div[class*="cal_close"] {
  background: var(--theme-color);
  color: #fff;
}

.p-sr-calendar-notice {
  display: grid;
  grid-template-columns: 100%;
  font-size: calc(13px + var(--slope-1px) * 1);
  line-height: 1.5;
}

.p-sr-calendar-notice__item {
  margin-block: var(--leading-trim);
  padding-left: 2em;
  text-indent: -2em;
}

.p-sr-calendar-notice__item > i {
  color: var(--theme-color);
  font-style: normal;
}

/* p-sr-access
============================== */
.p-sr-access {
  display: grid;
  grid-template-columns: 100%;
  gap: 15px;
}

.p-sr-access__map {
  overflow: hidden;
  height: 454px;
  border-radius: var(--base-border-radius);
  background: var(--bg-color);
}

.p-sr-access__map iframe {
  width: 100%;
  height: 100%;
}

/* p-sr-contact
============================== */
.p-sr-contact {
  position: relative;
  display: grid;
  grid-template-columns: 100%;
  gap: 50px;
  margin-block: calc(75px + var(--slope-1px) * 25);
  padding-block: calc(75px + var(--slope-1px) * 4);
  color: #fff;
}

.p-sr-contact:last-child {
  margin-bottom: 0;
}

.p-sr-contact:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: calc(var(--vw) * 100);
  height: 100%;
  background: url(../img/bg-sr-contact.jpg) 50% 50%/cover no-repeat;
  transform: translateX(-50%);
}

.p-sr-contact__head {
  position: relative;
  display: grid;
  grid-template-columns: 100%;
  gap: inherit;
  text-align: center;
}

.p-sr-contact__title {
  margin-block: var(--leading-trim);
  font-weight: 700;
  font-size: calc(24px + var(--slope-1px) * 8);
}

.p-sr-contact__lead {
  margin-block: var(--leading-trim);
  font-size: calc(18px + var(--slope-1px) * 2);
  line-height: 1.75;
}

.p-sr-contact__body {
  position: relative;
}

/* p-sr-contact-list
============================== */
.p-sr-contact-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

@media screen and (max-width: 1180px) {
  .p-sr-contact-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 11px;
  }
}

.p-sr-contact-list._main {
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

@media screen and (max-width: 767px) {
  .p-sr-contact-list._main {
    grid-template-columns: 100%;
  }
}

.p-sr-contact-list:not(:first-child) {
  margin-top: calc(24px + var(--slope-1px) * 8);
  padding-top: calc(24px + var(--slope-1px) * 8);
  border-top: 1px solid;
}

/* p-sr-democar
============================== */
.p-sr-democar .DEMOCAR-LIST__head {
  display: none;
}

/* p-sr-sp-fixed
============================== */
@media screen and (max-width: 767px) {
  body[data-id=sr] {
    --fixed-nav-height: 110px;
  }
  body[data-id=sr] .l-fixed-nav-container {
    display: none;
  }
}

.p-sr-sp-fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 9999;
  display: none;
  width: 100%;
  min-height: var(--fixed-nav-height);
  padding: 15px;
  background: var(--key-color);
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .2);
  color: #fff;
  transition: all .4s ease-out;
}

@media screen and (max-width: 767px) {
  .p-sr-sp-fixed {
    display: block;
  }
}

.p-sr-sp-fixed__nav {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 9px;
  margin-bottom: 10px;
}

.p-sr-sp-fixed__nav-item {
  display: contents;
}

.p-sr-sp-fixed__button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  width: 100%;
  height: 40px;
  outline: none;
  outline: none;
  border: 0;
  border-radius: var(--ovall-radius);
  background: #fff;
  color: var(--base-color);
  text-align: center;
  text-decoration: none !important;
  letter-spacing: 0;
  font-weight: 500;
  font-size: 15px;
  font-feature-settings: "palt";
  line-height: 1.25;
  cursor: pointer;
  transition: all .2s ease-out;
  appearance: none;
}

.p-sr-sp-fixed__button._tel {
  --icon: url(../img/icon/tel.png);
}

.p-sr-sp-fixed__button._contact {
  --icon: var(--icon-contact);
}

.p-sr-sp-fixed__button:before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 26px;
  aspect-ratio: 1/1;
  background: currentColor;
  mask: var(--icon) 50% 50%/contain no-repeat;
}

.p-sr-sp-fixed__info {
  width: fit-content;
  max-width: 100%;
  margin-block: var(--leading-trim);
  margin-inline: auto;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.5;
}

.p-sr-sp-fixed__info-item {
  display: flex;
  flex-wrap: wrap;
  gap: .25em;
}

.p-sr-sp-fixed__info-item > dt:after {
  content: "/";
  margin-left: .25em;
}

/* ============================================================= *

detail

* ============================================================= */
:root {
  --TPL-button-radius: var(--ovall-radius);
}

body[data-id=detail] .l-main__body {
  padding-bottom: calc(60px + var(--slope-1px) * 10);
}

body[data-id=detail] .LINEUP-DETAIL-contents {
  padding-top: 0;
}

body[data-id=detail] .LINEUP-DETAIL-contents:before {
  content: none;
}

body[data-id=detail] .LINEUP-DETAIL-contents__inner {
  padding-block: 0;
  box-shadow: none;
}

/* ============================================================= *

usedcar

* ============================================================= */
/* 
============================== */
body[data-category="usedcar"] {
  --fixed-nav-height: 0px;
}

body[data-category="usedcar"] :is(.COMMON-UCAR) {
  --inner-width-px: 1100px;
}

body[data-category="usedcar"] .l-fixed-nav-container {
  display: none;
}

body[data-id="usedcar"] .l-main__body {
  padding-top: 0;
}

body[data-id="usedcar"] .l-main__body,
body[data-id="search"] .l-main__body {
  padding-bottom: 0;
}

/* p-usedcar-ready
============================== */
.p-usedcar-ready {
  padding-bottom: 125px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-usedcar-ready {
    padding-bottom: calc(50px + var(--slope-1px) * 25);
  }
}

/* ============================================================= *

campaign

* ============================================================= */
/* p-campaign-contents
============================== */
.p-campaign-contents .CMN-CMP-car-select__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
}

@media screen and (max-width: 560px) {
  .p-campaign-contents .CMN-CMP-car-select__list {
    grid-template-columns: repeat(3, 1fr);
  }
}

.p-campaign-contents .CMN-CMP-car-select__item {
  width: auto;
}

.p-campaign-contents .CMN-CMP-car-select__head {
  margin-top: 0;
  padding-top: 0;
}

.p-campaign-contents .CMN-CMP-car-article__title {
  background: var(--bg-color);
  color: var(--base-color);
}

/* ============================================================= *

maintenance

* ============================================================= */
.p-maintenance-schedule {
  overflow: hidden;
  width: 100%;

  container-type: inline-size;
  --base-cqi: calc(100cqi / 1100);
  --item-gap: calc(var(--base-cqi) * 20);
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule {
    --base-cqi: calc(100cqi / 345);
  }
}

.p-maintenance-schedule__list {
  position: relative;
  display: grid;
  grid-template-rows: repeat(3, auto);
  grid-template-columns: calc(var(--base-cqi) * 100) repeat(11, 1fr);
  grid-auto-flow: column;
  padding-right: calc(var(--base-cqi) * 10);
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__list {
    grid-template-rows: calc(var(--base-cqi) * 72) repeat(11, calc(var(--base-cqi) * 66));
    grid-template-columns: calc(var(--base-cqi) * 60) 1fr calc(var(--base-cqi) * 80);
    grid-auto-flow: row;
    padding-right: 0;
    padding-bottom: calc(var(--base-cqi) * 23);
  }
}

.p-maintenance-schedule__list:before {
  content: "";
  position: absolute;
  top: calc(var(--base-cqi) * 38);
  right: 0;
  z-index: 0;
  display: block;
  width: calc(var(--base-cqi) * 1014);
  height: calc(var(--base-cqi) * 24);
  background: #d9d9d9;
  clip-path: polygon(0 0, calc(100% - var(--base-cqi) * 16) 0, 100% 50%, calc(100% - var(--base-cqi) * 16) 100%, 0 100%);
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__list:before {
    top: auto;
    right: auto;
    bottom: 0;
    left: calc(var(--base-cqi) * 20);
    width: calc(var(--base-cqi) * 20);
    height: calc(var(--base-cqi) * 780);
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--base-cqi) * 10), 50% 100%, 0 calc(100% - var(--base-cqi) * 10));
  }
}

.p-maintenance-schedule__item {
  display: contents;

  --item-color: #8c8c8c;
}

.p-maintenance-schedule__item[data-schedule-type="12month"] {
  --item-color: var(--dark-base-color);
}

.p-maintenance-schedule__item[data-schedule-type="inspection"] {
  --item-color: var(--key-color);
}

.p-maintenance-schedule__item:not([data-schedule-type="header"]) > * {
  padding-right: var(--item-gap);
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__item:not([data-schedule-type="header"]) > * {
    padding-right: 0;
  }
}

.p-maintenance-schedule__item:not(:has(.p-maintenance-schedule__head)):before {
  content: "";
  position: relative;
  z-index: 1;
  display: block;
  width: calc(var(--base-cqi) * 16);
  height: calc(var(--base-cqi) * 16);
  margin: auto;
  border-radius: var(--ovall-radius);
  background: #8c8c8c;
  transform: translateX(calc(var(--item-gap) * -.5));
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__item:not(:has(.p-maintenance-schedule__head)):before {
    transform: none;
  }
}

.p-maintenance-schedule__item[data-schedule-type="header"] {
  padding-right: 0;
}

.p-maintenance-schedule__item[data-schedule-type="header"]:before {
  content: "";
  display: block;
  grid-column: 1/2;
  grid-row: 2/3;
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__item[data-schedule-type="header"]:before {
    grid-column: 2/3;
    grid-row: 1/2;
  }
}

.p-maintenance-schedule__item[data-schedule-type="header"] .p-maintenance-schedule__head {
  grid-column: 1/2;
  grid-row: 1/2;
}

.p-maintenance-schedule__head {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
}

.p-maintenance-schedule__delivery {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  aspect-ratio: 1/1;
  border: calc(var(--base-cqi) * 5) solid #d9d9d9;
  border-radius: var(--ovall-radius);
  background: #fff;
  font-weight: 700;
  font-size: calc(var(--base-cqi) * 18);
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__delivery {
    width: calc(var(--base-cqi) * 60);
    margin-bottom: auto;
    border-width: calc(var(--base-cqi) * 3);
    font-size: calc(var(--base-cqi) * 13);
  }
}

.p-maintenance-schedule__delivery > i {
  display: block;
  flex-shrink: 0;
  width: 44%;
  aspect-ratio: 1/1;
}

.p-maintenance-schedule__delivery > i svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-maintenance-schedule__terms {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: calc(var(--base-cqi) * 8);
  width: 100%;
  aspect-ratio: 1/1;
  border: calc(var(--base-cqi) * 3) solid currentColor;
  border-radius: var(--ovall-radius);
  background: #fff;
  color: var(--item-color);
  font-weight: 700;
  font-size: calc(var(--base-cqi) * 20);
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__terms {
    gap: calc(var(--base-cqi) * 5);
    width: calc(var(--base-cqi) * 56);
    font-size: calc(var(--base-cqi) * 12);
  }
}

.p-maintenance-schedule__terms em {
  padding-top: calc(var(--base-cqi) * 3);
  font-weight: 600;
  font-size: calc(var(--base-cqi) * 36);
  font-family: var(--en-font-family);
  line-height: .7;
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__terms em {
    font-size: calc(var(--base-cqi) * 28);
  }
}

.p-maintenance-schedule__body {
  position: relative;
  z-index: 1;
  padding-top: calc(var(--base-cqi) * 5);
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__body {
    display: flex;
    align-items: center;
    padding-top: 0;
    padding-left: calc(var(--base-cqi) * 9);
  }
}

.p-maintenance-schedule__body:before {
  content: "";
  position: absolute;
  right: var(--item-gap);
  bottom: calc(100% - var(--base-cqi) * 5);
  left: 0;
  display: block;
  width: var(--border-width);
  height: calc(var(--base-cqi) * 55);
  margin: auto;
  background: #8c8c8c;

  --border-width: 2px;
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__body:before {
    top: 0;
    right: calc(100% - var(--base-cqi) * 9);
    bottom: 0;
    left: auto;
    width: calc(var(--base-cqi) * 34);
    height: var(--border-width);
  }
}

[data-schedule-type="12month"] .p-maintenance-schedule__body:before,
[data-schedule-type="inspection"] .p-maintenance-schedule__body:before {
  background: var(--item-color);

  --border-width: 4px;
}

.p-maintenance-schedule__link {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: calc(var(--base-cqi) * 60);
  height: calc(var(--base-cqi) * 280);
  margin-inline: auto;
  padding-bottom: calc(var(--base-cqi) * 24);
  border: calc(var(--base-cqi) * 2) solid var(--item-color, #8c8c8c);
  border-radius: var(--ovall-radius);
  background: var(--item-color, #8c8c8c);
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  font-size: calc(var(--base-cqi) * 24);
  line-height: 1;
  transition: all .2s;
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__link {
    flex-direction: row;
    width: 100%;
    height: calc(var(--base-cqi) * 56);
    margin-block: auto;
    padding-bottom: 0;
    font-weight: 700;
    font-size: calc(var(--base-cqi) * 16);
  }
}

.p-maintenance-schedule__link:hover {
  opacity: .7;
}

[data-schedule-type="free"] .p-maintenance-schedule__link {
  background: #fff;
  color: #666;
}

.p-maintenance-schedule__link:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: calc(var(--base-cqi) * 14);
  left: 0;
  width: calc(var(--base-cqi) * 14);
  aspect-ratio: 1/1;
  margin-inline: auto;
  background: currentColor;
  mask: var(--icon-angle) 50% 50%/contain no-repeat;
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__link:after {
    top: 0;
    right: calc(var(--base-cqi) * 15);
    bottom: 0;
    left: auto;
    margin-block: auto;
    margin-inline: 0;
  }
}

.p-maintenance-schedule__foot {
  margin-top: calc(var(--base-cqi) * 47);
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__foot {
    margin-top: 0;
  }
}

.p-maintenance-schedule__options-head {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  aspect-ratio: 1/1;
  border: calc(var(--base-cqi) * 5) solid #d9d9d9;
  border-radius: var(--ovall-radius);
  background: #fff;
  font-weight: 700;
  font-size: calc(var(--base-cqi) * 16);
  line-height: 1.25;
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__options-head {
    height: calc(var(--base-cqi) * 60);
    border-width: calc(var(--base-cqi) * 3);
    border-radius: calc(var(--base-cqi) * 30);
    font-size: calc(var(--base-cqi) * 13);
  }
}

.p-maintenance-schedule__options-body {
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: calc(var(--base-cqi) * 20);
  height: 100%;
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__options-body {
    flex-direction: row;
  }
}

.p-maintenance-schedule__options-body > div {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.p-maintenance-schedule__options-body > div:before {
  content: "";
  display: block;
  width: calc(var(--base-cqi) * 16);
  height: calc(var(--base-cqi) * 16);
  margin-inline: auto;
  border-radius: var(--ovall-radius);
  background: transparent;
}

.p-maintenance-schedule__options-body > div._on:before {
  background: var(--service-color, transparent);
}

.p-maintenance-schedule__options-body > div:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  display: block;
  width: 200%;
  height: 2px;
  margin-block: auto;
  background: var(--service-color);
  transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__options-body > div:after {
    top: 50%;
    right: 0;
    bottom: auto;
    left: 0;
    width: 2px;
    height: 200%;
    margin-block: 0;
    margin-inline: auto;
    transform: translateY(-50%);
  }
}

.p-maintenance-schedule__options-body ._mamoru {
  --service-color: #8fc31f;
}

.p-maintenance-schedule__options-body ._ciao {
  --service-color: #0068b7;
}

/* p-maintenance-schedule-note
============================== */
.p-maintenance-schedule-note {
  display: grid;
  grid-template-columns: 100%;
  gap: 20px;
  margin-top: 12px;
  font-size: calc(13px + var(--slope-1px) * 1);
}

.p-maintenance-schedule-note__main {
  margin-block: var(--leading-trim);
  text-align: right;
}

.p-maintenance-schedule-note__sub {
  margin-block: var(--leading-trim);
}

.p-maintenance-schedule-note__sub ._mamoru {
  --service-color: #8fc31f;
}

.p-maintenance-schedule-note__sub ._ciao {
  --service-color: #0068b7;
}

.p-maintenance-schedule-note__sub > li > i {
  color: var(--service-color);
  font-style: normal;
}

/* p-maintenance-service
============================== */
.p-maintenance-service {
  margin-top: calc(30px + var(--slope-1px) * 22);
}

.p-maintenance-service .c-maintenance-service-nav__head {
  display: none;
}

/* p-maintenance-merit
============================== */
.p-maintenance-merit {
  display: grid;
  grid-template-columns: 100%;
  gap: 15px;
}

.p-maintenance-merit__body {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: calc(13px + var(--slope-1px) * 10) var(--gap-inline);

  --gap-inline: 16px;
}

.p-maintenance-merit__item {
  width: calc((100% - var(--gap-inline) * 2) / 3);
}

@media screen and (max-width: 1180px) {
  .p-maintenance-merit__item {
    width: calc((100% - var(--gap-inline)) / 2);
  }
}

@media screen and (max-width: 767px) {
  .p-maintenance-merit__item {
    width: 100%;
  }
}

.p-maintenance-merit__foot {
  display: flex;
  justify-content: center;
}

.p-maintenance-merit__notes {
  display: block;
  font-size: calc(13px + var(--slope-1px) * 1);
}

/* p-maintenance-merit-item
============================== */
.p-maintenance-merit-item {
  position: relative;
  display: grid;
  align-items: center;
  grid-template-columns: calc(45px + var(--slope-1px) * 15) 1fr;
  gap: 10px;
  width: 100%;
  height: calc(100% - var(--top-padding));
  margin-top: var(--top-padding);
  padding: 40px calc(15px + var(--slope-1px) * 5) calc(20px + var(--slope-1px) * 10);
  border-radius: var(--base-border-radius);
  background: #f2f2f2;

  --top-padding: 17px;
}

.p-maintenance-merit-item__number {
  position: absolute;
  top: calc(var(--top-padding) * -1);
  left: 0;
  width: 100%;
  color: var(--point-color);
  text-align: center;
  font-weight: 600;
  font-size: calc(50px + var(--slope-1px) * 10);
  font-family: var(--en-font-family);
  line-height: .7;
}

.p-maintenance-merit-item__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1/1;
  border-radius: var(--ovall-radius);
  background: #fff;
}

.p-maintenance-merit-item__icon svg {
  width: 75%;
  height: 75%;
  object-fit: contain;
}

.p-maintenance-merit-item__text {
  margin-block: var(--leading-trim);
  line-height: 1.5;
}

/* ============================================================= *

check_free

* ============================================================= */
body[data-id=check_free] [data-nav=free] {
  display: none;
}

/* ============================================================= *

check12

* ============================================================= */
body[data-id=check12] [data-nav=check12] {
  display: none;
}

/* ============================================================= *

check_safety

* ============================================================= */
body[data-id=check_safety] [data-nav=safety] {
  display: none;
}

/* ============================================================= *

inspection

* ============================================================= */
body[data-id=inspection] [data-nav=inspection] {
  display: none;
}

/* p-inspection-table-notes
============================== */
.p-inspection-table-notes {
  margin-block: 15px;
  text-align: center;
  font-size: calc(13px + var(--slope-1px) * 1);
}

/* ============================================================= *

ciao

* ============================================================= */
/* p-ciao-heading
============================== */
.p-ciao-heading__lead {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-bottom: calc(11px + var(--slope-1px) * 1);
  color: var(--ciao-color);
  text-align: center;
  font-weight: 700;
  font-size: calc(18px + var(--slope-1px) * 14);
  line-height: 1.25;
}

.p-ciao-heading__lead:before, .p-ciao-heading__lead:after {
  content: "";
  display: block;
  width: 7.5px;
  height: 40px;
  background: currentColor;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.p-ciao-heading__lead:before {
  rotate: -30deg;
}

.p-ciao-heading__lead:after {
  rotate: 30deg;
}

.p-ciao-heading__logo {
  width: 100%;
  max-width: 645px;
  margin-inline: auto;
  margin-bottom: 10px;
}

.p-ciao-heading__point {
  margin-bottom: calc(21px + var(--slope-1px) * 9);
}

.p-ciao-heading__text {
  margin-block: var(--leading-trim);
  text-align: center;
  font-size: calc(18px + var(--slope-1px) * 2);
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .p-ciao-heading__text {
    text-align: left;
  }
}

.p-ciao-heading__merit {
  margin-top: 30px;
}

/* p-ciao-heading-point
============================== */
.p-ciao-heading-point {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(5px + var(--slope-1px) * 3) 12px;
  color: var(--ciao-color);
}

@media screen and (max-width: 1180px) {
  .p-ciao-heading-point {
    flex-direction: column;
  }
}

.p-ciao-heading-point__item {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  height: calc(95px + var(--slope-1px) * 15);
  border-radius: var(--base-border-radius);
  background: #e2f2ff;
}

.p-ciao-heading-point__item._01 {
  padding-inline: 27px 35px;

  --image-width: 83px;
}

.p-ciao-heading-point__item._02 {
  padding-inline: calc(17px + var(--slope-1px) * 16) calc(13px + var(--slope-1px) * 19);

  --image-width: 69px;
}

.p-ciao-heading-point__image {
  width: var(--image-width);
}

.p-ciao-heading-point__text {
  font-weight: 700;
  font-size: calc(21px + var(--slope-1px) * 7);
  line-height: 1.25;
}

.p-ciao-heading-point__plus {
  width: calc(30px + var(--slope-1px) * 6);
}

/* p-ciao-merit
============================== */
.p-ciao-merit {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(10px + var(--slope-1px) * 3);
  max-width: 100%;
  margin-inline: auto;

  container-type: inline-size;
  --base-cqi: min(.09091cqi, 1px);
}

@media screen and (max-width: 1180px) {
  .p-ciao-merit {
    grid-template-columns: 100%;
    width: 650px;

    --base-cqi: min(.28986cqi, 1px);
  }
}

.p-ciao-merit__item {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: calc(var(--base-cqi) * 90);
}

@media screen and (max-width: 1180px) {
  .p-ciao-merit__item {
    height: calc(var(--base-cqi) * 80);
  }
}

.p-ciao-merit__head {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  aspect-ratio: 1/1;
  margin-block: auto;
  border-radius: var(--ovall-radius);
  background: var(--ciao-color);
  color: #fff;
  font-weight: 700;
  font-size: calc(var(--base-cqi) * 36);
}

@media screen and (max-width: 1180px) {
  .p-ciao-merit__head {
    font-size: calc(var(--base-cqi) * 28);
  }
}

.p-ciao-merit__body {
  display: flex;
  align-items: center;
  width: calc(100% - var(--base-cqi) * 45);
  height: calc(var(--base-cqi) * 80);
  padding-inline: calc(var(--base-cqi) * 56) calc(var(--base-cqi) * 15);
  border-radius: var(--base-border-radius);
  background: #e2f2ff;
  font-size: calc(var(--base-cqi) * 16);
  line-height: 1.5;
}

@media screen and (max-width: 1180px) {
  .p-ciao-merit__body {
    height: calc(var(--base-cqi) * 64);
    font-size: calc(var(--base-cqi) * 15);
  }
}

/* ============================================================= *

welcome

* ============================================================= */
/* p-welcome-htc
============================== */
.p-welcome-htc {
  display: grid;
  grid-template-columns: 100%;
  gap: 2em;
  margin-top: calc(20px + var(--slope-1px) * 10);
  padding: 32px;
  border: 1px solid var(--border-color);
  border-radius: var(--base-border-radius);
  background: #fff;
}

.p-welcome-htc__item {
  display: grid;
  grid-template-columns: 100%;
  gap: 15px;
}

.p-welcome-htc__head {
  margin-block: var(--leading-trim);
  color: var(--key-color);
}

.p-welcome-htc__body {
  margin-block: var(--leading-trim);
}

.p-welcome-htc__lead {
  margin-block: var(--leading-trim);
}

.p-welcome-htc__step {
  display: grid;
  grid-template-columns: 100%;
  gap: 15px;
}

.p-welcome-htc__step > li {
  margin-block: var(--leading-trim);
  padding-left: 1em;
  text-indent: -1em;
}

.p-welcome-htc__step > li:before {
  content: "\30fb";
}

/* ============================================================= *

insurance

* ============================================================= */
/* p-insurance-merit
============================== */
.p-insurance-merit {
  display: grid;
  justify-content: center;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(13px + var(--slope-1px) * 10) var(--gap-inline);

  --gap-inline: 16px;
}

@media screen and (max-width: 767px) {
  .p-insurance-merit {
    grid-template-columns: repeat(auto-fill, minmax(345px, 1fr));
  }
}

.p-insurance-merit__item {
  display: contents;
}

/* p-insurance-merit-item
============================== */
.p-insurance-merit-item {
  position: relative;
  display: grid;
  align-items: center;
  grid-template-columns: calc(45px + var(--slope-1px) * 15) 1fr;
  gap: 10px;
  width: 100%;
  height: calc(100% - var(--top-padding));
  margin-top: var(--top-padding);
  padding: 40px calc(15px + var(--slope-1px) * 5) calc(20px + var(--slope-1px) * 10);
  border-radius: var(--base-border-radius);
  background: #f2f2f2;

  --top-padding: 17px;
}

.p-insurance-merit-item__number {
  position: absolute;
  top: calc(var(--top-padding) * -1);
  left: 0;
  width: 100%;
  color: var(--point-color);
  text-align: center;
  font-weight: 600;
  font-size: calc(50px + var(--slope-1px) * 10);
  font-family: var(--en-font-family);
  line-height: .7;
}

.p-insurance-merit-item__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  grid-row: span 2;
  aspect-ratio: 1/1;
  border-radius: var(--ovall-radius);
  background: #fff;
}

.p-insurance-merit-item__icon svg {
  width: 75%;
  height: 75%;
  object-fit: contain;
}

.p-insurance-merit-item__head {
  font-weight: 700;
  font-size: calc(18px + var(--slope-1px) * 2);
}

.p-insurance-merit-item__body {
  margin-block: var(--leading-trim);
  line-height: 1.5;
}

/* p-insurance-plan-grid
============================== */
.p-insurance-plan-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
  margin-top: calc(30px + var(--slope-1px) * 20);
}

/* p-insurance-plan
============================== */
.p-insurance-plan {
  overflow: hidden;
  width: 100%;
  border: 1px solid var(--border-color);
  border-radius: var(--base-border-radius);
}

@media screen and (min-width: 768px) {
  .p-insurance-plan {
    max-width: calc(50% - 20px);
  }
  .p-insurance-plan._taiyapanku {
    max-width: 72.72727%;
  }
}

.p-insurance-plan__body {
  overflow: hidden;
}

.p-insurance-plan._honda_connect img {
  width: calc(100% + var(--border-width) * 2);
  height: calc(100% + var(--border-width) * 2);
  max-width: unset;
  aspect-ratio: 1366/2171;
  margin: calc(var(--border-width) * -1);

  --border-width: 2px;
}

.p-insurance-plan__foot {
  width: calc(303px + var(--slope-1px) * 40);
  max-width: 100%;
  margin-inline: auto;
  padding: calc(20px + var(--slope-1px) * 8);
}

/* p-insurance-nav-grid
============================== */
.p-insurance-nav-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(345px, 1fr));
  gap: 10px;
}

.p-insurance-nav-grid__item {
  display: contents;
}

/* p-insurance-nav
============================== */
.p-insurance-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-block: calc(13px + var(--slope-1px) * 4);
  border: 1px solid var(--border-color);
  border-radius: var(--base-border-radius);
  background: #fff;
  transition: opacity .2s;
}

.p-insurance-nav:hover {
  opacity: .7;
}

.p-insurance-nav img {
  width: calc(225px + var(--slope-1px) * 41);
  aspect-ratio: 266 / 54;
  object-fit: contain;
}

/* p-insurance-policy
============================== */
.p-insurance-policy {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(30px + var(--slope-1px) * 20);
}

.p-insurance-policy__foot {
  display: grid;
  grid-template-columns: 100%;
  gap: 30px;
  padding-top: 30px;
  border-top: 2px dashed var(--border-color);
  text-align: center;
}

/* p-insurance-policy-section
============================== */
.p-insurance-policy-section {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(15px + var(--slope-1px) * 15);
}

.p-insurance-policy-section__head {
  padding: 15px;
  border-radius: var(--base-border-radius);
  background: var(--dark-base-color);
  color: #fff;
  text-align: center;
  font-size: calc(18px + var(--slope-1px) * 6);
  line-height: 1.5;
}

.p-insurance-policy-section__body {
  display: contents;
}

/* p-insurance-policy-description
============================== */
.p-insurance-policy-description {
  display: grid;
  gap: 15px;
  padding-left: calc(16px + var(--slope-1px) * 1);
  font-size: calc(15px + var(--slope-1px) * 1);
  line-height: 1.5;
}

.p-insurance-policy-description__head {
  text-indent: -1em;
  font-weight: 700;
}

.p-insurance-policy-description__head:before {
  content: "\25c6";
}

.p-insurance-policy-description__item {
  padding-left: 1em;
  text-indent: -1em;
}

.p-insurance-policy-description__item:before {
  content: "\30fb";
}

/* p-insurance-policy-list
============================== */
.p-insurance-policy-list {
  display: grid;
  gap: 15px;
  line-height: 1.5;
}

.p-insurance-policy-list > li {
  padding-left: 1em;
  text-indent: -1em;
}

.p-insurance-policy-list > li:before {
  content: "\30fb";
}

/* p-insurance-policy-contact
============================== */
.p-insurance-policy-contact {
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  padding: calc(15px + var(--slope-1px) * 10) calc(15px + var(--slope-1px) * 15);
  border: 1px solid var(--border-color);
  border-radius: var(--base-border-radius);
  text-align: center;
  font-size: calc(15px + var(--slope-1px) * 1);
}

.p-insurance-policy-contact__head {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border-color);
  font-weight: 700;
  font-size: calc(18px + var(--slope-1px) * 2);
}

/* ============================================================= *

totalcare

* ============================================================= */
.p-htc {
  overflow: hidden;
  padding-top: calc(25px + var(--slope-1px) * 15);
  border-radius: var(--base-border-radius);
  background: #f2f2f2;
}

/* ============================================================= *

sustainability

* ============================================================= */
/* p-sustainability-environment
============================== */
.p-sustainability-environment {
  width: 100%;

  container-type: inline-size;
}

.p-sustainability-environment__head {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 250px;
  border-radius: var(--base-border-radius);
  background: linear-gradient(to right, #fff 40%, rgba(255, 255, 255, 0) 65%) right top, url(../img/company/environment.jpg) right top/contain no-repeat;
}

@media screen and (max-width: 767px) {
  .p-sustainability-environment__head {
    justify-content: center;
    padding-top: calc(100cqi / 345 * 150);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) calc(100cqi / 345 * 100), #fff calc(100cqi / 345 * 130)) right top, url(../img/company/environment.jpg) right top/contain no-repeat;
  }
}

.p-sustainability-environment__head-title {
  display: flex;
  flex-direction: column;
  gap: calc(24px + var(--slope-1px) * -8);
  letter-spacing: -.01em;
  font-weight: 500;
  font-size: calc(20px + var(--slope-1px) * 8);
}

@media screen and (max-width: 767px) {
  .p-sustainability-environment__head-title {
    justify-content: center;
    align-items: center;
  }
}

.p-sustainability-environment__head-title span {
  position: relative;
  display: block;
  margin-block: var(--leading-trim);
}

.p-sustainability-environment__head-title span i {
  background: linear-gradient(#ddff70, #ddff70) right bottom/100% 8px no-repeat;
}

.p-sustainability-environment__head-title span:has(em) {
  margin-top: -8px;
}

.p-sustainability-environment__head-title em {
  color: var(--point-color);
  font-size: calc(36px + var(--slope-1px) * 12);
  line-height: 1;
}

.p-sustainability-environment__body {
  margin-top: calc(40px + var(--slope-1px) * 10);
}

.p-sustainability-environment__body-title {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr auto 1fr;
  gap: 30px;
  margin-block: var(--leading-trim);
  margin-bottom: 30px;
  font-weight: 700;
  font-size: calc(18px + var(--slope-1px) * 6);
}

.p-sustainability-environment__body-title:before, .p-sustainability-environment__body-title:after {
  content: "";
  display: block;
  height: 2px;
  background: currentColor;
}

.p-sustainability-environment__list {
  display: grid;
  grid-template-columns: 100%;
  gap: 30px;
}

.p-sustainability-environment__item {
  display: grid;
  grid-template-columns: 100%;
  gap: 10px;
  padding-left: 1em;
}

.p-sustainability-environment__item > dt {
  text-indent: -1em;
}

.p-sustainability-environment__item > dt:before {
  content: "\25a0";
}

.p-sustainability-environment__item > dd {
  display: grid;
  grid-template-columns: 100%;
  gap: 15px;
}

.p-sustainability-environment__item > dd {
  display: contents;
}

.p-sustainability-environment__item > dd > ol {
  display: contents;
  list-style: decimal;
}

.p-sustainability-environment__item > dd > ol > li {
  margin-left: 1em;
  list-style: decimal;
  list-style-position: outside;
}

.p-sustainability-environment__foot {
  margin-top: 30px;
  padding-top: 30px;
  border-top: 2px dashed var(--border-color);
  text-align: right;
}

/* ============================================================= *

ownership

* ============================================================= */
/* p-ownership-flow
============================== */
.p-ownership-flow {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(64px + var(--slope-1px) * 6);
}

.p-ownership-flow__item {
  position: relative;
}

.p-ownership-flow__item:not(:first-child):before {
  content: "";
  position: absolute;
  right: 0;
  bottom: calc(100% + 15px);
  left: 0;
  display: block;
  width: calc(103px + var(--slope-1px) * 17);
  height: calc(34px + var(--slope-1px) * 6);
  margin-inline: auto;
  background: currentColor;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

/* p-ownership-check
============================== */
.p-ownership-check {
  display: grid;
  grid-template-columns: 100%;
  gap: 10px;
  padding: calc(15px + var(--slope-1px) * 15);
  border: 1px solid var(--border-color);
  border-radius: var(--base-border-radius);
}

.p-ownership-check__head {
  display: contents;
  color: var(--accent-color);
  text-align: center;
}

.p-ownership-check__head-main {
  font-weight: 700;
  font-size: calc(20px + var(--slope-1px) * 4);
}

.p-ownership-check__head-sub {
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  padding-left: 1em;
  text-align: left;
  text-indent: -1em;
}

.p-ownership-check__head-sub:before {
  content: "\203b";
}

.p-ownership-check__body {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(440px, 1fr));
  gap: 20px;
}

@media screen and (max-width: 767px) {
  .p-ownership-check__body {
    grid-template-columns: 100%;
  }
}

/* p-ownership-check-block
============================== */
.p-ownership-check-block {
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  border: 1px solid var(--border-color);
  border-radius: calc(var(--base-border-radius) * .5);
}

.p-ownership-check-block__head {
  padding: 10px;
  background: var(--base-color);
  color: #fff;
  text-align: center;
  font-weight: 600;
  font-size: calc(18px + var(--slope-1px) * 2);
}

.p-ownership-check-block__body {
  padding: calc(15px + var(--slope-1px) * 15) 15px;
  background: #e8e8e8;
  text-align: center;
  font-size: calc(15px + var(--slope-1px) * 1);
}

.p-ownership-check-block__body em {
  color: var(--accent-color);
}

/* p-ownership-targets
============================== */
.p-ownership-targets {
  overflow: hidden;
  border: 1px solid var(--border-color);
  border-radius: var(--base-border-radius);
}

.p-ownership-targets__head {
  padding: 15px;
  background: #4f6db9;
  color: #fff;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
  letter-spacing: 0;
  font-size: calc(20px + var(--slope-1px) * 4);
}

.p-ownership-targets__body {
  padding: calc(15px + var(--slope-1px) * 15);
}

.p-ownership-targets__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(15em, 1fr));
  gap: 10px;
  font-size: calc(18px + var(--slope-1px) * 2);
}

.p-ownership-targets__list > li:before {
  content: "\30fb";
}

/* p-ownership-tab-section
============================== */
.p-ownership-tab-section__body {
  position: relative;
  display: none;
  margin-top: 15px;
  padding: calc(30px + var(--slope-1px) * 18) calc(15px + var(--slope-1px) * 15);
  border: 1px solid var(--border-color);
  border-radius: var(--base-border-radius);
}

/* p-ownership-tab
============================== */
.p-ownership-tab {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.p-ownership-tab__item {
  display: contents;
}

.p-ownership-tab__button {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: 100%;
  gap: calc(10px + var(--slope-1px) * 14);
  padding: calc(30px + var(--slope-1px) * 6) calc(5px + var(--slope-1px) * 25) calc(15px + var(--slope-1px) * 9);
  border: 1px solid var(--border-color);
  border-radius: var(--base-border-radius);
  background: #fff;
  text-align: left;
}

.p-ownership-tab__button.is-current {
  background: var(--base-color);
  color: #fff;

  --border-color: var(--base-color);
}

.p-ownership-tab__button:after {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  margin-inline: auto;
  background: currentColor;
  mask: var(--icon-down) 50% 50%/contain no-repeat;
  transition: rotate .4s;
}

.p-ownership-tab__button.is-current:after {
  rotate: 180deg;
}

.p-ownership-tab__button-head {
  margin-block: var(--leading-trim);
  text-align: center;
  font-weight: 700;
  font-size: calc(12px + var(--slope-1px) * 8);
  line-height: 1.25;
}

.p-ownership-tab__button-head span {
  display: inline-block;
}

.p-ownership-tab__button-body {
  display: grid;
  align-content: start;
  grid-template-columns: repeat(auto-fill, minmax(14em, 1fr));
  gap: calc(6px + var(--slope-1px) * 6);
  font-size: calc(11px + var(--slope-1px) * 5);
}

@media screen and (max-width: 767px) {
  .p-ownership-tab__button-body {
    grid-template-columns: 100%;
  }
}

.p-ownership-tab__button-body > li {
  margin-block: var(--leading-trim);
  padding-left: 1em;
  text-indent: -1em;
}

.p-ownership-tab__button-body > li:before {
  content: "\30fb";
}

/* p-ownership-submission
============================== */
.p-ownership-submission__head {
  margin-block: var(--leading-trim);
  padding-bottom: calc(15px + var(--slope-1px) * 9);
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
  font-size: calc(20px + var(--slope-1px) * 8);
}

.p-ownership-submission__body {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(440px, 1fr));
  gap: 20px 50px;
}

@media screen and (max-width: 767px) {
  .p-ownership-submission__body {
    grid-template-columns: 100%;
  }
}

.p-ownership-submission__foot {
  margin-top: 15px;
}

.p-ownership-submission__notes {
  font-size: calc(13px + var(--slope-1px) * 1);
}

.p-ownership-submission__notes > li {
  padding-left: 1em;
  text-indent: -1em;
}

.p-ownership-submission__notes > li:before {
  content: "\203b";
}

/* p-ownership-submission-block
============================== */
.p-ownership-submission-block {
  overflow: hidden;
  border: 1px solid var(--border-color);
  border-radius: var(--base-border-radius);
  background: #fff;
}

.p-ownership-submission-block__head {
  padding: 10px;
  background: var(--base-color);
  color: #fff;
  text-align: center;
  font-size: calc(18px + var(--slope-1px) * 2);
}

.p-ownership-submission-block__body {
  padding: calc(15px + var(--slope-1px) * 15) calc(15px + var(--slope-1px) * 15);
}

.p-ownership-submission-block__subhead {
  margin-block: calc(18px + var(--slope-1px) * 5);
  padding-block: 10px;
  text-align: center;
  line-height: 1;

  border-block: 1px solid #8c8c8c;
}

.p-ownership-submission-block__list {
  font-size: calc(15px + var(--slope-1px) * 1);
}

.p-ownership-submission-block__list > li {
  position: relative;
  padding-left: 1em;
}

.p-ownership-submission-block__list > li:before {
  content: "\30fb";
  position: absolute;
  top: 0;
  left: 0;
}

.p-ownership-submission-block__list > li small {
  display: block;
  font-size: calc(13px + var(--slope-1px) * 1);
}

/* p-ownership-contact
============================== */
.p-ownership-contact {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(15px + var(--slope-1px) * 9);
  margin-top: calc(30px + var(--slope-1px) * 34);

  --pref-color: var(--point-color);
}

.p-ownership-contact._yamanashi {
  --pref-color: var(--key-color);
}

.p-ownership-contact__head {
  margin-block: var(--leading-trim);
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
  font-size: calc(20px + var(--slope-1px) * 8);
}

.p-ownership-contact__body {
  display: grid;
  grid-template-columns: 100%;
  gap: 10px;
  width: 100%;
  max-width: 525px;
  margin-inline: auto;
  padding: 15px;
  border: 1px solid var(--border-color);
  border-radius: var(--base-border-radius);
  text-align: center;
}

.p-ownership-contact__cars {
  padding-bottom: 10px;
  border-bottom: 1px solid #8c8c8c;
  color: var(--pref-color);
  font-size: calc(15px + var(--slope-1px) * 1);
}

.p-ownership-contact__cars-main {
  font-weight: 700;
  font-size: calc(20px + var(--slope-1px) * 4);
}

/* p-ownership-documents
============================== */
.p-ownership-documents {
  display: grid;
  grid-template-columns: 100%;
  gap: 50px;
}

.p-ownership-documents__body {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
  gap: 50px;
  width: 100%;
  max-width: 850px;
  margin-inline: auto;
}

@media screen and (max-width: 560px) {
  .p-ownership-documents__body {
    grid-template-columns: 100%;
  }
}

.p-ownership-documents__foot {
  margin-block: var(--leading-trim);
  text-align: center;
}

.p-ownership-documents__foot > dt:before {
  content: "\3010";
}

.p-ownership-documents__foot > dt:after {
  content: "\3011";
}

/* p-ownership-documents-block
============================== */
.p-ownership-documents-block {
  width: 100%;
  max-width: 400px;
  margin-inline: auto;
}

.p-ownership-documents-block__body {
  width: calc(182px + var(--slope-1px) * 50);
  margin-inline: auto;
  margin-bottom: calc(15px + var(--slope-1px) * 15);
  padding: 15px;
  border: 1px solid var(--border-color);
}

.p-ownership-documents-block__foot {
  width: 100%;
}

/* ============================================================= *

privacy

* ============================================================= */
/* p-privacy-lead
============================== */
.p-privacy-lead {
  margin-bottom: 50px;
  padding-bottom: 30px;
  border-bottom: 2px dashed var(--border-color);
  line-height: 1.5;
}

/* p-privacy-main
============================== */
.p-privacy-main {
  counter-reset: main;
  display: grid;
  grid-template-columns: 100%;
  gap: calc(40px + var(--slope-1px) * 10);
  line-height: 1.5;
}

.p-privacy-main__item {
  counter-increment: main;
  position: relative;
  padding-left: 25px;
}

.p-privacy-main__title {
  text-indent: -25px;
  font-weight: 700;
}

.p-privacy-main__title:before {
  content: counter(main) ".";
  padding-right: 10px;
}

/* p-privacy-sub
============================== */
.p-privacy-sub {
  counter-reset: sub;
  display: grid;
  grid-template-columns: 100%;
  gap: 15px;
  margin-top: 15px;
}

.p-privacy-sub__item {
  padding-left: 31px;
}

.p-privacy-sub:not(:has(.p-privacy-sub__item)) {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1em;
}

/* p-privacy-summary
============================== */
.p-privacy-summary {
  counter-increment: sub;
  position: relative;
  display: flex;
  align-items: baseline;
}

.p-privacy-summary:before {
  content: counter(sub, lower-roman) ".";
  position: absolute;
  top: 0;
  right: 100%;
  padding-right: 10px;
}

/* p-privacy-detail
============================== */
.p-privacy-detail {
  margin-top: 10px;
}

.p-privacy-detail._border {
  padding: calc(25px + var(--slope-1px) * 5);
  border: 1px solid var(--border-color);
  border-radius: 10px;
}

.p-privacy-detail__head {
  margin-bottom: 10px;
}

.p-privacy-detail__head:before {
  content: "\3010";
}

.p-privacy-detail__head:after {
  content: "\3011";
}

.p-privacy-detail__body > li {
  padding-left: 1em;
  text-indent: -1em;
  word-break: break-all;
}

.p-privacy-detail__body > li:before {
  content: "\30fb";
}

.p-privacy-detail__foot {
  margin-top: 10px;
  font-size: calc(13px + var(--slope-1px) * 1);
}

/* p-privacy-sign
============================== */
.p-privacy-sign {
  margin-top: calc(40px + var(--slope-1px) * 10);
  text-align: right;
}

/* p-privacy-banner
============================== */
.p-privacy-banner {
  width: min(640px, 100%);
  margin-inline: auto;
  margin-top: calc(40px + var(--slope-1px) * 10);
}

.p-privacy-banner a {
  display: block;
  transition: opacity .2s;
}

.p-privacy-banner a:hover {
  opacity: .7;
}

/* ============================================================= *

terms

* ============================================================= */
/* p-terms-block
============================== */
.p-terms-block {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(40px + var(--slope-1px) * 10);
}

.p-terms-block:not(:first-child) {
  margin-top: calc(64px + var(--slope-1px) * 36);
}

.p-terms-block__body {
  display: grid;
  grid-template-columns: 100%;
  gap: 30px;
}

/* p-terms-plugin
============================== */
.p-terms-plugin__link {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 30px;
  border: 1px solid var(--border-color);
  background: #fff;
  text-decoration: none;
}

/* p-terms-ssl
============================== */
.p-terms-ssl {
  display: grid;
  grid-template-columns: 100%;
  gap: 30px;
  padding: 30px;
  border: 1px solid var(--border-color);
  background: #fff;
}

.p-terms-ssl__list {
  display: grid;
  grid-template-columns: 100%;
  gap: 30px;
}

.p-terms-ssl__item > ul > li:before {
  content: "-";
  padding-right: .5em;
}

.p-terms-ssl__foot {
  padding-left: 1em;
  text-indent: -1em;
}
