
.fulfillment_ttl {
    color: var(--blue);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.03em;
}
.fulfillment_txt {
    font-size: 16rem;
    font-weight: 700;
    line-height: 1.7;
}
.first_year_ttl {
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.03em;
    color: var(--blue);
}
.first_year_ttl_txt {
    font-size: 16rem;
    font-weight: 700;
    line-height: 1.7;
}
.first_year_ttl_txt_s {
    font-size: 14rem;
}
.other_ttl_wrap {
    padding-bottom: 40rem;
}
.other_ttl {
    color: var(--blue);
    font-size: 35rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.03em;
}
.other_img {
    position: relative;
}
.other_txt {
    font-size: 16rem;
    font-weight: 700;
    line-height: 1.7;
}
@media (min-width: 769px) {
    .subpage_bottom_space_pc .side_border {
        padding-bottom: 100rem;
    }
    .subpage_bottom_space_pc::after {
        bottom: 100rem;
    }
    .fulfillment_content {
        display: flex;
    }
    .fulfillment_img {
        width: 59.7%;
    }
    .fulfillment_img img {
        object-fit: cover;
        width: 100%;
        height: 100%;
    }
    .fulfillment_txt_area {
        width: calc(100% - 59.7%);
        padding: 48rem;
    }
    .fulfillment_ttl {
        font-size: 35rem;
    }
    .fulfillment_txt {
        margin-top: 16rem;
    }
    .first_year_ttl_wrap {
        padding-bottom: 40rem;
    }
    .first_year_ttl {
        font-size: 35rem;
    }
    .first_year_ttl_txt {
        margin-top: 16rem;
    }
    .other {
        padding-inline: 40rem;
    }
    .other_ttl_wrap {
        padding-bottom: 40rem;
    }
    .other_ttl {
        font-size: 35rem;
    }
    .other_list {
        display: grid;
        gap: 0 min(48rem, calc(48 / 1120* 100vw));
        max-width: 1120rem;
        grid-template-columns: 1fr 1fr 1fr;
        margin-inline: auto;
    }
    .other_listitem:nth-child(3n+1) .other_img::before,
    .other_listitem:nth-child(3n+1) .other_img::after {
        content: '';
        display: block;
        position: absolute;
        left: 50%;
        min-width: 1120px;
        width: calc(100vw + 17px); 
        transform: translateX(calc(-50% + (1120rem / 3)));
        z-index: 1;
        border-top: 1px solid rgba(var(--border-color),0.2);
    }
    .other_listitem:nth-child(3n+1) .other_img::before {
        top: 0;
    }
    .other_listitem:nth-child(3n+1) .other_img::after {
        bottom: 0;
    }
    .other_txt {
        padding-block: 16rem 64rem;
    }
}
@media (max-width: 768px) {
    .subpage_bottom_space_sp .side_border {
        padding-bottom: 80rem;
    }
    .subpage_bottom_space_sp::after {
        bottom: 80rem;
    }
    .fulfillment_img,
    .fulfillment_txt_area {
        width: 100%;
    }
    .fulfillment_img {
        position: relative;
    }
    .fulfillment_img::before,
    .fulfillment_img::after {
        content: "";
        display: block;
        width: 100vw;
        height: 1px;
        background-color: rgba(var(--border-color),0.2);
        position: absolute;
        left: 50%;
        margin-left: -50vw;
    }
    .fulfillment_img::before {
        top: 100%;
    }
    .fulfillment_img::after {
        bottom: 100%;
    }
    .fulfillment_ttl {
        font-size: 28rem;
        padding-bottom: 24rem;
    }
    .fulfillment_txt {
        padding-block: 24rem;
    }
    .first_year_ttl {
        font-size: 28rem;
    }
    .first_year_ttl_txt {
        padding-block: 24rem 40rem;
    }
    .first_year_tap_txt {
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 16rem;
        font-weight: 700;
        line-height: 1.7;
        padding-block: 16rem 24rem;
        gap: 4rem;
    }
    .icon_tap {
        width: 15rem;
    }
    .other {
        padding-inline: 24rem;
    }
    .other_ttl_wrap {
        padding-bottom: 24rem;
    }
    .other_ttl {
        font-size: 28rem;
    }
    .other_list {
        display: flex;
        flex-direction: column;
        position: relative;
    }
    .other_img::before,
    .other_img::after {
        content: '';
        display: block;
        position: absolute;
        left: 50%;
        width: 100vw;
        translate: -50% 0;
        z-index: 1;
        border-top: 1px solid rgba(var(--border-color),0.2);
    }
    .other_txt {
        padding-block: 16rem 40rem;
    }
}
