header{ background: #fff; }

.mv{ height: 500px; background-repeat: no-repeat; background-size: cover; position: relative; z-index: 0; display: flex; justify-content: center; align-items: center; margin-bottom: 100px; }
.mv.sample{ background-image: url(../images/price/mv01.jpg); }
.mv.access{ background-image: url("../images/access/mv01.jpg"); }
.mv.first{ background-image: url("../images/first/mv01.jpg"); }
.mv.staff{ background-image: url("../images/staff/mv02.jpg"); }
.mv.treat{ background-image: url("../images/treatment/mv01.jpg"); }
.mv.treat2{ background-image: url("../images/treatment/mv01.jpg"); }
.mv.price{ background-image: url("../images/price/mv01.jpg"); }
.mv.contact{ background-image: url("../images/contact/mv01.jpg"); }
.mv.clinic{ background-image: url("../images/clinics/mv01.jpg"); }
.mv.about{ background-image: url("../images/about/mv01.jpg"); }
.mv.invi{ background-image: url("../images/index/invi_mv.jpg"); }
.mv.perio{ background-image: url("../images/periodontitis/017.jpg"); }


.mv.treat2{
	margin-bottom: 0;
}
main.treat_area{margin-bottom: 0}

.mv:before{ content: ''; width: 100%; height: 100%; background: url(../images/common/bg-dot01.png); background-size: 4px; position: absolute; top: 0; left: 0; z-index: -1; opacity: .3; }
.mv .inner{ width: 800px;position: relative;}
.mv  h1{ font-size: 70px; color: #fff; line-height: 1.4;font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif; }
.column_mv h1{ font-size: 60px; color: #fff; line-height: 1.4; }
.mv .pankuzu li{ display: inline; font-size: 13px; color: #fff; }
.mv .pankuzu li:not(:last-of-type):after{ content: '＞'; margin: 0 .6em; }

main{ display: block; margin-bottom: 60px; }

.container{ width: 930px; background: #fff; padding: 65px 70px 77px; margin: 0 auto; }
.container + .container{ margin-top: 50px; }

.view-more{ color: #c8bb9b; margin: 20px 0; padding-top: 1em; padding-bottom: 1em; }
.view-more:after{ background-image: url(../images/common/arrow05.png); }
.view-more.center{ margin-left: auto; margin-right: auto; }

.container img{ border-radius: 37px 0 37px 0; }

.container > *:first-child,
.container h2 + *,
.container h3 + *,
.container .side-img .content > *:first-child,
.container ul.flow li dl dd .content > *:first-child,
.container ul.flow.no-img li dl dd > *:first-child{ margin-top: 0 !important; }
.container > *:last-child,
.container .side-img .content > *:last-child,
.container ul.flow li dl dd .content > *:last-child,
.container ul.flow.no-img li dl dd > *:last-child{ margin-bottom: 0 !important; }

.container h2{ font-size: 17px; background: #0b0b0d; text-align: center; color: #fff; padding: .1em 1em; margin: 100px 0 30px; font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif; font-weight: 400;
padding:10px 0;}
.ex { line-height: 36px; }
.container h2 b{
	color: #fff!important;
}
.container h2 span b{
	color: #fff!important;
}

.container h3{ font-size: 20px; font-weight: 700; border-bottom: solid 1px; margin: 40px 0 30px; }
.container h3 span{ font-size: 14px; }
.ex-h3 { letter-spacing: 0.4px; }
.container h4{ font-size: 16px; color: #fff; font-weight: 700; min-width: 110px; text-align: center; padding: 0 1em; background: #c8bb9b; display: table; margin: 26px 0 20px; }
.container h5{ color: #c8bb9b; font-weight: 700; padding-left: 1.2em; position: relative; margin: 20px 0 1em; }
.container h5:before{ content: '●'; position: absolute; left: 0; }

.container strong {font-weight: 800;font-size: 1.1em;background: linear-gradient(transparent 60%, #f0e6cf 60%);}

.container .side-img{ display: flex; justify-content: space-between; margin: 45px 0; }
.container .side-img .img{ width: 370px; }
.container .side-img .img img{ display: block; width: 100%; }
.container .side-img .content{ width: 370px; }

.container table{ width: 100%; margin: 30px 0; position: relative; }
.container table.zeibetsu:before{ content: '※全て税別となります'; font-size: 12px; position: absolute; top: 10px; right: 0; }
.container table.row-4{ table-layout: fixed; }
.container table caption{ font-size: 20px; font-weight: 700; }
.container table th{ background: #fefff2; font-size: 15px; padding: .8em 2em; border-bottom: solid 1px #fff; vertical-align: middle; font-weight: 600;}
.container table td{ background:#f8f8f8; font-size: 15px; padding: .8em 2em; border-bottom: solid 1px #fff; vertical-align: middle; font-weight: 600;}
.container table.price td{ text-align: right; }
.container table + p.note{ font-size: 12px; margin-top: -30px; margin-bottom: 30px; }

.container ul.number{ counter-reset: number; margin: 30px 0; }
.container ul.number li{ font-size: 16.5px; position: relative; padding-left: 33px; }
.container ul.number li:before{ counter-increment: number; content: counter(number); width: 24px; height: 24px; display: flex; justify-content: center; align-items: center; background: #c8bb9b; font-size: 18px; color: #fff; font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; position: absolute; left: 0; }
.container ul.number li + li{ margin-top: 10px; }

.container ul.flow{ margin: 30px 0; counter-reset: flow; display: flex; justify-content: space-between; flex-wrap: wrap; }
.container ul.flow li{ width: 370px; }
.container ul.flow li:nth-of-type(n+3){ margin-top: 20px; }
.container ul.flow li dl dt{ font-size: 16px; font-weight: 700; color: #fff; background: #c8bb9b; padding: .3em 1em .3em 56px; position: relative; margin-bottom: 15px; }
.container ul.flow li dl dt:before{ counter-increment: flow; content: counter(flow,decimal-leading-zero); font-size: 32px; line-height: 1; color: #fff; font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif; font-weight: 400; position: absolute; left: 10px; top: 50%; transform: translateY(-50%); }
.container ul.flow li dl dd{ display: flex; justify-content: space-between; }
.container ul.flow.no-img li dl dd{ display: block; }
.container ul.flow li dl dd .img{ width: 180px; }
.container ul.flow li dl dd .img img{ border-radius: 18px 0 18px 0; }
.container ul.flow li dl dd .content{ width: 180px; }
.container img.jidv_img 
{border-radius: inherit;
margin-top: 30px;
margin-bottom: 22.002px;}


/**** staff ****/

.history-table{ display: table; }
.history-table .row{ display: table-row; }
.history-table dt{ display: table-cell; white-space: nowrap; width: 1px; padding-right: 1em; }
.history-table dd{ display: table-cell; }

.container ul.dice{ margin: 20px 0; }
.container ul.dice li{ padding-left: 1em; position: relative; }
.container ul.dice li:before{ content: '・'; position: absolute; left: 0; }


/**** treatment ****/
.container ul.decayed_flow li dl dt:before {
    counter-increment: flow;
    content:"C" counter(flow);
    font-size: 32px;
    line-height: 1;
    color: #fff;
    font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif;
    font-weight: 400;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
}
section.treatment {
    background: #fff;
    padding: 110px 0 105px;
}
.mincho{ font-family: "æ¸¸æ˜Žæœ", YuMincho, yu-mincho-pr6, sans-serif; font-weight: 400; font-style: normal; }
.trajan{ font-family: trajan-pro-3, serif; font-weight: 700; font-style: normal; letter-spacing: .05em; }
.treatment{ background: #0b0b0d; padding: 110px 0 105px; }
.treatment *{ color: #3b312f; }
.treatment .wrap{ position: relative; width: 900px; z-index: 0; }
.treatment .bg-txt{ font-size: 230px; line-height: 1; color: #fbfbfb; position: absolute; top: 100px; left: -160px; z-index: -1; }
.treatment h2.logo-ttl:after{ background: #fff; }
.treatment h2{ margin-bottom: 100px; }
.treatment .counseling-box{ border-top: solid 1px rgba(255,255,255,.2); border-bottom: solid 1px rgba(255,255,255,.2); padding: 70px 0 75px; margin-bottom: 100px; }
.treatment .counseling-box dd{ font-size: 13px; max-width: 500px; margin: 0 auto; line-height: 2.4; }
h2.logo-ttl{ font-size: 40px; text-align: center; padding-top: 56px; padding-bottom: .25em; background: url(../images/common/logo02.png) no-repeat; background-size: 30px; background-position: top center; position: relative; }
h2.logo-ttl.op01{ font-size: 30px; text-align: center; padding-top: 56px; padding-bottom: .25em; background: none; background-size: 30px; background-position: none; position: static; }
h2.logo-ttl:after{ content: ''; width: 100px; height: 1px; background: #231815; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }
h2.logo-ttl .gothic{ font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; font-size: 15px; display: block; text-align: center; line-height: 1; padding-top: 18px; }


.container .block {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
	margin-top: 40px !important;
}

.container .block h3{
	margin-top: 0;
}

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

ul.flex2 li {
    display: inline-block;
    width: 48%;
    margin-bottom: 20px;
    background: #fff;
    border-radius: 10px;
    height: 386px;
    text-align: center;
}

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

ul.flex3 li {
    display: inline-block;
    width: 32%;
    margin-bottom: 0px;
}

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

ul.flex4 li {
    display: inline-block;
    width: 23%;
    margin-bottom: 0px;
    background: #fff;
    height: 252px;
   /* box-shadow: 2px 2px 2px rgba(0,0,0,0.2);*/
    text-align: center;
    font-size: 1.2em;
	margin-bottom: 20px;
	background: #f1f1f1;

}

ul.flex4 li img {
    width: 100%;
    object-fit: cover;
	border-radius: 0;
	
}

ul.flex4 li h3{
	font-size: 16px;
    font-weight: 700;
    border-bottom: solid 1px;
    margin: 40px 0 30px;
    margin-top: 0px;
	margin-bottom: 10px;
	margin-left: 10px;
	margin-right: 10px;
}

ul.flex4 li p{
	margin-left: 10px;
	margin-right: 10px;
	margin-bottom: 5px;
}


ul.flex4 li .view-more{
	font-size: 15px;
	padding-right: 0;
	text-align: center;
	margin-top: 0;
	padding-top: 0;
	width: 90%;
	background: #c8bb9b;
	color: #fff;
	padding: 0;
	box-sizing: border-box;
	margin-left: auto;
	box-sizing: border-box;

}

ul.flex4 li .view-more:after {
    content: '';
    width: 20px;
    height: none;
    background: url("../images/common/arrow02.png") no-repeat;
    background-size: contain;
    position: absolute;
    top: 165%;
    right: 8%;
    transform: translateY(-50%);
}

.flex_box{
display: flex;
flex-wrap: wrap;
justify-content: space-around;
}

.flex_box .half{
flex-basis: 45%;	
}
table.case th{
width: 30%;	
	
}.flex_box-02{
display: flex;
flex-wrap: wrap;
justify-content: space-around;
}

.flex_box-02 .half{
flex-basis: 45%;	
}
table.case th{
width: 30%;	
}

.container h3.huku:after{
	content: "副院長";
	font-size: 14px;
    color: #fff;
    font-weight: 700;
    min-width: 110px;
    text-align: center;
    padding: .32em .5em;
    background: #c8bb9b;
    margin: 26px 0 20px;
	margin-left: 10px;
}

.container ul.number li + p{
	margin-top: 10px;
}

.container ul.flex3 h3{
	margin-top: 5px;
}

.container h2.entry-title:first-child{
	margin-top: 30px;
}

.container .entry-content{
	margin-bottom: 60px;
}

.container .entry-content img{
	height: auto;
}

.calender{
	margin-top: 12px;
}

footer .left p.calender_title{
	background: #0b0b0d;
    color: #fff;
    padding-top: 3px;
    padding-bottom: 3px;
    font-weight: 900;
    font-size: 15px;
    font-family: 游明朝, YuMincho, yu-mincho-pr6, sans-serif;
	margin-top: 20px;
}
footer .left .hour-table2{
	margin-top: 20px;
}



.guideline{
	width: 1000px;
	margin: auto;
	margin-top: 50px;
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	margin-bottom: 35px;
}

.guideline table th,.guideline table td{
	font-size: 12px;
	padding-top: 3px;
	padding-bottom: 3px;
	color: #59595c;
}

.guideline table th{
	width: 18%;
}

.guideline table td{
	padding-left: 10px;
}

.guideline p{
	font-size: 13px;
	color: #59595c;
}

.guideline table tr{
	border-bottom: solid 1px rgba(255,255,255,.2);
}
.guideline table tr:last-child{
	border-bottom: none;
}


.guideline div{
	width: 32%;
	margin-bottom: 20px;
}


.container .price_area .price_txt{
	font-size: 18px;
	text-align: center;
	border-top: 1px solid #c8bb9b;
	border-bottom: 1px solid #c8bb9b;
	padding-top: 10px;
	padding-bottom: 10px;
	margin-bottom: .5em;
}
.container .price_area .price_txt span{
	font-weight: 600;
}

.container .price_area .hosoku{
	text-align: right;
}

.container p.big_txt {
    font-size: 21px;
    text-align: left;
    border-left: 4px solid;
    padding-left: 10px;
    font-weight: 600;
	margin-top: 2em;
}

.container h3.mg_t{
	margin-top: 20px;
}

.mv h1.ortho_h1{
	font-size: 60px;
}

.mv h1.d_h1{
	font-size: 60px;
}

.flex_box .half{
	position: relative;
}

.flex_box .half:first-child:before{
	position: absolute;
	content: "BEFORE";
	background: #c8bb9b;
	color: #fff;
	bottom: 8px;
	left: 0;
	font-weight: 600;
	padding-left: 5px;
	padding-right: 5px;
}

.flex_box .half:last-child:before{
	position: absolute;
	content: "AFTER";
	background: #9bc2c8;
	color: #fff;
	bottom: 8px;
	left: 0;
	font-weight: 600;
	padding-left: 5px;
	padding-right: 5px;
}

.contact-box .left {
    width: 50%;
    background: #000;
    padding: 120px 0 90px;
}
.contact-box .left .inner {
    width: 400px;
    margin: 0 100px 0 auto;
}
.contact-box{
	margin-top: 60px;
}

.contact-box h2 {
    font-size: 30px;
    color: #c8bb9b;
    margin-bottom: 60px;
}
.contact-box h2 a {
    display: block;
    position: relative;
}
.contact-box p {
    font-size: 13px;
    color: #fff;
    line-height: 2.4;
}
.contact-box .right {
    width: 50%;
    background: #1a1a1a;
    padding: 120px 0 90px;
}.contact-box .right .inner {
    width: 400px;
    margin: 0 auto 0 100px;
}

.contact-box h2 a:after {
    content: '';
    width: 70px;
    height: 70px;
    background: url(../images/common/arrow03.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.price_table table th,.price_table table td{
	font-size: 15px;
}

footer .banner {margin-top: 10px;}
footer .banner .banner_inner ul {display: flex; flex-wrap: wrap;}
footer .banner .banner_inner li {margin: 20px 17px 0 20px;}



/* ------------------------- */
/* -------- 吹き出し -------- */
/* ------------------------- */
.balloon{
  display: flex;
  margin: 0 0 2em 0;
}
.balloonR{
  flex-direction: row-reverse;
}
.balloon-img{
  width: 80px;
  height: auto;
  flex-shrink: 0;
}

.container .balloon-img img{
	border-radius: 0;
}
.balloon-text{
  padding: 1em;
  border-radius: 6px;
  position: relative;
  display: flex;
}
.balloon-text-inner{
  margin: auto;
}
.balloon-text::before,.balloon-text::after{
  content: '';
  position: absolute;
  top: 19px;
  font-size: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}
.balloonL .balloon-text{
  margin: 0 0 0 15px;
  background: #f2f2f2;
}
.balloonR .balloon-text{
  margin: 0 15px 0;
  background: #fff5db;
}
.balloonL .balloon-text::before{
  left: -16px;
  border-right: 16px solid #f2f2f2;
}
.balloonR .balloon-text::before{
  right: -16px;
  border-left: 16px solid #fff5db;
}

.container table.siharai th,.container table.siharai td{
	font-size: 15px;
}

.mg_b{
	margin-bottom: 120px;
}

.container img.type01{ border-radius: 0px 0 0px 0;
}

.container ul.topic{
	background: #f1f1f1;
    padding: 20px;
}


.container ul.topic li{
	font-size: 20px;
	padding-left: 40px;
}

.container ul.topic li:before {
    counter-increment: number;
    content: counter(number);
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #c8bb9b;
    font-size: 18px;
    color: #fff;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    position: absolute;
    left: 0;
    top: 4px;
}

.mv h1.h1_size{
	font-size: 50px;
	    font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif;
}

.mv h1.h1_size span{
	font-size: 90px;
}

.soudan li span{
	font-size: 26px;
}

.mv .invi_mv{
	position: relative;
}

.point{
	font-family: 游明朝, YuMincho, yu-mincho-pr6, sans-serif;
	position: absolute;
	bottom: -104px;
	left: 0;
	background:#c8bb9b;
	font-size: 18px;
	
	padding: 8px;
	padding-top: 1px;
	color: #fff;
	font-weight: 900;
}

.point span{
	font-size: 25px;
	letter-spacing: 1px;
}

.point .mv_sml{
	font-size: 16px;
}



.mv.omote {
    background-image: url(../images/index/omote_mv.jpg);
}

.mv.ura {
    background-image: url(../images/index/ura_mv.jpg);
}

.mv.e-line {
    background-image: url(../images/index/e-line-mv.jpg);
}

.zihi{
	width: 930px;
    margin: auto;
    text-align: center;
	font-weight: 600;
	margin-bottom: -47px;
}

.mv h1.h1_size .big_txt3{
	font-size: 70px;
}

.point3{
	position: absolute;
    bottom: -118px;
    left: 0;
}

.mv h1.perio_h1{
	padding-top: 30px;
}

.mv h1.h1_size .harf_txt{
	font-size: 74px;
}

.mv h1.h1_size8{
	line-height: 1.6;
}

.point .big_txt8{
	font-size: 30px;
	letter-spacing: 2px;
}

.point8 {
    font-family: 游明朝, YuMincho, yu-mincho-pr6, sans-serif;
    position: absolute;
    bottom: -98px;
    left: 0;
    background: #c8bb9b;
    padding: 8px;
    padding-top: 1px;
    color: #fff;
    font-weight: 900;
}

.container ul.dice li.li_no{
	padding-left: 0;
}

.container ul.dice li.li_no::before{
	content: none;
}

.txt_red{
	font-size: 24px;
	font-weight: 600;
	color: red;
	border-bottom: 1px solid;
}

.monitor{
	margin: auto;
	text-align: center;
	margin-bottom: 60px;
}

.monitor img{
	width: 600px;
}

.monitor p{
	text-align: center;
}

.container .img_flex { display: flex; justify-content: space-between; width: 800px; }
.container .img_flex img { width: 49%; }


/**** 230307 ****/

.case_flex{
	display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 50px;
	width: 100%;
	margin: auto;
	margin-bottom: 50px;
}

.case_flex li{
	margin: 49px 0px 0 0;
    width: 31.5%;
	text-align: center;
}

.case_flex4{
	width: 100%;
}



.case_flex li:first-child{
	margin-top: 0px;
}

.case_flex li:nth-child(2){
	margin-top: 0px;
}
.case_flex li:nth-child(3){
	margin-top: 0px;
}

.case_flex li .pho{
    display: block;
    position: relative;
}

.case_flex4 li{
	margin: 49px 0px 0 0 !important;
    width: 48%;
	text-align: center;
}

.case_flex li .pho img{
	filter: sepia(20%) opacity(80%);
}
 
.case_flex li .pho .ttl:before{
	background-color: rgba(255,255,255,.9);
    border-radius: 55px;
    content: "";
    display: block;
    filter: blur(9px);
    height: 140%;
    left: 0;
	right: 0;
	margin: auto;
    mix-blend-mode: multiply;
    position: absolute;
    top: -8px;
    transform: translateX(0) scale(1.35);
    transform: translateY(0) scale(1.35);
    width: 60%;
    z-index: -1;
}


.case_flex li .pho .ttl {
    color: #3b312f;
    font-size: 1.8rem;
    left: 0;
    letter-spacing: .1em;
    line-height: 1.2;
    position: absolute;
    text-align: center;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 100%;
}

.case_flex li .case-btn {
    margin: -30px auto 0;
    position: relative;
    width: 252px;
	width: 80%;
	justify-content: center;
	

}

.case_flex li .case-btn a {
    display: block;
    font-size: 13px;
    width: 100%;
    height: 50px;
    display: flex;
    align-items: center;
    background: url(../images/common/arrow01.png) top 50% right 14px/18px no-repeat #c8bb9b;
    color: #3b312f;
    padding-left: 1em
}

.mv h1.h1_size .h1_span{
	font-size: 22px;
	background: #0b0b0d;
	color: #fff;
	padding: 10px;
	font-weight: 600;
}

	.mv h1.short{font-family: 游明朝, YuMincho, yu-mincho-pr6, sans-serif;}

.container .zihi3 img{
	border-radius: 0;
	height: 233px;
}

.banner2{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 30px;
    
}
.banner2 div{
    width: 48%;
}
.banner2 img{
    width: 100%;
    border-radius: 0;
}
 .banner2 .price_content{
              margin:15px 0;
          }
          .banner2 .price_content th{
              display: block;
          }
          .banner2 .price_content td{
              display: block;
          }

.mokuji{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 900px;
    margin: auto;
    margin-top: 60px;
    margin-bottom: 60px;
    
}

.mokuji li{
    width: 32%;
    
    border: 1px solid;
    background: #8c7d3a;
    color: #fff;
	margin-bottom: 10px;
}

.mokuji li a{
    padding: 15px;
    display: block;
    text-align: center;
}

.mokuji li:hover{
    background: none;
    color: #000;
}


.price_flex2{
	display: flex;
	justify-content: space-between;
	flex-wrap:wrap;

	margin: auto;
	margin-bottom: 30px;
	
}

.price_flex2 div{
	width: 220px;
	padding: 20px;
	text-align: center;
	font-size: 18px;
	border: 1px solid #ccc;
    vertical-align: middle;
	font-weight: 600;
	border: 1px solid #ccc;
    vertical-align: middle;
	display: grid;
  place-items: center;
}

.price_flex2 div span{
	font-size: 30px;
	letter-spacing: 5px;
	color: #474a99;
	background: -webkit-repeating-linear-gradient(left, #0097df 0%, #71cf53 100%);
    background: repeating-linear-gradient(90deg, #0097df 0%, #71cf53 100%);
    background: repeating-linear-gradient(90deg, #0097df 0%, #71cf53 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
    position: relative;
    background-clip: text;
    color: transparent;
	font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif;
}

.container table.price_content td{
	background: #fff;
}

.container table.price_content th,.container table.price_content td{
	border: solid 1px #ccc;
}


#formWrap {
	margin:0 auto;
	color:#555;
	line-height:120%;
	font-size:90%;
}
table.formTable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
}
table.formTable td,table.formTable th{
	border:1px solid #ccc;
	padding:10px;
}
table.formTable th{
	width:30%;
	font-weight:normal;
	background:#efefef;
	text-align:left;
	    font-size: 0.9em;
}
		p.fm_center
		{text-align: center;
    margin-top: 15px;
}
		input[type="submit"], input[type="reset"], input[type="button"]{
			background: #0b0b0d;
    color: #fff;
    font-weight: bold;
    width: 100px;
    text-align: center;
    padding: 10px 20px;
	margin-right: 20px;		
		}

input[type="submit"]{margin-right: 0; }


.container table.formTable th p,.container table.formTable td p{
	margin-bottom: 0;
}




.ortho_pick{
	position: absolute;
	bottom: -164px;
	left: 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 400px;
	z-index: 10;
	
}

.ortho_pick div{
background: url(../images/treatment/orthodontics/medal.png);
    background-repeat: no-repeat;
    width: 130px;
    height: 130px;
    background-size: cover;
    text-align: center;
    font-size: 1.3rem;
    font-weight: 600;
    padding-top: 2.4rem;
	line-height: 1.4;
	color: #934545;
}

.ortho_pick div span{
	font-size: 2rem;
	letter-spacing: 0;
	
}

	.ortho_banner{
	width: 800px;
	margin: auto;
	background: #fff;
	margin-bottom: 1.6rem;
}

.ortho_banner img{
		width: 100%;
	}
     .dot:before{
        content:"◼︎";
        color:#c8bb9b;
        width:15px;
        height: 15px;
        display: inline-block;
    }
    .dot{
        margin-bottom:0.5rem;
        margin-top:0.5rem;
    }

	.case_flex2 li{
		width: 47.5%;
	}

.case_flex2 li .pho .ttl{
	color: #fff;
	    font-size: 2.3rem;
}


.case_flex2 li .pho .ttl:before{
	background-color:inherit !important;
}

.case_flex2 li{
	position: relative;
}

.case_flex2 li .flex2_bikou{
	position: absolute;
	top: 0;
	left: 0;
}

.case_flex2 li .flex2_bikou {
    position: absolute;
    top: 96px;
    left: 0;
    background: #2128c8;
    z-index: 10;
    background: linear-gradient(110deg, #31B5EA 16.92%, #65DBE2 40.9%, #59DC9D 65.95%, #82D467 88.5%);
    background: linear-gradient(91deg, #A7D9EC 0.95%, #ADDCE6 26.49%, #B4E2D4 51.54%, #C5EED3 75.6%, #C3EAB7 99.17%);
    text-align: center;
    right: 0;
    width: 290px;
    margin: auto;
    font-size: 1.2rem;
    font-weight: 600;
    font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif;
    padding: 0.2rem;
    line-height: 1.5;
}

.case_flex2 li .case-btn a {
    display: block;
    font-size: 13px;
    width: 100%;
    height: 50px;
    display: flex
;
    align-items: center;
    background: url(../images/common/arrow01.png) top 50% right 14px / 18px no-repeat #2FB8A4;
    color: #3b312f;
    padding-left: 1em;
}

.case_flex2 li .pho img {
    filter: sepia(20%) opacity(80%);
    height: 300px;
    width: 100%;
    object-fit: cover;
}
		
/*　簡易版レスポンシブ用CSS（必要最低限のみとしています。ブレークポイントも含め自由に設定下さい）　*/
@media screen and (max-width:572px) {
#formWrap {
	width:95%;
	margin:0 auto;
}
table.formTable th, table.formTable td {
	width:auto;
	display:block;
}
table.formTable th {
	margin-top:5px;
	border-bottom:0;
}
input[type="text"], textarea {
	width:100%;
	padding:5px;
	font-size:110%;
	display:block;
}
input[type="submit"], input[type="reset"], input[type="button"] {
	display:block;
	width:100%;
	height:40px;
	margin-bottom: 10px;
}
	.wpcf7 input[type="url"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"]{
	
	width: 100%;
}
	
	}
	

	
	.l-worry {
  background: url(../images/l-worry-bg.png) no-repeat center bottom/cover;
  width: 100% !important;
  height: 68.4rem;
  position: relative;
  z-index: -1;
  clip-path: polygon(0 0, 100% 0, 100% 88.22%, 50% 100%, 0 88.22%);
  margin-bottom: -8.99992rem;
}
@media screen and (max-width: 768px) {
  .l-worry {
    background: url(../images/l-worry-bg-sp.png) no-repeat center bottom/cover;
    height: 55.6rem;
    clip-path: polygon(0 0, 100% 0, 100% 91.84%, 50% 100%, 0 91.84%);
    margin-bottom: -5.59776rem;
    padding: 0 2rem;
  }
}
.l-worry__titlebox {
  position: absolute;
  top: 7.8rem;
  left: 0;
  width: 100%;
  z-index: 4;
}



@media screen and (max-width: 768px) {
  .l-worry__titlebox {
    top: 33vw;
  }
}
.l-worry__titlebox h2 span.small {
  color: #fff;
  font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif;
  font-size: 2rem;
  line-height: 1.57;
  letter-spacing: 0.2em;
  background: #37689f;
  padding: 0 5rem 0 20rem;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .l-worry__titlebox h2 span.small {
    font-size: 5.2vw;
    letter-spacing: 0.05em;
    padding: 0.2rem 2rem;
  }
}
.l-worry__titlebox h2 span.large {
  color: #fff;
  font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif;
  font-size: 3rem;
  line-height: 1.3;
  letter-spacing: 0.22em;
  background: #37689f;
  padding: 0 2.5rem 0 20rem;
  display: block;
  max-width: 73.8rem;
}
@media screen and (max-width: 768px) {
  .l-worry__titlebox h2 span.large {
    font-size: 5.4vw;
    letter-spacing: 0.05em;
    padding: 0.3rem 0.7rem 0.3rem 2rem;
    display: inline-block;
  }
}
.l-worry__titlebox h2 span + span {
  margin-top: 1rem;
}
.l-worry__gra {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 20rem;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 100%);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .l-worry__gra {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0) 100%);
  }
}
.l-worry__woman {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: 26.5rem;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .l-worry__woman {
    width: 15.5rem;
  }
}
.l-worry__woman img {
  width: 100%;
  height: auto;
}
.l-worry__comment {
  position: absolute;
  bottom: 9.3rem;
  left: 51.5%;
  width: 80.5rem;
  transform: translate(-50%, 0);
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .l-worry__comment {
    width: 100%;
    padding: 0 2rem;
    bottom: auto;
    left: 0;
    top: 49%;
    transform: translate(0, -50%);
  }
}
.l-worry__comment img {
  width: 100%;
  height: auto;
}

	
	.l-cta01 {
  background: url(../images/l-cta01-bg.jpg) no-repeat center top/cover;
  width: 100%;
  height: 40rem;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: column;
  position: relative;
  z-index: 1;
  padding-bottom: 4.4rem;
		margin-bottom: 6rem;
}
@media screen and (max-width: 768px) {
  .l-cta01 {
    background: url(../images/l-cta01-bg-sp.jpg) no-repeat center top/cover;
    height: auto;
    display: block;
    padding: 4rem 2rem 3rem 2rem;
  }
}
.l-cta01__inner {
  width: 80rem;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .l-cta01__inner {
    width: 100%;
  }
}
.l-cta01__titlebox {
  width: 100%;
  color: #fff;
  text-align: center;
  margin-bottom: 4rem;
}
.l-cta01__titlebox h2 {
  border-bottom: 0.1rem solid #fff;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif;
  font-size: 2.6rem;
  line-height: 1.58;
  letter-spacing: 0.1em;
	text-align: center;
	color: #fff;
}
@media screen and (max-width: 768px) {
  .l-cta01__titlebox h2 {
    font-size: 7vw;
  }
	.l-cta01__titlebox{
		margin-bottom: 1rem;
	}
	
}
.l-cta01__titlebox h2 span {
  font-size: 4.5rem;
	color: #fff;
}
@media screen and (max-width: 768px) {
  .l-cta01__titlebox h2 span {
    font-size:11vw;
  }
}
.l-cta01__titlebox h2 span strong {
  position: relative;
  font-weight: 400;
}
.l-cta01__titlebox h2 span strong::before {
  content: "●";
  color: #fff;
  position: absolute;
  top: -2.4rem;
  left: 50%;
  transform: translate(-50%, 0);
  font-size: 1.2rem;
}
.l-cta01__titlebox p {
  font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif;
  font-size: 2.2rem;
  line-height: 1.36;
  letter-spacing: 0.05em;
	text-align: center;
	color: #fff;
}
@media screen and (max-width: 768px) {
  .l-cta01__titlebox p {
    font-size: 6vw;
	  line-height: 1.8;
  }
}
.l-cta01__btnbox {
  width: 100%;
}



.c-cta {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 2rem;
}
@media screen and (max-width: 768px) {
  .c-cta {
    gap: 2rem 0;
  }
}
.c-cta__reserve {
  width: 32rem;
}
@media screen and (max-width: 768px) {
  .c-cta__reserve {
    width: 100%;
  }
}
.c-cta__reserve a {
  width: 100%;
  height: 11rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: column;
  border-radius: 15rem;
  background: #fff;
  color: #215795;
  text-align: center;
  box-shadow: 0px 2px 15px 0px rgba(75, 75, 75, 0.25);
}
@media screen and (max-width: 768px) {
  .c-cta__reserve a {
    height: 9rem;
  }
}
.c-cta__reserve a:hover {
  opacity: 0.7;
}
.c-cta__reserve h3 {
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.05em;
	    color: #215795;
	font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif;
}
@media screen and (max-width: 768px) {
  .c-cta__reserve h3 {
    font-size: 6vw;
  }
}
.c-cta__phone {
  width: 32rem;
}
@media screen and (max-width: 768px) {
  .c-cta__phone {
    width: 100%;
  }
}
.c-cta__phone a {
  width: 100%;
  height: 11rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: column;
  border-radius: 15rem;
  background: #fff;
  color: #2FB8A4;
  text-align: center;
  box-shadow: 0px 2px 15px 0px rgba(75, 75, 75, 0.25);
}

.c-cta__reserve a img{
	margin-bottom: 0.5rem;
}

.c-cta__reserve a p{
	font-size: 1.2rem;
}

.c-cta__phone a img{
	margin-bottom: 0.5rem;
}

.c-cta__phone a p{
	font-size: 1.2rem;
}

@media screen and (max-width: 768px) {
  .c-cta__phone a {
    height: 9rem;
  }
}
.c-cta__phone a:hover {
  opacity: 0.7;
}
.c-cta__phone h3 {
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.05em;
	font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif;
	color: #2FB8A4;
}
@media screen and (max-width: 768px) {
  .c-cta__phone h3 {
    font-size: 6vw;
  }
}
	


.l-face {
      padding: 3rem 0 7rem 0;
}
@media screen and (max-width: 768px) {
.l-face {
        padding: 3rem 0 2rem;
    }
}
.l-face__inner {
  width: 80rem;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .l-face__inner {
    width: 100%;
  }
}
.l-face__titlebox {
  margin-bottom: 6.7rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .l-face__titlebox {
    margin-bottom: 3rem;
    text-align: center;
    padding: 0 2rem;
  }
}
.l-face__titlebox h2 {
  font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif;
  font-size: 2rem;
  line-height: 1.57;
  letter-spacing: 0.2em;
	text-align: center;
}
@media screen and (max-width: 768px) {
  .l-face__titlebox h2 {
    font-size: 5.2vw;
  }
}
.l-face__titlebox h2 span {
  background: linear-gradient(111deg, #31B5EA 16.92%, #65DBE2 40.9%, #59DC9D 65.95%, #82D467 88.5%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 6.2rem;
  line-height: 1.26;
  letter-spacing: 0.1em;
  display: block;
  margin: 1.2rem 0;
	text-align: center;
}
@media screen and (max-width: 768px) {
  .l-face__titlebox h2 span {
    font-size: 2.2rem;
  }
	.c-cta__reserve a p {
    font-size: 4vw;
}
	
	
}
.l-face__figure {
  width: 100%;
}
.l-face__figure img {
  width: 100%;
  height: auto;
}


h2.ja.choose {
   font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif;
    font-size: 3.2rem;
    line-height: 1.3;
    letter-spacing: 0.22em;
	text-align: center;
	margin-bottom: 2rem;
}

@media screen and (max-width: 768px) {
  h2.ja.choose {
    font-size: 2rem;
    letter-spacing: 0.15em;
	  margin-top: 5rem;
  }
}




@media screen and (max-width: 768px) {
  .c-heading01 .ja {
    font-size: 2rem;
    letter-spacing: 0.15em;
  }
}
.c-heading01 .ja span {
  background: linear-gradient(110deg, #079AD4 16.92%, #22A7B4 31.24%, #3BB495 49.13%, #53C076 66.31%, #6ECD56 88.5%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
}
.c-heading01 .ja span::after {
  content: "";
  position: absolute;
  bottom: -0.6rem;
  left: 0;
  background: linear-gradient(110deg, #079AD4 16.92%, #22A7B4 31.24%, #3BB495 49.13%, #53C076 66.31%, #6ECD56 88.5%);
  width: 100%;
  height: 0.3rem;
}
.c-heading01 .ja span.none::after {
  content: none;
}

span.none.choose {
    font-size: 5.5rem;
}

@media screen and (max-width: 768px) {
  span.none.choose {
    font-size: 3rem;
    letter-spacing: 0.15em;
  }
}


header:not(.clone) .inner .right .info-btn .line-btn{
	background: #00B900;
	background-image: url(../images/common/arrow02.png);
}

header:not(.clone) .inner .right .info-btn .line-btn {
    display: flex;	
    align-items: center;
    background: url(../images/common/arrow02.png) #00B900 no-repeat;
    background-size: 21px;
    background-position: right 12px top 50%;
    height: 33px;
    font-size: 14px;
    padding: 0 3.8em 0 1.2em;
    margin-left: 12px;
}

header:not(.clone) .inner .right .info-btn .line-btn:before{
	content: "";
	background: url("../images/line_icon.png") no-repeat;
	width: 21px;
    height: 21px;
    background-size: cover;
    margin-right: 5px;
}


header .inner .right .info-btn .line-btn{
	background: #00B900;
	background-image: url(../images/common/arrow02.png);
}

header .inner .right .info-btn .line-btn {
    display: flex;	
    align-items: center;
    background: url(../images/common/arrow02.png) #00B900 no-repeat;
    background-size: 21px;
    background-position: right 12px top 50%;
    height: 33px;
    font-size: 14px;
    padding: 0 3.8em 0 1.2em;
    margin-left: 12px;
	color: #fff;
}

header .inner .right .info-btn .line-btn:before{
	content: "";
	background: url("../images/line_icon.png") no-repeat;
	width: 21px;
    height: 21px;
    background-size: cover;
    margin-right: 5px;
}

.hanarabi_flex{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}

.container ul.hanarabi_flex li{
	width: 33%;
	text-align: center;
	margin-bottom: 1rem;
}

.container ul.hanarabi_flex3 li{
	width: 48%;
	text-align: center;
	margin-bottom: 1rem;
}

.container ul.hanarabi_flex li img{
	width: 100%;
	border-radius: 0;
}

.container ul.hanarabi_flex li:nth-of-type(n+3) {
    margin-top: 0;
}


.big_txt10{
	font-size: 1.5rem;
	font-weight: 600;
	text-align: center;
}
.big_txt11{
	font-size: 2.6rem;
	font-weight: 600;
	text-align: center;
	    line-height: 1.3;
	font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif;
}

.big_txt12{
	font-size: 8rem;
}




.line_area{
	background: #f2f2f2;
	    padding: 2rem 2rem 1rem;
}

.sml10{
		font-size: 1.3rem;
	}


.half_case {
	flex-basis: 45%;
	position: relative;
}

div#toc_container{
	margin-top: 2rem;
}

a.web_btn{
				border: 1px solid;
				display: block;
				width: 100%;
				padding: 1rem;
				font-size: 1.4rem;
				margin-top: 5px;
				text-align: center;
			}
			
			a.web_btn img{
				width: 22px;
				padding-right: 8px;
			}
			
			@media (max-width: 768px) {
				a.web_btn{
				border: 1px solid;
				display: block;
				width: 80%;
					margin: auto;
				padding: 0.7rem;
				font-size: 1.4rem;
				margin-top: 3vw;
				text-align: center;
			}
			}
			

@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0;
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 60s infinite linear 0.5s both;
}
.scroll-infinity__item {
  width: calc(100vw / 5);
}
.scroll-infinity__item>img {
  width: 100%;
	height: 200px;
	object-fit: cover;
	border-radius: 0;
}


@keyframes infinity-scroll-right {
from {
  transform: translateX(-100%);
}
  to {
  transform: translateX(0%);
}
}
.scroll-infinity__list--right{
  animation :infinity-scroll-right 60s infinite linear 0.5s both;
}

.google_txt{
	font-size: 1.4rem;
	text-align: center;
	   
	margin-top: 3rem;
    margin-bottom: 1rem;
	
}

@media (max-width: 768px) {

.scroll-infinity__item>img {
    width: 100%;
    height: 30vw;
    object-fit: cover;
	border-radius: 0 !important;
}
	
	.scroll-infinity__item {
  width: calc(100vw / 2);
}
	
	.google_txt{
	font-size: 4.4vw;
	text-align: center;
	   
	margin-top: 2.5rem;
    margin-bottom: 0.5rem;
		line-height: 1.4;
	
}
	
}

.beauty {
    width: 1000px;
    margin: auto;
    margin-top: 3rem;
}

.treatment h2.p-feature__tit {
    margin-bottom: 5rem;
    text-align: center;
}

.p-feature__tit--small {
    display: block;
    font-size: 3.6rem;
    line-height: 1.4;
    margin-top: 0rem;
    font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif;
    color: #3b312f;
    line-height: 1;
	margin-bottom: 5rem;
}

.p-feature__tit--small2 {
    font-size: 3rem;
}

.p-feature__tit--small2 .number {
    font-size: 5rem;
}

.beauty ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 0;
}

.beauty ul li {
    width: 24%;
    font-size: 1.5rem;
    border: 1px solid;
}

.beauty ul li a {
    display: block;
    color: #fff;
    font-weight: 600;
    background: #222;
    text-align: center;
    padding-bottom: 0.7rem;
}

.beauty ul li img {
    width: 100%;
}

@media (max-width: 768px) {
	.beauty {
        width: 100%;
        margin-top: 2rem;
    }
	
	.treatment h2.p-feature__tit {
        margin-bottom: 7vw;
    }
	
	.p-feature__tit--small2 {
        display: block;
        font-size: 5vw;
        line-height: 1.4;
        margin-bottom: 2rem;
        font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif;
        color: #3b312f;
        line-height: 1;
    }
	
	.p-feature__tit--small2 .number {
        font-size: 10vw;
    }
	
	.beauty ul li {
        width: 48%;
        font-size: 4vw;
        margin-bottom: 3vw;
    }
	
	.beauty ul li a {
        display: block;
        color: #fff;
        font-weight: 600;
        background: #222;
        text-align: center;
        padding-bottom: 2vw;
    }
}

.ortho_campain01 {
	display: flex;
	gap: 1rem;
	width: 100%;
}

.ortho_campain02 {
	background: #f2f2f2;
	padding: 1rem;
	margin-bottom: 3rem;
	flex: 1;
}
.ortho_campain03 {
	display: block;
	margin: 0 13% 0 18%;
	width: 75%;
}

.oc01 {
	font-weight: 600;
}

.oc02 {
	font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif;
}

.oc03 {
	text-decoration: line-through;
	font-size: 1.3rem;
}

.oc04 {
	font-size: 1.3rem;
	font-weight: 600;
}
.oc05 {
	font-size: 1.8rem;
	font-weight: 600;
	background: linear-gradient(to top, #ffff66 50%, transparent 50%);
}

.oc06 {
	font-size: 1.4rem;
	font-weight: 600;
	font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif;
	background: repeating-linear-gradient(90deg, #0097df 0%, #71cf53 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

@media (max-width: 768px) {
	.ortho_campain01 {
		display: block;
	}
	
	.ortho_campain02 {
		margin-bottom: 1rem;
	}
}

.button_flex {
	display: flex;
	gap: 5rem;
}

.banner_ortho_consultation {
	margin-top: 2rem;
}

.h1_span {
	font-size: 4vw;
	background: #0b0b0d;
	color: #fff;
	padding: 1vw 2vw;
	font-weight: 600;
}

.ortho_pick.ortho_pick2.ortho_pick3 {
	left: 0;
}

.or01 {
	margin-top: 2rem;
}

@media (max-width: 768px) {
	.mv h1.ortho_regret {
		font-size: 6.6vw;
	}
	
	.button_flex {
		display: block;
	}
	
	.ortho_pick.ortho_pick2.ortho_pick3 {
		bottom: -28vw;
		width: 100%;
		left: 0;
	}
	
	.container.first_section {
		margin-top: 6rem;
	}
}
/*料金ページ ローンシュミレーションセクション*/
.loan_price .banner2{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.banner2 .loan_box{
    width:49%;
    box-shadow: .15em .15em .1em rgba(67, 67, 67, .16);
    margin-bottom:2rem;
}
.loan_price .banner2 .loan_box h2{
    position: relative;
    font-size:20px;
    padding:6px 0;
    margin-top:1rem;
    background:#8c7d3a;
}
.loan_price .banner2 .loan_box h2:before {
    content: "";
    display: block;
    position: absolute;
    width: 6.733vw;
    aspect-ratio: 103 / 100;
    clip-path: polygon(0 0, 100% 0, 0 100%);
    background-color: #8c7d3a;
    opacity: .3;
    top: -0.6vw;
    left: 0.567vw;
    mix-blend-mode: multiply;
}
.loan_price .banner2 .loan_box .loan_price_flex{
    display: flex;
    width:95%;
    margin-top: 2.5rem !important;
}
.loan_price .banner2 .loan_box .loan_price_flex img{
    width:45%;
    margin:0 1rem;
    border-radius: 0;
    object-fit: cover;
}
.price_catch{
    position: relative;
}
.price_catch span:nth-of-type(1){
    margin: 0 auto;
    margin-bottom: 9px;
    padding-bottom: .3em;
    text-align: left;
    font-size: 18px;
    border-bottom:1px dotted #c8bb9b;
}
.price_catch span:nth-of-type(n+2){
    padding-left: 0.5rem;
    font-size: 16px;
    font-style: italic;
    color: #2e2e2e;
    line-height: 1;
    letter-spacing: -1px;
    font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif;
}
.price_catch span:nth-of-type(n+2) em {
    padding-left: .05em;
    padding-right: .05em;
    font-size: 37px;
    font-style: italic;
    color: #b19165;
    font-weight:bold;
    letter-spacing: 0.1px;
}
.price_catch span:nth-of-type(n+2) small {
    padding-left: .2em;
    font-size: 10px;
    display: block;
    position: absolute;
    right: 0;
    bottom: 7px;
}
.price_lead {
    margin: 2rem 0.8rem 1rem;
    padding: .1em .5em 0;
    text-align: center;
    border: 1px solid #666;
    font-size:19px;
    font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif;
}
.price_lead small {
    padding-left: .2em;
    font-size: 10px;
    letter-spacing: -1px;
}
.loan_area{
	background: #e2fafa;
	padding: 2rem 2rem 1rem;
	margin-top: 1rem;
	margin-bottom: 1rem;
	border: 4px solid #9babc8;
}
.loan_txt{
	font-size: 1.3rem;
	color: #3c95ff;
	font-weight: 600;
	font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif;
}
.container h2.price_h2{
	margin-top: 55px;
}
.loan_a{
	color: #3c95ff;
	border-bottom: 1px solid;
	font-weight: 600;
	border: 1px solid;
	padding: 1rem;
	margin-top: 2rem;
}

.mv.kids_ortho {
	background-image: url("../images/treatment/orthodontics/32.jpg");
}

.worries01 {
	display: flex;
	gap: 10px;
}

.worries02 {
	text-align: center;
}

.worries03 {
	margin-bottom: 2rem;
}

.container h2.worries04 {
	margin-top: 0;
}

@media (max-width: 768px) {
	.worries01 {
		display: block;
	}
}

.table-scroll {
  overflow-x: auto;
  width: 100%;
}

.treatment-table {
  border-collapse: collapse;
  min-width: 1000px; /* ← 横に大きく表示させる */
  width: max-content; /* 内容に応じて幅を自動拡張 */
  font-family: sans-serif;
  background-color: white;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.treatment-table th,
.treatment-table td {
  border: 1px solid #ccc;
  text-align: center;
  padding: 10px;
}

.treatment-table th {
  background-color: #e0ffe0;
  font-weight: bold;
}

.treatment-table td {
  background-color: #ccffcc;
}

.treatment-table .category {
  background-color: #fff0f0;
  font-weight: bold;
}

.horizontal-scroll {
  overflow-x: auto;
  width: 100%;
}

.treatment-table {
  min-width: 1000px;
  width: max-content;
  border-collapse: collapse;
}

.container table.treatment-table th {
	padding: 10px 5px;
}

.container table.treatment-table td {
	padding: 10px 5px;
}

.line_top{
	width: 500px;
	display: block;
	margin: auto;
	padding-top: 1rem;
}

.line_top img{
	border-radius: 0;
}

@media (max-width: 768px) {
	
		.line_top{
	width: 100%;
	display: block;
	margin: auto;
	padding-top: 1rem;
}
	
	
.container .line_top img{
	border-radius: 0 !important;
}
	
	.treatment-table {
		min-width: 500px;
	}
	
	td.effect {
		width: 27%;
	}

	th.gumsurgery {
		width: 13%;
	}
	
	th.botulinum_injection {
		width: 14%;
	}
	
	th.excision {
		width: 13%;
	}
	
	th.crownlength {
		width: 22%;
	}
	
	.container table.treatment-table td, .container table.treatment-table th {
		font-size: 10px;
	}
	
}

.mokuji.mokuji_faq {
	width: 790px;
}

@media (max-width: 768px) {
	.mokuji.mokuji_faq {
		width: 100%;
	}
}

.reservation {
	display: flex;
	gap: 50px;
}

@media (max-width: 768px) {
	.reservation {
		display: block;
	}
}

.zekkotsu {
	text-align: center;
	font-size: 13px;
	font-weight: 600;
}

 .comparison-container {
      position: relative;
      width: 600px;
      max-width: 100%;
      aspect-ratio: 4 / 3;
      overflow: hidden;
      border-radius: 12px;
    }

    .comparison-container img {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      object-fit: cover;
    }

    .before-image {
      clip-path: inset(0 50% 0 0);
      z-index: 2;
      pointer-events: none;
    }

    .after-image {
      z-index: 1;
      pointer-events: none;
    }

   .handle {
  position: absolute;
  top: 0;
  left: 50%;
  width: 20px; /* クリックできる幅を広くする */
  height: 100%;
  margin-left: -25px; /* 中央に揃える */
  background: transparent; /* 背景透明にして視覚的には見えない */
  z-index: 3;
  cursor: ew-resize;
  display: flex;
  align-items: center;
  justify-content: center;
	   width: 60px;
	   text-align: center;
}

.handle::before {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  height: 100%;
  background-color: white;
  border-left: 2px solid black;
  border-right: 2px solid black;
  z-index: -1; /* アイコンより後ろにする */
}

.handle-icon {
  position: absolute;
  top: 50%;
  transform: translate(0%, -50%);
  font-size: 18px;
  background: rgba(255, 255, 255, 0.7);
  padding: 2px 6px;
  border-radius: 8px;
  font-weight: bold;
  pointer-events: none;
  user-select: none;
}

    .label {
      position: absolute;
      top: 10px;
      padding: 4px 10px;
      font-size: 14px;
      font-weight: bold;
      color: white;
      border-radius: 4px;
      z-index: 4;
    }

    .label.before {
      left: 10px;
      background-color: #254a6c;
    }

    .label.after {
      right: 10px;
      background-color: #00a9cb;
    }
.top_case{
        display: flex;
        justify-content: space-between;
        align-items: center;
    }  
    .top_case .half{
        width: 47%;
        position: relative;
    }
    .top_case .half:first-child:before {
        position: absolute;
    content: "BEFORE";
    background: #c8bb9b;
    color: #fff;
    bottom: 8px;
    left: 0;
    font-weight: 600;
    padding-left: 5px;
    padding-right: 5px;
    }
    .top_case .half:last-child:before {
    position: absolute;
    content: "AFTER";
    background: #9bc2c8;
    color: #fff;
    bottom: 8px;
    left: 0;
    font-weight: 600;
    padding-left: 5px;
    padding-right: 5px;
}
    .top_case .half:first-child:after {
        content: '';
    position: absolute;
    border-style: solid;
    border-width: 16px 0 16px 16px;
    border-color: transparent transparent transparent #333;
    top: 7.5rem;
    right: -2.4rem;
    }

.line_banner {
	margin-top: 2rem;
	margin-bottom: 2rem;
	display: block;
}

.mv h1.h1_size span.inspection {
	font-size: 70px;
}

.container .img_flex02 { display: flex; justify-content: space-between; width: 800px; margin-bottom: 2rem;}
.container .img_flex02 img { width: 100%; }

figcaption.di_figcap {
	text-align: center;
}

a.df_bnr01 {
	display: block;
	margin: 0 auto;
	width: 70%;
}

a.df_bnr01 img.df_bnr02 {
	border-radius: 0 0 20px;
}

@media(max-width: 768px){
	.mv{ height: 66.66vw; margin-bottom: 6.66vw; }
	.mv.sample{ background-image: url(../images/price/mv01-sp.jpg); }
	.mv.access{ background-image: url("../images/access/mv01-sp.jpg"); }
	.mv.first{ background-image: url("../images/first/mv01-sp.jpg"); }
	.mv.staff{ background-image: url("../images/staff/mv01-sp.jpg"); }
	.mv.treat{ background-image: url("../images/treatment/mv01-sp.jpg"); }
	.mv.price{ background-image: url(../images/price/mv01-sp.jpg); }
	.mv.contact{ background-image: url(../images/contact/mv01-sp.jpg); }
	.mv.clinic{ background-image: url(../images/clinics/mv01-sp.jpg); }
	.mv.about{ background-image: url("../images/about/mv01-sp.jpg"); }
		.mv.invi{ background-image: url("../images/index/invi_mv_sp.jpg"); }
	.mv.perio{ background-image: url("../images/periodontitis/018.jpg"); }
	
	.mv .inner{ width: 82vw; }
	.mv h1{ font-size: 10vw; }
	
	.column_mv h1{ font-size: 5vw; }
	
	.mv h1.short{font-size: 8vw;font-family: 游明朝, YuMincho, yu-mincho-pr6, sans-serif;}

	.mv .pankuzu li{ font-size: 3.46vw; font-weight: 700; }

	main{ padding: 0 6.6666vw; margin-bottom: 0vw; }

	.container{ width: 100%; padding: 6.6666vw; }
	.container + .container{ margin-top: 8.4vw; }

	.container img{ border-radius: 5.33vw 0 5.33vw 0; height: auto!important; }

	.view-more{ margin: 1.4em 0; }

	.container h2{ margin: 10vw 0 5.3333vw; }
	.ex { line-height: 28px; }
	.container h3{ font-size: 5.3333vw; margin: 8vw 0 5.3333vw; }
	.container h4{ font-size: 4.2666vw; margin: 5.866vw 0 5.3333vw; padding: 0 0.5em; width: 100%; }
	.container h5{ font-size: 3.733vw; margin: 5vw 0 1em; }

	.container .side-img{ flex-wrap: wrap; margin: 5.3333vw 0; }
	.container .side-img .img{ width: 100%; order: 1; margin-bottom: 5.3333vw; }
	.container .side-img .content{ width: 100%; order: 2; }

	.container table{ margin: 5.3333vw 0; }
	.container table.zeibetsu:before{ font-size: 3.2vw; top: 2.4vw; }
	.container table caption{ font-size: 5.3333vw; }
	.container table th{ font-size: 3.7333vw; padding: .8em 1em; }
	.container table td{ font-size: 3.7333vw; padding: .8em 1em; }
	.container table.row-4{ display: block; }
	.container table.row-4 tr{ display: flex; flex-wrap: wrap; }
	.container table.row-4 th{ width: 50%; }
	.container table.row-4 td{ width: 50%; }
	.container table + p.note{ font-size: 3.2vw; margin-top: -4vw; margin-bottom: 5.3333vw; text-align: right; }

	.container ul.number{ margin: 5.3333vw 0; }
	.container ul.number li{ font-size: 3.999vw; padding-left: 9.0666vw; }
	.container ul.number li:before{ width: 6.6666vw; height: 6.6666vw; font-size: 4.266vw; top: -.08em; }

	.container ul.flow{ margin: 5.3333vw 0; }
	.container ul.flow li{ width: 100%; }
	.container ul.flow li:nth-of-type(n+2){ margin-top: 4.8vw; }
	.container ul.flow li dl dt{ margin-bottom: 0; font-size: 4.2666vw; font-weight: 700; padding-left: 14.666vw; }
	.container ul.flow li dl dt:before{ font-size: 8.4vw; left: 2vw; }
	.container ul.flow li dl dd{ flex-wrap: wrap; }
	.container ul.flow li dl dd .img{ width: 100%; order: 1; }
	.container ul.flow li dl dd .img img{ border-radius: 0; }
	.container ul.flow li dl dd .content{ width: 100%; order: 2; margin-top: 1vw; }
	.container ul.flow.no-img li dl dt{ margin-bottom: 2vw; }
	
	.treatment {
    padding: 13.33vw 0;
    overflow: hidden;
}
	.treat-list01{ flex-wrap: wrap; padding: 0 5.33vw; margin-bottom: 10vw; }
	.treat-list01 > li{ width: 100%; padding: 10.66vw 0 13.33vw; }
	.treat-list01 > li:nth-of-type(1){ border-radius: 5.33vw; background-image: url(../images/common/bg-treat01-sp.jpg); }
	.treat-list01 > li:nth-of-type(2){ border-radius: 5.33vw; background-image: url(../images/common/bg-treat02-sp.jpg); }
	.treat-list01 > li:nth-of-type(3){ border-radius: 5.33vw; background-image: url(../images/common/bg-treat03-sp.jpg); }
	.treat-list01 > li + li{ margin-top: 6.66vw; }
	.treat-list01 > li .head{ font-size: 6.93vw; margin-bottom: 8vw; }
	.treat-list01 > li .head span{ font-size: 3.2vw; }
	.treat-list01 > li ul{ width: 60vw; }
	.treat-list01 > li ul li a{ height: 13.33vw; font-size: 3.73vw; background-size: 5.6vw; background-position: top 50% right 4vw; }
	.treat-list01 > li ul li + li{ margin-top: 2.66vw; }
	.treat-list01 > li .view-more{ position: relative; bottom: 0; left: 0; transform: none; margin: 13.33vw auto 0; }

	.treat-list02{ width: 100%; }
	.treat-list02 li:nth-of-type(n+5){ margin-top: 9.33vw; }
	.treat-list02 li img{ width: 15.73vw; margin-bottom: 2.66vw; }
	.treat-list02 li p{ font-size: 3.46vw; }
.treatment .bg-txt {
    font-size: 26.66vw;
    top: -14vw;
    left: 0;
    white-space: nowrap;
}
	
	.treatment{ padding: 13.33vw 0; overflow: hidden; }
	.treatment .bg-txt{ font-size: 26.66vw; top: -14vw; left: 0; white-space: nowrap; }
	.treatment .wrap{ width: 100%; }
	.treatment h2{ margin-bottom: 13.33vw; }
	.treatment .counseling-box{ padding: 8.66vw 0 11.33vw; margin-bottom: 12vw; }
	.treatment .counseling-box dd{ font-size: 3.46vw; line-height: 2; }	
	.flex_box{display: block;}
	.flex_box-02{display: block;}
	table.case th,table.case td{display: block;}
	
	.container table.table_sp th{
		width: 29.33vw;
	}
	
	.container table.table_sp{
		table-layout: fixed;
	}
	
	.container table.table_sp th,.container table.table_sp td{
		padding-left: 0;
		padding-right: 0;
		
	}
	
	.container table.table_sp th{
		padding-left: .4em;
	}
	
	.container p.txt_sml2{
		font-size: 3.1vw;
	}
	
	.container h3.huku:after{
	content: "副院長";
	font-size: 3.2vw;
    color: #fff;
    font-weight: 700;
    min-width: auto;
    text-align: center;
   padding: .2em .5em;
    background: #c8bb9b;
    margin: 3vw 0 2vw;
    margin-left: 1.5vw;
    display: inline-block;
}
	
	.container h3 span{
		font-size: 3.8vw;
	}
	
	
	.container table.scroll{
		display: block;
  overflow-x: scroll;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
		margin-bottom: 0;
	}
	
	ul.flex3 li{
		width: 100%;
	}
	
	ul.flex4 li{
		width: 48%;
		height: auto;
		padding-bottom: 2vw;
	}
	
	ul.flex4 li h3 {
    font-size: 3.6vw;
    font-weight: 700;
    border-bottom: solid 1px;
    /* margin: 40px 0 30px; */
    margin-top: 0px;
    margin-bottom: 3vw;
    margin-left: 3vw;
    margin-right: 3vw;
}
	
	ul.flex4 li p {
    margin-left: 3vw;
    margin-right: 3vw;
    margin-bottom: 1vw;
}
	
	ul.flex4 li .view-more {
		font-size: 3.4vw;}
	ul.flex4 li .view-more:after {
    content: '';
    width: 4vw;
    height: none;
    background: url(../images/common/arrow02.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 195%;
    right: 6%;
    transform: translateY(-50%);
}
	
		.calender{
		height: 72vw;
	}
	
		.guideline {
    width: 86%;
    margin: auto;
    margin-top: 10vw;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    overflow-x: auto;
    white-space: nowrap;
    overflow-scrolling: touch;
    -webkit-overflow-scrolling: touch;
    /* display: inherit; */
    display: block;
			margin-bottom: 5vw;
}
	
	.guideline div {
    width: 100%;
    margin-bottom: 5vw;
}
	
	
	.container p.big_txt{
		font-size: 5.6vw;
	}
	
	.mv h1.ortho_h1 {
    font-size: 7.6vw;
}
	
		.contact-box .left, .contact-box .right{ width: 100%; padding: 10.66vw; }
	.contact-box .left .inner, .contact-box .right .inner{ width: 100%; margin: 0; }
	.contact-box h2{ font-size: 8vw; }
	.contact-box .left h2{ margin-bottom: 8.13vw; }
	.contact-box .right h2{ margin-bottom: 3.33vw; }
	.contact-box h2 a{ line-height: 1.4; }
	.contact-box h2 a:after{ width: 18.66vw; height: 18.66vw; }
	.contact-box p{ font-size: 3.73vw; line-height: 2; }
	
	.container .price_area .price_txt {
    font-size: 4.6vw;
    text-align: center;
    border-top: 1px solid #c8bb9b;
    border-bottom: 1px solid #c8bb9b;
    padding-top: 2vw;
    padding-bottom: 2vw;
    margin-bottom: .5em;
}
	
	.container .price_area .hosoku {
    text-align: right;
    font-size: 3.2vw;
}
	
	.contact-box .left h2 {
    margin-bottom: 8.13vw;
    font-size: 6.4vw;
}
	
	.contact-box .right h2 {
    margin-bottom: 8.13vw;
    font-size: 6.4vw;
}
	
	footer .banner {width: 100%; margin: 2.5vw auto 1vw;}
	footer .banner .banner_inner li {margin: 3vw auto;}
	
	.mv h1.d_h1 {
    font-size: 6.2vw;
}
	
	.balloon-img {
    width: 17vw;
    height: auto;
    flex-shrink: 0;
}
	
	
.container ul.topic li{
	font-size: 4.2vw;
	padding-left: 7vw;
}
	
	.container ul.topic{
	background: #f1f1f1;
    padding: 5vw;
}
	
.container ul.topic li:before {
    counter-increment: number;
    content: counter(number);
    width: 5.8vw;
    height:5.8vw;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #c8bb9b;
    font-size: 18px;
    color: #fff;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    position: absolute;
    left: 0;
    top: 4px;
}
	
	.mv h1.h1_size {
    font-size: 5.8vw;
    font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif;
		padding-top: 3vw;
}
	
	.mv h1.h1_size span {
    font-size: 10.5vw;
		letter-spacing: 0;
}
	
	.point {
    font-family: 游明朝, YuMincho, yu-mincho-pr6, sans-serif;
    position: absolute;
    bottom: -20vw;
    left: 0;
		right: 0;
		margin: auto;
    background: #c8bb9b;
    font-size: 3.8vw;
    padding: 2.8vw;
    padding-top: 1vw;
    color: #fff;
    font-weight: 900;
    line-height: 1.4;
}
	.point span {
    font-size: 5.8vw;
    letter-spacing: .3px;
}
	
	.point .mv_sml {
    font-size: 3.2vw;
}
	
	.zihi{
	width: 100%;
    margin: auto;
    text-align: center;
}
	
	.mv.omote {
    background-image: url(../images/index/omote_mv_sp.jpg);
}
	
	.mv.ura {
    background-image: url(../images/index/ura_mv_sp.jpg);
}
	.point2{
		padding: 1.3vw;
	}
	
	.mv h1.h1_size .big_txt3{
	font-size: 7vw;
}
	
	.float-btn li:nth-of-type(1) .hoken{
	background: none;
	font-size: 2.1vw;
}

.float-btn li:nth-of-type(1) span{
	text-align: center;
	line-height: 1.1;
	padding-top: 5vw;
	margin-top: 1.4vw;
}
	
	.point5 span{
		font-size: 5vw;
	}
	
    h2.logo-ttl.op01{ font-size: 20px; text-align: center; padding-top: 56px; padding-bottom: .25em; background: none; background-size: 30px; background-position: none; position: static; }
	
	.container h2 .h2_sml{
		font-size: 4.2vw;
	}
	
	.mv h1.h1_size .harf_txt {
    font-size: 8vw;
}
	
	.point8 {
    font-family: 游明朝, YuMincho, yu-mincho-pr6, sans-serif;
    position: absolute;
    bottom: -12.8vw;
    left: 0;
    right: 0;
    margin: auto;
    background: #c8bb9b;
    font-size: 3.8vw;
    padding: 2.8vw;
    padding-top: 1vw;
    color: #fff;
    font-weight: 900;
    line-height: 1.4;
		padding-bottom: 1vw;
}
	
	.point .big_txt8 {
    font-size: 5.3vw;
}
	
	.txt_red{
	font-size: 4.8vw;
	font-weight: 600;
	color: red;
}
	
	.monitor {
    margin: auto;
    text-align: center;
    margin-bottom: 10px;
    margin-top: 14vw;
}

/**** 230307 ****/

.case_flex li {
    margin: 5vw 0 0;
    width: 47%;
}
	
	.case_flex li .pho .ttl {
    font-size: 4.2vw;
}
	
	.case_flex li .case-btn a {
	font-size: 3.3vw;
	background: url(../images/common/arrow01.png) top 50% right 10px/12px no-repeat #c8bb9b;
	height: 40px;
}
	
	.case_flex li:first-child{
	margin-top: 0;
}

.case_flex li:nth-child(2){
	margin-top: 0;
}
.case_flex li:nth-child(3){
	margin-top: 5vw;
}
	
	.case_flex li .pho .ttl:before{
	background-color: rgba(255,255,255,.9);
    filter: blur(8px);
	height: 120%;
	top: -2px;
	transform: translateX(0) scale(1.25);
    transform: translateY(0) scale(1.25);
	width: 80%;
}
	
	.mv h1.h1_size .h1_span {
    font-size: 4vw;
    background: #0b0b0d;
    color: #fff;
    padding: 1vw 2vw;
    font-weight: 600;
}
	
	.container .zihi3 img{
	width: 100%;
		object-fit: cover;
}
    .banner2{margin-bottom: 3vw;}
    
    .banner2 div{
        width: 100%;
        margin-bottom: 5vw;
    }
    
    
  
      nav{
        
        overflow-y:scroll;
                  height: 160vw;
        padding-bottom: 20vw;
    }
    
    
    nav .pick img{
        width: 90%;
         margin: auto;
        margin-bottom: 4vw;
       
    }
    
    
    nav .pick{
        margin-top: 5vw;
    }
	
    .mokuji{
    display: block;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    margin: auto;
    margin-top: 6vw;
    margin-bottom: 10vw;
    
}

.mokuji li{
    width: 100%;
    
    border: 1px solid;
    background:#8c7d3a;
    color: #fff;
    margin-bottom: 3vw;
}
	
	
	iframe.sp_movie{
		width: 100%;
	}
	
	
	 .container table.price_content th,.container table.price_content td{
	width: 100%;
		display: block;
		text-align: center;
		         padding: 0.3rem;
        font-size: 3.4vw;
}
	
	.price_flex2 div {
    width: 48%;
    padding: 2vw;
    text-align: center;
    font-size: 3.2vw;
    border: 1px solid #ccc;
    vertical-align: middle;
    font-weight: 600;
    border: 1px solid #ccc;
    vertical-align: middle;
    display: grid;
    place-items: center;
		margin-bottom: 3vw;
}
	
	.price_flex2 {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    margin: auto;
    margin-bottom: 3vw;
}
	
	.price_flex2 div span {
    font-size: 6vw;
    letter-spacing: 5px;
}
	
     .footer_sp_txt{
        font-size: 4vw;
        text-align: center;
        padding: 0 1vw;
        background-color: #222;
        color: #fff;
        position: absolute;
        bottom: 18vw;
        width: 100%; 
		background: repeating-linear-gradient(90deg, #0097df 0%, #71cf53 100%);
		font-weight: 600;
    }
	
	
	
.ortho_pick{
	position: absolute;
	bottom: -30vw;
	left: 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 100%;
	
}
	
	.ortho_pick2{
	position: absolute;
	bottom: -25vw;
	left: 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 100%;
	
}

.ortho_pick div{
background: url(../images/treatment/orthodontics/medal.png);
    background-repeat: no-repeat;
    width: 32%;
    height: 26.2vw;
    background-size:contain;
    text-align: center;
    font-size: 3.3vw;
    font-weight: 600;
    padding-top: 8vw;
	line-height: 1.4
}

.ortho_pick div span{
	font-size: 5vw;
	letter-spacing: 0;
}
	
	
	.mgt_sec{
		margin-top: 10vw;
	}

	
	.ortho_banner{
	width: 100%;
	margin: auto;
	background: #fff;
		margin-bottom: 1.6rem;
		margin-top: 25vw;
}
	
	
	.ortho_banner img{
		width: 100%;
	}
	.cpntainer p{margin-bottom: 0rem}
	
	
	.case_flex{
		width: 100%;
	}
	
	
}
@media (max-width: 768px) {
          .container .flow_img.scroll{
              width: 100%; 
        overflow-x: scroll;
        margin-bottom: 0;
          }
              .container .flow_img img{
                  max-width:700px;
              }
    .ortho_banner + .ortho_banner{
        margin-top:5vw;
    }
	
	
	
		.case_flex2 li{
		width: 100%;
	}

.case_flex2 li .pho .ttl{
	color: #fff;
	   font-size: 7.4vw;
}


.case_flex2 li .pho .ttl:before{
	background-color:inherit !important;
}

.case_flex2 li{
	position: relative;
}

.case_flex2 li .flex2_bikou{
	position: absolute;
	top: 0;
	left: 0;
}

.case_flex2 li .flex2_bikou {
        position: absolute;
        top: 14.5vw;
        left: 0;
        background: #2128c8;
        z-index: 10;
        background: linear-gradient(110deg, #31B5EA 16.92%, #65DBE2 40.9%, #59DC9D 65.95%, #82D467 88.5%);
        background: linear-gradient(91deg, #A7D9EC 0.95%, #ADDCE6 26.49%, #B4E2D4 51.54%, #C5EED3 75.6%, #C3EAB7 99.17%);
        text-align: center;
        right: 0;
        width: 79%;
        margin: auto;
        font-size: 3.8vw;
        font-weight: 600;
        font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif;
        padding: 1vw;
        line-height: 1.5;
    }
	
.case_flex2 li .case-btn a {
    display: block;
    font-size: 13px;
    width: 100%;
    height: 50px;
    display: flex
;
    align-items: center;
    background: url(../images/common/arrow01.png) top 50% right 14px / 18px no-repeat #2FB8A4;
    color: #3b312f;
    padding-left: 1em;
}
	
	    .case_flex2 li:nth-child(2) {
        margin-top: 10vw;
    }
	
	.case_flex2 li .pho img {
    filter: sepia(20%) opacity(80%);
    height: 52vw;
    width: 100%;
    object-fit: cover;
}
	
	
	
	.hanarabi_flex2{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}

.container ul.hanarabi_flex2 li{
	width: 33%;
	text-align: center;
	margin-bottom: 1rem;
}
	
	.container ul.hanarabi_flex3 li{
	width: 48%;
	text-align: center;
	margin-bottom: 1rem;
}
	
	.container ul.hanarabi_flex3 li:nth-of-type(n+2){
		margin-top: 0;
	}

.container ul.hanarabi_flex2 li img{
	width: 100%;
	border-radius: 0;
}
	
	    .container ul.hanarabi_flex2 li:nth-of-type(n+2) {
        margin-top: 0;
    }
	    .container ul.hanarabi_flex2 li:nth-of-type(n+2) {
        margin-top: 0;
    }
	
	.big_txt10 {
    font-size: 4vw;
    font-weight: 600;
    text-align: center;
}
	
	.sml10{
		font-size: 4vw;
	}
	
	.big_txt11{
		font-size: 4vw;
	}
	
	.big_txt12{
	font-size: 17vw;
}
	
	.big_txt13{
	font-size: 6vw;
}
	
	.line_area {
   
    padding: 5vw 2vw 3vw;
}
    
/*料金ページ ローンシュミレーションセクション*/
.banner2 .loan_box{
    width:100%;
    margin-top:0;
}
.loan_price .banner2 .loan_box h2 {
    position: relative;
    font-size: 17px;
}
.loan_price .banner2 .loan_box h2:before {
    display: block;
    position: absolute;
    width: 21.733vw;
    opacity: .3;
    top: -2.6vw;
    left: 2.267vw;
}
.price_catch{
    position: relative;
}
.price_catch span:nth-of-type(1){
    font-size: 1rem;
}
.price_catch span:nth-of-type(n+2){
    padding-left: 0;
    font-size: 13px;
    line-height: 1;
    letter-spacing: -1px;
}
.price_catch span:nth-of-type(n+2) em {
    padding-left: .05em;
    padding-right: .05em;
    font-size: 24px;
}
.loan_price .banner2 .loan_box .loan_price_flex img{
     width:40%;
     margin-right:0.75rem;
     margin-left: 0.75rem;
}
.price_catch span:nth-of-type(n+2) small {
    font-size: 9px;
    display: block;
    position:absolute;
    right:0;
    bottom: 4px;
}
.price_lead {
    font-size:15px;
}
.loan_area{
	background: #e2fafa;
	padding: 4vw 4vw 3vw;
	margin-top: 1rem;
	margin-bottom: 1rem;
}
.loan_txt{
	font-size: 4.6vw;
	color: #3c95ff;
	margin-bottom: 2vw;
}
.container h2.price_h2{
	margin-top: 2rem;
}
     .top_case .half:first-child:before {
    bottom: -25px;
    left: 20%;
    }
    .top_case .half:last-child:before {
    bottom: -25px;
    left: 20%;
}

    .top_case .half:first-child:after {
        border-width: 8px 0 8px 8px;
        top: 2.5rem;
        right: -1rem;
    }
    .view-more.more-case {
        margin: 3em 0 1.4em;
    }
	
	.mv h1.h1_size span.inspection {
		font-size: 30px;
	}
	
	.container .img_flex02 {
		display: block;
		width: 100%;
	}
	
	.container .img_flex02 img {
		width: 100%;
	}
	
	a.df_bnr01 {
		width: 100%;
	}
	
	iframe.apo_yotei{
	padding: 0 !important;
	    margin-left: -3vw;
}

.acss-fxqhid{
	padding: 0 !important;
}
		
}
          