@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
}

body {
  font-size: 1.1vw;
  line-height: 1.5;
  color: #ffffff;
  background-color: #000000;
  position: relative;
}
@media screen and (max-width: 640px) {
  body {
    font-size: 3.5vw;
  }
}

@media screen and (max-width: 640px) {
  p {
    font-size: 3.5vw;
    line-height: 6.5vw;
  }
}

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

.icon {
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
}

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

@media screen and (min-width: 641px) {
  .sp-br {
    display: none;
  }
}

@media screen and (max-width: 640px) {
  .pc-br {
    display: none;
  }
}

.kv-slider {
  position: relative;
  overflow: hidden;
}

.progressbar-fill {
  position: absolute;
  bottom: 0;
  /* または好きな位置に */
  left: 0;
  width: 100%;
  height: 1vw;
  /* バーの太さ */
  background: #ffffff;
  /* お好みの色 */
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
}

.slide-fraction {
  position: absolute;
  right: 10vw;
  bottom: 5vw;
  z-index: 10;
  color: #fff;
}

.slide-fraction .circle {
  display: inline-block;
  width: 10vw;
  height: 10vw;
  position: relative;
}
@media screen and (min-width: 641px) {
  .slide-fraction .circle {
    width: 5vw;
    height: 5vw;
  }
}

.slide-fraction svg {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

.slide-fraction circle {
  stroke-width: 2px;
  fill: none;
}

.circle-01 {
  stroke: rgba(255, 255, 255, 0.3);
}

.circle-02 {
  stroke: #fff;
  stroke-dasharray: 195;
  stroke-dashoffset: 0;
  /* 円が減っていく動きは js/slider.js で自動再生の進み具合に合わせて付ける */
}

.current {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: 3.5vw;
  color: #ffffff;
}
@media screen and (min-width: 641px) {
  .current {
    font-size: 1.5vw;
  }
}

.scroll {
  position: relative;
  background: #000;
}
.scroll__text {
  display: inline-block;
  position: absolute;
  right: 1vw;
  bottom: 6vw;
  z-index: 2;
  padding: 2vw 2vw 32vw;
  color: #fff;
  font-size: 3vw;
  line-height: 1;
  letter-spacing: 0.2em;
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
  font-weight: 300;
}
@media screen and (min-width: 641px) {
  .scroll__text {
    display: none;
  }
}
.scroll__text::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 100px;
  background: rgba(255, 255, 255, 0.3);
  /* 薄い白色 */
}
.scroll__text::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 100px;
  background: #fff;
  -webkit-animation: scrollDown 1.5s ease infinite;
          animation: scrollDown 1.5s ease infinite;
}

@-webkit-keyframes scrollDown {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50.1% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}

@keyframes scrollDown {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50.1% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}
.news {
  width: 90vw;
  height: auto;
  background-color: #202020;
  margin: 1vw auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1vw 0;
}
@media screen and (max-width: 640px) {
  .news {
    height: auto;
    padding: 4vw;
  }
}
.news__topic {
  margin: 0 10vw;
}
@media screen and (max-width: 640px) {
  .news__topic {
    display: none;
  }
}
.news__line {
  width: 0.01vw;
  height: 5vw;
  background-color: #ffffff;
}
@media screen and (max-width: 640px) {
  .news__line {
    display: none;
  }
}
.news__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1vw;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 640px) {
  .news__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 2vw;
    -webkit-box-align: unset;
        -ms-flex-align: unset;
            align-items: unset;
  }
}
.news__date {
  margin-left: 4vw;
}
@media screen and (max-width: 640px) {
  .news__date {
    margin-left: 0;
  }
}
.news__spWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4vw;
}
@media screen and (max-width: 640px) {
  .news__spWrapper {
    gap: 2vw;
  }
}
.news__category {
  background-color: transparent;
  border: 1px solid #afadad;
  border-radius: 5px;
  padding: 4px;
}
@media screen and (max-width: 640px) {
  .news__category {
    font-size: 3.2vw;
  }
}
.news__link {
  width: 90vw;
  margin: 0 auto;
  text-align: right;
}
@media screen and (max-width: 640px) {
  .news__link {
    display: none;
  }
}
.news__link::after {
  content: "→";
  color: #ffffff;
  font-size: 1vw;
  letter-spacing: 0.2vw;
  padding: 0 0.5vw;
}

.contents {
  width: 80vw;
  margin: 5vw auto 1vw;
}
@media screen and (max-width: 640px) {
  .contents {
    margin: 15vw auto 5vw;
  }
}
@media screen and (max-width: 640px) {
  .contents__sentence {
    font-weight: 300;
    padding: 3vw 0;
    line-height: 6vw;
  }
}
.contents__title {
  font-size: 4vw;
  font-weight: 300;
}
@media screen and (max-width: 640px) {
  .contents__title {
    font-size: 6.5vw;
  }
}
.contents__subtitle {
  font-size: 1.5vw;
  line-height: 5.5vw;
  margin: 0 2vw;
  font-weight: 300;
}
@media screen and (max-width: 640px) {
  .contents__subtitle {
    font-size: 3.5vw;
    margin: 0 4vw 1vw;
  }
}

.underline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding: 2vw 0 2vw;
}
.underline__line--short {
  width: 3vw;
  border-bottom: solid 0.2vw #cecece;
}
.underline__line--long {
  width: 76vw;
  margin: 0 0.5vw;
  border-bottom: solid 0.2vw #424242;
}

.section-container {
  width: 80vw;
  margin: 0 auto;
  background-color: #090909;
  border-radius: 2vw;
}

.title-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding: 2vw 0 2vw;
}

.service-slider {
  position: relative;
  overflow: hidden;
  width: 85vw;
  height: 40vw;
  margin: 5vw 0 10vw auto;
}
@media screen and (max-width: 640px) {
  .service-slider {
    height: 110vw;
  }
}
.service-slider .splide__track {
  height: 100%;
}
.service-slider .splide__arrow {
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  opacity: 1;
  color: #ffffff;
  font-size: 1vw;
  letter-spacing: 0.2vw;
}
@media screen and (max-width: 640px) {
  .service-slider .splide__arrow {
    display: none;
  }
}
.service-slider .splide__arrow:disabled {
  opacity: 0.3;
}
.service-slider .splide__arrow--prev {
  left: 1.5vw;
}
.service-slider .splide__arrow--next {
  right: 1.5vw;
}

@media screen and (max-width: 640px) {
  .splide__slide {
    border-radius: 5vw;
  }
}

.splide__slide .slide-img {
  -webkit-transition: -webkit-filter 0.3s ease;
  transition: -webkit-filter 0.3s ease;
  transition: filter 0.3s ease;
  transition: filter 0.3s ease, -webkit-filter 0.3s ease;
  -webkit-filter: brightness(50%);
          filter: brightness(50%);
}
@media screen and (max-width: 640px) {
  .splide__slide .slide-img {
    border-radius: 2vw;
    height: 100%;
  }
}

.splide__slide .slide-img:hover {
  -webkit-filter: brightness(100%);
          filter: brightness(100%);
}

@media screen and (max-width: 640px) {
  .slide-arrow {
    font-size: 5vw;
    position: absolute;
    bottom: 5vw;
    right: 5vw;
    color: #FFFFFF;
    border: solid #FFFFFF 0.01vw;
    padding: 1vw 3vw;
    border-radius: 1vw;
  }
}

.splide__slide {
  position: relative;
}

.slide-text {
  position: absolute;
  top: 1vw;
  left: 2vw;
  font-size: 1.5vw;
  color: white;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}
@media screen and (max-width: 640px) {
  .slide-text {
    bottom: 5vw;
    left: 3vw;
    top: auto;
    font-size: 5vw;
  }
}

.results-slider,
.stock-slider {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin: 5vw 0;
}

.results-img {
  aspect-ratio: 77/51;
  overflow: hidden;
  /* 拡大したときに画像が枠をはみ出さないようにします */
}
.results-img img {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.results-img:hover img {
  scale: 1.1;
}

.results-text {
  text-align: center;
  color: #ffffff;
  margin: 0.5vw;
  font-size: 1.3vw;
}
@media screen and (max-width: 640px) {
  .results-text {
    font-size: 3.8vw;
    margin: 0.5vw;
  }
}

.maintenanceRecord {
  position: relative;
  width: 100%;
  margin-bottom: 10vw;
}
.maintenanceRecord__box {
  position: absolute;
  top: 0vw;
  right: 5vw;
  height: 100%;
  width: 28vw;
  background-color: rgba(0, 0, 0, 0.5);
}
@media screen and (max-width: 640px) {
  .maintenanceRecord__box {
    height: 100%;
    width: 60vw;
  }
  .maintenanceRecord__box .button-link2__link {
    margin: 0 auto;
  }
}
.maintenanceRecord__title {
  font-size: 2vw;
  font-weight: 300;
  margin: 3vw;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .maintenanceRecord__title {
    font-size: 4vw;
  }
}
.maintenanceRecord__text {
  margin: 3vw;
  font-size: 1.2vw;
  line-height: 3vw;
}
@media screen and (max-width: 640px) {
  .maintenanceRecord__text {
    font-size: 3vw;
    line-height: 6vw;
  }
}

.footer {
  background-color: #1a1a1a;
}

.footer-banner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  .footer-banner {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 80vw;
  }
}
.footer-banner__img {
  width: 22vw;
  margin: 5vw 1vw 0vw 1vw;
}
@media screen and (max-width: 640px) {
  .footer-banner__img {
    width: 38vw;
  }
}

.dropdown {
  display: inline-block;
  position: relative;
}
.dropdown:hover .dropdown-content {
  display: block;
}

.dropdown-content {
  display: none;
  position: absolute;
  background-color: transparent;
  backdrop-filter: blur(0.6vw);
  min-width: 10vw;
  -webkit-box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 1;
  padding: 1.5vw 0;
}
.dropdown-content a {
  margin: 1vw 0;
  display: block;
}

.footer-contact {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.2vw;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #333333;
  width: 100%;
  padding: 2vw;
  border-radius: 3vw 3vw 0 0;
  overflow: hidden;
}
@media screen and (max-width: 640px) {
  .footer-contact {
    font-size: 3.5vw;
  }
}
.footer-contact__icon:hover {
  scale: 1.1;
}
.footer-contact:hover {
  background-color: #efefef;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
}
.footer-contact:hover .footer-contact__line {
  background-color: #333333;
}
.footer-contact:hover .footer-contact__text {
  color: #333333;
}
.footer-contact:hover .footer-contact__icon-text {
  color: #333333;
}
.footer-contact:hover .footer-contact__icon {
  -webkit-filter: invert(80%);
          filter: invert(80%);
}
.footer-contact__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  text-align: center;
}
.footer-contact__line {
  width: 0.1vw;
  height: 15vw;
  background-color: #ffffff;
  margin-bottom: 3vw;
}
.footer-contact__icon {
  width: 8vw;
  margin: 2vw 7vw;
  -webkit-transition: 1s all;
  transition: 1s all;
}
@media screen and (max-width: 640px) {
  .footer-contact__icon {
    width: 12vw;
  }
}
.footer-contact__text {
  text-align: center;
  margin: 3vw;
  color: #ffffff;
}
@media screen and (max-width: 640px) {
  .footer-contact__text {
    margin: 8vw 3vw;
  }
}
.footer-contact__button {
  background-color: transparent;
}
@media screen and (max-width: 640px) {
  .footer-contact__button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.footer-contact__loop-text {
  font-size: 10vw;
  color: #b5b5b5;
  -webkit-animation: moveText 50s linear infinite;
          animation: moveText 50s linear infinite;
  display: inline-block;
  white-space: nowrap;
}
@media screen and (max-width: 640px) {
  .footer-contact__loop-text {
    font-size: 15vw;
  }
}
@media screen and (max-width: 640px) {
  .footer-contact__icon-text {
    display: none;
  }
}
.footer-contact span {
  display: inline-block;
  padding-right: 10vw;
}

@-webkit-keyframes moveText {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-75%);
            transform: translateX(-75%);
  }
}

@keyframes moveText {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-75%);
            transform: translateX(-75%);
  }
}
.footer-company__logo {
  width: 100%;
}
.footer-company__copyright {
  text-align: center;
}
@media screen and (max-width: 640px) {
  .footer-company__copyright {
    font-size: 3vw;
  }
}

.modal.is-open {
  display: block;
}

.modal {
  display: none;
  font-family: "Noto Sans JP", sans-serif;
  position: relative;
  z-index: 9999;
}
.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.modal__container {
  background-color: #1a1a1a;
  padding: 30px;
  width: 45vw;
  text-align: center;
  position: relative;
  border-radius: 0.5vw;
}
@media screen and (max-width: 640px) {
  .modal__container {
    width: 85vw;
  }
}
.modal__title {
  font-size: 1.5vw;
  font-weight: 600;
}
@media screen and (max-width: 640px) {
  .modal__title {
    font-size: 3.5vw;
  }
}
.modal__text {
  font-size: 1.5vw;
  font-weight: 600;
  line-height: 8vw;
}
@media screen and (max-width: 640px) {
  .modal__text {
    font-size: 4vw;
    margin: 5vw;
  }
}
.modal__close {
  background: transparent;
  border: 0;
  color: #ffffff;
  position: absolute;
  top: 1.5vw;
  right: 1.5vw;
}
.modal__header {
  background-color: #ffffff;
  color: #1a1a1a;
  height: 3vw;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 600;
  width: 35vw;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  .modal__header {
    width: 70vw;
    height: 6vw;
  }
}
.modal__header .modal__close:before {
  content: "✕";
}
.modal__lineqr {
  width: 15vw;
  margin: 2vw auto;
}
@media screen and (max-width: 640px) {
  .modal__lineqr {
    display: none;
  }
}
.modal__lineqr-mobile {
  display: none;
}
@media screen and (max-width: 640px) {
  .modal__lineqr-mobile {
    display: block;
    margin: 4vw auto;
    padding: 3vw 4vw;
    border: solid 1px #ffffff;
    border-radius: 10vw;
  }
}
@media screen and (max-width: 640px) {
  .modal__sentence--line {
    display: none;
  }
}

#modal-3-content {
  margin: 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

#modal-6-content {
  margin: 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.sidebar {
  position: absolute;
  width: 10%;
  height: 54vw;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 640px) {
  .sidebar {
    display: none;
  }
}
.sidebar__logo {
  background-color: #212121;
  width: 10vw;
  height: 10vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.sidebar__title {
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  font-weight: 300;
  font-size: 1.1vw;
  letter-spacing: 0.2vw;
  margin-bottom: 1.5vw;
  margin-top: 1.5vw;
}
.sidebar__line {
  width: 0.1vw;
  height: 10vw;
  background-color: #ffffff;
  margin-bottom: 3vw;
}
.sidebar__item {
  width: 5vw;
  margin-bottom: 1.5vw;
}
.sidebar__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 4vw;
  height: 4vw;
  margin: 0 auto;
  border: 0.01vw solid #d9d9d9;
  border-radius: 50%;
  background-color: transparent;
  color: #ffffff;
  font-size: 1em;
}
@media screen and (max-width: 640px) {
  .sidebar__button {
    width: 15vw;
    height: 15vw;
  }
}
.sidebar__button:hover {
  -webkit-animation: anima-sidebar__button 1s;
          animation: anima-sidebar__button 1s;
}
.sidebar__button:hover .sidebar__button__icon {
  scale: 1.2;
}
@-webkit-keyframes anima-sidebar__button {
  0% {
    -webkit-box-shadow: 0 0 0 0 rgb(255, 255, 255);
            box-shadow: 0 0 0 0 rgb(255, 255, 255);
  }
  100% {
    -webkit-box-shadow: 0 0 0 1.2em rgba(0, 0, 0, 0);
            box-shadow: 0 0 0 1.2em rgba(0, 0, 0, 0);
  }
}
@keyframes anima-sidebar__button {
  0% {
    -webkit-box-shadow: 0 0 0 0 rgb(255, 255, 255);
            box-shadow: 0 0 0 0 rgb(255, 255, 255);
  }
  100% {
    -webkit-box-shadow: 0 0 0 1.2em rgba(0, 0, 0, 0);
            box-shadow: 0 0 0 1.2em rgba(0, 0, 0, 0);
  }
}
.sidebar__button__icon {
  width: 2vw;
  height: 2vw;
  -webkit-transition: 1s all;
  transition: 1s all;
}
@media screen and (max-width: 640px) {
  .sidebar__button__icon {
    width: 10vw;
    height: 10vw;
  }
}

.kv-container {
  position: relative;
  width: 90%;
  margin: 0 0 0 10%;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 640px) {
  .kv-container {
    width: 100%;
    margin: 0;
  }
}
.kv-container__img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  -o-object-position: center 25%;
     object-position: center 25%;
  -webkit-transition: -webkit-filter 0.3s ease;
  transition: -webkit-filter 0.3s ease;
  transition: filter 0.3s ease;
  transition: filter 0.3s ease, -webkit-filter 0.3s ease;
  -webkit-filter: brightness(50%);
          filter: brightness(50%);
}
.kv-container__content {
  position: absolute;
  bottom: 5vw;
  right: 7vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 640px) {
  .kv-container__content {
    bottom: 18vw;
    left: 8vw;
  }
}
.kv-container__subtitle {
  font-size: 1.4vw;
}
@media screen and (max-width: 640px) {
  .kv-container__subtitle {
    font-size: 3.5vw;
  }
}
.kv-container__title {
  font-size: 4vw;
  font-weight: 300;
}
@media screen and (max-width: 640px) {
  .kv-container__title {
    font-size: 8vw;
  }
}

.shop-information {
  width: 80vw;
  margin: 0 auto;
  border-collapse: collapse;
}
@media screen and (max-width: 640px) {
  .shop-information {
    font-size: 3vw;
  }
}
.shop-information tr {
  height: 7vw;
  border-bottom: 0.1vw solid #505050;
}
@media screen and (max-width: 640px) {
  .shop-information tr {
    height: 12vw;
  }
}
.shop-information th {
  width: 20vw;
  margin: 0 auto;
  vertical-align: middle;
}
.shop-information td {
  vertical-align: middle;
}
@media screen and (max-width: 640px) {
  .shop-information__padding {
    padding: 1vw 0;
    line-height: 5.5vw;
  }
}

.map-container {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  .map-container {
    position: relative;
    width: 80%;
    aspect-ratio: 1/1;
  }
}

@media screen and (max-width: 640px) {
  .map-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

.description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #202020;
  width: 90vw;
  height: 7vw;
  margin: 1vw auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 640px) {
  .description {
    display: block;
    padding: 2vw 5vw 5vw;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin: 2.5vw auto;
  }
}
.description__point {
  margin: 0 10vw;
}
@media screen and (max-width: 640px) {
  .description__point {
    margin: 0;
    font-size: 4.5vw;
    border-bottom: 0.01vw solid #424242;
    line-height: 10vw;
  }
}
.description__line {
  width: 0.01vw;
  height: 5vw;
  background-color: #FFFFFF;
  margin: 0 5vw 0 0;
}
@media screen and (max-width: 640px) {
  .description__text {
    line-height: 6.5vw;
  }
}

.post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
.post__main {
  width: 60vw;
  padding: 5vw;
  background-color: #333333;
  margin: 5vw;
  border-radius: 0.5vw;
  color: #ffffff;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.post__main img {
  padding: 2vw 0;
}
.post__category {
  background-color: transparent;
  margin: 10px 10px 10px 10px;
  border: 1px solid #afadad;
  border-radius: 5px;
  padding: 5px;
}
.post__title {
  font-size: 2vw;
  padding: 1vw 0;
  font-weight: 300;
}
@media screen and (max-width: 640px) {
  .post__title {
    font-size: 5vw;
    padding: 3vw 0;
  }
}
.post__date {
  font-size: 1.3vw;
}
@media screen and (max-width: 640px) {
  .post__date {
    font-size: 3.5vw;
  }
}
.post__text {
  font-size: 1.3vw;
  padding: 1vw 0;
  font-weight: 300;
  line-height: 3vw;
}
.post__line {
  width: 100%;
  height: 0.1vw;
  background-color: #ffffff;
  margin: 2vw 0;
}
.post__sub {
  margin: 5vw 0 5vw 5vw;
  background-color: #333333;
  border-radius: 0.5vw;
  padding: 2vw;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  width: 25vw;
  color: #ffffff;
  font-weight: 300;
  position: sticky;
  top: 1.5vw;
  right: 0;
}
@media screen and (max-width: 640px) {
  .post__sub {
    display: none;
  }
}
.post__car-info {
  font-size: 1.1vw;
  padding: 0.5vw 0;
}
.post__car-info p {
  padding-top: 5vw;
  font-size: 1.5vw;
}
.post__model {
  font-size: 2vw;
}
.post__price {
  font-size: 2.4vw;
}
.post__price-title {
  font-size: 1.2vw;
  padding: 1.6vw 0 0;
}
.post__sp {
  margin: 5vw 0;
}
@media screen and (min-width: 641px) {
  .post__sp {
    display: none;
  }
}
.post__sp p {
  padding: 1.3vw;
}
.post__sp p span {
  font-size: 5vw;
}

.inventory-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 80vw;
  margin: 5vw auto;
}
@media screen and (max-width: 640px) {
  .inventory-container {
    display: none;
  }
}

.inventory {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(33.333% - 3vw);
          flex: 0 0 calc(33.333% - 3vw);
  /* 各アイテムの幅を設定 */
  margin: 1.5vw;
  /* マージンを追加 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* ボックスサイジングを追加 */
}
.inventory__date {
  margin: 0.5vw;
  /* 下部マージンを追加 */
  text-align: center;
}
.inventory__title {
  text-align: center;
  font-size: 1.3vw;
}
.inventory__thumbnail {
  overflow: hidden;
  width: 23vw;
  height: 15vw;
}
.inventory__thumbnail img {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.inventory__thumbnail img:hover {
  scale: 1.1;
}

.inventory2 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(33.333% - 3vw);
          flex: 0 0 calc(33.333% - 3vw);
  /* 各アイテムの幅を設定 */
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* ボックスサイジングを追加 */
}
@media screen and (min-width: 641px) {
  .inventory2 {
    display: none;
  }
}
.inventory2__date {
  margin: 0.5vw;
  /* 下部マージンを追加 */
  text-align: center;
  font-size: 3vw;
}
.inventory2__title {
  text-align: center;
  font-size: 5vw;
}
.inventory2__thumbnail {
  overflow: hidden;
  width: 80vw;
  height: 56vw;
  margin: 0 auto;
}
.inventory2__thumbnail img {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.inventory2__thumbnail img:hover {
  scale: 1.1;
}

.sales-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 80vw;
  margin: 7vw auto;
}

/* =========================================
   Card（汎用カードレイアウト）
========================================= */
.card-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.card {
  margin: 5.5vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* ボックスサイジングを追加 */
}
@media screen and (min-width: 641px) {
  .card {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(33.333% - 3vw);
            flex: 0 0 calc(33.333% - 3vw);
    /* 各アイテムの幅を設定 */
    margin: 1.5vw;
  }
}
.card__thumbnail {
  overflow: hidden;
}
.card__thumbnail img {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.card__thumbnail img:hover {
  scale: 1.1;
}
.card__date {
  margin-bottom: 1vw;
  /* 下部マージンを追加 */
  text-align: center;
}
.card__title {
  text-align: center;
  font-size: 1.5vw;
}
@media screen and (max-width: 640px) {
  .card__title {
    font-size: 3.8vw;
  }
}

/* =========================================
  Pagination（汎用ページネーション）
========================================= */
.pagination {
  text-align: center;
  margin: 5vw auto;
  font-size: 1.5vw;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.form {
  margin: 10vw auto;
  width: 70vw;
  font-size: 1.4vw;
}
@media screen and (max-width: 640px) {
  .form {
    width: 80vw;
  }
}
.form__text {
  text-align: center;
  margin: 5vw auto;
}
.form____content {
  width: 100vw;
}
.form__inquiryitem {
  width: 77vw;
  margin: 0 auto;
}
.form__attention {
  margin: 2vw 5vw 5vw;
  text-align: center;
}
.form__check {
  text-align: center;
  width: 70vw;
  margin: 0 auto;
}
.form__consent {
  text-align: center;
  margin: 3vw;
}
.form__send {
  width: 70vw;
  margin: 5vw auto;
  text-align: center;
}
.form__message {
  text-align: center;
}
@media screen and (max-width: 640px) {
  .form__message {
    text-align: left;
  }
}
@media screen and (max-width: 640px) {
  .form__message span {
    display: none;
  }
}

.question-items .wpcf7-list-item {
  border: solid 1px #ffffff;
  border-radius: 0.5vw;
  display: block;
  padding: 1.5vw 1vw;
  width: 33vw;
  margin: 1vw;
}
@media screen and (max-width: 640px) {
  .question-items .wpcf7-list-item {
    width: 100%;
    margin: 3vw auto;
  }
}

.question-items .wpcf7-list-item label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}

@media screen and (min-width: 641px) {
  .question-items .wpcf7-radio {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 80vw;
    margin: 1.5vw auto 3vw;
  }
}

.privacy-check .wpcf7-list-item {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 2vw 0;
}
.privacy-check .wpcf7-list-item label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.privacy-check .wpcf7-list-item input[type=checkbox] {
  width: 1.8vw;
  height: 1.8vw;
}
@media screen and (max-width: 640px) {
  .privacy-check .wpcf7-list-item input[type=checkbox] {
    width: 5vw;
    height: 5vw;
  }
}

.wpcf7-list-item input[type=radio] {
  margin: 0 2.5vw;
}

.wpcf7-list-item input[type=checkbox] {
  margin: 0 1vw 0 0;
}

input[type=text],
input[type=email],
input[type=tel],
input[type=date] {
  width: 70vw;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  margin: 3vw auto;
  position: relative;
  font-size: 1.5vw;
}
@media screen and (max-width: 640px) {
  input[type=text],
  input[type=email],
  input[type=tel],
  input[type=date] {
    font-size: 3.5vw;
    width: 100%;
  }
}

input[type=file] {
  width: 70vw;
  padding: 8px;
  border-radius: 4px;
  margin: 3vw auto;
}
@media screen and (max-width: 640px) {
  input[type=file] {
    width: 100%;
  }
}

.wpcf7-not-valid-tip {
  position: static;
}

@media screen and (max-width: 640px) {
  .wpcf7-response-output {
    font-size: 3.5vw;
  }
}

.daimei {
  margin: 2vw 5vw 5vw;
  text-align: center;
}

.wpcf7-select {
  width: 70vw;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  margin: 3vw auto;
  font-size: 1.5vw;
}
@media screen and (max-width: 640px) {
  .wpcf7-select {
    font-size: 3.5vw;
    width: 100%;
  }
}

textarea {
  width: 70vw;
  height: 30vw;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  margin: 3vw auto;
  font-size: 1.5vw;
}
@media screen and (max-width: 640px) {
  textarea {
    font-size: 3.5vw;
    width: 100%;
  }
}

.CF7_req {
  font-size: 0.9em;
  padding: 1vw;
  background: #7e7d7d;
  color: #ffffff;
  border-radius: 0.5vw;
  margin-right: 1vw;
  font-weight: 600;
}

.CF7_unreq {
  font-size: 0.9em;
  padding: 1vw;
  border-color: #7e7d7d;
  border: solid 0.1vw #ffffff;
  color: #ffffff;
  border-radius: 0.5vw;
  margin-right: 1vw;
  font-weight: 600;
}

@media screen and (max-width: 640px) {
  .form__box {
    padding: 2.5vw 0;
  }
}
.form__box:has(.form__content) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
}
.form__box:has(.form__content) .form__content,
.form__box:has(.form__content) .form__content > p,
.form__box:has(.form__content) .wpcf7-form-control-wrap {
  display: contents;
}
.form__box:has(.form__content) .wpcf7-form-control {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
}

.send-button {
  padding: 1vw 3vw;
  background-color: #FFFFFF;
  border-radius: 0.5vw;
  display: inline-block;
  font-size: 1.5vw;
  font-weight: 600;
  width: 40vw;
}
@media screen and (max-width: 640px) {
  .send-button {
    font-size: 3.5vw;
    border-radius: 1.5vw;
    width: 70vw;
    -webkit-appearance: none;
  }
}

.wpcf7 .wpcf7-spinner {
  display: none;
}

.wpcf7-turnstile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.wpcf7-submit.send-button {
  /* 2. 背景を「赤」、文字を「黒」にして、色の問題か確認 */
  background: #fff;
  color: #000;
  -webkit-text-fill-color: #000;
  /* Safari用の文字色強制 */
}

.nav {
  width: 90%;
  text-align: center;
  position: absolute;
  right: 0;
  z-index: 9999;
}
@media screen and (max-width: 640px) {
  .nav {
    width: 100%;
    height: 20vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: fixed;
  }
}
.nav__container {
  margin-top: 5.5vw;
  height: 8.5vw;
  font-size: 1vw;
  letter-spacing: 0.2vw;
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
}
@media screen and (max-width: 640px) {
  .nav__container {
    display: none;
  }
}
.nav__hamburger {
  border: none;
  background: none;
  padding: 0 5vw;
  z-index: 2;
}
@media screen and (min-width: 641px) {
  .nav__hamburger {
    display: none;
  }
}
.nav__hamburger-line {
  display: block;
  width: 25px;
  height: 2px;
  background-color: #fff;
  margin: 5px 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.nav__hamburger.is-active .nav__hamburger-line:nth-child(2) {
  opacity: 0;
}
.nav__hamburger.is-active .nav__hamburger-line:first-child {
  -webkit-transform: translateY(7px) rotate(45deg);
          transform: translateY(7px) rotate(45deg);
}
.nav__hamburger.is-active .nav__hamburger-line:last-child {
  -webkit-transform: translateY(-7px) rotate(-45deg);
          transform: translateY(-7px) rotate(-45deg);
}
.nav__container-sp {
  display: none;
}
@media screen and (max-width: 640px) {
  .nav__container-sp {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #000;
    padding: 8vw 5vw;
    height: 100dvh;
    overflow-y: auto;
  }
}
.nav__container-sp.is-active {
  display: block;
}
@media screen and (min-width: 641px) {
  .nav__container-sp.is-active {
    display: none;
  }
}
.nav__link-sp {
  display: block;
  text-align: left;
  font-size: 5vw;
  padding: 2vw;
  border-bottom: solid 0.01vw #424242;
  font-weight: 300;
}
.nav__link-sp__sub-title {
  font-size: 2.4vw;
  padding-left: 2vw;
}
.nav__icons-sp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 8vw 10vw;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.nav__icons-sp .hamburgerIconGroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.nav__icons-sp .hamburgerButtons {
  background: #000;
  border-radius: 50%;
  padding: 2vw;
  border: solid #ffffff 0.1vw;
  width: 14vw;
  height: 14vw;
  display: block;
}
.nav__icons-sp .hamburgerButtons__text {
  color: #fff;
  margin-top: 2vw;
}
.nav__link {
  margin: 0 1.5vw;
  position: relative;
  display: inline-block;
  overflow: hidden;
  padding: 0 5px;
}
.nav__link::before, .nav__link::after {
  content: attr(data-hover);
  /* 元のテキストを疑似要素として表示 */
  position: absolute;
  left: 0;
  right: 0;
  white-space: nowrap;
  /* テキストの折り返しを防ぐ */
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
}
.nav__link::before {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.nav__link::after {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
.nav__link:hover::before {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
.nav__link:hover::after {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.nav__link span {
  opacity: 0;
}
.nav__accordion .nav__accordion-trigger {
  position: relative;
}
.nav__accordion-icon {
  position: absolute;
  right: 15px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.nav__accordion.is-active .nav__accordion-icon {
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
.nav__accordion-content {
  display: none;
}
.nav__accordion.is-active .nav__accordion-content {
  display: block;
}
.nav__accordion-menu {
  font-size: 3vw;
  color: #cdcdcd;
  margin: 1vw;
  font-weight: 300;
}

.footer-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 20vw;
  margin: 8vw 5vw;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 640px) {
  .footer-nav {
    display: none;
  }
}
.footer-nav__link {
  font-size: 1.5vw;
  line-height: 3.5vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.footer-nav__link--child {
  font-size: 1vw;
  line-height: 2vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.footer-nav__link--child a {
  color: #a2a2a2;
}
.footer-nav__line {
  width: 0.1vw;
  height: 20vw;
  background-color: #424242;
  margin: 0 3vw;
}
.footer-nav__catch {
  font-size: 2.5vw;
  margin: 1.5vw 0 3vw 0;
  font-style: italic;
  letter-spacing: 0.3vw;
}
.footer-nav__corp {
  margin: 1.5vw 0;
  font-size: 1.5vw;
}
.footer-nav__address {
  margin: 1.5vw 0;
  font-size: 1.5vw;
}

.footer-nav__link-sp {
  font-size: 4vw;
}

.button-link {
  font-size: 1vw;
  letter-spacing: 0.2vw;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .button-link {
    display: none;
  }
}
.button-link__link {
  position: relative;
  display: inline-block;
  overflow: hidden;
  text-align: center;
  font-size: 1.2vw;
  margin: 0 auto 5vw;
  background-color: transparent;
  border: 1px solid #afadad;
  border-radius: 0.5vw;
  padding: 1.2vw 3vw;
  font-weight: 300;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
}
.button-link__link::before, .button-link__link::after {
  content: attr(data-hover);
  width: 100%;
  padding: 1.2vw 0;
  position: absolute;
  left: 0;
  top: 0;
  white-space: nowrap;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
}
@media screen and (max-width: 640px) {
  .button-link__link::before, .button-link__link::after {
    padding: 4vw 0;
  }
}
.button-link__link::before {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.button-link__link::after {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
.button-link__link:hover {
  background-color: #FFFFFF;
}
.button-link__link:hover::before {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
.button-link__link:hover::after {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  color: #333333;
  font-weight: 300;
}
.button-link__link span {
  opacity: 0;
}

.button-link2 {
  font-size: 5vw;
  letter-spacing: 0.2vw;
  text-align: center;
}
@media screen and (min-width: 641px) {
  .button-link2 {
    display: none;
  }
}
.button-link2__link {
  position: relative;
  display: inline-block;
  overflow: hidden;
  text-align: center;
  font-size: 4vw;
  margin: 10vw auto;
  background-color: transparent;
  border: 1px solid #afadad;
  border-radius: 10vw;
  padding: 3vw 10vw;
  font-weight: 300;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
}
.button-link2__link::before, .button-link2__link::after {
  content: attr(data-hover);
  width: 100%;
  padding: 3vw 0;
  position: absolute;
  left: 0;
  top: 0;
  white-space: nowrap;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
}
.button-link2__link::before {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.button-link2__link::after {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
.button-link2__link:hover {
  background-color: #FFFFFF;
}
.button-link2__link:hover::before {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
.button-link2__link:hover::after {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  color: #333333;
  font-weight: 300;
}
.button-link2__link span {
  opacity: 0;
}

.features {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 80vw;
  margin: 0 auto;
}
.features__card {
  width: 80vw;
  background-color: #202020;
  margin: 0.5vw;
  border-radius: 0.5vw;
  padding: 2vw;
}
@media screen and (max-width: 640px) {
  .features__card {
    padding: 6vw 2vw 2vw;
    margin: 2.5vw auto;
  }
}
.features__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.features__title {
  font-size: 1.5vw;
  font-weight: 600;
}
@media screen and (max-width: 640px) {
  .features__title {
    font-size: 3.5vw;
  }
}
.features__point {
  background-color: #195885;
  color: #ffffff;
  font-weight: 300;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 2vw;
  text-align: center;
  padding: 0.25vw 1.5vw;
  margin: 0 2.5vw;
}
@media screen and (max-width: 640px) {
  .features__point {
    border-radius: 3vw;
    font-size: 3vw;
    padding: 0.5vw 3vw;
    font-weight: 300;
  }
}
.features__sentence {
  margin: 4vw 2.5vw;
}
@media screen and (max-width: 640px) {
  .features__sentence {
    line-height: 6.5vw;
  }
}
.features__sentence span {
  font-weight: 600;
}
@media screen and (min-width: 641px) {
  .features__sentence {
    font-weight: 300;
    line-height: 2.5vw;
    margin: 2.5vw 2.5vw 0;
  }
}
.features__img {
  width: 30vw;
  margin: 2.5vw;
}

.horizontal-line {
  width: 70vw;
  height: 0.1vw;
  margin: 0 auto;
  background-color: #ffffff;
}

.button2 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 5vw;
}
@media screen and (max-width: 640px) {
  .button2 {
    padding: 5vw 0;
  }
}
.button2__link {
  font-size: 1.2vw;
  background-color: transparent;
  border: 0.01vw solid #afadad;
  border-radius: 0.5vw;
  padding: 1.2vw 3vw;
  font-weight: 300;
  margin: 1.5vw 1.5vw;
}
@media screen and (max-width: 640px) {
  .button2__link {
    font-size: 4vw;
    border-radius: 6vw;
    padding: 3vw 6vw;
  }
}
.button2__link:hover {
  background-color: #FFFFFF;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
}
.button2__link a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #ffffff;
}
.button2__link:hover a {
  color: #333333;
  font-weight: 300;
}
.button2__link svg {
  width: 4vw;
  margin: 0 0.5vw;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media screen and (max-width: 640px) {
  .button2__link svg {
    width: 6vw;
  }
}
.button2__link:hover svg {
  -webkit-transform: translateX(1vw);
          transform: translateX(1vw);
}

.form-link {
  width: 80vw;
  height: 10vw;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  .form-link {
    width: 65vw;
    height: 35vw;
  }
}
.form-link__button {
  background-color: #0a0a0a;
  border-radius: 0.5vw;
  margin: 5vw 0;
  position: relative;
}
@media screen and (max-width: 640px) {
  .form-link__button {
    margin: 0;
  }
}
@media screen and (min-width: 641px) {
  .form-link__button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.form-link__button:hover .form-link__line {
  opacity: 0;
}
.form-link__line {
  width: 0.1vw;
  height: 6vw;
  background-color: #FFFFFF;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 640px) {
  .form-link__line {
    display: none;
  }
}
.form-link__link {
  position: relative;
  height: 15vw;
}
@media screen and (max-width: 640px) {
  .form-link__link {
    border: solid 0.01vw #afadad;
    border-radius: 2vw;
    margin: 0 0 2.5vw;
  }
}
@media screen and (min-width: 641px) {
  .form-link__link {
    width: 40vw;
    height: 10vw;
  }
}
.form-link__link:hover {
  background-color: #ffffff;
  color: #0a0a0a;
  border-radius: 1vw 0 0 1vw;
}
@media screen and (max-width: 640px) {
  .form-link__link:hover {
    border-radius: 2vw;
    font-weight: 300;
  }
}
.form-link__link svg {
  width: 4vw;
  margin: 0 0.5vw;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  margin-left: 10vw;
}
@media screen and (max-width: 640px) {
  .form-link__link svg {
    width: 6vw;
  }
}
.form-link__link:hover svg {
  -webkit-transform: translateX(1vw);
          transform: translateX(1vw);
}
.form-link__link__text {
  position: absolute;
  top: 1.1vw;
  left: 3vw;
}
@media screen and (max-width: 640px) {
  .form-link__link__text {
    font-size: 3vw;
  }
}
.form-link__link__text--bg {
  position: absolute;
  top: 4vw;
  left: 3vw;
  font-size: 2vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 640px) {
  .form-link__link__text--bg {
    font-size: 4vw;
    top: 7vw;
  }
}

.form-link__link2 {
  position: relative;
  height: 15vw;
}
@media screen and (max-width: 640px) {
  .form-link__link2 {
    border: solid 0.01vw #afadad;
    border-radius: 2vw;
  }
}
@media screen and (min-width: 641px) {
  .form-link__link2 {
    width: 40vw;
    height: 10vw;
  }
}
.form-link__link2:hover {
  background-color: #ffffff;
  color: #0a0a0a;
  border-radius: 0 1vw 1vw 0;
}
@media screen and (max-width: 640px) {
  .form-link__link2:hover {
    border-radius: 2vw;
    font-weight: 300;
  }
}
.form-link__link2 svg {
  width: 4vw;
  margin: 0 0.5vw;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  margin-left: 10vw;
}
@media screen and (max-width: 640px) {
  .form-link__link2 svg {
    width: 6vw;
  }
}
.form-link__link2:hover svg {
  -webkit-transform: translateX(1vw);
          transform: translateX(1vw);
}
.form-link__link2__text {
  position: absolute;
  top: 1.1vw;
  left: 3vw;
}
@media screen and (max-width: 640px) {
  .form-link__link2__text {
    font-size: 3vw;
  }
}
.form-link__link2__text--bg {
  position: absolute;
  top: 4vw;
  left: 3vw;
  font-size: 2vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 640px) {
  .form-link__link2__text--bg {
    font-size: 4vw;
    top: 7vw;
  }
}

.page-numbers {
  display: none;
}

.prev.page-numbers,
.next.page-numbers {
  display: block;
  margin: 3vw;
}
@media screen and (max-width: 640px) {
  .prev.page-numbers,
  .next.page-numbers {
    font-size: 3.5vw;
  }
}

.auto-lease {
  width: 80vw;
  margin: 0 auto;
}
@media screen and (min-width: 641px) {
  .auto-lease {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.auto-lease__title {
  text-align: center;
  font-size: 1.3vw;
  margin: 1.5vw 0;
  font-weight: 600;
}
@media screen and (max-width: 640px) {
  .auto-lease__title {
    font-size: 3.5vw;
  }
}
.auto-lease__text {
  line-height: 2.5vw;
}
.auto-lease__container--1 {
  width: 23vw;
  margin: 1.5vw;
}
@media screen and (max-width: 640px) {
  .auto-lease__container--1 {
    width: 75vw;
    margin: 0 auto 5vw;
  }
}
.auto-lease__container--2 {
  width: 23vw;
  margin: 1.5vw;
}
@media screen and (max-width: 640px) {
  .auto-lease__container--2 {
    width: 75vw;
    margin: 0 auto 5vw;
  }
}
.auto-lease__container--3 {
  width: 23vw;
  margin: 1.5vw;
}
@media screen and (max-width: 640px) {
  .auto-lease__container--3 {
    width: 75vw;
    margin: 0 auto 5vw;
  }
}
.auto-lease__button {
  margin: 0 auto;
  border-bottom: solid 0.1vw;
  -webkit-transition: all 0.45s ease;
  transition: all 0.45s ease;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.pp {
  width: 80vw;
  margin: 5vw auto 10vw;
}
.pp__title {
  border-bottom: 0.2vw solid #424242;
  font-weight: 300;
  margin: 10vw 0 3vw;
  font-size: 5vw;
}
@media screen and (min-width: 641px) {
  .pp__title {
    line-height: 5vw;
    font-size: 2vw;
  }
}
.pp p {
  line-height: 3vw;
}
@media screen and (max-width: 640px) {
  .pp p {
    line-height: 5.5vw;
  }
}
.pp a {
  text-decoration: underline;
}
.pp a:hover {
  text-decoration: none;
}

.return {
  width: 80vw;
  height: 5vw;
  margin: 10vw auto 3vw;
}
.return a {
  color: #8a8a8a;
  text-decoration: underline;
}
.return span {
  color: #8a8a8a;
}

.purchase {
  width: 80vw;
  margin: 8vw auto;
}
@media screen and (min-width: 641px) {
  .purchase {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}
.purchase2 {
  width: 80vw;
  margin: 8vw auto;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media screen and (min-width: 641px) {
  .purchase2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.purchase__content {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.purchase__content2 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.purchase__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.purchase__wrapper2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.purchase__number {
  font-size: 5vw;
  font-weight: 300;
  margin: 0 3vw 0 0;
}
.purchase__title {
  font-size: 1.5vw;
  margin-bottom: 0.5vw;
  width: 23vw;
}
@media screen and (max-width: 640px) {
  .purchase__title {
    font-size: 4.5vw;
    width: 20vw;
    text-align: center;
  }
}
.purchase__line {
  border: solid 0.01vw #939393;
}
.purchase__text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 640px) {
  .purchase__text {
    margin: 5vw;
  }
}
.purchase__text2 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.purchase__img {
  width: 45vw;
  margin: 0 0 0 auto;
}
@media screen and (max-width: 640px) {
  .purchase__img {
    width: 80vw;
    margin: 5vw auto;
  }
}
.purchase__img2 {
  width: 45vw;
  margin: 0 auto 0 0;
}
@media screen and (max-width: 640px) {
  .purchase__img2 {
    width: 80vw;
    margin: 5vw auto;
  }
}

.document {
  width: 80vw;
  margin: 0 auto;
  padding: 2.5vw 5vw;
  font-size: 1.5vw;
}
@media screen and (max-width: 640px) {
  .document {
    padding: 2.5vw 0vw 10vw;
    width: 75vw;
  }
}

.service {
  width: 100%;
  margin: 5vw 0;
  background-color: #202020;
  position: relative;
}
.service__midasi {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  font-size: 4vw;
  position: absolute;
  top: 7vw;
  left: 3vw;
}
@media screen and (max-width: 640px) {
  .service__midasi {
    font-size: 6vw;
  }
}
.service__line {
  width: 0.01vw;
  height: 18vw;
  background-color: #FFFFFF;
  position: absolute;
  top: 25vw;
  left: 5.5vw;
}
@media screen and (max-width: 640px) {
  .service__line {
    width: 0.05vw;
    top: 36vw;
    left: 6.8vw;
    height: 41vw;
  }
}
.service__wrapper {
  margin: 0vw auto;
  width: 70vw;
  padding: 5vw 0;
}
@media screen and (min-width: 641px) {
  .service__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding: 5vw 0 2vw 0;
    margin: 0vw auto;
    width: 90vw;
  }
}
.service__box {
  width: 26vw;
  margin: 1vw;
  position: relative;
}
@media screen and (max-width: 640px) {
  .service__box {
    width: 70vw;
    margin: 5vw 0;
  }
}
.service__title {
  font-size: 1.7vw;
  margin: 1.5vw;
  border-bottom: solid 0.1vw;
  -webkit-transition: all 0.45s ease;
  transition: all 0.45s ease;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 640px) {
  .service__title {
    font-size: 4vw;
  }
}
.service__text {
  position: absolute;
  bottom: 6vw;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  padding: 1vw;
}
@media screen and (max-width: 640px) {
  .service__text {
    width: 70vw;
    padding: 3vw;
  }
}
.service__box:hover .service__title {
  border-bottom-color: transparent;
}
.service__box:hover .service__title {
  color: #e0e0e0;
}
.service__box:hover .service__text {
  opacity: 1;
}
.service__box:hover .service__img {
  -webkit-filter: brightness(50%);
          filter: brightness(50%);
  scale: 1.1;
  border-radius: 0.5vw;
}
.service__img {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.service__container {
  width: 80vw;
  margin: 0 auto;
  padding: 0 0 5vw 0;
}
@media screen and (min-width: 641px) {
  .service__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    width: 90vw;
  }
}
@media screen and (max-width: 640px) {
  .service__link {
    padding: 5vw 0;
  }
}
.service__goonet {
  border: solid 0.1vw #FFFFFF;
  padding: 1vw;
  margin: 0 3vw;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
@media screen and (max-width: 640px) {
  .service__goonet {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    border: solid 0.03vw #FFFFFF;
    padding: 3vw;
  }
}
.service__goonet:hover {
  background-color: #ffffff;
}
.service__goonet:hover a {
  color: #424242;
}
.service__goonet:hover .icon {
  -webkit-filter: brightness(0.26);
          filter: brightness(0.26);
}
.service__thumbnail {
  overflow: hidden;
  border-radius: 0.5vw;
}
@media screen and (max-width: 640px) {
  .service__thumbnail {
    width: 70vw;
    height: 40vw;
    border-radius: 1vw;
  }
}
@media screen and (min-width: 641px) {
  .service__thumbnail {
    width: 26vw;
    height: 16vw;
  }
}

.inspection {
  width: 70vw;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-weight: 300;
}
@media screen and (max-width: 640px) {
  .inspection {
    width: 80vw;
  }
}
.inspection__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.inspection__container::after {
  content: "▼";
  position: absolute;
  left: 50%;
  bottom: -1.8vw;
  translate: -50% 0;
}
@media screen and (max-width: 640px) {
  .inspection__container::after {
    bottom: -8vw;
  }
}
.inspection__wrapper {
  width: 70vw;
  border-radius: 0.5vw;
  margin: 1vw;
  background-color: #202020;
}
@media screen and (max-width: 640px) {
  .inspection__wrapper {
    width: 80vw;
    margin: 2.5vw 0;
    padding: 3vw;
  }
}
.inspection__number-box {
  width: 18vw;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  line-height: 3.5vw;
}
@media screen and (max-width: 640px) {
  .inspection__number-box {
    text-align: center;
  }
}
@media screen and (min-width: 641px) {
  .inspection__number-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 0 0 5vw;
  }
}
.inspection__flow {
  font-size: 1.5vw;
}
@media screen and (max-width: 640px) {
  .inspection__flow {
    margin: 2vw 0;
    font-size: 3vw;
  }
}
.inspection__number {
  margin: 0 1vw;
  font-size: 3vw;
}
@media screen and (max-width: 640px) {
  .inspection__number {
    margin: 2vw 0;
    font-size: 6vw;
  }
}
.inspection__img {
  height: 8vw;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  .inspection__img {
    display: none;
  }
}
@media screen and (min-width: 641px) {
  .inspection__img--sp {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  .inspection__img--sp {
    width: 10vw;
    margin: 2vw 1vw;
  }
}
.inspection__title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 2vw;
}
@media screen and (max-width: 640px) {
  .inspection__title {
    margin: 7vw 0 3.5vw;
    font-size: 4vw;
    font-weight: 300;
    width: auto;
    line-height: 5.5vw;
  }
}
.inspection__title span {
  display: none;
}
.inspection__text {
  padding: 3vw 0 0 5vw;
  width: 60vw;
}
@media screen and (min-width: 641px) {
  .inspection__text {
    line-height: 2.2vw;
    padding: 3vw 0;
    width: 38vw;
  }
}

#last::after {
  display: none;
}

.rate {
  width: 70vw;
  margin: 0 auto;
}
.rate__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.rate__card {
  width: 34vw;
  background-color: #202020;
  margin: 0.5vw;
  border-radius: 0.5vw;
}
.rate__title {
  padding: 1vw;
  text-align: center;
  font-size: 2vw;
  font-weight: 600;
  background-color: #424242;
  width: 30vw;
  margin: 1vw auto;
}
.rate__title span {
  font-size: 3vw;
}
.rate__cc {
  padding: 0 0 1vw;
  text-align: center;
}
.rate__model {
  color: #ffffff;
  text-align: center;
  padding: 2vw 0 0;
  font-weight: 600;
}
.rate__price {
  color: #ffffff;
  text-align: center;
  padding: 1vw 0 3vw;
  font-weight: 600;
  font-size: 1.8vw;
  letter-spacing: 0.2vw;
}
.rate__price span {
  font-size: 3vw;
  font-weight: 600;
}
.rate__text {
  color: #333333;
  text-align: center;
  padding: 2vw 0;
  font-weight: 600;
}
.rate__img {
  margin: 0 auto;
  width: 15vw;
  display: block;
}
.rate__line {
  border: solid 0.5vw #11545c;
  width: 18vw;
  margin: 0 auto;
}

.tab {
  width: 80vw;
  margin: 0 auto;
}
.tab__menu {
  height: 5vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 5vw;
}
.tab__menu-item {
  width: 15vw;
  background-color: #212121;
  font-size: 2vw;
  margin: 0 0.5vw;
  text-align: center;
  border-radius: 0.5vw 0.5vw 0 0;
  padding: 1vw;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 640px) {
  .tab__menu-item {
    font-size: 3.5vw;
    width: 18vw;
  }
}
.tab__menu-item.is-active {
  background-color: #7a849d;
  color: #ffffff;
}
.tab__panel {
  width: 80vw;
  margin: 0 auto;
}
.tab__panel-model {
  font-size: 1.3vw;
  color: #ffffff;
}
@media screen and (max-width: 640px) {
  .tab__panel-model {
    font-size: 3vw;
  }
}
.tab__panel-box001 {
  background-color: #202020;
  border: solid 1vw #7a849d;
  border-radius: 0.5vw;
  min-height: 22vw;
  display: none;
}
.tab__panel-box002 {
  background-color: #202020;
  border: solid 1vw #7a849d;
  border-radius: 0.5vw;
  min-height: 50vw;
  display: none;
}
.tab__panel-box003 {
  background-color: #202020;
  border: solid 1vw #7a849d;
  border-radius: 0.5vw;
  min-height: 50vw;
  display: none;
}
.tab__panel-box004 {
  background-color: #202020;
  border: solid 1vw #7a849d;
  border-radius: 0.5vw;
  min-height: 50vw;
  display: none;
}
.tab__panel-box.is-show {
  display: block;
}
.tab__panel-container {
  font-size: 2vw;
  color: #333333;
  padding: 2vw;
  line-height: 4vw;
}
.tab__panel-text {
  background-color: #7a849d;
  color: #ffffff;
  padding: 0 1vw;
}
.tab__panel-price span {
  font-size: 1.3vw;
  color: #ffffff;
}
.tab__panel-price {
  color: #ffffff;
}
@media screen and (max-width: 640px) {
  .tab__panel-price {
    font-size: 4.5vw;
  }
}

#modal-7-content,
#modal-8-content,
#modal-9-content {
  text-align: left;
  margin: 3vw 1.5vw;
  line-height: 6.5vw;
}

.coming-soon {
  font-size: 9vw;
  text-align: center;
  margin: 15vw 0;
  color: #ababab;
}

.news-post {
  width: 80vw;
  margin: 5vw auto;
}
@media screen and (min-width: 641px) {
  .news-post__date {
    font-size: 1.3vw;
  }
}
.news-post__category {
  background-color: transparent;
  margin: 10px 10px 10px 10px;
  border: 1px solid #afadad;
  border-radius: 5px;
  padding: 5px;
}
.news-post__title {
  font-size: 5vw;
  padding: 5vw 0 2.5vw;
}
@media screen and (min-width: 641px) {
  .news-post__title {
    font-size: 2vw;
    padding: 1vw 0;
  }
}
.news-post__text {
  font-size: 1.3vw;
  padding: 1vw 0;
  font-weight: 300;
  line-height: 3vw;
}
@media screen and (max-width: 640px) {
  .news-post__text {
    padding: 5vw 0;
  }
}
.news-post__line {
  width: 100%;
  height: 0.1vw;
  background-color: #ffffff;
  margin: 2vw 0;
}
.news-post__external-link {
  overflow-wrap: break-word;
  word-break: break-all;
}
.news-post__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2vw;
  margin-top: 4vw;
}
.news-post__external-link a span {
  border-bottom: solid 0.01vw #fff;
}

.post-archive {
  width: 80vw;
  margin: 5vw auto;
}
@media screen and (min-width: 641px) {
  .post-archive__date {
    font-size: 1.3vw;
  }
}
.post-archive__category {
  background-color: transparent;
  margin: 10px 10px 10px 10px;
  border: 1px solid #afadad;
  border-radius: 5px;
  padding: 5px;
}
.post-archive__title {
  font-size: 4vw;
  padding: 5vw 0 2.5vw;
}
@media screen and (min-width: 641px) {
  .post-archive__title {
    font-size: 2vw;
    padding: 1vw 0;
  }
}
.post-archive__line {
  border-bottom: solid 0.01vw;
}

.joycal-bnr {
  width: 50vw;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  .joycal-bnr {
    width: 75vw;
  }
}

.footer-nav-sp {
  width: 100%;
  padding: 10vw 5vw;
}
@media screen and (min-width: 641px) {
  .footer-nav-sp {
    display: none;
  }
}
.footer-nav-sp__link {
  display: block;
  text-align: left;
  font-size: 5vw;
  padding: 2vw;
  border-bottom: solid 0.01vw #424242;
  font-weight: 300;
}
.footer-nav-sp__sub-title {
  font-size: 2.4vw;
  padding-left: 2vw;
}
.footer-nav-sp__accordion-menu {
  font-size: 3.5vw;
  color: #cdcdcd;
  margin: 1vw;
  font-weight: 300;
}
.footer-nav-sp__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 300;
}
.footer-nav-sp__trigger {
  position: relative;
}
.footer-nav-sp__icon {
  position: absolute;
  right: 15px;
  top: 0;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.footer-nav-sp__corp {
  font-weight: 300;
  font-size: 4vw;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-weight: 300;
}

details[open] .footer-nav-sp__icon {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

@media screen and (min-width: 641px) {
  .kv-container img {
    aspect-ratio: 5594/3383;
  }
}

.wrapper {
  width: 90%;
  margin-inline: auto;
}