.page_intro_block .ttl_box {
  margin-top: 1.7%;
  padding-left: 10.8%;
}
.page_intro_block .ttl_box::before {
  background: url(../img/common/price_illust01.png) no-repeat center bottom;
  background-size: contain;
  width: 218px;
  width: min(16vw, 218px);
  height: min(calc(16vw * 0.858), 187px);
  display: block;
}
.page_intro_block .overlap_box .txt_box::after {
  background: url(../img/line/txt_guidance.png) no-repeat top left;
  background-size: contain;
  width: min(19vw, 249px);
  height: 81px;
  left: -60.5%;
  bottom: -19.5%;
}

.sec_merit .sec_ttl_box {
  background: url(../img/common/bg_town03.png) no-repeat bottom center;
  background-size: 100% auto;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 0 20px;
  padding: 0 6% 0 0;
  margin-top: -14px;
}
.sec_merit .sec_ttl_box::before {
  content: "";
  background: url(../img/common/reasons_illust.png) no-repeat center bottom;
  background-size: contain;
  width: min(19vw, 265px);
  height: min(15.5vw, 206.17px);
  display: block;
}
.sec_merit .sec_ttl {
  font-size: min(4.2vw, 57px);
  line-height: 1.3;
  margin-bottom: 34px;
  text-indent: -0.2em;
  text-shadow: rgb(255, 255, 255) 5px 0px 0px, rgb(255, 255, 255) 4.90033px 0.993347px 0px, rgb(255, 255, 255) 4.60531px 1.94709px 0px, rgb(255, 255, 255) 4.12668px 2.82321px 0px, rgb(255, 255, 255) 3.48353px 3.58678px 0px, rgb(255, 255, 255) 2.70151px 4.20736px 0px, rgb(255, 255, 255) 1.81179px 4.6602px 0px, rgb(255, 255, 255) 0.849836px 4.92725px 0px, rgb(255, 255, 255) -0.145998px 4.99787px 0px, rgb(255, 255, 255) -1.13601px 4.86924px 0px, rgb(255, 255, 255) -2.08073px 4.54649px 0px, rgb(255, 255, 255) -2.94251px 4.04248px 0px, rgb(255, 255, 255) -3.68697px 3.37732px 0px, rgb(255, 255, 255) -4.28444px 2.57751px 0px, rgb(255, 255, 255) -4.71111px 1.67494px 0px, rgb(255, 255, 255) -4.94996px 0.7056px 0px, rgb(255, 255, 255) -4.99147px -0.291871px 0px, rgb(255, 255, 255) -4.83399px -1.27771px 0px, rgb(255, 255, 255) -4.48379px -2.2126px 0px, rgb(255, 255, 255) -3.95484px -3.05929px 0px, rgb(255, 255, 255) -3.26822px -3.78401px 0px, rgb(255, 255, 255) -2.4513px -4.35788px 0px, rgb(255, 255, 255) -1.53666px -4.75801px 0px, rgb(255, 255, 255) -0.560763px -4.96845px 0px, rgb(255, 255, 255) 0.437495px -4.98082px 0px, rgb(255, 255, 255) 1.41831px -4.79462px 0px, rgb(255, 255, 255) 2.34258px -4.41727px 0px, rgb(255, 255, 255) 3.17346px -3.86382px 0px, rgb(255, 255, 255) 3.87783px -3.15633px 0px, rgb(255, 255, 255) 4.4276px -2.32301px 0px, rgb(255, 255, 255) 4.80085px -1.39708px 0px, rgb(255, 255, 255) 4.98271px -0.415447px 0px;
}
.sec_merit .sec_ttl .size_small {
  font-size: 0.65em;
}
.sec_merit ul {
  gap: 30px 0;
}
.sec_merit li {
  width: 31.8%;
  position: relative;
  background: #f5f5f5;
}
.sec_merit li .txt_box {
  padding: 9.1% 11.2% 13%;
}
.sec_merit li .ttl {
  font-size: min(1.8vw, 25px);
  margin: 0 -10px 20px;
  min-height: min(5.5vw, 80px);
}
.sec_merit li::before {
  content: "";
  background: url(../img/common/label_num01.svg) no-repeat;
  background-size: contain;
  width: 80px;
  height: 80px;
  position: absolute;
  top: 0;
  left: 0;
}
.sec_merit li:nth-child(2)::before {
  background: url(../img/common/label_num02.svg) no-repeat;
  background-size: contain;
}
.sec_merit li:nth-child(3)::before {
  background: url(../img/common/label_num03.svg) no-repeat;
  background-size: contain;
}

.sec_line-flow {
  position: relative;
  z-index: 1;
}
.sec_line-flow .sec_ttl_box {
  background: url(../img/common/bg_town03.png) no-repeat bottom center;
  background-size: 100% auto;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 0 20px;
  padding: 0 14.5% 0 0;
}
.sec_line-flow .sec_ttl_box::before {
  content: "";
  background: url(../img/common/service_illust.png) no-repeat center bottom;
  background-size: contain;
  width: min(27vw, 374px);
  height: min(14.5vw, calc(374px * 0.492));
  display: block;
}
.sec_line-flow .sec_ttl_box .sec_ttl {
  font-size: min(4.2vw, 57px);
  line-height: 1.3;
  text-indent: -0.2em;
  letter-spacing: 0.01em;
  margin-bottom: 2.4%;
}
.sec_line-flow .box_wrapper::after {
  content: "";
  background: url(../img/common/flow_txt.png) no-repeat;
  background-size: contain;
  width: 141px;
  height: 84px;
  position: absolute;
  bottom: -53px;
  right: 30px;
}
.sec_line-flow .flow_box {
  background: #f5f5f5;
  position: relative;
  margin-bottom: 50px;
}
.sec_line-flow .flow_box .step_label {
  background: #4c99d4;
  position: absolute;
  left: 0;
  top: 0;
  padding: 8px 23px 5px 25px;
}
.sec_line-flow .flow_box .step_label p {
  font-size: min(2.4vw, 27px);
  font-weight: bold;
  line-height: 1.4;
  transform: skewX(-10deg) translateX(2px);
  letter-spacing: 0.08em;
}
.sec_line-flow .flow_box .step_label p span {
  font-size: 1.5em;
}
.sec_line-flow .flow_box .step_label::after {
  content: "";
  background: url(../img/flow/label_after.png) no-repeat;
  background-size: cover;
  width: 10px;
  height: 100%;
  position: absolute;
  right: -10px;
  top: 0;
}
.sec_line-flow .flow_box .row {
  margin: 3px 0;
}
.sec_line-flow .flow_box .txt_box {
  width: 47.7%;
  padding-top: 4.5%;
}
.sec_line-flow .flow_box .txt_box .content_ttl {
  margin-bottom: 10px;
}
.sec_line-flow .flow_box img {
  width: 47.7%;
}
.sec_line-flow .flow_box::after {
  content: "";
  background: #d2e5f4;
  width: 80px;
  height: 40px;
  position: absolute;
  bottom: -39px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
          clip-path: polygon(50% 100%, 0 0, 100% 0);
}
.sec_line-flow .flow_box.last {
  margin-bottom: 0;
}
.sec_line-flow .flow_box.last::after {
  content: none;
}

.sec_point .sec_ttl {
  font-size: min(4.2vw, 57px);
  margin-bottom: 24px;
}
.sec_point .sec_ttl .size_small {
  font-size: 0.65em;
  position: relative;
}
.sec_point .sec_ttl .size_small::before {
  content: "";
  background: url(../img/line/icon_phone.png) no-repeat;
  background-size: contain;
  width: 45px;
  height: 60px;
  position: absolute;
  left: -65px;
  top: -9px;
  transform: skewX(10deg);
}
.sec_point .point_content.point_01 {
  margin-bottom: 40px;
}
.sec_point .point_content .content_ttl {
  padding: 1.8% 0 2%;
}
.sec_point .point_content .row {
  margin-top: -10px;
}
.sec_point .point_content .txt_box {
  width: 52%;
}
.sec_point .point_content .txt_box .ttl {
  font-size: min(2.6vw, 32px);
  margin: -12px 0 15px;
}
.sec_point .point_content .photo {
  width: 43%;
}

@media only screen and (max-width: 1024px) {
  .sec_line-flow .sec_ttl_box {
    margin-top: -20px;
  }
}
@media only screen and (max-width: 960px) {
  .page_intro_block .overlap_box .txt_box::after {
    bottom: 3%;
  }
  .sec_merit li::before {
    width: 56px;
    height: 56px;
  }
  .sec_line-flow .box_wrapper::after {
    width: 98.7px;
    height: 58.8px;
    bottom: -30px;
    right: 15px;
  }
  .sec_line-flow .flow_box .step_label {
    padding: 6px 16px 2px 16px;
  }
  .sec_point .sec_ttl .size_small::before {
    width: 31.5px;
    height: 42px;
    left: -48px;
  }
}
@media only screen and (max-width: 568px) {
  .page_intro_block .ttl_box {
    margin-top: 0;
    padding-left: 0;
  }
  .page_intro_block .ttl_box::before {
    width: 125px;
    height: 107px;
    margin-left: 20px;
  }
  .page_intro_block .overlap_box .txt_box::after {
    width: 136px;
    height: 44px;
    bottom: -15px;
    left: initial;
    right: -26px;
  }
  .sec_merit {
    overflow: hidden;
  }
  .sec_merit .inner_wide {
    width: 100%;
  }
  .sec_merit .sec_ttl_box {
    flex-direction: column;
    align-items: center;
    background: url(../img/common/bg_town04_sp.png) no-repeat top 34px center;
    background-size: 375px 70px;
    padding: 0;
    margin-top: -8px;
  }
  .sec_merit .sec_ttl_box::before {
    width: 136px;
    height: 104px;
    background: url(../img/common/reasons_illust_sp03.png) no-repeat;
    background-size: contain;
  }
  .sec_merit .sec_ttl {
    font-size: 32px;
    line-height: 1.25;
    text-align: center;
    margin: 0;
    position: absolute;
    top: 108px;
    left: 50%;
    width: 100%;
    transform: translateX(-49%) skewX(-10deg);
  }
  .sec_merit .box_wrapper {
    padding-top: 138px;
    padding-bottom: 30px;
  }
  .sec_merit ul {
    flex-direction: column;
    gap: 20px 0;
  }
  .sec_merit li {
    width: 100%;
  }
  .sec_merit li::before {
    width: 70px;
    height: 70px;
  }
  .sec_merit li .ttl {
    font-size: 21px;
    margin-bottom: 8px;
  }
  .sec_merit li .txt_box {
    padding: 14px 20px 20px;
  }
  .sec_line-flow .sec_ttl_box {
    background: none;
    position: relative;
    padding: 0 9vw 0 0;
    margin-top: -10px;
  }
  .sec_line-flow .sec_ttl_box::before {
    width: 156px;
    height: 78px;
    position: absolute;
    left: -28px;
    bottom: 0;
  }
  .sec_line-flow .sec_ttl_box .sec_ttl {
    font-size: 32px;
    text-shadow: rgb(255, 255, 255) 3px 0px 0px, rgb(255, 255, 255) 2.83487px 0.981584px 0px, rgb(255, 255, 255) 2.35766px 1.85511px 0px, rgb(255, 255, 255) 1.62091px 2.52441px 0px, rgb(255, 255, 255) 0.705713px 2.91581px 0px, rgb(255, 255, 255) -0.287171px 2.98622px 0px, rgb(255, 255, 255) -1.24844px 2.72789px 0px, rgb(255, 255, 255) -2.07227px 2.16926px 0px, rgb(255, 255, 255) -2.66798px 1.37182px 0px, rgb(255, 255, 255) -2.96998px 0.42336px 0px, rgb(255, 255, 255) -2.94502px -0.571704px 0px, rgb(255, 255, 255) -2.59586px -1.50383px 0px, rgb(255, 255, 255) -1.96093px -2.27041px 0px, rgb(255, 255, 255) -1.11013px -2.78704px 0px, rgb(255, 255, 255) -0.137119px -2.99686px 0px, rgb(255, 255, 255) 0.850987px -2.87677px 0px, rgb(255, 255, 255) 1.74541px -2.43999px 0px, rgb(255, 255, 255) 2.44769px -1.73459px 0px, rgb(255, 255, 255) 2.88051px -0.838247px 0px;
    margin: 0 0 16px auto;
  }
  .sec_line-flow .sec_ttl_box .sec_ttl .size_small {
    font-size: 0.62em;
  }
  .sec_line-flow .box_wrapper {
    margin: 0 -5.3vw;
    width: initial;
    padding: 30px 5.3vw;
  }
  .sec_line-flow .box_wrapper::after {
    width: 78px;
    height: 46px;
    bottom: -21px;
    right: -5px;
  }
  .sec_line-flow .flow_box {
    margin-bottom: 35px;
  }
  .sec_line-flow .flow_box .step_label {
    padding: 8px 11px 4px 13px;
  }
  .sec_line-flow .flow_box .step_label p {
    font-size: 18px;
  }
  .sec_line-flow .flow_box .step_label p span {
    font-size: 1.55em;
  }
  .sec_line-flow .flow_box .row {
    flex-direction: column-reverse;
    margin: 0;
  }
  .sec_line-flow .flow_box .txt_box {
    width: 100%;
    padding-top: 0;
  }
  .sec_line-flow .flow_box .txt_box .content_ttl {
    margin: 11px 0 7px;
    text-align: center;
  }
  .sec_line-flow .flow_box img {
    width: 100%;
  }
  .sec_line-flow .flow_box::after {
    width: 60px;
    height: 30px;
    bottom: -29px;
  }
  .sec_point .sec_ttl {
    font-size: 32px;
    padding-left: 8vw;
    margin: 10px 0 16px;
  }
  .sec_point .sec_ttl .size_small::before {
    width: 30px;
    height: 40px;
    left: -40px;
    top: -14px;
  }
  .sec_point .point_content {
    margin: 0 -5.3vw;
  }
  .sec_point .point_content.point_01 {
    margin-bottom: 30px;
  }
  .sec_point .point_content .content_ttl {
    font-size: 23px;
    padding: 2.2% 0 2.4%;
  }
  .sec_point .point_content .row {
    margin: 0;
    flex-direction: column;
  }
  .sec_point .point_content .photo {
    width: 100%;
  }
  .sec_point .point_content .txt_box {
    width: 100%;
  }
  .sec_point .point_content .txt_box .ttl {
    font-size: 21px;
    margin: 16px 0 8px;
    text-align: center;
  }
}/*# sourceMappingURL=line.css.map */