@media screen and (max-width: 670px) {
  .souzoku section > .inner {
    padding: 0 15px;
    max-width: 320px;
  }
  .souzoku .h2_01 {
    font-size: 16px;
    position: relative;
    left: 2px;
    margin-bottom: 27px;
  }
  .souzoku .h2_02 {
    font-size: 16.3px;
    margin-bottom: 20px;
  }
  .souzoku .h2_02 span {
    padding: 0 24px;
  }
  .souzoku .h2_02 span:before, .souzoku .h2_02 span:after {
    width: 16px;
    height: 31px;
    top: -4px;
  }
  .souzoku .h2_02 span:before {
    transform: unset;
  }
  .souzoku .h2_02 span:after {
    transform: scaleX(-1);
  }
  .souzoku .h2_02 b {
    font-size: 19px;
  }
  .souzoku .h2_02 i:before {
    width: 3px;
    height: 3px;
  }
  .souzoku .mainv {
    height: 374px;
  }
  .souzoku .mainv .mainv-inner {
    padding: 74px 15px 30px;
    max-width: 320px;
  }
  .souzoku .mainv .mainv-inner .page-title {
    margin-bottom: 31px;
  }
  .souzoku .mainv .mainv-inner .page-title div {
    line-height: 1.6;
    padding: 0 0.5em;
  }
  .souzoku .mainv .mainv-inner .page-title .txt01 {
    font-size: 11px;
    line-height: 23px;
    padding: 0 7px;
    margin-bottom: 8px;
  }
  .souzoku .mainv .mainv-inner .page-title .txt02 {
    font-size: 14px;
    line-height: 23px;
    padding: 0 6px;
  }
  .souzoku .mainv .mainv-inner .page-title .txt02 b {
    font-size: 16.3px;
  }
  .souzoku .mainv .mainv-inner ul {
    margin-bottom: 21px;
  }
  .souzoku .mainv .mainv-inner ul li {
    font-size: 9.7px;
    padding-left: 11px;
  }
  .souzoku .mainv .mainv-inner ul li:before {
    width: 20px;
    height: 20px;
  }
  .souzoku .mainv .mainv-inner ul li span {
    white-space: nowrap;
  }
  .souzoku .mainv .mainv-inner ul li + li {
    margin-top: 9px;
  }
  .souzoku .mainv .mainv-inner .mainv-txt {
    margin-top: 15px;
  }
  .souzoku .mainv .mainv-inner .mainv-txt p {
    font-size: 9.7px;
    line-height: 16px;
  }
  .souzoku .mainv .mainv-inner .mainv-txt p + p {
    margin-top: 6px;
  }
  .souzoku .mainv .mainv-inner .tel-box {
    position: fixed;
    bottom: 0;
    z-index: 10;
    width: 214px;
    right: unset;
    top: unset;
    left: 50%;
    transform: translateX(-50%);
    min-width: 0;
    font-size: 7px;
    line-height: 10.5px;
    padding: 9px 7px 9px;
  }
  .souzoku .mainv .mainv-inner .tel-box .tel-txt {
    min-width: 0;
    margin-bottom: 10px;
    white-space: nowrap;
    font-size: 6.7px;
    line-height: 14px;
    padding: 0;
  }
  .souzoku .mainv .mainv-inner .tel-box .tel-txt span {
    font-size: 10px;
  }
  .souzoku .mainv .mainv-inner .tel-box .tel-num-flex {
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 3px;
  }
  .souzoku .mainv .mainv-inner .tel-box .tel-num {
    width: auto;
    padding-left: 0;
    margin: 0;
    margin-bottom: 0;
  }
  .souzoku .mainv .mainv-inner .tel-box .tel-num:before {
    width: 12px;
    height: 12px;
  }
  .souzoku .mainv .mainv-inner .tel-box .tel-num span {
    font-size: 17px;
    padding-left: 17px;
    letter-spacing: 0.03em;
  }
  .souzoku .mainv .mainv-inner .tel-box .tel-num span:before {
    width: 12px;
    height: 12px;
    top: 0px;
    left: 1px;
  }
  .souzoku .mainv .mainv-inner .tel-box .tel-time {
    font-size: 6px;
    white-space: nowrap;
    padding-left: 0;
  }
  .souzoku .sec01 {
    padding: 27px 0 81px;
    background-image: url("../img/consultation-bg-sp@2x.png");
    clip-path: polygon(0% 0%, 0% calc(100% - 39px), 50% 100%, 100% calc(100% - 39px), 100% 0%);
  }
  .souzoku .sec01 .inner {
    padding: 0;
  }
  .souzoku .sec01 h2 {
    margin-bottom: 22px;
  }
  .souzoku .sec01 h2 span {
    white-space: nowrap;
  }
  .souzoku .consultation .consultation-list {
    padding: 0 15px;
    gap: 8px 3.44%;
    margin-bottom: 14px;
  }
  .souzoku .consultation .consultation-list .item {
    width: 45%;
    width: 48.28%;
    padding: 11px 0 8px;
  }
  .souzoku .consultation .consultation-list .item figure {
    height: 42px;
    margin-bottom: 7px;
  }
  .souzoku .consultation .consultation-list .item figure img {
    max-width: 42px;
    height: 100%;
  }
  .souzoku .consultation .consultation-list .item p {
    font-size: 9px;
  }
  .souzoku .consultation .consultation-arrow {
    margin-bottom: 8px;
  }
  .souzoku .consultation .consultation-arrow img {
    width: 87px;
    height: 38px;
  }
  .souzoku .consultation .consultation-txt p {
    font-size: 14.8px;
  }
  .souzoku .consultation .consultation-txt p b {
    font-size: 18px;
    line-height: 1.5;
  }
  .souzoku .consultation .consultation-txt p .underline {
    white-space: nowrap;
  }
  .souzoku .consultation .consultation-txt p .underline:before {
    height: 5px;
  }
  .souzoku .sec02 {
    background-image: url("../img/reasons-bg-sp.jpg");
    clip-path: polygon(0% 0%, 0% calc(100% - 39px), 50% 100%, 100% calc(100% - 39px), 100% 0%);
    margin-top: -39px;
    padding-top: 46px;
    padding-bottom: 67px;
  }
  .souzoku .sec02 h2 {
    font-size: 19px;
    line-height: 2;
    margin-bottom: 37px;
  }
  .souzoku .sec02 h2 span {
    padding: 0 23px;
    white-space: nowrap;
  }
  .souzoku .sec02 h2 span:before, .souzoku .sec02 h2 span:after {
    width: 26px;
    height: 55px;
    top: 14px;
  }
  .souzoku .sec02 h2 b {
    font-size: 23px;
    margin-right: 0;
    line-height: 1;
  }
  .souzoku .reason .onestop {
    padding: 44px 17px 31px;
  }
  .souzoku .reason .onestop .onestop-title {
    padding: 9px;
    padding-left: 24px;
    padding-right: 22px;
    font-size: 23px;
    top: -21px;
    left: calc(50% + 11px);
    transform: translateX(-50%);
  }
  .souzoku .reason .onestop .onestop-title:before {
    width: 40px;
    height: 40px;
    top: 2px;
    left: -21px;
    filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.16));
  }
  .souzoku .reason .onestop .onestop-title:after {
    filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.16));
  }
  .souzoku .reason .onestop .onestop-img {
    width: 100%;
    max-width: 344px;
    margin: 0 auto 20px;
  }
  .souzoku .reason .onestop .note {
    font-size: 10px;
    margin-bottom: 31px;
  }
  .souzoku .reason .onestop .note span {
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
  }
  .souzoku .reason .onestop .onestop-bt-txt {
    font-size: 15px;
    line-height: 1;
    white-space: nowrap;
    position: relative;
    left: 5px;
  }
  .souzoku .reason .onestop .onestop-bt-txt span {
    font-size: 19px;
    line-height: 2;
  }
  .souzoku .sec03 {
    background-image: url("../img/flow-bg-sp.jpg");
    clip-path: polygon(0% 0%, 0% calc(100% - 39px), 50% 100%, 100% calc(100% - 39px), 100% 0%);
    margin-top: -39px;
    padding-top: 69px;
    padding-bottom: 77px;
  }
  .souzoku .sec03 h2 {
    margin-bottom: 27px;
  }
  .souzoku .flow .flow-list ul {
    padding-left: 0;
  }
  .souzoku .flow .flow-list ul li {
    min-height: 46px;
    margin-bottom: 29px;
    flex-wrap: wrap;
    padding: 7px 0 10px;
    padding-left: 24px;
    padding-right: 64px;
    gap: 5px;
    flex-direction: column;
    align-items: flex-start;
  }
  .souzoku .flow .flow-list ul li:before {
    width: 86px;
    height: 14px;
    bottom: -19px;
  }
  .souzoku .flow .flow-list ul li .step {
    font-size: 12px;
  }
  .souzoku .flow .flow-list ul li .step:before {
    display: none;
  }
  .souzoku .flow .flow-list ul li .txt {
    font-size: 12.5px;
  }
  .souzoku .flow .flow-list ul li figure {
    width: 64px;
    height: 64px;
    right: -1px;
  }
  .souzoku .flow .flow-bt {
    margin-top: 31px;
  }
  .souzoku .flow .flow-bt p {
    font-size: 15.5px;
    line-height: 1;
  }
  .souzoku .flow .flow-bt p span {
    font-size: 20px;
    line-height: 1.8;
  }
  .souzoku .sec04 {
    margin-top: -39px;
    padding-top: 71px;
    padding-bottom: 35px;
  }
  .souzoku .sec04 .inner {
    max-width: 320px;
  }
  .souzoku .sec04 h2 {
    font-size: 16px;
    margin-bottom: 21px;
  }
  .souzoku .company .company-box-wrap {
    height: auto;
  }
  .souzoku .company .company-img {
    width: 95.3125%;
    height: 211px;
  }
  .souzoku .company .company-box {
    position: relative;
    top: 0px;
    right: 0;
    width: 95.3125%;
    min-width: 0;
    padding: 36px 13px 30px 16px;
    margin: 0 0 0 auto;
    margin-top: -29px;
  }
  .souzoku .company .company-box .name {
    font-size: 27.8px;
    letter-spacing: 0;
    top: -13px;
  }
  .souzoku .company .company-box .txt {
    font-size: 9px;
    max-width: 100%;
    margin-bottom: 17px;
    white-space: nowrap;
  }
  .souzoku .company .tel-box {
    padding: 8px 0 16px;
    max-width: 100%;
  }
  .souzoku .company .tel-box p {
    font-size: 8.3px;
    position: relative;
    left: -6px;
  }
  .souzoku .company .tel-box .tel-num {
    padding-left: 25px;
    margin: 6px auto;
  }
  .souzoku .company .tel-box .tel-num:before {
    width: 17px;
    height: 17px;
    top: 6px;
  }
  .souzoku .company .tel-box .tel-num span {
    font-size: 26px;
  }
  .footer {
    position: relative;
    z-index: 20;
  }
}/*# sourceMappingURL=souzoku_sp.css.map */