.c-bg-rightfit,.c-bg-leftfit {
    margin-bottom: 2em;
}
.c-title-blue__fuki.sp {
    margin-bottom: 0;
}
.p-service-block__ttl {
    font-size: 1.9rem;
    line-height: 1em;
    font-weight: 700;
    padding: .75em 1em;
    color: var(--color-brown);
    background-color: var(--color-yellow);
    border: 1px solid var(--color-brown);
    display: inline-block;
    margin-bottom: .75em;
}
.p-read-more {
    font-size: 1.2rem;
    font-weight: 500;
    font-family: var(--font-en);
    color: var(--color-blue);
    display: block;
    text-align: right;
    padding-right: 1.5em;
    background-image: url('../images/arrow_r-blue.svg');
    background-repeat: no-repeat;
    background-size: auto .75em;
    background-position: right center;
    margin-top: 1em;
}
.p-cards__exterior.--exterior-index {
    margin-bottom: var(--space-sm);
}
.p-service-area {
    padding: 2em 0;
    display: flex;
    flex-direction: column;
    gap: 1.5em;
}
.p-service-area__ttl {
    color: var(--color-brown);
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 1.5em;
    display: flex;
    align-items: center;
    gap: .75em;
}
.p-service-area__ttl::after {
    content: "";
    display: inline-block;
    width: 4.5em;
    height: 1px;
    background: var(--color-brown);
}
.p-service-area__txt dt {
    font-weight: 700;
    font-size: 1.125em;
    margin-bottom: 1em;
}
.p-service-area__txt dd {
    font-weight: 400;
}
.c-check.--sv-check {
    position: relative;
    margin-top: 11rem;
}
.c-check.--sv-check .sv-check__img {
    height: 13rem;
    position: absolute;
    top: -11rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}
.c-check.--sv-check .sv-check__img img {
    max-width: auto !important;
    height: 100%;
}
.p-sv-anchorlink {
    display: grid;
    gap: 1em;
    margin: 2.5em 0 3em 0;
}
.p-sv-anchorlink .c-btn {
    width: 100%;
}
.p-sv-anchorlink .c-btn::before {
    transform: translateY(-50%) rotate(90deg);
}
.p-service-point,.p-reform__lay {
    margin: 2.5em 0 5em 0;
}
.p-sv-point__lay.c-grid {
    gap: 2em;
    margin-top: 2.5em;
}
.p-sv-point__block {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.p-sv-point__header {
    display: flex;
    align-items:center;
    gap: 1em;
}
.p-sv-point__header__img img {
    width: auto !important;
    height: 11rem;
}
.p-sv-point__header__ttl {
    font-size: 1.7rem;
    line-height: 1.65;
    color: var(--color-blue);
    font-weight: 700;
    position: relative;
    border-bottom: 1px solid var(--color-blue);
    display: inline-block;
    padding-bottom: .5em;
}
.p-sv-point__header__ttl::before{
    content: "";
    display: block;
    width: 1px;
    height: 1em;
    background-color: var(--color-blue);
    position: absolute;
    left: 3em;
    bottom: -.5em;
    transform: rotate(20deg);
}
.p-sv-point__block dl {
    background-color: white;
    padding: 1.5em .5em .5em .5em;
    height: 100%;
}
.p-sv-point__block dt {
    color: var(--color-brown);
    font-weight: 700;
    display: flex;
    align-items: flex-start;
    gap: 1em;
}
.p-sv-point__block dt span {
    border-radius: 50%;
    aspect-ratio: 1/1;
    padding: 1em;
    background-color: var(--color-yellow);
    border: 1px solid var(--color-brown)
}
.p-sv-point__block__ttl {
    font-size: 1.7rem;
    line-height: 1.65;
}
.p-sv-point__block dd {
    padding: 1em;
}
.p-service-flow__title {
    font-size: 1.9rem;
    line-height: 1.65;
    font-weight: 700;
    color: var(--color-blue);
    margin-bottom: 1em;
}
.p-service-flow__step {
    display: grid;
    gap: 3.5em;
    margin: 2em 0 0 0;
    counter-reset: item;
}
.p-flow__step dt {
    position: relative;
    padding-left: 2.75em;
}
.p-flow__step dt::before {
    counter-increment: item;
    content: counter(item);
    display: block;
    width: 2em;
    height: 2em;
    border-radius: 50%;
    line-height: 2em;
    font-size: 1.5rem;
    font-weight: 500;
    font-family: var(--font-en);
    border: 1px solid var(--color-brown);
    background-color: var(--color-yellow);
    color: var(--color-brown);
    text-align: center;
    position: absolute;
    top: .15em;
    left: 0;
}
.p-flow__step {
    position: relative;
    padding: 1.5em 1.5em 2.5em 1.5em;
    display: block;
    z-index: 1;
    height: 100%;
}
.p-flow__step::before,
.p-flow__step::after {
    content: "";
    display: block;
    position: absolute;
}
.p-flow__step::before {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-brown);
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 2em), calc(100% - 2em) 100%, 0 100%);
    z-index: -2;
}
.p-flow__step::after {
    content: "";
    position: absolute;
    top: 1px;
    left: 1px;
    width: calc(100% - 2px);
    height: calc(100% - 2px);
    background-color: #f5f5f5;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 2em), calc(100% - 2em) 100%, 0 100%);
    z-index: -1;
}
.p-flow__step dt {
    border-bottom: 1px solid var(--color-brown);
    padding-bottom: 1em;
}
.p-flow__step dt span {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--color-brown);
}
.p-flow__step dd {
    padding-top: 1em;
}
.p-service-media__lay {
    margin-bottom: 4em;
}
.p-service-media__lay .c-media-lay {
    padding: 2.5em 0;
    border-bottom: 1px solid white;
}
.p-service-media__lay .c-media-lay:last-child {
    border: none;
    padding-bottom: 0;
}
.p-service-faq__title {
    font-size: 1.7rem;
    font-weight: 700;
    color: var(--color-brown);
    line-height: 1.65;
}
.p-service-faq .p-faq .p-faq__q {
    background-color: #f5f5f5;
}
.p-service-faq__btn {
    text-align: center;
    margin-top: 1.5em;
}
.c-media-layout--fit {
    margin-top: var(--space-md);
}
.p-reform__lay {
    display: flex;
    flex-direction: column;
    gap: 2.5em;
}
.p-reform__block {
    background-color: white;
    padding: 2em 1.5em;
    position: relative;
}
.p-reform__block__ttl {
    display: flex;
    flex-direction: column;
    gap: 1.5em;
    margin-bottom: 1.5em;
}
.p-reform__block__ttl--no {
    display: inline-block;
    color: var(--color-blue);
    font-size: 4rem;
    font-family: var(--font-en);
}
.p-reform__block__ttl--jp {
    font-size: 1.8rem;
    line-height: 1.65;
    color: var(--color-brown);
    font-weight: 700;
}
.p-reform__boxs-wrap {
    margin-top: 2em;
}
.p-reform__boxs-ttl {
    font-size: 1.125em;
    font-weight: 700;
    line-height: 1.65;
    color: var(--color-blue);
    margin-bottom: 1em;
}
.p-reform__boxs {
    display: grid;
    border-bottom: 1px solid var(--color-brown);
}
.p-reform__boxs dl {
    border-top: 1px solid var(--color-brown);
    border-right: 1px solid var(--color-brown);
    border-left: 1px solid var(--color-brown);
}
.p-reform__boxs dt {
    background-color: var(--color-yellow);
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .5em;
}
.p-reform__boxs dt span {
    font-size: 1.125em;
    line-height: 1.65;
    color: var(--color-brown);
    font-weight: 700;
}
.p-reform__boxs dd {
    padding: 1em;
}
@media screen and (max-width: 767px) {
   .p-reform__block__img {
        position: absolute;
        right: 1em;
    }
    .p-reform__block:nth-child(1) .p-reform__block__img {
        top: -2em;
        width: 13.8rem;
    }
    .p-reform__block:nth-child(2) .p-reform__block__img {
        top: 2em;
        width: 13rem;
    }
    .p-reform__block:nth-child(3) .p-reform__block__img {
        top: 1em;
        width: 16rem;
    }
    .p-reform__block:nth-child(4) .p-reform__block__img {
        top: -1em;
        width: 12rem;
    }
}
@media screen and (min-width: 768px) {
    .c-bg-rightfit,.c-bg-leftfit {
        margin-bottom: 4.5em;
    }
    .c-media-lay {
        display: flex;
        justify-content: space-between;
        column-gap: 4em;
        align-items: flex-end;
    }
    .c-media-lay .c-media-lay__img {
        width: 56rem;
    }
    .c-media-lay .c-media-lay__txt {
        width: 58rem;
    }
    .c-media-lay.--reverse {
        flex-direction: row-reverse;
    }
    .c-media-lay.--toplay {
        align-items: flex-start
    }
    .p-service-block__ttl span {
        font-size: 1.5em;
    }
    .p-read-more {
        font-size: 1.2rem;
        transition: .3s;
    }
    a:hover .p-read-more {
        color: var(--color-yellow);
    }
    .p-service-area {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
    .p-service-area__txt {
        width: 80rem;
    }
    .p-service-area__map {
        width: 35rem;
    }
    .p-service-area__ttl {
        font-size: 1.5em;
    }
    .c-check.--sv-check {
        margin-top: -2em;
    }
    .c-check.--sv-check .sv-check__img {
        top: -13rem;
        left: 2em;
        transform: translateX(0);
    }
    .p-sv-anchorlink {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2em;
        margin: 3em 0 7.5em 0;
    }
    .p-sv-anchorlink .c-btn span {
        font-size: 1.375em;
        font-weight: 700;
    }
    .p-service-point,.p-reform__lay {
        margin: 4em 0 7em 0;
    }
    .p-sv-point__lay.c-grid {
        gap: 4em;
        margin-top: 3.25em;
    }
    .p-sv-point__header {
        align-items: flex-end;
    }
    .p-sv-point__header__ttl {
        font-size: 2rem;
        margin-bottom: 1.25em;
    }
    .p-sv-point__block dl {
        padding: 2em 1.5em 1em 1.5em;
    }
    .p-sv-point__block dt span {
        font-size: 1.8rem;
    }
    .p-sv-point__block__ttl {
        font-size: 2.2rem;
    }
    .p-reform__block {
        padding: 2.5em;
        display: grid;
        grid-template-columns: 84rem auto;
        grid-template-areas:
		"title img"
		"txt img";
        column-gap: 3em;
    }
    .p-reform__block__ttl {
        flex-direction: row;
        align-items: center;
        gap: 1em;
        grid-area: title;
    }
    .p-reform__block__ttl--no {
        font-size: 5rem;
    }
    .p-reform__block__ttl--jp {
        font-size: 2.2rem;
    }
    .p-reform__block__txt {
        grid-area: txt;
    }
    .p-reform__block__img {
        grid-area: img;
    }
    .p-reform__block:nth-child(3) {
        grid-template-areas:
        "title img"
        "txt img"
        "box box";
        column-gap: .5em;
    }
    .p-reform__boxs-wrap {
        grid-area: box;
    }
    .p-reform__boxs {
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: auto 1fr;
        border-right: 1px solid var(--color-brown);
    }
    .p-reform__boxs dl {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 2;
        border-top: 1px solid var(--color-brown);
        border-right: none;
    }
    .p-reform__boxs dd {
        padding: 1.5em 1.75em;
    }
    .p-service-flow__step .c-flow__box::after {
        right: -2.5em;
        top: 50%;
        left: auto;
        transform: translateX(0) translateY(-50%) rotate(-90deg);
    }
    .p-service-flow__step {
        grid-template-columns: repeat(3, 1fr);
        gap: 3.25em;
        margin: 2.5em 0 1.5em 0;
    }
    .p-flow__step dt::before {
        font-size: 1.8rem;
    }
    .p-flow__step dt span {
        font-size: 2.1rem;
    }
    .p-service-flow__title {
        font-size: 2.8rem;
    }
    .p-flow__step dt span {
        font-size: 2.1rem;
    }
    .p-service-media__lay {
        margin-bottom: 7.5em;
    }
    .p-service-media__lay .c-media-lay {
        padding: 4em 0;
    }
    .p-service-media__lay .c-media-lay__title {
        font-size: 2.6rem;
    }
    .p-service-faq__title {
        font-size: 2.1rem;
        margin: 1em 0 1.5em 0;
    }
    .p-service-faq__btn {
        text-align: none;
        position: absolute;
        top: 2.5em;
        right: 1em;
        margin: 0;
        display: block;
    }
}

