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

.body-wrap{ overflow: hidden; position: relative;/*padding-top: 70px;*/ }

.mv{ height: 40rem; background-repeat: no-repeat; background-size: cover; background-position: center; margin-bottom: .6rem; }
.mv.sample{ background-image: url(../img/dummy/mv01.jpg); }
.mv.about{ background-image: url("../img/about/mv01.jpg"); }
.mv.doctor{ background-image: url("../img/doctor/mv01.jpg"); }
.mv.treatment{ background-image: url("../img/treatment/mv01.jpg"); }
.mv.treatment.wire{ background-image: url("../img/treatment/mv02.jpg"); }
.mv.treatment.partial{ background-image: url("../img/treatment/mv03.jpg"); }
.mv.treatment.lingal{ background-image: url("../img/treatment/mv04.jpg"); }
.mv.treatment.mouthpiece{ background-image: url("../img/treatment/mv05.jpg"); }
.mv.treatment.adult{ background-image: url("../img/treatment/mv06.jpg"); }
.mv.treatment.kids{ background-image: url("../img/treatment/mv07.jpg"); }

.mv.case{ background-image: url("../img/case/mv01.jpg"); }
.mv.price{ background-image: url("../img/price/mv01.jpg"); }
.mv.access{ background-image: url("../img/access/mv01.jpg"); }
.mv.contact-mv{ background-image: url("../img/contact/mv01.jpg"); }

.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: 6rem auto 14rem;box-sizing: border-box; }
main h1{ font-family: 'Noto Serif JP', serif; font-weight: 600; font-size: 4rem; line-height: 1.4; text-align: center; margin-bottom: 8rem; position: relative; letter-spacing: 0.1em; color: #78B4E6; }
main h1:before{ display: block; content: attr(data-en)""; font-family: bodoni-urw,serif; font-weight: 500; font-size: 3rem; letter-spacing: 0.02em; line-height: 1.6; }

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; }

.about-sample .about-anker{
	background: #f9f9f9;
   
}
.about-sample .about-anker p{
	text-align: center;
    font-weight: 700;
    margin: 0;
    padding: 0;
}
.about-sample .about-anker .js-table-list{
	width: 50%;
	margin: 2.4em auto 0 auto;
	counter-reset: listnum;
}
.about-sample .about-anker .js-table-list li{
	margin-top: 1.5rem;
	font-weight: 400;
/*	list-style:decimal;*/
}
.about-sample .anker-scroll{
	overflow-y:scroll;
	 border: 1px solid #aaa;
	padding: 2.4rem;
	height: 40rem;
}
/*
.about-sample .about-anker .js-table-list li::before {
    content: counter(listnum) ".";
*/

main section h2:not(.no-style){  font-family: 'Noto Serif JP', serif; font-weight: 600; font-size: 2.6rem; line-height: 1.6;letter-spacing: 0.05em; color: #fff; background: #78B4E6; text-align: center; margin: 8rem 0 4rem; padding: .4em 1em; }
main section h3:not(.no-style){ font-family: 'Noto Serif JP', serif; font-weight: 600; font-size: 2.2rem; color: #78B4E6; border-bottom: solid 1px; margin: 6rem 0 2.6rem; letter-spacing: 0.05em; padding-bottom: 5px; }
main section h4:not(.no-style){  display: table; font-family: 'Noto Serif JP', serif; font-weight: 600; font-size: 1.8rem; background: #FFA5AA; color: #fff; padding: .3em 1em; margin: 4rem 0 2rem; letter-spacing: 0.05em; }
main section h5:not(.no-style){ font-size: 1.6rem; color: #78B4E6; 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; color: #FFA5AA; 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; color: #644614; }

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: #F7F6F3; font-family: bodoni-urw,serif; font-weight: 500; font-size: 2.8rem; color: #78B4E6; 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 ul:not([class]){ margin: 1rem 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: #FFA5AA; 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; text-align: justify; }
main section ol.flow li + li{ margin-top: 1rem;  }
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-family: 'Noto Serif JP', serif; font-weight: 600; 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: #FFA5AA; color: #fff; border-radius: 1.5rem; display: flex; justify-content: center; align-items: center; font-family: bodoni-urw,serif; font-weight: 500; font-size: 1.8rem; letter-spacing: 0; position: absolute; left: 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{ color: #78B4E6; padding: 1em; vertical-align: middle;  font-weight: 600; border: solid 1px #D6E8F7; line-height: 1.7; }
main section table:not(.no-style) td{ padding: 1em; vertical-align: middle; border: solid 1px #D6E8F7; line-height: 1.7; }


/*** doctor ***/

.dr-pic{ width: 100%; height: 30rem; display: flex; align-items: center; position: relative; padding-left: 5rem; margin: 10rem 0 3.5rem; }
.dr-pic.coming{ background: url("../img/doctor/dr-bg.jpg") #FAF9F8 no-repeat center/cover; }
.dr-pic img{ width: 36rem; position: absolute; right: 0; bottom: 0; }
.dr-pic p{ margin-bottom: 0px; }
.dr-pic h3{ font-size: 4rem; font-family: 'Noto Serif JP', serif; font-weight: 600; }
.dr-pic h3 + small{ display: block; font-size: 2rem; font-family: bodoni-urw,serif; font-weight: 500; color: #78B4E6; line-height: 1; margin-top: 10px; }
.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-family: 'Noto Serif JP', serif; font-weight: 600; background: #FFA5AA; color: #fff; padding: .3em; }
.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 ***/
.treat-list{ position: relative; padding: 50px 0 100px; }

/*.treat-list .content{ padding: 100px 0; position: relative; z-index: 0; }*/
.treat-list .content{ padding: 30px 0; position: relative; z-index: 0; }
.treat-list .content:after{ content: ""; width: calc(100vw - 100px); height: 100%;
	position: absolute; top: 0; left: 50%; z-index: -1; transform: translateX(-50%);
	background: url("../img/index/webp/treatment-bg.webp") center/ cover #EFECE7;}
/*no*/.np-webp .treat-list .content:after{background: url("../img/index/treatment-bg.png") center/ cover #EFECE7;}

.treat-list h1 span{ display: inline-block; background: #fff; padding: 0 5px; line-height: 1; margin-top: 5px; }

.treat-list h1{ text-align: center; margin-bottom: 40px; position: absolute;
	top: -15px; left: 50%; transform: translateX(-50%); }
.treat-list h1 + p{ text-align: center; line-height: 2; margin-bottom: 60px; }

/*.treat-list .in{ display: flex; flex-wrap: wrap; justify-content: space-between; }*/
.treat-list .in{ display: flex; flex-wrap: wrap; justify-content: space-around; }
/*.treat-list .in .box{ flex-basis: 250px; }*/
.treat-list .in .box{ flex-basis: 350px; }
.kokuzei_hp{ color: #78B4E6; font-weight:bold;}

@media screen and (min-width:600px){
.treat-list .in .box:nth-child(n + 4){margin-top: 0px;}
}
	
.treat-list .in .box a{ display: block; background: #fff; position: relative;}
.treat-list .in .box a:before{ content: "";position: absolute; right: 10px; bottom: 10px;
	border: 6px solid; border-color: transparent #78B4E6 #78B4E6 transparent; }
.treat-list .in .box a:hover{ opacity: .7; }

.treat-list h3{ display: flex; align-items: center; justify-content: center; position: relative; z-index: 0;
	height: 200px; font-size: 2.2rem; font-family: 'Noto Serif JP', serif; font-weight: 600; color: #fff; }
.treat-list h3:before{ content: ""; width: 162px; height: 73.5px;
	position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
	background: url("../img/index/treatment-ill.png") center/100%; }
.treat-list h3:after{ content: ""; width: 100%; height: 100%; background: rgba(120,180,230,.7);
	position: absolute; top: 0; left: 0; z-index: -1; }

.treat-list .in .box:nth-child(1) h3{ background: url("../img/index/webp/treatment06.webp") center/cover; }
/*no*/.treat-list .in .box:nth-child(1) h3{ background: url("../img/index/treatment06.jpg") center/cover; }

.treat-list .in .box:nth-child(2) h3{ background: url("../img/index/webp/treatment05.webp") center/cover; }
/*no*/.treat-list .in .box:nth-child(2) h3{ background: url("../img/index/treatment05.jpg") center/cover; }

.treat-list .in .box:nth-child(3) h3{ background: url("../img/index/webp/treatment01.webp") center/cover; }
/*no*/.treat-list .in .box:nth-child(3) h3{ background: url("../img/index/treatment01.jpg") center/cover; }

.treat-list .in .box:nth-child(4) h3{ background: url("../img/index/webp/treatment04.webp") center/cover; }
/*no*/.treat-list .in .box:nth-child(4) h3{ background: url("../img/index/treatment04.jpg") center/cover; }

.treat-list .in .box:nth-child(5) h3{ background: url("../img/index/webp/treatment03.webp") center/cover; }
/*no*/.treat-list .in .box:nth-child(5) h3{ background: url("../img/index/treatment03.jpg") center/cover; }

.treat-list .in .box:nth-child(6) h3{ background: url("../img/index/webp/treatment04.webp") center/cover; }
/*no*/.treat-list .in .box:nth-child(6) h3{ background: url("../img/index/treatment04.jpg") center/cover; }

.treat-list .in .box p{ padding: 15px 25px 20px; text-align: justify; line-height: 2; }

.treat-list .btn{ position: absolute; bottom: -25px; left: calc(50% - 140px); margin-bottom: 0; }


main section .block{
	display:flex;
	justify-content: space-between;}
main section .block:not(:last-child){margin-bottom: 40px;}

main section .block > *:first-of-type{margin-right: 40px;}

main section .block .txt{flex-grow: 1;}

main section .block h3:first-child,
main section .block h4:first-child{ margin-top: 0; }
main section .block .txt p + h3,
main section .block .txt p + h4{margin-top: 40px;}
main section .block .txt p + p{margin-top: 1em;}

main section .block .photo{flex-grow: 0;}
main section .block .photo img{max-width: none;}
main section .block .photo p{line-height: 0;}

/* case */
.case-list{ padding: 30px; background: #F1F7FC; }
.case-list p{ font-weight: bold; color: #78B4E6; }
.case-list ul{ display: flex; flex-wrap: wrap; }
.case-list ul:not(:last-child){ margin-bottom: 15px; }
.case-list ul li{ font-size: 1.3rem; flex-basis: calc((100%/3) - 20px); margin: 0 20px 10px 0; }
.case-list ul li a{ text-decoration: underline; }

.b-a{ display: flex;}
.b-a p{ flex-basis: calc(50% - 10px); }
.b-a p:first-child{ margin-right: 20px; }
main section .b-a p{margin-bottom: 0;}

.b-a .before:before,
.b-a .after:before{display: block; font-size: 1.8rem; color: #78B4E6;
	font-family: bodoni-urw,serif; font-weight: 500; text-align: center; background: #F7F6F3;
	margin-bottom: 5px;}
.b-a .before:before{ content: "Before"; }
.b-a .after:before{ content: "After"; }

table sup{ font-size: 1rem; vertical-align: super; }
table + .note{ font-size: 1.3rem; margin-top: -20px; }
.note { font-size: 1.3rem;}

/*
main section table:not(.no-style).price{
	
    border-collapse: collapse;
    border-spacing: 0;
	border: unset;

}
*/

/*
table.price tr{
    border-bottom: solid 1px #e6c187;
}
*/

main section table:not(.no-style).price th {
    width: 400px;
    text-align: center;
    box-sizing: border-box;
    font-size: 16px;
    height: 45px;
    vertical-align: middle;
    font-weight: bold;
	padding: 1em;
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	background: #78B4E6;
	color: #FFFFFF;
}

main section table:not(.no-style).price td {
    font-size: 15px;
	padding: 1em;
	text-align: center;
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;

}

main section table:not(.no-style).price-02 th {
    width: 600px;
    text-align: center;
    box-sizing: border-box;
    font-size: 16px;
    height: 45px;
    vertical-align: middle;
    font-weight: bold;
	padding: 1em;
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	background: #78B4E6;
	color: #FFFFFF;
}

main section table:not(.no-style).price-02 td {
    font-size: 15px;
	padding: 1em;
	text-align: center;
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;

}


ul.treat li:before {
    content: '';
    width: 1rem;
    height: 1rem;
    border-radius: 1.5rem;
    background: #78B4E6;
    position: absolute;
    left: 0;
    top: .5rem;
}


ul.treat li {
    font-size: 1.2rem;
    padding-left: 2rem;
    position: relative;
	margin-bottom: 35px;
}

h1.ortho{margin-bottom: 0;}

main section .img_flex {
    display: flex;
	justify-content: space-between;}
main section .img_flex img {
    width: 49%;
}


/*20220330*/
.bottom_botton a {
    display: inline-block;
    width: 280px;
    background-color: #78B4E6;
    line-height: 50px;
    color: #fff;
    text-align: center;
    position: relative;
    border-radius: 5px;
}
.bottom_botton a::before {
    content: "";
    display: inline-block;
    margin-right: 5px;
    margin-left: -10px;
    width: 14px;
    height: 16px;
    background: url(../img/common/ico-yoyaku.png) center/contain;
    position: absolute;
    top: 50%;
    left: 75px;
    transform: translateY(-50%);
}
.bottom_botton a::after {
    content: "";
    width: 6.5px;
    height: 11px;
    background: url(../img/common/arrow.png) center/100% no-repeat;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
}
.bottom_botton a:hover {
    background-color: #FFA5AA;
}
.text_link {
    font-weight: bold;
    text-decoration: underline;
    color: #78B4E6;
}
.text_link:hover {
    opacity: .6;
}

@media screen and (max-width: 768px) {
    .bottom_botton {
        text-align: center;
    }
}

/*20220330*/


/*20221028*/
.risk_text {
    padding: 15px 10px;
    border-top: 5px solid #FFA5AA;
    box-shadow: 0px 8px 8px 0px rgb(0 0 0 / 50%);
}
main section .risk_text ul{
    margin: 0;
}
main section .risk_text ul li{
    font-size: 14px;
}

.flex_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 50px;
}
/*//20221028*/

 .table-contents {
    overflow-x: auto;
    white-space: nowrap;
}

.table-contents table {
    width: 100%;
  }

/*//20230316*/

.mock_bold{
    font-size: 25px;
    text-shadow: 
        0.3px 0.3px 0 #78B4E6, 
        0.3px -0.3px 0px #78B4E6,
        -0.3px 0.3px 0 #78B4E6,
        -0.3px -0.3px 0px #78B4E6,
        0.3px 0px 0px #78B4E6,
        0px 0.3px 0px #78B4E6,
        -0.3px 0px 0px #78B4E6,
        0px -0.3px 0px #78B4E6;
    letter-spacing: 1px;
    color: #78B4E6;
}

.hidden div{}

/*20250513add treatment/index.html h3レイアウト調整*/
.treat-list h3{ text-align: center;}

@media(min-width:769px){
    .sp{
        display: none !important;
    }
}

.price-table-font{
    font-size: 12px;
    font-weight: bolder;
}

.table-padding{
    padding-left: 0px !important;
    padding-right: 0px !important;
    padding-bottom: 0px !important;
    padding-top: 3px !important;
}

.img-hover-pc{
	background:url('/wp-content/uploads/2026/03/pc.webp');
	width:750px;
	height:200px;

}

.img-hover-pc:hover{
	background:url('/wp-content/uploads/2026/03/pc.hover_.webp');
}

.banner{
	display: flex;
	justify-content: center;
}


@media screen and (max-width: 768px){
	.img-hover-pc{
		display: none;
	}


	.img-hover-sp {
		display: block; /* スマホ時に表示 */
		width: 100%; /* 横幅いっぱいにする */
		height: 120px; /* 必要に応じて調整 */
		background: url('/wp-content/uploads/2026/03/sp.jpeg') no-repeat center center;
		background-size: contain;
	}
	
	.banner2 .img-hover-sp {
		height: 40px; 
		margin-bottom: -2rem;
	}

	.banner{
		display: block;
	}


}

/*
.h-nav .banner{
	display: block;
}
*/
.banner2 {
	display: block;
	width: 25vw;
    margin: 0 0 30px;
}


.banner2 .img-hover-pc{
	background:url('/wp-content/uploads/2026/03/pc.webp') no-repeat center center;
	width:100%;
	height:120px;
	background-size: contain;
}

.banner2 .img-hover-pc:hover{
	background:url('/wp-content/uploads/2026/03/pc.hover_.webp')no-repeat center center;
	width:100%;
	height:120px;
	background-size: contain;
}
#main #price .slider {
    width: 49%;
    display: flex;
    gap: 15px;
    overflow-x: auto;
	border: 5px solid #c0c0c0;}
#main #price .slider img{
	width: 100%;
}
.right{text-align: right;}

.research-list {
	list-style: none;
	padding-left: 0;
}
.research-list li {

	padding: 15px 0;
	border-bottom: 1px solid #e0e0e0;
}
.research-list strong {
	display: block;
	font-size: 1.5rem;
	font-weight: bold;
	color: #333;

}
.research-list em {
	display: block;
	font-style: italic;
	color: #666;
	font-size: 1.4rem;
}
.research-list .authors,
.research-list .journal {
	display: block;
	font-size: 1.4rem;
	color: #888;
	
}
