@charset "utf-8";
@import url("root.css");

/***************************************
-------------- PURCHASE --------------
***************************************/
.purchase_step .step_block {
  padding: 0 30px 30px;
  position: relative;
  background: #fff8ed;
  border: solid 1px var(--base-color01);
}

@media (max-width: 599px) {
  .purchase_step .step_block {
    padding: 0 15px 15px;
  }
}

.purchase_step .step_block:not(:last-child) {
  margin-bottom: 80px;
}

@media (max-width: 599px) {
  .purchase_step .step_block:not(:last-child) {
    margin-bottom: 40px;
  }
}

.purchase_step .step_block:not(:last-child):after {
  content: "";
  position: absolute;
  top: auto;
  bottom: -40px;
  right: 0;
  left: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-right: 50px solid transparent;
  border-left: 50px solid transparent;
  border-top: 40px solid var(--base-color01);
}

@media (max-width: 599px) {
  .purchase_step .step_block:not(:last-child):after {
    bottom: -20px;
    border-right: 30px solid transparent;
    border-left: 30px solid transparent;
    border-top: 20px solid var(--base-color01);
  }
}

.purchase_step .step_block h3 {
  font-size: clamp(1.8rem, 2.5vw, 2.6rem);
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.08em;
  display: flex;
  align-items: center;
  padding-bottom: 10px;
  margin-bottom: 15px;
  border-bottom: 2px dashed var(--base-color01);
  font-family: var(--title-font-family);
}
@media (max-width: 599px) {
  .purchase_step .step_block h3 {
    padding-bottom: 5px;
  }
}

.purchase_step .step_block h3 span {
  display: inline-block;
  color: #fff;
  background: var(--base-color01);
  text-align: center;
  padding: 15px 10px;
  font-size: 23px;
  line-height: 1;
  margin-right: 20px;
  font-family: var(--title-font-family);
}

@media (max-width: 599px) {
  .purchase_step .step_block h3 span {
    font-size: 24px;
  }
}

.purchase_step .step_block h3 span small {
  display: block;
}

@media (min-width: 600px) {
  .purchase_step .step_block .cont {
    display: flex;
    justify-content: space-between;
    gap: 0 20px;
  }
}

@media (min-width: 600px) {
  .purchase_step .step_block .cont img {
    width: 30%;
    min-width: 330px;
    height: 100%;
  }
}

.page_wrap .tel a {
  font-size: clamp(3rem, 5vw, 4.8rem);
}

.page_wrap .bg_wrap {
  background: #eeeeee;
  padding: 20px;
}

.page_wrap .bg_wrap .row + .row {
  margin-top: 20px;
  padding-top: 20px;
  border-top: dashed 2px var(--base-color01);

}

/* =======================
  PC
======================== */
@media screen and (min-width: 1200px) {
}

/* =======================
  TABLET
======================== */
@media screen and (max-width: 1199px) {
}

/* =======================
  SP
======================== */
