.mv{ height: 330px; background-repeat: no-repeat; background-size: cover; background-position: center; background-color: #f2f2f2; margin-top: 70px; }

.mv.news{ background-image: url(../images/news/webp/mv_02.webp); }

.no-webp .mv.news{ background-image: url(../images/news/mv_02.jpg); }



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

.pankuzu li{ font-size: 12px; display: inline-block; }

.pankuzu li:not(:last-of-type):after{ content: '-'; margin-left: .4em; }



main.container{ display: block; width: 800px; margin: 50px auto 100px; }

.container img{ display: block; margin-bottom: 20px; }

.container .price_c h2+img{margin-bottom: 0px; }

.container .price_c h3+img{margin-bottom: 0px; }

.container a.btn{ margin: 20px 0; }



.container > *:first-child,

.container .side-img .content > *:first-child,

.container div.article .descL > *:first-child,

.container div.article .descR > *:first-child,

.container .side-img .img > *:first-child,

.container div.article .imgR > *:first-child,

.container div.article .imgL > *:first-child,

.container .flow-list .img > *:first-child{ margin-top: 0 !important; }

.container > *:last-child,

.container .side-img .content > *:last-child,

.container .side-img .img > *:last-child,

.container div.article .descL > *:last-child,

.container div.article .descR > *:last-child,

.container div.article .imgR > *:last-child,

.container div.article .imgL > *:last-child,

.container .flow-list .img > *:last-child{ margin-bottom: 0 !important; }



h1{ font-family: 'Noto Serif JP', serif; font-weight: 500; font-size: 38px; text-align: center; line-height: 1.5; margin: 140px auto 43px; }

h1 small{ display: block; text-align: center; font-family: linotype-didot, serif; font-weight: 400; font-size: 16px; color: #14835d; letter-spacing: .05em; }



.contents-list{ margin-bottom: 100px; }

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

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

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

.contents-list.non-half dd ul{ width: 100%; }

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

.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: #14835d; line-height: 1; letter-spacing: 0; position: absolute; top: 0; left: 0; }

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



.container h2{ font-size: 22px; font-weight: 700; color: #fff; text-align: center; background: #14835d; padding: .4em; margin: 100px 0 35px; }

/*.container h3{ font-size: 20px; font-weight: 700; color: #14835d; border-bottom: solid 1px; margin: 80px 0 30px; }*/

.container h3{ font-size: 20px; font-weight: 700; color: #14835d; border-bottom: solid 1px; margin: 40px 0 20px; }

.container h4{ font-weight: 700; background: #f2f2f2; padding: .2em 1.4em; margin: 30px 0 15px; }

.container h2 + *,

.container h3 + *,

.container h4 + *{ margin-top: 0 !important; }

.container p{ line-height: 2; margin-bottom: 1em; }



.container .side-img,

.container div.article{ display: flex; justify-content: space-between; margin: 40px 0; }

.container .side-img img,

.container div.article img{ width: 100%; }

.container div.article .descL,

.container div.article .descR,

.container .side-img .content{ width: 400px; }

.container div.article .imgR,

.container div.article .imgL,

.container .side-img .img{ width: 350px; }



.container a.relation-link{ display: table; border: solid 1px; font-size: 13px; padding: .4em 1.4em .4em 184px; border-radius: 3em; position: relative; margin: 20px 0; }

.container a.relation-link:before{ content: '併せて読みたい'; width: 170px; height: 100%; background: url(../images/common/arrow02.png) #141414 no-repeat center right 14px/13px; color: #fff; border-radius: 2em; position: absolute; left: 0; top: 0; display: flex; align-items: center; line-height: 1; padding-left: 1.4em; box-sizing: border-box; }

.container a.detail-link{ display: table; border: solid 1px; font-size: 13px; padding: .4em 1.4em .4em 184px; border-radius: 3em; position: relative; margin: 20px 0; }

.container a.detail-link:before{ content: '詳しく見る'; width: 170px; height: 100%; background: url(../images/common/arrow02.png) #141414 no-repeat center right 14px/13px; color: #fff; border-radius: 2em; position: absolute; left: 0; top: 0; display: flex; align-items: center; line-height: 1; padding-left: 1.4em; box-sizing: border-box; }



.container ol{ counter-reset: num; margin: 35px 0; }
.container ol p{ margin-top: 10px; margin-left: 10px;}
.container ol li{ font-size: 16px; font-weight: 700; padding-left: 60px; min-height: 40px; display: flex; align-items: center; flex-wrap: wrap; position: relative; }

.container ol li:before{ counter-increment: num; content: counter(num,decimal-leading-zero); width: 40px; height: 40px; border-radius: 20px; font-size: 16px; font-family: linotype-didot, serif; font-weight: 400; letter-spacing: 0; line-height: 1; display: flex; justify-content: center; align-items: center; background: #14835d; color: #fff; position: absolute; left: 0; top: 50%; transform: translateY(-50%); }

.container ol li + li{ margin-top: 17px; }



.container ul.dice{ margin: 0; }

.container ul.dice li{ padding-left: 1.4em; position: relative; font-weight: 700; }

.container ul.dice li:before{ content: '●'; color: #14835d; position: absolute; left: 0; }

.container ul.dice li + li{ margin-top: .7em; }



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

.container .flow-list .row + .row{ margin-top: 40px; }

.container .flow-list dl{ width: 400px; }

.container .flow-list .img{ width: 350px; }

.container .flow-list dl dt{ font-size: 18px; font-weight: 700; padding-left: 40px; position: relative; }

.container .flow-list dl dt:before{ counter-increment: flow; content: counter(flow, decimal-leading-zero); width: 30px; height: 30px; font-size: 16px; font-family: linotype-didot, serif; font-weight: 400; letter-spacing: 0; line-height: 1; background: #f2f2f2; display: flex; justify-content: center; align-items: center; position: absolute; left: 0; }

.container .flow-list dl dd{ line-height: 2; margin-top: .7em; }



.container table:not(.no-default){ width: 100%; margin: 40px 0; }

.container table:not(.no-default) th{ background:#f2f2f2; font-weight: 700; padding: 1rem; border: solid 1px #CCC; vertical-align: middle; letter-spacing: 0.03rem; }
.container table:not(.no-default) tr:nth-of-type(even) th{
    background: #eaeaea;
}

.container table:not(.no-default) td{ padding: 1em 1.5em; border: solid 1px #CCC; vertical-align: middle; letter-spacing: 0.03rem; }

.container .price_c img+table{ margin-top: 0; }





/*** dr ***/



.container h3.dr-name{ height: 260px; position: relative; font-size: 50px; font-family: 'Noto Serif JP', serif; font-weight: 500; color: #141414; padding-top: 50px; line-height: 1.5; border-color: #14835d; }

.container h3.dr-name small{ display: block; color: #87c11b; font-family: linotype-didot, serif; font-weight: 400; font-size: 20px; letter-spacing: .05em; }

.container h3.dr-name img{ width: 280px; position: absolute; bottom: 0; right: 1rem; margin-bottom: 0; }

.container .history-wrap{ margin-top: 30px; }

.container .history-wrap dl{ width: 370px; }

.container .history-wrap dl dt{ font-weight: 700; text-align: center; background: #f2f2f2; margin-bottom: 16px; }

.container .history-wrap table{ border-collapse: separate; border-spacing: 0 10px; }

.container .history-wrap table th{ width: 1px; white-space: nowrap; padding-right: 1.5em; }
.container .history-wrap table th,.container .history-wrap table td{
    letter-spacing: .03rem;
}

.container .history-wrap dl ul li{ padding-left: 1em; padding-top: 10px; position: relative; letter-spacing: .03rem;}

.container .history-wrap dl ul li:before{ content: '・'; position: absolute; left: 0; }





/*** 関連ページ ***/



.kanren{ margin-top: 100px; }

.kanren a br{display: none;}

.container .kanren dl{ width: 100%;}
.container .kanren dl dt:before{ content: none;}

.container .kanren dl dt{ font-size: 22px; color: #14835d; font-weight: 700; margin-bottom: .5em; padding-left: 0; }

.kanren dl dd ul li{ line-height: 1.5; }

.kanren dl dd ul > li + li{ margin-top: 1em; }

.kanren dl dd > ul > li{ background: #fff; border: solid 1px #CCC; width:100%;}

.kanren dl dd > ul > li > a{ color: #14835d; padding: 1rem; font-weight: normal; font-size: 16px; display: block; }

.kanren dl dd > ul > li .children li{ margin-right: 1em; display: inline-block; }

p + .treat-list{ margin-top: 60px; }



/*** アーカイブ ***/



main.archive{ width: 800px; margin: 50px auto 150px; }

main.archive article{ width: 100%; display: flex; justify-content: space-between; border: solid 1px; position: relative; transition: .3s; }

main.archive article + article{ margin-top: 40px; }

main.archive article:hover{ opacity: .7; }

main.archive article .thumb{ width: 200px; background-size: cover; background-repeat: no-repeat; background-position: center; background-color: #f2f2f2; }

main.archive article .content{ width: 560px; padding: 30px 30px 30px 0; }

main.archive article .content .time{ font-size: 12px; display: inline-block; }

main.archive article .content h2{ font-size: 20px; border-bottom: solid 1px #14835d; color: #14835d; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-bottom: .8em; }

main.archive article .content p{ display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }

main.archive .wp-pagenavi{ display: flex; margin-top: 60px; }

main.archive .wp-pagenavi > *{ display: flex; color: #14835d; border: solid 1px; width: 1.5em; height: 1.5em; align-items: center; justify-content: center; margin-right: .5em; }

main.archive .wp-pagenavi .current{ background: #14835d; border-color: #14835d; color: #fff; }

.covid{ background: url(../images/index/webp/bg-covid01.webp) no-repeat center/cover; padding: 40px 50px 50px; z-index: 0; margin-bottom: 90px; width:100%!important;}

.no-webp .covid{ background-image: url(../images/index/bg-covid01.jpg);  }

.covid:before{ content: ''; width: calc(100% - 20px); height: calc(100% - 20px); box-sizing: border-box; border: solid 1px #fff; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: -1; }

.covid h2{ font-size: 22px; color: #fff; margin-bottom: .6em; font-weight: 700;

    background-color: transparent!important;padding: .4em;margin:0px 0 35px;}

.covid p{ color: #fff; margin-bottom: 20px; }



main strong {

    font-weight: bold;

    color: #14825d;

}

.beforeafter{

    text-align: center;

    margin: 20px 0 1px;

	    display: flex;

}

.beforeafter div {

    display: inline-block;

    vertical-align: middle;

    width: 49%;

    margin: auto;

}

.beforeafter div:first-child {

   margin-right: 1%;

}

.beforeafter div p{

    font-size: 18px;

    color: #15835d;

    margin-bottom: 5px;

    padding-bottom: 5px;

       font-weight: 800;

    font-style: italic;

}

.skm{margin: 18px 0 24px;}


.half {
    display: flex;
    justify-content: space-around;
    margin: 5rem 0;
}

.half .inner {
    width: 365px;
}

.half.case dl dt {
    font-weight: 700;
    background: #87c11b;
    text-align: center;
}

.half.case dl:nth-of-type(2) dt {
    background: #14835d;
    color:#fff;
    font-weight: 700;
}

/*** 歯のクリーニング ***/

.cleaning-flow {
	display: flex;
	justify-content: space-around;
	margin: 0 auto;
	gap: 20px;
}
.cleaning-flow > div {
	width: 50%;
	padding: 20px;
	text-align :center;
	border: solid 1px #333;
}
.cleaning-flow img {
	padding: 10px 0;
	display: initial;
	margin-bottom: initial;
}
.cleaning-flow p {
	text-align :center;
}
.cleaning-flow2 {
	text-align :center;
}
.cleaning-flow2 > div {
	text-align :center;
	padding: 20px;
	border: solid 1px #333;
}
.cleaning-flow2 img {
	padding: 10px 0;
	display: initial;
	margin-bottom: initial;
}
