html {
    scroll-padding-top:90px;
}
@media(max-width:767px) {
    html {
        scroll-padding-top:80px;
    }
}

.clinic-info {
    margin:32px 0px 64px;
}
.clinic-info .clinic-info-grid {
    display: flex;
    width: 100%;
    flex-wrap: wrap !important;
    justify-content: space-between;
    margin: 0 auto;
    gap: 40px;
    align-items: center;
}
.wrapper.wrapper-access {
    padding:32px 0px 0px;
}
.wrapper.wrapper-access h2 {
    text-align: center;
}

.clinic-info .clinic-info-grid .col-map {
    flex-basis: 470px
}


.clinic-info .clinic-info-grid .col-map iframe {
    width: 100%;
    height: 410px;
    border-radius: 10px
}

.clinic-info .clinic-info-grid .col-info {
    flex-basis: calc(100% - 540px)
}


.clinic-info .clinic-info-grid .col-info-grid {
    display: flex;
    width: 100%;
    flex-wrap: wrap !important;
    justify-content: space-between;
    margin: 0 auto;
    align-items: center
}

.clinic-info .clinic-info-grid .col-info-grid .logo img {
    width: 270px;
    height: auto
}

.clinic-info .clinic-info-grid .col-info-grid .sns-links {
    display: flex;
    gap: 20px
}

.clinic-info .clinic-info-grid .col-info-grid h5 {
    margin: 0px;
    padding: 0px;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 24px;
    color: #333;
    font-weight:bold;
}

.clinic-info .clinic-info-grid table.tbl-info {
    width: 100%;
    border-collapse: collapse;
    margin-top: 0px;
    margin-bottom: 0px;
}

.clinic-info .clinic-info-grid table.tbl-info tr td {
    border:0px!important;
    border-bottom: 1px solid #cbb4b4!important;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: .72px;
    padding: 14px 0px;
    vertical-align: baseline
}

.clinic-info .clinic-info-grid table.tbl-info tr td:nth-child(1) {
    width: 80px;
    font-family: "Shippori Mincho", serif
}

.clinic-info .clinic-info-grid table.tbl-info tr td:nth-child(2) {
    padding-left: 16px
}

.clinic-info .clinic-info-grid table.tbl-info tr:last-child td {
    border-bottom: 0px
}
/* 
.direction-grid {
    display: flex;
    width: 100%;
    flex-wrap: wrap !important;
    justify-content: space-between;
    margin: 0 auto;
    gap: 20px;
}
.direction-grid figure img {
    border-radius: 10px;
    height: 150px;
    width: 100%;
    object-fit: cover;
    object-position: center;
    box-shadow: 0px 0px 12px rgba(121, 3, 3, .11);
} */


@media(min-width: 768px)and (max-width: 1160px) {
    .wrapper.wrapper-access {
        padding:0px 20px;
    }
    .clinic-info .clinic-info-grid {
        gap: 20px
    }
    .clinic-info .clinic-info-grid .col-map {
        flex-basis: 350px
    }
    .clinic-info .clinic-info-grid .col-info {
        flex-basis: calc(100% - 370px)
    }
    .clinic-info .clinic-info-grid .col-map iframe {
        height: 400px!important;
    }
}


@media(max-width:767px) {
    .clinic-info .clinic-info-grid {
        gap: 40px
    }
    .clinic-info .clinic-info-grid .col-map {
        flex-basis: 100%
    }
    .clinic-info .clinic-info-grid .col-map iframe {
        height: 220px!important;
    }
    .clinic-info .clinic-info-grid .col-info {
        flex-basis: 100%
    }
    .clinic-info .clinic-info-grid .col-info-grid {
        justify-content: space-between;
        gap: 20px
    }
    .clinic-info .clinic-info-grid .col-info-grid .logo {
        flex-basis: 220px
    }
    .clinic-info .clinic-info-grid .col-info-grid .logo img {
        width: 210px
    }
    .clinic-info .clinic-info-grid .col-info-grid .sns-links {
        flex-basis: calc(100% - 240px);
        justify-content: flex-end;
        gap: 15px
    }
    .clinic-info .clinic-info-grid .col-info-grid h5 {
        font-size: 20px
    }
    .clinic-info .clinic-info-grid table.tbl-info {
        margin-top: 30px
    }
    .clinic-info .clinic-info-grid table.tbl-info tr td {
        font-size: 16px;
        line-height: 25px;
        letter-spacing: .64px
    }
    h2.simple {
        font-size:22px;
    }
    .wrapper.wrapper-access {
        margin:0px 10px;
        width:auto;
    }
    .clinic-info .clinic-info-grid table.tbl-info {
        margin-top:0px;
    }
    .clinic-info .clinic-info-grid table.tbl-info tr {
        display:flex;
    }
    .clinic-info .clinic-info-grid table.tbl-info tr td {
        width:100%;
    }
    .clinic-info .clinic-info-grid table.tbl-info tr td:nth-child(1) {
        width:120px;
    }
}



.direction-info {
    display: flex;
    width: 100%;
    flex-wrap: wrap !important;
    justify-content: space-between;
    margin: 0 auto;
    gap: 20px
}


.direction-info figure {
    margin:0px;
    padding:0px;
    flex-basis: 100%
}

.direction-info figure img {
    border-radius: 10px;
    height: 150px;
    width: 100%;
    object-fit: cover;
    object-position: center;
    box-shadow: 0px 0px 12px rgba(121, 3, 3, .11)
}

.direction-info .direction-txt {
    flex-basis: 100%;
    display: flex;
    width: 100%;
    flex-wrap: wrap !important;
    justify-content: space-between;
    margin: 0 auto;
    align-items: flex-start;
    width: auto;
    gap: 12px
}

.direction-info .direction-txt span:nth-child(1) {
    flex-basis: 40px;
    font-family: "Shippori Mincho", serif;
    font-size: 28px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f08181;
    color: #fff;
    font-weight: 600
}

.direction-info .direction-txt p {
    margin: 0px;
    padding: 0px;
    flex-basis: calc(100% - 55px)
}

.direction-txt h3 {
    margin: 0px;
    padding: 0px;
    font-family: "Shippori Mincho", serif;
    font-size: 16px;
    line-height: 25px;
    font-weight: 600;
    padding-bottom: 10px;
    background-image: repeating-linear-gradient(90deg, #d28787, #d28787 4px, transparent 4px, transparent 6px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 100% 1px;
    margin-bottom: 12px
}

.direction-txt p {
    margin: 0px;
    padding: 0px;
    /* font-size: 16px;
    line-height: 25px; */
    font-size: 15px;
    line-height: 24px;
    letter-spacing: .64px
}

.swiper.directionSwiper {
    margin: 20px 0px 20px;
    width: 100%
}

@media(min-width: 768px) {
    .swiper.directionSwiper .swiper-pagination {
        display: none !important
    }
}

@media(min-width: 768px) {
    .swiper.directionSwiper .swiper-wrapper {
        gap: 22px;
        display: grid !important;
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: repeat(4, auto);
        gap: 20px
    }
    .swiper.directionSwiper .swiper-slide {
        width: auto !important;
        height: auto !important
    }
}
@media(max-width: 767px) {
    .direction-info {
        margin: 20px 20px;
        width: auto
    }
    .swiper.directionSwiper {
        margin: 20px 0px 20px 0px;
        padding-bottom: 20px
    }
    .swiper.directionSwiper .swiper-pagination {
        bottom: 0px
    }
}


.direction {
    padding: 60px 0px 24px;
    background: #f4edea;
}
.direction .wrapper {
    width: 1000px;
    margin: 0px auto;
}
.direction h2 {
    border-top:0px;
    text-align: center;
}
.direction .btn-direction {
    margin: 45px 0px;
    display:flex;
    flex-wrap:wrap;
    justify-content: center;
    gap:10px;
}
.direction .btn-direction a {
    text-decoration: none;
    border: 1px solid rgba(210, 135, 135, .2);
    display: block;
    padding:16px 50px 16px 20px;
    font-size: 20px;
    line-height: 32px;
    letter-spacing: 1.28px;
    color: #000;
    cursor: pointer;
    border-radius: 10px;
    font-family: "Shippori Mincho", serif;
    font-weight: 500;
    box-shadow: 0px 0px 12px rgba(121, 3, 3, .11);
    background: url(../img/ic-arrowdown-btn.svg) no-repeat;
    background-position: 95% center;
    background-color: #fff;
}
.direction .btn-direction .wp-block-button {
    background: none
}
.direction .direction-grid {
    padding: 32px 32px;
    border-radius: 10px;
    margin-bottom: 45px;
    gap: 0px;
    background:#fff;
}
.direction .direction-grid .col {
    flex-basis: 100%
}

.direction .direction-grid figure {
    margin: 32px 0px
}
.direction .direction-grid figure img {
    width:100%;
}

.direction .direction-grid ul {
    margin: 0px;
    padding: 0px
}

.direction .direction-grid ul li {
    display: block;
    background: url(../img/ic-circle.svg) no-repeat;
    background-position: left center;
    background-size: 8px 8px;
    padding: 5px 0px 5px 16px;
    font-size: 18px;
    font-weight: 500
}

.direction .direction-grid h3 {
    margin: 0px;
    padding: 0px;
    display: inline-block;
    font-size: 18px;
    line-height: 25px;
    font-family: "Shippori Mincho", serif;
    padding-bottom: 10px;
    background-image: repeating-linear-gradient(90deg, #d28787, #d28787 4px, transparent 4px, transparent 6px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 100% 1px;
    margin-bottom: 12px;
    color: #d28787;
    border-bottom:0px;
}


@media(max-width:1020px) {
    .direction .wrapper {
        width:auto;
        padding-top:0px;
    }
}
@media(min-width: 768px)and (max-width: 1160px) {
    .direction {
        padding: 48px 0px 16px
    }
}
@media(min-width:768px) and (max-width:1024px) {
    .direction .btn-direction a {
        padding: 12px 36px 12px 10px;
        font-size: 15px;
    }
    .direction .direction-grid {
        margin:20px;
    }
}
@media(max-width: 767px) {
    .direction {
        padding: 48px 20px 24px;
        margin-bottom:32px;
    }
    .direction h2 {
        margin: 0px;
        padding: 0px
    }
    .direction .btn-direction {
        margin: 32px 0px
    }
    .direction .btn-direction a {
        flex-basis:100%;
        font-size:16px;
    }
    .direction .btn-direction .wp-block-button {
        flex-basis: 100%
    }
    .direction .direction-grid {
        padding: 20px 20px;
        margin-bottom: 32px
    }
    .direction .direction-grid h3 {
        font-size: 16px;
        line-height: 22px
    }
    .direction .direction-grid figure {
        margin: 24px 0px
    }
    .direction .direction-grid ul li {
        font-size: 14px;
        line-height: 22px;
        letter-spacing: .64px;
        background-position: left 12px
    }
}


/*-- for concept page --*/
.page-concept .wrapper {
    padding:64px 0px;
}
.page-concept h2.ttl-heading {
    margin:0px;
    padding:0px;
    font-family: "Zen Old Mincho", sans-serif;
    color: #924f96;
    text-align: center;
    font-size:35px;
    line-height:44px;
    position:relative;
}
.page-concept h2.ttl-heading:after {
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    bottom: 50%;
    left: 0px;
    right: auto;
    width: 220px;
    background: #82578E;
    height: 3px;
    content: "";
}
.page-concept h2.ttl-heading:before {
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    bottom: 50%;
    right: 0px;
    left: auto;
    width: 220px;
    background: #82578E;
    height: 3px;
    content: "";
}

.page-concept h3 {
    font-family: "Zen Old Mincho", sans-serif;
    border-bottom: 1px solid #b795b9;
    padding-bottom:10px;
    font-size: 28px;
    line-height: 34px;
    color: #924f96;
}

.box-grid {
    display:flex;
    flex-wrap: wrap;
    gap:30px;
    justify-content: space-between;
}
.box-grid .col-img {
    flex-basis:430px;
}
.box-grid .col-txt {
    flex-basis:calc(100% - 460px);
}

@media(max-width:767px) {
    .page-concept h2.ttl-heading {
        font-size:21px;
        line-height:28px;
    }
    .page-concept h2.ttl-heading:after {
        width:24px;
        bottom:43%;
    }
    .page-concept h2.ttl-heading:before {
        width:24px;
        bottom:43%;
    }
    .page-concept .wrapper {
        padding:32px 20px;
    }
    .page-concept h3 {
        font-size:18px;
        line-height:28px;
        margin-bottom: 0px;
        margin-top: 20px;
    }
    .box-grid {
        gap:0px;
    }
    .box-grid .col-txt {
        flex-basis:100%;
        order:1;
    }
    .box-grid .col-img {
        flex-basis:100%;
        order:2;
    }
}
@media(min-width:768px) and (max-width:1100px) {
    .page-concept h2.ttl-heading:before,
    .page-concept h2.ttl-heading:after {
        width:80px;
    }
}
@media(min-width:768px) and (max-width:1023px) {
    .page-concept h2.ttl-heading {
        font-size:28px;
    }
    .page-concept h3 {
        font-size:20px;
    }
    .box-grid {
        gap:10px;
    }
    .box-grid .col-img {
        flex-basis:300px;
    }
    .box-grid .col-txt {
        flex-basis: calc(100% - 310px);
    }
}



.sns {
    padding:80px 0px 32px;
}
.sns-cont {
    background: #f1eaf5;
    border-radius: 10px;
    padding: 40px 40px;
    width: 1020px;
    text-align: center;
    margin:0 auto;
}
.sns-cont h2 {
    margin: 0px;
    padding: 0px;
    font-size: 20px;
    font-family: "Shippori Mincho", serif;
    font-weight: 600;
    background-image: repeating-linear-gradient(90deg, #d28787, #d28787 4px, transparent 4px, transparent 6px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 100% 1px;
    display: inline-block;
    padding-bottom: 10px;
    border-top:0px;
}
.sns-grid {
    display: flex;
    width: 100%;
    flex-wrap: wrap !important;
    justify-content: space-between;
    margin: 0 auto;
    gap: 16px;
    margin: 30px 0px;
}
.sns-grid .col {
    flex-basis: calc(33.33% - 12px) !important;
}
.sns-grid .col img {
    /* width:290px; */
    width:100%;
    height:auto;
    object-fit: cover;
    object-position: center;
}
.sns-btns {
    display:flex;
    flex-wrap:wrap;
    justify-content: center;
    gap: 20px;
    align-items: stretch;
}
.sns-btns a {
    font-family: "Noto Sans JP", sans-serif;
    width: 260px;
    height: auto;
    background: #fff;
    padding: 4px 4px;
    border-radius: 4px;
    box-shadow: 0px 0px 64px rgba(121, 3, 3, .0588235294);
    text-decoration: none;
}
.sns-btns a .btn-cont {
    border: 1px solid rgba(210, 135, 135, .2);
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.sns-btns a .btn-cont strong {
    font-weight:bold;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 1.28px;
}
.sns-btns a .btn-cont.btn-ig strong {
    padding-left: 30px;
    background: url(../img/ic-btn-ig.svg) no-repeat;
    background-position: left 65%;
}

@media(max-width:1030px) {
    .sns {
        padding:48px 0px;
    }
    .sns-cont {
        width:auto;
        margin:0px 10px;
    }
}
@media(max-width:767px) {
    .sns {
        padding:48px 0px 0px;
    }
    .sns-cont {
        margin:0px 20px;
        padding: 30px 20px;
    }
    .sns-grid .col {
        flex-basis:100%!important;
    }
    .sns-grid .col img {
        width:100%;
        height:auto;
    }
}