.mv{ margin: 8rem 0 1rem; position: relative; z-index: 0; }
.mv:before{ content: ''; width: 100%; height: 100%; background: #999; mix-blend-mode: multiply; position: absolute; top: 0; left: 0; opacity: 0.1; }
.mv img{ display: block; width: 100%; height: 37rem; object-fit: cover; object-position: center; }

.pankuzu{ width: 1000px; margin: 0 auto; }
.pankuzu li{ font-size: 1.2rem; display: inline-block; }
.pankuzu li:not(:last-of-type):after{ content: '-'; margin-left: .5em; }

main{ display: block; width: 800px; margin: 10rem auto 14rem; }
main h1{ font-size: 1.6rem; text-align: center; line-height: 1.6; margin-bottom: 7rem; position: relative; z-index: 1; }
main h1:after{ content: attr(data-en); display: block; text-align: center; font-size: 9rem; font-weight: 400; font-family: var(--en-font); color: var(--sub-color01); line-height: .9; letter-spacing: 0; margin-top: .8rem; }
main h1 + p{ margin: -3rem 0 6rem; }

main section > img{ display: block; width: 100%; margin: 4rem 0; }
main section img{ border-radius: 20rem; }
main section .btn{ margin: 2.5rem 0; }
main section + section{ margin-top: 8rem; }
main section > *:first-child:not(.dr-pic){ margin-top: 0 !important; }
main section > *:last-child{ margin-bottom: 0 !important; }

main section h2:not(.no-style){ font-size: 2.8rem; line-height: 1.6; background: var(--base-color); color: #fff; text-align: center; margin: 8rem 0 4rem; padding: .4em 1em; }
main section h3:not(.no-style){ font-size: 2.4rem; color: var(--sub-color02); margin: 6rem 0 2.6rem; position: relative; border-bottom: solid 1px; }
main section h4:not(.no-style){ font-size: 1.8rem; color: #fff; background: var(--sub-color01); padding: .1em 1em; margin: 4rem 0 2rem; }
main section h5:not(.no-style){ font-size: 1.8rem; color: var(--sub-color01); margin: 3rem 0 1em; }
main section h6:not(.no-style){ font-size: 1.6rem; margin: 1.3em 0 .8em; }
main section h2:not(.no-style) + *,
main section h3:not(.no-style) + *,
main section h4:not(.no-style) + *,
main section h5:not(.no-style) + *,
main section h6:not(.no-style) + *{ margin-top: 0 !important; }
main section p{ margin-bottom: 1em; line-height: 2; }
main section p strong{ font-weight: bold; background:linear-gradient(transparent 85%, var(--sub-color01) 85%); padding-bottom: .2em; }

main section ol:not([class]){ margin: 4rem 0; counter-reset: number; }
main section ol:not([class]) li{ font-size: 1.6rem; padding-left: 6.4rem; position: relative; min-height: 5rem; display: flex; align-items: center; }
main section ol:not([class]) li:before{ counter-increment: number; content: counter(number); width: 5rem; height: 5rem; border-radius: 5rem; box-sizing: border-box; background: var(--bg-color01); font-size: 2.2rem; font-weight: 700; letter-spacing: 0; display: flex; justify-content: center; align-items: center; position: absolute; left: 0; top: 0; }
main section ol:not([class]) li + li{ margin-top: 3rem; }

main section ol.card-list{ margin: 4rem 0; counter-reset: card; display: flex; flex-wrap: wrap; }
main section ol.card-list li{ width: 25rem; background: var(--bg-color02); margin-right: 2.5rem; padding: 3rem 2rem; }
main section ol.card-list li:nth-of-type(3n){ margin-right: 0; }
main section ol.card-list li:nth-of-type(n+4){ margin-top: 2.5rem; }
main section ol.card-list li strong:first-of-type{ display: block; font-size: 2rem; font-weight: 700; color: var(--sub-color03); letter-spacing: .05em; text-align: center; padding-bottom: .2em; position: relative; margin-bottom: 1em; position: relative; border-bottom: solid 1px; }

main section ul:not([class]){ margin: 4rem 0; }
main section ul:not([class]) li{ font-size: 1.6rem; padding-left: 3rem; position: relative; }
main section ul:not([class]) li:before{ content: ''; width: 2rem; height: 2rem; border-radius: 1rem; background: var(--sub-color01); position: absolute; left: .2rem; top: .4rem; }
main section ul:not([class]) li + li{ margin-top: 2rem; }

main section ol.flow{ counter-reset: flow; margin: 5rem 0; }
main section ol.flow li{ position: relative; line-height: 2; }
main section ol.flow li + li{ margin-top: 4rem; }
main section ol.flow li.has-img{ padding-right: 40rem; }
main section ol.flow li strong:first-of-type{ position: relative; padding-left: 4rem; display: block; margin-bottom: 1.2rem; font-size: 2rem; font-weight: bold; letter-spacing: .05em; line-height: 1.6; color: var(--sub-color03); }
main section ol.flow li strong:first-of-type:before{ counter-increment: flow; content: counter(flow); width: 3rem; height: 3rem; box-sizing: border-box; background: var(--sub-color01); border-radius: 1.5rem; display: flex; justify-content: center; align-items: center; font-size: 1.8rem; color: #fff; letter-spacing: 0; position: absolute; left: 0; top: 0; }
main section ol.flow li img{ width: 35rem; position: absolute; top: 0; right: 0; }

main section table:not(.no-style){ width: 100%; margin: 4rem 0; }
main section table:not(.no-style) th{ padding: 1em; vertical-align: middle; background: var(--bg-color01); letter-spacing: .05em; font-size: 1.4rem; font-weight: 500; line-height: 1.6; border: solid 1px; border-right: 1px solid; }
main section table:not(.no-style) td{ padding: 1em; vertical-align: middle; line-height: 1.7; font-size: 1.4rem; border: solid 1px; border-left: none; }
main section table:not(.no-style) td strong{ font-size: 2.2rem; }
main section table:not(.no-style) td + td{ border-left: solid 1px; }


/*** doctor ***/

.dr-pic{ width: 100%; margin: 8rem 0 3.5rem; display: flex; justify-content: space-between; align-items: center; }
.dr-pic img{ width: 40rem; }
.dr-pic .txt{ width: 35rem; }
.dr-pic .txt h3{ font-size: 3.4rem; border-bottom: solid 1px; padding-bottom: 1rem; margin-bottom: 2rem; }
.dr-pic .txt h3 span{ font-size: 1.4rem; display: inline-block; line-height: 1; vertical-align: middle; font-weight: 400; margin-left: 1.5em; }
.dr-pic .txt p{ font-size: 2.2rem; font-weight: 700; line-height: margin-bottom: 0; line-height: 1.8; }

.history-row{ display: flex; justify-content: space-between; margin: 5rem 0; flex-wrap: wrap; }
.history-row .inner{ width: 38rem; letter-spacing: .03em; }
.history-row .inner:nth-of-type(n+3){ margin-top: 4rem; }
.history-row .inner h4{ letter-spacing: .05em; font-size: 1.6rem; font-weight: 400; text-align: center; margin-bottom: 2.5rem; background: var(--bg-color01); padding: .2em; }
.history-row .inner table{ width: 100%;  }
.history-row .inner table th{ font-weight: 400; width: 1px; padding-right: 1.5em; white-space: nowrap; }
.history-row .inner table tr + tr > *{ padding-top: .5em; }
.history-row .inner ul li + li{ margin-top: .7em; }


/*** treatment ***/

.treat-wrap{ position: relative; z-index: 0; padding: 0 5rem 7.5rem; }
.treat-wrap:before{ content: '';  width: calc(100% + 10rem); height: calc(100% + 14.8rem); background: url(../cms/images/common/webp/treatment-bg01.webp) no-repeat center/cover; position: absolute; bottom: 0; left: -5rem; z-index: -1; }
.treat-wrap > p:first-child{ font-size: 1.8rem; text-align: center; margin-bottom: 8rem; position: relative; }
.treat-wrap > p:first-child:before{ content: ''; width: 10rem; height: 1px; background: var(--sub-color02); position: absolute; top: -3.5rem; left: 50%; transform: translateX(-50%); }
.treat-wrap .treat-list01{ margin-bottom: 5rem; }
.treat-wrap .treat-list02 + .btn{ margin-top: 7rem; background: var(--sub-color03); }

/*measures-box*/
.measures-box{background: #f3f3f3;border-radius: 3rem;padding: 4rem 5rem 6rem;margin-top: 3.6rem;}
.measures-box h3{margin: 0rem 0 6rem!important; text-align: center;}
.measures-box h3 strong {font-size: 6rem!important;line-height: 1;}

/*card-list*/
.card-list{ display: flex; justify-content: center; flex-wrap: wrap; }
.card-list li{ width: 20rem; margin-right: 4rem; background: #fff; position: relative; border-radius: 1rem; padding: 0 2rem 2rem; }
.card-list li:nth-of-type(3n),
.card-list li:last-of-type{ margin-right: 0; }
.card-list li:nth-of-type(n+4){ margin-top: 6rem; }
.card-list li .no{ width: 5rem; height: 5rem; border-radius: 2.5rem; background:var(--sub-color01);; color: #fff; font-size: 1.2rem; position: absolute; top: -2.5rem; left: 50%; transform: translateX(-50%); display: flex; justify-content: center; align-items: center; }
.card-list li .no span{ display: block; text-align: center; line-height: 1.4; }
.card-list li .no strong{ display: block; font-size: 1.7rem; text-align: center; line-height: 1; background: none!important;padding-bottom: 0px;}
.card-list li img{ width: calc(100% + 4rem); margin-left: -2rem; border-radius: 1rem 1rem 0 0; max-width: initial; }
.card-list li h4{ font-size: 1.5rem; text-align: center; line-height: 1.2; letter-spacing: 0.03em; height: 6rem; border-bottom: solid 1px #f3f3f3; margin-bottom: 1.2rem; margin-top: 20px;}
.card-list li p{ letter-spacing: .05em; margin-bottom: 0; }

/*gray-box*/
.gray-box {background: #f3f3f3;border-radius: 3rem;padding: 4rem 5rem 6rem;margin-top: 3.6rem;}
.gray-box .side-img {margin: 0 0 40px;}

/*side-img*/
.side-img {display: flex;justify-content: space-between;margin: 40px 0;flex-wrap: wrap;}
.side-img .content {width: 48%;padding: 0px;margin: 0;}
.side-img .content h3{margin-top: 0;}
.side-img .content h4{margin-top: 0;}
.side-img .img {width: 48%;}

/*side-img-ratio*/
.side-img-ratio {display: flex;justify-content: space-between;margin: 40px 0;flex-wrap: wrap;}
.side-img-ratio .content {width: 60%;padding: 0px;margin: 0;}
.side-img-ratio .content h3{margin-top: 0;}
.side-img-ratio .content h4{margin-top: 0;}
.side-img-ratio .img {width: 35%;}

/*clinic-pic*/
.clinic-pic{ width: 100%; height: 35rem; display: flex; align-items: center; padding-left: 6.5rem; background: #f7f7f7; z-index: 0; position: relative; margin: 8rem 0 4rem; position: relative;}
.clinic-pic:after{ content: ''; width: 100%; height: 100%; background: linear-gradient(90deg, rgba(247,247,247,1) 10%, rgba(247,247,247,1) 65%, rgba(247,247,247,0) 100%, rgba(247,247,247,0) 100%); position: absolute; top: 0; left: 0; }
.clinic-pic img{ position: absolute; top: 0; right: 0; height: 35rem; width: auto;  border-radius: 0;}
.clinic-pic img:nth-of-type(2){ position: absolute; top: 0!important; left:25rem; height: 35rem; width: auto; }
.clinic-pic .inner{ position: relative; z-index: 2; }
.clinic-pic .inner h4{ font-size: 2.5rem; max-width: 35rem; position: relative; color:#000; margin-bottom: 1.2rem; font-family: linotype-sabon,klee-one,sans-serif;}
.clinic-pic .inner h4:after{ content: ''; width: calc(100% + 6.5rem); height: 1px; background: linear-gradient(450deg, rgba(167,152,117,1) 0%, rgba(228,213,179,1) 33%, rgba(160,140,57,1) 80%, rgba(167,152,117,1) 100%); position: absolute; bottom: 0; right: 0; }
.clinic-pic .inner p{ margin-bottom: 0; font-size: 1.8rem; font-weight: 700; color:#000; line-height: 1.8; font-family: linotype-sabon,klee-one,sans-serif;}
.clinic-pic-center{position:absolute; top:0%; left:50%; z-index:999;}



main section ol.flow-implant{ counter-reset: flow; margin: 5rem 0; }
main section ol.flow-implant li{ position: relative; line-height: 2; }
main section ol.flow-implant li + li{ margin-top: 4rem; }
main section ol.flow-implant li{ margin-bottom: 180px; }
main section ol.flow-implant li.margin{ margin-bottom: 100px; }
main section ol.flow-implant li.has-img{ padding-right: 40rem; }
main section ol.flow-implant li strong:first-of-type{ position: relative; padding-left: 4rem; display: block; margin-bottom: 1.2rem; font-size: 2rem; font-weight: bold; letter-spacing: .05em; line-height: 1.6; color: var(--sub-color03); }
main section ol.flow-implant li strong:first-of-type:before{ counter-increment: flow; content: counter(flow); width: 3rem; height: 3rem; box-sizing: border-box; background: var(--sub-color01); border-radius: 1.5rem; display: flex; justify-content: center; align-items: center; font-size: 1.8rem; color: #fff; letter-spacing: 0; position: absolute; left: 0; top: 0; }
main section ol.flow-implant li img{ width: 35rem; position: absolute; top: 0; right: 0; }




.case table.sp-break th{ width: 25%; }
.case table.sp-break td{ width: 75%; }

.sp-break{}

.block{display:flex; justify-content: space-between; margin-bottom: 40px; margin-right: 30px;}
.block > *:first-of-type{margin-right: 40px;}
.block .txt{flex-grow: 1;}
.block .txt p{text-align: justify; line-height: 1.8; letter-spacing: 0.06em;}
.block .txt p + h3,
.block .txt p + h4{margin-top: 40px;}
.block .txt p + p{margin-top: 1em;}
.block .photo{flex-grow: 0;}
.block .photo p{line-height: 0; overflow: hidden;}
.block .txt img{ width: 100%; }

p.case-before{font-size: 1.7rem; text-aline:center; color:#FFFFFF; background-color: #111; width:100%; margin: 0; padding-left: 130px; margin-top: 10px;}
p.case-after{ font-size: 1.7rem; text-aline:center; color:#FFFFFF; background-color: #111; width:100%; margin: 0; padding-left: 130px; margin-top: 10px;}




/*ドクター紹介*/
.history-row {
    display: flex;
    justify-content: space-between;
    margin: 5rem 0;
    flex-wrap: wrap;
}
.history-row .inner {
    width: 30rem;
    letter-spacing: .03em;
}
.history-row .inner h4 {
    letter-spacing: .05em;
    font-size: 1.6rem;
    font-weight: 400;
    text-align: center;
    margin-bottom: 2.5rem;
    background: var(--bg-color01);
    padding: 0.2em;
}
.history-row .inner table {
    width: 100%;
}
.history-row .inner table th {
    font-weight: 400;
    width: 1px;
    padding-right: 1.5em;
    white-space: nowrap;
}
.history-row .inner:nth-of-type(n+3) {
    margin-top: 4rem;
}



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

.dr-list li.dr-box {
    width: 48%;
    height: 410px;
    background-color: #e2e2e2;
    border-radius: 1rem;
    padding: 2rem;
}

.dr-list li.dr-box.male {
    background: #bdd7ee;
}

.dr-list li.dr-box.female {
    background: #ffccff85;
}

.dr-list li.dr-box:nth-of-type(n+3) {
    margin-top: 3rem;
}

.dr-list .dr-box h4 {
    letter-spacing: .05em;
    font-size: 1.5rem;
    font-weight: 400;
    text-align: center;
    margin: 2rem 0 1rem;
    color: #000;
    background: #f2f2f2;
    padding: .2em;
	border-bottom: none;
}

.side-img-dr {
    display: flex;
    justify-content: space-between;
    margin: 20px 0;
}

.side-img-dr .content {
    width: 60%;
    padding: 0;
    margin: 0;
}

.side-img-dr .content h3 {
    margin:2rem auto;
}

.side-img-dr .content h4 {
    margin-top: 0;
}

.side-img-dr .content p {
    margin-top: 0;
    margin-bottom: 1rem;
}

.side-img-dr .img {
    width: 35%;
    margin-right: 20px;
}

.side-img-dr .img img {
    width: 100px;
    border-radius: 100%;
    border: 3px solid #f3f3f3;
}

.dr-list .tag-list {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    margin: 1rem auto 1.5rem;
}

.dr-list .tag-list li {
    font-size: 1.2rem;
    margin-right: 1em;
    margin-top: .5em;
    color: #fff;
    background: #16254b;
    padding: .2em .6em;
}
.dr-list .tag-list li span{
    font-size: 0.8rem;
}

.dr-list .week-list {
    width: 100%;
    display: flex;
    justify-content: space-around;
}

.dr-list .week-list li {
    width: 30px;
    height: 30px;
    text-align: center;
    vertical-align: middle;
    align-items: center;
    background: #fff;
    border-radius: 100%;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 2;
    position: relative;
}


