@charset "UTF-8";
:root {
  --color-default: #2c2c2c;
  --color-gray: #ccc;
  --color-brown-dark: #504437;
  --color-primary: #d67500;
  --color-secondary: #685c50;
  --color-tertiary: #ff8b00;
  --color-bg-primary: #ede6d7;
  --color-border-primary: #efefef;
  --color-link: rgb(0, 128, 255);
  --color-shadow007: rgb(0 0 0 / 7.5%);
  --color-shadow01: rgb(0 0 0 / 10%);
  --color-shadow015: rgb(0 0 0 / 15%);
  --color-shadow02: rgb(0 0 0 / 20%);
  --font-nomal: "Noto Sans JP", sans-serif;
  --transition: 0.25s ease;
  --transition-duration: 0.25s;
  --hover-opacity: 0.7;
}

body {
  position: relative;
  width: 100%;
  background: #fff;
  color: var(--color-default);
  font-family: var(--font-nomal);
  font-size: 16px;
  line-height: 1.8;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.04rem;
  overflow-x: hidden;
}

a {
  cursor: pointer;
  color: var(--color-default);
  text-decoration: none;
  text-underline-offset: 0.275em;
}
a:where(:not([class])) {
  color: var(--color-link);
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  a:where(:not([class])):hover {
    text-decoration: none;
  }
}

input,
textarea,
button,
select,
option,
optgroup {
  font-size: 16px;
}
@media not screen and (min-width: 590px), print {
  input,
  textarea,
  button,
  select,
  option,
  optgroup {
    font-size: min(16px, 7.80488vw);
  }
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}

img {
  display: block;
  max-width: 100%;
}

::selection {
  background-color: var(--color-default);
  color: #fff;
  text-shadow: none;
}

::placeholder {
  color: var(--color-gray);
  opacity: 1;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.container-fluid {
  width: min(100%, 1250px);
  margin-inline: auto;
  padding-inline: 25px;
}
@media not screen and (min-width: 590px), print {
  .container-fluid {
    padding-inline: 4.39025vw;
  }
}
@media screen and (min-width: 1550px), print {
  .container-fluid {
    width: 100%;
    max-width: 1350px;
  }
}

.js-animation-element {
  opacity: 0;
  visibility: hidden;
  transform: translate3d(0, 8%, 0);
  transition: opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1), transform 1s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.js-animation-element[data-animation-type=sm] {
  transform: translate3d(0, 4%, 0);
}
.js-animation-element.-show {
  opacity: 1;
  visibility: visible;
  transform: scale(1) translate3d(0, 0, 0);
}

.none {
  display: none;
}

.xl__block {
  display: none;
}
@media not screen and (min-width: 1220px), print {
  .xl__block {
    display: block;
  }
}

.lg__block {
  display: none;
}
@media not screen and (min-width: 991px), print {
  .lg__block {
    display: block;
  }
}

.md__block {
  display: none;
}
@media not screen and (min-width: 767px), print {
  .md__block {
    display: block;
  }
}

@media not screen and (min-width: 590px), print {
  .sm__block {
    display: block;
  }
}

@media not screen and (min-width: 1220px), print {
  .xl__none {
    display: none;
  }
}

@media not screen and (min-width: 991px), print {
  .lg__none {
    display: none;
  }
}

@media not screen and (min-width: 767px), print {
  .md__none {
    display: none;
  }
}

@media not screen and (min-width: 590px), print {
  .sm__none {
    display: none;
  }
}

section.simulator {
  margin-top: 70px;
}
@media not screen and (min-width: 590px), print {
  section.simulator {
    margin-top: 9.7561vw;
  }
}
section.simulator .simulator__intro {
  font-size: 21px;
  font-weight: 700;
  line-height: 1.9;
  color: var(--color-brown-dark);
  text-align: center;
}
@media not screen and (min-width: 767px), print {
  section.simulator .simulator__intro {
    font-size: 18px;
    text-align: left;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__intro {
    font-size: 3.47561vw;
    letter-spacing: 0.03rem;
  }
}
section.simulator .simulator__ankerlink__container {
  margin-top: 55px;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  justify-content: center;
  gap: 60px;
  max-width: 1060px;
}
@media not screen and (min-width: 767px), print {
  section.simulator .simulator__ankerlink__container {
    margin-top: 30px;
    gap: 30px;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__ankerlink__container {
    margin-top: 5.36586vw;
    gap: 22px;
  }
}
section.simulator .simulator__ankerlink {
  display: block;
  width: calc(50% - 30px);
  transition: opacity 0.35s;
}
@media not screen and (min-width: 767px), print {
  section.simulator .simulator__ankerlink {
    width: calc(50% - 15px);
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__ankerlink {
    width: calc(50% - 11px);
  }
}
section.simulator .simulator__ankerlink:hover {
  opacity: 0.78;
}
section.simulator .simulator__ankerlink .img__container {
  width: 100%;
  height: auto;
  aspect-ratio: 8/5;
}
section.simulator .simulator__ankerlink .img__container .img01 {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
section.simulator .simulator__ankerlink .link__txt {
  padding: 20px 10px;
  text-align: center;
  background-color: var(--color-secondary);
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__ankerlink .link__txt {
    padding: 10px 3px;
  }
}
section.simulator .simulator__ankerlink .link__txt .txt01 {
  position: relative;
  padding-right: 44px;
  display: inline-block;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.07rem;
  line-height: 1;
  color: #fff;
}
@media not screen and (min-width: 767px), print {
  section.simulator .simulator__ankerlink .link__txt .txt01 {
    padding-right: 27px;
    font-size: 16px;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__ankerlink .link__txt .txt01 {
    padding-right: 4.39025vw;
    font-size: 3.41464vw;
    letter-spacing: 0.04rem;
  }
}
section.simulator .simulator__ankerlink .link__txt .txt01::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
  right: 0;
  width: 21px;
  height: 21px;
  background-image: url(../../img/simulator/icon_carrow_wh.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media not screen and (min-width: 767px), print {
  section.simulator .simulator__ankerlink .link__txt .txt01::before {
    width: 17px;
    height: 17px;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__ankerlink .link__txt .txt01::before {
    width: 3.41464vw;
    height: 3.41464vw;
  }
}
section.simulator .simulator__form__wrap {
  margin-top: 115px;
  margin-right: auto;
  margin-left: auto;
  padding: 55px;
  max-width: 1350px;
  border: 11px solid #fff;
  border-radius: 10px;
  background-color: #e1d6c7;
  box-shadow: 15px 15px 15px rgba(0, 0, 0, 0.06);
}
@media not screen and (min-width: 991px), print {
  section.simulator .simulator__form__wrap {
    margin-top: 70px;
    padding: 24px;
  }
}
@media not screen and (min-width: 767px), print {
  section.simulator .simulator__form__wrap {
    margin-top: 60px;
    padding: 18px 14px;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__wrap {
    margin-top: 10.97561vw;
    padding: 3.65854vw 2.92683vw;
    border-width: 1.46342vw;
    border-radius: 4px;
    box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.04);
  }
}
section.simulator .simulator__form__maker {
  padding-bottom: 25px;
  display: block;
  width: 100%;
  border-bottom: 1px solid #fff;
  text-align: center;
}
@media not screen and (min-width: 767px), print {
  section.simulator .simulator__form__maker {
    padding-bottom: 20px;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__maker {
    padding-top: 1.21952vw;
    padding-bottom: 3.90244vw;
  }
}
section.simulator .simulator__form__maker .jp__ttl {
  display: block;
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.07rem;
}
@media not screen and (min-width: 767px), print {
  section.simulator .simulator__form__maker .jp__ttl {
    font-size: 26px;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__maker .jp__ttl {
    font-size: 5.12196vw;
    font-weight: 900;
  }
}
section.simulator .simulator__form__maker .en__ttl {
  margin-top: 15px;
  display: block;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.07rem;
}
@media not screen and (min-width: 767px), print {
  section.simulator .simulator__form__maker .en__ttl {
    margin-top: 10px;
    font-size: 12px;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__maker .en__ttl {
    margin-top: 2.43903vw;
    font-size: 2.92683vw;
  }
}
section.simulator .simulator__form__container {
  margin-top: 35px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  background-color: #e1d6c7;
}
@media not screen and (min-width: 767px), print {
  section.simulator .simulator__form__container {
    margin-top: 20px;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__container {
    margin-top: 4.87805vw;
  }
}
section.simulator .simulator__form__side {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 185px;
  height: 475px;
}
@media not screen and (min-width: 991px), print {
  section.simulator .simulator__form__side {
    width: 155px;
  }
}
@media not screen and (min-width: 767px), print {
  section.simulator .simulator__form__side {
    margin-top: 12px;
    padding-top: 30px;
    order: 3;
    flex-direction: row;
    gap: 7px;
    width: 100%;
    height: auto;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__side {
    gap: 5px;
    flex-wrap: wrap;
  }
}
section.simulator .side__item {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 130px;
  height: 95px;
  background-color: #f2ede5;
  border: 2px solid #fff;
  cursor: pointer;
  box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.06);
  transition: opacity 0.3s;
}
@media not screen and (min-width: 991px), print {
  section.simulator .side__item {
    width: 100px;
  }
}
@media not screen and (min-width: 767px), print {
  section.simulator .side__item {
    width: calc((100% - 28px) / 5);
    height: 12vw;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .side__item {
    width: calc((100% - 15px) / 4);
    height: 14vw;
  }
}
section.simulator .side__item:hover {
  opacity: 0.74;
}
section.simulator .side__item.active {
  border-color: var(--color-tertiary);
  background-color: #fff;
}
section.simulator .side__item.active:hover {
  opacity: 1;
}
section.simulator .side__item::before {
  display: block;
  position: absolute;
  top: 26px;
  right: -55px;
  width: 55px;
  height: 55px;
  background-image: url(../../img/simulator/icon_point_or.svg?20250806);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s;
}
@media not screen and (min-width: 767px), print {
  section.simulator .side__item::before {
    top: -30px;
    right: 0;
    left: 0;
    margin-right: auto;
    margin-left: auto;
    width: 30px;
    height: 30px;
    rotate: -60deg;
  }
}
section.simulator .side__item::after {
  content: "body";
  display: inline-block;
  position: absolute;
  top: 4px;
  right: 3px;
  font-family: var(--font-nomal);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  color: var(--color-default);
  z-index: 10;
}
@media not screen and (min-width: 767px), print {
  section.simulator .side__item::after {
    top: 2px;
    right: 2px;
    font-size: 10px;
    letter-spacing: -0.02rem;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .side__item::after {
    top: 0.48781vw;
    right: 0.48781vw;
    font-size: 2.43903vw;
    scale: 0.89;
  }
}
section.simulator .side__item:nth-child(2)::after {
  content: "inner";
}
section.simulator .side__item:nth-child(3)::after {
  content: "seat";
}
section.simulator .side__item:nth-child(4)::after {
  content: "wheel";
}
section.simulator .side__item.active::before {
  content: "";
  opacity: 1;
  visibility: visible;
}
section.simulator .side__item .img__container {
  width: 100%;
  height: 100%;
  text-align: center;
}
section.simulator .side__item .img01 {
  display: inline-block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
@media not screen and (min-width: 767px), print {
  section.simulator .side__item .img01 {
    object-fit: cover;
  }
}
section.simulator .side__clearbtn {
  margin-top: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 130px;
  height: 45px;
  background-color: var(--color-secondary);
  box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.1);
  outline: none;
  border: none;
  cursor: pointer;
  transition: opacity 0.3s;
}
@media not screen and (min-width: 991px), print {
  section.simulator .side__clearbtn {
    width: 100px;
  }
}
@media not screen and (min-width: 767px), print {
  section.simulator .side__clearbtn {
    margin-top: 0;
    flex-direction: column;
    gap: 4px;
    width: calc((100% - 28px) / 5);
    height: 12vw;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.02);
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .side__clearbtn {
    margin-top: 3.41464vw;
    padding: 1.95122vw;
    width: calc((100% - 15px) / 4);
    flex-direction: row;
    height: auto;
  }
}
section.simulator .side__clearbtn:hover {
  opacity: 0.84;
}
section.simulator .side__clearbtn .icon01 {
  display: inline-block;
  width: auto;
  height: 20px;
}
@media not screen and (min-width: 991px), print {
  section.simulator .side__clearbtn .icon01 {
    height: 17px;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .side__clearbtn .icon01 {
    height: 3.90244vw;
  }
}
section.simulator .side__clearbtn .btn__txt {
  margin-left: 7px;
  padding-bottom: 2px;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.02rem;
  line-height: 1;
  color: #fff;
}
@media not screen and (min-width: 991px), print {
  section.simulator .side__clearbtn .btn__txt {
    margin-left: 4px;
    font-size: 17px;
  }
}
@media not screen and (min-width: 767px), print {
  section.simulator .side__clearbtn .btn__txt {
    margin-left: 0;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .side__clearbtn .btn__txt {
    font-size: 3.53659vw;
  }
}
section.simulator .simulator__form__base {
  position: relative;
  margin-right: auto;
  margin-left: auto;
  width: 470px;
  z-index: 10;
}
@media not screen and (min-width: 991px), print {
  section.simulator .simulator__form__base {
    height: auto;
  }
}
@media not screen and (min-width: 767px), print {
  section.simulator .simulator__form__base {
    margin-top: 30px;
    order: 2;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__base {
    margin-top: 6.09757vw;
  }
}
section.simulator .simulator__form__base::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../../img/simulator/body_background_image02.png?202509111629);
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-position: left 50% bottom 0;
  z-index: 0;
}
section.simulator .simulator__form__base--gyrox::after {
  background-image: url(../../img/simulator/body_background_image01.png?202509111629);
}
section.simulator .simulator__form__base .map__icon {
  position: absolute;
  display: inline-block;
  z-index: 15;
}
section.simulator .simulator__form__base .map__icon--canopybody {
  right: 0;
  top: 155px;
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__base .map__icon--canopybody {
    right: 1.21952vw;
    top: 24.14635vw;
    width: 23.17074vw;
  }
}
section.simulator .simulator__form__base .map__icon--canopyinner {
  right: 235px;
  bottom: 37px;
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__base .map__icon--canopyinner {
    right: 38.53659vw;
    bottom: 4.63415vw;
    width: 7.07318vw;
  }
}
section.simulator .simulator__form__base .map__icon--canopyseat {
  right: 260px;
  top: 172px;
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__base .map__icon--canopyseat {
    right: 45.85366vw;
    top: 27.80488vw;
    width: 5.60976vw;
  }
}
section.simulator .simulator__form__base .map__icon--canopywheel {
  left: 74px;
  bottom: 0px;
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__base .map__icon--canopywheel {
    left: 8.78049vw;
    bottom: 0px;
    width: 7.80488vw;
  }
}
section.simulator .simulator__form__base .map__icon--xbody {
  right: 14px;
  top: 55px;
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__base .map__icon--xbody {
    right: 1.21952vw;
    top: 5.85366vw;
    width: 23.17074vw;
  }
}
section.simulator .simulator__form__base .map__icon--xinner {
  right: 170px;
  bottom: 9px;
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__base .map__icon--xinner {
    right: 27.80488vw;
    bottom: 0.48781vw;
    width: 7.07318vw;
  }
}
section.simulator .simulator__form__base .map__icon--xseat {
  right: 260px;
  top: 87px;
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__base .map__icon--xseat {
    right: 45.85366vw;
    top: 8.78049vw;
    width: 5.60976vw;
  }
}
section.simulator .simulator__form__base .map__icon--xwheel {
  left: 74px;
  bottom: 0px;
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__base .map__icon--xwheel {
    left: 8.78049vw;
    bottom: 0px;
    width: 7.80488vw;
  }
}
section.simulator .simulator__form__base .change__parts {
  position: absolute;
  height: auto;
  z-index: 10;
}
section.simulator .simulator__form__base .change__parts--canopybody {
  top: 25.5px;
  left: 32px;
  width: 396.5px;
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__base .change__parts--canopybody {
    top: 0.24391vw;
    left: 2.07318vw;
    width: 76.58537vw;
  }
}
section.simulator .simulator__form__base .change__parts--canopyinner {
  top: 200px;
  left: 78.5px;
  width: 241px;
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__base .change__parts--canopyinner {
    top: 33.90244vw;
    left: 10.97561vw;
    width: 46.58537vw;
  }
}
section.simulator .simulator__form__base .change__parts--canopyseat {
  top: 237px;
  left: 106px;
  width: 148.5px;
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__base .change__parts--canopyseat {
    top: 41.21952vw;
    left: 16.46342vw;
    width: 28.78049vw;
  }
}
section.simulator .simulator__form__base .change__parts--canopywheel {
  bottom: 19px;
  left: 52px;
  width: 360px;
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__base .change__parts--canopywheel {
    bottom: 3.65854vw;
    left: 5.91464vw;
    width: 69.60976vw;
  }
}
section.simulator .simulator__form__base .change__parts--xbody {
  top: 84.5px;
  left: 31.5px;
  width: 400.5px;
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__base .change__parts--xbody {
    top: 11.21952vw;
    left: 2.80488vw;
    width: 75.85366vw;
  }
}
section.simulator .simulator__form__base .change__parts--xinner {
  top: 211px;
  left: 75px;
  width: 243.5px;
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__base .change__parts--xinner {
    top: 35.19513vw;
    left: 10.92683vw;
    width: 46.34147vw;
  }
}
section.simulator .simulator__form__base .change__parts--xseat {
  top: 137px;
  left: 96px;
  width: 160px;
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__base .change__parts--xseat {
    top: 21.21952vw;
    left: 14.87805vw;
    width: 30.48781vw;
  }
}
section.simulator .simulator__form__base .change__parts--xwheel {
  bottom: 21px;
  left: 50px;
  width: 360.5px;
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__base .change__parts--xwheel {
    bottom: 3.90244vw;
    left: 6.21952vw;
    width: 68.29269vw;
  }
}
section.simulator .simulator__form__base .base__image {
  position: relative;
  margin-top: 25px;
  margin-right: auto;
  margin-left: auto;
  display: block;
  width: auto;
  height: 434px;
  z-index: 5;
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__base .base__image {
    margin-top: 0;
    height: 83.90244vw;
  }
}
section.simulator .simulator__form__base .base__image--gyrox {
  height: 358px;
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__base .base__image--gyrox {
    height: 67.80488vw;
  }
}
section.simulator .simulator__form__paintpalette {
  width: 355px;
  height: 475px;
}
@media not screen and (min-width: 1220px), print {
  section.simulator .simulator__form__paintpalette {
    margin-top: 20px;
    width: 100%;
    height: auto;
  }
}
@media not screen and (min-width: 767px), print {
  section.simulator .simulator__form__paintpalette {
    order: 4;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__paintpalette {
    margin-top: 3.41464vw;
  }
}
section.simulator .paintpalette__ttl {
  padding: 5px 15px;
  display: flex;
  align-items: center;
  width: 100%;
  height: 40px;
  background-color: var(--color-tertiary);
  line-height: 1;
}
@media not screen and (min-width: 767px), print {
  section.simulator .paintpalette__ttl {
    padding: 12px;
    height: auto;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .paintpalette__ttl {
    padding: 1.95122vw;
  }
}
section.simulator .paintpalette__ttl .main01,
section.simulator .paintpalette__ttl .parts01 {
  font-size: 19px;
  font-weight: 700;
  letter-spacing: 0.05rem;
  color: #fff;
  line-height: 1;
}
@media not screen and (min-width: 767px), print {
  section.simulator .paintpalette__ttl .main01,
  section.simulator .paintpalette__ttl .parts01 {
    font-size: 16px;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .paintpalette__ttl .main01,
  section.simulator .paintpalette__ttl .parts01 {
    font-size: 3.65854vw;
  }
}
section.simulator .paintpalette__ttl .parts01 {
  margin-left: 7px;
}
section.simulator .paintpalette__color__lists {
  margin-top: 7px;
  padding: 5px;
  flex-wrap: wrap;
  gap: 5px;
  max-height: 428px;
  background-color: #fff;
  overflow-y: scroll;
  display: none;
}
section.simulator .paintpalette__color__lists.active {
  display: flex;
}
@media not screen and (min-width: 1220px), print {
  section.simulator .paintpalette__color__lists {
    max-height: 261px;
  }
}
@media not screen and (min-width: 767px), print {
  section.simulator .paintpalette__color__lists {
    max-height: 198px;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .paintpalette__color__lists {
    margin-top: 1.70732vw;
    max-height: 201px;
  }
}
@media not screen and (min-width: 375px), print {
  section.simulator .paintpalette__color__lists {
    max-height: 152px;
  }
}
section.simulator .paintpalette__color__item {
  position: relative;
  padding: 6px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: calc((100% - 25px) / 6);
  text-align: center;
  cursor: pointer;
  background-color: var(--color-border-primary);
}
@media not screen and (min-width: 1220px), print {
  section.simulator .paintpalette__color__item {
    width: calc((100% - 35px) / 8);
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .paintpalette__color__item {
    width: calc((100% - 25px) / 6);
  }
}
@media not screen and (min-width: 375px), print {
  section.simulator .paintpalette__color__item {
    width: calc((100% - 20px) / 5);
  }
}
section.simulator .paintpalette__color__item::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 2px solid var(--color-tertiary);
  z-index: 10;
}
@media not screen and (min-width: 590px), print {
  section.simulator .paintpalette__color__item::after {
    border-width: 1.5px;
  }
}
section.simulator .paintpalette__color__item.active::after {
  content: "";
}
section.simulator .paintpalette__color__item .item__color {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  overflow: hidden;
}
section.simulator .paintpalette__color__item .item__color .img01 {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
section.simulator .paintpalette__color__item .item__number {
  margin-top: 4px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: -0.03rem;
  white-space: nowrap;
}
section.simulator .paintpalette__color__item.option .item__number {
  width: 70%;
  background: linear-gradient(transparent 40%, #7fff73 40%);
}
@media not screen and (min-width: 1220px), print {
  section.simulator .paintpalette__color__item.option .item__number {
    padding-right: 7px;
    padding-left: 7px;
    width: auto;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .paintpalette__color__item.option .item__number {
    padding-right: 1.21952vw;
    padding-left: 1.21952vw;
  }
}
section.simulator .paintpalette__color__lists--seat .paintpalette__color__item {
  width: calc((100% - 15px) / 4);
}
@media not screen and (min-width: 590px), print {
  section.simulator .paintpalette__color__lists--seat .paintpalette__color__item {
    width: calc((100% - 10px) / 3);
  }
}
section.simulator .paintpalette__color__lists--seat .paintpalette__color__item .item__color {
  width: 60px;
  height: 60px;
  border-radius: 0;
}
@media not screen and (min-width: 1220px), print {
  section.simulator .paintpalette__color__lists--seat .paintpalette__color__item .item__color {
    width: 130px;
    height: 130px;
  }
}
@media not screen and (min-width: 767px), print {
  section.simulator .paintpalette__color__lists--seat .paintpalette__color__item .item__color {
    width: 90px;
    height: 90px;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .paintpalette__color__lists--seat .paintpalette__color__item .item__color {
    width: 60px;
    height: 60px;
  }
}
section.simulator .simulator__form__result {
  margin-top: 35px;
  display: flex;
  width: 100%;
  height: auto;
}
@media not screen and (min-width: 991px), print {
  section.simulator .simulator__form__result {
    margin-top: 20px;
  }
}
@media not screen and (min-width: 767px), print {
  section.simulator .simulator__form__result {
    margin-top: 0;
    order: 1;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__result {
    flex-direction: column;
    box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.025);
  }
}
section.simulator .simulator__form__result .result__ttl {
  padding: 12px 35px;
  display: flex;
  align-items: center;
  width: auto;
  height: auto;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.04rem;
  color: #fff;
  background-color: var(--color-default);
  white-space: nowrap;
}
@media not screen and (min-width: 991px), print {
  section.simulator .simulator__form__result .result__ttl {
    font-size: 15px;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__result .result__ttl {
    padding: 2.43903vw;
    font-size: 3.17074vw;
  }
}
section.simulator .result__lists {
  padding: 12px 16px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  background-color: #fff;
}
@media not screen and (min-width: 590px), print {
  section.simulator .result__lists {
    padding: 1.95122vw 2.43903vw;
  }
}
section.simulator .result__lists .result__item {
  position: relative;
  padding-right: 20px;
  font-size: 16.5px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
}
@media not screen and (min-width: 991px), print {
  section.simulator .result__lists .result__item {
    font-size: 15px;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .result__lists .result__item {
    font-size: 3.41464vw;
    line-height: 1.4;
  }
}
section.simulator .result__lists .result__item::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 10px;
  width: 1px;
  height: 100%;
  background-color: #c9bdb0;
  z-index: 10;
}
section.simulator .result__lists .result__item:last-child {
  padding-right: 0;
}
section.simulator .result__lists .result__item:last-child::after {
  content: none;
}
section.simulator .simulator__caution__container {
  margin-top: 35px;
  padding: 23px 26px;
  border-radius: 9px;
  width: 100%;
  background-color: #fff;
  box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.05);
}
@media not screen and (min-width: 767px), print {
  section.simulator .simulator__caution__container {
    order: 5;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__caution__container {
    margin-top: 3.41464vw;
    padding: 4.39025vw;
    box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.03);
  }
}
section.simulator .simulator__caution__ttl {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 8px;
  background-color: #979797;
  border-radius: 2px;
}
section.simulator .simulator__caution__ttl:nth-child(n+2) {
  margin-top: 25px;
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__caution__ttl {
    width: 100%;
  }
}
section.simulator .simulator__caution__ttl .icon01 {
  width: auto;
  height: 13.5px;
}
section.simulator .simulator__caution__ttl .ttl01 {
  font-size: 15px;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.07rem;
  line-height: 1;
}
@media not screen and (min-width: 767px), print {
  section.simulator .simulator__caution__ttl .ttl01 {
    line-height: 1.2;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__caution__ttl .ttl01 {
    font-size: 3.65854vw;
  }
}
section.simulator .simulator__caution__item {
  margin-top: 13px;
  margin-bottom: 2.5px;
  margin-right: 4px;
  margin-left: 4px;
  position: relative;
  padding-left: 17px;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.04rem;
  line-height: 1.4;
}
@media not screen and (min-width: 991px), print {
  section.simulator .simulator__caution__item {
    font-size: 13px;
  }
}
@media not screen and (min-width: 767px), print {
  section.simulator .simulator__caution__item {
    order: 6;
    padding-left: 13px;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__caution__item {
    margin-top: 3.41464vw;
    padding-left: 2.92683vw;
    font-size: 3.07318vw;
  }
}
section.simulator .simulator__caution__item::before {
  content: "※";
  display: block;
  position: absolute;
  top: 2x;
  left: 0;
  font-size: 15px;
  font-weight: 500;
  font-family: var(--font-nomal);
}
@media not screen and (min-width: 991px), print {
  section.simulator .simulator__caution__item::before {
    top: 2px;
    font-size: 12px;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__caution__item::before {
    top: 0.24391vw;
    font-size: 2.87805vw;
  }
}
section.simulator .simulator__caution__parts {
  margin-top: 13px;
  position: relative;
  display: flex;
  align-items: center;
  gap: 7px;
  font-weight: 500;
  line-height: 1.3;
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__caution__parts {
    margin-top: 3.41464vw;
    align-items: flex-start;
    font-size: 3.07318vw;
  }
}
section.simulator .simulator__caution__parts .img01 {
  width: 80px;
  height: auto;
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__caution__parts .img01 {
    width: 65px;
  }
}
section.simulator .simulator__printbtn__container {
  margin-top: 35px;
  width: 100%;
  text-align: center;
  line-height: 1;
}
@media not screen and (min-width: 991px), print {
  section.simulator .simulator__printbtn__container {
    margin-top: 25px;
  }
}
@media not screen and (min-width: 767px), print {
  section.simulator .simulator__printbtn__container {
    order: 3;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__printbtn__container {
    margin-top: 3.41464vw;
    display: none;
  }
}
section.simulator .simulator__printbtn__container .simulator__printbtn {
  padding: 16px 34px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  transition: opacity 0.3s;
  outline: none;
  border: none;
  cursor: pointer;
  border: 1.5px solid var(--color-brown-dark);
  border-radius: 7px;
  box-shadow: 8px 8px 8px rgba(0, 0, 0, 0.04);
  background: rgba(255, 255, 255, 0.78);
  transition: background 0.2s;
}
@media not screen and (min-width: 767px), print {
  section.simulator .simulator__printbtn__container .simulator__printbtn {
    padding: 15px 22px;
    min-width: 230px;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__printbtn__container .simulator__printbtn {
    padding: 2.92683vw;
    min-width: 195px;
  }
}
section.simulator .simulator__printbtn__container .simulator__printbtn:hover {
  background-color: #ede6d7;
}
section.simulator .simulator__printbtn__container .simulator__printbtn .icon01 {
  display: inline-block;
  width: auto;
  height: 20px;
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__printbtn__container .simulator__printbtn .icon01 {
    height: 3.90244vw;
  }
}
section.simulator .simulator__printbtn__container .simulator__printbtn .btn__txt {
  margin-left: 11px;
  font-size: 17.5px;
  font-weight: 600;
  letter-spacing: 0.02rem;
  line-height: 1;
  color: var(--color-default);
}
@media not screen and (min-width: 767px), print {
  section.simulator .simulator__printbtn__container .simulator__printbtn .btn__txt {
    margin-left: 7px;
  }
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__printbtn__container .simulator__printbtn .btn__txt {
    margin-left: 0.97561vw;
    font-size: 3.78049vw;
  }
}
section.simulator .simulator__form__contact {
  position: relative;
  margin-top: 55px;
  margin-bottom: 170px;
  text-align: center;
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__contact {
    margin-top: 10.97561vw;
    margin-bottom: 29.2683vw;
  }
}
section.simulator .simulator__form__contact::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -85px;
  left: 0;
  width: 100%;
  height: 3px;
  background-image: repeating-linear-gradient(90deg, #ffffff, #ffffff 7px, transparent 7px, transparent 13px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 100% 3px;
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__contact::after {
    bottom: -14.63414vw;
  }
}
section.simulator .simulator__form__contact .contact__txt01 {
  text-align: center;
}
section.simulator .simulator__form__contact .contact__txt01 .txt01 {
  position: relative;
  padding-right: 22px;
  padding-left: 22px;
  padding-bottom: 5px;
  display: inline-block;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.1rem;
  line-height: 1;
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__contact .contact__txt01 .txt01 {
    padding-right: 3.90244vw;
    padding-left: 3.90244vw;
    font-size: 3.90244vw;
  }
}
section.simulator .simulator__form__contact .contact__txt01 .txt01::before, section.simulator .simulator__form__contact .contact__txt01 .txt01::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  width: 1px;
  height: 27px;
  background-color: var(--color-default);
}
@media not screen and (min-width: 590px), print {
  section.simulator .simulator__form__contact .contact__txt01 .txt01::before, section.simulator .simulator__form__contact .contact__txt01 .txt01::after {
    height: 5.85366vw;
  }
}
section.simulator .simulator__form__contact .contact__txt01 .txt01::before {
  left: 0;
  rotate: -31deg;
}
section.simulator .simulator__form__contact .contact__txt01 .txt01::after {
  right: 0;
  rotate: 31deg;
}
section.simulator .contact__btn {
  margin-top: 6px;
  padding: 20px 45px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: var(--color-primary);
  border-radius: 4px;
  box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.08);
}
@media not screen and (min-width: 590px), print {
  section.simulator .contact__btn {
    margin-top: 0.97561vw;
    padding: 4.87805vw 10.24391vw;
  }
}
section.simulator .contact__btn .icon01 {
  width: auto;
  height: 14px;
}
@media not screen and (min-width: 590px), print {
  section.simulator .contact__btn .icon01 {
    height: 3.41464vw;
  }
}
section.simulator .contact__btn .btn__txt {
  margin-left: 5px;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
}
@media not screen and (min-width: 590px), print {
  section.simulator .contact__btn .btn__txt {
    margin-left: 1.46342vw;
    font-size: 4.14635vw;
  }
}

.lazyload {
  background-image: none !important;
}

.lazyload:before {
  background-image: none !important;
}

/** 画像保存時のローディングのスタイル --start--**/
#loadingOverlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.8);
  z-index: 9999;
  justify-content: center;
  align-items: center;
  pointer-events: all;
}

.spinner {
  border: 6px solid #ccc;
  border-top: 6px solid #333;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/** 画像保存時のローディングのスタイル --end--**/
/** 画像表示モーダル --start--**/
.capture-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.capture-modal__backdrop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
}

.capture-modal__content {
  position: relative;
  background: #fff;
  padding: 20px;
  border-radius: 8px;
  z-index: 10000;
  max-width: 90%;
  max-height: 90%;
  overflow: auto;
  text-align: center;
}

.capture-modal__close {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 28px;
  cursor: pointer;
}

.capture-modal__image {
  max-width: 100%;
  height: auto;
}

.capture-modal__message {
  margin-top: 10px;
  font-size: 14px;
  color: #333;
}

.capture-modal__image-wrapper {
  overflow: auto;
  max-height: 80vh;
}

/** 画像表示モーダル --end--**/

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