header.clone{ top: 0; }

.mv{ height: 440px; background-repeat: no-repeat; background-size: cover; display: flex; justify-content: center; align-items: center; position: relative; }
.mv.sample{ background-image: url(../images/dummy/dummy01.png); }
.mv.about{ background-image: url(../images/about/about01.png); }
.mv.first{ background-image: url(../images/first/first01.png); }
.mv.staff{ background-image: url(../images/staff/staff01.png); }
.mv.general{ background-image: url("../images/general/general01.png"); }
.mv.invi{ background-image: url("../images/invisalign/invi_mv.jpg"); }
.mv.ortho{ background-image: url("../images/ortho/ortho01.png");background-repeat: no-repeat;background-size: cover;}
.mv.ortho-child{ background-image: url("../images/ortho-child/ortho-child01.png"); }
.mv.price{ background-image: url(../images/price/price01.png); }
.mv.facility{ background-image: url(../images/facility/facility01.png); }
.mv.access{ background-image: url(../images/access/access01.png); }

.mv h1{ font-size: 16px; text-align: center; margin-top: 40px; }
.mv h1 span{ font-family: fot-tsukuardgothic-std, sans-serif;  font-weight: 700; font-style: normal; letter-spacing: 0; font-size: 40px; color: #ef9098; text-align: center; display: block; }
.mv .item01{ width: 100%; position: absolute; bottom: 0; left: 0; }

.pankuzu{ width: 930px; margin: 0 auto; }
.pankuzu li{ display: inline-block; font-size: 12px; color: #222; }
.pankuzu li:not(:last-of-type):after{ content: '-'; margin: 0 .2em; }

.container .inner,
.container .staff{ background: #f2f2f2; padding: 60px 0 100px; position: relative; }
.container .inner:before,
.container .staff:before,
.container .general:before{ content: ''; width: 1px; height: 80px; background: #001655; position: absolute; top: -40px; left: 50%; transform: translateX(-50%); }
.container .inner .wrap > *:first-child,
.container .staff .wrap > *:first-child,
.container .inner .img-right .left > *:first-child,
.container .inner .img-right .right > *:first-child,
.container .inner .flow-list li .content > *:first-child{ margin-top: 0 !important; }
.container .inner .wrap > *:last-child,
.container .staff .wrap > *:last-child,
.container .inner .img-right .left > *:last-child,
.container .inner .img-right .right > *:last-child,
.container .inner .flow-list li .content > *:last-child{ margin-bottom: 0 !important; }

.container h2{ font-size: 26px; font-weight: 500; text-align: center; margin: 115px 0 74px; }
.container .inner h3{ font-size: 22px; font-weight: 500; color: #fff; text-align: center; background: #ef9098; padding: 4px 10px; margin: 80px 0 40px; }
.container .inner h4{ font-size: 20px; font-weight: 500; border-bottom: dotted 2px; margin: 60px 0 20px; }
.container .inner h4 span{ padding-left: 20px; position: relative; }
.container .inner h4 span:before{ content: ''; width: 4px; height: 20px; background: #001655; position: absolute; left: 0; top: 6px; }
.container .inner h5{ font-size: 18px; font-weight: 500; margin: 40px 0 1em; }
.container .inner p{ font-weight: 300; color: #001655; margin-bottom: 1em; }

.container .inner img.wide{ display: block; margin: 40px 0; }

.container .inner .img-right{ display: flex; justify-content: space-between; flex-wrap: wrap; margin: 40px 0; }
.container .inner .img-right .left{ width: 400px; }
.container .inner .img-right .right{ width: 350px; }
.container .inner .img-right .right img{ display: block; width: 100%; margin-bottom: 10px; }

.container .inner table{ width: 100%; margin: 40px 0; }
.container .inner table tr:nth-of-type(odd){ background: #fff; }
.container .inner table tr:nth-of-type(even){ background: #e5e8ee; }
.container .inner table th,
.container .inner table td{ color: #222; padding: 20px; vertical-align: middle; }
.container .inner table th{ border-right: solid 1px #f8f8f8; }

.container .inner .number-list{ counter-reset: number; background: #fff; padding: 45px; margin: 40px 0; }
.container .inner .number-list li{ font-size: 18px; color: #222; padding: 16px 0 14px 60px; position: relative; border-bottom: dotted 2px; }
.container .inner .number-list li:before{
	counter-increment: number;
	content: counter(number);
	font-family: fot-tsukuardgothic-std, sans-serif;  font-weight: 700; font-style: normal; letter-spacing: 0;
	font-size: 20px;
	color: #fff;
	display: flex;
	justify-content: center;
    align-items: center;
	width: 35px;
	height: 36px;
	background: url(../images/common/bg-icon01.png) no-repeat;
	background-size: contain;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.container .inner .flow-list{ counter-reset: flow; }
.container .inner .flow-list li{ display: flex; justify-content: space-between; padding-left: 86px; position: relative; }
.container .inner .flow-list li:before{
	counter-increment: flow;
	content: counter(flow);
	font-family: fot-tsukuardgothic-std, sans-serif;
	font-weight: 700;
	font-style: normal;
	letter-spacing: 0;
	font-size: 26px;
	width: 60px;
	height: 60px;
	border-radius: 30px;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	left: 0; top: 0;
	z-index: 1;
}
.container .inner .flow-list li:not(:last-of-type):after{ content: ''; width: 2px; height: 100%; background: #fff; position: absolute; left: 29px; top: 0; z-index: 0; }
.container .inner .flow-list li:last-of-type:after{ content: ''; width: 2px; height: 13px; background: #fff; position: absolute; left: 25px; top: -13px; transform: rotate(-38deg); }
.container .inner .flow-list li .content{ width: 100%; padding: 10px 0 30px; }
.container .inner .flow-list li.have-pic .content{ width: 355px; }
.container .inner .flow-list li .content h5{ margin-bottom: 10px; }
.container .inner .flow-list li.have-pic .img{ width: 280px; padding-bottom: 40px; }
.container .inner .flow-list li.have-pic .img img{ display: block; width: 100%; }


/***** staff *****/

.staff .dr-pr{ padding-bottom: 50px; border-bottom: solid 1px #fff; margin-bottom: 60px; }
.staff .dr-pr .dr-detail{ display: flex; justify-content: space-between; flex-wrap: wrap; }
.staff .dr-pr .dr-detail .left{ width: 300px; }
.staff .dr-pr .dr-detail .right h3{ font-size: 24px; font-weight: bold; color: #222; border-bottom: solid 1px #fff; padding-bottom: 20px; margin-bottom: 30px; }
.staff .dr-pr .dr-detail .right h3 span{ font-size: 16px; font-weight: 400; display: block; }
.staff .dr-pr .dr-detail .right h4{ font-size: 18px; color: #222; margin-bottom: 26px; }
.staff .dr-pr .dr-detail .right p{ color: #222; margin-bottom: 1em; }
.staff .dr-pr .dr-detail .right{ width: 450px; }
.staff .dr-pr > h4{ font-size: 16px; background: #fff; text-align: center; color: #222; padding: 6px; margin: 60px 0 20px; }
.staff .dr-pr .history-table th,
.staff .dr-pr .history-table td{ font-size: 16px; color: #222; font-weight: 300; padding-bottom: .4em; }
.staff .dr-pr .history-table th{ white-space: nowrap; padding-right: 1em; }

/**** about ****/
.container .feature{padding-bottom: 50px;}
.container .feature h2 {font-size: 16px; text-align: center; position: relative; margin-bottom: 50px; }
.container .feature h2 span{font-size: 40px; display: block; font-family: fot-tsukuardgothic-std, sans-serif; font-weight: 700; font-style: normal; text-align: center; letter-spacing: 0; line-height: 1.4;}
.container .feature ul li{ display: flex; margin-bottom: 60px; }
.container .feature ul li .content{ width: 50%; background: #f2f2f2; position: relative; z-index: 0; padding-bottom: 70px; }
.container .feature ul li:nth-of-type(even) .content{ order: 2; top: 70px; } 
.container .feature ul li .img{ width: 50%; background-size: cover; background-repeat: no-repeat; position: relative; }
.container .feature ul li:nth-of-type(1) .img{ background-image: url(../images/index/feature01.png); }
.container .feature ul li:nth-of-type(2) .img{ background-image: url(../images/index/feature02.png); }
.container .feature ul li:nth-of-type(3) .img{ background-image: url(../images/index/feature03.png); }
.container .feature ul li:nth-of-type(4) .img{ background-image: url(../images/index/feature04.png); }
.container .feature ul li .img .item01{ width: 100%; position: absolute; top: 0; left: 0; }
.container .feature ul li .img .item02{ width: 100%; position: absolute; bottom: 0; left: 0; }
.container .feature ul li:nth-of-type(even) .img{ order: 1;  }
.container .feature ul li:nth-of-type(odd) .img{ top: 70px; }
.container .feature ul li .content .in{ width: 400px; margin-top: -30px; }
.container .feature ul li:nth-of-type(odd) .content .in{ margin-left: auto; padding-right: 60px;}
.container .feature ul li:nth-of-type(even) .content .in{ padding-left: 60px; }
.container .feature ul li .content .in > span{ font-size: 70px; color: #ef9098; line-height: 1; display: table; }
.container .feature ul li:nth-of-type(even) .content .in > span{ margin-left: auto; }
.container .feature ul li .content .in > span small{ font-size: 16px; display: block; letter-spacing: .16em; }
.container .feature ul li .content h3{ font-size: 20px; font-weight: 500; color: #ef9098; margin: 30px 0; }
.container .feature ul li .content h3 span{ color: #001655; }
.container .feature ul li .content .item01{ width: 100%; position: absolute; top: 0; left: 0; z-index: -1; }
.container .feature ul li .content .item02{ width: 100%; position: absolute; bottom: 0; left: 0; z-index: -1; }

/**** first ****/

.container .first_yoyaku p{text-align: center;}
.container .first_yoyaku ul{text-align: center;}
.container .first_yoyaku li{margin: 0 20px;}
.container .first_yoyaku .btn-list{ display: flex; justify-content: center; }
.container .first_yoyaku .btn-list a{ display: flex; justify-content: center; align-items: center; width: 170px; height: 36px; border: solid 2px #001655; border-radius: 18px; }
.container .first_yoyaku .btn-list li:nth-of-type(1) a{ font-size: 16px; background: #fff; }
.container .first_yoyaku .btn-list li:nth-of-type(1) a span{ position: relative; padding-left: 12px; }
.container .first_yoyaku .btn-list li:nth-of-type(1) a span:before{ content: ''; width: 8.4px; height: 13px; background: url(../images/common/icon-headerbtn01.png) no-repeat; background-size: contain; position: absolute; top: 7px; left: 0; }
.container .first_yoyaku .btn-list li:nth-of-type(2) a{ font-size: 13px; background: #fff; font-weight: 500; }
.container .first_yoyaku .btn-list li:nth-of-type(2) a span{ position: relative; padding-left: 18px; }
.container .first_yoyaku .btn-list li:nth-of-type(2) a span:before{ content: ''; width: 13px; height: 12px; background: url(../images/common/icon-headerbtn02.png) no-repeat; background-size: contain; position: absolute; top: 6px; left: 0; }

/**** general ****/
.container .general{background: #54c2f0;padding: 100px 0;position: relative;}
.container .general .outer{ background: #54c2f0; padding: 0 40px 40px; }
.container .general .outer .worry{  }
.container .general .outer .treat-list{ display: flex; flex-wrap: wrap; }
.container .general .outer .treat-list li{ width: 25%; text-align: center; color: #fff; padding: 10px; border-left: solid 1px #fff; border-bottom: solid 1px #fff; }
.container .general .outer .treat-list li:nth-of-type(1),
.container .general .outer .treat-list li:nth-of-type(5),
.container .general .outer .treat-list li:nth-of-type(9){ border-left: none; }
.container .general .outer .treat-list li:nth-of-type(1),
.container .general .outer .treat-list li:nth-of-type(2),
.container .general .outer .treat-list li:nth-of-type(3),
.container .general .outer .treat-list li:nth-of-type(4){ border-top: solid 1px #fff; }
.container .general .outer .worry{ width: 654px; position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; margin: 0 auto 40px; }
.container .general .outer .worry h3{ font-size: 22px; text-align: center; color: #fff; font-weight: 500; width: 100%; margin: 30px 0 -10px; }
.container .general .outer .worry a{ display: flex; justify-content: center; align-items: center; width: 150px; height: 150px; background: #fff; border-radius: 80px; border: solid 2px; position: relative; }
.container .general .outer .worry a:nth-of-type(1){ transform: rotate(-136deg); }
.container .general .outer .worry a:nth-of-type(1) span{ transform: rotate(136deg); }
.container .general .outer .worry a:nth-of-type(2){ transform: rotate(200deg); margin-top: 50px; }
.container .general .outer .worry a:nth-of-type(2) span{ transform: rotate(-200deg); }
.container .general .outer .worry a:nth-of-type(3){ transform: rotate(-200deg); margin-top: 50px; }
.container .general .outer .worry a:nth-of-type(3) span{ transform: rotate(200deg); }
.container .general .outer .worry a:nth-of-type(4){ transform: rotate(136deg); }
.container .general .outer .worry a:nth-of-type(4) span{ transform: rotate(-136deg); }
.container .general .outer .worry a:before{
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 22px 9px 0 9px;
	border-color: #001655 transparent transparent transparent;
	position: absolute;
	bottom: -22px;
}
.container .general .outer .worry a:after{
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 18px 7px 0 7px;
	border-color: #fff transparent transparent transparent;
	position: absolute;
	bottom: -17px;
}
_:-ms-lang(x)::backdrop, .container .general .outer .worry a:after{ right: 60px; }
_:-ms-lang(x)::-ms-backdrop, .container .general .outer .worry a:after{ right: 60px; }
_:-ms-lang(x)::-ms-backdrop, .container .general .outer .worry a:before{ right: 58px; }
_:-ms-lang(x)::backdrop, .container .general .outer .worry a:before{ right: 58px; }
.container .general .outer .worry a span{ text-align: center; font-weight: 500; position: relative; padding-bottom: 20px; width: 100%; }
.container .general .outer .worry a span:before{ content: ''; width: 20px; height: 1px; background: #001655; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }
.container .general .outer .worry a span:after{ content: ''; width: 6px; height: 1px; background: #001655; position: absolute; bottom: 2px; right: 63px;transform: skewY(39deg); }

/**** esthetic ****/
.container .inner.esthetic table th,
.container .inner.esthetic table td{text-align: center;}

.container .inner .left h5{margin-top:22px;}

a.btn_about{
	margin: 20px auto 0px;
}

ul.case{
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
ul.case li{
	display: inline-block;
    width: 23%;
    margin-bottom: 20px;
    background: #fff;
    height: 280px;
    border-radius: 8px;
    /*box-shadow: 2px 2px 2px rgba(0,0,0,0.2);*/
    text-align: center;
    font-size: 1.2em;
}

ul.case li img{
	width: 100%;
	border-radius: 8px 8px 0px 0px;
}
ul.case li a.btn{
	font-size: 13px;
	width: 87%;
	margin-top: 0;
	letter-spacing: 1px;
}

.container .inner ul.case li p{
	padding-left: 10px;
	padding-right: 10px;
	letter-spacing: .1em;
}

.container .inner ul.case li p.txt1{
	font-size: 16px;
	color: #001655;
	text-align: center;
	font-weight: 500;
	margin-top: .3em;
	margin-bottom: .5em;
}

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

ul.shorei li{
	display: inline-block;
    width: 48%;
    margin-bottom: 20px;
}

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

.container .inner ul.shorei li h5{
	margin: 20px 0 .3em;
}

.container .inner table.shorei_table{
	margin-top: 10px;
}

table.price_table span{
	font-size: 12px;
}

table.price_table th{
	width: 55%;
}


.ortho{
    background: #f2f2f2;
    margin-bottom: 0;
}

/*
.ortho h3 {
    font-size: 16px;
    text-align: center;
    position: relative;
    padding: 53px 0 35px;
    z-index: 0;
    margin-bottom: 30px;
}*/

.ortho .outer > .flex {
    display: flex;
    justify-content: space-between;
    padding: 0 0px 0px;
}
.ortho .outer > .flex ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 490px;
}
.ortho .outer > .flex ul li:nth-of-type(1), .treatment .outer.orth > .flex ul li:nth-of-type(2) {
    margin-bottom: 20px;
}
.ortho .outer > .flex ul li img {
    display: block;
}
.ortho .outer > .flex ul li h4 {
    font-weight: 500;
    text-align: center;
    background: #001655;
    color: #fff;
    padding: 6px;
}
.ortho .outer > .flex .right {
    width: 270px;
}
.ortho .outer > .flex .right a.btn {
    margin-top: 30px;
	float: right;
}

.ortho .child {
    background: #f2f2f2;
    border-radius: 100px 100px 0 0;
    padding: 0 0px 40px;
}

/*
.ortho h3 {
    font-size: 16px;
    text-align: center;
    position: relative;
    padding: 53px 0 35px;
    z-index: 0;
    margin-bottom: 30px;
}*/

.ortho .child .flex {
    display: flex;
    justify-content: space-between;
}
.ortho .child .flex .left {
    width: 235px;
}
.ortho .child .flex .left img {
    display: block;
    width: 100%;
}
.ortho .child .flex .right {
    width: 522px;
}
.ortho .child .flex .right a.btn {
    margin: 30px 0 0 auto;
}

.ortho2 {
    background: #f2f2f2;
}
.container .ortho{
	position: relative;
}
.container .ortho:before {
    content: '';
    width: 1px;
    height: 80px;
    background: #001655;
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
}
.container .ortho2:before {
    content: none;
}
.container .ortho2{
	padding-bottom: 80px;
}

.container .ortho h3 {
    font-size: 22px;
    font-weight: 500;
    color: #fff;
    text-align: center;
    background: #ef9098;
    padding: 4px 10px;
    margin: 80px 0 40px;
}
.container .ortho2 h3 {
    margin: 40px 0 40px;
}

.ortho .outer{
	padding-top: 40px;
}
.ortho .outer > .flex ul li{
	width: 235px;
}
.ortho .outer > .flex ul li img{
	width: 100%;
}

ul.ortho_list a{
	display: block;
}

ul.ortho_list a:hover{
	opacity: .7;
}

ul.ortho_list li span{
	letter-spacing: 0;
}

.container .inner .mg_b{
	margin-bottom: 23px;
}
.container .inner h5.mg{
	margin-top: 10px;
}

.container .inner table.mg_table{
	margin-top: 23px;
	margin-bottom: 50px;
}

a.btn_about2 {
    margin: 30px auto 0px;
} 

.container .general .outer .treat-list li a{
	display: block;
	text-align: center;
	position: relative;
}

.container .general .outer .treat-list li a:before {
    content: '';
    width: 16px;
    height: 1px;
    background: #fff;
    position: absolute;
    bottom: 50%;
    right: 0;
    transform: translateX(-50%);
}

.container .general .outer .treat-list li a:after {
    content: '';
    width: 5px;
    height: 1px;
    background: #fff;
    position: absolute;
    bottom: 58%;
    right: 7px;
    transform: skewY( 
39deg
 );
}


p.txt{
	font-size: 20px;
    font-weight: 500;
    border-bottom: dotted 2px;
    margin: 40px 0 20px;
}

h2.txt2{
	text-align: center;
    color: #fff;
    text-align: center;
    background: #ef9098;
    padding: 4px 10px;
    margin: 80px 0 40px;
}

.acd-check{
    display: none;
}
.acd-label{
    background: #FFFFFF;
    color: #233264;
    display: block;
    margin-bottom: 1px;
	padding: 14px 15px 12px 21px;
	position: relative;
}
.acd-label:hover{
	opacity: .7;
}

.acd-label:after{
	position: absolute;
	content: "";
	background-image: url("../images/index/plus.png");
	background-repeat: no-repeat;
	background-size: contain;
	width: 23px;
	height: 23px;
	top:17px;
	right: 20px;
}

.acd-label:after {
    position: absolute;
    content: "";
    background-image: url(../images/common/mines.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 23px;
    height: 23px;
    top: 20px;
    right: 20px;
}
.acd-check:checked + .acd-label:after{
    position: absolute;
	content: "";
	background-image: url("../images/common/mines02.png");
	background-repeat: no-repeat;
	background-size: contain;
	width: 23px;
	height: 23px;
	top:20px;
	right: 20px;
	
}

.acd-content{
    height: 0;
    opacity: 0;
	padding: 15px;
    transition: .5s;
    visibility: hidden;
	overflow: hidden;
}
.acd-check:checked + .acd-label + .acd-content{
    height: auto;
    opacity: 1;
    visibility: visible;

}
.qa_area .txt_q {
    border-bottom: none;
}
.txt_q::before {
    content: 'Q';
    color: #011754;
    font-size: 1.5em;
    font-weight: 700;
    padding-right: 10px;
}

.txt_a::before {
    content: 'A';
    color: #ef8f97;
    font-size: 1.5em;
    font-weight: 700;
    padding-right: 10px;
}
.qa_area .txt_q {
    border-bottom: none;
}
.txt_q {
	font-size: 18px;
}

/*20220201*/

.koujo01{
	padding-top: 1em!important;
}

.formula li p{
    margin-bottom: 0px!important;
}

.invi_box{
	padding-bottom: 60px;
	width: 800px;
	margin: auto;
	
}

.container .invi_box .inner{
	background: #fff;
	padding-top: 0;
	padding-bottom: 0;
}

.container .invi_box .inner:before{
	content: none;
}

.container .invi_box .inner .img-right{
	margin-bottom: 60px;
}

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

ul.merit{
	counter-reset: number 0;
	margin-bottom: 40px;
}
.merit li{
	position: relative;
	width: 32%;
	background: #f2f2f2;
	padding: 20px;
	box-sizing: border-box;
	margin-bottom: 15px;
	padding-bottom: 10px;
	text-align: center;
	letter-spacing: 1px;
}


.merit li span{
	font-size: 17px;
}


.merit li:before{
	position: absolute;
	counter-increment: number 1;
content: counter(number);
    font-family: fot-tsukuardgothic-std, sans-serif;
    font-weight: 700;
	top: 0;
	left: 8px;
	font-size: 38px;
	color: #76c0ec;
}

.invi_box strong{
	font-weight: 600;
	color: #ef9098;
}

.cv{
	background: -webkit-linear-gradient(0deg, #45bdff 0, #45bdff 37%, #24c2cc 100%);
	padding-top: 30px;
	padding-bottom: 50px;
}

a.btn2 {
    margin: 20px auto 0px;
    width: 600px;
    height: 80px;
    border-radius: 250px;
    font-size: 22px;
	background: #fdf37a;
}

a.btn2 span:before {
    content: '';
    width: 40px;
    height: 1px;
    background: #001655;
    position: absolute;
    top: 22px;
    right: -56px;
}

a.btn2 span:after {
    content: '';
    width: 10px;
    height: 1px;
    background: #001655;
    position: absolute;
    top: 18px;
    right: -56px;
    transform: skewY(39deg);
}

.txt_big{
	font-size: 28px;
	text-align: center;
	font-family: fot-tsukuardgothic-std, sans-serif;
}

.container .inner table.invi_price span{
	font-size: 12px;
}