@charset "UTF-8";
/*

  購入の流れ のスタイル
----------------------------------------------- */
/* モジュール */
.box-white {
  background-color: #fff;
}
@media (min-width: 769px) {
  .box-white {
    padding-block: 4.39238653vw;
    padding-inline: 6.588579795vw;
    border-radius: 0.7320644217vw;
  }
}
@media (max-width: 768px) {
  .box-white {
    padding-block: 40px;
    padding-inline: 20px;
    border-radius: 10px;
  }
}

.h4 {
  border-bottom: 1px solid #EDEDED;
  padding-bottom: 0.9em;
  margin-bottom: 1.1em;
  color: var(--color-red-a);
  font-weight: 700;
}
@media (min-width: 769px) {
  .h4 {
    font-size: 1.756954612vw;
  }
}
@media (max-width: 768px) {
  .h4 {
    font-size: 24px;
  }
}

.txt-orange {
  color: var(--color-red-a);
}

/* 販売対象 */
@media (min-width: 769px) {
  .for_sale {
    margin-top: 4.39238653vw;
  }
  .for_sale p {
    font-size: 1.1713030747vw;
  }
}
@media (max-width: 768px) {
  .for_sale {
    margin-top: 35px;
  }
  .for_sale p {
    font-size: 16px;
  }
}

/* ご注文方法 */
@media (min-width: 769px) {
  .how_to_order {
    margin-top: 7.3206442167vw;
  }
}
@media (max-width: 768px) {
  .how_to_order {
    margin-top: 70px;
  }
}
.how_to_order h3 {
  font-weight: 700;
}
@media (min-width: 769px) {
  .how_to_order h3 {
    margin-bottom: 45px;
    font-size: 2.3426061493vw;
  }
}
@media (max-width: 768px) {
  .how_to_order h3 {
    margin-bottom: 30px;
    font-size: 26px;
  }
}
@media (min-width: 769px) {
  .how_to_order .h4 {
    margin-top: 80px;
  }
}
@media (max-width: 768px) {
  .how_to_order .h4 {
    margin-top: 60px;
  }
}
@media (min-width: 769px) {
  .how_to_order p, .how_to_order li {
    font-size: 1.1713030747vw;
  }
}
@media (max-width: 768px) {
  .how_to_order p, .how_to_order li {
    font-size: 16px;
  }
}
.how_to_order p small, .how_to_order li small {
  color: #868686;
}
.how_to_order li {
  letter-spacing: 0.01em;
}
.how_to_order .buttons {
  display: grid;
}
.how_to_order .buttons .label {
  display: block;
  margin-bottom: 1em;
}
@media (min-width: 769px) {
  .how_to_order .buttons {
    margin-top: 2.196193265vw;
    grid-template-columns: repeat(2, 21.2298682284vw);
    gap: 3.2210834553vw;
  }
}
@media (max-width: 768px) {
  .how_to_order .buttons {
    margin-top: 20px;
    gap: 40px;
  }
}
@media (min-width: 769px) {
  .how_to_order .movie {
    margin-top: 2.196193265vw;
    width: 25.0366032211vw;
  }
  .how_to_order .movie .thumb {
    margin-bottom: 2.9282576867vw;
  }
}
@media (max-width: 768px) {
  .how_to_order .movie {
    margin-top: 25px;
    width: 342px;
    max-width: 100%;
  }
  .how_to_order .movie .thumb {
    margin-bottom: 30px;
  }
}

.order-step {
  display: grid;
  position: relative;
}
@media (min-width: 769px) {
  .order-step {
    margin: 80px 0;
    grid-template-columns: repeat(2, 1fr);
    gap: 6.4421669107vw;
  }
}
@media (max-width: 768px) {
  .order-step {
    padding-block: 60px 120px;
    gap: 44px;
  }
}
.order-step > * {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
}
@media (min-width: 769px) {
  .order-step > * {
    height: 8.0527086384vw;
    border-radius: 0.7320644217vw;
    font-size: 1.4641288433vw;
  }
}
@media (max-width: 768px) {
  .order-step > * {
    height: 64px;
    border-radius: 10px;
    font-size: 16px;
  }
}
.order-step > *:nth-child(1) {
  background-color: #F5F5F5;
}
.order-step > *:nth-child(2) {
  background-color: var(--color-red-a);
  color: #fff;
  position: relative;
}
.order-step > *:nth-child(2)::before, .order-step > *:nth-child(2)::after {
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  line-height: 1;
  text-rendering: auto;
  flex-shrink: 0;
}
.order-step > *:nth-child(2)::before {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--color-red-a);
  font-size: 130%;
}
@media (min-width: 769px) {
  .order-step > *:nth-child(2)::before {
    top: 50%;
    transform: translateY(-50%);
    left: -6.4421669107vw;
    content: "\f105";
    width: 6.4421669107vw;
  }
}
@media (max-width: 768px) {
  .order-step > *:nth-child(2)::before {
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    content: "\f107";
  }
}
.order-step .ill {
  position: absolute;
  right: 0;
}
@media (min-width: 769px) {
  .order-step .ill {
    top: -6.588579795vw;
    width: 8.0527086384vw;
    height: auto;
  }
}
@media (max-width: 768px) {
  .order-step .ill {
    width: 110px;
    bottom: 0;
  }
}

/* ボタン */
.btn-style {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  height: 4.6852122987vw;
  border: 0.25vw solid var(--color-red-a);
  border-radius: 2.196193265vw;
  color: var(--color-red-a);
  font-size: 1.317715959vw;
  font-weight: 700;
  transition: 0.3s;
  text-decoration: none;
}
@media (max-width: 768px) {
  .btn-style {
    border-width: 3px;
  }
}
.btn-style::before {
  position: absolute;
  top: 50%;
  right: 1.8301610542vw;
  translate: 0 -50%;
  content: "\f054";
  font-size: 1.0980966325vw;
}
.btn-style:hover {
  background-color: var(--color-red-a);
  color: #fff;
}
@media (max-width: 768px) {
  .btn-style {
    height: 60px;
    border-radius: 30px;
    font-size: 16px;
  }
  .btn-style::before {
    right: 25px;
    font-size: 13px;
  }
}

/* お申し込み */
.application {
  text-align: center;
}
@media (min-width: 769px) {
  .application {
    margin-top: 8.0527086384vw;
  }
}
@media (max-width: 768px) {
  .application {
    margin-top: 60px;
  }
}
.application h3 {
  line-height: 2;
}
@media (min-width: 769px) {
  .application h3 {
    font-size: 1.4641288433vw;
  }
}
@media (max-width: 768px) {
  .application h3 {
    font-size: 16px;
  }
}
.application a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0.2196193265vw solid var(--color-red-a);
  background-color: #fff;
  color: var(--color-red-a);
  font-weight: bold;
  text-decoration: none;
  position: relative;
  transition: 0.2s;
}
.application a img {
  position: absolute;
}
.application a i {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  scale: 70%;
  transform-origin: right center;
}
.application a:hover {
  color: #fff;
  background-color: var(--color-red-a);
}
.application a:hover img {
  opacity: 1;
}
@media (min-width: 769px) {
  .application a {
    margin-top: 2.7818448023vw;
    width: 33.5285505124vw;
    height: 6.4421669107vw;
    border-radius: 3.2210834553vw;
    font-size: 1.756954612vw;
  }
  .application a img {
    width: 7.7598828697vw;
    top: 1.4641288433vw;
    left: -2.196193265vw;
  }
  .application a i {
    right: 2.196193265vw;
  }
}
@media (max-width: 768px) {
  .application a {
    margin-top: 20px;
    width: 307px;
    max-width: 100%;
    height: 60px;
    border-radius: 50px;
    border-width: 3px;
    font-size: 16px;
  }
  .application a img {
    width: 82px;
    top: 20px;
    left: -25px;
  }
  .application a i {
    right: 20px;
  }
}