header{ height: 60px; }



.mv{ height: 330px; background-repeat: no-repeat; background-size: cover; background-position: center; background-color: #f2f2f2; }

.mv {
    background-image: url(../%e5%88%9d%e3%82%81%e3%81%a6%e3%81%ae%e6%96%b9%e3%81%b8.html);
}
.mv.archive {
    background-image: url(../jpg/251003-1.jpg);
}
.mv.single {
    background-image: url(../jpg/unnamed-file-5.jpg);
}
.mv.diagnosis{
    background-image: url(../%c3%a8%c2%a8%c2%ba%c3%a7%c2%99%c2%82%c3%a6%c2%a1%c2%88%c3%a5%c2%86%c2%85.html);
}

p strong {font-weight: 600;}

.pankuzu{ width: 1000px; margin: 10px auto 0; }

.pankuzu li{ font-size: 1.2rem; display: inline-block; }

.pankuzu li:not(:last-of-type):after{ content: '-'; margin-left: .4em; }



main.container{ display: block; width: 800px; margin: 50px auto 150px; }

.container img{ display: block; margin-bottom: 20px; }

.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,

.container .talk .content > *: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,

.container .talk .content > *:last-child{ margin-bottom: 0 !important; }



h1{ font-family: 'Noto Serif JP', serif; font-weight: 500; font-size: 4rem; text-align: center; line-height: 1.5; margin: 140px auto 43px; color: #38140a; }

h1 small{ display: block; text-align: center; font-family: linotype-didot, serif; font-weight: 400; font-size: 1.4rem; letter-spacing: .05em; }



.contents-list{ margin-bottom: 100px; }

.contents-list dt{ font-size: 2rem; color: #38140a; 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: 1.6rem; 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: 1.6prem; color: #fff; font-family: 'Noto Serif JP', serif; font-weight: 700; background: #805f46; 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: 2.2rem; font-weight: 700; color: #fff; text-align: center; background: #38140a; padding: .4em; margin: 100px 0 35px; }

.container h3{ font-size: 2rem; font-weight: 700; color: #38140a; border-bottom: solid 1px; margin: 80px 0 30px; }

.container h4{ font-weight: 700; background: #f2f2f2; padding: .2em 1.4em; margin: 60px 0 24px; font-size: 17px;}

.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(../png/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(../png/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 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: 1.6rem; font-family: 'Noto Serif JP', serif; font-weight: 500; letter-spacing: 0; line-height: 1; display: flex; justify-content: center; align-items: center; background: #805f46; color: #fff; position: absolute; left: 0; top: 50%; transform: translateY(-50%); }

.container ol li + li{ margin-top: 17px; }



.container ul.dice{ margin: 35px 0; }

.container ul.dice li{ padding-left: 1.4em; position: relative; font-weight: 700; }

.container ul.dice li:before{ content: '●'; color: #38140a; 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.flow-list2 dl{ width:100%; }

.container .flow-list .img{ width: 350px; }

.container .flow-list dl dt{ font-size: 1.8rem; 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: 1.6rem; font-family: 'Noto Serif JP', serif; font-weight: 700; 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{ font-weight: 700; padding: 1em 1.5em; border: solid 1px #f2f2f2; vertical-align: middle; }

.container table:not(.no-default) td{ padding: 1em 1.5em; border: solid 1px #f2f2f2; vertical-align: middle; }


.h5{
border-left: 7px solid;
    border-color: #7f6660;
    font-size: 15px;
    padding: 2px 0 2px 10px;
    margin: 20px 0;
    font-weight: bold;
}







/*** dr ***/



.container h3.dr-name{ height: 260px; position: relative; font-size: 5rem; font-family: 'Noto Serif JP', serif; font-weight: 500; color: #38140a; padding-top: 50px; line-height: 1.5; border-color: #38140a; }

.container h3.dr-name small{ display: block; color: #805f46; font-family: 'Noto Serif JP', serif; font-weight: 500; font-size: 2rem; letter-spacing: .05em; }

.container h3.dr-name img{ width: 280px; position: absolute; bottom: 0; right: 0; margin-bottom: 0; }

.container .history-wrap{ margin-top: 80px; }

.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; font-weight: 400; }

.container .history-wrap dl ul li{ padding-left: 1em; padding-top: 10px; position: relative; }

.container .history-wrap dl ul li:before{ content: '・'; position: absolute; left: 0; }





/*** 関連ページ ***/



.kanren{ margin-top: 100px; }
.kanren dl dt{ font-size: 20px; color: #38140a; font-weight: 700; margin-bottom: .5em; }
.kanren dl dd{ border: solid 1px #f2f2f2; padding: 20px; }
.kanren dl dd ul{ display: flex; flex-wrap: wrap; }
.kanren dl dd ul li{ line-height: 1.5; }
.kanren dl dd ul li{ margin-top: 1rem; }

/*.kanren dl dd > ul > li{ background: #fff; padding: 20px; border: solid 1px #f2f2f2; }*/

.kanren dl dd ul li.page_item_has_children{ width: 100%; }
.kanren dl dd ul li br{ display: none; }
.kanren dl dd ul.children li{ margin-right: 1em; padding-left: 1.5em; }
.kanren dl dd > ul{  }
.kanren dl dd > ul > li,
.kanren dl dd > ul > li > ul.children > li{ display: block; width: 100%; color: #38140a; font-weight: 700; font-size: 16px; }
.kanren dl dd > ul > li > ul.children > li > ul.children{ padding-bottom: 20px; }
.kanren dl dd > ul > li > ul.children > li > ul.children > li{ font-weight: 400; font-size: 13px; }


.kanren dl dd ul.children li:before{ content: '-'; margin-right: .3em; }





/*** アーカイブ ***/



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: #38140a; border: solid 1px; width: 1.5em; height: 1.5em; align-items: center; justify-content: center; margin-right: .5em; }

main.archive .wp-pagenavi .current{ background: #38140a; border-color: #38140a; color: #fff; }





/*** スピーチバブルの代わりの吹き出し ***/



.container .talk{ display: flex; align-items: center; }

.container .talk.right{ justify-content: flex-end; }

.container .talk + .talk{ margin-top: 2rem; }

.container .talk .icon{ width: 10rem; margin-right: 2rem; }

.container .talk.right .icon{ margin-right: 0; margin-left: 2rem; }

.container .talk .icon img{ width: 100%; margin-bottom: .5rem; }

.container .talk .icon .name{ display: block; font-size: 1.4rem; text-align: center; }

.container .talk .content{ max-width: calc(100% - 12rem); border: solid 1px #ebe8e6; padding: 2rem; position: relative; }

.container .talk .content:after{ content: ''; width: 1.5rem; height: 1.5rem; background: #fff; border-left: solid 1px #ebe8e6; border-top: solid 1px #ebe8e6; position: absolute; left: -.9rem; top: 50%; transform: translateY(-50%) rotate(-45deg); }

.container .talk.right .content:after{ left: auto; right: -.9rem; transform: translateY(-50%) rotate(135deg); }







.covid{ background: url(../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(../jpg/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; }



.fandq dl > dt {

    font-size: 18px;

    border-bottom: solid 1px;

    padding: 10px 30px 10px 2em;

    position: relative;

    margin-bottom: 20px;

    cursor: pointer;

}

.fandq.cleaning-shorei dl > dt {

    font-size: 18px;

    border: solid 2px;

    border-radius: 10px;

    padding: 10px 30px 10px 2em;

    position: relative;

    margin-bottom: 20px;

    cursor: pointer;

	text-align: center;

}



.fandq dl > dt:before {

    content: 'Q.';

    position: absolute;

    left: 0;

    font-weight: bold;

    color: #805f46;

    font-size: larger;

    top: 0.4em;

    font-family: serif;

}

.fandq.cleaning-shorei dl > dt:before {

		content: '症例. ';

		position: absolute;

		left: 10px;

		font-weight: bold;

		color: #805f46;

		font-size: larger;

		top: 0.4em;

		font-family: serif;

	}

.fandq dl > dt:after {

    content: '';

    width: 12px;

    height: 12px;

    border-right: solid 1px;

    border-bottom: solid 1px;

    transform: rotate(45deg);

    position: absolute;

    top: 18px;

    right: 10px;

}

.fandq dl dd {

    display: none;

    padding: 0 0 0 2em;

    margin-bottom: 20px;

    position:relative;

}

.fandq.cleaning-shorei dl dd {

    display: none;

    padding:0 2em;

}

.fandq dl > dd:before {

    content: 'A.';

    position: absolute;

    left: 0;

    font-weight: bold;

    color: #7f3121;

    font-family: serif;

}

.fandq.cleaning-shorei dl > dd:before {

    content: none;

}

.fandq.cleaning-shorei h4 {margin-top: 24px;}





/*0617追加-症例があるページの症例スタイル*/

.shourei {display: flex; flex-wrap: wrap; justify-content: space-between;}

.shourei div {width:48%;}

.shourei02 {display: flex; flex-wrap: wrap; justify-content: space-between;}

.shourei02 div {width:33%;}

.shourei div p {text-align: center; border: 1px dotted;}

.shourei div img {width: 100%;}



.shourei.single {justify-content: center;}

.shourei.single div {margin-top: 40px;}

.shourei.single.firstitem div {margin-top: 0;}



table.sp-break.case-table th {width:30%;}



.caution {color: red; font-size: 15px; margin-top: -35px;}



/*0630コンタクトフォーム*/

#dl_contact .clearfix dt{background: #38140a;color: #fff;padding: 10px;}

#dl_contact .clearfix dd{padding: 10px;background: rgb(0 0 0 / 12%);}

#dl_contact .clearfix .wpcf7-text {width:100%;}

#dl_contact .clearfix .wpcf7-textarea {width:100%;}

.tx_center .wpcf7-submit{width: 30rem;max-width: 100%;height: 6rem;font-size: 1.4rem;display: flex;justify-content: center;align-items: center;background: #38140a;color: #fff;margin:0 auto;}



/*0630*/

.table_001 tbody tr td{width:50%;}

.sp-break tr th{background: #38140aa6;color: #fff;}

.th-background tr th {background: #38140aa6;color: #fff;}

.pickup{ display: flex; margin-bottom: 1rem;flex-wrap:wrap;}

.pickup li{ width: 24rem; margin-right: calc((100% - 18rem * 4) / 3);}

.pickup li h3{ position: relative; width: 100%; height: 16rem; display: flex; justify-content: center; align-items: center; font-size: 2rem; color: #fff; background-repeat: no-repeat; background-size: cover; background-position: center; margin-bottom: 1.4rem; transition: .3s; }

.pickup li:nth-of-type(1) h3{ background-image: url(../jpg/pickup08.jpg); }

.pickup li:nth-of-type(2) h3{ background-image: url(../jpg/pickup05.jpg); }

.pickup li:nth-of-type(3) h3{ background-image: url(../jpg/pickup02.jpg); }

.pickup li:nth-of-type(4) h3{ background-image: url(../jpg/pickup07.jpg); }

.pickup li:nth-of-type(5) h3{ background-image: url(../jpg/pickup06.jpg); }

.pickup li:nth-of-type(6) h3{ background-image: url(../jpg/pickup04.jpg); }

.pickup li h3:hover{ opacity: .6; }

.pickup li h3:before{ content: ''; width: 0; height: 0; border-style: solid; border-width: 6rem 6rem 0 0; border-color: #fff transparent transparent transparent; position: absolute; top: 0; left: 0; }

.pickup li h3:after{ content: 'お悩み'; font-family: 'Noto Serif JP', serif; font-weight: 500; font-size: 1.2rem; letter-spacing: .05em; color: #38140a; position: absolute; top: 1rem; left: -.5rem; transform: rotate(-45deg); }

.pickup li h3 span{ padding-right: 1em; position: relative; }

.pickup li h3 span:after{ content: ''; width: .56rem; height: .56rem; border-bottom: solid 1px; border-right: solid 1px; position: absolute; top: 50%; right: 0; transform: translateY(-50%) rotate(-45deg); }

.pickup li p{ font-size: 1.4rem; }



.pickup2{ display: flex; margin-bottom: 1rem;flex-wrap:wrap;}

.pickup2 li{ width: 24rem; margin-right: calc((100% - 18rem * 4) / 3);}

.pickup2 li h3{ position: relative; width: 100%; height: 16rem; display: flex; justify-content: center; align-items: center; font-size: 2rem; color: #fff; background-repeat: no-repeat; background-size: cover; background-position: center; margin-bottom: 1.4rem; transition: .3s; }

.pickup2 li:nth-of-type(1) h3{ background-image: url(../jpg/pickup07.jpg); }

.pickup2 li:nth-of-type(2) h3{ background-image: url(../jpg/pickup09.jpg); }

.pickup2 li:nth-of-type(3) h3{ background-image: url(../jpg/pickup14.jpg); }

.pickup2 li:nth-of-type(4) h3{ background-image: url(../jpg/pickup12.jpg); }

.pickup2 li:nth-of-type(5) h3{ background-image: url(../jpg/pickup13.jpg); }

.pickup2 li:nth-of-type(6) h3{ background-image: url(../jpg/pickup11.jpg); }

.pickup2 li:nth-of-type(7) h3{ background-image: url(../jpg/pickup10.jpg); }

.pickup2 li h3:hover{ opacity: .6; }

.pickup2 li h3:before{ content: ''; width: 0; height: 0; border-style: solid; border-width: 6rem 6rem 0 0; border-color: #fff transparent transparent transparent; position: absolute; top: 0; left: 0; }

.pickup2 li h3:after{ content: '知って欲しい'; font-family: 'Noto Serif JP', serif; font-weight: 500; font-size: 1rem; letter-spacing: .05em; color: #38140a; position: absolute; top: 1.5rem; left: -0.8rem; transform: rotate(-45deg); }

.pickup2 li h3 span{ padding-right: 1em; position: relative; }

.pickup2 li h3 span:after{ content: ''; width: .56rem; height: .56rem; border-bottom: solid 1px; border-right: solid 1px; position: absolute; top: 50%; right: 0; transform: translateY(-50%) rotate(-45deg); }

.pickup2 li p{ font-size: 1.4rem; }

.flex_box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}.flex_box .half, .flex_box .half_img {
    flex-basis: 48%;
}
.sp_vieww{display:none;}

.youtube iframe {width: 100%; height: 350px;}

.btn-flex {
    display: flex;
    justify-content: space-evenly;
}
/*　歯のクリーニング */
.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;
}