.funeral-flow {
    counter-reset: step;
}
.funeral-flow .card:not(:first-child) {
    margin-top: 40px;
}
.funeral-flow .card:before{
    content: ' ';
    position: absolute;
    top: 40px;
    bottom: -40px;
    left: 74.5px;
    width: 2px;
    background-color: #45C4B7;
}
.funeral-flow .card:after {
    counter-increment: step;
    content: counter(step);
    position: absolute;
    top: 40px;
    left: 40px;
    text-align: center;
    width: 72px;
    line-height: 1;
    background-color: #45C4B7;
    color: #FFFFFF;
    font-size: 18px;
    font-weight: 700;
    padding: 27px 0;
    border-radius: 8px;
    z-index: 0;
}
.btn-telp:hover {
  background: linear-gradient(180deg, #FFFFFF 0%, #FFF7AB 100%) !important;
}
.btn-telp img {
    width: 40px;
}
.funeral-flow p.prie-member {
    color: #D8275F;
}
ul.process-info li {
    list-style: disc;
}
.funeral-case .card h3,
.funeral-case h4 {
    font-size: 22px;
}
.funeral-case {
    background-image: url('../images/funeral-flow/bg-1.png');
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: contain;
}
.border-bottom-dashed {
    border-bottom: 1px dashed #000000;
}
.funeral-flow .one ul.btn-group li img,
.funeral-flow .two ul.btn-group li img,
.funeral-flow .three ul.btn-group li img,
.funeral-flow .four ul.btn-group li img,
.funeral-flow .five ul.btn-group li img,
.funeral-flow .six ul.btn-group li img {
    width: 13px;
    height: 13px;
}

/* PC ONLY */
@media only screen and (min-width: 992px) {
    .funeral-flow .card.card:not(:first-child):before {
        top: 0;
    }
    .funeral-flow .card:last-child:before {
        bottom: auto;
        height: 72px;
    }
    .funeral-flow p.prie-member {
        font-weight: 700;
    }
    .funeral-flow .card > div > div img {
        width: 300px;
        min-width: 300px;
        object-fit: cover;
    }
    .funeral-flow .card ul.btn-group,
    .funeral-case .btn {
        min-width: 200px;
        width: 200px;
    }
    .funeral-case .card img {
        min-width: 80px;
        width: 80px;
    }
    .btn-telp {
        font-size: 42px !important;
        font-weight: 600;
        line-height: 1;
        width: 100% !important;
    }
}

/* SP ONLY */
@media only screen and (max-width: 991px) {
    .funeral-flow .card:not(:first-child) {
        margin-top: 32px;
    }
    .funeral-flow .card:first-child:before {
        display: none;
    }
    .funeral-flow .card:before {
        top: -32px;
        bottom: auto;
        left: calc(50% - 1px);
        width: 2px;
        height: 32px;
    }
    .funeral-flow .card:after {
        top: -20px;
        left: calc(50% - 20px);
        width: 40px;
        padding: 11px 0;
    }
    .funeral-flow .card h2 {
        font-size: 18px;
    }
    ul.btn-group li.btn,
    .funeral-case .btn {
        font-size: 12px;
    }
    .btn-telp img {
        width: 28px;
    }
    .funeral-case .card h3,
    .funeral-case h4 {
        font-size: 16px;
    }
}