.sub-hero, .blogWrap {
    margin-top: 160px;
    height: 425px
}

.sub-hero img {
    display: block;
    width: 700px;
    margin: 0 100px 0 auto
}

.sub-hero .deco {
    width: calc(100% - 75px);
    height: 200px;
    background: url(/wp-content/uploads/images/sub/sub-hero-deco.png);
    background-size: cover;
    margin-top: -175px
}

.sub-hero h1 {
    font-size: 30px;
    color: #0091d7;
    font-weight: 700;
    margin: -270px 0 0 100px;
    line-height: 1.1;
}

.pankuzu {
    width: 1200px;
    margin: 10px auto 0
}

.pankuzu li {
    color: #505050;
    font-size: 12px;
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
    display: inline-block
}

.pankuzu li:not(:last-of-type):after {
    content: '〉';
    margin-left: 10px
}

.main {
    width: 800px;
    margin: 0 auto;
    padding-bottom: 8vw;
}

.main h2 {
    font-size: 28px;
    color: #0091d7;
    font-weight: 700;
    text-align: center;
    margin: 80px 0 50px
}

.main h2::after {
    content: '';
    display: block;
    width: 80px;
    height: 2px;
    background: #0091d7;
    margin: 30px auto 0
}

.main h3 {
    color: #0091d7;
    font-size: 22px;
    font-weight: 700;
    border-bottom: 1px solid #0091d7;
    border-left: 15px solid #0091d7;
    padding-left: 15px;
    margin: 70px 0 30px;
    line-height: 2;
}

.main h4 {
    font-size: 18px;
    font-weight: 700;
    margin: 60px 0 20px
}

.main h4::before {
    content: '';
    display: inline-block;
    width: 15px;
    height: 15px;
    background: #0091d7;
    margin: 0 4px -2px 0
}

.main h4+.content {
    padding-left: 20px
}

.main h5 {
    font-size: 18px;
    font-weight: 700;
    padding-left: 20px;
    margin: 50px 0 20px
}

.main h5::before {
    content: '';
    display: inline-block;
    width: 15px;
    height: 15px;
    background: #505050;
    border-radius: 20px;
    margin: 0 4px -2px 0
}

.main h5+.content {
    padding-left: 20px
}

.main img {
    margin-bottom: 30px
}

.main p {
    margin-bottom: 2em
}

.main a.button {
    width: 350px
}

.main .divider {
    width: 100%;
    height: 100px
}

.main .half {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 30px 0 30px;
}

.main .half img {
    width: 400px;
    margin-bottom: 0;
    -ms-flex-item-align: start;
    align-self: flex-start
}

.main .half .content {
    width: 350px
}

.main .half .content h3 {
    margin-top: 0
}

.main .half .content a.button {
    width: 100%
}

.main .list {
    counter-reset: list;
    margin: 50px 0
}

.main .list.list001 {
    counter-reset: list;
    margin: 0px 0
}

.main .list li {
    font-size: 18px;
    font-weight: 700;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 10px
}

.main .list li::before {
    counter-increment: list;
    content: counter(list);
    width: 35px;
    height: 35px;
    background: #0091d7;
    border-radius: 35px;
    color: #fff;
    font-family: dita-cd, sans-serif;
    font-size: 24px;
    margin-right: 15px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    text-align: center;
    font-weight: 400;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
}

.main .flow {
    counter-reset: flow;
    margin: 20px 0
}

.main .flow .row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.main .flow .image .row-line {
    display: block;
    min-height: 50px;
    height: calc(100% - 345px);
    width: 10px;
    background: #0091d7;
    margin: 25px 0 25px 200px
}

.main .flow .image .row-line_02 {
    display: block;
    min-height: 50px;
    height: calc(100% - 690px);
    width: 10px;
    background: #0091d7;
    margin: 25px 0 25px 200px;
}

.main .flow .row img {
    width: 400px;
    margin-bottom: 0;
    -ms-flex-item-align: start;
    align-self: flex-start
}

.main .flow .row .content {
    width: 350px
}

.main .flow .row .content p.title {
    color: #0091d7;
    font-size: 18px;
    font-weight: 700;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.main .flow .row .content p.title::before {
    counter-increment: flow;
    content: counter(flow);
    width: 35px;
    height: 35px;
    background: #0091d7;
    border-radius: 35px;
    color: #fff;
    font-family: dita-cd, sans-serif;
    font-size: 24px;
    margin-right: 15px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    text-align: center;
    font-weight: 400;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
}

.main table {
    width: 100%
}

.main table tr {
    border-bottom: 1px solid #505050
}

.main table tr:first-child {
    border-top: 1px solid #505050
}

.main table tr th,
.main table tr td {
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    padding: 15px;
    vertical-align: middle;
}

/*.main table tr th{width:200px; background:#eefaff}*/
.main table tr th {
    width: 350px;
    background: #eefaff
}

.main .text-left {
    text-align: left;
    font-weight: 400;
    font-size: 14px;
    padding: 10px;
    line-height: 1.8;
}


.main .box {
    width: 1000px;
    padding: 100px;
    background: #eefaff;
    margin: 100px 0;
    margin-left: -100px
}

.main .box>*:first-child {
    margin-top: 0
}

.main .box>*:last-child {
    margin-bottom: 0
}


.main .box.t01 {
    width: 1000px;
    padding: 100px;
    background: #eefaff;
    margin: 0px 0;
    margin-left: -100px
}

.main .box.t01>*:first-child {
    margin-top: 0
}

.main .box.t01>*:last-child {
    margin-bottom: 0
}


.doctor {
    width: 100%;
    background: url(/wp-content/uploads/images/index/doctor-bg.png) no-repeat;
    background-size: cover;
    padding-bottom: 70px;
    margin-bottom: 100px
}

.doctor .content1 {
    width: 1050px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.doctor .content1 .left {
    width: 340px
}

.doctor .content1 .left img {
    width: 340px;
    position: relative;
    top: 10px
/*     top: -75px */
}

.doctor .content1 .right {
    width: 680px
}

.doctor .content1 .right img {
    width: 660px;
    margin: 65px 0 25px
}

.doctor .content1 .right p:first-of-type {
    font-size: 24px;
    position: relative;
    left: -15px;
    font-weight: 700
}

.doctor .content1 .right p.name {
    margin-top: 60px;
    font-size: 32px;
    font-weight: 700
}

.doctor .content1 .right p.name span:first-of-type {
    font-size: 16px;
    display: block;
    font-weight: 700
}

.doctor .content1 .right p.name span:nth-of-type(2) {
    font-size: 28px;
    font-family: dita-cd, sans-serif;
    letter-spacing: 0
}

.doctor .content2 {
    width: 1050px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.doctor .content2 .left {
    width: 340px
}

.doctor .content2 .left p {
    font-size: 12px;
    font-weight: 700;
    position: relative;
    left: -8px;
    margin-bottom: 10px
}

.doctor .content2 .left ul li {
    font-size: 12px;
    line-height: 1.8
}

.doctor .content2 .left ul li span {
    display: inline-block;
    width: 70px
}

.doctor .content2 .right {
    width: 680px
}

.doctor .content2 .right p {
    font-size: 12px;
    font-weight: 700;
    position: relative;
    left: -8px;
    margin-bottom: 10px
}

.doctor .content2 .right ul {
    -webkit-columns: 2;
    columns: 2;
    width: 470px
}

.doctor .content2 .right ul li {
    font-size: 12px;
    line-height: 1.8
}

.doctor .content3 {
    width: 1050px;
    margin: 45px auto 0
}

.doctor .content3 p:first-of-type {
    font-size: 12px;
    font-weight: 700;
    position: relative;
    left: -8px;
    margin-bottom: 10px
}

.doctor .content3 p {
    font-size: 12px;
    position: relative;
    left: -8px
}

.main .wrap {
    margin-bottom: 150px
}

.main .wrap img {
    width: 320px;
    float: left;
    margin-right: 50px
}

.main .wrap .blue {
    color: #0091d7
}

.main .blue {
    color: #0091d7
}

h2.title {
    font-size: 28px;
    font-family: dita-cd, sans-serif;
    text-align: center;
    line-height: 1;
    color: #0091d7;
    height: 150px;
    background: url(/wp-content/uploads/images/index/prevent-bg.png) no-repeat;
    background-size: contain;
    background-position: center;
    padding: 25px 0;
    letter-spacing: 0;
}

.treatments {
    padding: 100px 0 120px
}

.treatments .content {
    width: 1100px;
    margin: 50px auto 65px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.treatments .content .item {
    width: 120px;
    text-align: center;
    color: #0091d7;
    display: block;
    margin: 0 70px 95px 0
}

.treatments .content .item:nth-child(6),
.treatments .content .item:nth-child(12) {
    margin: 0 0 95px 0
}

.treatments .content .item:nth-last-child(-n+6) {
    margin-bottom: 0
}

.treatments .content .item .icon {
    width: 110px;
    height: 110px;
    background: url(/wp-content/uploads/images/index/treatment-bg.png) no-repeat;
    background-size: contain;
    margin-bottom: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transition: .5s;
    transition: .5s
}

.treatments .content .item:hover .icon {
    background: url(/wp-content/uploads/images/index/treatment-hover.png) no-repeat;
    background-size: contain
}

.treatments .content .item:first-child .icon img {
    width: 50px
}

.treatments .content .item:nth-child(2) .icon img {
    width: 70px;
    position: relative;
    left: 10px;
    top: -5px
}

.treatments .content .item:nth-child(3) .icon img {
    width: 51px
}

.treatments .content .item:nth-child(4) .icon img {
    width: 65px
}

.treatments .content .item:nth-child(5) .icon img {
    width: 35px
}

.treatments .content .item:nth-child(6) .icon img {
    width: 73px
}

.treatments .content .item:nth-child(7) .icon img {
    width: 49px
}

.treatments .content .item:nth-child(8) .icon img {
    width: 65px
}

.treatments .content .item:nth-child(9) .icon img {
    width: 68px
}

.treatments .content .item:nth-child(10) .icon img {
    width: 49px
}

.treatments .content .item:nth-child(11) .icon img {
    width: 49px
}

.treatments .content .item:nth-child(11) .icon {
    letter-spacing: 0
}

.treatments .content .item:nth-child(12) .icon img {
    width: 76px
}


/*.flex_box{display: flex;justify-content: space-between;flex-wrap: wrap;padding: 20px 0px;}*/
.flex_box {
    display: flex;
    justify-content: space-between;
    padding: 20px 0px;
}

.flex_box h4 {
    margin-top: 0;
}

.harf {
    flex-basis: 48% !important;
}

.flex_box_new {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 20px 0px;
}

.flex_box_new div {
    /* display: flex;
    justify-content: space-between;
    flex-wrap: wrap; */
    /* padding: 20px 0px; */
}

.harf_new {
    flex-basis: 33% !important;
}



/* .ortho {
    margin: 50px 0 0 0
} */

.ortho h2 {
    margin-bottom: 100px
}

.ortho .content {
    width: 800px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-around;
    flex-wrap: wrap;
}

.ortho .content .item {
    width: 380px;
    padding-bottom: 55px;
    -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, .2);
    box-shadow: 0 0 30px rgba(0, 0, 0, .2);
    position: relative;
    background: #fff;
    -webkit-transition: .5s;
    transition: .5s;
    margin: 10px 0px;
}

.ortho .content .item:hover {
    background: #ffffc5
}

.ortho .content .item img {
    width: 380px
}

.ortho .content .item p {
    font-weight: 700;
    font-size: 20px;
    text-align: center;
    width: 230px;
    margin: 40px auto 0;
    color: #0091d7
}

.ortho .content .item p span {
    font-family: dita-cd, sans-serif;
    font-weight: 400;
    font-size: 14px;
    text-align: center;
    position: relative;
    top: -10px;
    letter-spacing: 0
}

.ortho .content .item::after {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    background: url(/wp-content/uploads/images/common/caret-b.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 5px;
    right: 5px
}

.ortho a.button {
    margin: 100px auto 0
}


.qa ul {
    border-top: 1px solid #dfdfdf;
    margin-bottom: 100px;
}

.qa ul li {
    border-bottom: 1px solid #dfdfdf;
    padding: 25px 0px;
}

.qa ul li p {
    padding-left: 0px;
    position: relative;
    margin-bottom: 0px;
}

.qa ul li input {
    display: none;
}

.qa ul li .q {
    font-weight: bold;
    font-size: 1.25em;
    letter-spacing: 0.05em;
}

.qa ul li .q:before {
    content: "Q.";
    width: 51.5px;
    height: 38.5px;
    color: #0091d7;
}

.qa ul li .q label:after {
    content: "→";
    display: inline-block;
    margin-left: 20px;
}

.qa ul li .a {
    text-align: justify;
    line-height: 1.8;
    max-height: 0;
    overflow: hidden;
    transition-duration: .2s;
    font-size: 16px;
}

.qa ul li .a:before {
    content: "A.";
    width: 51.5px;
    height: 38.5px;
    padding-right: 10px;
}

.qa ul li input:checked~.a {
    max-height: 700px;
    overflow: visible;
    padding-top: 25px;
}

.qa ul li .q {
    margin-bottom: 0;
}

div.qa label {
    font-size: 16px;
}

.harf img {
    margin-bottom: 0;
}

.half h4 {
    margin: 0px 0 20px;
}

h1 span {
    font-size: 18px;
}

.main table tr th span,
.main table tr td span {
    font-size: 13px;
}


.sukima {
    margin: 20px auto !important;
}


.flex_box001 {
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
    padding: 20px 0px;
}

.harf001 {
    flex-basis: 48%;
}

.main .picture {
    display: inline-block
}

.main .picture img {
    width: 251px
}

.main .ireba {
    text-align: left;
    width: 200px;
    margin-left: 90px;
}

.fa-user-edit:before {
    content: "\f4ff";
    color: #fff;
    font-size: 22px;
    padding-right: 5px;
}

.h3_new {
    font-size: 22px;
    font-weight: 700;
    padding-left: 15px;
    margin: 70px 0 30px;
    color: #fff !important;
    background-color: #0091d7;
    border-left: none !important;
}


.article-content {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.article-content .img {
    width: 350px;
}

.article-content .img img {
    width: 100%;
    height: auto;
}

.article-content .con {
    width: 400px;
}

.navigation {
    margin-bottom: 60px;
}

.main article h2 {
    margin: 35px 0 45px;
}

.main .flex_case {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 100px;
}

.main .flex_case .item30 {
    flex-basis: 30%;
    margin: 40px 0 0;
}

.main .flex_case .door {
    position: relative;
}

.main .flex_case .door img {
    width: 100%;
    box-shadow: 10px 10px 15px -10px;
    margin-bottom: 0px;
}

.main .flex_case .door p {
    position: absolute;
    top: 50%;
    left: 10px;
    font-weight: 600;
}

.main .flex_case li.half.door {
    margin-bottom: 20px;
}

.main .flex_case .item30.door p {
    color: #fff;
    text-shadow: #505050 1px 1px 0, #505050 -1px -1px 0, #505050 -1px 1px 0, #505050 1px -1px 0, #505050 0px 1px 0, #505050 0-1px 0, #505050 -1px 0 0, #505050 1px 0 0;
}

.main .flex_case .half.door p {
    font-size: 25px;
    top: 73%;
    text-shadow: #FFFFFF 1px 1px 0, #FFFFFF -1px -1px 0, #FFFFFF -1px 1px 0, #FFFFFF 1px -1px 0, #FFFFFF 0px 1px 0, #FFFFFF 0-1px 0, #FFFFFF -1px 0 0, #FFFFFF 1px 0 0;
}

.linkwrap {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
}

ul.henka {
    position: relative;
    overflow: hidden;
    /* width: 1000px;
    margin: 0 auto 75px; */
    width: calc(100% + 200px);
    margin: 0 -100px 75px -100px;
}

ul.henka li {
    float: left;
    width: 200px;
    text-align: center;
}

.henka h3 {
    display: inline-block;
    position: relative;
    box-sizing: border-box;
    background: #FFFFFF;
    border: 1px solid #0091d7;
    width: 110px;
    height: 35px;
    margin-bottom: 45px;
    padding: 3.5px 0 0 3px;
    color: #0091d7;
    ;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.15em;
    text-align: center;
}

ul.henka p {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: center;
    font-size: 13px;
    line-height: 1.75;
    padding-right: 10px;
}

ul.henka h3:after {
    display: block;
    content: '';
    position: absolute;
    top: 34px;
    left: 54px;
    background: #0091d7;
    width: 1px;
    height: 24px;
}

ul.henka:before {
    display: block;
    content: '';
    position: absolute;
    top: 129px;
    left: 0;
    border-top: 1px dashed #0091d7;
    width: 100%;
    height: 1px;
}

.w-wide {
    width: 1000px;
    margin: 0px auto;
}





.staff-img {
    margin: 0px 150px 50px;
    width: 100%;
}

.staff-img-02 {
    margin: -100px auto 50px;
    width: 100%;
    text-align: center;
}

/*20211221_add*/

.price-title {
    margin: 0;
}

/*20211221_add*/

/*20220309_add*/

.contents-list dt {
    font-size: 20px;
    color: #0091d7;
    font-weight: 500;
    text-align: center;
    border-top: solid 1px;
    border-bottom: solid 1px;
    padding: 0.5em;
    margin-bottom: 30px;
}

.contents-list dd {
    display: flex;
    counter-reset: mkj;
}

.contents-list dd ul {
    width: 50%;
}

.contents-list dd ul li {
    font-size: 16px;
    line-height: 1.6;
    padding-left: 60px;
    padding-right: 1em;
    position: relative;
    min-height: 40px;
    display: flex;
    align-items: center;
}

.contents-list dd ul li+li {
    margin-top: 13px;
}

.contents-list dd ul li:before {
    counter-increment: mkj;
    content: counter(mkj, decimal-leading-zero);
    width: 40px;
    height: 40px;
    border-radius: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    color: #fff;
    /*    font-family: linotype-didot, serif;*/
    font-weight: 400;
    background: #0091d7;
    line-height: 1;
    letter-spacing: 0;
    position: absolute;
    top: 0;
    left: 0;
}

.contents-list dd ul li:after {
    content: "→";
    position: absolute;
    right: 20px;
}


/*20220309_add*/







@media(min-width:751px) and (max-width:1100px) {

    .sub-hero {
        margin-top: 220px;
        height: auto
    }

    .sub-hero h1 {
        margin: 30px 0;
        text-align: center
    }

    .pankuzu {
        width: 700px
    }

    .main {
        width: 700px
    }

    .main .half img {
        width: 300px
    }

    .main .flow .image .row-line {
        margin-left: 150px
    }

    .main .flow .row img {
        width: 300px
    }

    .main .box {
        width: 800px;
        margin-left: -50px;
        padding: 100px 50px
    }

    .doctor .content1 {
        width: 700px
    }

    .doctor .content1 .left img {
        top: 0
    }

    .doctor .content1 .left {
        width: 30%
    }

    .doctor .content1 .right {
        width: 70%
    }

    .doctor .content1 .right img {
        width: 350px
    }

    .doctor .content1 .right p:first-of-type {
        font-size: 20px
    }

    .doctor .content1 .right p.name {
        margin-top: 20px
    }

    .doctor .content2 {
        width: 700px;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .doctor .content2 .right {
        width: 100%;
        margin-top: 30px
    }

    .doctor .content3 {
        width: 700px
    }




}

.oya {
    display: flex;
    justify-content: space-between;

}

p .oya0 {
    margin: 0px;
}

p .oya0 img {
    margin-bottom: 0px;
}



img.qrcode {
    width: 300px;
    margin: 0 auto;
    display: block;
}



.second01 tr th,
.second01 tr td {
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    padding: 15px;
    width: 30% !important;
    vertical-align: middle;

}

/*
.size-medium {
	width: 100%;
	height: auto;
}
*/

.midashi001 {
    font-size: 17.5px;
    color: #0091d7;
}


.main a.button.new_btn {
    width: 370px;
}

/* -------------------------------------
	Bread
------------------------------------- */
.bread {
	max-width: 1060px;
	margin: 14px auto 30px;
	padding: 0 30px;
	width: 100%;
	text-align: left;
	line-height: 1.3;
}
.bread li {
	font-size: 10px;
	letter-spacing: 0.05em;
	display: inline;
}
.bread li+li:before {
	padding-right: .3em;
	content: "−";
}
.bread li a {
	color: #000;
	text-decoration: underline;
	vertical-align: baseline;
}
.bread li a:hover {
	text-decoration: none;
}

/* 下層H1見出し */
.p-under__hBg {
    padding: 0 20px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 230px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
  }
  .p-under__hBg:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.6);
  }
  .p-under__hBg .bgH1 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
  }
  .p-under__hBg h1 {
    position: relative;
    font-size: 3.4rem;
    letter-spacing: 0.1em;
    color: #0091D7;
    /* text-shadow: 0 0 3px #3C291B; */
  }
  @media (max-width: 767px) {
    .p-under__hBg h1 {
      font-size: 2.6rem;
    }
  }