body{ background: #f3f3f3; -webkit-text-size-adjust: 100%;}

.mv{ height: 415px; background-repeat: no-repeat; background-size: cover; background-position: center; }
.mv.sample{ background-image: url(../images/dummy/mv01.jpg); }
.mv.about{ background-image: url(../images/about/mv.jpg); }
.mv.access{ background-image: url(../images/access/mv.jpg); }
.mv.clinic{ background-image: url(../images/clinic/mv.jpg); }
.mv.staff{ background-image: url(../images/staff/mv.jpg); }
.mv.contact{ background-image: url(../images/contact/mv.jpg); }
.mv.thanks{ background-image: url(../images/thanks/mv.jpg); }
.mv.price{ background-image: url(../images//price/mv.jpg); }
.mv.treatment{ background-image: url(../images/treatment/mv.jpg); }
.mv.web{ background-image: url(../images/web/mv.jpg); }

.mv.bite{ background-image: url(../images/treatment/bite/mv.jpg); }
.mv.decay{ background-image: url(../images/treatment/decay/mv.jpg); }
.mv.denture{ background-image: url(../images/treatment/denture/mv.jpg); }
.mv.esthetic{ background-image: url(../images/treatment/aesthetic/mv.jpg); }
.mv.pediatric{ background-image: url(../images/treatment/pediatric/mv.jpg); }
.mv.perio{ background-image: url(../images/treatment/perio/mv.jpg); }
.mv.preventive{ background-image: url(../images/treatment/preventive/mv.jpg); }
.mv.root{ background-image: url(../images/treatment/root/mv.jpg); }
.mv.whitening{ background-image: url(../images/treatment/whitening/mv.jpg); }
.mv.oral-surgery{ background-image: url(../images/treatment/oral-surgery/mv.jpg); }

.pankuzu{ width: 900px; margin: 20px auto 0; }
.pankuzu li{ font-size: 13px; font-weight: 700; display: inline-block; }
.pankuzu li:not(:last-of-type):after{ content: '＞'; margin: 0 .5em; font-size: .8em; }

main{ width: 900px; margin: 0 auto 150px; }
main h1{ font-size: 32px; font-weight: 700; text-align: center; line-height: 1.4; margin: 68px 0 100px; }

.container{ background: #fff; padding: 60px 50px; }
.container + *{ margin-top: 70px; }
.container > *:first-child,
.container .side-img .content > *:first-child,
.container .side-img .img > *:first-child,
.container .flow-list dl dd > *:first-child,
.container .flow-list dl dd .content > *:first-child{ margin-top: 0 !important; }
.container > *:last-child,
.container .side-img .content > *:last-child,
.container .side-img .img > *:last-child,
.container .flow-list dl dd > *:last-child,
.container .flow-list dl dd .content > *:last-child{ margin-bottom: 0 !important; }

.container h2{ font-size: 20px; font-weight: 700; text-align: center; margin: 100px 0 50px; }
.container h2 span{ background:linear-gradient(transparent 70%, rgba(242,151,0,.6) 70%); }
.container h3{ font-size: 17px; font-weight: 700; color: #f29700; margin: 60px 0 22px; }
.container h4{ font-weight: 700; color: #f29700; margin: 2em 0 1em; padding-left: 1.2em; position: relative; }
.container h4:before{ content: '●'; position: absolute; left: 0; }
.container h2 + *,
.container h3 + *,
.container h4 + *{ margin-top: 0 !important; }
.container p{ margin-bottom: 1em; }

.container .side-img{ display: flex; justify-content: space-between; padding-top: 40px; border-top: solid 1px #ebe5e2; margin: 40px 0; }
.container .side-img .img{ width: 260px; }
.container .side-img .img img{ display: block; width: 100%; }
.container .side-img .content{ width: 500px; }

.container table{ width: 100%; background: #f3f3f3; margin: 30px auto; }
.container table .nowrap{ white-space: nowrap; }
.container table th{ text-align: center; padding: 1em 2em; vertical-align: middle; width: 50%;}
.container table td{ padding: 1em 2em; vertical-align: middle; text-align: center;}
.container table.price td{ text-align: right; }
.container table tr > *:not(:first-child){ border-left: solid 1px #e7e7e7; }
.container table tr:not(:last-child) > *{ border-bottom: solid 1px #e7e7e7; }
.container table + p.noto{ font-size: 12px; margin-top: -20px; margin-bottom: 30px; }



/*
.container table.access_table{ width: 100%; background: #f3f3f3; margin: 30px auto; }
.container table.access_table .nowrap{ white-space: nowrap; }
.container table.access_table th{ text-align: center; padding: 1em 2em; vertical-align: middle; background: #FFCF80;}
.container table.access_table td{ padding: 1em 2em; vertical-align: middle; }
.container table.access_table.price td{ text-align: right; }
.container table.access_table tr > *:not(:first-child){ border-left: solid 1px #e7e7e7; }
.container table.access_table tr:not(:last-child) > *{ border-bottom: solid 1px #e7e7e7; }
.container table.access_table + p.noto{ font-size: 12px; margin-top: -20px; margin-bottom: 30px; }
*/


.container .access_table{margin: 30px 0; background: #f3f3f3;}
.container .access_table th{ background: #FFCF80; padding: 1em; font-size: 13px; vertical-align: middle; border: solid 1px #e7e7e7; text-align: center;}
.container .access_table td{ padding: 1em; font-size: 13px; border: solid 1px #e7e7e7; vertical-align: middle; text-align: center;}



.container ol{ margin: 30px 0; display: table; counter-reset: number; }
.container ol li{ font-weight: 700; padding-left: 22px; margin-left: 30px; position: relative; border-bottom: solid 1px #ebe5e2; padding-bottom: .3em; }
.container ol li + li{ margin-top: 28px; }
.container ol li:before{ counter-increment: number; content: counter(number); font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 24px; color: #fff; width: 40px; height: 40px; border-radius: 20px; background: #343434; display: flex; justify-content: center; align-items: center; position: absolute; left: -30px; top: -5px; line-height: 1; letter-spacing: 0; }

.container .flow-list{ display: flex; justify-content: space-between; margin: 40px 0; flex-wrap: wrap; width: 100%; counter-reset: flow; }
.container .flow-list dl{ width: 380px; }
.container .flow-list dl:nth-of-type(n+3){ margin-top: 30px; }
.container .flow-list dl dt{ font-size: 16px; font-weight: 700; color: #fff; background: #232323; padding: .6em 1em .6em 55px; position: relative; margin-bottom: 14px; }
.container .flow-list dl dt:before{ counter-increment: flow; content: counter(flow,decimal-leading-zero); font-size: 28px; color: #fff; font-family: 'Oswald', sans-serif; font-weight: 600; position: absolute; top: 50%; left: 10px; transform: translateY(-50%); line-height: 1; letter-spacing: 0; }
.container .flow-list dl dd{ display: flex; justify-content: space-around; }
.container .flow-list dl dd .content{ width: 190px; }
.container .flow-list dl dd .img{ width: 170px; }
.container .flow-list dl dd .img img{ display: block; width: 100%; }
.container .flow-list.no-img dd{ display: block; }


/**** スタッフ紹介 ****/

.container .wide-img{ display: block; width: 100%; margin: 80px 0 50px; }
.container .wide-img + .side-img{ border-top: none; padding-top: 0; }

.dr-box .side-img dt{ font-size: 24px; font-weight: 700; }
.dr-box .side-img dt span{ font-size: 16px; font-weight: 400; display: block; letter-spacing: 0.05em; }
.dr-box .side-ttl{ display: flex; justify-content: space-between; flex-wrap: wrap; padding-top: 40px; border-top: solid 1px #ebe5e2; }
.dr-box .side-ttl dt{ width: 260px; }
.dr-box .side-ttl dt:nth-of-type(n+2){ margin-top: 30px; }
.dr-box .side-ttl dt span{ width: 100px; height: 35px; display: flex; justify-content: center; align-items: center; font-weight: 700; color: #fff; background: #343434; }
.dr-box .side-ttl dd{ width: 500px; }
.dr-box .side-ttl dd:nth-of-type(n+2){ margin-top: 30px; }
.dr-box .side-ttl .table{ display: table; }
.dr-box .side-ttl .table .row{ display: table-row; }
.dr-box .side-ttl .table p{ display: table-cell; }
.dr-box .side-ttl .table p:nth-of-type(1){ white-space: nowrap; padding-right: 2em; }
.dr-box .side-ttl ul li{ padding-left: 1em; position: relative; }
.dr-box .side-ttl ul li:before{ content: '・'; position: absolute; left: 0; }

.pricezei{text-align: center;}
.flex {display: flex;justify-content: space-between;flex-wrap: wrap;}
.flex .half {flex-basis: calc(100% / 2 - 20px);}

.container ul.dice li:before {content: ''; width: 1em; height: 1em;background: #f29700; position: absolute;left: 0; top: .35em;}
.container ul.dice li + li {margin-top: .8em;}
.container ul.dice li { position: relative;padding-left: 30px;}
nav ul, li {list-style: none;}

strong{font-weight: 600;}

.flex-clinic{display: flex;flex-wrap: wrap;justify-content: space-between;margin: 30px 0px;}
.flex-clinic-double{flex-basis: calc(100%/2 - 10px);text-align: center;    position: relative;}
.flex-clinic-double img{width: 100%;margin-bottom:10px;}

