.content_section {
  min-height: 3000px;
}

.needs_section {
  padding-top: 230px;
}
@media screen and (min-width: 769px) {
  .needs_section {
    padding-top: 140px;
  }
}
.needs_section .sec_title_wrap .number {
  color: #009FE8;
  font-size: 4rem;
  line-height: 1;
}

.top_needs_list {
  display: grid;
  gap: 28px 16px;
  grid-template-columns: 1fr;
  place-content: center;
  place-items: center;
}
.top_needs_list > div {
  display: grid;
  gap: 24px;
  max-width: 339px;
}
@media screen and (min-width: 441px) and (max-width: 1000px) {
  .top_needs_list {
    grid-template-columns: repeat(2, 1fr);
  }
  .top_needs_list > :last-child:nth-child(odd) {
    grid-column: 1/-1;
    justify-self: center;
    max-width: 339px;
    width: 50%;
  }
}
@media screen and (min-width: 1001px) {
  .top_needs_list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.top_needs_list .title {
  padding: 8px;
  color: #FFF;
  background-color: #009FE8;
  border-radius: 4px;
  font-size: 1.125rem;
  text-align: center;
}
.top_needs_list .text {
  line-height: 1.75;
  font-size: 0.875rem;
}
@media screen and (min-width: 769px) {
  .top_needs_list .text {
    font-size: 1rem;
  }
}

.sec_copy {
  background-image: url(../img/common/sec_bg.jpg);
  background-position: center;
  padding: 20px 0;
  min-height: 117px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.sec_copy .sec_copy_text {
  color: #FFF;
  font-weight: bold;
  text-align: center;
  font-size: 1.125rem;
}
@media screen and (min-width: 769px) {
  .sec_copy .sec_copy_text {
    font-size: 1.625rem;
  }
}

.service_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  gap: 16px 2px;
  padding-left: 0;
  list-style: none;
}
.service_list li {
  width: 100%;
}
@media screen and (min-width: 441px) {
  .service_list li {
    max-width: 259px;
  }
}
.service_list::before {
  order: 1;
}
.service_list::before, .service_list::after {
  content: "";
  display: block;
  width: 100%;
  max-width: 259px;
}

.service_btn {
  display: grid;
  grid-template-columns: minmax(auto, 54px) 1fr;
  min-height: 78px;
  gap: 8px;
  margin-bottom: 16px;
  padding: 10px 35px 10px 10px;
  border-radius: 8px;
  border: 1px solid #009FE8;
  background-color: #FFF;
  position: relative;
  cursor: pointer;
  filter: drop-shadow(0px 4px 0px rgba(0, 0, 0, 0.1));
}
.service_btn::before, .service_btn::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.service_btn::before {
  position: absolute;
  right: 35px;
  height: 54px;
  width: 1px;
  background-color: #E7E8E7;
}
.service_btn::after {
  width: 12px;
  aspect-ratio: 12/11;
  right: 12px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211.359%22%20height%3D%2212.622%22%20viewBox%3D%220%200%2011.359%2012.622%22%3E%3Cg%20transform%3D%22translate%28-702%20-2846.421%29%22%3E%3Cpath%20d%3D%22M5.437%2C1.573a1%2C1%2C0%2C0%2C1%2C1.748%2C0l4.611%2C8.3a1%2C1%2C0%2C0%2C1-.874%2C1.486H1.7A1%2C1%2C0%2C0%2C1%2C.825%2C9.874Z%22%20transform%3D%22translate%28713.359%202846.421%29%20rotate%2890%29%22%20fill%3D%22%23009FE8%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
.service_btn + .service_btn_text {
  font-size: 0.875rem;
}

.service_needs_wrap .service_needs_title {
  font-weight: bold;
  font-size: 1.125rem;
  text-align: center;
}
.service_needs_wrap .service_needs_list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding-left: 0;
  list-style: none;
}
.service_needs_wrap .service_needs_list li {
  display: flex;
  align-items: center;
  font-size: 1rem;
  background-color: #F4F7F9;
  padding: 12px;
  gap: 8px;
  width: 100%;
}
@media screen and (min-width: 441px) and (max-width: 1000px) {
  .service_needs_wrap .service_needs_list li {
    width: calc(50% - 8px);
  }
}
@media screen and (min-width: 1001px) {
  .service_needs_wrap .service_needs_list li {
    width: calc(33% - 6px);
  }
}
.service_needs_wrap .service_needs_list li::before {
  display: block;
  content: "";
  width: 18px;
  aspect-ratio: 1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url(../img/common/icon_check.svg);
}

.about01_text {
  font-size: 0.875rem;
}
@media screen and (min-width: 769px) {
  .about01_text {
    font-size: 1rem;
  }
}

.about02_section {
  padding-top: 80px;
}

.about02_title_wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
@media screen and (min-width: 769px) {
  .about02_title_wrap .title {
    padding: 20px 0;
  }
}
.about02_title_wrap .img {
  display: flex;
  align-items: flex-end;
  order: 2;
}
.about02_title_wrap .woman_img {
  width: 40%;
  max-width: 204px;
}
.about02_title_wrap .man_img {
  max-width: 245px;
  width: 45%;
}
@media screen and (min-width: 769px) {
  .about02_title_wrap .man_img {
    order: -1;
  }
}

.about02_box {
  display: grid;
  grid-template-columns: 100%;
  gap: 20px 5%;
  background-color: #FFF;
  border-radius: 24px;
  padding: 30px 15px;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 769px) {
  .about02_box {
    padding: 30px;
    grid-template-columns: repeat(2, 1fr);
  }
}
.about02_box .title {
  margin-bottom: 16px;
  text-align: center;
  font-weight: bold;
  line-height: 1.6;
  font-size: 0.9375rem;
}
@media screen and (min-width: 769px) {
  .about02_box .title {
    margin-bottom: 32px;
    font-size: 1.125rem;
  }
}
.about02_box .title .fs_l {
  font-size: 1.44em;
}
.about02_box .img {
  position: relative;
}
.about02_box .text {
  line-height: 1.8;
}
.about02_box .about_area_label {
  position: absolute;
  top: -25px;
  right: -25px;
  width: 30%;
}
.about02_box .marker {
  color: #F46D00;
  background: linear-gradient(transparent 0, #FFF946 0%);
  display: inline;
}

.about_service_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin-bottom: 16px;
}
@media screen and (min-width: 769px) {
  .about_service_list {
    justify-content: flex-start;
    margin-bottom: 32px;
  }
}
.about_service_list > div {
  padding: 6px 12px;
  color: #FFF;
  font-weight: bold;
  border-radius: 4px;
  border: 1px solid #F46D00;
  background: linear-gradient(to bottom, #ffa300 0%, #ffa300 30%, #f36a00 51%, #f36a00 100%);
  filter: drop-shadow(5px 10px 20px rgba(0, 0, 0, 0.1));
}
.about_service_list > span {
  font-weight: bold;
  font-size: 1.125rem;
}
@media screen and (min-width: 769px) {
  .about_service_list > span {
    font-size: 1.25rem;
  }
}

.case_list {
  display: grid;
  grid-template-columns: 100%;
  gap: 36px 20px;
  padding-left: 0;
  list-style: none;
}
@media screen and (min-width: 441px) and (max-width: 1000px) {
  .case_list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1001px) {
  .case_list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.case_list > li {
  padding: 32px 24px;
  background-color: #FFF;
  border-radius: 0 0 8px 8px;
  filter: drop-shadow(5px 10px 20px rgba(0, 0, 0, 0.1));
}
.case_list > li::before {
  background-color: #a1e2ff;
  content: "";
  height: 7px;
  width: 100%;
  border-radius: 8px 8px 0 0;
  position: absolute;
  bottom: 100%;
  left: 0;
}
.case_list .title_wrap {
  display: grid;
  grid-template-columns: 70px 1fr;
  align-items: center;
  gap: 8px;
  padding-bottom: 16px;
  border-bottom: 1px solid #E7E8E7;
  margin-bottom: 16px;
}
.case_list .title_wrap::before {
  display: block;
  content: "";
  aspect-ratio: 70/62;
  width: 70px;
  background-image: url(../img/common/case_icon.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.case_list .title_wrap .title {
  font-size: 1.125rem;
}
.case_list dl {
  display: grid;
  grid-template-columns: min-content 1fr;
  gap: 8px;
  margin-bottom: 10px;
}
.case_list dl > div {
  display: grid;
  grid: subgrid;
  grid-template-columns: subgrid;
  grid-column: span 2;
  gap: 10px;
  font-size: 0.875rem;
}
.case_list dl dt {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2px 3px;
  background-color: #a1e2ff;
  color: #009FE8;
  font-weight: bold;
  white-space: nowrap;
  text-align: center;
}
.case_list dl dd {
  display: flex;
  align-items: center;
}
.case_list dl .price_dd {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.case_list dl .price_box {
  font-weight: normal;
  font-size: 1.125rem;
  justify-content: flex-start;
}
.case_list dl .price_box .number {
  font-weight: normal;
}
.case_list .date {
  text-align: right;
  font-size: 0.875rem;
}

.feature_section {
  padding-top: clamp(40px, 10vw, 150px);
}

.feature_list {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
@media screen and (min-width: 769px) {
  .feature_list {
    gap: 80px;
  }
}
.feature_list .feature_box:nth-child(odd) .img {
  margin-right: 5%;
}
@media screen and (min-width: 769px) {
  .feature_list .feature_box:nth-child(odd) .img {
    margin-right: -5%;
  }
}
.feature_list .feature_box:nth-child(odd) .content {
  margin-left: 5%;
}
@media screen and (min-width: 769px) {
  .feature_list .feature_box:nth-child(odd) .content {
    margin-left: 0;
  }
}
.feature_list .feature_box:nth-child(even) .img {
  margin-left: 5%;
}
@media screen and (min-width: 769px) {
  .feature_list .feature_box:nth-child(even) .img {
    order: 2;
    margin-left: -5%;
  }
}
.feature_list .feature_box:nth-child(even) .content {
  margin-right: 5%;
}
@media screen and (min-width: 769px) {
  .feature_list .feature_box:nth-child(even) .content {
    margin-right: 0;
  }
}

.feature_box {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media screen and (min-width: 769px) {
  .feature_box {
    flex-direction: row;
  }
}
.feature_box > div {
  width: 95%;
}
@media screen and (min-width: 769px) {
  .feature_box > div {
    width: 55%;
  }
}
.feature_box .content {
  padding: 20px 16px;
  margin-top: -20px;
  background-color: #FFF;
  border-radius: 0 0 16px 16px;
  filter: drop-shadow(5px 10px 20px rgba(0, 0, 0, 0.1));
}
@media screen and (min-width: 769px) {
  .feature_box .content {
    padding: 40px;
    margin-top: 80px;
  }
}
.feature_box .content::before {
  background-color: #009FE8;
  content: "";
  height: 16px;
  width: 100%;
  border-radius: 16px 16px 0 0;
  position: absolute;
  bottom: 100%;
  left: 0;
}
.feature_box .title_wrap {
  position: relative;
}
.feature_box .title_wrap .point_text {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #FFF946;
  color: #009FE8;
  padding: 2px 10px;
  margin-bottom: 10px;
  font-weight: bold;
  line-height: 1.2;
}
.feature_box .title_wrap .title {
  margin-bottom: 18px;
  color: #009FE8;
  font-weight: bold;
  font-size: 1.375rem;
}
@media screen and (min-width: 769px) {
  .feature_box .title_wrap .title {
    font-size: 2rem;
  }
}
.feature_box .title_wrap .icon {
  position: absolute;
  bottom: calc(100% - 20px);
  right: 0;
}
.feature_box .title_wrap .sub_title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: bold;
  margin-bottom: 32px;
  font-size: 1rem;
}
@media screen and (min-width: 769px) {
  .feature_box .title_wrap .sub_title {
    font-size: 1.125rem;
  }
}
.feature_box .title_wrap .sub_title::before {
  display: block;
  content: "";
  aspect-ratio: 1;
  width: 12px;
  border-radius: 150%;
  background-color: #009FE8;
}
.feature_box .feature_icon01 {
  max-width: 83px;
}
.feature_box .feature_icon02 {
  max-width: 162px;
}
.feature_box .feature_icon03 {
  max-width: 113px;
}

.service_pirce_wrap {
  border-radius: 24px;
  padding: 24px 16px 40px;
}
.service_pirce_wrap .service_pirce_title {
  padding-bottom: 16px;
  margin-bottom: 10px;
  text-align: center;
  font-weight: bold;
  font-size: 1.25rem;
}
@media screen and (min-width: 769px) {
  .service_pirce_wrap .service_pirce_title {
    font-size: 1.625rem;
  }
}

.service_price_box {
  display: grid;
}
.service_price_box > div {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  position: relative;
  padding: 30px;
}
.service_price_box > div:not(:last-child)::before {
  display: block;
  content: "";
  width: 90%;
  height: 1px;
  position: absolute;
  top: 100%;
  transform: translateX(-50%);
  left: 50%;
}
@media screen and (min-width: 769px) {
  .service_price_box > div:not(:last-child)::before {
    width: 1px;
    height: 90%;
    top: 50%;
    left: 100%;
    transform: translateY(-50%);
  }
}
.service_price_box .title {
  font-weight: bold;
  font-size: 1.125rem;
}
.service_price_box .text {
  text-align: center;
  font-size: 0.875rem;
}

.service_pirce_main {
  background-color: #FFF;
}
.service_pirce_main .service_pirce_title {
  border-bottom: 1px solid #E7E8E7;
}
.service_pirce_main .service_price_box {
  grid-template-columns: 100%;
}
@media screen and (min-width: 441px) and (max-width: 1000px) {
  .service_pirce_main .service_price_box {
    grid-template-columns: repeat(2, 1fr);
  }
  .service_pirce_main .service_price_box > :last-child:nth-child(odd) {
    grid-column: 1/-1;
    justify-self: center;
    max-width: 339px;
    width: 50%;
  }
}
@media screen and (min-width: 1001px) {
  .service_pirce_main .service_price_box {
    grid-template-columns: repeat(3, 1fr);
  }
}
.service_pirce_main .service_price_box > div::before {
  background-color: #E7E8E7;
}
.service_pirce_main .service_price_box .label {
  width: -moz-fit-content;
  width: fit-content;
  padding: 2px 16px;
  background-color: #009FE8;
  color: #FFF;
  border-radius: 4px;
}
.service_pirce_main .service_price_box .price_box {
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.service_pirce_main .service_price_box .price_box .price_unit {
  color: #009FE8;
  font-weight: bold;
  font-size: 1rem;
}
@media screen and (min-width: 769px) {
  .service_pirce_main .service_price_box .price_box .price_unit {
    font-size: 1.125rem;
  }
}
.service_pirce_main .service_price_box .price_box .price {
  font-size: 1.875rem;
}
@media screen and (min-width: 769px) {
  .service_pirce_main .service_price_box .price_box .price {
    font-size: 2.5rem;
  }
}
.service_pirce_main .service_price_box .text {
  text-align: center;
}

.service_pirce_sub {
  background-color: #EDEDEC;
}
.service_pirce_sub .service_pirce_title {
  border-bottom: 1px solid #FFF;
}
.service_pirce_sub .service_price_box {
  grid-template-columns: 100%;
}
@media screen and (min-width: 441px) and (max-width: 1000px) {
  .service_pirce_sub .service_price_box {
    grid-template-columns: repeat(2, 1fr);
  }
  .service_pirce_sub .service_price_box > div:nth-last-child(2)::before {
    display: none;
  }
}
@media screen and (min-width: 1001px) {
  .service_pirce_sub .service_price_box {
    grid-template-columns: repeat(4, 1fr);
  }
}
.service_pirce_sub .service_price_box > div::before {
  background-color: #FFF;
}

.price_case_list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-left: 0;
  list-style: none;
}
.price_case_list li {
  background-color: #FFF;
  border-radius: 8px;
}

.price_case_box [data-accordion=btn] {
  padding: 20px;
}
.price_case_box [data-accordion=btn] .title {
  font-weight: bold;
  font-size: 1rem;
}
@media screen and (min-width: 769px) {
  .price_case_box [data-accordion=btn] .title {
    font-size: 1.125rem;
  }
}
.price_case_box .price_case_box_inner {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0 20px 20px;
}

.price_case_datail_box {
  padding: 16px 16px 26px;
  background-color: #F4F7F9;
}
.price_case_datail_box .price_case_datail_title {
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 1rem;
}
.price_case_datail_box .content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media screen and (min-width: 769px) {
  .price_case_datail_box .content {
    flex-direction: row;
  }
}
.price_case_datail_box .total_price {
  order: -1;
  font-size: 2.5rem;
}
.price_case_datail_box .total_price .price_unit {
  font-size: 0.45em;
}
.price_case_datail_box .price_box_breakdown {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 32px 32px;
  font-weight: bold;
}
@media screen and (min-width: 769px) {
  .price_case_datail_box .price_box_breakdown {
    justify-content: flex-start;
    gap: 5px 32px;
  }
}
.price_case_datail_box .price_box_breakdown > div {
  display: flex;
  align-items: center;
  gap: 8px;
  background-color: #E7E8E7;
  border-radius: 4px;
  padding: 8px 16px;
  position: relative;
}
.price_case_datail_box .price_box_breakdown > div .title {
  background-color: #2f3031;
  color: #FFF;
  padding: 2px 8px;
  text-align: center;
  font-size: 0.875rem;
}
.price_case_datail_box .price_box_breakdown > div .price_box {
  font-size: 1.5rem;
}
.price_case_datail_box .price_box_breakdown > div:not(:last-child)::after {
  content: "+";
  font-weight: bold;
  font-size: 1rem;
  position: absolute;
  top: calc(100% + 10px);
  transform: translateX(-50%);
  left: 50%;
}
@media screen and (min-width: 769px) {
  .price_case_datail_box .price_box_breakdown > div:not(:last-child)::after {
    top: 50%;
    transform: translateY(-50%);
    left: calc(100% + 10px);
  }
}

.comment_section {
  padding-bottom: clamp(120px, 10vw, 200px);
  margin-bottom: clamp(-140px, -30vw, -40px);
  position: relative;
  z-index: 1;
}

.comment_title_wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 769px) {
  .comment_title_wrap {
    flex-direction: row;
  }
}
.comment_title_wrap .title {
  padding: 20px;
}
.comment_title_wrap .img {
  display: flex;
  align-items: flex-end;
  max-width: 60%;
}

.comment_box_wrap {
  background-color: #FFF;
  border-radius: 24px;
  padding: 30px 16px;
}
@media screen and (min-width: 769px) {
  .comment_box_wrap {
    padding: 40px;
  }
}

.comment_box {
  display: grid;
  grid-template-columns: 100%;
  gap: 20px 5%;
  margin-bottom: 30px;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 769px) {
  .comment_box {
    margin-bottom: 42px;
    grid-template-columns: min(50%, 399px) 1fr;
  }
}
.comment_box .title {
  margin-bottom: 16px;
  font-weight: bold;
  line-height: 1.6;
  font-size: 1.25rem;
}
@media screen and (min-width: 769px) {
  .comment_box .title {
    margin-bottom: 32px;
    font-size: 1.625rem;
  }
}
.comment_box .img {
  position: relative;
  overflow: hidden;
  text-align: center;
}
.comment_box .img img {
  max-width: 399px;
  width: 100%;
  border-radius: 16px;
}
.comment_box .text {
  line-height: 1.8;
}

.review_wrap {
  background-color: #F4F7F9;
  padding: 60px 16px 40px;
  border-radius: 12px;
}
@media screen and (min-width: 769px) {
  .review_wrap {
    padding: 40px;
  }
}

.review_title_wrap {
  position: relative;
}
.review_title_wrap .review_title {
  text-align: center;
  margin-bottom: 16px;
  font-weight: bold;
  line-height: 1.6;
  position: relative;
  z-index: 2;
  font-size: 1.25rem;
}
@media screen and (min-width: 769px) {
  .review_title_wrap .review_title {
    margin-bottom: 32px;
    font-size: 1.625rem;
  }
}
.review_title_wrap .icon {
  position: absolute;
  right: -40px;
  bottom: 100%;
  width: auto;
  max-width: 30%;
}
@media screen and (min-width: 769px) {
  .review_title_wrap .icon {
    right: -40px;
    bottom: -60px;
  }
}

[data-js=review-list] .review-list {
  background: none;
  position: relative;
  z-index: 1;
  padding: 0 !important;
  gap: 20px 2%;
}
[data-js=review-list] .review-card {
  display: none;
  padding: 24px !important;
  background-color: #FFF;
  border-radius: 8px;
  margin: 0 !important;
}
[data-js=review-list] .review-card.on {
  display: flex;
}
[data-js=review-list] .review-card .mrname {
  margin-bottom: 0;
}
[data-js=review-list] .review-card .mrtext {
  flex: 2;
}
[data-js=review-list] .review-card .mrgrade {
  font-size: 1.5em;
  margin-bottom: 10px;
  color: #F46D00;
}
[data-js=review-list] .mrcominfo {
  display: none;
}

.area_section {
  padding-top: 1px;
  margin-top: clamp(30px, 10vw, 160px);
}
.area_section::before {
  background-color: #009FE8;
}
.area_section .sec_title_wrap {
  margin-top: clamp(0px, 5vw, 10px);
  z-index: 2;
  position: relative;
}
@media screen and (min-width: 769px) {
  .area_section .sec_title_wrap {
    margin-top: clamp(-90px, -5vw, 0px);
  }
}

.area_box {
  display: grid;
  grid-template-columns: 100%;
  gap: 20px 5%;
  place-content: center;
  place-items: center;
  margin-bottom: 30px;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 769px) {
  .area_box {
    margin-bottom: 42px;
    grid-template-columns: min(374px, 100%) 1fr;
  }
}
.area_box .title {
  text-align: center;
  margin-bottom: 16px;
  font-weight: bold;
  line-height: 1.6;
  font-size: 1rem;
}
@media screen and (min-width: 769px) {
  .area_box .title {
    margin-bottom: 32px;
    font-size: 1.125rem;
  }
}
.area_box .title img {
  display: block;
  margin: 8px auto 0;
}
.area_box .img {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
}
.area_box .text {
  line-height: 1.8;
  margin-bottom: 20px;
}

.area_point_list {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-bottom: 16px;
}
@media screen and (min-width: 769px) {
  .area_point_list {
    justify-content: center;
    margin-bottom: 32px;
  }
}
.area_point_list .area_point_box {
  width: 100%;
  padding: 8px 8px 12px;
  color: #FFF;
  font-weight: bold;
  border-radius: 4px;
  background-color: #F46D00;
  filter: drop-shadow(5px 10px 20px rgba(0, 0, 0, 0.1));
}
.area_point_list .area_point_box .area_point_title {
  background-color: #FFF;
  color: #F46D00;
  text-align: center;
  padding: auto;
  border-radius: 2px;
  padding: 2px 8px;
  margin-bottom: 12px;
}
.area_point_list .area_point_box .area_point_content {
  display: flex;
  justify-content: center;
  align-items: last baseline;
  font-size: 3rem;
}
.area_point_list .area_point_box .area_point_content .number {
  font-size: 1em;
  line-height: 0.8;
  display: inline-block;
}
.area_point_list .area_point_box .area_point_content .unit {
  font-size: 0.35em;
  line-height: 1.1;
}

.flow_inner {
  border-radius: 24px;
  padding: 30px 16px;
  border: 2px solid #009FE8;
  background-color: #FFF;
  filter: drop-shadow(0px 4px 0px #009fe8);
}
@media screen and (min-width: 769px) {
  .flow_inner {
    padding: 30px;
  }
}

.flow_list {
  display: grid;
  grid-template-columns: 100%;
  gap: 40px;
}
@media screen and (min-width: 441px) and (max-width: 1000px) {
  .flow_list {
    grid-template-columns: repeat(2, 1fr);
    max-width: 496px;
    margin-inline: auto;
  }
}
@media screen and (min-width: 1001px) {
  .flow_list {
    grid-template-columns: repeat(4, 1fr);
  }
}

.flow_box {
  display: grid;
  gap: 10px;
  position: relative;
}
.flow_box::before {
  width: 16px;
  aspect-ratio: 16/31;
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) rotate(90deg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216.472%22%20height%3D%2231.566%22%20viewBox%3D%220%200%2016.472%2031.566%22%3E%3Cpath%20d%3D%22M14.235.58a2.356%2C2.356%2C0%2C0%2C1%2C3.1%2C0L31.111%2C13.89c1.068%2C1.032.139%2C2.582-1.548%2C2.582H2c-1.687%2C0-2.616-1.55-1.548-2.582Z%22%20transform%3D%22translate%2816.472%29%20rotate%2890%29%22%20fill%3D%22%23009FE8%22%2F%3E%3C%2Fsvg%3E");
}
@media screen and (min-width: 441px) {
  .flow_box::before {
    top: 50%;
    left: calc(100% + 16px);
    transform: translateY(-50%);
  }
}
.flow_box:not(:last-child)::before {
  display: block;
  content: "";
}
.flow_box .img {
  position: relative;
}
.flow_box .img img {
  border-radius: 24px;
}
.flow_box .number {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  background-color: #009FE8;
  border-radius: 150%;
  color: #FFF;
  position: absolute;
  top: -8px;
  left: -8px;
  width: 48px;
  font-size: 1.25rem;
}
@media screen and (min-width: 769px) {
  .flow_box .number {
    font-size: 1.5rem;
  }
}
.flow_box .title {
  text-align: center;
  font-weight: bold;
  line-height: 1.6;
  font-size: 1.125rem;
}

.payment_box {
  display: grid;
  grid-template-columns: 100%;
  align-items: center;
  padding: 20px 0;
  background-color: #EDEDEC;
  border-radius: 10px;
}
@media screen and (min-width: 769px) {
  .payment_box {
    grid-template-columns: min-content 1fr;
  }
}
.payment_box .title {
  padding: 0 16px;
  border-right: 1px solid #FFF;
  white-space: nowrap;
  text-align: center;
  font-weight: bold;
  font-size: 1rem;
}
@media screen and (min-width: 769px) {
  .payment_box .title {
    padding: 0 20px;
  }
}
.payment_box .content {
  padding: 0 16px;
}
@media screen and (min-width: 769px) {
  .payment_box .content {
    padding: 0 20px;
  }
}
.payment_box .content .payment_list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding-left: 0;
  list-style: none;
}
.payment_box .content .payment_list li {
  background-color: #FFF;
  padding: 2px 6px;
  font-weight: bold;
  font-size: 0.875rem;
}

.faq_section {
  position: relative;
  z-index: 1;
}
.faq_section .form_inner {
  overflow: hidden;
}

.form_section_wrap {
  overflow: hidden;
  width: 100vw;
}

.form_section {
  background-color: #009FE8;
  position: relative;
  width: 100%;
  margin-top: 60px;
}
@media screen and (min-width: 769px) {
  .form_section {
    margin-top: 200px;
  }
}
.form_section::after {
  display: block;
  width: 100%;
  max-width: 100vw;
  min-height: 100px;
  aspect-ratio: 1484/327;
  content: "";
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-position: center;
  background-image: url(../img/common/bg_town.svg);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -100%);
  z-index: -2;
}
@media screen and (min-width: 769px) {
  .form_section::after {
    min-height: 327px;
  }
}
.form_section .sec_title_wrap {
  position: relative;
  z-index: 1;
  padding: 48px 0 16px;
}
.form_section .sec_title_wrap::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  width: 100vw;
  height: 100%;
  background-image: url(../img/common/sec_bg.jpg);
  background-position: top center;
  z-index: -2;
}
.form_section .title_label {
  padding: 8px 16px;
  border-radius: 50px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #FFF946;
  text-align: center;
  color: #231815;
  font-weight: bold;
  white-space: nowrap;
  font-size: 1rem;
}
@media screen and (min-width: 769px) {
  .form_section .title_label {
    font-size: 1.125rem;
  }
}
.form_section .title_label .number {
  font-size: 1.38em;
}
.form_section .form_text {
  max-width: 800px;
  width: 100%;
  position: relative;
  z-index: 1;
  padding: 30px 0 20px;
}
@media screen and (min-width: 769px) {
  .form_section .form_text {
    padding: 30px 160px 20px 130px;
  }
}
.form_section .form_text::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  width: 100vw;
  height: 100%;
  background-color: #0187c4;
  z-index: -2;
}
.form_section .form_text .copy {
  margin-bottom: 10px;
  font-weight: bold;
  color: #FFF946;
  line-height: 1.2;
  font-size: 1.25rem;
}
@media screen and (min-width: 769px) {
  .form_section .form_text .copy {
    font-size: 1.625rem;
  }
}
.form_section .form_text p {
  font-size: 1rem;
}
.form_section .form_text .time_box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 120px;
  border-radius: 150%;
  background-color: #FFF;
  color: #009FE8;
  position: absolute;
  line-height: 1;
  font-weight: bold;
  aspect-ratio: 1;
  left: 18%;
  top: calc(100% - 10px);
  transform: rotate(-10deg);
  font-size: 1.125rem;
}
@media screen and (min-width: 769px) {
  .form_section .form_text .time_box {
    font-size: 1.3125rem;
    width: 120px;
    left: 0;
    top: -30px;
  }
}
.form_section .form_text .time_box div {
  font-size: 1.238em;
}
.form_section .form_text .time_box div .number {
  font-size: 1.38em;
}

.form_title_wrap {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}
.form_title_wrap .title {
  position: relative;
  padding-bottom: 16px;
  text-align: center;
  line-height: 1.5;
  font-weight: bold;
  letter-spacing: 0.075em;
  font-size: 1.25rem;
}
@media screen and (min-width: 769px) {
  .form_title_wrap .title {
    font-size: 1.625rem;
  }
}
.form_title_wrap .title::after {
  content: "";
  width: 61px;
  height: 2px;
  background-color: #009FE8;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.form_img {
  position: absolute;
  bottom: 100%;
  transform: translateY(24%);
  right: 14%;
  z-index: -2;
  max-width: 150px;
  width: 40%;
}
@media screen and (min-width: 769px) {
  .form_img {
    right: 0;
    width: 20%;
    bottom: 100%;
    transform: translateY(0%);
  }
}

.form_woman_box {
  position: relative;
  z-index: 1;
  margin-top: 120px;
  max-width: 800px;
  margin-inline: auto;
}
@media screen and (min-width: 769px) {
  .form_woman_box {
    margin-top: 0;
  }
}

.form_box_wrap {
  position: relative;
  z-index: 1;
}

.service_cp_price_box {
  background-color: #fff946;
  padding: 8px 10px;
  text-align: center;
  color: #231815;
  width: 100%;
  max-width: 218px;
}
.service_cp_price_box .cp_price_label {
  display: inline-block;
  margin: 0 auto 10px;
  padding: 4px 12px;
  background: #FFF;
  border-radius: 14px;
  color: #231815;
  font-weight: bold;
}
.service_cp_price_box .price_box .price {
  color: #009FE8;
  font-size: 1.6875rem !important;
}
.service_cp_price_box .cp_price_text {
  font-weight: bold;
  font-size: 0.75rem;
}
@media screen and (min-width: 769px) {
  .service_cp_price_box .cp_price_text {
    font-size: 0.875rem;
  }
}