@charset "UTF-8";
/* p-flow
---------------------------------------- */
.p-flow {
  max-width: initial !important;
  padding: 0 !important;
}
.p-flow__search {
  max-width: 110rem;
  margin: 0 auto;
  padding-bottom: 2rem;
  counter-reset: number 0;
}
@media screen and (max-width: 767px) {
  .p-flow__search {
    padding: 0 4rem;
  }
}
.p-flow__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 5rem;
  padding: 3rem 0;
  border-top: 1px solid #d6d6d6;
}
@media screen and (max-width: 1239px) {
  .p-flow__block {
    display: block;
  }
}
.p-flow__block.is-disabled {
  opacity: 0.4;
  pointer-events: none;
}
.p-flow__step {
  min-width: 32.5rem;
}
@media screen and (max-width: 1239px) {
  .p-flow__step {
    margin-bottom: 2rem;
  }
}
.p-flow__question {
  font-size: max(2.4rem, 24px);
  font-weight: 400;
  line-heihgt: 1.15;
}
@media screen and (max-width: 767px) {
  .p-flow__question {
    font-size: 3rem;
  }
}
.p-flow__question::before {
  display: block;
  font-size: max(1.8rem, 18px);
  font-weight: 700;
  font-family: "Montserrat", sans-serif;
  opacity: 0.4;
  counter-increment: number 1;
  content: "STEP" counter(number, decimal-leading-zero);
}
@media screen and (max-width: 767px) {
  .p-flow__question::before {
    font-size: 2.8rem;
  }
}
.p-flow__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-flow__item {
  position: relative;
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 9rem;
  font-size: max(1.8rem, 18px);
  text-align: center;
  line-height: 1.15;
  border-radius: 0.8rem;
  border: 1px solid #d6d6d6;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-flow__item {
    height: 15rem;
    font-size: 2.6rem;
  }
}
.p-flow__item::after {
  position: absolute;
  bottom: 0.5rem;
  left: 50%;
  width: 1.2rem;
  height: 1.6rem;
  aspect-ratio: 94/150;
  background: url(../images/common/icon_down.svg) no-repeat center center/contain;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-filter: brightness(0) saturate(100%) invert(28%) sepia(0%) saturate(1594%) hue-rotate(213deg) brightness(100%) contrast(51%);
          filter: brightness(0) saturate(100%) invert(28%) sepia(0%) saturate(1594%) hue-rotate(213deg) brightness(100%) contrast(51%);
  content: "";
}
@media screen and (max-width: 767px) {
  .p-flow__item::after {
    width: 2.8rem;
    height: 3.5rem;
  }
}
.p-flow__item:has(small) {
  font-size: max(2rem, 20px);
}
@media screen and (max-width: 767px) {
  .p-flow__item:has(small) {
    font-size: 3rem;
  }
}
.p-flow__item small {
  display: block;
  font-size: max(1.5rem, 15px);
}
@media screen and (max-width: 767px) {
  .p-flow__item small {
    font-size: 2.2rem;
  }
}
.p-flow__item--rental::before {
  position: absolute;
  top: -0.5rem;
  right: -0.5rem;
  padding: 0.3rem 0.5rem;
  color: #fff;
  font-size: max(1.3rem, 13px);
  background-color: #323232;
  content: "レンタルモデル";
}
@media screen and (max-width: 767px) {
  .p-flow__item--rental::before {
    font-size: 2rem;
  }
}
.p-flow__item.is-disabled {
  cursor: none;
  opacity: 0.4;
  pointer-events: none;
}
.p-flow__item.is-selected {
  color: #fff;
  background-color: #323232;
}
.p-flow__item.is-selected::after {
  -webkit-filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(87deg) brightness(94%) contrast(113%);
          filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(87deg) brightness(94%) contrast(113%);
}

.p-flow-result {
  padding: 8rem;
  background-color: #f3f3f3;
}
@media screen and (max-width: 767px) {
  .p-flow-result {
    padding: 8rem 4rem;
  }
}
.p-flow-result__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 110rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-flow-result__box {
    display: block;
  }
}
.p-flow-result__image {
  width: 50%;
  height: 440px;
  background-color: #e9eaef;
}
@media screen and (max-width: 767px) {
  .p-flow-result__image {
    width: 100%;
    height: 50rem;
  }
}
.p-flow-result__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center;
}
.p-flow-result__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 50%;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .p-flow-result__content {
    width: 100%;
    padding: 4rem;
  }
}
.p-flow-result__title {
  margin-bottom: 4rem;
  font-size: max(3.2rem, 32px);
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-flow-result__title {
    font-size: 4rem;
  }
}
.p-flow-result__copy {
  margin-bottom: 0 !important;
  font-size: max(1.8rem, 18px);
  font-weight: 500;
  text-align: center;
  line-height: 1.5 !important;
}
@media screen and (max-width: 767px) {
  .p-flow-result__copy {
    font-size: 2.8rem;
  }
}
.p-flow-result__description {
  margin-bottom: 3rem;
  font-size: max(1.8rem, 18px);
  font-weight: 500;
  text-align: center;
  line-height: 1.5 !important;
}
@media screen and (max-width: 767px) {
  .p-flow-result__description {
    font-size: 2.8rem;
  }
}
.p-flow-result__price {
  font-size: max(2.4rem, 24px);
  line-height: 1;
}
.p-flow-result__price small {
  font-size: max(1.4rem, 14px);
}
@media screen and (max-width: 767px) {
  .p-flow-result__price small {
    font-size: 2rem;
  }
}
.p-flow-result__price::before {
  font-size: max(1.7rem, 17px);
  content: "￥";
}
@media screen and (max-width: 767px) {
  .p-flow-result__price::before {
    font-size: 2.4rem;
  }
}
.p-flow-result__icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
.p-flow-result__icons img {
  max-width: 6rem;
}
.p-flow-result__button {
  margin-top: 3rem;
}