@import "https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@700&display=swap";
.p-flow {
  padding-top: 2rem; /* 20px */
}

.p-flow__main {
  counter-reset: number 0;
}

.p-flow__box {
  background: #f8f5f2;
  padding: 4.4rem 5rem 5rem; /* 44px 50px 50px */
  position: relative;
}

.p-flow__box::before {
  counter-increment: number 1;
  content: counter(number);
  color: #00bc8b;
  font-family: "Nunito Sans", sans-serif;
  font-size: 6rem; /* 60px */
  position: absolute;
  top: -3.6rem; /* -36px */
  left: 3rem; /* 30px */
}

.p-flow__box + .p-flow__box {
  margin-top: 6.6rem; /* 66px */
}

.p-flow__box__body + .c-heading01 {
  margin-top: 6.4rem; /* 64px */
}

.p-flow__box__body .c-text + .p-flow__box__column {
  margin-top: 2.8rem; /* 28px */
}

.p-flow__box__column {
  display: flex;
  justify-content: space-between;
}

.p-flow__box__column__in {
  width: 48.5%;
}

.p-flow__box__contact {
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2.6rem 0; /* 26px 0 */
  margin-top: 3.4rem; /* 34px */
}

.p-flow__box__contact__tel {
  margin-right: 7rem; /* 70px */
}

.p-flow__box__point {
  display: flex;
  justify-content: space-between;
  margin-top: 3rem; /* 30px */
}

.p-flow__box__point .en {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6.9rem; /* 69px */
  height: 3rem; /* 30px */
  border-radius: 5px;
  background: #00bc8b;
  color: #fff;
  font-size: 1.6rem; /* 16px */
  font-family: "Nunito Sans", sans-serif;
}

.p-flow__box__point .jp {
  font-size: 1.6rem; /* 16px */
  line-height: 1.8;
  width: calc(100% - 7.9rem); /* calc(100% - 79px) */
}

.p-flow__box__point .jp span {
  font-size: 1.4rem; /* 14px */
}

.p-flow__box__body__button {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 3.2rem; /* 32px */
}

.p-flow__box__body__button a {
  margin: 0 1.5rem; /* 0 15px */
}

.p-flow__box__banner {
  display: block;
  margin-top: 1.8rem; /* 18px */
}

.p-flow__more {
  margin-top: 6rem; /* 60px */
}

/* ここからスマホ ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/

@media screen and (max-width: 768px) {
  .p-flow {
    padding-top: 0;
  }

  .p-flow__box {
    margin: 0 -4vw;
    padding: 9.0666666667vw 4vw 10.6666666667vw;
  }

  .p-flow__box::before {
    font-size: 10.6666666667vw;
    top: -6.4vw;
    left: 4vw;
  }

  .p-flow__box + .p-flow__box {
    margin-top: 11.4666666667vw;
  }

  .p-flow__box__body + .c-heading01 {
    margin-top: 10.1333333333vw;
  }
  .p-flow__box__body .c-text + .p-flow__box__column {
    margin-top: 5.8666666667vw;
  }

  .p-flow__box__column {
    display: block;
  }

  .p-flow__box__column__in {
    width: 100%;
  }
  .p-flow__box__column__in + .p-flow__box__column__in {
    margin-top: 6.9333333333vw;
  }
  .p-flow__box__contact {
    padding: 7.4666666667vw 5.3333333333vw 8vw;
    margin-top: 6.4vw;
    display: block;
  }

  .p-flow__box__contact__tel {
    width: 100%;
  }

  .p-flow__box__contact__button {
    margin-top: 5.3333333333vw;
  }
  .p-flow__box__point {
    margin-top: 6.1333333333vw;
  }

  .p-flow__box__point .en {
    width: 18.4vw;
    height: 8vw;
    font-size: 4.2666666667vw;
  }
  .p-flow__box__point .jp {
    margin-top: -1.6vw;
    font-size: 4.2666666667vw;
    width: calc(100% - 21.0666666667vw);
  }
  .p-flow__box__body__button {
    display: block;
    margin-top: 6.4vw;
  }
  .p-flow__box__body__button a {
    margin: 4vw 0;
  }
}
