@charset "UTF-8";
/* CSS Document */


@media screen and (max-width: 767px) {


    /* contents-top */

    .contents-top {
        padding-top: 80px;
        padding-bottom: 80px;
        background-position: center top 700px;
        background-size: 300% auto;
    }

    .contents-top::before {
        left: 3%;
        top: 150px;
        height: 150px;
        z-index: 10;
    }

    /* link01 */

    .link01 a {
        letter-spacing: 0.1em;
        min-width: 230px;
    }

    /* midashi-box */

    .contents-top h2 {
        line-height: 1.1;
        letter-spacing: 0.1em;
    }

    .contents-top h3 {
        letter-spacing: 0.15em;
    }


    /* main-img-top */

    .main-img-top {
        width: 100%;
        margin-bottom: 0px;
        padding-bottom: 0px;
    }

    .main-img-top .box-img {
        width: 84%;
    }

    .main-img-top::before {
        background-size: 100% auto;
        height: 120%;
        margin-top: -30px;
    }

    .main-img-top .box-img > img {
        height: auto;
        min-height: 200px;
    }

    .main-img-top .box-time-top {
        position: static;
        width: 100%;
        background-color: rgba(255, 255, 255, 1);
        padding: 40px 4% 20px;
        border-radius: 0px;
    }


    /* contents01 */

    .contents01 {
        width: 100%;
        padding-top: 45px;
        flex-direction: column;
        gap: 20px;
        margin-bottom: 80px;
        text-align: center;
    }

    .contents01 h2 {
        font-size: 16px;
        letter-spacing: 0.1em;
    }

    .contents01 h3 {
        font-size: 21px;
        letter-spacing: 0.15em;
        line-height: 2;
        text-align: center;
        padding: 20px 0px;
    }


    /* contents02 */

    .contents02 {
        width: 100%;
        padding: 100px 0px 80px;
    }

    .contents02 .box-inner {
        width: 88%;
        margin-bottom: 70px;
    }

    .contents02 .box-img {
        justify-content: flex-start;
    }

    .contents02 .box-img .box:nth-child(1) {
        width: 88%;
    }

    .contents02 .box-img .box:nth-child(1)::before {
        background-size: auto 200px;
        margin-right: -8%;
    }

    .contents02 .box-img .box:nth-child(2) {
        width: 100%;
    }

    .contents02 .box-img img {
        width: 100%;
        height: 250px;
    }

    .contents02 .box-img .box:nth-child(1) img {
        border-radius: 0px;
    }

    .contents02 .box-img .box:nth-child(2) img {
        border-radius: 0px;
    }

    .contents02 h4 {
        font-size: 22px;
        line-height: 1.6;
        letter-spacing: 0.15em;
        padding: 5px 0px 30px;
    }


    /* contents03 */

    .contents03 {
        width: 100%;
        padding-bottom: 70px;
        background-size: 150% auto;
    }

    .contents03 .box-inner {
        width: 88%;
    }

    .contents03 .box:not(:last-child) {
        margin-bottom: 60px;
    }

    .contents03 .clip-img {
        width: 75%;
        max-width: 400px;
    }

    .contents03 .box-detail {
        justify-content: center;
        flex-direction: column;
        gap: 10px;
        padding: 30px 0px 40px;
    }

    .contents03 .lay01 {
        width: 100%;
        padding: 20px 30px;
        border-radius: 20px;
        text-align: center;
    }

    .contents03 .lay01 img {
        height: 100px;
        width: auto;
    }

    .contents03 .lay02 {
        width: 100%;
        padding-left: 0px;
    }

    .contents03 .lay02 h6 {
        font-size: 22px;
        letter-spacing: 0.15em;
        padding: 20px 0px;
        text-align: center;
    }

    .contents03 h6 a {
        font-size: 18px;
        letter-spacing: 0.1em;
        padding: 18px 50px;
        min-width: 320px;
        border-width: 2px;
    }

    .contents03 h6 a::before {
        right: 25px;
        background-size: auto 20px;
    }

    .contents03 h6 a:hover::before {
        right: 25px;
    }




    /* contents04 */

    .contents04 {
        border-width: 10px;
        padding-bottom: 80px;
    }

    .contents04 .news-box {
        width: 88%;
        height: 300px;
        overflow-y: auto;
    }

    .contents04 .box:not(:last-child) {
        margin-bottom: 15px;
    }

    .contents04 .box a {
        padding: 10px 20px;
        flex-direction: column;
    }

    .contents04 .midashi-box h2::before,
    .contents04 .midashi-box h2::after {
        content: "";
        height: 10px;
    }

    .contents04 .midashi-box h2::before {
        margin-right: 30px;
    }

    .contents04 .midashi-box h2::after {
        margin-left: 30px;
    }

    .contents04 h5 {
        width: 100%;
        font-size: 15px;
        border-right-style: none;
        text-align: left;
        padding-top: 10px;
        justify-content: flex-start;
        align-items: flex-start;
    }

    .contents04 h6 {
        padding-top: 40px;
    }

    .contents04 p {
        padding: 15px 0px;
        font-size: 14px;
    }


    /* contents05 */

    .contents05 {
        width: 90%;
        border-radius: 25px;
        padding: 40px 6% 40px;
    }

    .contents05 .column-box {
        gap: 20px 0px;
        padding-bottom: 40px;
    }

    .contents05 .box {
        width: 100%;
        border-radius: 20px;
    }

    .contents05 .box a {
        padding: 25px;
    }

    .contents05 .box h6 {
        font-size: 18px;
        letter-spacing: 0.15em;
        padding: 10px 0px 18px;
        margin-bottom: 15px;
    }

    .contents05 p {
        font-size: 14px;
    }



    /* contents-treatmentmenu */

    .contents-top .contents-treatmentmenu {
        padding-left: 0%;
    }

    .pc-view {
        display: none;
    }

    .sp-view {
        display: inline-block;
    }

}
