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

index

* ============================================================= */
/* p-index-section
============================== */
.p-index-section {
  max-width: calc(var(--inner-width-px) + var(--outer-padding)*2);
  margin-inline: auto;
  padding-inline: var(--outer-padding);
}

.p-index-section__head {
  margin-bottom: calc(var(--leading-trim) + calc(32px + var(--slope-1px) * 24));
}

.p-index-section-title {
  display: flex;
  flex-direction: column;
  gap: calc(16px + var(--slope-1px) * 8);
}

.p-index-section-title > p {
  font-size: clamp(38px, -121.03614px + 13.25301vw, 60px);
  font-weight: 700;
  letter-spacing: 0.02em;
  display: block;
  margin-top: var(--leading-trim);
  margin-bottom: calc( var(--leading-trim) - .275em);
  font-family: var(--en-font-family);
  overflow: hidden;
}

.p-index-section-title > h2 {
  font-size: clamp(20px, -8.91566px + 2.40964vw, 24px);
  font-weight: 700;
  line-height: 1;
  display: block;
  margin-block: var(--leading-trim);
}

.p-index-section__head {
  grid-area: head;
}

.p-index-section__body {
  grid-area: body;
}

.p-index-section__foot {
  grid-area: foot;
}

.p-index-section__lead {
  display: block;
  margin-top: var(--leading-trim);
  margin-bottom: calc(var(--leading-trim) + calc(24px + var(--slope-1px) * 8));
}

.p-index-section__button {
  display: flex;
  flex-direction: column;
  gap: calc(8px + var(--slope-1px) * 8);
}

@media screen and (max-width: 767px) {
  .p-index-section__button {
    gap: 8px;
    max-width: 81.34111%;
    margin-inline: auto;
    align-items: center;
    justify-content: center;
  }
}

/* p-index-heading
============================== */
.p-index-heading {
  padding-top: calc(var(--header-height) + 71px);
  background: var(--point-color);
  width: 100cqi;
  margin-inline: calc(50% - 50cqi);
  padding-bottom: calc(30px + var(--slope-1px) * -10);
}

@media screen and (max-width: 767px) {
  .p-index-heading {
    padding-top: calc(var(--header-height) + 32px);
  }
}

.p-index-heading__body {
  display: grid;
  grid-template-areas: "title button" "close button";
  grid-template-columns: 48.33739% 48.33739%;
  padding-inline: 5.12445% 4.61201%;
  -moz-column-gap: 3.24412%;
       column-gap: 3.24412%;
}

@media screen and (max-width: 1080px) {
  .p-index-heading__body {
    padding-inline: var(--outer-padding);
  }
}

@media screen and (max-width: 767px) {
  .p-index-heading__body {
    grid-template-areas: "close" "button" "title";
    grid-template-columns: 100%;
  }
}

.p-index-heading__title {
  grid-area: title;
}

.p-index-heading__close {
  grid-area: close;
}

.p-index-heading__button {
  grid-area: button;
}

.p-index-heading__title {
  color: var(--Root---base-color, #333);
  font-size: min(5.27086cqi, 72px);
  /* 72/1366 cqi */
  font-style: normal;
  font-weight: 900;
  margin-bottom: calc(36px + var(--slope-1px) * 12);
  font-feature-settings: normal;
}

@media screen and (max-width: 767px) {
  .p-index-heading__title {
    letter-spacing: 0;
    font-size: 42px;
    line-height: 1.3;
  }
}

.p-index-heading__title > p {
  margin-block: var(--leading-trim);
  display: block;
  line-height: 1.2;
}

.p-index-heading__close {
  margin-block: var(--leading-trim);
  border-top: 2px solid;
  border-bottom: 2px solid;
  padding-block: calc(14px + var(--slope-1px) * 8);
  align-items: center;
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
  gap: 22px clamp(22px, -263.5082px + 22.95082vw, 50px);
}

@media screen and (max-width: 1080px) {
  .p-index-heading__close {
    margin-bottom: 48px;
  }
}

@media screen and (max-width: 767px) {
  .p-index-heading__close {
    margin-bottom: 16px;
  }
}

.p-index-close__day {
  margin-bottom: var(--leading-trim);
  line-height: 1;
}

.p-index-close__day > p {
  font-size: calc(15px + var(--slope-1px) * 11);
  font-weight: 700;
}

.p-index-close__day > p > em {
  font-size: calc(22px + var(--slope-1px) * 14);
}

.p-index-close__list {
  margin-block: var(--leading-trim);
  display: flex;
  flex-direction: column;
  gap: calc(10px + var(--slope-1px) * 2);
  font-weight: 500;
}

.p-index-close__list li {
  position: relative;
  padding-left: calc(8px + 5px);
  margin-block: var(--leading-trim);
  display: block;
  letter-spacing: 0;
  font-feature-settings: normal;
  font-size: calc(12px + var(--slope-1px) * 4);
}

.p-index-close__list li::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--dark-color);
  position: absolute;
  display: block;
  left: 0;
  top: 0;
  bottom: 0;
  margin-block: auto;
}

.p-index-close__link {
  text-decoration: none;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-block: var(--leading-trim);
}

.p-index-close__arrow {
  background: var(--base-color);
  border-radius: 50%;
  overflow: hidden;
  padding: 2px;
  color: var(--white);
  display: inline-flex;
  margin-left: 5px;
  width: 1em;
  height: 1em;
}

.p-index-close__arrow img {
  width: 12px;
  height: 12px;
}

.p-index-heading__button {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 106px);
  gap: calc(6.5px + var(--slope-1px) * 8.5);
}

@media screen and (max-width: 1080px) {
  .p-index-heading__button {
    margin-bottom: 33px;
    gap: 6.5px;
  }
}

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

.p-index-heading-button {
  display: flex;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 25px 0 30px 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  font-size: calc(16px + var(--slope-1px) * 4);
  font-weight: 700;
  line-height: 1;
  transition: filter 0.3s var(--animation);
}

@media screen and (max-width: 1080px) {
  .p-index-heading-button {
    font-size: 16px;
  }
}

@media screen and (max-width: 767px) {
  .p-index-heading-button {
    padding: 17px 20px;
    gap: 4px;
    justify-content: flex-start;
    flex-direction: row;
    min-height: 54px;
  }
}

.p-index-heading-button::before {
  content: "";
  width: 100%;
  height: 100%;
  inset: 0;
  border: 2px solid var(--base-color);
  background: var(--white);
  border-radius: calc(5px + var(--slope-1px) * 5);
  display: block;
  position: absolute;
  transition: scale 0.2s var(--animation);
  z-index: 0;
}

.p-index-heading-button::after {
  content: "";
  -webkit-mask: var(--icon-arrow) 50% 50%/contain no-repeat;
          mask: var(--icon-arrow) 50% 50%/contain no-repeat;
  background: currentColor;
  position: absolute;
  right: calc(7px + var(--slope-1px) * 1);
  bottom: calc(6px + var(--slope-1px) * 1);
  width: 18px;
  height: 18px;
  aspect-ratio: 1/1;
  transition: translate 0.3s var(--animation);
}

@media screen and (max-width: 767px) {
  .p-index-heading-button::after {
    width: 14px;
    height: 14px;
  }
}

@media (any-hover: hover) {
  .p-index-heading-button:hover {
    filter: brightness(0.92);
  }
  .p-index-heading-button:hover::before {
    scale: .99;
  }
  .p-index-heading-button:hover::after {
    translate: 3px 0;
  }
}

.p-index-heading-button > * {
  position: relative;
  z-index: 1;
}

.p-index-heading-button span {
  margin-block: var(--leading-trim);
  display: block;
}

.p-index-heading-button span._icon {
  width: 30px;
  height: 30px;
  aspect-ratio: 1;
}

@media screen and (max-width: 767px) {
  .p-index-heading-button span._icon {
    width: 20px;
    height: 20px;
  }
}

.p-index-heading-button span._icon svg {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-index-heading-button span._icon svg path {
  fill: currentColor;
}

.p-index-heading-button p {
  margin-block: var(--leading-trim);
  display: block;
}

.p-index-heading-button._cv::before {
  background: var(--key-color);
}

/* p-index-heading__foot
============================== */
.p-index-heading__foot {
  pointer-events: none;
}

.p-index-heading__foot video {
  margin-inline: -1%;
  -o-object-fit: contain;
     object-fit: contain;
  width: calc(100% + 2%);
  height: 100%;
  aspect-ratio: 1620 / 444;
}

@media screen and (max-width: 767px) {
  .p-index-heading__foot video {
    aspect-ratio: 1226 /444;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: right;
       object-position: right;
  }
}

.p-index-heading__foot img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .p-index-heading__foot img {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: right;
       object-position: right;
  }
}

/* Mut-holidays
============================== */
.p-index-media .Mut-holidays {
  position: relative;
  margin-inline: auto;
  padding-inline: var(--outer-padding);
  display: grid;
  grid-template-columns: 100%;
  z-index: 1;
  background: var(--white);
  border-radius: var(--frame-border-radius);
  font-size: calc(15px + var(--slope-1px) * 3);
  max-width: var(--inner-width-px);
  margin-bottom: 24px;
}

.p-index-media .Mut-holidays__date {
  text-align: center;
  text-wrap: balance;
}

.p-index-media .Mut-holidays__button {
  border: 2px solid var(--base-color);
  padding: 0.8em .4em 1em;
  border-radius: var(--base-border-radius);
}

.p-index-media .Mut-holidays__button:hover {
  background: var(--base-color);
}

/* p-index-media
============================== */
.p-index-media {
  background: var(--point-color);
  width: 100cqi;
  margin-inline: calc(50% - 50cqi);
  padding-inline: var(--outer-padding);
  padding-bottom: calc(48px + var(--slope-1px) * 52);
}

/* p-index-information
============================== */
.p-index-information {
  position: relative;
  width: 100%;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 100%;
  gap: calc(20px + var(--slope-1px) * -5);
  z-index: 1;
  max-width: var(--inner-width-px);
  margin-bottom: calc(40px + var(--slope-1px) * 40);
}

.p-index-information-nav {
  display: flex;
  align-items: center;
  padding: calc(15px + var(--slope-1px) * 5) calc(19px + var(--slope-1px) * 1) 20px calc(19px + var(--slope-1px) * 1);
  background: #fff;
  border-radius: var(--base-border-radius);
  text-decoration: none;
  transition: filter .2s;
  border: 2px solid var(--base-color);
  font-weight: 400;
}

@media screen and (max-width: 767px) {
  .p-index-information-nav {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas: "icon date" "icon text";
  }
}

@media (any-hover: hover) {
  .p-index-information-nav:hover {
    filter: brightness(0.92);
  }
}

.p-index-information-nav__date {
  grid-area: date;
  flex-shrink: 0;
  letter-spacing: 0.05em;
  font-size: calc(18px + var(--slope-1px) * 2);
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: calc(5px + var(--slope-1px) * 7);
}

@media screen and (min-width: 768px) {
  .p-index-information-nav__date {
    padding-right: 12px;
    margin-right: 15px;
    border-right: 1px solid;
  }
}

@media screen and (max-width: 767px) {
  .p-index-information-nav__date {
    margin-bottom: 10px;
  }
}

.p-index-information-nav__date span {
  padding-top: .275em;
  font-family: var(--en-font-family);
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .p-index-information-nav__date span {
    padding-top: .2em;
  }
}

.p-index-information-nav__date:before {
  content: "";
  -webkit-mask: var(--icon-exclamation) 50% 50%/contain no-repeat;
          mask: var(--icon-exclamation) 50% 50%/contain no-repeat;
  background: currentColor;
  width: 30px;
  height: 30px;
  padding: 3px;
  aspect-ratio: 1/1;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .p-index-information-nav__date:before {
    width: 22px;
    height: 22px;
  }
}

.p-index-information-nav__text {
  grid-area: text;
  flex-grow: 1;
  margin-block: var(--leading-trim);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  font-size: calc(15px + var(--slope-1px) * 1);
}

.p-index-information-nav.is-important {
  background: var(--key-color);
  font-weight: 600;
}

/* p-index-topics
=============================== */
.p-index-topics {
  position: relative;
  max-width: var(--inner-width-px);
  background: var(--white);
  padding-inline: calc(90px - 15px);
  margin-inline: auto;
  border-radius: var(--frame-border-radius);
  padding-block: calc(40px + var(--slope-1px) * 32) calc(32px + var(--slope-1px) * 24);
  margin-bottom: calc(32px + var(--slope-1px) * 24);
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-index-topics {
    padding-inline: 46px;
  }
}

.p-index-topics::before {
  content: "TOPICS";
  position: absolute;
  left: 0;
  top: 0;
  rotate: 90deg;
  translate: .85em;
  transform-origin: left top;
  color: var(--Root---light-color, #D2F7FD);
  font-family: var(--en-font-family);
  font-size: 120px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  letter-spacing: 0.02em;
}

@media screen and (max-width: 767px) {
  .p-index-topics::before {
    font-size: 80px;
  }
}

.p-index-topics__fig {
  position: absolute;
  bottom: 42px;
  left: 26px;
}

@media screen and (max-width: 767px) {
  .p-index-topics__fig {
    width: 30px;
    height: 104px;
    left: 9px;
    bottom: 24px;
  }
  .p-index-topics__fig img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
}

/* p-index-topics-slider
============================== */
.p-index-topics-slider-wrapper {
  width: calc(100% - 30px);
  margin-inline: auto;
  z-index: 1;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-index-topics-slider-wrapper {
    width: 100%;
  }
}

.p-index-topics-slider {
  width: calc(100% + 30px);
  margin-inline: -15px;
}

.p-index-topics-slider._no-slick {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding-block-end: calc(calc(12px + var(--slope-1px) * 12) + 22px);
}

@media screen and (max-width: 1080px) {
  .p-index-topics-slider._no-slick {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 767px) {
  .p-index-topics-slider._no-slick {
    grid-template-columns: 100%;
  }
}

.p-index-topics-slider__item {
  padding-inline: 15px;
}

.p-index-topics-slider__item > a {
  transition: filter 0.2s;
}

@media (any-hover: hover) {
  .p-index-topics-slider__item > a:where(:hover) {
    filter: brightness(0.92);
  }
}

.p-index-topics-slider-control {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-inline: auto;
  margin-top: calc(12px + var(--slope-1px) * 12);
}

.p-index-topics-slider-control .c-slider-progress {
  --_bar-bg-color: var(--bg-color);
}

/* p-index-topics-card
============================== */
.p-index-topics-card {
  border: 2px solid;
  border-radius: var(--frame-border-radius);
  overflow: hidden;
  text-decoration: none;
  display: block;
}

.p-index-topics-card__image {
  aspect-ratio: 1;
}

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

.p-index-topics-card__body {
  padding: calc(18px + var(--slope-1px) * 10) calc(18px + var(--slope-1px) * 6) calc(18px + var(--slope-1px) * 14);
  background: var(--white);
}

.p-index-topics-card__title {
  margin-block: var(--leading-trim) calc(var(--leading-trim) + calc(18px + var(--slope-1px) * 2));
  font-weight: 700;
  font-size: calc(16px + var(--slope-1px) * 4);
  display: block;
}

.p-index-topics-card__text {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  font-weight: 500;
  margin-block: var(--leading-trim);
}

/* p-index-sns
============================== */
.p-index-sns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  max-width: var(--inner-width-px);
  margin-inline: auto;
  gap: 0 30px;
}

@media screen and (max-width: 1080px) {
  .p-index-sns {
    row-gap: 32px;
    grid-template-columns: 100%;
  }
}

.p-index-sns-block {
  display: grid;
}

@media screen and (min-width: 1081px) {
  .p-index-sns-block {
    grid-template-rows: subgrid;
    grid-row: span 2;
  }
}

.p-index-sns-block__head {
  margin-bottom: calc(12px + var(--slope-1px) * 4);
}

.p-index-sns-block__title {
  font-family: Montserrat;
  font-size: clamp(36px, -50.74699px + 7.22892vw, 48px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
}

.p-index-sns-block__title::before {
  content: "";
  position: relative;
  width: calc(40px + var(--slope-1px) * 20);
  height: calc(40px + var(--slope-1px) * 20);
  aspect-ratio: 1;
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.p-index-sns-block__title._instagram:before {
  background-image: url(../img/instagram.png);
}

.p-index-sns-block__title._tiktok:before {
  background-image: url(../img/tiktok.png);
}

.p-index-sns-block__body {
  overflow: hidden;
  border-radius: var(--frame-border-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  background: var(--white);
  position: relative;
}

.p-index-sns-block__body .tiktok-embed {
  margin: auto !important;
  position: relative;
}

.p-index-sns-block__body .tiktok-embed::before {
  content: "";
  width: 100%;
  height: 100%;
  inset: 0;
  position: absolute;
  pointer-events: none;
  z-index: 1;
  border: 2px solid #fff;
  border-top: 10px solid #fff;
  border-bottom: 10px solid #fff;
}

.p-index-gallery {
  display: block;
  background: var(--white);
  width: 100%;
  height: 100%;
  padding: calc(17px + var(--slope-1px) * 13) calc(17px + var(--slope-1px) * 13) calc(23px + var(--slope-1px) * 9);
}

.p-index-gallery__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
}

.p-index-gallery__item {
  aspect-ratio: 1;
  border-radius: 5px;
  background: #D9D9D9;
  overflow: hidden;
  transition: filter 0.2s;
}

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

@media (any-hover: hover) {
  .p-index-gallery__item:where(:hover) {
    filter: brightness(0.7);
  }
}

.p-index-gallery__foot {
  margin-top: calc(23px + var(--slope-1px) * 9);
  margin-inline: auto;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* p-index-showroom
============================== */
.p-index-showroom {
  border-radius: var(--border-Radius-background, 100px) 0 var(--border-Radius-background, 100px) 0;
  padding-block: calc(48px + var(--slope-1px) * 52);
  position: relative;
  background: var(--white);
}

.p-index-showroom::before {
  content: "";
  background: var(--point-color);
  inset: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
}

.p-index-showroom .p-index-section__body {
  display: grid;
  gap: 20px;
  grid-template-columns: auto 1fr;
}

@media screen and (max-width: 1080px) {
  .p-index-showroom .p-index-section__body {
    grid-template-columns: 1fr 1.5fr;
  }
}

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

.p-index-showroom__frame {
  background: var(--bg-color, #F1F1F1);
  border-radius: var(--frame-border-radius);
  padding: clamp(32px, 1.26878px + 4.00668vw, 56px) clamp(16px, -14.73122px + 4.00668vw, 40px);
}

.p-index-showroom__frame > form {
  width: 100%;
  max-width: 89.71061%;
  margin-inline: auto;
}

.p-index-showroom__search {
  margin-block: 24px;
}

.p-index-showroom__button {
  display: flex;
  gap: calc(8px + var(--slope-1px) * 8);
}

@media screen and (max-width: 960px) {
  .p-index-showroom__button {
    flex-wrap: wrap;
    margin-inline: auto;
    align-items: center;
    justify-content: center;
  }
}

@media screen and (max-width: 767px) {
  .p-index-showroom__button {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: 8px;
    gap: 8px;
    max-width: 89.71061%;
  }
}

.p-index-showroom__close {
  display: block;
  margin-block: var(--leading-trim);
}

.p-index-showroom__image {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: calc(8px + var(--slope-1px) * 3);
  border-radius: calc(8px + var(--slope-1px) * 12);
  overflow: hidden;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 430px;
}

@media screen and (max-width: 767px) {
  .p-index-showroom__image {
    order: 2;
    max-width: 100%;
    width: 100%;
  }
}

.p-index-showroom__image ._row {
  grid-row: span 2;
}

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

/* p-index-newcar
============================== */
.p-index-newcar {
  border-radius: var(--border-Radius-background, 100px) 0 var(--border-Radius-background, 100px) 0;
  padding-block: calc(48px + var(--slope-1px) * 52);
  position: relative;
  background: var(--point-color);
}

.p-index-newcar::before {
  content: "";
  background: var(--white);
  inset: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
}

.p-index-newcar__slide {
  grid-area: slide;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-index-newcar__slide {
    overflow: visible;
    margin-top: 32px;
    margin-bottom: 0;
  }
}

.p-index-newcar .p-index-section {
  position: relative;
  display: grid;
  grid-template-columns: 36.41667% 1000px;
  -moz-column-gap: 20px;
       column-gap: 20px;
  grid-template-areas: "head slide" "body slide";
  grid-template-rows: auto 1fr;
}

@media screen and (max-width: 767px) {
  .p-index-newcar .p-index-section {
    grid-template-areas: "head" "body" "slide";
    grid-template-rows: auto;
    grid-template-columns: 100%;
  }
}

.p-index-newcar .p-index-section__body {
  position: relative;
}

.p-index-newcar .p-index-section__body .p-index-newcar__fig {
  margin-top: 60px;
  margin-right: 20px;
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

@media screen and (max-width: 767px) {
  .p-index-newcar .p-index-section__body .p-index-newcar__fig {
    position: absolute;
    width: 116px;
    height: 91px;
    right: 0;
    top: 0;
    bottom: auto;
    margin: 0;
    transform: translateY(calc(-100% - 14px));
  }
  .p-index-newcar .p-index-section__body .p-index-newcar__fig img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
}

/* p-index-usedcar
============================== */
.p-index-usedcar {
  border-radius: var(--border-Radius-background, 100px) 0 var(--border-Radius-background, 100px) 0;
  padding-block: calc(48px + var(--slope-1px) * 52);
  position: relative;
  background: var(--white);
}

.p-index-usedcar::before {
  content: "";
  background: var(--point-color);
  inset: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
}

.p-index-usedcar__slide {
  grid-area: slide;
  margin-bottom: 48px;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-index-usedcar__slide {
    margin-top: 32px;
    overflow: visible;
    margin-bottom: 0;
  }
}

.p-index-usedcar .p-index-section {
  position: relative;
  display: grid;
  grid-template-columns: 44.5% 785px;
  -moz-column-gap: 20px;
       column-gap: 20px;
  grid-template-areas: "head slide" "body slide";
  grid-template-rows: auto 1fr;
}

@media screen and (max-width: 767px) {
  .p-index-usedcar .p-index-section {
    grid-template-areas: "head" "body" "slide";
    grid-template-columns: 100%;
    grid-template-rows: auto;
  }
}

.p-index-usedcar .p-index-section__body {
  position: relative;
}

.p-index-usedcar .p-index-section__body .p-index-usedcar__fig {
  margin-right: 6px;
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: absolute;
  right: 0;
  bottom: 0;
}

@media screen and (max-width: 1080px) {
  .p-index-usedcar .p-index-section__body .p-index-usedcar__fig {
    margin-top: 1em;
    position: relative;
  }
}

@media screen and (max-width: 767px) {
  .p-index-usedcar .p-index-section__body .p-index-usedcar__fig {
    position: absolute;
    transform: translateY(calc(-100% - 16px));
    width: 88px;
    height: 94px;
    top: 0;
    right: 0;
    bottom: auto;
    margin: 0;
  }
  .p-index-usedcar .p-index-section__body .p-index-usedcar__fig img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
}

/* p-index-usedcar-counter
============================== */
.p-index-usedcar-counter {
  display: flex;
  flex-direction: column;
  border-top: 2px solid;
  border-bottom: 2px solid;
  padding-block: calc(16px + var(--slope-1px) * 6);
  gap: 16px 15px;
  width: 100%;
  margin-bottom: calc(24px + var(--slope-1px) * 8);
  max-width: 325px;
}

@media screen and (max-width: 767px) {
  .p-index-usedcar-counter {
    max-width: 100%;
    margin-inline: auto;
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }
}

.p-index-usedcar-counter__title {
  text-align: center;
}

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

.p-index-usedcar-counter__head {
  margin-block: var(--leading-trim);
  text-align: center;
  font-size: 22px;
  font-weight: 600;
}

.p-index-usedcar-counter__body {
  margin-block: var(--leading-trim);
}

@media screen and (min-width: 768px) {
  .p-index-usedcar-counter__body {
    margin-inline: auto;
  }
}

.p-index-usedcar-counter__number {
  display: block;
  margin-block: var(--leading-trim);
}

.p-index-usedcar-counter__number em {
  display: inline-block;
  font-size: 80px;
  font-weight: 600;
  font-family: var(--en-font-family);
  line-height: .7;
  padding-top: .275em;
  letter-spacing: 0;
}

.p-index-usedcar-counter__number small {
  display: inline-block;
  font-size: 26px;
  font-weight: 700;
}

/* p-index-usedcar-slider
============================== */
.p-index-usedcar-slider {
  width: 100%;
  --_item-width: 413px;
  --_item-right: 40px;
}

@media screen and (max-width: 1080px) {
  .p-index-usedcar-slider {
    --_item-width: 360px;
    --_item-right: 20px;
  }
}

@media screen and (max-width: 767px) {
  .p-index-usedcar-slider {
    --_item-right: 16px;
    --_item-width: 84.40111%;
  }
}

.p-index-usedcar-slider .c-slider-control {
  position: absolute;
  right: clamp(10px, -264.6988px + 22.89157vw, 48px);
  top: 40px;
  --_bar-bg-color: var(--bg-color);
}

@media screen and (max-width: 1080px) {
  .p-index-usedcar-slider .c-slider-control {
    right: var(--outer-padding);
    top: auto;
    margin-top: calc(16px + var(--slope-1px) * 8);
  }
}

@media screen and (max-width: 767px) {
  .p-index-usedcar-slider .c-slider-control {
    position: relative;
    right: 0;
  }
}

.p-index-usedcar-slider__list {
  position: relative;
  width: calc(var(--_item-width) + var(--_item-right));
}

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

.p-index-usedcar-slider__item {
  transition: scale 0.2s, filter 0.2s;
  padding-right: var(--_item-right);
}

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

.p-index-usedcar-slider__item > a {
  transform-origin: left bottom;
  transition: scale 0.2s 0.38s, filter 0.2s;
  border-radius: var(--frame-border-radius);
  border: 2px solid var(--Root---base-color, #333);
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-index-usedcar-slider__item > a {
    transform-origin: bottom left;
  }
}

@media (any-hover: hover) {
  .p-index-usedcar-slider__item > a:where(:hover) {
    filter: brightness(0.92);
  }
  .p-index-usedcar-slider__item > a:where(:hover) .p-index-usedcar-card__contents:after {
    translate: 3px 0;
  }
}

@media screen and (min-width: 768px) {
  .p-index-usedcar-slider__item:not(.slick-current) > a {
    scale: 0.8;
    transform-origin: left bottom;
  }
}

@media screen and (max-width: 767px) {
  .p-index-usedcar-slider__item:not(.slick-current) > a {
    scale: 1;
  }
}

.p-index-usedcar-slider__item.slick-current.slick-active.is-moving > a, .p-index-usedcar-slider__item.slick-current.slick-active > a, .p-index-usedcar-slider__item.slick-cloned.is-moving.last-to-first > a, .p-index-usedcar-slider__item.slick-cloned.is-moving.first-to-last > a {
  scale: 1;
}

.p-index-usedcar-slider__item a {
  display: block;
}

/* p-index-usedcar-card
============================== */
.p-index-usedcar-card {
  display: block;
  border: 2px solid var(--Root---border-color, #BEBEBE);
}

.p-index-usedcar-card__image {
  aspect-ratio: 409 / 318;
  overflow: hidden;
}

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

.p-index-usedcar-card__contents {
  display: flex;
  padding: calc(24px + var(--slope-1px) * 6) calc(24px + var(--slope-1px) * 6) calc(24px + var(--slope-1px) * 11) calc(24px + var(--slope-1px) * 6);
  flex-direction: column;
  align-items: flex-start;
  gap: calc(16px + var(--slope-1px) * 4);
  align-self: stretch;
  background: var(--white);
}

.p-index-usedcar-card__contents:after {
  --_arrow-size:calc(22px + var(--slope-1px) * 3);
  content: "";
  position: absolute;
  right: calc(12px + var(--slope-1px) * 5);
  bottom: calc(11px + var(--slope-1px) * 5);
  width: var(--_arrow-size);
  height: var(--_arrow-size);
  margin: auto 0;
  border-radius: 100%;
  transition: background .2s;
  -webkit-mask: var(--icon-arrow) 50% 50%/contain no-repeat;
          mask: var(--icon-arrow) 50% 50%/contain no-repeat;
  background: currentColor;
  transition: translate 0.3s var(--animation);
}

.p-index-usedcar-card__head {
  border-bottom: 1px solid;
  padding-bottom: calc(16px + var(--slope-1px) * 4);
  display: block;
  width: 100%;
}

.p-index-usedcar-card__title {
  color: var(--Root---base-color, #333);
  font-size: calc(18px + var(--slope-1px) * 6);
  font-weight: 700;
  display: block;
  margin-top: var(--leading-trim);
  margin-bottom: calc(var(--leading-trim) + calc(16px + var(--slope-1px) * 4));
}

.p-index-usedcar-card__data {
  display: inline-flex;
  align-items: center;
  gap: 10px 15px;
}

.p-index-usedcar-card__data dl {
  display: inline-flex;
  align-items: center;
}

.p-index-usedcar-card__data dt {
  display: flex;
  padding: 8px 15px;
  justify-content: flex-end;
  align-items: center;
  border-radius: 5px;
  border: 1px solid var(--Root---base-color, #333);
  background: var(--Root---white, #FFF);
  line-height: 1;
  margin-right: 8px;
  flex-shrink: 0;
}

@media screen and (max-width: 767px) {
  .p-index-usedcar-card__data dt {
    padding: 8px;
  }
}

.p-index-usedcar-card__data dd {
  flex-shrink: 0;
  font-weight: 500;
}

.p-index-usedcar-card__body {
  color: var(--red);
  font-weight: 700;
  display: block;
  margin-bottom: var(--leading-trim);
}

.p-index-usedcar-card__body em {
  font-weight: 600;
  font-size: calc(32px + var(--slope-1px) * 12);
  font-family: var(--en-font-family);
  line-height: .7;
  padding-top: .275em;
}

/* p-index-maintenance
============================== */
.p-index-maintenance {
  border-radius: var(--border-Radius-background, 100px) 0 var(--border-Radius-background, 100px) 0;
  padding-block: calc(48px + var(--slope-1px) * 52);
  position: relative;
  background: var(--point-color);
}

.p-index-maintenance::before {
  content: "";
  background: var(--white);
  inset: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
}

.p-index-maintenance .p-index-section {
  display: grid;
  grid-template-columns: 1fr auto;
  -moz-column-gap: 20px;
       column-gap: 20px;
  grid-template-areas: "head foot" "body foot";
}

@media screen and (max-width: 767px) {
  .p-index-maintenance .p-index-section {
    grid-template-columns: 100%;
    grid-template-areas: "head" "body" "foot";
  }
}

.p-index-maintenance .p-index-section__body {
  position: relative;
}

.p-index-maintenance .p-index-section__body .p-index-maintenance__fig {
  margin-right: clamp(0px, -216.86747px + 18.07229vw, 30px);
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: absolute;
  right: 0;
  bottom: 0;
}

@media screen and (max-width: 1080px) {
  .p-index-maintenance .p-index-section__body .p-index-maintenance__fig {
    margin-top: 1em;
    position: relative;
  }
}

@media screen and (max-width: 767px) {
  .p-index-maintenance .p-index-section__body .p-index-maintenance__fig {
    position: absolute;
    width: 52px;
    height: 104px;
    right: 0;
    bottom: auto;
    margin: 0;
    top: -2.5em;
  }
  .p-index-maintenance .p-index-section__body .p-index-maintenance__fig img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
}

.p-index-maintenance__image {
  grid-area: image;
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: calc(8px + var(--slope-1px) * 3);
  border-radius: calc(8px + var(--slope-1px) * 12);
  overflow: hidden;
  width: -moz-fit-content;
  width: fit-content;
}

@media screen and (max-width: 767px) {
  .p-index-maintenance__image {
    width: 100%;
    margin-top: 25px;
  }
}

.p-index-maintenance__image ._row {
  grid-row: span 2;
}

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

/* p-index-news
============================== */
.p-index-news {
  border-radius: var(--border-Radius-background, 100px) 0 0 0;
  padding-top: calc(48px + var(--slope-1px) * 52);
  position: relative;
  background: var(--white);
}

.p-index-news::before {
  content: "";
  background: var(--point-color);
  inset: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
}

.p-index-news .p-index-section {
  position: relative;
  display: grid;
  grid-template-columns: 32.16667% minmax(0, 1fr);
  -moz-column-gap: 20px;
       column-gap: 20px;
  grid-template-areas: "head foot" "body foot";
  grid-template-rows: auto 1fr;
}

@media screen and (max-width: 767px) {
  .p-index-news .p-index-section {
    grid-template-areas: "head" "body" "foot";
    grid-template-rows: auto;
    grid-template-columns: 100%;
  }
}

.p-index-news .p-index-section__body {
  position: relative;
}

.p-index-news .p-index-section__body .p-index-news__fig {
  max-width: 197px;
  height: 157px;
  margin-top: 46px;
  margin-inline: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .p-index-news .p-index-section__body .p-index-news__fig {
    position: absolute;
    width: 104px;
    height: 83px;
    right: 0;
    top: 0;
    bottom: auto;
    margin: 0;
    transform: translateY(calc(-100% - 24px));
  }
  .p-index-news .p-index-section__body .p-index-news__fig img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
}

.p-index-news__frame {
  background: var(--bg-color);
  display: flex;
  padding: calc(32px + var(--slope-1px) * 16) clamp(16px, -24.97496px + 5.34224vw, 48px);
  align-items: center;
  gap: 40px;
  border-radius: var(--frame-border-radius);
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-index-news__frame {
    display: block;
    margin-top: calc(var(--leading-trim) + calc(32px + var(--slope-1px) * 24));
  }
}

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

lineup - rich

* ============================================================= */
.LINEUP-ROOT {
  --TPL-primary-button-color: var(--base-color);
  --TPL-primary-button-border-color: var(--base-color);
  --TPL-primary-button-color-hover: var(--base-color);
  --TPL-primary-button-border-color-hover: var(--base-color);
  --TPL-button-border-width:2px;
  --TPL-button-border-width-hover:2px;
  --TPL-primary-button-border-width:2px;
  --TPL-primary-button-border-width-hover:2px;
}

.l-wrapper .LINEUP-DETAIL-contents {
  padding-top: 0;
}

.l-wrapper .LINEUP-DETAIL-contents:before {
  content: none;
}

.l-wrapper .LINEUP-DETAIL-contents__inner {
  border: none;
  box-shadow: none;
  padding-block: 0;
}

.l-wrapper .LINEUP-slick-control .LINEUP-slick-dots .LINEUPslick-active button {
  background: var(--point-color);
}

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

detail

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

Demo Car

* ============================================================= */
.DEMOCAR-ROOT {
  --TPL-primary-button-color: var(--base-color);
  --TPL-primary-button-border-color: var(--base-color);
  --TPL-primary-button-color-hover: var(--base-color);
  --TPL-primary-button-border-color-hover: var(--base-color);
  --TPL-button-border-width:2px;
  --TPL-button-border-width-hover:2px;
  --TPL-primary-button-border-width:2px;
  --TPL-primary-button-border-width-hover:2px;
}

.l-wrapper .DEMOCAR-LIST-table {
  font-family: var(--number-font-family);
}

.l-wrapper .DEMOCAR-DETAIL-table {
  font-family: var(--number-font-family);
}

.l-wrapper .DEMOCAR-ROOT .ATC-shop-list-table td.ATC-shop-list-table-shop a {
  color: var(--dark-color);
}

.l-wrapper .DEMOCAR-ROOT .ATC-car-contents-header > ul > li a {
  border-width: 2px;
}

.l-wrapper .DEMOCAR-ROOT .ATC-title-text {
  font-size: calc(24px + var(--slope-1px) * 8);
  padding-bottom: calc(calc(24px + var(--slope-1px) * 8) + var(--leading-trim));
  border-bottom: 1px solid #BEBEBE;
}

.l-wrapper .DEMOCAR-ROOT .ATC-title-text-basic {
  font-size: calc(18px + var(--slope-1px) * 2);
  font-weight: 600;
}

.l-wrapper .DEMOCAR-ROOT .ATC-car-contents-lineup-inner {
  border-width: 2px;
}

.l-wrapper .DEMOCAR-ROOT .ATC-car-contents-lineup-detail a {
  border-width: 2px;
}

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

welfare

* ============================================================= */
/* p-welfare-detail
============================== */
.p-welfare-detail {
  display: block;
  margin-block-start: calc(var(--leading-trim) + calc(32px + var(--slope-1px) * 24));
}

.p-welfare-detail__head {
  display: block;
  margin-block-end: calc(var(--leading-trim) + calc(16px + var(--slope-1px) * 8));
}

.p-welfare-detail__body {
  display: grid;
  grid-template-columns: 1fr 47.03704%;
  gap: 16px 32px;
}

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

.p-welfare-detail__grid {
  display: grid;
  grid-template-columns: 100%;
  gap: 16px;
}

.p-welfare-detail__item {
  border-radius: var(--frame-border-radius);
  border: 2px solid var(--Root---border-color, #BEBEBE);
  display: flex;
  padding: calc(24px + var(--slope-1px) * 8) calc(20px + var(--slope-1px) * 12);
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
}

.p-welfare-detail__item > * {
  display: block;
  margin-block: var(--leading-trim);
}

.p-welfare-detail__title {
  font-weight: 700;
  font-size: calc(16px + var(--slope-1px) * 2);
  margin-block: var(--leading-trim) calc(var(--leading-trim) + calc(20px + var(--slope-1px) * 4));
}

.p-welfare-detail__title span {
  color: var(--dark-color);
  font-family: var(--en-font-family);
  line-height: .7;
  padding-top: .275em;
  font-size: 24px;
  font-weight: 700;
  margin-right: 8px;
  position: relative;
  top: .025em;
}

.p-welfare-detail__notes {
  display: block;
  margin-top: calc(var(--leading-trim) + 16px);
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
}

.p-welfare-detail__image {
  height: -moz-fit-content;
  height: fit-content;
}

.p-welfare-detail__image img {
  border-radius: var(--frame-border-radius);
}

@media screen and (max-width: 767px) {
  .p-welfare-detail__image {
    width: 100%;
  }
  .p-welfare-detail__image img {
    width: 100%;
  }
}

/* p-welfare-pickup
============================== */
.p-welfare-pickup-container {
  border-radius: calc(10px + var(--slope-1px) * 10);
  border: 2px solid var(--Root---key-dark-color, #00889D);
  background: var(--Root---white, #FFF);
  padding: calc(24px + var(--slope-1px) * 8) calc(20px + var(--slope-1px) * 12);
}

.p-welfare-pickup {
  margin-block-end: calc(40px + var(--slope-1px) * -8);
}

.p-welfare-pickup__head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-block-end: calc(40px + var(--slope-1px) * -8);
  gap: 16px 28px;
  align-items: center;
}

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

.p-welfare-pickup__contents {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(16px + var(--slope-1px) * 8);
}

.p-welfare-pickup__title {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px 16px;
  font-weight: 700;
  font-size: calc(18px + var(--slope-1px) * 6);
}

@media screen and (max-width: 767px) {
  .p-welfare-pickup__title {
    flex-direction: column;
    align-items: flex-start;
  }
}

.p-welfare-pickup__title p {
  margin-block: var(--leading-trim);
  display: block;
}

.p-welfare-pickup__label {
  display: flex;
  padding-inline: calc(10px + var(--slope-1px) * 2);
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: calc(5px + var(--slope-1px) * 5);
  background: var(--Root---key-dark-color, #00889D);
  color: var(--white);
  font-size: calc(14px + var(--slope-1px) * 4);
  font-family: var(--en-font-family);
  width: -moz-fit-content;
  width: fit-content;
  height: 37px;
  line-height: .7;
  padding-top: .3em;
}

@media screen and (max-width: 767px) {
  .p-welfare-pickup__label {
    border-radius: 5px;
    font-size: 14px;
    height: 30px;
  }
}

.p-welfare-pickup__image > img {
  border-radius: var(--frame-border-radius);
}

.p-welfare-pickup__body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px 16px;
}

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

.p-welfare-pickup__item {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.p-welfare-pickup__item > * {
  display: block;
}

.p-welfare-pickup__fig {
  grid-template-columns: 1fr 1fr;
  display: grid;
  gap: 16px;
}

.p-welfare-pickup__fig > img {
  border-radius: var(--frame-border-radius);
  border: 1px solid var(--Root---border-color, #BEBEBE);
}

.p-welfare-pickup-point {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

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

.p-welfare-pickup-point__item {
  border-radius: var(--frame-border-radius);
  border: 1px solid var(--Root---border-color, #BEBEBE);
  display: flex;
  padding: calc(20px + var(--slope-1px) * 12) calc(20px + var(--slope-1px) * 12) calc(20px + var(--slope-1px) * 12) calc(20px + var(--slope-1px) * 12);
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.p-welfare-pickup-point__head {
  display: grid;
  grid-template-columns: 100%;
  gap: 16px;
  line-height: 34px;
}

.p-welfare-pickup-point__number {
  color: var(--Root---key-dark-color, #00889D);
  font-family: var(--en-font-family);
  display: grid;
  grid-template-columns: 100%;
  margin-block-end: var(--leading-trim);
}

.p-welfare-pickup-point__number span {
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  /* 10px */
}

.p-welfare-pickup-point__number em {
  font-size: 34px;
  font-style: normal;
  font-weight: 700;
  line-height: .7;
  padding-top: .1em;
  display: block;
  margin-block: var(--leading-trim);
}

.p-welfare-pickup-point__title {
  color: var(--Root---base-color, #333);
  font-size: calc(18px + var(--slope-1px) * 2);
  font-style: normal;
  font-weight: 700;
  line-height: 1.65;
  display: block;
  margin-block: var(--leading-trim);
}

.p-welfare-pickup-point__image {
  width: auto;
  max-width: 100%;
}

.p-welfare-pickup-point__image > img {
  width: auto;
  max-width: 100%;
}

.p-welfare-pickup-point__notes {
  font-size: var(--Font-text-small, 12px);
  font-style: normal;
  font-weight: 500;
  line-height: 1.65;
  display: block;
  margin-block: var(--leading-trim);
}

/* p-welfare-lineup-container
============================== */
.p-welfare-lineup-container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(420px, 1fr));
  gap: calc(16px + var(--slope-1px) * 8);
  margin-top: calc(16px + var(--slope-1px) * 8);
}

.p-welfare-lineup-container__foot {
  margin-top: calc(27px + var(--slope-1px) * 5);
  display: flex;
  align-items: center;
  justify-content: center;
}

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

/* p-welfare-lineup
============================== */
.p-welfare-lineup {
  --padding-inline: calc(20px + var(--slope-1px) * 12);
  display: grid;
  grid-template-rows: subgrid;
  grid-template-columns: 100%;
  grid-row: span 2;
  overflow: hidden;
  padding-inline: var(--padding-inline);
  padding-block: calc(24px + var(--slope-1px) * 16) calc(24px + var(--slope-1px) * 8);
  border: 2px solid var(--Root---border-color, #BEBEBE);
  border-radius: var(--frame-border-radius);
  gap: calc(24px + var(--slope-1px) * 16);
  background: var(--white);
}

.p-welfare-lineup__title {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: calc(18px + var(--slope-1px) * 6);
  font-style: normal;
  font-weight: 700;
  line-height: 1.65;
  display: block;
  margin-block: var(--leading-trim);
}

.p-welfare-lineup__lead {
  display: block;
  margin-block-start: calc(var(--leading-trim) + calc(16px + var(--slope-1px) * 8));
}

.p-welfare-lineup__image {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-block: calc(var(--leading-trim) + 16px);
}

.p-welfare-lineup__text {
  margin-block: var(--leading-trim);
  display: block;
}

/* p-welfare-lineup-block
============================== */
.p-welfare-lineup-block {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: 100%;
  border-top: 1px solid var(--Root---border-color, #BEBEBE);
  padding-top: calc(24px + var(--slope-1px) * 16);
}

.p-welfare-lineup-block .c-sub-title {
  font-weight: 700;
}

.p-welfare-lineup-block__head {
  margin-bottom: calc(var(--leading-trim) + 16px);
  display: block;
}

.p-welfare-lineup-block__body {
  display: grid;
  align-self: flex-start;
  grid-template-columns: repeat(auto-fill, minmax(164px, 1fr));
  gap: calc(16px + var(--slope-1px) * 8) calc(16px + var(--slope-1px) * 4);
}

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

.p-welfare-lineup-block__item {
  display: grid;
  grid-template-columns: 100%;
}

.p-welfare-lineup-block__name {
  margin-block: calc(var(--leading-trim) + calc(6px + var(--slope-1px) * 2)) var(--leading-trim);
  display: block;
  font-family: var(--en-font-family);
  text-align: center;
}

.p-welfare-lineup-block__name span {
  display: none;
}

.p-welfare-lineup-block__nav {
  display: grid;
  grid-template-columns: 100%;
  gap: 8px;
  margin-block-start: calc(var(--leading-trim) + calc(12px + var(--slope-1px) * 4));
}

.p-welfare-showroom {
  margin-block-start: calc(var(--leading-trim) + calc(24px + var(--slope-1px) * 16));
}

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

Usedcar

* ============================================================= */
.p-usedcar-movie {
  margin-inline: auto;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 640px;
  margin-block-end: calc(24px + var(--slope-1px) * 16);
  width: 100%;
}

.p-usedcar-movie__head {
  margin-block-start: var(--leading-trim);
  margin-block-end: calc(16px + var(--slope-1px) * 8);
  display: block;
}

.p-usedcar-movie__title {
  font-size: calc(18px + var(--slope-1px) * 2);
  font-weight: 700;
  text-align: center;
  margin-block: var(--leading-trim);
  display: block;
}

.p-usedcar-movie__body {
  line-height: 1;
}

.p-usedcar-movie__body iframe {
  border-radius: var(--frame-border-radius);
  overflow: hidden;
  aspect-ratio: 16/9;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-usedcar-form {
  border-radius: var(--frame-border-radius);
  background: var(--Root---key-color, #A0E9F4);
  position: relative;
  display: grid;
  margin-bottom: calc(24px + var(--slope-1px) * 16);
  padding: calc(32px + var(--slope-1px) * 16) calc(24px + var(--slope-1px) * 8) calc(20px + var(--slope-1px) * 4);
  grid-template-columns: minmax(130px, 1fr) auto minmax(130px, 1fr);
  grid-template-areas: "img main .";
  gap: 0 24px;
}

@media screen and (max-width: 767px) {
  .p-usedcar-form {
    grid-template-columns: 100%;
    grid-template-areas: "main" "img";
  }
}

.p-usedcar-form__inner {
  grid-area: main;
  display: grid;
  grid-template-columns: 100%;
  place-content: center;
  align-items: center;
  justify-content: center;
  margin-inline: auto;
  text-align: center;
  padding-bottom: calc(20px + var(--slope-1px) * 4);
}

.p-usedcar-form__head {
  position: relative;
  z-index: 0;
}

.p-usedcar-form__en {
  top: 0;
  left: 0;
  right: 0;
  position: absolute;
  grid-column: 1/3;
  z-index: 0;
  width: 100cqi;
  margin-inline: calc(50% - 50cqi);
  color: var(--Root---key-light-color, #D2F7FD);
  font-family: var(--en-font-family);
  font-size: calc(40px + var(--slope-1px) * 30);
  font-weight: 700;
  letter-spacing: 0.02em;
  display: block;
  margin-top: var(--leading-trim);
  margin-bottom: calc( var(--leading-trim) - .275em);
}

.p-usedcar-form__title {
  position: relative;
  display: block;
  margin-block: calc(var(--leading-trim) + calc(20px + var(--slope-1px) * 16)) calc(var(--leading-trim) + calc(26px + var(--slope-1px) * 8));
  text-align: center;
  font-feature-settings: 'halt' on;
  font-size: calc(17px + var(--slope-1px) * 9);
  font-weight: 700;
  line-height: 130%;
  z-index: 1;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.p-usedcar-form__button .c-button {
  margin-inline: auto;
  max-height: 52px;
}

.p-usedcar-form__image {
  grid-area: img;
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
}

@media screen and (max-width: 767px) {
  .p-usedcar-form__image {
    left: auto;
    right: auto;
    position: relative;
    justify-content: center;
    align-items: center;
  }
}

@media screen and (max-width: 767px) {
  .p-usedcar-form__image img {
    width: 90px;
  }
}

.p-usedcar-online-banner {
  border-radius: var(--frame-border-radius);
  overflow: hidden;
  margin-bottom: calc(72px + var(--slope-1px) * 40);
  display: block;
  transition: filter .2s;
}

@media (any-hover: hover) {
  .p-usedcar-online-banner:hover {
    filter: brightness(0.7);
  }
}

/* COMMON-UCAR-search
============================================================ */
.l-wrapper .COMMON-UCAR-search {
  border-radius: var(--frame-border-radius);
  background: var(--bg-color);
  padding: calc(24px + var(--slope-1px) * 16) calc(20px + var(--slope-1px) * 12) calc(24px + var(--slope-1px) * 8);
}

@media screen and (max-width: 767px) {
  .l-wrapper .COMMON-UCAR-search {
    width: 100cqi;
    margin-inline: calc(50% - 50cqi);
    border-radius: 0;
    left: auto;
    transform: unset;
    padding: calc(24px + var(--slope-1px) * 16) var(--inner-padding) calc(24px + var(--slope-1px) * 8);
  }
}

.l-wrapper .COMMON-UCAR-search__body {
  width: 100%;
}

.l-wrapper .COMMON-UCAR-search__foot {
  margin-top: calc(12px + var(--slope-1px) * -4);
}

@media screen and (min-width: 768px) {
  .l-wrapper .COMMON-UCAR-search-button-block__item:not(:first-child) {
    margin-left: 16px;
  }
}

@media screen and (max-width: 767px) {
  .l-wrapper .COMMON-UCAR-search-button-block__item:not(:first-child) {
    margin-left: 0;
    margin-top: 8px;
  }
}

.l-wrapper .COMMON-UCAR-search-button {
  background: var(--key-color);
  border: 2px solid var(--base-color);
  color: var(--base-color);
  border-radius: calc(5px + var(--slope-1px) * 5);
}

.l-wrapper .COMMON-UCAR-search-button._bg-gray {
  background: var(--white);
}

.l-wrapper .COMMON-UCAR-search-button > i img {
  filter: invert(1);
}

.l-wrapper .COMMON-UCAR-search-block-more:hover {
  color: var(--gray);
}

.l-wrapper .COMMON-UCAR-search-block-more {
  background: var(--bg-color);
  border-top-color: var(--bg-color);
}

.l-wrapper .COMMON-UCAR-search-block-more:after {
  background: var(--bg-color);
}

.l-wrapper .COMMON-UCAR-search-item__body select {
  box-shadow: none;
  border: 1px solid var(--Root---border-color, #BEBEBE);
  border-radius: calc(5px + var(--slope-1px) * 5);
  background: var(--white);
}

/* COMMON-UCAR-list
============================================================ */
.l-wrapper .COMMON-UCAR-list {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .l-wrapper .COMMON-UCAR-list {
    width: 100%;
    left: auto;
    transform: unset;
  }
}

.l-wrapper .COMMON-UCAR-list-sort__body select {
  background: transparent;
  border-radius: 0;
}

.l-wrapper .COMMON-UCAR-list__grid {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% + 20px);
  margin: -10px;
}

@media screen and (max-width: 767px) {
  .l-wrapper .COMMON-UCAR-list__grid {
    width: calc(100% + 10px);
    margin: -5px;
  }
}

.l-wrapper .COMMON-UCAR-list__grid > * {
  width: calc(100%/3 - 20px);
  margin: 10px;
}

@media screen and (max-width: 767px) {
  .l-wrapper .COMMON-UCAR-list__grid > * {
    margin: 5px;
    width: calc(100%/2 - 10px);
  }
}

.l-wrapper .COMMON-UCAR-list-card {
  border-radius: var(--base-border-radius);
  border: 2px solid var(--Root---base-color, #333);
  background: var(--Root---white, #FFF);
  padding: calc(8px + var(--slope-1px) * 16);
}

.l-wrapper .COMMON-UCAR-list-card__head {
  padding-bottom: calc(8px + var(--slope-1px) * 16);
}

.l-wrapper .COMMON-UCAR-list-card__name {
  font-size: calc(18px + var(--slope-1px) * 2);
  font-weight: 700;
}

.l-wrapper .COMMON-UCAR-list-card__type {
  margin-top: calc(var(--leading-trim) + calc(8px + var(--slope-1px) * 16));
}

@media screen and (min-width: 768px) {
  .l-wrapper .COMMON-UCAR-list-card__detail dt,
  .l-wrapper .COMMON-UCAR-list-card__detail dd {
    font-size: 13px;
  }
}

@media screen and (max-width: 767px) {
  .l-wrapper .COMMON-UCAR-list-card__detail dt,
  .l-wrapper .COMMON-UCAR-list-card__detail dd {
    padding: .25em 0;
  }
}

.l-wrapper .COMMON-UCAR-list-card__button {
  width: 100%;
  margin-top: calc(8px + var(--slope-1px) * 16);
}

.l-wrapper .COMMON-UCAR-list-card__link {
  border-radius: calc(5px + var(--slope-1px) * 5);
  border: 2px solid var(--Root---base-color, #333);
  background: var(--Button---cv-color, #FFE33F);
  color: var(--base-color);
  width: 100%;
  padding-block: calc(var(--leading-trim) + calc(7.5px + var(--slope-1px) * 8));
  height: -moz-fit-content;
  height: fit-content;
  transition: background .2s ease-out, color .2s ease-out;
}

.l-wrapper .COMMON-UCAR-list-card__link:hover {
  color: var(--white);
}

@media screen and (min-width: 768px) {
  .l-wrapper .COMMON-UCAR-list-card__shop {
    font-size: 13px;
  }
}

.l-wrapper .COMMON-UCAR-list-card__shop a {
  text-decoration: underline;
}

.l-wrapper .COMMON-UCAR-list__foot {
  width: 100%;
  justify-content: flex-end;
  margin: 4rem 0 0;
}

@media screen and (max-width: 767px) {
  .l-wrapper .COMMON-UCAR-list__foot .COMMON-UCAR-list-paging {
    margin-bottom: 0;
  }
}

.l-wrapper .COMMON-UCAR-list-paging__nav a:hover {
  background: var(--key-color);
  color: var(--base-color);
}

/*font family*/
.l-page[data-category="usedcar"] {
  --en-used-font-family: var(--number-font-family);
  font-family: var(--en-used-font-family);
}

.l-page[data-category="usedcar"] .p-usedcar {
  font-family: var(--en-used-font-family);
}

.l-page[data-category="usedcar"] .COMMON-UCAR-list-paging__index a {
  font-family: var(--en-used-font-family);
}

.l-page[data-category="usedcar"] .COMMON-UCAR-list-card__head {
  font-family: var(--en-used-font-family);
}

.l-page[data-category="usedcar"] .COMMON-UCAR-list-card__image a:before {
  font-family: var(--en-used-font-family);
}

.l-page[data-category="usedcar"] .COMMON-UCAR-detail-gallery__index {
  font-family: var(--en-used-font-family);
}

.l-page[data-category="usedcar"] .COMMON-UCAR-detail-price__body span {
  font-family: var(--en-used-font-family);
}

.l-page[data-category="usedcar"] .COMMON-UCAR-detail-shop__tel {
  font-family: var(--en-used-font-family);
}

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

usedcar-detail

* ============================================================= */
@media print {
  body[data-id="usedcar-detail"] .l-main-body {
    padding-top: 1em;
  }
  body[data-id="usedcar-detail"] .l-main-body::before {
    border-radius: 0;
  }
  body[data-id="usedcar-detail"] .l-main-head {
    display: none;
    opacity: 0;
    visibility: hidden;
  }
  body[data-id="usedcar-detail"] .l-footer {
    display: none;
    opacity: 0;
    visibility: hidden;
  }
  body[data-id="usedcar-detail"] .l-sticky {
    display: none;
    opacity: 0;
    visibility: hidden;
  }
}

body[data-id="usedcar-detail"] .COMMON-UCAR-detail-data__item {
  background: var(--white);
}

@media screen and (min-width: 768px) {
  body[data-id="usedcar-detail"] .COMMON-UCAR-detail-cartrim td {
    background: var(--white);
  }
}

body[data-id="usedcar-detail"] .COMMON-UCAR-detail-cartrim td > ul > li {
  background: var(--white);
}

@media screen and (min-width: 768px) {
  body[data-id="usedcar-detail"] .COMMON-UCAR-detail-shop__tel a {
    text-decoration: none;
    pointer-events: none;
  }
}

body[data-id="usedcar-detail"] .COMMON-UCAR-detail-header {
  background: var(--bg-color);
}

body[data-id="usedcar-detail"] .COMMON-UCAR-detail-data__head {
  background: var(--bg-color);
}

body[data-id="usedcar-detail"] .COMMON-UCAR-detail-print a {
  border: 2px solid var(--base-color);
  font-weight: 500;
  border-radius: calc(5px + var(--slope-1px) * 5);
}

body[data-id="usedcar-detail"] .COMMON-UCAR-detail-section:not(:first-child) {
  margin-top: calc(48px + var(--slope-1px) * 16);
}

body[data-id="usedcar-detail"] .COMMON-UCAR-detail-section__head {
  font-size: calc(18px + var(--slope-1px) * 2);
  display: block;
  margin-block: var(--leading-trim) calc(var(--leading-trim) + calc(24px + var(--slope-1px) * 8));
  font-weight: 500;
  line-height: 1.7;
}

body[data-id="usedcar-detail"] .COMMON-UCAR-detail-section.anotherList {
  margin-top: calc(92px + var(--slope-1px) * 40);
}

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

Showroom

* ============================================================= */
/* p-showroom-map
============================================================== */
.p-showroom-map {
  position: relative;
  margin-top: calc(32px + var(--slope-1px) * -2);
}

.p-showroom-map #js-gmap {
  width: 100%;
  height: 450px;
  overflow: hidden;
  border-radius: var(--frame-border-radius);
  background: var(--bg-color);
}

@media screen and (max-width: 767px) {
  .p-showroom-map #js-gmap {
    height: auto;
    aspect-ratio: 1;
  }
}

#js-gmap .gmapOpen_shopName {
  font-weight: 700;
  padding-bottom: .5em;
}

#js-gmap .gmapOpen_shopLink {
  text-decoration: underline;
}

#js-gmap .gm-style-iw {
  max-height: -moz-fit-content !important;
  max-height: fit-content !important;
}

/* p-showroom-facility
============================================================= */
.p-showroom-facility {
  display: block;
  border-radius: var(--frame-border-radius);
  background: var(--Root---bg-color, #F1F1F1);
  display: flex;
  padding: calc(24px + var(--slope-1px) * 16) calc(20px + var(--slope-1px) * 20);
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  margin-block-end: calc(24px + var(--slope-1px) * 16);
}

.p-showroom-facility__list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px calc(16px + var(--slope-1px) * 16);
}

.p-showroom-facility__item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: calc(5px + var(--slope-1px) * 3);
}

.p-showroom-facility__icon {
  border-radius: 3px;
  background: var(--Root---white, #FFF);
  display: flex;
  width: calc(22px + var(--slope-1px) * 10);
  height: calc(22px + var(--slope-1px) * 10);
  padding: calc(2px + var(--slope-1px) * 2);
  justify-content: center;
  align-items: center;
  aspect-ratio: 1;
}

.p-showroom-facility__text {
  font-size: calc(12px + var(--slope-1px) * 4);
  letter-spacing: 0;
}

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

sr

* ============================================================= */
/* p-sr-header
============================== */
.p-sr-header {
  display: grid;
  grid-template-columns: 48.14815% 50%;
  justify-content: space-between;
}

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

@media screen and (max-width: 767px) {
  .p-sr-header__slide {
    order: 2;
  }
}

@media screen and (max-width: 767px) {
  .p-sr-header__contents {
    order: 1;
  }
}

.p-sr-header__info {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: center;
  border-top: 2px solid;
  border-bottom: 2px solid;
  padding-block: calc(var(--leading-trim) + calc(24px + var(--slope-1px) * 8));
  gap: 20px 5.18519%;
  margin-block-end: 24px;
}

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

.p-sr-header-info__head {
  display: flex;
  flex-direction: column;
  gap: 14px 8px;
  justify-content: center;
  align-items: center;
}

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

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

.p-sr-header__contact {
  flex-shrink: 0;
  min-width: 280px;
}

@media screen and (max-width: 767px) {
  .p-sr-header__contact {
    min-width: 0;
  }
}

.p-sr-header-info__body {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
}

.p-sr-header__tel {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

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

.p-sr-header__tel .c-button {
  width: 100%;
  max-width: 100%;
}

.p-sr-header-tel {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 11px;
  color: var(--Root---base-color, #333);
  font-family: var(--en-font-family);
  font-size: 32px;
  font-weight: 600;
  line-height: 1;
}

.p-sr-header__close {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-block: var(--leading-trim);
}

@media screen and (max-width: 767px) {
  .p-sr-header__close {
    width: 100%;
    align-items: center;
    justify-content: space-around;
    display: flex;
    flex-direction: row;
    gap: unset;
  }
}

.p-sr-header__close .c-open-information__text {
  font-size: calc(15px + var(--slope-1px) * 1);
  font-weight: 700;
}

.p-sr-header__close .c-open-information__text > em {
  font-size: calc(22px + var(--slope-1px) * 2);
}

.p-sr-close__list {
  margin-block: var(--leading-trim);
  display: flex;
  flex-direction: column;
  gap: calc(10px + var(--slope-1px) * 2);
  font-weight: 500;
}

.p-sr-close__list li {
  position: relative;
  padding-left: calc(8px + 5px);
  margin-block: var(--leading-trim);
  display: block;
  letter-spacing: 0;
  font-feature-settings: normal;
  font-size: calc(12px + var(--slope-1px) * 4);
}

.p-sr-close__list li::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--dark-color);
  position: absolute;
  display: block;
  left: 0;
  top: 0;
  bottom: 0;
  margin-block: auto;
}

.p-sr-close__link {
  text-decoration: none;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-block: var(--leading-trim);
}

.p-sr-close__arrow {
  background: var(--base-color);
  border-radius: 50%;
  overflow: hidden;
  padding: 2px;
  color: var(--white);
  display: inline-flex;
  margin-left: 5px;
  width: 1em;
  height: 1em;
}

.p-sr-close__arrow img {
  width: 12px;
  height: 12px;
}

.p-sr-header__nav {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

/* p-sr-slider
============================== */
.p-sr-slider {
  width: 100%;
}

.p-sr-slider .c-slider-progress {
  --_bar-bg-color: var(--bg-color);
}

.p-sr-slider__list {
  position: relative;
  margin-block-end: 16px;
  border-radius: calc(10px + var(--slope-1px) * 10);
  overflow: hidden;
}

.p-sr-slider__item {
  width: 100%;
  height: 100%;
  transition: opacity 0.4s, scale 0.4s;
  aspect-ratio: 520/300;
}

.p-sr-slider__item.slick-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* p-sr-grid
============================== */
.p-sr-grid {
  margin-block-start: calc(24px + var(--slope-1px) * 40);
  display: grid;
  gap: 24px 40px;
  align-items: flex-start;
  grid-template-rows: auto 1fr;
}

@media screen and (min-width: 768px) {
  .p-sr-grid {
    grid-template-columns: 50% 46.2963%;
    grid-template-areas: "profile facility" "profile crowd";
  }
}

@media screen and (max-width: 767px) {
  .p-sr-grid {
    grid-template-areas: "profile" "facility" "crowd";
    grid-template-columns: 100%;
    grid-template-rows: auto;
  }
}

.p-sr-grid .p-sr-profile {
  grid-area: profile;
}

.p-sr-grid .p-sr-facility {
  grid-area: facility;
}

.p-sr-grid .p-sr-crowd {
  grid-area: crowd;
}

/* p-sr-button-grid
============================== */
.p-sr-button-grid {
  display: flex;
  gap: calc(10px + var(--slope-1px) * 3);
  grid-area: button;
  margin-bottom: 40px;
  align-items: center;
  justify-content: center;
}

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

/* p-sr-comment
============================== */
.p-sr-comment {
  margin-block-start: 24px;
  border-radius: calc(10px + var(--slope-1px) * 10);
  background: var(--Root---key-light-color, #D2F7FD);
  display: flex;
  width: 100%;
  padding: 32px;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

@media screen and (max-width: 767px) {
  .p-sr-comment {
    margin-block-start: 40px;
  }
}

.p-sr-comment > p {
  display: block;
  margin-block: var(--leading-trim);
}

/* p-sr-profile
============================================================== */
.p-sr-profile {
  --gap: calc(var(--leading-trim) + 24px);
  width: 100%;
  border-collapse: separate;
  display: grid;
  gap: var(--gap) 0;
  padding-top: var(--gap);
  grid-template-columns: max-content 1fr;
  font-size: calc(15px + var(--slope-1px) * 1);
  align-self: self-start;
  grid-area: profile;
  border-top: 1px solid var(--base-color);
}

.p-sr-profile__head {
  display: flex;
  align-items: flex-start;
  border-bottom: 1px solid var(--base-color);
  padding-right: calc(24px + var(--slope-1px) * 8);
  padding-bottom: var(--gap);
  padding-left: 16px;
}

.p-sr-profile__body {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--base-color);
  gap: .25em 1em;
  padding-bottom: var(--gap);
}

.p-sr-profile__body span {
  display: inline-block;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.p-sr-profile__body em {
  color: var(--dark-color);
  font-weight: 700;
}

.p-sr-profile__body a[href^="tel:"] {
  color: var(--dark-color);
}

.p-sr-profile__body small {
  font-size: calc(13px + var(--slope-1px) * 1);
}

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

/* p-sr-orange
============================================================= */
.p-sr-orange {
  transition: opacity 0.3s var(--animation);
}

.p-sr-orange img {
  max-height: 22px;
}

@media (any-hover: hover) {
  .p-sr-orange {
    opacity: 0.7;
  }
}

/* p-sr-facility
============================================================= */
.p-sr-facility {
  width: 100%;
  display: grid;
  grid-template-columns: 100%;
  gap: 24px;
  border-radius: calc(10px + var(--slope-1px) * 10);
  background: var(--Root---bg-color, #F1F1F1);
  padding-block: calc(24px + var(--slope-1px) * 8);
  padding-inline: calc(20px + var(--slope-1px) * 12);
}

@media screen and (max-width: 560px) {
  .p-sr-facility {
    flex-direction: column;
  }
}

.p-sr-facility__list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px calc(16px + var(--slope-1px) * 16);
}

.p-sr-facility__item {
  display: flex;
  align-items: center;
  gap: calc(5px + var(--slope-1px) * 3);
  font-size: calc(12px + var(--slope-1px) * 4);
}

.p-sr-facility__item > i {
  width: calc(22px + var(--slope-1px) * 10);
  height: calc(22px + var(--slope-1px) * 10);
  padding: calc(2px + var(--slope-1px) * 2);
  background: var(--white);
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.p-sr-facility__item > i img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-sr-facility__item span {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

/* p-sr-crowd
============================================================= */
.p-sr-crowd {
  display: grid;
  grid-template-columns: 100%;
  gap: 24px;
  border-radius: calc(10px + var(--slope-1px) * 10);
  background: var(--Root---bg-color, #F1F1F1);
  padding-block: calc(24px + var(--slope-1px) * 8);
  padding-inline: calc(20px + var(--slope-1px) * 12);
}

.p-sr-crowd__body {
  display: flex;
  align-items: center;
  justify-content: center;
}

.js-sr-crowd-open,
.js-sr-crowd-close {
  display: none;
}

.js-sr-crowd-open.is-show,
.js-sr-crowd-close.is-show {
  display: block;
}

/* p-sr-blog
============================================================== */
.p-sr-blog {
  margin-block-start: calc(64px + var(--slope-1px) * 32);
  padding-block-start: 8px;
  display: grid;
  grid-template-columns: 30.09259% 1fr;
  grid-template-rows: auto 1fr;
  grid-template-areas: "head grid" "nav grid";
  gap: 0 10.27778%;
}

@media screen and (max-width: 1080px) {
  .p-sr-blog {
    gap: 0 5.18519%;
  }
}

@media screen and (max-width: 767px) {
  .p-sr-blog {
    grid-template-columns: 100%;
    grid-template-areas: "head" "grid" "nav";
    gap: 0;
  }
}

.p-sr-blog .p-sr-blog__head {
  grid-area: head;
}

.p-sr-blog .p-sr-blog__nav {
  grid-area: nav;
}

.p-sr-blog .p-sr-blog__grid {
  grid-area: grid;
}

.p-sr-blog__head {
  margin-block-end: calc(var(--leading-trim) + calc(24px + var(--slope-1px) * 16));
}

@media screen and (max-width: 767px) {
  .p-sr-blog__nav {
    margin-block-start: calc(var(--leading-trim) + calc(24px + var(--slope-1px) * 16));
  }
  .p-sr-blog__nav .c-button {
    margin-inline: auto;
  }
}

.p-sr-blog-sns {
  margin-top: 40px;
  padding: 24px 0;
  border-top: 2px solid var(--Root---base-color, #333);
  border-bottom: 2px solid var(--Root---base-color, #333);
  position: relative;
}

.p-sr-blog-sns__head {
  text-align: center;
  display: block;
  margin-block: var(--leading-trim) calc(var(--leading-trim) + 16px);
}

.p-sr-blog-sns__body {
  display: grid;
  grid-template-columns: 60px 60px;
  align-items: center;
  justify-content: center;
  gap: 15px;
}

.p-sr-blog-sns__fig {
  position: absolute;
  bottom: calc(-1 * calc(30px + var(--slope-1px) * 45));
  right: -23px;
  width: 58px;
  height: 140px;
}

@media screen and (max-width: 767px) {
  .p-sr-blog-sns__fig {
    right: 14px;
    width: 43px;
    height: 103px;
  }
}

.p-sr-blog__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(15px + var(--slope-1px) * 5);
}

/* p-sr-map
============================================================== */
.p-sr-map {
  position: relative;
  margin-top: calc(32px + var(--slope-1px) * -2);
}

.p-sr-map #js-gmap {
  width: 100%;
  height: calc(343px + var(--slope-1px) * 107);
  overflow: hidden;
  border-radius: var(--frame-border-radius);
  background: var(--bg-color);
}

@media screen and (max-width: 767px) {
  .p-sr-map #js-gmap {
    height: auto;
    aspect-ratio: 1;
  }
}

.p-sr-access {
  display: grid;
  grid-template-columns: 100%;
  gap: 20px;
}

.p-sr-access__item {
  display: flex;
  align-items: flex-start;
  justify-items: flex-start;
  margin-block: var(--leading-trim);
  gap: 5px;
}

.p-sr-access__head {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 1lh;
}

@media screen and (max-width: 767px) {
  .p-sr-access__head {
    width: 1lh;
  }
}

.p-sr-access__body {
  display: flex;
  justify-content: flex-start;
}

.p-sr-map__fig {
  position: absolute;
  top: -1em;
  right: 0;
  transform: translateY(-100%);
  width: 180px;
  height: 143px;
}

@media screen and (max-width: 767px) {
  .p-sr-map__fig.is-tablet-rerative {
    position: relative;
    bottom: 0;
    margin-top: 15px;
    transform: unset;
    margin-inline-start: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-sr-map__fig {
    width: 113px;
    height: 90px;
    top: auto;
    bottom: -1em;
    transform: translateY(100%);
  }
}

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

/* p-sr-contact
============================================================== */
.p-sr-contact {
  border-radius: var(--frame-border-radius);
  background: var(--Root---key-color, #A0E9F4);
  padding: 80px 48px 48px;
  position: relative;
  margin-top: calc(72px + var(--slope-1px) * 40);
}

@media screen and (max-width: 767px) {
  .p-sr-contact {
    padding: 56px 32px 20px;
  }
}

.p-sr-contact-title {
  display: block;
  margin-block: var(--leading-trim);
  font-size: calc(24px + var(--slope-1px) * 8);
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  /* 41.6px */
  text-align: center;
  position: relative;
  z-index: 1;
}

.p-sr-contact-title::before {
  display: block;
  content: attr(data-en);
  color: var(--Root---key-light-color, #D2F7FD);
  font-family: "Josefin Sans";
  font-size: 70px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  /* 70px */
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  margin-inline: auto;
  transform: translateY(-0.375lh);
}

@media screen and (max-width: 767px) {
  .p-sr-contact-title::before {
    font-size: 48px;
  }
}

.p-sr-contact-grid {
  margin-top: calc(24px + var(--slope-1px) * 24);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  max-width: 616px;
  gap: 16px;
  margin-inline: auto;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .p-sr-contact-grid {
    gap: 8px;
  }
}

@media screen and (max-width: 767px) {
  .p-sr-contact-grid ._x1\:tablet {
    grid-column: span 2;
  }
}

.p-sr-contact-grid._primary {
  gap: 10px 16px;
}

@media screen and (max-width: 767px) {
  .p-sr-contact-grid._primary {
    gap: 10px 16px;
  }
}

.p-sr-contact-grid + .p-sr-contact-grid {
  margin-top: 16px;
}

.p-sr-contact__fig {
  position: absolute;
  left: 30px;
  bottom: 24px;
  z-index: 0;
  width: 96px;
  height: 111px;
}

@media screen and (max-width: 767px) {
  .p-sr-contact__fig {
    width: 90px;
    height: 104px;
    margin-inline: auto;
    position: relative;
    bottom: 0;
    left: 0;
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

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

staff

* ============================================================= */
.p-staff-contents .ATC-shop-contents-staff {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.p-staff-contents .ATC-shop-contents-staff-list {
  overflow: hidden;
  padding: calc(20px + var(--slope-1px) * 10) calc(20px + var(--slope-1px) * 20) calc(30px + var(--slope-1px) * 10);
  border-radius: 8px;
  border: 1px solid var(--light-gray);
  background: #FFF;
}

.p-staff-contents .ATC-shop-contents-staff-list.is-notready {
  width: 100%;
  border: 0;
}

.p-staff-contents .ATC-photo-thumb-frame {
  float: left;
  overflow: hidden;
  line-height: 0;
  width: 50.84746%;
  margin-inline: auto;
  aspect-ratio: 150/170;
  border: 1px solid var(--light-gray);
  box-sizing: border-box;
}

.p-staff-contents .ATC-photo-thumb-frame img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-staff-contents .ATC-shop-contents-staff-list-name {
  font-size: calc(14px + var(--slope-1px) * 4);
  position: relative;
  overflow: hidden;
  font-weight: 700;
  display: flex;
  flex-direction: column;
  gap: .5em;
  margin-bottom: var(--leading-trim);
  aspect-ratio: 145/170;
  margin-top: 0;
  width: 49.15254%;
  padding-left: 6.77966%;
  align-items: flex-start;
  justify-content: center;
  font-weight: 700;
  font-size: calc(14px + var(--slope-1px) * 2);
}

.p-staff-contents .ATC-shop-contents-staff-list-name > * {
  font-size: calc(14px + var(--slope-1px) * 2);
  line-height: 1;
  display: flex;
  padding: 10px 15px;
  justify-content: center;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  background: var(--bg-color);
}

.p-staff-contents .ATC-shop-contents-staff-list-name > div {
  font-weight: 400;
}

.p-staff-contents .ATC-shop-contents-staff-list-qualification {
  margin-top: 30px;
  font-size: calc(12px + var(--slope-1px) * 2);
  color: var(--primary);
  padding-bottom: 20px;
}

.p-staff-contents .ATC-shop-contents-staff-list-qualification.is-empty {
  padding: 0;
  background: transparent;
}

.p-staff-contents .ATC-shop-contents-staff-list-comment {
  padding-top: 20px;
  border-top: 1px solid var(--light-gray);
}

.p-staff-contents .ATC-shop-contents-staff-list-comment.is-empty {
  padding: 0;
  background: transparent;
}

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

Blog

* ============================================================= */
/* p-blog-control
============================== */
.p-blog-control {
  display: flex;
  flex-direction: column;
  gap: calc(8px + var(--slope-1px) * 8);
  gap: 1em;
  width: 100%;
  margin-inline: auto;
  margin-block: 0 calc(32px + var(--slope-1px) * 16);
}

.p-blog-control > p {
  margin-block: var(--leading-trim);
}

.p-blog-control__head {
  flex-shrink: 0;
}

.p-blog-control__body {
  flex-grow: 1;
}

.p-blog-control__body select {
  max-width: 760px;
  width: 100%;
  padding: 1.25em calc(40px + var(--slope-1px) * 16) 1.25em 1.25em;
  border-radius: var(--base-border-radius);
  border: 0;
  background: var(--icon-angle-down) right calc(12px + var(--slope-1px) * 8) top 50%/1em 1em no-repeat var(--bg-color);
  color: var(--base-color);
  font-family: inherit;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
}

/* p-blog-pager
============================== */
.p-blog-pager {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  width: 100%;
  margin-top: calc(24px + var(--slope-1px) * 8);
  padding-top: calc(24px + var(--slope-1px) * 8);
  border-top: 1px solid var(--border-color);
}

.p-blog-pager__nav {
  display: flex;
  align-items: center;
  gap: 5px;
  text-decoration: none;
  transition: color .2s;
  margin-block: var(--leading-trim);
  display: inline-flex;
  align-items: center;
  text-decoration: underline;
  -webkit-text-decoration-color: transparent;
          text-decoration-color: transparent;
  text-decoration-thickness: 1px;
  transition: -webkit-text-decoration-color 0.1s ease;
  transition: text-decoration-color 0.1s ease;
  transition: text-decoration-color 0.1s ease, -webkit-text-decoration-color 0.1s ease;
  text-underline-offset: 0.25em;
}

.p-blog-pager__nav:hover {
  -webkit-text-decoration-color: currentColor;
          text-decoration-color: currentColor;
}

.p-blog-pager__nav:after {
  content: "";
  display: block;
  flex-shrink: 0;
  width: calc(15px + var(--slope-1px) * 1);
  height: calc(15px + var(--slope-1px) * 1);
  -webkit-mask: var(--icon-angle) 50% 50%/contain no-repeat;
          mask: var(--icon-angle) 50% 50%/contain no-repeat;
  background: currentColor;
}

.p-blog-pager__nav._prev {
  margin-right: auto;
}

.p-blog-pager__nav._prev:after {
  order: -1;
}

.p-blog-pager__nav._next {
  margin-left: auto;
}

.p-blog-pager__nav._next:after {
  transform: rotate(180deg);
}

/* p-blog-button-grid
============================== */
.p-blog-button-grid {
  margin-block: calc(20px + var(--slope-1px) * 20) 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr));
  gap: 10px;
  max-width: 890px;
  align-items: center;
  justify-content: center;
  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  .p-blog-button-grid._x1 {
    grid-template-columns: min(100%, 290px);
  }
  .p-blog-button-grid._x2 {
    grid-template-columns: min(100%, 290px) min(100%, 290px);
  }
  .p-blog-button-grid._x3 {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr));
  }
}

@media screen and (max-width: 767px) {
  .p-blog-button-grid {
    margin-top: 20px;
    grid-template-columns: 100%;
    min-width: 290px;
    max-width: calc(290 / 375 * 100cqi);
    margin-inline: auto;
  }
}

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

Maintenance

* ============================================================= */
.p-maintenance-schedule-container {
  width: 100%;
  container-type: inline-size;
  margin-block-start: calc(var(--leading-trim) + calc(32px + var(--slope-1px) * 16));
  margin-block-end: calc(var(--leading-trim) + calc(40px + var(--slope-1px) * 32));
}

/* p-maintenance-schedule
============================== */
.p-maintenance-schedule {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(2, auto);
  gap: calc(100cqi / 1080 * 30) calc(100cqi / 1080 * 20);
  width: 100%;
  padding-right: calc(100cqi / 1080 * 18);
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule {
    grid-auto-flow: row;
    grid-template-columns: 78.13411% auto;
    grid-template-rows: auto;
    gap: 24px 4px;
    padding-bottom: 24px;
    padding-right: 0;
  }
}

.p-maintenance-schedule__main {
  display: flex;
  flex-direction: column;
  align-items: center;
  --color: var(--base-color);
  --bg-color: #fff;
  --text-color: var(--color);
  --_border-color: var(--color);
}

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

.p-maintenance-schedule__sub {
  position: relative;
  z-index: 1;
}

.p-maintenance-schedule__sub:nth-child(2) {
  z-index: 2;
}

.p-maintenance-schedule__head {
  width: 100%;
  position: relative;
  margin-bottom: calc(100cqi / 1080 * 40);
  flex-shrink: 0;
  min-width: 0;
  min-height: calc(100cqi / 1080 * 70);
  display: flex;
  align-items: center;
  z-index: 0;
}

.p-maintenance-schedule__head:not(:last-child) {
  flex-grow: 1;
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__head {
    width: 50px;
    min-height: 0;
    margin-bottom: 0;
    flex-grow: 0 !important;
  }
}

.p-maintenance-schedule__head:after {
  content: "";
  display: block;
  width: 150%;
  height: calc(100cqi / 1080 * 30);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  left: 50%;
  background: var(--border-color);
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__head:after {
    width: 24px;
    height: 100%;
    top: 50%;
    bottom: auto;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
}

.p-maintenance-schedule__main:nth-last-child(2) .p-maintenance-schedule__head:after {
  width: calc(50% + calc(100cqi / 1080 * 18));
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__main:nth-last-child(2) .p-maintenance-schedule__head:after {
    height: calc(50% + 24px);
    width: 24px;
  }
}

.p-maintenance-schedule__terms {
  width: calc(100cqi / 1080 * 70);
  margin: auto;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  outline: 2px solid #fff;
  color: #fff;
  background: var(--gray);
  border-radius: 5px;
  font-weight: 500;
  letter-spacing: -.02em;
  line-height: 1;
  z-index: 4;
  font-size: calc(100cqi / 1080 * 14);
  padding-top: .3em;
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__terms {
    flex-direction: column;
    width: 100%;
    font-size: 13px;
    padding-top: 0;
  }
}

.p-maintenance-schedule__terms em {
  font-size: calc(100cqi / 1080 * 24);
  font-family: var(--en-font-family);
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__terms em {
    font-size: 22px;
    display: block;
  }
}

.p-maintenance-schedule__terms > em {
  position: relative;
}

._first .p-maintenance-schedule__terms {
  background: var(--white);
  color: var(--base-color);
  outline: 2px solid var(--border-color);
  padding-top: 0;
}

@media screen and (max-width: 767px) {
  ._first .p-maintenance-schedule__terms {
    line-height: 130%;
    font-size: 14px;
  }
  ._first .p-maintenance-schedule__terms span {
    display: block;
    margin-block: var(--leading-trim);
  }
}

:is(._12month, ._inspection) .p-maintenance-schedule__terms {
  background: var(--dark-color);
}

.p-maintenance-schedule__terms svg {
  width: auto;
}

.p-maintenance-schedule__body {
  font-size: calc(100cqi / 1080 * 16);
  font-weight: 700;
  color: var(--text-color);
  font-family: var(--en-font-family);
  background: var(--bg-color);
  border: 2px solid var(--_border-color);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  text-decoration: none;
  line-height: 1;
  height: calc(100cqi / 1080 * 230);
  width: calc(100cqi / 1080 * 62);
  border-radius: calc(100cqi / 1080 * 10);
  padding: calc(100cqi / 1080 * 24) 0 calc(100cqi / 1080 * 45);
  position: relative;
  letter-spacing: 0.45px;
  z-index: 3;
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__body {
    font-size: 15px;
    flex-direction: row;
    height: 50px;
    padding: 0 14px;
    margin-left: 28px;
    flex-grow: 1;
    border-radius: calc(5px + var(--slope-1px) * 5);
  }
}

.p-maintenance-schedule__body:before {
  content: "";
  background: currentColor;
  display: block;
  width: 2px;
  height: calc(2px + calc(100cqi / 1080 * 40));
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__body:before {
    height: 2px;
    width: 30px;
    top: 0;
    left: auto;
    right: 100%;
    bottom: 0;
    margin: auto 0;
    padding-top: 0;
  }
}

.p-maintenance-schedule__body[href] {
  transition: filter 0.3s var(--animation);
}

.p-maintenance-schedule__body[href]:hover {
  filter: brightness(0.92);
}

.p-maintenance-schedule__body[href]:after {
  content: "";
  display: block;
  width: calc(100cqi / 1080 * 18);
  aspect-ratio: 1/1;
  position: absolute;
  bottom: calc(100cqi / 1080 * 16);
  left: 0;
  right: 0;
  margin: 0 auto;
  background: currentColor;
  -webkit-mask: var(--icon-arrow) 50% 50%/contain no-repeat;
          mask: var(--icon-arrow) 50% 50%/contain no-repeat;
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__body[href]:after {
    width: 14px;
    left: auto;
    right: 14px;
    top: 0;
    bottom: 0;
    margin: auto 0;
  }
}

.p-maintenance-schedule__service {
  font-weight: 500;
  font-size: calc(100cqi / 1080 * 16);
  padding-block: calc(10px + var(--leading-trim));
  line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  width: calc(100cqi / 1080 * 85);
  margin-right: calc(100cqi / 1080 * -13);
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__service {
    padding-block: calc(8px + var(--leading-trim));
    line-height: 1.4;
    font-size: 13px;
    bottom: 0;
    left: 0;
    width: 100%;
    margin-right: 0;
  }
}

.p-maintenance-schedule__foot:last-child .p-maintenance-schedule__options div:after {
  width: calc(50% + calc(100cqi / 1080 * 18));
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__foot:last-child .p-maintenance-schedule__options div:after {
    content: none;
  }
}

.p-maintenance-schedule__options {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__options {
    flex-direction: row;
    max-width: 80%;
    margin: 0 auto;
  }
}

.p-maintenance-schedule__options > div {
  position: relative;
}

.p-maintenance-schedule__options > div._ciao {
  --color: var(--ciao-color);
}

.p-maintenance-schedule__options > div._mamoru {
  --color: var(--mamoru-color);
}

.p-maintenance-schedule__options > div:before {
  content: "";
  display: block;
  width: calc(100cqi / 1080 * 16);
  aspect-ratio: 1;
  opacity: 0;
  margin: 0 auto;
  border-radius: 50%;
  z-index: 1;
  position: relative;
  background: var(--color);
}

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__options > div:before {
    width: 13px;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
  }
}

.p-maintenance-schedule__options > div._on:before {
  opacity: 1;
}

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

@media screen and (max-width: 767px) {
  .p-maintenance-schedule__options > div:after {
    width: 1px;
    height: calc(100% + 24px);
    left: 0;
    right: 0;
    top: 50%;
    bottom: auto;
    margin: 0 auto;
  }
}

/* p-maintenance-schedule-note
============================== */
.p-maintenance-schedule-note {
  margin-block-start: calc(var(--leading-trim) + calc(16px + var(--slope-1px) * 16));
  display: grid;
  grid-template-columns: 1fr;
  margin-block-end: var(--leading-trim);
  font-size: 14px;
  text-align: right;
}

/* p-maintenance-menu-grid
============================== */
.p-maintenance-menu-grid {
  display: grid;
  gap: calc(16px + var(--slope-1px) * 5);
  --item-width: 346px;
  grid-template-columns: repeat(auto-fill, minmax(min(var(--item-width), 100%), 1fr));
}

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

/* c-maintenance-card
============================== */
.c-maintenance-card {
  border: 2px solid var(--border-color);
  border-radius: var(--frame-border-radius);
  background: #fff;
  overflow: hidden;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 0;
  position: relative;
}

.c-maintenance-card__image {
  aspect-ratio: 346 / 220;
  width: 100%;
  height: 100%;
}

.c-maintenance-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-maintenance-card__contents {
  grid-template-rows: subgrid;
  grid-row: span 3;
  padding: calc(24px + var(--slope-1px) * 8) 24px;
  display: grid;
  gap: calc(20px + var(--slope-1px) * 4);
}

.c-maintenance-card__body {
  display: grid;
  grid-template-columns: 1fr;
  margin-block: var(--leading-trim);
}

.c-maintenance-card__foot {
  display: flex;
  justify-content: center;
}

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

Inspection

* ============================================================= */
/* p-inspection-text
============================== */
.p-inspection-text {
  font-size: calc(14px + var(--slope-1px) * 2);
  margin-block: var(--leading-trim);
  line-height: 1.8;
}

.p-inspection-text:not(:first-child) {
  margin-top: calc(40px + var(--slope-1px) * 16 + var(--leading-trim));
}

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

check

* ============================================================= */
/* p-check-option-table
============================== */
.p-check-option-table {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 40px 0;
  font-size: calc(14px + var(--slope-1px) * 2);
  text-align: center;
}

.p-check-option-table__item {
  grid-column: span 3;
  background: #fff;
  border-top: 1px solid var(--base-color);
  border-bottom: 1px solid var(--base-color);
  border-left: 1px solid var(--base-color);
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  gap: 0;
}

.p-check-option-table__item:is(._01, ._02, ._03, ._12, ._13, ._14) {
  grid-column: span 4;
}

.p-check-option-table__item:is(._03, ._07, ._11, ._14) {
  border-right: 1px solid var(--base-color);
}

.p-check-option-table__head {
  background: var(--gray);
  color: #fff;
  padding: calc(20px + var(--leading-trim)) 20px;
  font-weight: 700;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .4em;
}

.p-check-option-table__head span {
  font-size: calc(11px + var(--slope-1px) * 1);
}

.p-check-option-table__body {
  padding: 20px;
  font-weight: 300;
  line-height: 1.5;
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: calc(11px + var(--slope-1px) * 4);
}

.p-check-option-table__body > * {
  margin-block: var(--leading-trim);
}

.p-check-option-table__body > * small {
  font-size: calc(12px + var(--slope-1px) * 1);
}

/* p-check-option-notes
============================== */
.p-check-option-notes {
  margin-block: calc(20px + var(--leading-trim));
  line-height: 1.8;
  font-size: calc(12px + var(--slope-1px) * 1);
}

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

Ciao

* ============================================================= */
/* p-ciao-heading
============================== */
.p-ciao-heading {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  line-height: 1.8;
  text-align: center;
  margin-block-end: calc(40px + var(--slope-1px) * 56);
}

.p-ciao-heading__logo {
  width: min(500px, 100%);
  margin-inline: auto;
}

@media screen and (max-width: 767px) {
  .p-ciao-heading__logo {
    width: 75.5102%;
  }
}

.p-ciao-heading__lead {
  font-size: calc(15px + var(--slope-1px) * 1);
  margin-block: var(--leading-trim);
  word-break: keep-all;
  overflow-wrap: anywhere;
}

/* p-ciao-table-container
============================== */
.p-ciao-table-container {
  position: relative;
  width: 100%;
  --_contents-padding-inline:var(--inner-padding);
}

@media screen and (max-width: 767px) {
  .p-ciao-table-container {
    overflow-x: scroll;
    background-color: #fff;
    width: calc(100% + var(--_contents-padding-inline));
    background: linear-gradient(to left, rgba(255, 255, 255, 0), #fff 15px) 0 0/50px 100%, linear-gradient(to left, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.2)) 0 0/20px 100%, linear-gradient(to right, rgba(255, 255, 255, 0), #fff 15px) right/50px 100%, linear-gradient(to right, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.2)) right/20px 100%;
    background-repeat: no-repeat;
    background-attachment: local, scroll, local, scroll;
  }
}

@media screen and (max-width: 767px) {
  .p-ciao-table-container__scroll {
    min-width: 50em;
  }
}

/* p-ciao-cycle
======================================*/
.p-ciao-cycle {
  border: 1px solid var(--border-color);
}

@media screen and (max-width: 767px) {
  .p-ciao-cycle {
    margin-top: 44px;
  }
}

.p-ciao-cycle-table {
  width: 100%;
  height: 100%;
  border-collapse: collapse;
  border-top: 1px solid var(--border-color);
  border-right: 1px solid var(--border-color);
  font-family: var(--number-font-family);
}

.p-ciao-cycle-table :is(th, td) {
  padding: 6px 0;
  border-bottom: 1px solid var(--border-color);
  border-left: 1px solid var(--border-color);
  vertical-align: middle;
  text-align: center;
}

.p-ciao-cycle-table th {
  font-weight: 500;
  font-size: 15px;
}

.p-ciao-cycle-table th small {
  display: block;
  padding-top: 1.2em;
  font-size: .8em;
}

.p-ciao-cycle-table td div {
  position: relative;
  width: 100%;
  height: 18px;
}

.p-ciao-cycle-table td div span {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  display: flex;
  align-items: center;
  width: calc((100% + 1px) * var(--column) - 12px - 4px);
  height: 18px;
  padding: 0 0 0 5px;
  background: var(--color);
  color: #fff;
  text-align: left;
  font-size: 11px;
  transition: width .8s, font-size 0s .8s;
}

.p-ciao-cycle-table td div span:after {
  border-left-width: 12px;
  border-left-style: solid;
  border-left-color: var(--color);
}

.p-ciao-cycle-table td div span:after {
  content: "";
  position: absolute;
  top: 0;
  right: -12px;
  display: block;
  width: 0;
  height: 0;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
}

.p-ciao-cycle-table abbr[title] {
  border-bottom: none;
  text-decoration: none;
  cursor: auto;
}

.p-ciao-cycle-table__row {
  width: 100%;
  vertical-align: middle;
  text-align: center;
}

.p-ciao-cycle-table__row:is(._ss) {
  --color: #06a27b;
}

.p-ciao-cycle-table__row:is(._ls, ._lt) {
  --color: #e60012;
}

.p-ciao-cycle-table__row:is(._ks, ._kt) {
  --color: #aea64b;
}

.p-ciao-cycle-table__row:is(._5s, ._4s, ._3s, ._2s, ._1s) {
  --color: #f78320;
}

.p-ciao-cycle-table__row:is(._5t, ._4t, ._3t, ._2t) {
  --color: #028bd1;
}

.p-ciao-cycle-table__row:is(._ss) > td:nth-child(12) > div > span {
  width: 100%;
}

.p-ciao-cycle-table__row:is(._ss) > td:nth-child(12) > div > span:after {
  content: none;
}

.p-ciao-cycle-table__row:is(._ls) {
  --column: 10;
}

.p-ciao-cycle-table__row:is(._lt) {
  --column: 9;
}

.p-ciao-cycle-table__row:is(._ks) {
  --column: 8;
}

.p-ciao-cycle-table__row:is(._kt) {
  --column: 7;
}

.p-ciao-cycle-table__row:is(._5s) {
  --column: 6;
}

.p-ciao-cycle-table__row:is(._4s, ._5t) {
  --column: 5;
}

.p-ciao-cycle-table__row:is(._ss, ._3s, ._4t) {
  --column: 4;
}

.p-ciao-cycle-table__row:is(._2s, ._3t) {
  --column: 3;
}

.p-ciao-cycle-table__row:is(._1s, ._2t) {
  --column: 2;
}

.p-ciao-cycle-table__row th[rowspan] {
  background: #F1F1F1;
}

.p-ciao-cycle-table__row[class$=s] th[rowspan] {
  background: #D4EBFF;
}

.p-ciao-cycle-table__row[class$=s] th:last-of-type {
  color: #0168B7;
}

.p-ciao-cycle-table__row[class$=t] th[rowspan] {
  background: #FFD4DB;
}

.p-ciao-cycle-table__row[class$=t] th:last-of-type {
  color: #DD203F;
}

.p-ciao-cycle-table__row._header i {
  display: none;
  font-style: normal;
}

.p-ciao-cycle-table__row._subheader :is(th, td) {
  border-top: 1px solid var(--border-color);
}

.p-ciao-cycle-table__row._expendable td {
  color: #0168B7;
  font-size: 15px;
  font-family: var(--base-font-family);
}

.p-ciao-cycle--abstract tbody .p-ciao-cycle-table__row :is(th, td) {
  border-top: 1px solid var(--border-color);
}

/* p-ciao-cycle--all */
.p-ciao-cycle--all .p-ciao-cycle-table th {
  width: 115px;
  line-height: 1.2;
  font-size: calc(15px + var(--slope-1px) * 1);
  padding-block: calc(var(--leading-trim) + 1em);
}

.p-ciao-cycle--all .p-ciao-cycle-table th[rowspan] {
  width: 80px;
}

.p-ciao-cycle--all .p-ciao-cycle-table .p-ciao-cycle-table__row._expendable th[rowspan] {
  background: #F1F1F1;
}

.p-ciao-cycle--all .p-ciao-cycle-table .p-ciao-cycle-table__row._header th:not(:first-child) {
  width: 49px;
}

.p-ciao-cycle--all .p-ciao-cycle-table .p-ciao-cycle-table__row._header th {
  padding-block: calc(var(--leading-trim) + 0.8125em);
}

.p-ciao-cycle--all .p-ciao-cycle-table .p-ciao-cycle-table__row._header th:first-child {
  width: 194px;
  border-right: 1px solid var(--border-color);
}

.p-ciao-cycle--all .p-ciao-cycle-table__row._course th:last-of-type,
.p-ciao-cycle--all .p-ciao-cycle-table__row._expendable th:last-of-type {
  border-right: 1px solid var(--border-color);
}

.p-ciao-cycle--all .p-ciao-cycle-table__row._5s span,
.p-ciao-cycle--all .p-ciao-cycle-table__row._5t span,
.p-ciao-cycle--all .p-ciao-cycle-table__row._3s span,
.p-ciao-cycle--all .p-ciao-cycle-table__row._2s span,
.p-ciao-cycle--all .p-ciao-cycle-table__row._1s span,
.p-ciao-cycle--all .p-ciao-cycle-table__row._3t span,
.p-ciao-cycle--all .p-ciao-cycle-table__row._2t span {
  font-size: 0;
}

.p-ciao-cycle--all .p-ciao-cycle-table__row._course > th > span._star {
  font-size: calc(15px + var(--slope-1px) * 1);
  color: var(--base-color);
}

.p-ciao-cycle--ss .p-ciao-cycle-table__row._course.p-ciao-cycle-table__row._ss,
.p-ciao-cycle--ls .p-ciao-cycle-table__row._course.p-ciao-cycle-table__row._ls,
.p-ciao-cycle--ks .p-ciao-cycle-table__row._course.p-ciao-cycle-table__row._ks,
.p-ciao-cycle--5s .p-ciao-cycle-table__row._course.p-ciao-cycle-table__row._5s,
.p-ciao-cycle--4s .p-ciao-cycle-table__row._course.p-ciao-cycle-table__row._4s,
.p-ciao-cycle--3s .p-ciao-cycle-table__row._course.p-ciao-cycle-table__row._3s,
.p-ciao-cycle--2s .p-ciao-cycle-table__row._course.p-ciao-cycle-table__row._2s,
.p-ciao-cycle--1s .p-ciao-cycle-table__row._course.p-ciao-cycle-table__row._1s,
.p-ciao-cycle--lt .p-ciao-cycle-table__row._course.p-ciao-cycle-table__row._lt,
.p-ciao-cycle--kt .p-ciao-cycle-table__row._course.p-ciao-cycle-table__row._kt,
.p-ciao-cycle--5t .p-ciao-cycle-table__row._course.p-ciao-cycle-table__row._5t,
.p-ciao-cycle--4t .p-ciao-cycle-table__row._course.p-ciao-cycle-table__row._4t,
.p-ciao-cycle--3t .p-ciao-cycle-table__row._course.p-ciao-cycle-table__row._3t,
.p-ciao-cycle--2t .p-ciao-cycle-table__row._course.p-ciao-cycle-table__row._2t,
.p-ciao-cycle--5s .p-ciao-cycle-table__row._course.p-ciao-cycle-table__row._ls,
.p-ciao-cycle--5t .p-ciao-cycle-table__row._course.p-ciao-cycle-table__row._lt {
  display: table-row;
}

.p-ciao-cycle-table__row._header > th:nth-child(2) {
  position: relative;
}

.p-ciao-cycle-table__row._header > th:nth-child(2)::before {
  content: "\0065b0\008eca\008cfc\005165";
  width: 6em;
  position: absolute;
  top: -24px;
  left: 0;
  transform: translateX(-50%) translateY(-100%);
  display: block;
  margin-block: var(--leading-trim);
}

.p-ciao-cycle-table__row._header > th:nth-child(2)::after {
  content: "";
  width: 2px;
  height: 12px;
  border-radius: var(--ovall-radius);
  background: var(--dark-color);
  position: absolute;
  top: -10px;
  left: 0;
  transform: translateX(-50%) translateY(-100%);
}

.p-ciao-cycle-table__row._header > th:nth-child(3) {
  position: relative;
}

.p-ciao-cycle-table__row._header > th:nth-child(3)::before {
  content: "\0031\005e74";
  position: absolute;
  top: -24px;
  left: 0;
  right: 0;
  margin-inline: auto;
  transform: translateY(-100%);
  display: block;
  margin-block: var(--leading-trim);
}

.p-ciao-cycle-table__row._header > th:nth-child(3)::after {
  content: "";
  width: 2px;
  height: 12px;
  border-radius: var(--ovall-radius);
  background: var(--dark-color);
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  margin-inline: auto;
  transform: translateY(-100%);
}

.p-ciao-cycle-table__row._header > th:nth-child(5) {
  position: relative;
}

.p-ciao-cycle-table__row._header > th:nth-child(5)::before {
  content: "\0032\005e74";
  position: absolute;
  top: -24px;
  left: 0;
  right: 0;
  margin-inline: auto;
  transform: translateY(-100%);
  display: block;
  margin-block: var(--leading-trim);
}

.p-ciao-cycle-table__row._header > th:nth-child(5)::after {
  content: "";
  width: 2px;
  height: 12px;
  border-radius: var(--ovall-radius);
  background: var(--dark-color);
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  margin-inline: auto;
  transform: translateY(-100%);
}

.p-ciao-cycle-table__row._header > th:nth-child(7) {
  position: relative;
}

.p-ciao-cycle-table__row._header > th:nth-child(7)::before {
  content: "\0033\005e74";
  position: absolute;
  top: -24px;
  left: 0;
  right: 0;
  margin-inline: auto;
  transform: translateY(-100%);
  display: block;
  margin-block: var(--leading-trim);
}

.p-ciao-cycle-table__row._header > th:nth-child(7)::after {
  content: "";
  width: 2px;
  height: 12px;
  border-radius: var(--ovall-radius);
  background: var(--dark-color);
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  margin-inline: auto;
  transform: translateY(-100%);
}

.p-ciao-cycle-table__row._header > th:nth-child(9) {
  position: relative;
}

.p-ciao-cycle-table__row._header > th:nth-child(9)::before {
  content: "\0034\005e74";
  position: absolute;
  top: -24px;
  left: 0;
  right: 0;
  margin-inline: auto;
  transform: translateY(-100%);
  display: block;
  margin-block: var(--leading-trim);
}

.p-ciao-cycle-table__row._header > th:nth-child(9)::after {
  content: "";
  width: 2px;
  height: 12px;
  border-radius: var(--ovall-radius);
  background: var(--dark-color);
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  margin-inline: auto;
  transform: translateY(-100%);
}

.p-ciao-cycle-table__row._header > th:nth-child(11) {
  position: relative;
}

.p-ciao-cycle-table__row._header > th:nth-child(11)::before {
  content: "\0035\005e74";
  position: absolute;
  top: -24px;
  left: 0;
  right: 0;
  margin-inline: auto;
  transform: translateY(-100%);
  display: block;
  margin-block: var(--leading-trim);
}

.p-ciao-cycle-table__row._header > th:nth-child(11)::after {
  content: "";
  width: 2px;
  height: 12px;
  border-radius: var(--ovall-radius);
  background: var(--dark-color);
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  margin-inline: auto;
  transform: translateY(-100%);
}

/* p-ciao-notes
============================== */
.p-ciao-notes {
  display: block;
  margin-block-start: calc(var(--leading-trim) + calc(24px + var(--slope-1px) * 8));
  margin-block-end: calc(var(--leading-trim) + 24px);
}

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

Carcare

* ============================================================= */
/* container
=============================== */
.p-carcare-container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 21px;
  margin-inline: auto;
  margin-top: calc(24px + var(--slope-1px) * 16);
}

@media screen and (max-width: 767px) {
  .p-carcare-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
}

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

.p-carcare-figure {
  overflow: hidden;
  position: relative;
  grid-column: span 3;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .p-carcare-figure {
    display: none;
    visibility: hidden;
  }
}

.p-carcare-figure__pointer {
  margin-block: -2px;
  max-width: 68.51852%;
}

.p-carcare-figure__image {
  max-width: 48.14815%;
  height: -moz-fit-content;
  height: fit-content;
  margin: auto;
  position: absolute;
  z-index: -1;
  inset: 0;
}

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

repair

* ============================================================= */
.p-repair-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px min(81px, calc(100cqi * 0.075));
  place-content: center;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .p-repair-list {
    grid-template-columns: 100%;
    gap: 48px;
  }
}

.p-repair-box {
  display: grid;
  grid-template-columns: 100%;
  position: relative;
  border-radius: var(--frame-border-radius);
  border: 2px solid var(--border-color);
  padding: 24px 20px;
  gap: calc(20px + var(--slope-1px) * 3);
  grid-template-rows: subgrid;
  grid-row: span 3;
}

@media screen and (max-width: 767px) {
  .p-repair-box {
    grid-template-rows: auto;
  }
}

.p-repair-box::after {
  content: "";
  position: absolute;
  transform: translateX(100%);
  right: -2px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100cqi * 0.075);
  max-width: 81px;
  height: 3.75em;
  -webkit-mask: var(--icon-arrow) 50% 50% / 37.03704% no-repeat;
          mask: var(--icon-arrow) 50% 50% / 37.03704% no-repeat;
  background: var(--white);
  margin-block: auto;
  top: 0;
  bottom: 0;
}

@media screen and (max-width: 767px) {
  .p-repair-box::after {
    height: 48px;
    width: 48px;
    rotate: 90deg;
    right: 0;
    left: 0;
    margin-inline: auto;
    bottom: 0;
    top: auto;
  }
}

.p-repair-box::before {
  content: "";
  position: absolute;
  transform: translateX(100%);
  right: -2px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100cqi * 0.075);
  max-width: 81px;
  height: 3.75em;
  background: radial-gradient(circle, var(--base-color) calc(100% / 2 - 1px), transparent calc(100% / 2));
  border-radius: 50%;
  margin-block: auto;
  top: 0;
  bottom: 0;
}

@media screen and (max-width: 767px) {
  .p-repair-box::before {
    top: auto;
    right: 0;
    left: 0;
    rotate: 90deg;
    margin-inline: auto;
    bottom: 0;
    height: 48px;
    width: 48px;
  }
}

@media screen and (min-width: 768px) {
  .p-repair-box:nth-child(3n):before,
  .p-repair-box:nth-child(3n):after {
    content: none;
  }
}

@media screen and (max-width: 767px) {
  .p-repair-box:last-child:before,
  .p-repair-box:last-child:after {
    content: none;
  }
}

.p-repair-box__head {
  margin-block-end: var(--leading-trim);
}

.p-repair-box-title {
  font-weight: 700;
  font-size: calc(16px + var(--slope-1px) * 2);
  display: block;
  margin-block: var(--leading-trim);
}

.p-repair-box-title ._number {
  color: var(--dark-color);
  font-size: 24px;
  font-family: var(--en-font-family);
}

.p-repair-box__text {
  display: block;
  margin-block: var(--leading-trim);
}

.p-repair-box__image {
  border-radius: calc(5px + var(--slope-1px) * 5);
  overflow: hidden;
}

.p-repair-box__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

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

bodycoating

* ============================================================= */
.p-coating-frame {
  border-radius: var(--frame-border-radius);
  overflow: hidden;
  border: 2px solid var(--border-color);
}

.p-coating-frame__table {
  padding-inline: calc(16px + var(--slope-1px) * 14);
  display: grid;
  grid-template-columns: 100%;
  gap: calc(16px + var(--slope-1px) * 8);
  margin-block: calc(32px + var(--slope-1px) * 24) calc(32px + var(--slope-1px) * 8);
  position: relative;
}

.p-coating-table thead th {
  padding: 1em 0.625em;
  line-height: 1.3;
}

.p-coating-frame__compare {
  margin-inline: auto;
  padding-inline: calc(16px + var(--slope-1px) * 14);
  padding-block-end: calc(24px + var(--slope-1px) * 16);
}

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

Insurance

* ============================================================= */
/* p-insurance-lead
============================== */
.p-insurance-lead {
  font-size: calc(16px + var(--slope-1px) * 4);
  font-weight: 500;
  margin-block: var(--leading-trim);
  color: var(--primary);
}

@media screen and (min-width: 768px) {
  .p-insurance-lead {
    word-break: keep-all;
    overflow-wrap: anywhere;
  }
}

/* p-insurance-inner-grid
============================================================ */
.p-insurance-plan-grid {
  display: grid;
  gap: calc(16px + var(--slope-1px) * 8);
  grid-template-columns: repeat(2, 1fr);
  margin-block-start: calc(24px + var(--slope-1px) * 8);
}

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

/* p-insurance-merit
============================================================ */
.p-insurance-merit {
  display: grid;
  grid-template-columns: 50% 47.03704%;
  justify-content: space-between;
  margin-block-start: calc(var(--leading-trim) + calc(32px + var(--slope-1px) * 24));
}

@media screen and (max-width: 767px) {
  .p-insurance-merit {
    grid-template-columns: 100%;
    gap: 16px;
  }
}

.p-insurance-merit__head {
  display: block;
  margin-block-end: calc(var(--leading-trim) + calc(16px + var(--slope-1px) * 8));
}

.p-insurance-merit__body {
  display: grid;
  grid-template-columns: 1fr 47.03704%;
  gap: 16px 32px;
}

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

.p-insurance-merit__grid {
  display: grid;
  grid-template-columns: 100%;
  gap: 16px;
}

.p-insurance-merit__item {
  border-radius: var(--frame-border-radius);
  border: 2px solid var(--Root---border-color, #BEBEBE);
  display: flex;
  padding: calc(24px + var(--slope-1px) * 8) calc(20px + var(--slope-1px) * 12);
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
}

.p-insurance-merit__title {
  font-weight: 700;
  font-size: calc(16px + var(--slope-1px) * 2);
  display: block;
  margin-block: var(--leading-trim) calc(var(--leading-trim) + calc(20px + var(--slope-1px) * 4));
}

.p-insurance-merit__title span {
  color: var(--dark-color);
  font-family: var(--en-font-family);
  line-height: .7;
  padding-top: .275em;
  font-size: 24px;
  font-weight: 700;
  margin-right: 8px;
  position: relative;
  top: .025em;
}

.p-insurance-merit-notice {
  padding: calc(var(--leading-trim) + calc(18px + var(--slope-1px) * 2)) calc(16px + var(--slope-1px) * 2);
  border-radius: var(--base-border-radius);
  background: var(--bg-color);
  display: grid;
  grid-template-columns: 100%;
  gap: 16px;
  width: 100%;
  margin-block: calc(var(--leading-trim) + 16px);
}

.p-insurance-merit-notice__head {
  margin-block: var(--leading-trim);
  display: block;
  color: #000;
  font-size: 12px;
  font-weight: 700;
}

.p-insurance-merit-notice__body {
  display: block;
}

.p-insurance-merit__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.66667em;
  font-size: 12px;
}

.p-insurance-merit__list > li {
  --_dots-size: 6px;
  margin-block: var(--leading-trim);
  font-size: 12px;
  padding-left: calc(var(--_dots-size) + 5px);
  position: relative;
  font-weight: 500;
}

.p-insurance-merit__list > li::before {
  content: "";
  position: absolute;
  top: calc(1lh/2 - var(--_dots-size)/2);
  left: 0;
  display: block;
  width: var(--_dots-size);
  height: var(--_dots-size);
  border-radius: 50%;
  background: var(--dark-color);
  margin-block: auto;
}

.p-insurance-merit__notes {
  display: block;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
}

.p-insurance-merit__notes a {
  transition: all .2s ease-out;
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  -webkit-text-decoration-style: solid;
          text-decoration-style: solid;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  text-decoration-thickness: 1px;
  text-underline-offset: auto;
  text-underline-position: from-font;
  -webkit-text-decoration-color: currentColor;
          text-decoration-color: currentColor;
}

.p-insurance-merit__notes a:hover {
  -webkit-text-decoration-color: transparent;
          text-decoration-color: transparent;
}

.p-insurance-merit__image {
  height: -moz-fit-content;
  height: fit-content;
}

.p-insurance-merit__image img {
  border-radius: var(--frame-border-radius);
}

@media screen and (max-width: 767px) {
  .p-insurance-merit__image {
    width: 100%;
  }
  .p-insurance-merit__image img {
    width: 100%;
  }
}

/* p-insurance-plan-frame
============================================================ */
.p-insurance-plan-frame {
  border: 2px solid var(--border-color);
  border-radius: var(--frame-border-radius);
  background: #fff;
  padding-inline: calc(32px + var(--slope-1px) * 8);
  padding-block: calc(24px + var(--slope-1px) * 8);
}

.p-insurance-plan-frame__head {
  display: inline-flex;
  align-items: center;
  text-align: center;
  justify-content: center;
  width: 100%;
  font-size: calc(18px + var(--slope-1px) * 6);
  font-weight: 700;
  padding-bottom: calc(var(--leading-trim) + 24px);
}

.p-insurance-plan-frame__lead {
  margin-block: var(--leading-trim);
  font-size: calc(15px + var(--slope-1px) * 1);
  color: var(--primary);
  text-align: center;
  font-weight: 500;
  margin-bottom: calc(var(--leading-trim) + calc(24px + var(--slope-1px) * 8));
}

.p-insurance-plan-frame__body {
  border-top: 1px solid var(--border-color);
  padding-block-start: calc(24px + var(--slope-1px) * 8);
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.p-insurance-plan-frame__text {
  margin-block: var(--leading-trim);
  font-size: calc(16px + var(--slope-1px) * 2);
  font-weight: 700;
  line-height: 165%;
}

.p-insurance-plan-frame__text em {
  color: var(--Root---red, #F15E5E);
  font-style: normal;
}

.p-insurance-plan-frame__text:not(:first-child) {
  margin-top: 1em;
}

.p-insurance-plan-frame__text:not(:last-child) {
  margin-bottom: calc(20px + var(--slope-1px) * 10);
}

.p-insurance-plan-frame__desc {
  font-weight: 700;
  text-align: center;
}

/* p-insurance-notes
============================================================ */
.p-insurance-notes {
  font-size: calc(12px + var(--slope-1px) * 1);
  margin-top: calc(var(--leading-trim) + calc(16px + var(--slope-1px) * 8));
}

.p-insurance-notes > li:before {
  content: "\203b";
}

.p-insurance-notes + .p-insurance-notes {
  margin-top: 1em;
}

/* p-insurance-anshin
============================================================ */
.p-insurance-anshin-image > img {
  width: 100%;
}

/* p-insurance-anshin
============================== */
.p-insurance-anshin {
  margin-block-start: calc(var(--leading-trim) + calc(24px + var(--slope-1px) * 8));
}

/* p-insurance-anshin-header
============================== */
.p-insurance-anshin-header {
  border-radius: var(--frame-border-radius);
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  position: relative;
  border: 2px solid var(--border-color);
  padding-block: calc(32px + var(--slope-1px) * -8);
  padding-inline: calc(20px + var(--slope-1px) * 4);
}

@media screen and (min-width: 768px) {
  .p-insurance-anshin-header {
    grid-column: span 2;
  }
}

@media screen and (max-width: 767px) {
  .p-insurance-anshin-header {
    grid-template-columns: 100%;
    gap: 0;
  }
}

.p-insurance-anshin-header__head {
  text-align: center;
  font-size: calc(18px + var(--slope-1px) * 2);
  font-weight: 700;
  height: 100%;
  display: grid;
  align-items: center;
  justify-content: center;
  color: var(--dark-color);
}

@media screen and (min-width: 768px) {
  .p-insurance-anshin-header__head {
    padding-inline-end: 16px;
  }
}

@media screen and (max-width: 767px) {
  .p-insurance-anshin-header__head {
    line-height: 1;
  }
}

.p-insurance-anshin-header__body {
  background: #fff;
  color: var(--base-color);
  display: flex;
  flex-wrap: wrap;
  font-size: 16px;
  gap: 0 1em;
}

@media screen and (min-width: 768px) {
  .p-insurance-anshin-header__body {
    justify-content: flex-start;
    padding-inline-start: calc(24px + var(--slope-1px) * -8);
    border-left: 1px solid var(--border-color);
  }
}

@media screen and (max-width: 767px) {
  .p-insurance-anshin-header__body {
    justify-content: center;
    border-top: 1px solid var(--border-color);
    margin-block-start: calc(var(--leading-trim) + 20px);
    padding-block-start: calc(var(--leading-trim) + 20px);
  }
}

.p-insurance-anshin-header__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: calc(16px + var(--slope-1px) * 8);
}

@media screen and (min-width: 768px) {
  .p-insurance-anshin-header__list {
    justify-content: flex-start;
  }
}

@media screen and (max-width: 767px) {
  .p-insurance-anshin-header__list {
    justify-content: center;
    max-width: 18em;
  }
}

.p-insurance-anshin-header__list > li {
  margin-block: var(--leading-trim);
}

.p-insurance-anshin-plus {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: var(--base-color);
  color: #fff;
  font-weight: bold;
  line-height: 1;
  margin: 0 auto;
  height: calc(32px + var(--slope-1px) * 16);
  width: calc(32px + var(--slope-1px) * 16);
  position: relative;
  margin-block: calc(8px + var(--slope-1px) * 2);
}

.p-insurance-anshin-plus:before, .p-insurance-anshin-plus:after {
  content: "";
  display: block;
  width: calc(17px + var(--slope-1px) * 8);
  height: calc(3px + var(--slope-1px) * 1);
  background: currentColor;
  position: absolute;
  inset: 0;
  margin: auto;
  border-radius: var(--ovall-radius);
}

.p-insurance-anshin-plus:after {
  transform: rotate(90deg);
}

/* p-insurance-anshin-grid
============================== */
.p-insurance-anshin-grid {
  border-radius: var(--frame-border-radius);
  background: var(--white);
  padding: 32px calc(20px + var(--slope-1px) * 4) 24px;
  display: grid;
  grid-template-columns: 67.74194% 1fr;
  align-items: center;
  gap: 16px;
  border: 2px solid var(--border-color);
}

@media screen and (max-width: 1080px) {
  .p-insurance-anshin-grid {
    grid-template-columns: 1fr 1fr;
  }
}

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

/* p-insurance-anshin-frame
============================== */
.p-insurance-anshin-frame__head {
  font-size: calc(18px + var(--slope-1px) * 2);
  font-weight: 700;
  text-align: center;
  margin-block: var(--leading-trim);
  color: #00A83B;
}

@media screen and (max-width: 767px) {
  .p-insurance-anshin-frame__head {
    line-height: 1;
  }
}

.p-insurance-anshin-frame__body {
  font-size: calc(15px + var(--slope-1px) * 1);
  text-align: center;
  border-top: 1px solid var(--border-color);
  margin-block: calc(var(--leading-trim) + calc(20px + var(--slope-1px) * 4));
  padding-block-start: calc(var(--leading-trim) + calc(20px + var(--slope-1px) * 4));
}

.p-insurance-anshin-frame__body > p {
  padding-inline: clamp(0px, -30.61224px + 8.16327vw, 32px);
  word-break: keep-all;
  overflow-wrap: anywhere;
}

@media screen and (max-width: 1080px) {
  .p-insurance-anshin-frame__body > p {
    padding-inline: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-insurance-anshin-frame__body {
    text-align: center;
  }
}

.p-insurance-anshin-frame__image {
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-insurance-anshin-frame__image img {
  width: 100%;
}

/* p-insurance-anshin-premium
============================== */
.p-insurance-anshin-premium {
  border-radius: var(--frame-border-radius);
  padding: 24px calc(20px + var(--slope-1px) * 4);
  display: grid;
  grid-template-columns: 100%;
  align-items: center;
  background: #EBECF2;
  height: 100%;
  place-content: center;
}

.p-insurance-anshin-premium__head {
  font-size: calc(16px + var(--slope-1px) * 4);
  font-weight: 700;
  text-align: center;
  margin-block: var(--leading-trim) calc(var(--leading-trim) + calc(24px + var(--slope-1px) * 8));
}

.p-insurance-anshin-premium__lead {
  font-size: calc(15px + var(--slope-1px) * 1);
  margin-block: var(--leading-trim);
  text-align: center;
}

.p-insurance-anshin-premium__lead em {
  font-size: 20px;
  color: #025094;
  font-weight: 700;
}

.p-insurance-anshin-premium__notes {
  font-size: calc(12px + var(--slope-1px) * 2);
  margin-block-start: calc(var(--leading-trim) + calc(20px + var(--slope-1px) * 4));
  padding-top: calc(var(--leading-trim) + calc(20px + var(--slope-1px) * 10));
  border-top: 1px solid var(--border-color);
}

.p-insurance-anshin__desc {
  text-align: center;
  font-weight: 700;
  margin-block-start: calc(var(--leading-trim) + calc(16px + var(--slope-1px) * 8));
}

/* p-insurance-1day
============================================================ */
.p-insurance-1day {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(16px + var(--slope-1px) * 8);
}

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

.p-insurance-1day-frame {
  grid-template-rows: subgrid;
  grid-row: span 2;
  padding: calc(24px + var(--slope-1px) * 8) calc(20px + var(--slope-1px) * 12);
  gap: calc(20px + var(--slope-1px) * 4);
  display: grid;
  grid-template-columns: 100%;
  border: 2px solid var(--border-color);
  border-radius: var(--frame-border-radius);
}

.p-insurance-1day-frame__head {
  display: block;
  margin-block: var(--leading-trim);
  font-weight: 700;
}

.p-insurance-1day-frame__body {
  display: block;
  margin-block: var(--leading-trim);
}

.p-insurance-1day-list {
  margin-block: var(--leading-trim);
}

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

.p-insurance-1day-list > li:before {
  padding-inline: .25em;
  content: "\30fb";
}

/* p-insurance-qr
============================================================ */
.p-insurance-qr {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  border-radius: var(--base-border-radius);
  padding: 30px 20px;
  gap: 20px 40px;
  border: 2px solid var(--border-color);
}

@media screen and (max-width: 560px) {
  .p-insurance-qr {
    display: none;
  }
}

.p-insurance-qr:not(:first-child) {
  margin-top: calc(var(--inner-padding) / 2);
}

.p-insurance-qr__logo {
  grid-template-columns: 3fr 1.2fr;
  max-width: 436px;
  display: grid;
  gap: 20px;
}

.p-insurance-qr__code {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 6px;
  border: 1px solid var(--light-gray);
  background: var(--all-white, #FFF);
  aspect-ratio: 1;
  overflow: hidden;
}

.p-insurance-qr__code img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
}

.p-insurance-qr__head {
  display: block;
  margin-block: var(--leading-trim);
}

.p-insurance-qr__body {
  margin-top: 2em;
  font-size: 12px;
}

.p-insurance-qr__notes {
  margin-block: var(--leading-trim);
}

.p-insurance-qr__notes > li {
  display: flex;
}

.p-insurance-qr__notes > li:before {
  content: "\203b";
}

/* p-insurance-1day-banner
============================================================ */
.p-insurance-1day-banner-container {
  display: none;
}

@media screen and (max-width: 560px) {
  .p-insurance-1day-banner-container {
    margin-top: var(--inner-padding);
    display: flex;
    justify-content: center;
    flex-direction: column;
    border: 2px solid var(--border-color);
    border-radius: var(--frame-border-radius);
    padding: 32px 24px;
  }
}

.p-insurance-1day-banner {
  display: grid;
  align-items: center;
  margin-inline: auto;
  text-decoration: none;
  transition: opacity .2s ease-out;
}

.p-insurance-1day-banner__logo {
  aspect-ratio: 5/2;
  display: flex;
  padding: 20px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 5px;
  border: 1px solid var(--border-color);
  background: var(--all-white, #FFF);
}

@media screen and (max-width: 560px) {
  .p-insurance-1day-banner__logo {
    aspect-ratio: unset;
  }
}

@media screen and (max-width: 767px) {
  .p-insurance-1day-banner {
    grid-template-columns: 100%;
  }
}

@media screen and (max-width: 560px) {
  .p-insurance-1day-banner {
    width: 100%;
    gap: 20px;
  }
}

.p-insurance-1day-banner:hover {
  opacity: .8;
}

.p-insurance-1day-banner__button {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.p-insurance-1day-banner__button > p {
  margin-block: var(--leading-trim);
  display: block;
}

.p-insurance-1day-banner .c-button {
  opacity: 1 !important;
}

@media screen and (max-width: 560px) {
  .p-insurance-1day-banner .c-button {
    width: 100%;
  }
}

/* p-insurance-logo-banner
============================================================ */
.p-insurance-logo-grid {
  display: flex;
  align-items: center;
  gap: 14px;
}

@media screen and (max-width: 560px) {
  .p-insurance-logo-grid {
    flex-direction: column;
  }
}

.p-insurance-logo-banner {
  flex-basis: 350px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  height: calc(80px + var(--slope-1px) * 30);
  border: 2px solid var(--base-color);
  border-radius: var(--base-border-radius);
  position: relative;
  padding-block: 16px;
  transition: filter 0.3s var(--animation);
}

@media screen and (max-width: 560px) {
  .p-insurance-logo-banner {
    flex-basis: auto;
    width: 100%;
  }
}

.p-insurance-logo-banner img {
  --width: 241;
  --height: 66;
  width: calc(var(--width) * 1px);
  max-width: calc(100% * var(--width) / 343);
  height: calc(100% * var(--height) / 78);
  -o-object-fit: contain;
     object-fit: contain;
}

@media screen and (max-width: 767px) {
  .p-insurance-logo-banner img {
    --width:240;
    --height: 33;
  }
}

.p-insurance-logo-banner:after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: var(--icon-arrow) center center/contain no-repeat;
  position: absolute;
  bottom: 8px;
  right: 10px;
  margin-block: auto;
  transition: translate 0.3s var(--animation);
}

@media (any-hover: hover) {
  .p-insurance-logo-banner:hover {
    filter: brightness(0.92);
  }
  .p-insurance-logo-banner:hover::after {
    translate: 3px 0;
  }
}

/* p-insurance-solicitation
============================================================ */
.p-insurance-solicitation__lead {
  background: var(--bg-color);
  padding: calc(var(--leading-trim) + 32px) 20px;
  margin-block-end: calc(32px + var(--slope-1px) * 16);
  border-radius: var(--frame-border-radius);
  text-align: center;
}

.p-insurance-solicitation__list {
  padding-left: 1.4375em;
  list-style: decimal;
  list-style-position: outside;
}

.p-insurance-solicitation__list > li {
  list-style: decimal;
  list-style-position: outside;
  text-align: justify;
  text-justify: auto;
  line-height: 1.65;
  font-size: calc(16px + var(--slope-1px) * 2);
}

.p-insurance-solicitation__list > li:not(:last-child) {
  margin-bottom: calc(var(--leading-trim) + 32px);
}

.p-insurance-solicitation__list > li::marker {
  font-family: var(--en-font-family);
  font-size: calc(18px + var(--slope-1px) * 2);
}

/* p-insurance-fd
============================================================ */
.p-insurance-fd__lead {
  background: var(--bg-color);
  padding: calc(var(--leading-trim) + 32px) 20px;
  margin-block-end: calc(32px + var(--slope-1px) * 16);
  border-radius: var(--frame-border-radius);
  text-align: center;
}

.p-insurance-fd-list {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(40px + var(--slope-1px) * 16);
}

.p-insurance-fd-list__item {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(20px + var(--slope-1px) * 4);
}

.p-insurance-fd-list__head {
  display: flex;
  align-items: center;
  gap: 14px 12px;
  justify-content: flex-start;
  align-items: baseline;
}

@media screen and (max-width: 767px) {
  .p-insurance-fd-list__head {
    flex-direction: column;
  }
}

.p-insurance-fd-list__head > p {
  font-size: calc(16px + var(--slope-1px) * 2);
  font-weight: 500;
  display: inline-block;
  margin-block: var(--leading-trim);
}

.p-insurance-fd-list__head > p small {
  display: block;
  font-size: 14px;
  font-weight: 500;
}

.p-insurance-fd-list__head > span {
  font-size: 14px;
  font-weight: 500;
  display: inline-block;
  margin-block: var(--leading-trim);
}

.p-insurance-fd-list__head > span > em {
  font-family: var(--en-font-family);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.7;
  position: relative;
  bottom: -.05em;
}

.p-insurance-fd-list__detail {
  display: block;
  margin-block: var(--leading-trim);
}

.p-insurance-fd__sign {
  margin-block: calc(var(--leading-trim) + calc(40px + var(--slope-1px) * 16)) var(--leading-trim);
  text-align: right;
}

.p-insurance-fd-grid {
  margin-block-start: calc(40px + var(--slope-1px) * 16);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

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

.p-insurance-fd-grid__item {
  border-radius: var(--frame-border-radius);
  border: 2px solid var(--border-color);
  background: var(--Root---white, #FFF);
  display: grid;
  gap: 22px;
  padding: 32px 10px;
  place-content: center;
}

.p-insurance-fd-grid__body {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-block: var(--leading-trim);
}

.p-insurance-fd-grid__foot {
  margin-block: var(--leading-trim);
  font-size: 12px;
  text-align: center;
}

.p-insurance-fd-grid__title {
  text-align: center;
  margin-block: var(--leading-trim);
  display: block;
}

.p-insurance-fd-grid__number {
  font-weight: 500;
  font-family: var(--number-font-family);
  color: var(--dark-color);
  display: block;
  margin-block: var(--leading-trim);
}

.p-insurance-fd-grid__number em {
  font-size: 76px;
  letter-spacing: -.03em;
  line-height: 1;
}

.p-insurance-fd-grid__number span {
  font-size: clamp(18px, -25.37349px + 3.61446vw, 24px);
  letter-spacing: 0;
  margin-left: -.03em;
}

@media screen and (max-width: 1080px) {
  .p-insurance-fd-grid__number span {
    font-style: 24px;
  }
}

@media screen and (max-width: 767px) {
  .p-insurance-fd-grid__number span {
    font-size: 32px;
  }
}

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

totalcare

* ============================================================= */
.p-htc {
  background: #f3f3f3;
  padding: 2.92826% 0;
  overflow: hidden;
  border-radius: var(--frame-border-radius);
}

.p-htc__head {
  background: url(/htc/bg_htc.gif) bottom center repeat-x;
  background-size: contain;
}

.p-htc__head > p, .p-htc__body > p {
  width: 1200px;
  max-width: 91.21523%;
  margin: 0 auto;
}

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

move

* ============================================================= */
.p-move-block-grid {
  display: grid;
  gap: calc(16px + var(--slope-1px) * 5);
  grid-template-columns: repeat(3, 1fr);
}

@media screen and (max-width: 1080px) {
  .p-move-block-grid {
    --item-width: 346px;
    grid-template-columns: repeat(auto-fill, minmax(min(var(--item-width), 100%), 1fr));
  }
}

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

.p-move-block {
  border-radius: var(--frame-border-radius);
  border: 1px solid var(--Root---border-color, #BEBEBE);
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 0;
  position: relative;
  overflow: hidden;
}

.p-move-block__image {
  aspect-ratio: 346 / 220;
  width: 100%;
  height: 100%;
}

.p-move-block__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-move-block__contents {
  grid-template-rows: subgrid;
  grid-row: span 3;
  padding: calc(24px + var(--slope-1px) * 8) 24px;
  display: grid;
  gap: calc(20px + var(--slope-1px) * 4);
}

.p-move-block__body {
  display: grid;
  grid-template-columns: 1fr;
  margin-block: var(--leading-trim);
}

.p-move-block__text {
  line-height: 1.8;
  text-align: center;
  font-size: calc(14px + var(--slope-1px) * 2);
  margin-block: var(--leading-trim);
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.p-move-block__foot {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  gap: calc(10px + var(--slope-1px) * 2);
}

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

campaign

* ============================================================= */
body[data-id="campaign"] .CMN-CMP-car-select__head {
  margin-top: 0;
  padding-top: 0;
  text-align: center;
  font-size: calc(15px + var(--slope-1px) * 1);
  font-weight: 500;
  line-height: 170%;
  display: block;
  margin-block-end: calc(var(--leading-trim) + calc(24px + var(--slope-1px) * 16));
  margin-block-start: var(--leading-trim);
}

body[data-id="campaign"] .CMN-CMP-car-article__title {
  background: var(--light-color);
  color: var(--base-color);
  font-size: calc(16px + var(--slope-1px) * 2);
  font-weight: 700;
  line-height: 1.65;
}

body[data-id="campaign"] .CMN-CMP-car-article__head {
  margin-block-end: calc(var(--leading-trim) + calc(24px + var(--slope-1px) * 8));
}

@media screen and (max-width: 767px) {
  body[data-id="campaign"] .CMN-CMP-car-article__carIcon img {
    max-width: 70%;
  }
}

body[data-id="campaign"] .CMN-CMP-body__list {
  max-width: var(--inner-width-px);
  padding: 0;
  margin-inline: calc(-1 * var(--gap));
  --gap:calc(4px + var(--slope-1px) * 2);
  margin-block-start: calc(-2 * var(--gap));
}

body[data-id="campaign"] .CMN-CMP-body__item {
  padding: var(--gap);
}

body[data-id="campaign"] .CMN-CMP-car-select {
  padding-bottom: calc(24px + var(--slope-1px) * 8);
  margin-bottom: calc(24px + var(--slope-1px) * 16);
}

body[data-id="campaign"] .CMN-CMP-car-select__list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-inline: auto;
  width: -moz-fit-content;
  width: fit-content;
  align-items: center;
  justify-content: center;
  padding-inline: calc(20px + var(--slope-1px) * 12);
}

@media screen and (max-width: 767px) {
  body[data-id="campaign"] .CMN-CMP-car-select__list {
    padding-inline: 0;
  }
}

body[data-id="campaign"] .CMN-CMP-car-select__item {
  max-width: 30%;
}

/* p-campaign-leaflet
============================================================ */
.p-campaign-leaflet {
  display: block;
  text-align: center;
}

.p-campaign-leaflet img {
  border: 1px solid var(--border-color);
  padding: 5px;
}

/* p-campaign-wrapper
============================================================ */
.p-campaign-tab .c-tab {
  margin-bottom: 0;
}

.p-campaign-wrapper {
  margin-block-start: calc(var(--leading-trim) + calc(48px + var(--slope-1px) * 24));
  position: relative;
}

/* p-campaign-magazine
============================================================ */
.p-campaign-magazine {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto auto 1fr;
  width: 100%;
  gap: 30px 40px;
  align-items: center;
  grid-template-areas: ". image" "head image" "body image" "nav image";
}

@media screen and (max-width: 767px) {
  .p-campaign-magazine {
    grid-template-areas: "head" "body" "image" "nav";
    gap: 24px;
    grid-template-columns: 100%;
  }
}

.p-campaign-magazine__head {
  grid-area: head;
  align-self: end;
  margin-bottom: var(--leading-trim);
  margin-top: auto;
}

.p-campaign-magazine__body {
  grid-area: body;
  align-self: start;
}

.p-campaign-magazine__image {
  grid-area: image;
  position: relative;
  width: 316px;
  margin-inline: auto;
  border: 1px solid var(--light-gray);
}

.p-campaign-magazine__image img {
  margin-inline: auto;
  position: relative;
  z-index: 1;
}

.p-campaign-magazine__nav {
  grid-area: nav;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  max-width: 331px;
  margin-bottom: auto;
}

@media screen and (max-width: 767px) {
  .p-campaign-magazine__nav {
    align-items: center;
    max-width: 100%;
  }
}

/* p-campaign-magazine-introduction
============================== */
.p-campaign-magazine-introduction {
  display: flex;
  flex-direction: column;
  gap: calc(30px + var(--slope-1px) * 10);
}

.p-campaign-magazine-introduction:not(:first-child) {
  margin-top: calc(42px + var(--slope-1px) * 26);
}

.p-campaign-magazine-introduction__lead {
  text-align: left;
  margin-block: var(--leading-trim);
}

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

coupon

* ============================================================= */
.p-coupon-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-bottom: 6px;
}

@media screen and (max-width: 767px) {
  .p-coupon-list {
    grid-template-columns: 100%;
    margin-inline: auto;
    width: -moz-fit-content;
    width: fit-content;
  }
}

@media print {
  body[data-id=coupon] .l-header,
  body[data-id=coupon] .l-main-head,
  body[data-id=coupon] .l-footer,
  body[data-id=coupon] .l-sticky {
    visibility: hidden;
    opacity: 0;
    display: none;
  }
  body[data-id=coupon] .l-main-body::after {
    content: none;
    visibility: hidden;
    opacity: 0;
    display: none;
  }
  body[data-id=coupon] .c-button-container {
    visibility: hidden;
    opacity: 0;
    display: none;
  }
}

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

company

* ============================================================= */
/* p-company-vision
============================== */
.p-company-vision {
  border: 1px solid var(--light-gray);
  border-radius: 8px;
  padding: calc(40px + var(--slope-1px) * 20) calc(20px + var(--slope-1px) * 10);
  display: grid;
  gap: calc(24px + var(--slope-1px) * 6);
  background: 50% 50%/auto calc(105px + var(--slope-1px) * 32) no-repeat #fff;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="314" height="137" viewBox="0 0 314 137" fill="none"><path d="M14.5759 63.663C-30.5459 104.966 37.2526 133.119 106.613 137C84.2834 129.643 57.6731 123.85 49.0537 107.225C41.8805 93.3222 34.418 73.3949 150.809 9.8478C95.6218 13.729 38.8723 41.4186 14.5759 63.663ZM171.345 59.7818C171.345 59.7818 214.327 50.5133 223.525 8.2838C223.525 8.2838 260.49 5.7928 314 0C314 0 243.367 62.6782 171.345 59.7818ZM265.986 55.0317C265.986 55.0317 188.353 123.387 115.059 136.942C115.059 136.942 148.09 114.524 171.288 75.1328C171.288 75.1328 216.12 79.014 265.986 55.0317ZM191.592 32.4977C178.171 43.2144 168.222 44.5467 168.222 44.5467L158.792 10.0216L207.963 8.2258C207.963 8.2258 205.245 21.5493 191.592 32.4977Z" fill="%23E8F7FF"/></svg>');
  margin-bottom: calc(40px + var(--slope-1px) * 40);
}

.p-company-vision__head {
  font-size: calc(22px + var(--slope-1px) * 10);
  font-weight: 500;
  text-align: center;
  color: var(--primary);
  margin-block: var(--leading-trim);
}

.p-company-vision__body {
  text-align: flex;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  margin-block: var(--leading-trim);
  font-size: calc(16px + var(--slope-1px) * 4);
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-company-vision__body {
    word-break: keep-all;
    overflow-wrap: anywhere;
  }
}

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

Environment

* ============================================================= */
.p-environment-fig {
  margin: 0 auto;
  background-color: #fff;
  padding-block: calc(72px + var(--slope-1px) * 40);
  position: relative;
  line-height: 2;
}

.p-environment-fig sub {
  display: inline-block;
  font-size: 65%;
}

.p-environment-fig:before, .p-environment-fig:after {
  content: "";
  display: block;
  width: 100%;
  height: 50px;
  position: absolute;
  left: 0;
  background-repeat: repeat-x;
  background-size: contain;
}

.p-environment-fig:before {
  top: 0;
  background-image: url(/environment/direction/common/img/bgHeaderTop.gif);
  background-position: center top;
}

.p-environment-fig:after {
  bottom: 0;
  background-image: url(/environment/direction/common/img/bgHeaderBottom.gif);
  background-position: center bottom;
}

.p-environment-fig__head {
  display: block;
  line-height: 1.7;
  text-align: center;
  padding: 0 0 calc(var(--leading-trim) + calc(48px + var(--slope-1px) * 32));
  margin-block: var(--leading-trim);
  color: #7EA311;
  font-size: calc(20px + var(--slope-1px) * 4);
  font-weight: 700;
}

.p-environment-fig__body {
  color: #B18147;
  max-width: 56.25em;
  margin-inline: auto;
  padding: 0;
  background: url(/environment/direction/common/img/character_img01.jpg) left bottom no-repeat;
  margin-block: var(--leading-trim);
}

.p-environment-fig__body dl {
  display: table;
  width: 100%;
  margin-block-start: var(--leading-trim);
  margin-block-end: calc(var(--leading-trim) + calc(48px + var(--slope-1px) * 8));
}

@media screen and (max-width: 560px) {
  .p-environment-fig__body dl {
    display: block;
  }
}

.p-environment-fig__body dt {
  display: table-cell;
  width: 6em;
  margin-block-end: calc(var(--leading-trim) + calc(16px + var(--slope-1px) * 16));
}

.p-environment-fig__body dt:before {
  content: "\25a0";
}

@media screen and (max-width: 560px) {
  .p-environment-fig__body dt {
    display: block;
  }
}

.p-environment-fig__body dd {
  display: table-cell;
  text-align: justify;
  text-justify: auto;
}

@media screen and (max-width: 560px) {
  .p-environment-fig__body dd {
    display: block;
  }
}

.p-environment-fig__body dd p {
  margin-block-end: calc(var(--leading-trim) + calc(16px + var(--slope-1px) * 16));
}

.p-environment-fig__body dd ol {
  padding-left: 1.3em;
  line-height: 2;
}

.p-environment-fig__body dd li {
  list-style: decimal;
  list-style-position: outside;
}

.p-environment-fig__title {
  font-weight: bold;
  text-align: center;
  font-size: calc(20px + var(--slope-1px) * 4);
  margin-bottom: calc(var(--leading-trim) + calc(48px + var(--slope-1px) * 8));
  font-style: normal;
  font-weight: 700;
  line-height: 170%;
  /* 40.8px */
  color: #B18147;
  background: url(/environment/direction/common/img/bg_policyTitle.gif) center center repeat-x;
}

@media screen and (max-width: 767) {
  .p-environment-fig__title {
    background-size: auto 3px;
  }
}

.p-environment-fig__title span {
  display: inline-block;
  padding: 0 15px;
  background: #fff;
  margin-block: var(--leading-trim);
}

.p-environment-fig__sign {
  text-align: right;
}

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

terms

* ============================================================= */
/* p-terms-text
=============================== */
.p-terms-text {
  text-align: left;
  line-height: 1.65;
  margin-bottom: var(--leading-trim);
}

.p-terms-text + .p-terms-text {
  margin-top: calc(20px + var(--leading-trim));
}

.p-terms-text a {
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  -webkit-text-decoration-style: solid;
          text-decoration-style: solid;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
  transition: -webkit-text-decoration-color 0.1s ease;
  transition: text-decoration-color 0.1s ease;
  transition: text-decoration-color 0.1s ease, -webkit-text-decoration-color 0.1s ease;
}

.p-terms-text a:hover {
  -webkit-text-decoration-color: transparent;
          text-decoration-color: transparent;
}

/* plugin
=============================== */
.p-terms-plugin {
  margin-top: 20px;
  border: 2px solid var(--border-color);
  border-radius: var(--frame-border-radius);
  background: var(--white);
}

.p-terms-plugin__link {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  gap: 1em;
  padding: calc(24px + var(--slope-1px) * 8) calc(20px + var(--slope-1px) * 20);
  transition: all 0.3s ease-out;
}

.p-terms-plugin__link:hover {
  opacity: .7;
}

@media screen and (max-width: 560px) {
  .p-terms-plugin__link {
    flex-direction: column;
  }
}

/* ssl
=============================== */
.p-terms-ssl {
  margin-top: 20px;
  border: 2px solid var(--border-color);
  border-radius: var(--frame-border-radius);
  background: var(--white);
  padding: calc(24px + var(--slope-1px) * 16) calc(20px + var(--slope-1px) * 20);
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 30px;
}

.p-terms-ssl__head {
  margin-block: var(--leading-trim);
  font-weight: 500;
  font-size: calc(16px + var(--slope-1px) * 2);
}

.p-terms-ssl__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: calc(24px + var(--slope-1px) * 8);
}

.p-terms-ssl__item {
  padding-left: 1em;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin-block-end: var(--leading-trim);
}

.p-terms-ssl__item > p {
  position: relative;
  margin-block-start: var(--leading-trim);
}

.p-terms-ssl__item > p:before {
  content: "\30fb";
  position: absolute;
  top: 0;
  left: -1em;
}

.p-terms-ssl__item > ul > li a {
  position: relative;
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  -webkit-text-decoration-style: solid;
          text-decoration-style: solid;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
  transition: -webkit-text-decoration-color 0.1s ease;
  transition: text-decoration-color 0.1s ease;
  transition: text-decoration-color 0.1s ease, -webkit-text-decoration-color 0.1s ease;
}

.p-terms-ssl__item > ul > li a:hover {
  -webkit-text-decoration-color: transparent;
          text-decoration-color: transparent;
}

.p-terms-ssl__foot {
  margin-block: var(--leading-trim);
}

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

privacy

* ============================================================= */
.p-privacy-lead {
  margin-block-end: calc(56px + var(--slope-1px) * 16);
}

/* p-privacy-container
============================== */
.p-privacy-container {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(72px + var(--slope-1px) * 8);
  counter-reset: privacy;
  line-height: 1.65;
  word-break: break-word;
  container-name: privacy;
  container-type: inline-size;
}

/* p-privacy-block
============================== */
.p-privacy-block {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(32px + var(--slope-1px) * 8);
  font-size: calc(15px + var(--slope-1px) * 1);
  counter-increment: privacy;
  --_padding-left: 2.0625em;
}

.p-privacy-block__head {
  margin-block: var(--leading-trim);
  font-size: calc(16px + var(--slope-1px) * 2);
  font-weight: 500;
  display: flex;
  gap: 0.66667em;
}

.p-privacy-block__head:before {
  content: counter(privacy) ".";
  font-family: var(--en-font-family);
  font-size: 1.11111em;
  flex-shrink: 0;
  height: 1.11111lh;
  padding-top: .03em;
}

.p-privacy-block__body {
  padding-left: var(--_padding-left);
}

/* p-privacy-detail
============================== */
.p-privacy-detail {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(24px + var(--slope-1px) * 8);
  list-style-type: lower-roman;
  margin-left: -.75em;
}

.p-privacy-detail > li {
  list-style-type: lower-roman;
  margin-block: var(--leading-trim);
  display: list-item;
  padding-left: .75em;
}

.p-privacy-detail > li::marker {
  letter-spacing: 0;
}

.p-privacy-sub {
  display: block;
  margin-block: var(--leading-trim);
}

.p-privacy-sub > p > a {
  display: inline-flex;
  align-items: center;
  text-decoration: underline;
  -webkit-text-decoration-color: currentColor;
          text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  transition: -webkit-text-decoration-color 0.1s ease;
  transition: text-decoration-color 0.1s ease;
  transition: text-decoration-color 0.1s ease, -webkit-text-decoration-color 0.1s ease;
  text-underline-offset: 0.25em;
}

.p-privacy-sub > p > a:hover {
  -webkit-text-decoration-color: transparent;
          text-decoration-color: transparent;
}

/* p-privacy-insurance
============================== */
.p-privacy-insurance {
  border: 2px solid var(--border-color);
  border-radius: var(--frame-border-radius);
  padding: calc(24px + var(--slope-1px) * 16) calc(20px + var(--slope-1px) * 20);
  margin-top: calc(20px + var(--leading-trim));
  display: grid;
  grid-template-columns: 100%;
  gap: calc(18px + var(--slope-1px) * 6);
  margin-bottom: calc(var(--leading-trim) * -1);
  width: 100cqi;
  margin-left: calc(var(--_padding-left) * -1);
}

.p-privacy-insurance__head {
  font-weight: 700;
  margin-block: var(--leading-trim);
}

.p-privacy-insurance__head:before {
  content: "\FF1C";
}

.p-privacy-insurance__head:after {
  content: "\FF1E";
}

.p-privacy-insurance__list {
  padding-left: 1em;
  text-indent: -1em;
  margin-block: var(--leading-trim);
}

.p-privacy-insurance__list > li {
  display: list-item;
}

.p-privacy-insurance__list > li:before {
  padding-inline: .25em;
  content: "\30fb";
}

.p-privacy-insurance__list > li a {
  text-decoration: underline;
  -webkit-text-decoration-color: currentColor;
          text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  transition: -webkit-text-decoration-color 0.1s ease;
  transition: text-decoration-color 0.1s ease;
  transition: text-decoration-color 0.1s ease, -webkit-text-decoration-color 0.1s ease;
  text-underline-offset: 0.25em;
}

.p-privacy-insurance__list > li a:hover {
  -webkit-text-decoration-color: transparent;
          text-decoration-color: transparent;
}

.p-privacy-insurance__lead {
  display: block;
  margin-block: var(--leading-trim);
}

/* p-privacy-signature
============================== */
.p-privacy-signature {
  margin-block: var(--leading-trim);
  text-align: right;
}

/* p-privacy-banner
============================== */
.p-privacy-banner {
  margin-top: 40px;
}

.p-privacy-banner a {
  display: block;
  margin-inline: auto;
  max-width: 640px;
  width: 100%;
  transition: all .2s;
}

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

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

harassment

* ============================================================= */
.p-harassment-lead {
  margin-block-end: calc(56px + var(--slope-1px) * 16);
}

/* p-harassment-container
============================== */
.p-harassment-container {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(56px + var(--slope-1px) * 24);
  counter-reset: harassment;
  line-height: 1.65;
  word-break: break-word;
  container-name: harassment;
  container-type: inline-size;
}

/* p-harassment-block
============================== */
.p-harassment-block {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(24px + var(--slope-1px) * 16);
  font-size: calc(15px + var(--slope-1px) * 1);
  counter-increment: harassment;
}

.p-harassment-block__head {
  font-size: calc(16px + var(--slope-1px) * 2);
  display: flex;
  gap: 0.66667em;
  font-weight: 500;
  margin-block: var(--leading-trim);
}

.p-harassment-block__head:before {
  content: counter(harassment) ".";
  font-family: var(--en-font-family);
  font-size: 1.11111em;
  flex-shrink: 0;
  height: 1.11111lh;
  padding-top: .075em;
}

.p-harassment-block__body {
  margin-block: var(--leading-trim);
}

.p-harassment-foot {
  text-align: right;
  margin-block-start: calc(var(--leading-trim) + calc(48px + var(--slope-1px) * 40));
  display: block;
}

.p-harassment-detail {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(24px + var(--slope-1px) * 8);
  list-style-type: lower-roman;
  padding-left: 2.0625em;
  margin-block-end: calc(24px + var(--slope-1px) * 8);
}

@media screen and (min-width: 768px) {
  .p-harassment-detail {
    margin-left: -.75em;
  }
}

.p-harassment-detail > li {
  list-style-type: lower-roman;
  margin-block: var(--leading-trim);
  display: list-item;
  padding-left: .75em;
}

.p-harassment-detail > li::marker {
  letter-spacing: 0;
}

.p-harassment-block__notes {
  text-align: left;
  margin-block-start: var(--leading-trim);
}

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

health

* ============================================================= */
.p-health-frame {
  border-radius: var(--frame-border-radius);
  border: 2px solid var(--dark-color);
  background: var(--white);
  padding-block: calc(24px + var(--slope-1px) * 24);
  padding-inline: calc(20px + var(--slope-1px) * 35);
  margin-block-end: calc(var(--leading-trim) + calc(48px + var(--slope-1px) * 40));
  display: grid;
  grid-template-areas: "head logo" "text logo" "button logo";
  grid-template-columns: 58.73418% 35.44304%;
  justify-content: space-between;
}

@media screen and (max-width: 1080px) {
  .p-health-frame {
    grid-template-areas: "head head" "text logo" "button logo";
  }
}

@media screen and (max-width: 767px) {
  .p-health-frame {
    grid-template-columns: 100%;
    grid-template-areas: "head" "text" "logo" "button";
  }
}

.p-health-frame__head {
  grid-area: head;
  margin-block: 0 calc(var(--leading-trim) + calc(24px + var(--slope-1px) * 8));
}

.p-health-frame__head .c-sub-title {
  margin-block: 0;
}

.p-health-frame__text {
  grid-area: text;
  display: block;
  margin-block: var(--leading-trim) calc(var(--leading-trim) + calc(18px + var(--slope-1px) * 6));
}

.p-health-frame__logo {
  grid-area: logo;
  width: -moz-fit-content;
  width: fit-content;
}

@media screen and (max-width: 767px) {
  .p-health-frame__logo {
    margin-block: 0 calc(18px + var(--slope-1px) * 6);
    margin-inline: auto;
  }
}

.p-health-frame__button {
  grid-area: button;
}

@media screen and (max-width: 767px) {
  .p-health-frame__button {
    display: flex;
    justify-content: center;
    width: 100%;
  }
}

.p-health-declaration__sign {
  text-align: right;
  margin-block-start: calc(40px + var(--slope-1px) * 16);
}

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

contact

* ============================================================= */
/* p-contact-list
============================== */
.p-contact-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(16px + var(--slope-1px) * 6);
  margin-block-start: calc(var(--leading-trim) + calc(24px + var(--slope-1px) * 16));
}

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

/* p-contact-box
============================== */
.p-contact-box {
  border-radius: var(--frame-border-radius);
  border: 2px solid var(--border-color);
  padding: calc(24px + var(--slope-1px) * 8);
}

.p-contact-box__head {
  border-radius: var(--base-border-radius);
  background: var(--bg-color);
  padding: calc(var(--leading-trim) + calc(16px + var(--slope-1px) * 2)) 16px;
  display: block;
  transition: filter 0.3s var(--animation);
}

@media (any-hover: hover) {
  .p-contact-box__head:hover {
    filter: brightness(0.92);
  }
  .p-contact-box__head:hover .p-contact-box__title {
    -webkit-text-decoration-color: transparent;
            text-decoration-color: transparent;
  }
}

.p-contact-box__title {
  color: var(--dark-color);
  font-size: calc(18px + var(--slope-1px) * 2);
  font-style: normal;
  font-weight: 700;
  line-height: 1.65;
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  -webkit-text-decoration-style: solid;
          text-decoration-style: solid;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  text-decoration-thickness: 1px;
  text-underline-offset: 25%;
  text-underline-position: from-font;
  transition: -webkit-text-decoration-color 0.1s ease;
  transition: text-decoration-color 0.1s ease;
  transition: text-decoration-color 0.1s ease, -webkit-text-decoration-color 0.1s ease;
  -webkit-text-decoration-color: currentColor;
          text-decoration-color: currentColor;
}

.p-contact-box__body {
  display: block;
  margin-block: calc(var(--leading-trim) + calc(20px + var(--slope-1px) * 4)) var(--leading-trim);
}

.p-contact-box__close {
  margin-block-end: calc(var(--leading-trim) + 16px);
}

.p-contact-box__tel {
  font-family: var(--en-font-family);
  font-size: calc(20px + var(--slope-1px) * 12);
  display: flex;
  align-items: center;
  color: var(--base-color);
  text-decoration: none;
  pointer-events: none;
  position: relative;
  color: var(--dark-color);
}

@media screen and (max-width: 560px) {
  .p-contact-box__tel {
    width: 100%;
    max-width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .p-contact-box__tel-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-right: 11px;
    flex-shrink: 0;
    width: 24px;
    height: 30px;
    color: var(--dark-color);
  }
  .p-contact-box__tel-icon svg {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    fill: currentColor;
  }
}

@media screen and (min-width: 768px) {
  .p-contact-box__tel-number {
    display: block;
    margin-block: var(--leading-trim);
    font-weight: 600;
  }
}

.p-contact-box__foot {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(156px, 100%), 1fr));
  gap: calc(9px + var(--slope-1px) * 3);
  padding-top: calc(20px + var(--slope-1px) * 4);
  border-top: 1px solid var(--border-color);
  margin-top: calc(20px + var(--slope-1px) * 4);
}

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

/* p-contact-reservation
============================== */
.p-contact-reservation {
  padding: calc(48px + var(--slope-1px) * 32) calc(16px + var(--slope-1px) * 16) calc(32px + var(--slope-1px) * 16);
  border-radius: var(--frame-border-radius);
  background: var(--point-color);
  position: relative;
}

.p-contact-reservation:not(:first-child) {
  margin-top: calc(var(--leading-trim) + calc(24px + var(--slope-1px) * 16));
}

.p-contact-reservation-title {
  word-break: keep-all;
  overflow-wrap: anywhere;
  font-feature-settings: 'halt' on;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  /* 33.8px */
  z-index: 1;
  position: relative;
  display: block;
  margin-block: var(--leading-trim);
}

.p-contact-reservation-title::before {
  content: attr(data-en);
  /* 70px */
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: -1;
  display: block;
  color: var(--Root---key-light-color, #d2f7fd);
  font-weight: 700;
  font-style: normal;
  font-size: calc(40px + var(--slope-1px) * 30);
  font-family: var(--en-font-family);
  line-height: 100%;
  transform: translateY(calc(-.375lh - 5px));
  text-transform: uppercase;
  margin-inline: auto;
}

.p-contact-reservation__head {
  font-size: clamp(17px, 9.125px + 1.40625vw, 26px);
  text-align: center;
  margin-block: 0 calc(calc(28px + var(--slope-1px) * 2) + var(--leading-trim));
  z-index: 0;
  position: relative;
}

.p-contact-reservation__foot {
  width: 100%;
  margin-top: calc(26px + var(--slope-1px) * 8);
  display: flex;
  justify-content: center;
}

.p-contact-reservation__fig {
  position: absolute;
  bottom: 24px;
  left: 32px;
  width: clamp(40.6px, 9.77829px + 4.01848vw, 58px);
  height: clamp(109.9px, 26.46882px + 10.8776vw, 157px);
}

@media screen and (max-width: 767px) {
  .p-contact-reservation__fig {
    position: relative;
    width: 211px;
    height: 93px;
    left: 0;
    right: 0;
    bottom: 0;
    margin-top: 21px;
    margin-inline: auto;
  }
}

.p-contact-reservation__fig img, .p-contact-reservation__fig picture, .p-contact-reservation__fig source {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
