@charset "utf-8";

@media (max-width: 767px) {
    body {
        font-size: 14px;
    }

    .site-contents article {
        margin-top: 0px;
    }

    .breadcrumbs {
        margin-bottom: 30px;
    }


    .pageContents {
        margin-top: 0;
    }

    .pageContents.new-post,
    .pageContents.category {
        margin: 1rem auto 3rem;
    }

    .pageContents.new-post h2:first-of-type,
    .pageContents.category h2:first-of-type {
        margin: 3rem 0 2rem;
    }

    .posts_list {
        grid-template-columns: repeat(2, 1fr);
        gap: 34px 20px;
    }

    @media (max-width: 480px) {
        .posts_list {
            grid-template-columns: repeat(1, 1fr);
            gap: 30px;
        }
    }

    .post-headline::before {
        margin-right: 0.5rem;
    }

    .post-headline::after {
        margin-left: 0.5rem;
    }

    .regenerative-menu-list a {
        grid-template-columns: 3fr 4fr;
    }

    .regenerative-name {
        padding: 1.5rem 0.5rem 1.5rem 1rem;
    }

    .information-inner {
        padding: 3.5rem 1rem;
    }

    .only-sp {
        display: block;
    }

    .only-pc {
        display: none;
    }

    .clinic-page-list {
        gap: 1.5rem;
    }

    .clinic-page-list p {
        margin-bottom: 0;
        text-align: center;
    }

    .page-thumbnail {
        width: 100%;
    }

    .pageList-menu li {
        display: block;
    }

    .pageList-thumbnail {
        width: 100%;
        max-width: 500px;
        margin: 0 auto .5rem;
    }

    .pageContents ul.mokuji {
        display: block;
        height: fit-content;
    }

    .contents-wrapper h2 {
        margin: 4rem 0 2rem;
    }

    .post-title-wp {
        font-size: 24px;
    }

    article .contents-wrapper h2 {
        font-size: 22px;
    }

    .pageContents h3 {
        font-size: 20px;
    }

    article .contents-wrapper h2+h3 {
        margin-top: 0;
    }

    .float-box {
        grid-template-columns: 1fr;
        margin-bottom: 1.5rem;
    }

    .quote {
        padding: 13vw 30px 25px 30px;
    }

    .btn {
        width: 100%;
    }

    .btn a {
        transition: 0s;
    }

    .btn a::before {
        display: none;
    }

    .btn a:hover {
        opacity: 1;
        color: #fff;
    }

    .btn a:hover~.arrow,
    .btn a:hover~.arrow::before,
    .btn a:hover~.arrow::after {
        opacity: 1;
        background: #fff;
    }

    .table.textSmall-sp {
        font-size: 12px;
    }

    .table.textSmall-sp th,
    .table.textSmall-sp td {
        padding: .6rem;
    }

    .table thead th:has(img) {
        padding: 10px;
    }

    .jump {
        grid-template-columns: 1fr 1fr;
        font-size: 14px;
    }

    .list_02 {
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem;
    }

    .step {
        border-left-width: 0.25rem;
    }

    .tab {
        font-size: 11px;
    }

    .faqQ {
        font-size: 16px;
    }

    .meritdemerit[data-type="merit"]>.meritdemerit-list li:before,
    .meritdemerit[data-type="demerit"]>.meritdemerit-list li:before {
        top: 8px;
    }

    .meritdemerit-ttl {
        font-size: 1.25em;
    }

    .addresslist-ttl {
        font-size: 1.25em;
    }

    .review-bottom {
        display: block;
    }

    .review-bottom img {
        width: 80%;
        margin: 0 auto;
    }

    .review-bottom>:first-child {
        margin-bottom: 10px;
    }

    .posiMap-subLabel {
        font-size: 14px;
        left: 48%;
        top: 6%;
    }

    .posiMap-inner {
        width: 100%;
    }

    .posiMap-bg {
        top: 2%;
        left: 48%;
        width: clamp(187px, 62vw, 66%);
    }

    .posiMap-item-logo {
        height: min(5vw, 30px);
    }

    .posiMap-label-01,
    .posiMap-label-02 {
        font-size: 20px;
        width: 40px;
        height: 40px;
    }

    .posiMap-label-03,
    .posiMap-label-04 {
        font-size: 14px;
    }

    .posiMap-label-01 {
        left: 48%;
        top: 10%;
    }

    .posiMap-label-02 {
        top: 90%;
        left: 48%;
    }

    .posiMap-label-03 {
        right: 7%;
        top: 52%;
    }

    .posiMap-label-04 {
        left: 6%;
        top: 52%;
    }

    .forSP {
        display: block;
    }

    .imgScrollBox-ttl {
        font-size: clamp(14px, 3.2vw, 16px);
    }

    .imgScrollBox-ttl .num {
        font-size: 14px;
        width: 26px;
    }

    .imgScrollBox-list li {
        min-width: min(60%, 200px);
    }

    .imgScrollBox-list .caption {
        font-size: 12px;
    }

    .slidetoggle-wrap {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .slidetoggle2 .bottom-wrap {
        max-height: 80px;
    }

}