.p-bold {
    font-weight: bold !important;
}

.p-big {
    font-size: 1.15em !important;
}

.checkbox2 {
    padding: 20px 10px !important;
}

.checkbox2 li:last-child {
    margin-bottom: 0 !important;
}

table.progress {
    border-collapse: collapse;
    width          : 100%;
}

table.progress th,
table.progress td {
    padding: 10px;
    border : 1px solid #000;
}

table.progress th {
    text-align: center;
    background: #36AB94;
    color     : #fff;
    width     : 50%;

    @media screen and (max-width: 768px) {
        width: 100%;
    }
}

table.progress th:first-child {
    width: 250px;
}

table.progress p.title {
    text-align   : center;
    background   : #deb887;
    display      : block;
    padding      : 5px;
    border-radius: 20px;
}

table.progress img {
    width: 100%;
}

.p-contact {
    display       : flex;
    flex-direction: column;
    align-items   : center;
    gap           : 1rem;
    width         : fit-content;
    margin-inline : auto;
    padding       : 1rem 2rem;
    border        : 1px solid #36ab94;
}

.p-contact__title {
    font-size  : 1.6em;
    font-weight: 400;
    text-align : center;
}

.p-contact__btn {
    display        : flex;
    flex-wrap      : wrap;
    justify-content: center;
    gap            : 2rem;

    @media screen and (max-width: 768px) {
        gap: 1rem;
    }
}

.p-contact__btn--tel {
    margin         : 5px 0 5px;
    padding-left   : 25px;
    font-size      : 24px;
    background     : url(../img/icon-tel.png) no-repeat left center;
    background-size: 15px auto;

    @media screen and (max-width: 768px) {
        margin     : 0 0 2px;
        font-size  : 24px;
        font-family: リュウミン M-KL;
        color      : #35ab94;
    }
}

.p-contact__btn--tel a {
    color          : #4b4b4b;
    text-decoration: none;
}

.p-contact__btn--web {
    margin-top: 15px;

    @media screen and (max-width: 768px) {
        margin-bottom: 30px !important;
    }
}

.p-contact__btn--web a {
    display    : block;
    background : #35ab94;
    width      : 200px;
    height     : 33px;
    line-height: 33px;
    text-align : center;
    color      : #fff;

    @media screen and (max-width: 768px) {
        display    : block;
        background : #35ab94;
        width      : 200px;
        height     : 33px;
        line-height: 33px;
        border     : 1px solid #35ab94;
        text-align : center;
        box-shadow : 0px 2px 0px 0px #f4f4f4;
        margin     : 0 auto 0px;
        display    : block;
        color      : #fff;
    }
}

.p-contact__btn--web a span {
    @media screen and (max-width: 768px) {
        padding-right: 20px;
        background   : url(../img/icon01.png) no-repeat right center;
    }
}

.p-contact__btn--web {
    margin-top: 5px;
}