body{
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;}

.body-wrap{ overflow: hidden; position: relative;padding-top: 80px;}

.mv{ height: 450px; position: relative;  margin-bottom: 70px; z-index: 0; }
.mv p{width: calc(100% - 175px);height: 100%;margin-left: auto;}
.mv img{width: 100%;height: 100%;object-fit: cover;border-radius: 40px 0 0 40px;}
.mv:after{content: "";width: calc(100% - 200px);height: 450px;background: #f2f2f2;border-radius: 0 40px 40px 0;
	position: absolute;left: 0;top: 50px; z-index: -1;}

.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: 750px; margin: 8rem auto 14rem;box-sizing: border-box; }
main h1{text-align: center;font-weight: 400;font-size: 3.2rem;margin-bottom: 70px;
	font-family: YuMincho, "Yu Mincho", yu-mincho-pr6,"serif"; position: relative;z-index: 0;
	display: flex;justify-content: center;align-items: flex-end;}
main h1 span{display: table;padding: 0 10px; margin: auto;flex-shrink: 0; background: #fff; position: relative;}
main h1 small{font-style: normal;display: block;color: #c9bc9c;font-size: 1.4rem;margin-bottom: 12px;
	font-family: contralto-small,sans-serif;font-weight: 400;letter-spacing: 0.2em;
	position: absolute;top: -3vw;left: 50%;transform: translateX(-50%);text-transform: uppercase;}
main h1:before{content: "";display: block; width: 100%;height: 1px;background: #c9bc9c;margin-bottom: 18px; position: absolute; top: 50%; left: 0;}
main h1:after{ display: block; content: attr(data-en)""; font-style: normal;display: block;color: #c9bc9c;font-size: 1.4rem;margin-bottom: 12px; font-family: contralto-small,sans-serif;font-weight: 400;letter-spacing: 0.2em; position: absolute;top: -25px;left: 50%;transform: translateX(-50%);text-transform: uppercase; }

main section img{border-radius: 10px;}
main section > img{ display: block; width: 100%; margin: 4rem 0; }
main section + section{ margin-top: 8rem; }
main section > *:first-cihld{ margin-top: 0 !important; }
main section > *:last-child{ margin-bottom: 0 !important; }

main section h2:not(.no-style){  font-weight: 700; font-size: 2.4rem; line-height: 1.6;letter-spacing: 0.05em; background: #c9bc9c; color: #fff; border-radius: 10px; text-align: center; margin: 8rem 0 4rem; padding: .4em 1em; }
main section h3:not(.no-style){ font-weight: 600; font-size: 2rem; border-bottom: solid 1px; margin: 6rem 0 2.6rem; letter-spacing: 0.05em; }
main section h4:not(.no-style){ font-weight: 400; font-size: 1.6rem; background: #e4dece; padding: .5em 1.5em; margin: 4rem 0 2rem; border-radius: 50px; letter-spacing: 0.05em; }
main section h5:not(.no-style){ font-size: 1.6rem; padding-left: 1em; color: #c9bc9c; position: relative; margin: 3rem 0 1em; letter-spacing: 0.05em; }
main section h5:not(.no-style):before{ content: '●'; position: absolute; left: 0; }
main section h6:not(.no-style){ font-size: 1.5rem; margin: 1.3em 0 .8em; letter-spacing: 0.05em; }
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; }

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; box-sizing: border-box; background: #c9bc9c; font-weight: 400; font-size: 2.8rem; color: #fff; letter-spacing: 0; display: flex; justify-content: center; align-items: center; position: absolute; left: 0; top: 0; border-radius: 100px; font-family: YuMincho, "Yu Mincho", yu-mincho-pr6,"serif"; }
main section ol:not([class]) li + li{ margin-top: 3rem; }

/* txt-list------ */
.txt-list{display: flex;flex-wrap: wrap;}
.txt-list:not(:first-child){margin-top: 30px;}
.txt-list:not(:last-child){margin-bottom: 40px;}
.txt-list .box{flex-basis: calc((100% - 60px)/3);
	 background: #f2f2f2;border-radius: 10px; padding: 35px 18px;counter-increment: txt-list;}
@media screen and (min-width:600px){
.txt-list .box:not(:nth-child(3n+1)){margin-left: 30px;}
.txt-list .box:nth-child(n+4){margin-top: 20px;}
}

.txt-list .tit{color: #aa9664; text-align: center;font-size: 1.6rem;font-weight: 600;}
.txt-list .tit:before{content: "0" counter(txt-list);display: block;font-size: 2.8rem;
	font-family: YuMincho, "Yu Mincho",yu-mincho-pr6, sans-serif;font-weight: 600;
	line-height: 1.4;color: #c9bc9c;}
.txt-list .txt{border-top: 1px solid #5c4a40;padding-top: 18px;}


main section ul:not([class]){ margin: 4rem 0; }
main section ul:not([class]) li{ font-size: 1.6rem; padding-left: 2.3rem; position: relative; }
main section ul:not([class]) li:before{ content: ''; width: 1.5rem; height: 1.5rem; border-radius: 1.5rem; background: #c9bc9c; position: absolute; left: .2rem; top: .5rem; }
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-weight: 700; font-size: 1.8rem; }
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: #c9bc9c; color: #fff; border-radius: 1.5rem; display: flex; justify-content: center; align-items: center; font-weight: 400; font-size: 1.8rem; letter-spacing: 0; position: absolute; left: 0; font-family: YuMincho, "Yu Mincho", yu-mincho-pr6,"serif"; }
main section ol.flow li img{ width: 35rem; position: absolute; top: 0; right: 0; }

main section table:not(.no-style){border-spacing: 0;border-collapse: separate;}
main section table:not(.no-style){ width: 100%; margin: 4rem 0; }
main section table:not(.no-style) th{ background: #f4f2eb; padding: 1em; vertical-align: middle;  font-weight: 600; border: solid 1px #c9bc9c; line-height: 1.7; width: 23%;}
main section table:not(.no-style) td{ padding: 1em; vertical-align: middle; border: solid 1px #c9bc9c; line-height: 1.7; }
main section table:not(.no-style) th{border-right: none;}
main section table:not(.no-style) tr:not(:first-child) > *{border-top: none;}

main section table:not(.no-style) tr:first-child > *:first-child{border-top-left-radius: 10px;}
main section table:not(.no-style) tr:first-child > *:last-child{border-top-right-radius: 10px;}
main section table:not(.no-style) tr:last-child > *:first-child{border-bottom-left-radius: 10px;}
main section table:not(.no-style) tr:last-child > *:last-child{border-bottom-right-radius: 10px;}

main section table.price th {width: 50%;}


/*** doctor ***/

.dr-pic{ width: 100%; height: 30rem; display: flex; align-items: center; background-color: #f2f2f2;
	position: relative; padding-left: 5rem; margin: 10rem 0 3.5rem; border-radius: 10px; }
.dr-pic img{ width: 30rem; position: absolute; right: 0; bottom: 0; }
.dr-pic h3{ font-family: YuMincho, "Yu Mincho", yu-mincho-pr6, "serif";
	font-weight: 400; font-size: 3.2rem; border-bottom: 1px solid;padding-bottom: 15px;
	margin-bottom: 20px;}
.dr-pic h3 span{ font-family: YuGothic, "Yu Gothic medium", "sans-serif";
	display: block; font-size: 1.4rem; font-weight: 400; line-height: 1; }
.dr-pic .inner p{font-weight: 700; font-size: 1.8rem; line-height: 1.6;margin-bottom: 0;
	font-feature-settings : "palt";}

.history-row{ display: flex; justify-content: space-between; margin: 3.6rem 0 }
.history-row .inner{ width: 37rem; }
.history-row .inner h4{ font-size: 1.5rem; text-align: center; margin-bottom: 2.5rem;  font-weight: 400; background: #e4dece;border-radius: 50px; padding: .5em; }
.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{ padding-left: 1em; position: relative; }
.history-row .inner ul li:before{ content: '・'; position: absolute; left: 0; }
.history-row .inner ul li + li{ margin-top: .5em; }


/*** treatment ***/
.treatment .in{display: flex;justify-content: space-between;margin-bottom: 70px;}
.treatment .in .box{flex-basis: 340px;}
.treatment .in .box-in{height: 180px; border-radius: 10px;overflow: hidden;
	position: relative;margin-bottom: 28px;}
.treatment .in .box-in h3{width: 100%;height: 50px;text-align: center; font-size: 1.8rem; color: #fff; 
	display: flex; justify-content: center;align-items: center;
	position: absolute;left: 0;top: 0;
	background: #aaa;}
.treatment .in .box-in p{height: 100%;line-height: 0;}
.treatment .in .box-in p img{width: 100%;height: 100%;object-fit: cover;}
.treatment .in .box:nth-child(1) .box-in h3{background: #00a99d;}
.treatment .in .box:nth-child(2) .box-in h3{background: #c8d214;}
.treatment .in .box-in + p{text-align: justify;line-height: 2;margin-bottom: 30px;}

.treatment .btn a{margin: auto;}

.treatment .in2{display: flex;justify-content: space-between;margin-bottom: 30px;}
.treatment .in2 .box{flex-basis: 150px;text-align: center;}
.treatment .in2 .box h3{font-size: 1.6rem;letter-spacing: 0.1em;}
.treatment .in2 .box img{border-radius: 10px;}

.treatment .btn.line{margin-top: 30px;}
.treatment .btn.line a{border: 1px solid;background: none;}

/*** archive ***/

article.post-article{ display: flex; justify-content: space-between; position: relative; transition: .3s; }
article.post-article + .post-article{ margin-top: 5rem; }
article.post-article.search{ display: block; }
article.post-article:hover{ opacity: .4; }
article.post-article a.linkwrap{ width: 100%; height: 100%; display: block; position: absolute; top: 0; left: 0; z-index: 10; }
article.post-article .thumb{ width: 300px; height: 150px; background-repeat: no-repeat; background-size: cover; background-position: center; border-radius: 10px; }
article.post-article .txt{ width: calc(100% - 350px); }
article.post-article.search .txt{ width: 100%; }
article.post-article .txt .time{ display: block; font-size: 1.2rem; margin-bottom: 6px; }
article.post-article .txt h2{ font-size: 2.2rem; margin-bottom: .6em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
article.post-article .txt p{ display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }

.pagination{ margin-top: 8rem; }
.pagination .page-numbers{ display: flex; }
.pagination .page-numbers li + li{ margin-left: .8rem; }
.pagination .page-numbers li a,
.pagination .page-numbers li span{ display: flex; width: 2rem; height: 2rem; font-size: 1.2rem; justify-content: center; align-items: center; border: solid 1px; box-sizing: border-box; }

.flex_box{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
    margin-bottom: 30px;	
}

.flex_box .fl_content{
width: 47%;	
}

.flex_box .fl_img{
width: 47%;	
}

.half{
flex-basis: 48%;	
}

.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;margin-bottom: 0px;}
.qa ul li .q:before{content: "Q.";width: 51.5px;height: 38.5px; color: #bfb27e;}
.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;}

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

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

main section div.tooth_case ul li{
margin-top: 0px;	
border: solid 3px #c9bc9c;
padding: 0px;
flex-basis: 23%;	
margin-bottom: 30px;	
}

main section div.tooth_case ul li {
text-align: center;
}


main section div.tooth_case ul li p{
text-align: center;
}

main section div.tooth_case ul li::before{
display: none;
}




.qa ul li::before{
display: none;
}

.price table th{
width: 60%;	
}

.sp-break th{
width: 60%;	
}

a.linkwrap {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
}
.keireki tr{
margin-bottom: 10px;
line-height: 25px;
}

.keireki th{
width: 20%;
text-align: left;
}

 .flex_box .fl_content > h4{
margin-top: 0px;	
}



main section .syourei {
    
}
main section .syourei .syourei__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
main section .syourei .syourei__item {
    width: 48%;
}
main section .syourei .syourei__item img {
    width: 100%;
}
main section .syourei .syourei__item h4{
    margin: 0rem 0 2rem;
}
.sp-break.syourei th{
    width: 25%;
}

.btn__02 {
    margin-top: 40px;
}
.btn__02 a {
    margin: 0 auto;
}
a.anker{
   display: block;
   padding-top: 1px;
}

.yt-wire {
    width: 100%;
    height: 400px;
}


@media screen and (max-width: 768px) {
    main section .syourei .syourei__item {
        width: 100%;
    }
    main section .syourei .syourei__item:first-of-type {
        margin-bottom: 30px;
    }
    .sp-break.syourei th{
        width: 100%;
    }
}


