@charset "utf-8";



main{
    padding-top: 125px;
}

/* .single main{
    position: relative;
}

.single main::after{
    content: '';
    display: block;
    width: 100%;
    height: 470px;
    background: url(../images/pages/sub_tit_bg_news.webp)no-repeat right top;
    background-size: auto 100%;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
} */

.subTitWrapper{
    margin-top: 80px;
}

.subTitWrapper.noImg{
    margin: 0;
    padding: 80px 0;
}

.subTitWrapper.imgOn{
    height: 580px;
    overflow: hidden;
    position: relative;
}

.subTitWrapper.imgOn::before{
    animation: img-wrap 2s cubic-bezier(.4, 0, .2, 1) forwards;
    background: #fff;
    bottom: 0;
    content: '';
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
}

@keyframes img-wrap{
    100% {
        transform: translateX(100%);
    }
}

.subTitWrapper.imgOn::after{
    content: '';
    width: 100%;
    height: 100%;
    background: url(../images/pages/sub_tit_bg_service.webp)no-repeat center;
    background-size: cover;
    margin-left: max(40px, calc((100% - 1400px) / 2));
    border-radius: 50px 0 0 50px;
    position: absolute;
    left: 0;
    top: 0;
}

/* 旧画像 .about .subTitWrapper.imgOn::after{
    background-image: url(../images/pages/sub_tit_bg_about.webp);
} */

.about .subTitWrapper.imgOn::after{
    background-image: url(../images/pages/sub_tit_bg_about.webp);
    background-position: center top 15%;
}

.first-visit .subTitWrapper.imgOn::after{
    background-image: url(../images/pages/sub_tit_bg_first-visit.webp);
}

.vaccination .subTitWrapper.imgOn::after{
    background-image: url(../images/pages/sub_tit_bg_vaccination_02.webp);
    background-position: right bottom;
}

.infant .subTitWrapper.imgOn::after{
    background-image: url(../images/pages/sub_tit_bg_infant_02.webp);
    background-position: right top 52%;
}

.archive .subTitWrapper.imgOn::after,
.single .subTitWrapper.imgOn::after{
    background-image: url(../images/pages/sub_tit_bg_post.webp);
    background-position: center top 28%;
}

.subTitWrapper.imgOn > span{
    font-size: 10rem;
    font-weight: 600;
    line-height: 1;
    color: #DEECDA;
    mix-blend-mode: soft-light;
    position: absolute;
    right: 0;
    bottom: -10px;
    z-index: 1;
}

.subTitWrapper .inner{
    height: 100%;
    position: relative;
    z-index: 2;
}

.subTitWrapper.imgOn .container{
    padding: 30px 50px 10px 20px;
    background-color: #fff;
    border-radius: 0 40px 0 0;
    position: absolute;
    left: 0;
    bottom: 0;
}

.subTitWrapper.imgOn .container::before{
    content: '';
    display: inline-block;
    width: 30px;
    height: 30px;
    background: url(../images/pages/sub_tit_parts_01.svg)no-repeat center;
    background-size: 100%;
    position: absolute;
    left: 0;
    top: -30px;
}

.subTitWrapper.imgOn .container::after{
    content: '';
    display: inline-block;
    width: 30px;
    height: 30px;
    background: url(../images/pages/sub_tit_parts_01.svg)no-repeat center;
    background-size: 100%;
    position: absolute;
    right: -30px;
    bottom: 0;
}

.subTitWrapper.noImg .container{
    text-align: center;
}

.subTitWrapper .container .subTit{
    font-size: 4.4rem;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: .25em;
}

.subTitWrapper .container > span{
    display: block;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1;
    color: #68A955;
}

.breadcrumbs{
    font-size: 1.4rem;
    line-height: 1.5;
    padding-top: 5em;
    position: relative;
    z-index: 1;
}

.breadcrumbs .inner > span{
    display: inline-block;
    margin-bottom: .25em;
}

.breadcrumbs span a{
    color: #9faab0;
    transition: all .1s;
}

.breadcrumbs span a:hover{
    color: #68A955;
}

.breadcrumbs span.separate{
    display: inline-block;
    vertical-align: middle;
    width: 18px;
    height: 1px;
    background-color: #9faab0;
    margin: -3px 5px 0;
}

.mainWrapper{
    padding-top: 100px;
}

.mainWrapper.wave{
    margin-top: 109px;
    background-color: #E9F2E6;
    position: relative;
}

.mainWrapper.wave::before{
        content: '';
    display: block;
    width: 100%;
    height: 79px;
    background: url(../images/bg_wave_04.png) no-repeat center top;
    background-size: auto 100%;
    position: absolute;
    left: 0;
    top: -78px;
}

.pt{
    padding-top: 100px;
}

.pb{
    padding-bottom: 120px;
}

.bt{
    border-top: 1px solid #eee;
}

#sub main section.whiteBx{
    padding-bottom: 60px;
}

#sub main section:last-child{
    padding-bottom: 199px;
}

#sub main section.whiteBx .secWhiteBx{
    padding: 80px;
    background-color: #fff;
    border-radius: 50px;
}

.mainWrapper .inner{
    max-width: 1200px;
}

.mainWrapper .inner.w1100{
    max-width: 1100px;
}

.mainWrapper .inner.w1000{
    max-width: 1000px;
}

.mainWrapper .inner.w900{
    max-width: 900px;
}

.mainWrapper .inner.w800{
    max-width: 800px;
}

section .h_basic{
    text-align: center;
    font-size: 3.2rem;
    font-weight: 600;
    line-height: 1.5;
    padding-bottom: 1em;
    position: relative;
    margin-bottom: 2em;
}

section .h_basic::before{
    content: '';
    display: inline-block;
    width: .75em;
    height: 6px;
    background-color: #68A955;
    border-radius: 50px 0 0 50px;
    position: absolute;
    left: -.75em;
    right: 0;
    bottom: 0;
    margin: auto;
}

section .h_basic::after{
    content: '';
    display: inline-block;
    width: .75em;
    height: 6px;
    background-color: #F5A73A;
    border-radius: 0 50px 50px 0;
    position: absolute;
    left: 0;
    right: -.75em;
    bottom: 0;
    margin: auto;
}

section .h_grn{
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.5;
    color: #68A955;
    margin: 2em 0 .75em;
}

section .h_basic + .h_grn{
    margin-top: 0;
}

section .h_border{
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 1.5;
    padding-top: .75em;
    border-top: 1px solid #DEECDA;
    margin: 3em 0 1.25em;
    position: relative;
}

section .h_border:first-child{
    margin-top: 0;
}

section .h_border::before{
    content: '';
    display: inline-block;
    width: 1em;
    height: 4px;
    background-color: #68A955;
    border-radius: 0 0 4px 4px;
    position: absolute;
    left: 0;
    top: 0;
}

section .h_dot{
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 1.5;
    padding-left: 1.25em;
    margin: 3em 0 .75em;
    position: relative;
}

section .h_dot::before{
    content: '';
    display: inline-block;
    width: .75em;
    height: .75em;
    background-color: #2ea7e0;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: .4em;
}

section .h_band{
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1.5;
    padding: .75em 1em;
    background-color: #eff8fd;
    border-left: 8px solid #2ea7e0;
    border-radius: 8px;
    margin: 3em 0 .75em;
}

section.bgOn .h_band{
    background-color: #fff;
}

.h_basic + .h_band{
    margin-top: 0;
}

section .h_band span.secondaryTxt{
    display: inline-block;
    font-size: 1.8rem;
    margin-left: 1em;
}

section .h_circle{
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.5;
    padding-left: 1.25em;
    margin: 2em 0 1em;
    position: relative;
}

section .h_circle::before{
    content: '';
    display: inline-block;
    width: .65em;
    height: .65em;
    border: 3px solid #2ea7e0;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: .4em;
}

section .h_org{
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.5;
    color: #dba312;
    margin: 2em 0 .5em;
}

section .h_dotted{
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.5;
    padding-bottom: .15em;
    border-bottom: 2px dotted #2ea7e0;
    margin: 2em 0 .5em;
}

section .secSecondaryTxt{
    text-align: center;
}

.mainWrapper section .inner > p,
.mainWrapper section .inner .secWhiteBx > p{
    margin-bottom: 1.25em;
}

#sub #topInformation{
    background-color: #fff;
}

#sub #topInformation::before{
    background-image: url(../images/bg_wave_05.png);
}

#sub .newsList ul li a{
    background-color: #fff;
}











.brSp{
    display: none;
}



/* 以下投稿用 */
.postBody{
    font-size: 1.6rem;
    line-height: 1.8;
    word-break: break-all;
}

.postCat span{
    display: inline-block;
    text-align: center;
    width: 5em;
    font-size: 1.3rem;
    line-height: 1;
    color: #fff;
    padding: .35em .5em;
}

.postCat span.news{
    background-color: #56ac46;
}

.postCat span.blog{
    background-color: #e066a7;
}

.postTit{
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .025em;
    /* padding-bottom: .5em;
    border-bottom: 1px dashed #174a66; */
    margin-bottom: .5em;
}

.postDate{
    display: block;
    font-size: 1.3rem;
    line-height: 1;
}

.postWriter{
    margin-top: .5em;
}

.postBody{
    font-weight: normal;
    margin-top: 80px;
}

.postBody p{
    min-height: 1em;
    margin-bottom: 1.25em;
}

.postBody h1{
    font-size: 3rem;
    font-weight: 600;
    line-height: 1.5;
    color: #68A955;
    margin: 4em 0 .75em;
}

.postBody h1:first-child{
    margin-top: 0;
}

.postBody h2{
    font-size: 2.6rem;
    font-weight: 600;
    line-height: 1.5;
    padding: .25em .75em .5em;
    border-left: 8px solid #68A955;
    border-bottom: 2px solid #68A955;
    margin: 4em 0 1em;
}

.postBody h2:first-child{
    margin-top: 0;
}

.postBody h3{
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.5;
    padding-bottom: .25em;
    border-bottom: 1px dashed #68A955;
    margin: 2em 0 .5em;
}

.postBody h4{
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1.5;
    padding-left: 1.4em;
    margin: 2em 0 .5em;
    position: relative;
}

.postBody h4::before{
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
    background-color: #68A955;
    border-radius: 3px;
    position: absolute;
    left: 0;
    top: .35em;
}

.postBody h5{
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.5;
    margin: 2em 0 .5em;
}

.postBody ul,
.postBody ol{
    padding-left: 20px;
    margin: 30px 0;
}

.postBody ul li,
.postBody ol li{
    padding-left: 1.25em;
    font-size: 1.6rem;
    line-height: 1.8;
    margin-bottom: .75em;
    position: relative;
}

.postBody ol li{
    counter-increment: number 1;
}

.postBody ul li::before{
    content: '';
    display: inline-block;
    width: 4px;
    height: 4px;
    border-radius: 100%;
    background-color: #68A955;
    position: absolute;
    left: .6em;
    top: .7em;
}

.postBody ol li::before{
    content: counter(number)'.';
    display: inline-block;
    border-radius: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

.postBody ul li span,
.postBody ol li span{
    display: block;
    font-weight: 700;
}

.postBody a{
    color: #108DB5;
    text-decoration: underline;
    transition: 0s;
}

.postBody a:hover{
    opacity: 1;
    text-decoration: none;
}

.postBody img{
    width: auto;
    max-width: 100%;
    border-radius: 10px;
}

.postBody figcaption{
    font-size: 1.4rem;
    line-height: 1.5;
    margin-top: .5em;
}

.postBody hr{
    display: none;
}

.postBody table{
    width: 100%;
    margin: 30px 0;
}

.postBody table tr th,
.postBody table tr td{
    font-size: 1.5rem;
    line-height: 1.8;
    padding: 1em;
    border: 1px solid #DEECDA;
}

.postBody table tr th{
    text-align: center;
    font-weight: 700;
    background-color: #F4F9F2;
}

.single .moreBtn{
    text-align: center;
    margin-top: 80px;
}

.moreBtn a{
    display: inline-block;
    width: 100%;
    max-width: 280px;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
    color: #68A955;
    padding: 1em;
    background-color: #fff;
    border-bottom: 2px solid #DEECDA;
    border-radius: 50px;
    position: relative;
}

.moreBtn.bgOn a{
    background-color: #fff;
}

.moreBtn a:hover{
    color: #fff;
    background-color: #68A955;
    /* border-color: #2ea7e0; */
}

.moreBtn a::after{
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 6px;
    height: 6px;
    border-top: 1px solid #68A955;
    border-right: 1px solid #68A955;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    right: 25px;
    top: 0;
    bottom: 0;
    margin: auto;
    transition: all .2s;
}

.moreBtn a:hover::after{
    border-color: #fff;
    right: 22px;
}

#sub .pagination{
    text-align: center;
    margin-top: 50px;
}

#sub .pagination .page_num{
    display: block;
    font-size: 1.4rem;
    font-weight: normal;
    line-height: 1;
    margin-bottom: 1em;
}

#sub .pagination .pager{
    display: inline-block;
    font-size: 1.4rem;
    font-weight: normal;
    line-height: 1;
    padding: .75em;
    border: 1px solid #DEECDA;
    border-radius: 2px;
    margin: 0 .15em .5em;
}

#sub .pagination a.pager{
    transition: all .3s;
}

#sub .pagination a.pager:hover{
    background-color: #F4F9F2;
}

#sub .pagination .current{
    background-color: #F4F9F2;
}

#sub .pagination .prev,
#sub .pagination .next,
#sub .pagination .first,
#sub .pagination .last{
    display: inline-block;
    font-size: 1.4rem;
    line-height: 1;
    padding: .75em;
    border: 1px solid #DEECDA;
    border-radius: 2px;
    margin: 0 .15em .5em;
    transition: all .3s;
}

#sub .pagination .prev:hover,
#sub .pagination .next:hover,
#sub .pagination .first:hover,
#sub .pagination .last:hover{
    background-color: #F4F9F2;
}

.pageAnchorLink{
    text-align: center;
    margin-bottom: 40px;
}

.pageAnchorLink a{
    display: inline-block;
    font-size: 1.6rem;
    line-height: 1.5;
    padding: .75em 2em;
    background-color: #F4F9F2;
    border-radius: 50px;
}

.pageAnchorLink a:hover{
    background-color: #E9F2E6;
}

.pageAnchorLink a::after{
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 20px;
    height: 20px;
    background: url(../images/parts_arrow_w.svg) no-repeat center #68A955;
    background-size: 100%;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    border-radius: 50%;
    margin-left: 8px;
    margin-top: -3px;
    transition: all .2s;
}



/* ------------------------------------------------------- service 診療内容 */
.serviceDl dl{
    display: flex;
    align-items: center;
    background-color: #F4F9F2;
    border-radius: 10px;
    margin-bottom: 10px;
}

.serviceDl dl dt{
    width: 14em;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.5;
    padding-left: 1.25em;
}

.serviceDl dl dd{
    flex: 1;
    padding: 20px;
    border-left: 1px solid #DEECDA;
}

.serviceDl dl dd > p{
    font-size: 2.4rem;
    font-weight: 600;
    color: #68A955;
}

.serviceDl dl dd > p.middle{
    font-size: 2rem;
}

.serviceDl dl dd > p .yen{
    font-size: 1.6rem;
}

.serviceDl dl dd > span{
    font-size: 1.4rem;
    line-height: 1.5;
}



/* ------------------------------------------------------- about 当院について */
.about3List ul li{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 60px;
}

.about3List ul li:last-child{
    margin-bottom: 0;
}

.about3List ul li figure{
    width: 40%;
}

.about3List ul li figure img{
    border-radius: 20px;
}

.about3List ul li .txtContents{
    flex: 1;
    margin-left: 40px;
}

.about3List ul li .txtContents h4{
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1.5;
    padding-left: 2em;
    margin-bottom: .75em;
    position: relative;
}

.about3List ul li .txtContents h4 span{
    display: inline-block;
    font-size: 3.2rem;
    font-weight: 600;
    line-height: 1;
    color: #68A955;
    position: absolute;
    left: 0;
    top: -2px;
}

.doctorProfile{
    display: flex;
    flex-wrap: wrap;
}

.doctorProfile figure{
    width: 40%;
}

.doctorProfile figure img{
    border-radius: 20px;
}

.doctorProfile .txtContents{
    flex: 1;
    margin-right: 40px;
}

.doctorProfile .txtContents .profileBlock{
    margin-bottom: 40px;
}

.doctorProfile .txtContents .profileBlock:last-of-type{
    margin-bottom: 0;
}

.doctorProfile .txtContents .profileBlock > span{
    display: block;
    font-size: 1.8rem;
    line-height: 1.5;
    padding: .5em 0 .5em .75em;
    background-color: #F4F9F2;
    border-radius: 10px;
    margin-bottom: .5em;
    position: relative;
}

.doctorProfile .txtContents .profileBlock dl{
    display: flex;
    flex-wrap: wrap;
    font-size: 1.5rem;
    line-height: 1.8;
    padding: 1em 0;
    border-bottom: 1px solid #DEECDA;
}

.doctorProfile .txtContents .profileBlock dl dt{
    width: 14em;
}

.doctorProfile .txtContents .profileBlock dl dd{
    flex: 1;
}

.doctorProfile .txtContents p.note{
    margin-top: 1em;
}

.doctorMessage{
    padding: 40px;
    background-color: #F4F9F2;
    border-radius: 20px;
    margin-top: 40px;
}

.doctorMessage > span{
    display: block;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.5;
    color: #68A955;
    margin-bottom: .75em;
}

.clinicImgs ul{
    display: flex;
    flex-wrap: wrap;
    gap: 32px 3.125%;
    margin-bottom: 40px;
}

.clinicImgs ul li{
    width: 31.25%;
    border-radius: 20px;
    overflow: hidden;
    cursor: pointer;
    position: relative;
}

.clinicImgs ul li::after{
    content: '';
    display: inline-block;
    width: 28px;
    height: 28px;
    background: url(../images/icon_zoom.png)no-repeat center #68A955;
    background-size: 100%;
    border-radius: 10px;
    position: absolute;
    right: 10px;
    bottom: 10px;
}

.clinicImgs ul li img{
    transition: all .2s;
}

.clinicImgs ul li:hover img{
    transform: scale(1.1);
}



/* ------------------------------------------------------- first-visit 初めての方へ */
.first-visitFlow ul{
    display: flex;
    flex-wrap: wrap;
    gap: 32px 3.125%;
}

.first-visitFlow ul li{
    width: 31.25%;
    background-color: #F4F9F2;
    border-radius: 20px;
    padding: 40px 30px 30px;
}

.first-visitFlow ul li h4{
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1.5;
    padding-left: 2em;
    margin-bottom: .75em;
    position: relative;
}

.first-visitFlow ul li h4 span{
    display: inline-block;
    font-size: 3.2rem;
    font-weight: 600;
    line-height: 1;
    color: #68A955;
    position: absolute;
    left: 0;
    top: -2px;
}

.first-visit .secWhiteBx .timeTable table tr th,
.first-visit .secWhiteBx .timeTable table tr td{
    font-size: 1.6rem;
}

.first-visit .secWhiteBx .timeTable > p{
    font-size: 1.6rem;
}

.first-visit .secWhiteBx .timeTableNotes ul li{
    font-size: 1.6rem;
}



/* ------------------------------------------------------- vaccination 予防接種・ワクチンデビュー */
.vaccinationTable table{
    width: 100%;
    margin-bottom: 20px;
}

.vaccinationTable table th,
.vaccinationTable table td{
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.8;
    padding: .5em;
    border: 1px solid #DEECDA;
}

.vaccinationTable table th{
    width: 30%;
    background-color: #F4F9F2;
}

.vaccinationTable table th span,
.vaccinationTable table td span{
    display: block;
    font-size: 1.4rem;
}

.listDot li .rules dl{
    display: flex;
    align-items: center;
    margin: 15px 0;
}

.listDot li .rules dl:last-child{
    margin-bottom: 25px;
}

.listDot li .rules dl dt{
    width: 8em;
    font-size: 1.6rem;
    line-height: 1.8;
}

.listDot li .rules dl dd{
    flex: 1;
    font-size: 1.6rem;
    line-height: 1.8;
    padding-left: 1.5em;
    border-left: 1px solid #DEECDA;
}

.listDot li .rules dl dd span{
    display: block;
    font-size: 1.4rem;
    font-weight: normal;
}







/* ------------------------------------------------------- tab / sp */
@media(max-width: 820px){
    .brSp{
        display: block;
    }

    main{
        padding: 0;
    }

    .subTitWrapper.noImg{
        padding: 160px 0 50px;
    }

    .subTitWrapper.imgOn{
        margin-top: 106px;
        height: 400px;
    }

    .subTitWrapper.imgOn::after{
        margin-left: max(25px, calc((100% - 1400px) / 2));
    }

    .vaccination .subTitWrapper.imgOn::after{
        background-position: right 55% bottom;
        background-size: 150%;
    }

    .subTitWrapper.imgOn > span{
        font-size: 7rem;
        bottom: -5px;
    }

    .subTitWrapper.imgOn .container{
        padding: 20px 40px 10px 20px;
        border-radius: 0 30px 0 0;
    }

    .subTitWrapper .container .subTit{
        font-size: 3.2rem;
    }

    .subTitWrapper .container > span{
        font-size: 1.5rem;
    }

    .breadcrumbs{
        padding-top: 3em;
    }

    .mainWrapper.wave{
        margin-top: 89px;
    }

    .mainWrapper.wave::before{
        height: 64px;
        top: -64px;
    }

    .mainWrapper{
        padding-top: 80px;
    }

    .pt{
        padding-top: 80px;
    }

    .pb{
        padding-bottom: 80px;
    }

    #sub main section:last-child{
        padding-bottom: 100px;
    }

    section .h_basic{
        font-size: 2.8rem;
    }

    section .h_grn{
        font-size: 2.2rem;
    }

    section .h_border{
        font-size: 2.4rem;
    }

    section .h_dot{
        font-size: 2.4rem;
    }

    section .h_dot::before{
        top: .45em;
    }

    .postBody{
        font-size: 1.5rem;
    }

    .postBody ul li,
    .postBody ol li{
        font-size: 1.5rem;
    }

    .postBody table tr th,
    .postBody table tr td{
        font-size: 1.4rem;
    }

    #sub main section.whiteBx{
        padding-bottom: 40px;
    }

    #sub main section.whiteBx .secWhiteBx{
        padding: 60px;
    }

    #sub main section:last-child{
        padding-bottom: 199px;
    }

    .serviceDl dl dt{
        font-size: 1.8rem;
    }

    .serviceDl dl dd > p{
        font-size: 2.2rem;
    }

    .serviceDl dl dd > p.middle{
        font-size: 1.8rem;
    }

    .about3List ul li .txtContents h4 span{
        top: -1px;
    }

    .doctorProfile .txtContents{
        flex: auto;
        order: 1;
        margin: 40px 0 0;
    }

    .doctorProfile figure{
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
    }

    .first-visitFlow ul{
        gap: 25px 4%;
    }

    .first-visitFlow ul li{
        width: 48%;
    }

    .first-visit .secWhiteBx .timeTable table tr th,
    .first-visit .secWhiteBx .timeTable table tr td{
        font-size: 1.5rem;
    }

    .first-visit .secWhiteBx .timeTable > p{
        font-size: 1.5rem;
    }

    .first-visit .secWhiteBx .timeTableNotes ul li{
        font-size: 1.5rem;
    }

    .first-visitFlow ul li h4 span{
        top: -1px;
    }

    .moreBtn a{
        max-width: 260px;
        font-size: 1.5rem;
    }

    .pageAnchorLink a{
        font-size: 1.5rem;
    }

    .vaccinationTable table th,
    .vaccinationTable table td{
        font-size: 1.5rem;
    }

    .listDot li .rules dl dt,
    .listDot li .rules dl dd{
        font-size: 1.5rem;
    }






















}



@media(max-width: 670px){
    br.spNone{
        display: none;
    }

    .subTitWrapper.noImg{
        padding: 110px 0 20px;
    }

    .subTitWrapper.imgOn{
        height: 300px;
        margin-top: 86px;
    }

    .subTitWrapper.imgOn::after{
        margin-left: max(20px, calc((100% - 1400px) / 2));
        border-radius: 30px 0 0 30px;
    }

    .vaccination .subTitWrapper.imgOn::after{
        background-size: 230%;
    }

    .subTitWrapper.imgOn > span{
        font-size: 4rem;
        bottom: -3px;
    }

    .subTitWrapper .container{
        padding: 15px 30px 10px 10px;
        border-radius: 0 25px 0 0;
    }

    .subTitWrapper .container::before{
        width: 25px;
        height: 25px;
        top: -25px;
    }

    .subTitWrapper .container::after{
        width: 25px;
        height: 25px;
        right: -25px;
    }

    .subTitWrapper.noImg .container{
        padding: 0;
    }

    .subTitWrapper .container .subTit{
        font-size: 2.4rem;
    }

    .subTitWrapper .container > span{
        font-size: 1.3rem;
    }

    .breadcrumbs{
        font-size: 1.1rem;
        padding-top: 2.5em;
    }

    .breadcrumbs span.separate{
        margin-top: -2px;
    }

    .mainWrapper.wave{
        margin-top: 74px;
    }

    .mainWrapper.wave::before{
        height: 52px;
        top: -52px;
    }

    .mainWrapper{
        padding-top: 50px;
    }

    .pt{
        padding-top: 50px;
    }

    .pb{
        padding-bottom: 60px;
    }

    #sub main section.whiteBx{
        padding-bottom: 20px;
    }

    #sub main section.whiteBx .secWhiteBx{
        padding: 30px 25px;
        border-radius: 20px;
    }

    #sub main section:last-child{
        padding-bottom: 140px;
    }

    section .h_basic{
        font-size: 2.2rem;
    }

    section .h_basic br{
        display: block;
    }

    section .h_basic::before,
    section .h_basic::after{
        height: 4px;
    }

    section .h_grn{
        font-size: 1.8rem;
    }

    section .h_border{
        font-size: 2rem;
    }

    section .h_band span.secondaryTxt{
        display: block;
        font-size: 1.6rem;
        margin: 0;
    }

    section .h_band{
        font-size: 2rem;
        padding: .5em .75em;
    }

    section .h_dot{
        font-size: 2rem;
        padding-left: 1.15em;
        margin-bottom: .5em;
    }

    section .h_dotted{
        font-size: 1.8rem;
    }

    .serviceDl dl{
        flex-wrap: wrap;
    }

    .serviceDl dl dt{
        width: 100%;
        font-size: 1.6rem;
        padding: 15px;
    }

    .serviceDl dl dd{
        flex: auto;
        padding: 10px 15px 15px;
        border-left: none;
        border-top: 1px solid #DEECDA;
    }

    .serviceDl dl dd > p{
        font-size: 1.8rem;
    }

    .serviceDl dl dd > p.middle{
        font-size: 1.6rem;
    }

    .about3List ul li figure{
        width: 100%;
        margin-bottom: 20px;
    }

    .about3List ul li figure img{
        border-radius: 10px;
    }

    .about3List ul li .txtContents{
        flex: auto;
        margin: 0;
    }

    .about3List ul li .txtContents h4{
        font-size: 1.8rem;
        padding-left: 1.75em;
    }

    .about3List ul li .txtContents h4 span{
        font-size: 2.5rem;
    }

    .doctorProfile .txtContents .profileBlock > span{
        font-size: 1.6rem;
    }

    .doctorProfile .txtContents .profileBlock dl dt{
        width: 100%;
    }

    .doctorProfile .txtContents .profileBlock dl dd{
        flex: auto;
        padding: .25em 0 0 1em;
    }

    .doctorMessage{
        padding: 25px 20px;
        border-radius: 10px;
        margin-top: 30px;
    }

    .doctorMessage > span{
        font-size: 1.6rem;
    }

    .clinicImgs ul{
        gap: 12px 4%;
    }

    .clinicImgs ul li{
        width: 48%;
        border-radius: 10px;
    }

    .clinicImgs ul li::after{
        width: 24px;
        height: 24px;
        border-radius: 7px;
        right: 5px;
        bottom: 5px;
    }

    .first-visitFlow ul{
        gap: 20px 0;
    }

    .first-visitFlow ul li{
        width: 100%;
        padding: 25px;
    }

    .first-visitFlow ul li h4{
        font-size: 1.8rem;
        padding-left: 1.75em;
    }

    .first-visitFlow ul li h4 span{
        font-size: 2.5rem;
    }

    .first-visit .secWhiteBx .timeTable table tr th,
    .first-visit .secWhiteBx .timeTable table tr td{
        font-size: 1.3rem;
        padding: .5em .35em;
    }

    .first-visit .secWhiteBx .timeTable > p{
        font-size: 1.3rem;
    }

    .first-visit .secWhiteBx .timeTableNotes ul li{
        font-size: 1.4rem;
    }

    .postTit{
        font-size: 2.8rem;
    }

    .postBody{
        margin-top: 50px;
    }

    .postBody h1{
        font-size: 2.4rem;
    }

    .postBody h2{
        font-size: 2.2rem;
        padding: .25em .6em .5em;
    }

    .postBody h3{
        font-size: 2rem;
    }

    .postBody h4{
        font-size: 1.8rem;
    }

    .postBody h4::before{
        top: .275em;
    }

    .postBody h5{
        font-size: 1.6rem;
    }

    .postBody ul,
    .postBody ol{
        padding-left: 10px;
    }

    .postBody table tr th,
    .postBody table tr td{
        padding: .5em;
    }

    .single .moreBtn{
        margin-top: 50px;
    }

    .pageAnchorLink a{
        font-size: 1.4rem;
        padding: .75em 1.5em;
    }

    .vaccinationTable table th,
    .vaccinationTable table td{
        width: auto;
        font-size: 1.4rem;
    }

    .vaccinationTable table th span,
    .vaccinationTable table td span{
        font-size: 1.3rem;
    }

















}




















