@media only screen and (max-width: 991px) {
    .return-top-btn {
        margin-top: 10rem !important;
    }

    .hospital-kit {
        width: 70%;
    }

    .inquiry {
        text-align: left;
    }
}

@media only screen and (max-width: 768px) {
    body {
        padding-top: 56px;
    }

    main .lp {
        font-size: 0.8125rem;
    }

    .pc-only {
        display: none;
    }

    .sp-only {
        display: block;
    }

    .pc-words {
        display: none;
    }

    .sp-words {
        display: inline;
    }

    .navbar-pad {
        padding: 5px;
    }

    img.header-logo {
        width: 100px;
    }

    .lp-contents {
        margin-right: 1px;
        margin-left: 1px;
    }

    .lp-contents p {
        font-size: 0.875rem;
        line-height: 24px;
    }

    .merit-list {
        padding: 0 15px;
    }

    .merit-list .merit {
        padding-right: 3px;
        padding-left: 3px;
    }

    .merit-list .merit .merit-img {
        width: 100%;
    }

    .stress-image img {
        width: 100%;
    }

    .stress-image {
        margin-top: 2rem;
    }

    .aftercare-list {
        padding: 0 20px;
    }

    .aftercare-list .aftercare .aftercare-img {
        width: 100%;
        padding-top: 10px;
    }

    .aftercare-list .aftercare .aftercare-text {
        font-size: 0.75rem;
    }

    h2.main-ttl {
        font-size: 1rem;
    }

    .inspection-flow .arrow {
        margin: 1rem 0;
        width: 30px;
    }

    .inspection-flow .title {
        font-size: large;
    }

    .inspection-flow .step {
        margin: 0 5px;
    }

    .inspection-flow .step .step-heading {
        margin: 0;
    }

    .inspection-flow .step .text {
        font-size: medium;
    }

    .inspection-flow .step img {
        width: 50px;
    }

    .inspection-flow .step .description {
        font-size: medium;
    }

    .inspection-flow .step .notice {
        padding: 0 5px;
    }

    .inspection-flow p:not(.text):not(.description) {
        line-height: 21px;
    }

    .purchase-flow {
        margin: 5px;
        padding: 5px;
    }

    .purchase-flow .title {
        font-size: large;
    }

    .adjust-block {
        display: block;
    }

    .hospital-text-wrap p {
        font-size: 1rem;
    }

    .makuake {
        display: block;
        text-align: center;
    }

    .makuake .makuake-text-beginning {
        font-size: min(4.1vw,1.4rem);
        margin-bottom: 0.4rem;
    }

    .makuake .makuake-text-end {
        font-size: min(4.1vw,1.4rem);
        line-height: 2em;
    }

    .makuake-img {
        width: 100%;
    }

    .makuake-img img {
        width: 60%;
    }

    .lp-news {
        padding-top: 16px;
        gap: 16px;
    }

    .lp-news-title > div {
        font-size: 1rem;
    }

    .lp-news-contents {
        height: 19.875rem;
        font-size: 0.8125rem;
        width: 90%;
    }

    .lp-news-contents-row-item {
        flex-wrap: wrap;
        gap: 0.75rem;
        padding: 15px 0 0;
    }

    .lp-btn-blue {
        font-size: large;
    }

    .lp-btn-skyblue {
        font-size: large;
    }

    .footer-links li {
        display: block;
    }

    /* 簡易調査票 */
    .interview .stress-description {
        margin-left: 0;
        padding-left: 0;
    }

    .interview .job-performance {
        margin: 0 auto;
        padding-left: 0;
    }


    .interview .answer-area label {
        width: 100%;
        padding: 2px 0;
        margin-bottom: 1.5rem;
        margin-left: 0;
    }

    .interview .title,
    .interview-detail .title {
        font-size: 1rem;
    }

    .interview .examinee-information {
        margin-bottom: 2rem;
    }

    .interview table td {
        border-bottom: 1px solid #dee2e6;
        padding-top: 0.2rem;
        padding-bottom: 0.2rem;
    }

    .interview table.interview-information td:nth-child(2),
    .interview-detail table td:nth-child(2) {
        padding-right: 0.2rem;
    }

    .interview-complete-btn-size {
        width: 50%;
    }

    .interview table.interview-information th,
    .interview-detail table th {
        height: 35px;
        font-weight: 500;
    }

    .faq-inner {
        margin: 0 0.5rem;
    }

    #faq .flex-wrap-sb > div:first-child {
        border-radius: 10px;
        padding: 0.5rem;
        flex: 4;
    }

    #faq img {
        width: 75px;
    }

    #faq img.wide-img {
        width: 90px;
    }

    #faq .flex-wrap-sb:nth-child(odd) > div:first-child {
        margin-right: 0.5rem;
        margin-left: 0;
    }

    #faq .flex-wrap-sb:nth-child(even) > div:first-child {
        margin-right: 0;
        margin-left: 0.5rem;
    }

    #faq .answer-num {
        margin-left: 0;
    }

    #faq .q-num > span:first-child {
        margin-right: 0.5rem;
    }

    .agreement {
        height: auto;
        overflow-y: visible;
    }

    .agreement .head {
        font-size: 115%;
    }

    .agreement .subhead,
    .agreement ol.clause > li,
    .agreement ol.clause > li > p,
    .agreement p {
        font-size: 95%;
    }

    .history-list th {
        padding: 0.2rem;
    }

    .history-list td {
        padding: 0.2rem;
    }

    .interview-answer th {
        padding: 0.2rem;
    }

    .interview-answer td {
        padding: 0.2rem;
    }

    .text-sp {
        text-align: left !important;
        width: 80% !important;
        margin: 0 auto;
    }
}

@media only screen and (max-width: 540px) {
    .report-download-button-for-sp {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-right: 0.375rem;
    }

    .report-download-button-for-sp button {
        width: 5.875rem;
        padding: 0.25rem 0.5rem;
        background-color: #01afec;
        border: #979798 solid 0.5px;
        border-radius: 9px;
        color: #ffffff;
        font-weight: 500;
    }

    .aftercare-list .aftercare .aftercare-text > span {
        display: block;
    }

    .login-background {
        padding-top: 1rem;
        padding-bottom: 1.5rem;
    }

    .login-background .already-account {
        font-size: large;
        padding: 0 50px;
    }

    .login-background .login-button {
        padding: 7px 80px;
        font-size: 4vw;
    }

    .tab-content .set-purchase-button {
        font-size: 1.2rem;
        padding: 10px 0;
        width: 100%;
        margin: 1rem auto;
    }
}

@media only screen and (max-width: 480px) {
    .login-user-name {
        text-align: left;
        font-size: small;
        padding: 0 15px;
    }
}
