@charset "utf-8";

@import url('https://fonts.googleapis.com/css?family=Marcellus&display=swap');
@import url("https://use.typekit.net/goo7oje.css");
/*
P22 Underground Book
font-family: p22-underground, sans-serif;
font-weight: 400;
font-style: normal;

P22 Underground Medium
font-family: p22-underground, sans-serif;
font-weight: 500;
font-style: normal;

P22 Underground DemiBold
font-family: p22-underground, sans-serif;
font-weight: 600;
font-style: normal;
*/
/*reset-----------------------------------------------------------------*/
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, 
fieldset, input, textarea, p, th, td, figure{margin: 0; padding: 0;}
html{font-size: 62.5%; overflow-y: scroll;}
h1, h2, h3, h4, h5, h6{font-size: 100%; font-weight: normal;}
ol, ul{list-style:none;}
fieldset, img{border:0;}
table{border-collapse: collapse; border-spacing:0;}
caption, th{text-align: left;}
address, caption, cite, code, dfn, th, var,em,i{font-style: normal; font-weight: normal;}
img{border:none;}
/*-------------------------------------------------------------------*/

html{}

body {
min-width:1100px;
overflow:hidden;
background:#fff;
font-size: 1.2rem;
line-height:2em;
color:#595757;
letter-spacing: normal;
-webkit-text-size-adjust: 100%;
_display: inline;
_zoom:1;
font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
-webkit-font-smoothing: antialiased;
}
input, button, textarea, select {-webkit-appearance: none; -moz-appearance: none; appearance: none; border-radius: 0; font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;}
a,.btn{transition:all 0.3s ease-out 0s; color:#595757;}
a:hover,.btn:hover{opacity:0.7;}
img{vertical-align:bottom;}
em,i{font-style:normal;}
b,strong,em{font-weight: normal;}

.phr{display: inline-block;}
.dpc{display:block;}
.dsp{display:none;}
.btn_acc{pointer-events: none;}
.body_acc{display:block;}
/*-------------------------------------------------------------------*/

#wrapper{}

._header{width:990px; margin:0 auto;}
._header .common{display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-justify-content:space-between; -ms-justify-content:space-between; justify-content:space-between; flex-wrap: nowrap; align-items: center;}
._header .common h1{}
._header .common h1 a{display:block; width:380px; height:150px; background: url(../images/common/header_logo.svg) center no-repeat; background-size: contain; text-indent: 120%; white-space: nowrap; overflow: hidden;}
._header .common aside{text-align: center;}
._header .common aside i{display: block; font-size:1.6rem; font-family:p22-underground, sans-serif; font-weight: 600; font-style: normal; letter-spacing: 0.1em; color:#5079b4;}
._header .common aside i a{display: inline-block; font-size:3.0rem; text-decoration: none; color:#5079b4;}
._header .common aside address{display: block; font-size:15px; letter-spacing: 0.05em;}
._header .common aside em{display: block;}
._header .common aside em a{display: block; background: #8197c6; border-radius: 0.2em; padding:0.3em 0 0; font-size:1.2em; font-family: p22-underground, sans-serif, serif; text-decoration: none; letter-spacing: 0.2em; line-height: 1; color:#fff;}

._header .lead{display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-justify-content:space-between; -ms-justify-content:space-between; justify-content:space-between; flex-wrap: nowrap; align-items: center; flex-direction: row-reverse; background: #eff5f8;}
._header .lead h2{width:420px; padding: 1.5em; box-sizing: border-box; font-size:1.4rem; letter-spacing: 0.05em; text-align: left;}
._header .lead h2 b{display: block; font-size: 1.6rem; font-weight: bold; border-bottom:1px #fff solid; padding-bottom: 0.5em;}
._header .lead h2 span{display: block; font-size: 1.4rem; margin-top: 1em;}

._header .lead .image{position: relative;}
._header .lead .image:after{display:block; content: ""; width:148px; height:101px; background: url(../images/index/header_image_icon.png) no-repeat 0 0/contain; position: absolute; bottom:15px; right:15px;}

._header nav{margin-top:20px;}
._header nav ul{display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-justify-content:space-between; -ms-justify-content:space-between; justify-content:space-between; flex-wrap: nowrap;}
._header nav ul li{width:316px; position: relative;}
._header nav ul li a{display: -webkit-box; display: -ms-flexbox; display: flex; justify-content: center; align-items: center; width:100%; height: 100px; border-radius: 0.5em; box-sizing: border-box; font-size: 2.2rem; line-height: 1.4; letter-spacing:0.1em; text-decoration: none; text-align: center; color:#fff; position: relative;}
._header nav ul li a:before,
._header nav ul li a:after{display:block; content: ""; position: absolute;}
._header nav ul li a:after{width:20px; height:20px; top:50%; right:20px; transform: translateY(-50%);}
._header nav ul li a:hover{opacity: 1;}
._header nav ul li.geka a{ background: #6bc0ed;}
._header nav ul li.rehabili a{ background: #eece5f;}
._header nav ul li.hinyoki a{ background: #87cdd0;}
._header nav ul li.geka a:hover{ background: #3cb0ee;}
._header nav ul li.rehabili a:hover{ background: #edc434;}
._header nav ul li.hinyoki a:hover{ background: #58cbd0;}
._header nav ul li.geka a:before{width:57px; height:106px; background: url(../images/common/ill_01.svg) no-repeat 0 0/cover; top:-6px; left:18px;}
._header nav ul li.rehabili a:before{width:100px; height:106px; background: url(../images/common/ill_02.svg) no-repeat 0 0/cover; top:-6px; left:18px;}
._header nav ul li.hinyoki a:before{width:73px; height:70px; background: url(../images/common/ill_03.svg) no-repeat 0 0/cover; top:20px; left:18px;}
._header nav ul li.geka a:after{background: url(../images/common/nav_geka_arrow.svg) no-repeat 0 0/cover;}
._header nav ul li.rehabili a:after{background: url(../images/common/nav_rehabili_arrow.svg) no-repeat 0 0/cover;}
._header nav ul li.hinyoki a:after{background: url(../images/common/nav_hinyoki_arrow.svg) no-repeat 0 0/cover;}

/*-------------------------------------------------------------------*/
#nav_btn{width:50px; height:50px; position: fixed; top:20px; right:10px; z-index: 11;}
#nav_btn:before{display:block; content: ""; width:40px; height:2px; background:#8197c6; border-radius: 2px; position: absolute; top:50%; left:50%; transform: translate(-50%,-7px); transition-duration: 0.3s;}
#nav_btn:after{display:block; content: ""; width:40px; height:2px; background:#8197c6; border-radius: 2px; position: absolute; top:50%; left:50%; transform: translate(-50%,3px); transition-duration: 0.3s;}
#nav_btn:hover{cursor: pointer;}
#nav_btn.nav_close:before { -webkit-transform: rotate(-225deg); -ms-transform: rotate(-225deg); transform: rotate(-225deg); top: 50%; left:50%; margin:-2px 0 0 -20px;}
#nav_btn.nav_close:after { -webkit-transform: rotate(225deg); -ms-transform: rotate(225deg); transform: rotate(225deg); top: 50%; left:50%; margin:-2px 0 0 -20px;}
@media screen and (max-width: 1130px) {
#nav_btn{position: absolute; right:auto; left:1050px;}
}
#nav_btn > i{display: block;}
#nav_btn > i:before{display: block; content: "MENU"; width:100%; font-size:1.2rem; font-family: p22-underground, sans-serif; font-weight: 600; font-style: normal; letter-spacing: 0.075em; text-align: center; color:#8197c6; position: absolute; bottom:-15px; left:0;}
#nav_btn.nav_close > i:before{content: "CLOSE";}

._nav{height:100%; background: rgba(255,255,255,1); position: fixed; top:0; right:0; z-index: 10; transform: translateX(100%); transition:all 0.2s cubic-bezier(0.48, 0.06, 1, 1) 0s;}
._nav .list{padding:100px 30px 0 30px; box-sizing: border-box;}
._nav .list ul{}
._nav .list ul li{}
._nav .list ul li a{display: block; padding:0.5em 0; font-size:1.6rem; line-height: 1; text-decoration: none; color:#8197c6;}
._nav .list ul li.nav_home a{font-weight: 600;}
._nav .list ul li.nav_geka a{color:#6bc0ed;}
._nav .list ul li.nav_rehabili a{color:#eece5f;}
._nav .list ul li.nav_hinyoki a{color:#87cdd0;}
._nav .list ul li.nav_geka,
._nav .list ul li.nav_faq{border-top:1px #cbd6ed solid; padding-top:0.6em; margin-top:0.3em;}

._nav.show{transform: translateX(0);}

.screen{display: none; background: rgba(129,151,198,0.8); overflow: hidden; position: fixed; top:0; left: 0; bottom: 0; right: 0; z-index: 9; animation: show_screen 0.3s ease-in-out 0s;}
.screen.show{display: block;}
@keyframes show_screen{
	from{opacity: 0;}
	to{opacity: 1;}
}
/*-------------------------------------------------------------------*/
._footer{width:990px; padding:80px 0 40px; margin: 0 auto;}
._footer small{display:block; font-size: 1.1rem; letter-spacing: 0.05em; text-align: center;}

/*-------------------------------------------------------------------*/
._body{width:990px; padding: 0; margin: 0 auto; text-align: center;}
._body h1.title{width:990px; height:100px; font-size:2.2rem; letter-spacing: 0.3em; line-height: 1; color:#fff; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content: center; align-items: center; position: relative; z-index: 2;}
._body h1.title i{display: block; font-size:1.4rem; font-family: p22-underground, sans-serif; font-weight: 600; font-style: normal; letter-spacing: 0.1em; position: absolute; top:50%; left:60px; transform: translateY(-50%);}
._body h1.title.bg1{background: url(../images/common/title_bg1.svg) no-repeat;}
._body h1.title.bg2{background: url(../images/common/title_bg2.svg) no-repeat;}

._body > .sec{padding:60px 0 40px; position: relative;}
._body > .sec:last-child{padding-bottom: 0;}
._body > .sec > *:last-child{margin-bottom: 0;}
._body > .sec > h1{background: #8197c6; padding:0.8em 0 0.6em; font-size:2.2rem; line-height: 1.4; letter-spacing: 0.2em; color:#fff; margin-bottom: 60px;}
._body > .sec > p{width:600px; font-size:1.6rem; line-height: 2; text-align: justify; margin: 0 auto 1.5em; position: relative;}
._body > .sec > small{display: block; width:600px; font-size:1.4rem; line-height: 2; text-align: justify; margin: 0 auto;}

._body > .asd {width:880px; box-sizing: border-box; border:3px #8197c6 solid; border-radius: 10px; margin: 0 auto; position: relative;}
._body > .asd > .body{padding:60px 0 40px; position: relative;}
._body > .asd h1{display: inline-block; background: #fff; padding:0 1em; font-size:2.2rem; line-height: 1; letter-spacing: 0.1em; white-space: nowrap; position: absolute; top:0; left:50%; transform: translate(-50%,-50%);}
._body > .asd > .body.second{border-top:3px #8197c6 solid;}
._body > .asd > .body.second h1{top:0;}
._body > .asd h1:before,
._body > .asd h1:after{display: block; content: ""; width:3px; height:0.7em; background: #8197c6; transform: rotate(45deg); border-radius: 2px; position: absolute; top:0.08em; }
._body > .asd h1:before{left:-2px;}
._body > .asd h1:after{right:-1px;}

._body > .sec:after,
._body > .asd:after{display: block; content: ""; height: 0; position: absolute;}

.faq_link{position: absolute; top:-30px; right:20px; z-index: 2;}
.faq_link a{display: block; width:80px; height: 80px; background: #6bc0ed; border-radius: 100%; border:6px #8197c6 solid; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content: center; flex-wrap:wrap; align-items: center; color:#fff; text-decoration: none; text-indent: 0.2em; line-height: 1;}
.faq_link a em{display: block; font-size:1.6rem; font-family: p22-underground, sans-serif; letter-spacing: 0.2em;}
.faq_link a small{display: block; font-size:1.1rem;}
.faq_link a:hover{opacity: 1; background: #55b7eb;}

/*--------------------------------index*/

.index .timetable{padding-top:40px;}
.index .timetable .note{display: block; width:890px; border:1px #eb6153 solid; padding:2em; box-sizing: border-box; font-size:1.6rem; line-height: 1.6; letter-spacing: 0.2em; color:#eb6153; margin:0 auto 40px;}
.index .timetable .note > ul{}
.index .timetable .note > ul > li{margin-bottom: 1em;}
.index .timetable .note > ul > li:last-child{margin-bottom: 0;}
.index .timetable .note > ul > li b{display: block; font-size: 1.8rem; font-weight: 600; position: relative;}
.index .timetable .note > ul > li b:before{display: none; content: ""; width:10%; height: 1px; background: #f2a69e; position: absolute; top:-1.5em; left:50%; transform: translateX(-50%);}
.index .timetable .note > ul > li a.btn{display: inline-block; background: #eb6153; border-radius: 6px; padding:0.5em 2em 0.4em 1em; font-size: 1.8rem; letter-spacing: 0.1em; line-height: 1; color: #fff; text-decoration: none; position: relative; margin-top: 1em;}
.index .timetable .note > ul > li a.tel{display: inline-block; font-size: 4.0rem; font-family: p22-underground, sans-serif; letter-spacing: 0.1em; line-height: 1; color:#eb6153; text-decoration: none; position: relative; margin-top: 0.5em;}
.index .timetable .note > ul > li a:after{display: block; content: ""; width: 4px; height: 4px; border: 2px solid; border-color: #fff #fff transparent transparent; transform: rotate(45deg); position: absolute; top:50%; right:1em; margin-top:-3px;}

.index .timetable .note > ul > li aside{background-color: #eee; border-radius: 1.5rem; padding: 2em; margin-top: 3rem;}
.index .timetable .note > ul > li aside h3{font-size: 2rem; font-weight: 600; letter-spacing: .3em;}
.index .timetable .note > ul > li aside ul{text-align: left; margin: 1em 0 0 1.5em;}
.index .timetable .note > ul > li aside ul li{position: relative;}
.index .timetable .note > ul > li aside ul li::before{display: block; content: "＊"; position: absolute; top: 0; left: -1.5em;}
.index .timetable .note > ul > li aside ul li + li{margin-top: 1.5em;}

.index .timetable table{width:890px; margin: 0 auto; line-height: 1;}
.index .timetable tr,
.index .timetable th,
.index .timetable td{padding:0.5em 0; box-sizing: border-box; border:1px #898989 solid; text-align: center; position: relative;}
.index .timetable table tr.body th{background-color: #fff;}
.index .timetable th{width:200px; font-size: 1.6rem;}
.index .timetable td{width:100px; font-size: 1.4rem; white-space: nowrap;}
.index .timetable td[rowspan]{vertical-align: top;}
.index .timetable tr:not(.head) td{background-color: #fff;}
.index .timetable td span{display: block; margin-top: 0.5em;}
.index .timetable .head th,
.index .timetable .head td{border:none;}
.index .timetable .body td.y:before{display: block; content: ""; width:1.2em; height: 1.2em; background: #ccc; border-radius: 100%; margin: 0 auto;}
.index .timetable .body td.n:before{display: block; content: ""; width:1.0em; height: 2px; background: #ccc; margin: 0 auto;}
.index .timetable td[rowspan].y:before{margin-bottom: 0.2em;}
.index .timetable td[rowspan]:after{display: block; content: "休診時間なし"; width:100%; font-size:1.1rem; text-align: center; position: absolute; bottom:1em; left:0;}

.index .timetable table.geka tr.head{background: #6bc0ed; border:1px #6bc0ed solid; color:#fff;}
.index .timetable table.geka tr.body th{color:#6bc0ed;}
.index .timetable table.geka .body td.y:before,
.index .timetable table.geka .body td.n:before{background: #6bc0ed;}
.index .timetable table.rehabili tr.head{background: #eece5f; border:1px #eece5f solid; color:#fff;}
.index .timetable table.rehabili tr.body th{color:#eece5f;}
.index .timetable table.rehabili .body td.y:before,
.index .timetable table.rehabili .body td.n:before{background: #eece5f;}
.index .timetable table.hinyoki tr.head{background: #87cdd0; border:1px #87cdd0 solid; color:#fff;}
.index .timetable table.hinyoki tr.body th{color:#87cdd0;}
.index .timetable table.hinyoki .body td.y:before,
.index .timetable table.hinyoki .body td.n:before{background: #87cdd0;}

.index .information{margin-top:60px; position: relative;}
.index .information .body{background: #f5f3df; padding:60px 100px 30px; margin-top:-10px; position: relative;}
.index .information .body ul{text-align: left;}
.index .information .body ul li{position: relative; margin-bottom:3em;}
.index .information .body ul li b{display: block; font-size: 2.0rem; font-weight: 600; margin-bottom:1em;}
.index .information .body ul li time{display: block; font-size: 1.5rem; font-family: p22-underground, sans-serif; font-weight: 600; font-style: normal; color:#5079b4; letter-spacing: 0.1em; position: absolute; top:0; right: 0;}
.index .information .body ul li p{display: block; font-size: 1.5rem; line-height: 1.8;}
.index .information .body i.btn{display: block; width:100px; height: 100px; background: #8197c6; border-radius: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content: center; align-items: center; color:#fff; position: absolute; bottom:0; left:50%; transform: translate(-50%,50%);}
.index .information .body i.btn:after{display: inline-block; content: "もっと見る"; font-size:1.2rem; line-height: 1; letter-spacing: 0.1em; color:#fff;}
.index .information .body i.btn.open:after{content: "閉じる";}
.index .information .body i.btn:hover{cursor: pointer; opacity: 1; background: #4f78c1;}
.index .information .body .act{margin-bottom: 0;}
.index .information .body .pas{display: none;}

.index .schedule{margin-top:80px;}
.index .schedule .body{margin-bottom: 40px;}
.index .schedule .body h2{font-size:1.6rem; font-weight: 600; line-height: 1; letter-spacing: 0.1em; margin: 20px 0 10px;}
.index .schedule .body.geka h2{color:#6bc0ed;}
.index .schedule .body.hinyoki h2{color:#eece5f;}
.index .schedule .table_wrap{}
.index .schedule table{width:890px; margin: 0 auto 0; line-height: 1.4;}
.index .schedule tr,
.index .schedule th,
.index .schedule td{width:14%; padding:0.4em 0; box-sizing: border-box; border:3px #fff solid; text-align: center;}

.index .schedule th{font-size: 1.6rem; background: #efefef;}
.index .schedule th.head{height:120px;}
.index .schedule td{font-size: 1.6rem; white-space: nowrap; background: #f5f5f5;}
.index .schedule td.c1{background: #bbdff6;}
.index .schedule td.c2{background: #f5dcd8;}
.index .schedule td.c3{background: #fff;}
.index .schedule td span{display: block; width:95%; background: #f5f7d8; padding:0.4em; box-sizing:border-box; font-size: 1.2rem; line-height: 1.4; text-align: left; margin: 0.5em auto 0;}
.index .schedule td span.t{top:0;}
.index .schedule td span.b{bottom:0;}
.index .schedule th em{display: block; font-size: 1.2rem; line-height: 1.2; color:#eb6153; margin-top:1em;}
.index .schedule small{display: block; font-size: 1.2rem; color:#eb6153; margin-top:1em;}
.index .schedule small a{color:#eb6153;}

.index .about{margin-top:40px;}
.index .about .policy{}
.index .about .policy h2{width:400px; font-size:1.6rem; line-height: 2; text-align: justify; margin:40px auto 0; position: relative;}
.index .about .policy h2:before,
.index .about .policy h2:after{display: block; content: ""; height: 0; position: absolute;}
.index .about .policy h2:before{width:160px; padding-top:39%; background: url(../images/common/ill_04.svg) no-repeat 0/contain; top:35px; left:-210px;}
.index .about .policy h2:after{width:186px; padding-top:39%; background: url(../images/common/ill_05.svg) no-repeat 0/contain; top:-24px; right:-240px;}

.index .about .medical-contents{width:890px; background: #eceef7; border-radius: 40px; padding:30px 40px; box-sizing: border-box; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content:space-between; align-items: center; flex-wrap: nowrap; margin: 40px auto 0; position: relative;}
.index .about .medical-contents:after{display: block; content: ""; width:86px; height: 0; padding-top:18%; background: url(../images/common/ill_06.svg) no-repeat 0/contain; position: absolute; bottom:-20px; right:60px;}
.index .about .medical-contents h2{width:140px; height: 140px; background: #8197c6; border-radius: 100%; font-size:2.2rem; line-height: 1; letter-spacing: 0.1em; color:#fff; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content: center; align-items: center;}
.index .about .medical-contents ul{width:600px; text-align: left; font-size: 1.8rem; line-height: 1.4;}
.index .about .medical-contents ul li{margin-bottom:0.4em; position: relative;}
.index .about .medical-contents ul li:last-child{margin-bottom:0;}
.index .about .medical-contents ul li:before{display: block; content: ""; width: 5px; height: 5px; border: 2px solid; border-color: #5079b4 #5079b4 transparent transparent; transform: rotate(45deg); position: absolute; top:50%; left:-1.5em; margin-top:-5px;}
.index .about .feature{}
.index .about .feature h2{font-size:2.7rem; line-height: 1.4; letter-spacing: 0.15em; color:#eb6153; margin:40px auto 0; position: relative; z-index: 2;}
.index .about .feature figure{margin-top:-80px;position: relative; z-index: 1;}

.index .doctor{margin-top:40px;}
.index .doctor .greeting{width:620px; margin: 40px auto 0;}
.index .doctor .greeting:after{display: block; content: ""; height: 0; clear: both; overflow: hidden;}
.index .doctor .greeting p{font-size: 1.5rem; line-height: 2.2; text-align: justify;}
.index .doctor .greeting small{display: block; float:right; font-size: 1.8rem; line-height: 2.2; text-align: left; margin-top:1em; position: relative;}
.index .doctor .greeting small:after{display: block; content: ""; width:120px; height: 0; padding-top: 53%; background: url(../images/index/doctor_ill.png) no-repeat top/contain; position: absolute; top:-20px; right:-110px; z-index: -1;}

.index .doctor .profile{width:901px; padding:70px 80px 70px 120px; box-sizing: border-box; background: url(../images/index/doctor_bg.png) no-repeat; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content:space-between; align-items:flex-start; margin:40px auto 0; position: relative;}
.index .doctor .profile:after{display: block; content: ""; width:100%; height:40px; background: url(../images/index/doctor_bg.png) bottom no-repeat; position: absolute; bottom:0; left: 0;}
.index .doctor .profile figure{width:200px;}
.index .doctor .profile .text{width:460px; font-size:1.5rem; text-align: left;}
.index .doctor .profile .text h3{font-size: 1.8rem; line-height: 1; color:#5079b4; margin-bottom: 1em;}
.index .doctor .profile .text .history{}
.index .doctor .profile .text .history dl{display: -webkit-box; display: -ms-flexbox; display: flex; justify-content:flex-start; align-items:flex-start; flex-wrap: wrap; margin-bottom:-0.3em;}
.index .doctor .profile .text .history dl dt{width:170px; margin-bottom:0.3em;}
.index .doctor .profile .text .history dl dd{width:290px; margin-bottom:0.3em;}
.index .doctor .profile .text .qualification{padding-top:2em; margin-top:2em; position: relative;}
.index .doctor .profile .text .qualification:before{display: block; content: ""; width:170px; height:0; border-top:1px #5079b4 solid; position: absolute; top:0; left:0;}
.index .doctor .profile .text .qualification ul{margin-bottom:-0.3em;}
.index .doctor .profile .text .qualification ul li{margin-bottom:0.3em;}

.index .access{margin-top:40px;}
.index .data{width:870px; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content:space-between; align-items:flex-start; flex-wrap: nowrap; margin:40px auto 0;}
.index .data dl{width:490px; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content:flex-start;  flex-wrap: wrap; font-size: 1.7rem; text-align: left; border-top: 1px #5079b4 solid; margin-bottom:-0.3em;}
.index .data dl dt,
.index .data dl dd{padding:1.2em 0; border-bottom: 1px #5079b4 solid; align-items:flex-start; margin-bottom:0.3em;}
.index .data dl dt{width:120px; padding-left:1em; box-sizing: border-box; color:#5079b4;}
.index .data dl dd{width:370px;}
.index .data figure{width:340px;}
.index .data figure > img{width:100%; height: auto;}
.index .data figure figcaption{margin-top:1.5em;}
.index .data figure figcaption a{display: inline-block; background: #8197c6; border-radius: 4px; padding:0.5em 4em; font-size:1.6rem; line-height: 1; letter-spacing: 0.1em; text-decoration: none; color:#fff;}
/*--------------------------------geka*/

.geka .sec{}
.geka .sec > h1{background: #cee8f9; color:#036eb8;}
.geka .asd01 {border-color: #6bc0ed; color:#036eb8; margin-top: 40px;}
.geka .asd01 h1:before,
.geka .asd01 h1:after{background: #6bc0ed;}
.geka .asd01 ul{width:700px; text-align: left; font-size: 1.8rem; line-height: 1.8; color: #036eb8; padding-left:135px; position: relative;}
.geka .asd01 ul:after{display: block; content: "（例）"; font-size:2.2rem; position: absolute; top:0; left: 40px;}
.geka .asd01 ul li{display: inline-block;}
.geka .asd01 ul li:last-child{margin-left: 1em;}
.geka .sec01:after{width:57px; padding-top:21%; background: url(../images/common/ill_01.svg) no-repeat; top:150px; left:70px;}
.geka .sec02:after{width:186px; padding-top:16%; background: url(../images/common/ill_05.svg) no-repeat; bottom:-20px; right:-12px;}
.geka .sec03:after{width:110px; padding-top:20%; background: url(../images/common/ill_06.svg) no-repeat; bottom:-15px; right:10px;}

.geka .faq_link{position: absolute; top:20px;}
.geka .faq_link a{border:6px #cee8f9 solid; }
/*--------------------------------rehabili*/

.rehabili .sec{}
.rehabili .sec > h1{background: #faefcb; color:#f39800;}
.rehabili .asd01 {border-color: #eece5f; color:#f39800; margin-top: 40px;}
.rehabili .asd01 h1:before,
.rehabili .asd01 h1:after{background: #eece5f;}
.rehabili .asd01 ul{width:650px; text-align: left; font-size: 1.8rem; line-height: 1.8; color: #f39800; margin:0 auto; position: relative;}
.rehabili .asd01 ul li{display: inline-block;}
.rehabili .asd01 ul li:last-child{margin-left: 1em;}
.rehabili .sec02{}
.rehabili .sec02 .col2{width:800px; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content:space-between; margin: 0 auto;}
.rehabili .sec02 .col2 > section{width:360px; text-align: justify;}
.rehabili .sec02 .col2 > section > h2{height:170px; border:3px #eece5f solid; border-radius: 10px; padding-left:26px; box-sizing: border-box; font-size:2.2rem; letter-spacing: 0.1em; color:#f39800; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content:flex-start; align-items: center; position: relative;}
.rehabili .sec02 .col2 > section > h2:after{display: block; content: ""; height: 0; position: absolute; top:50%; transform: translateY(-50%);}
.rehabili .sec02 .col2 > section.c1 > h2:after{width:100px; padding-top:40%; background: url(../images/common/ill_07.svg) no-repeat; right:58px;}
.rehabili .sec02 .col2 > section.c2 > h2:after{width:190px; padding-top:40%; background: url(../images/common/ill_08.svg) no-repeat; right:15px;}
.rehabili .sec02 .col2 > section > p{font-size:1.5rem; line-height: 2; margin-top:2em;}
.rehabili .sec01:after{width:100px; padding-top:19%; background: url(../images/common/ill_02.svg) no-repeat; top:150px; left:60px;}

/*--------------------------------rehabili*/
.hinyoki .sec{}
.hinyoki .sec > h1{background: #dbeff0; color:#00a29a;}
.hinyoki .asd01 {border-color: #00a29a; color:#00a29a; margin-top: 40px;}
.hinyoki .asd01 h1:before,
.hinyoki .asd01 h1:after{background: #00a29a;}
.hinyoki .asd01 .col2{width:750px; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content:space-between; margin: 0 auto;}
.hinyoki .asd01 .col2 > section{width:48%; }
.hinyoki .asd01 .col2 > section h2{font-size: 2.2rem; text-align: left; margin-bottom: 0.8em;}
.hinyoki .asd01 .col2 > section ul + h2{margin-top: 2em;}
.hinyoki .asd01 ul{text-align: left; font-size: 1.8rem; line-height: 1.8; color: #00a29a; margin:0 auto; position: relative;}
.hinyoki .asd01 ul li{display: block; text-indent: -1em; padding-left:1em;}
.hinyoki .asd01 ul li:last-child{text-align: center;}
.hinyoki .asd01 .body.second{border-top:3px #00a29a solid;}
.hinyoki .asd01 .body.second ul{width:600px; text-align: left; font-size: 1.8rem; line-height: 1.8; color: #00a29a; margin:0 auto; position: relative;}
.hinyoki .asd01 .body.second ul li{display: inline-block;}
.hinyoki .asd01 .body.second ul li:last-child{margin-left: 1em;}

.hinyoki .sec01:after{width:110px; padding-top:11%; background: url(../images/common/ill_03.svg) no-repeat; top:190px; left:35px;}
.hinyoki .asd01:after{width:204px; padding-top:13%; background: url(../images/common/ill_09.svg) no-repeat; bottom:-23px; right:35px;}

/*--------------------------------faq*/
.faq .sec{}
.faq .sec > h1{}
.faq .sec > ul{width:650px; margin: 0 auto;}
.faq .sec > ul > li{border-bottom:1px #cccc solid; padding:0 0 4em 3em; box-sizing: border-box; text-align: left; margin-bottom:4em;}
.faq .sec > ul > li:last-child{border-bottom: none; padding-bottom: 0; margin-bottom: 0;}
.faq .sec > ul > li > h2{font-size:1.8rem; font-weight: 600; letter-spacing: 0.075em; position: relative; margin-bottom: 1em;}
.faq .sec > ul > li > h2:before{display: block; content: "Q."; font-size:3.0rem; font-family: p22-underground, sans-serif; font-weight: 600; color:#8197c6; position: absolute; top:50%; left:-1.2em; transform: translateY(-50%);}
.faq .sec > ul > li > section{font-size:1.6rem;}
.faq .sec > ul > li > section table{width:100%; background: #efefef; font-size:1.4rem; line-height: 1.4;}
.faq .sec > ul > li > section table th,
.faq .sec > ul > li > section table td{padding:1em 0.6em; border:1px #fff solid;}
.faq .sec > ul > li > section table th{background: #ccc;}
.faq .sec > ul > li > section table td{}
.faq .sec > ul > li > section table sup{display: inline-block; font-size:80%; margin-left:0.5em;}
.faq .sec > ul > li > section p{line-height: 2;}
.faq .sec > ul > li > section small{display: block; font-size: 1.4rem; margin-top:1em;}
.faq .sec > ul > li > section ol.list{padding-left:1.4em; list-style: decimal;}
.faq .sec > ul > li > section ol.list li{margin-bottom: 1em;}
.faq .sec > ul > li > section strong{font-weight: 600;}

/*--------------------------------privacy*/
.privacy .sec{}
.privacy .sec p{}
.privacy .sec dl{width:600px; font-size:1.6rem; line-height: 2; text-align: justify; margin: 0 auto;}
.privacy .sec dl dt{font-weight: 600; margin-bottom: 0.5em;}
.privacy .sec dl dd{margin-bottom: 2em;}
.privacy .sec dl dd:last-child{margin-bottom: 0;}
.privacy .sec ol{list-style: decimal; padding-left: 2.5em;}

.privacy .sec small{margin-top:3em;}

/*-------------------------------------------------------------------*/
@media screen and (max-width: 768px) {

body{min-width:100%;}
.dpc{display:none;}
.dsp{display:block;}

#wrapper{}

.index .timetable{display:block;}
.index .information{display:block;}
.index .schedule{display:block;}
.index .about{display:block;}
.index .doctor{display:block;}
.index .access{display:block;}

._header{width:100%; margin:0 auto;}
._header .common{height:60px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-justify-content:space-between; -ms-justify-content:space-between; justify-content:space-between; flex-wrap: wrap; align-items: center;}
._header .common h1{width:auto; margin-left:20px;}
._header .common h1 a{display:block; width:180px; height:0; padding-top:22%; background: url(../images/common/header_logo.svg) center no-repeat; background-size: contain; text-indent: 120%; white-space: nowrap; overflow: hidden;}
._header .common aside{text-align: center; display:none;}
._header .common aside i{display: block; font-size:1.6rem; font-family:p22-underground, sans-serif; font-weight: 600; font-style: normal; letter-spacing: 0.1em; color:#5079b4;}
._header .common aside i a{display: inline-block; font-size:3.0rem; text-decoration: none; color:#5079b4;}
._header .common aside address{display: block; font-size:15px; letter-spacing: 0.05em;}
._header .common aside em{display: block;}
._header .common aside em a{display: block; background: #8197c6; border-radius: 0.2em; padding:0.3em 0 0; font-size:1.2em; font-family: p22-underground, sans-serif, serif; text-decoration: none; letter-spacing: 0.2em; line-height: 1; color:#fff;}

._header .lead{display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-justify-content:center; -ms-justify-content:center; justify-content:center; flex-wrap: wrap; align-items: center; background: #fff;}
._header .lead h2{width:calc(100% - 40px); background: #eff5f8; padding:2em; font-size:1.6rem; line-height: 1.6; letter-spacing: 0.05em; text-align: left; margin-top:-10%; position: relative; z-index: 2;}
._header .lead h2 b{font-size: 1.6rem; font-weight: bold; border-bottom:1px #fff solid; padding-bottom: 0.5em;}
._header .lead h2 span{font-size: 1.4rem; margin-top: 1em;}

._header .lead .image{width:100%; position: relative;}
._header .lead .image img{position: relative; width:100%; height: auto;}
._header .lead .image:after{display:block; content: ""; width:24%; height:0; padding-top:16%; background: url(../images/index/header_image_icon.png) no-repeat 0 0/contain; position: absolute; top:10px; right:10px;}

._header nav{margin:20px 20px 0;}
._header nav ul{display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-justify-content:space-between; -ms-justify-content:space-between; justify-content:space-between; flex-wrap: nowrap;}
._header nav ul li{width:32.5%; position: relative;}
._header nav ul li a{display: -webkit-box; display: -ms-flexbox; display: flex; justify-content: center; align-items: center; width:100%; height: 60px; border-radius: 0.5em; box-sizing: border-box; font-size: 1.2rem; font-size:3.25vw; line-height: 1.4; letter-spacing:0.1em; text-decoration: none; text-align: center; color:#fff; position: relative;}
._header nav ul li a:before,
._header nav ul li a:after{display:block; content: ""; position: absolute;}
._header nav ul li a:before{display: none;}
._header nav ul li a:after{width:12px; height:12px; top:50%; right:5px; transform: translateY(-50%);}
._header nav ul li a:hover{opacity: 1;}
._header nav ul li.geka a{ background: #6bc0ed;}
._header nav ul li.rehabili a{ background: #eece5f; font-size: 1.1rem; font-size:2.75vw;}
._header nav ul li.hinyoki a{ background: #87cdd0;}
._header nav ul li.geka a:hover{ background: #3cb0ee;}
._header nav ul li.rehabili a:hover{ background: #edc434;}
._header nav ul li.hinyoki a:hover{ background: #58cbd0;}
._header nav ul li.geka a:before{width:57px; height:106px; background: url(../images/common/ill_01.svg) no-repeat 0 0/cover; top:-6px; left:18px;}
._header nav ul li.rehabili a:before{width:100px; height:106px; background: url(../images/common/ill_02.svg) no-repeat 0 0/cover; top:-6px; left:18px;}
._header nav ul li.hinyoki a:before{width:73px; height:70px; background: url(../images/common/ill_03.svg) no-repeat 0 0/cover; top:20px; left:18px;}
._header nav ul li.geka a:after{background: url(../images/common/nav_geka_arrow.svg) no-repeat 0 0/cover;}
._header nav ul li.rehabili a:after{background: url(../images/common/nav_rehabili_arrow.svg) no-repeat 0 0/cover;}
._header nav ul li.hinyoki a:after{background: url(../images/common/nav_hinyoki_arrow.svg) no-repeat 0 0/cover;}

/*-------------------------------------------------------------------*/
#nav_btn{width:40px; height:40px; background: #fff; border:1px #8197c6 solid; border-radius: 6px; position: fixed; top:10px; right:5px; left:auto; z-index: 11;}
#nav_btn:before{display:block; content: ""; width:30px; height:2px; background:#8197c6; border-radius: 2px; position: absolute; top:50%; left:50%; transform: translate(-50%,-7px); transition-duration: 0.3s;}
#nav_btn:after{display:block; content: ""; width:30px; height:2px; background:#8197c6; border-radius: 2px; position: absolute; top:50%; left:50%; transform: translate(-50%,3px); transition-duration: 0.3s;}
#nav_btn:hover{cursor: pointer;}
#nav_btn.nav_close:before { -webkit-transform: rotate(-225deg); -ms-transform: rotate(-225deg); transform: rotate(-225deg); top: 50%; left:50%; margin:0px 0 0 -15px;}
#nav_btn.nav_close:after { -webkit-transform: rotate(225deg); -ms-transform: rotate(225deg); transform: rotate(225deg); top: 50%; left:50%; margin:0 0 0 -15px;}
#nav_btn > i{display: none;}
#nav_btn > i:before{display: none;}

._nav{height:100%; background: rgba(255,255,255,1); position: fixed; top:0; right:0; z-index: 10; transform: translateX(100%); transition:all 0.2s cubic-bezier(0.48, 0.06, 1, 1) 0s;}
._nav .list{padding:50px 30px 0 30px; box-sizing: border-box;}
._nav .list ul{}
._nav .list ul li{}
._nav .list ul li a{display: block; padding:0.5em 0; font-size:1.4rem; line-height: 1; text-decoration: none; color:#8197c6;}
._nav .list ul li.nav_home a{font-weight: 600;}
._nav .list ul li.nav_geka{border-top:1px #8197c6 solid; padding-top:0.6em; margin-top:0.3em;}
._nav .list ul li.nav_geka a{color:#6bc0ed;}
._nav .list ul li.nav_rehabili a{color:#eece5f;}
._nav .list ul li.nav_hinyoki a{color:#87cdd0;}

._nav.show{transform: translateX(0);}

/*-------------------------------------------------------------------*/
._footer{width:100%; padding:40px 0 20px; margin: 0 auto;}
._footer small{display:block; font-size: 1.0rem; letter-spacing: 0.05em; text-align: center;}

/*-------------------------------------------------------------------*/
._body{width:100%; padding: 0 20px; box-sizing: border-box; margin: 0 auto; text-align: center;}
._body h1.title{width:calc(100% + 40px); height:auto; padding-top: 20%; font-size:1.6rem; letter-spacing: 0.1em; line-height: 1; color:#fff; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content: center; align-items: center; position: relative; margin:0 -20px;}
._body h1.title b{display: block; width:100%; position: absolute; top:50%; left:0; transform: translateY(-20%);}
._body h1.title i{display: block; font-size:0.9rem; font-family: p22-underground, sans-serif; font-weight: 600; font-style: normal; letter-spacing: 0.1em; position: absolute; top:30%; left:10px; transform: translateY(-50%);}
._body h1.title.bg1{background: url(../images/common/title_bg1.svg) no-repeat top/cover;}
._body h1.title.bg2{background: url(../images/common/title_bg2.svg) no-repeat top/cover;}

._body > .sec{padding:20px 0 20px; position: relative;}
._body > .sec:last-child{padding-bottom: 0;}
._body > .sec > *:last-child{margin-bottom: 0;}
._body > .sec > h1{background: #8197c6; padding:0.8em 0.4em 0.6em; font-size:1.6rem; line-height: 1.4; letter-spacing: 0.1em; color:#fff; margin-bottom: 20px;}
._body > .sec > p{width:100%; font-size:1.4rem; line-height: 2; text-align: justify; margin: 0 auto 1.5em; position: relative;}
._body > .sec > small{display: block; width:100%; font-size:1.2rem; line-height: 2; text-align: justify; margin: 0 auto;}

._body > .asd {width:100%; box-sizing: border-box; border:3px #8197c6 solid; border-radius: 10px; margin: 0 auto; position: relative;}
._body > .asd > .body{padding:30px 0 20px; position: relative;}
._body > .asd h1{display: inline-block; width:60%; background: #fff; padding:0 1em; font-size:1.4rem; line-height: 1.2; letter-spacing: 0.05em; white-space: normal; position: absolute; top:0; left:50%; transform: translate(-50%,-50%);}
._body > .asd > .body.second{border-top:3px #8197c6 solid;}
._body > .asd > .body.second h1{top:0;}
._body > .asd h1:before,
._body > .asd h1:after{display: none; content: ""; width:3px; height:0.7em; background: #8197c6; transform: rotate(45deg); border-radius: 2px; position: absolute; top:0.08em; }
._body > .asd h1:before{left:-2px;}
._body > .asd h1:after{right:-1px;}

._body > .sec:after,
._body > .asd:after{display: block; content: ""; height: 0; position: absolute;}

.faq_link{position: absolute; top:-5vw; right:0; z-index: 2;}
.faq_link a{display: block; width:55px; height: 55px; background: #6bc0ed; border-radius: 100%; border:3px #8197c6 solid; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content: center; flex-wrap:wrap; align-items: center; color:#fff; text-decoration: none; text-indent: 0.2em; line-height: 1;}
.faq_link a em{display: block; font-size:1.2rem; font-family: p22-underground, sans-serif; letter-spacing: 0.2em;}
.faq_link a small{display: block; font-size:0.9rem;}
.faq_link a:hover{opacity: 1; background: #55b7eb;}

/*--------------------------------index*/

.index .timetable{padding-top:20px;}

.index .timetable .note{display: block; width:100%; border:1px #eb6153 solid; padding:1.5em 1em; font-size:1.2rem; line-height: 1.4; letter-spacing: 0.2em; color:#eb6153; margin-bottom: 20px;}
.index .timetable .note ul{}
.index .timetable .note ul li{margin-bottom: 1em;}
.index .timetable .note ul li:last-child{margin-bottom: 0;}
.index .timetable .note ul li b{display: block; font-size: 1.4rem; font-weight: 600; line-height: 1.8; position: relative;}
.index .timetable .note ul li b:before{display: none; content: ""; width:10%; height: 1px; background: #f2a69e; position: absolute; top:-1.5em; left:50%; transform: translateX(-50%);}
.index .timetable .note ul li a.btn{display: inline-block; background: #eb6153; border-radius: 6px; padding:0.5em 2em 0.4em 1em; font-size: 1.4rem; letter-spacing: 0.1em; line-height: 1; color: #fff; text-decoration: none; position: relative; margin-top: 1em;}
.index .timetable .note ul li a.tel{display: inline-block; font-size: 3.0rem; font-family: p22-underground, sans-serif; letter-spacing: 0.1em; line-height: 1; color:#eb6153; text-decoration: none; position: relative; margin-top: 0.5em;}
.index .timetable .note ul li a:after{display: block; content: ""; width: 4px; height: 4px; border: 2px solid; border-color: #fff #fff transparent transparent; transform: rotate(45deg); position: absolute; top:50%; right:1em; margin-top:-3px;}

.index .timetable .note > ul > li aside{padding: 1.5em; margin-top: 2rem;}
.index .timetable .note > ul > li aside h3{font-size: 1.6rem;}

.index .timetable .table_wrap{width:100%; overflow-x: scroll; -webkit-overflow-scrolling: touch; overflow-scrolling: touch;}
.index .timetable table{width:890px; margin: 0 auto; line-height: 1;}
.index .timetable tr,
.index .timetable th,
.index .timetable td{padding:0.5em 0; box-sizing: border-box; border:1px #898989 solid; text-align: center; position: relative;}
.index .timetable th{width:200px; font-size: 1.4rem;}
.index .timetable td{width:100px; font-size: 1.2rem; white-space: nowrap;}
.index .timetable .head th,
.index .timetable .head td{border:none;}
.index .timetable .body td.y:before{display: block; content: ""; width:1.2em; height: 1.2em; background: #ccc; border-radius: 100%; margin: 0 auto;}
.index .timetable .body td.n:before{display: block; content: ""; width:1.0em; height: 2px; background: #ccc; margin: 0 auto;}
.index .timetable td[rowspan].y:before{margin-bottom: 0.2em;}
.index .timetable td[rowspan]:after{display: block; content: "休診時間なし"; width:100%; font-size:1.1rem; text-align: center; position: absolute; bottom:1em; left:0;}

.index .timetable table.geka tr.head{background: #6bc0ed; border:1px #6bc0ed solid; color:#fff;}
.index .timetable table.geka tr.body th{color:#6bc0ed;}
.index .timetable table.geka .body td.y:before,
.index .timetable table.geka .body td.n:before{background: #6bc0ed;}
.index .timetable table.rehabili tr.head{background: #eece5f; border:1px #eece5f solid; color:#fff;}
.index .timetable table.rehabili tr.body th{color:#eece5f;}
.index .timetable table.rehabili .body td.y:before,
.index .timetable table.rehabili .body td.n:before{background: #eece5f;}
.index .timetable table.hinyoki tr.head{background: #87cdd0; border:1px #87cdd0 solid; color:#fff;}
.index .timetable table.hinyoki tr.body th{color:#87cdd0;}
.index .timetable table.hinyoki .body td.y:before,
.index .timetable table.hinyoki .body td.n:before{background: #87cdd0;}

.index .information{margin-top:30px;}
.index .information .body{background: #f5f3df; padding:30px 20px 30px; margin:-10px -20px 0; position: relative;}
.index .information .body ul{text-align: left;}
.index .information .body ul li{position: relative; margin-bottom:2em;}
.index .information .body ul li b{display: block; font-size: 1.4rem; font-weight: 600; margin-bottom:1em;}
.index .information .body ul li time{display: block; font-size: 1.1rem; font-family: p22-underground, sans-serif; font-weight: 600; font-style: normal; color:#5079b4; letter-spacing: 0.1em; position: absolute; top:0; right: 0;}
.index .information .body ul li p{display: block; font-size: 1.2rem; line-height: 1.8;}
.index .information .body i.btn{display: block; width:80px; height: 80px; background: #8197c6; border-radius: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content: center; align-items: center; color:#fff; position: absolute; bottom:0; left:50%; transform: translate(-50%,50%);}
.index .information .body i.btn:after{display: inline-block; content: "もっと見る"; font-size:1.0rem; line-height: 1; letter-spacing: 0.1em; color:#fff;}
.index .information .body i.btn.open:after{content: "閉じる";}
.index .information .body i.btn:hover{cursor: pointer; opacity: 1; background: #4f78c1;}
.index .information .body .act{margin-bottom: 0;}
.index .information .body .pas{display: none;}

.index .schedule{margin-top:60px;}
.index .schedule h2{font-size:1.4rem; line-height: 1; letter-spacing: 0.1em; color:#6bc0ed; margin: 20px 0 10px;}
.index .schedule .table_wrap{width:100%; overflow-x: scroll; -webkit-overflow-scrolling: touch; overflow-scrolling: touch;}
.index .schedule table{width:890px; margin: 0 auto 0; line-height: 1.4;}
.index .schedule tr,
.index .schedule th,
.index .schedule td{width:14%; padding:0.4em 0; box-sizing: border-box; border:3px #fff solid; text-align: center;}
.index .schedule th{font-size: 1.4rem; background: #efefef;}
.index .schedule th.head{height:120px;}
.index .schedule td{font-size: 1.2rem; white-space: nowrap;}
.index .schedule td.c1{background: #bbdff6;}
.index .schedule td.c2{background: #f5dcd8;}
.index .schedule td.c3{background: #fff;}
.index .schedule td span{display: block; width:95%; background: #f5f7d8; padding:0.4em; box-sizing:border-box; font-size: 1.1rem; line-height: 1.4; text-align: left; margin: 0.5em auto 0;}
.index .schedule th em{display: block; font-size: 1.0rem; line-height: 1.2; color:#eb6153; margin-top:1em;}
.index .schedule small{display: block; font-size: 1.1rem; line-height: 1.8; text-align: left; color:#eb6153; margin-top:1em;}
.index .schedule small a{color:#eb6153;}

.index .about{margin-top:20px;}
.index .about .policy{}
.index .about .policy h2{width:100%; font-size:1.4rem; line-height: 1.8; text-align: justify; margin:20px auto 0; position: relative;}
.index .about .policy h2:before,
.index .about .policy h2:after{display: block; content: ""; height: 0; position: absolute;}
.index .about .policy h2:before{width:160px; padding-top:39%; background: url(../images/common/ill_04.svg) no-repeat 0/contain; top:35px; left:-210px;}
.index .about .policy h2:after{width:186px; padding-top:39%; background: url(../images/common/ill_05.svg) no-repeat 0/contain; top:-24px; right:-240px;}

.index .about .medical-contents{width:100%; background: #eceef7; border-radius: 20px; padding:60px 20px 20px; box-sizing: border-box; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content:space-between; align-items: center; flex-wrap: wrap; margin: 60px auto 0; position: relative;}
.index .about .medical-contents:after{display: block; content: ""; width:58px; height: 100px; padding-top:0; background: url(../images/common/ill_06.svg) no-repeat 0/contain; position: absolute; bottom:-20px; right:20px;}
.index .about .medical-contents h2{width:80px; height: 80px; background: #8197c6; border-radius: 100%; font-size:1.4rem; line-height: 1; letter-spacing: 0.1em; color:#fff; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content: center; align-items: center; position: absolute; top:-40px; left:calc(50% - 40px);}
.index .about .medical-contents ul{width:100%; text-align: left; font-size: 1.4rem; line-height: 1.4; margin-left:20px;}
.index .about .medical-contents ul li{margin-bottom:0.4em; position: relative;}
.index .about .medical-contents ul li:last-child{margin-bottom:0;}
.index .about .medical-contents ul li:before{display: block; content: ""; width: 3px; height: 3px; border: 2px solid; border-color: #5079b4 #5079b4 transparent transparent; transform: rotate(45deg); position: absolute; top:7px; left:-1.5em; margin-top:0;}
.index .about .feature{}
.index .about .feature h2{font-size:1.8rem; line-height: 1.4; letter-spacing: 0.15em; color:#eb6153; margin:40px auto 0; position: relative; z-index: 2;}
.index .about .feature figure{margin-top:10px;position: relative; z-index: 1;}
.index .about .feature figure img{width:100%; height: auto;}

.index .doctor{margin-top:20px;}
.index .doctor .greeting{width:100%; margin: 40px auto 0;}
.index .doctor .greeting:after{display: block; content: ""; height: 0; clear: both; overflow: hidden;}
.index .doctor .greeting p{font-size: 1.4rem; line-height: 2.0; text-align: justify;}
.index .doctor .greeting small{display: block; float:right; font-size: 1.4rem; line-height: 2.2; text-align: left; margin:1em 60px 0; position: relative;}
.index .doctor .greeting small:after{display: block; content: ""; width:60px; height: 60px; padding-top: 0; background: url(../images/index/doctor_ill.png) no-repeat top/contain; position: absolute; top:0px; right:-60px;}

.index .doctor .profile{width:100%; padding:20px 10px 20px 10px; box-sizing: border-box; background: none; border-top:1px #8197c6 solid; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content:space-between; flex-wrap: wrap; align-items:flex-start; margin:20px auto 0;}
.index .doctor .profile:after{display: none; content: ""; width:100%; height:40px; background: url(../images/index/doctor_bg.png) bottom no-repeat; position: absolute; bottom:0; left: 0;}
.index .doctor .profile figure{width:50%; margin:0 auto 2em;}
.index .doctor .profile figure img{width:100%; height: auto;}
.index .doctor .profile .text{width:100%; font-size:1.4rem; text-align: left;}
.index .doctor .profile .text h3{font-size: 1.6rem; line-height: 1; color:#5079b4; margin-bottom: 1em;}
.index .doctor .profile .text .history{}
.index .doctor .profile .text .history dl{display: -webkit-box; display: -ms-flexbox; display: flex; justify-content:flex-start; align-items:flex-start; flex-wrap: wrap; margin-bottom:-0.3em;}
.index .doctor .profile .text .history dl dt{width:100%; margin-bottom:0.1em;}
.index .doctor .profile .text .history dl dd{width:100%; margin-bottom:1em;}
.index .doctor .profile .text .qualification{padding-top:2em; margin-top:1em; position: relative;}
.index .doctor .profile .text .qualification:before{display: block; content: ""; width:170px; height:0; border-top:1px #5079b4 solid; position: absolute; top:0; left:0;}
.index .doctor .profile .text .qualification ul{margin-bottom:-0.3em;}
.index .doctor .profile .text .qualification ul li{margin-bottom:0.3em;}

.index .access{margin-top:20px;}
.index .data{width:100%; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content:space-between; align-items:flex-start; flex-wrap: wrap; margin:20px auto 0;}
.index .data dl{width:100%; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content:flex-start;  flex-wrap: wrap; font-size: 1.4rem; text-align: left; border-top: none; margin-bottom:-0.3em;}
.index .data dl dt,
.index .data dl dd{padding:0 0; border-bottom: none; align-items:flex-start; margin-bottom:0;}
.index .data dl dt{width:100%; padding-left:0; box-sizing: border-box; color:#5079b4; margin-bottom: 0;}
.index .data dl dd{width:100%; margin-bottom: 1em;}
.index .data figure{width:100%;}
.index .data figure figcaption{margin-top:1.5em;}
.index .data figure img{width:100%; height: auto;}
.index .data figure figcaption a{display: inline-block; background: #8197c6; border-radius: 4px; padding:0.8em 4em; font-size:1.2rem; line-height: 1; letter-spacing: 0.1em; text-decoration: none; color:#fff;}
/*--------------------------------geka*/

.geka .sec{}
.geka .sec > h1{background: #cee8f9; color:#036eb8;}
.geka .asd01 {border-color: #6bc0ed; color:#036eb8; margin-top: 40px;}
.geka .asd01 h1:before,
.geka .asd01 h1:after{background: #6bc0ed;}
.geka .asd01 ul{width:100%; text-align: left; font-size: 1.4rem; line-height: 1.8; color: #036eb8; padding:30px 20px 0; box-sizing: border-box; position: relative;}
.geka .asd01 ul:after{display: block; content: "（例）"; font-size:1.6rem; position: absolute; top:-0.5em; left: 10px;}
.geka .asd01 ul li{display: inline-block;}
.geka .asd01 ul li:last-child{margin-left: 1em;}
.geka .sec01:after{width:17px; padding-top:60px; background: url(../images/common/ill_01.svg) no-repeat; top:10px; left:10px;}
.geka .sec02:after{width:67px; padding-top:55px; background: url(../images/common/ill_05.svg) no-repeat; bottom:-20px; right:-12px;}
.geka .sec03:after{width:37px; padding-top:64px; background: url(../images/common/ill_06.svg) no-repeat; bottom:-20px; right:10px;}

.geka .faq_link{position: absolute; top:2%;}
.geka .faq_link a{border:3px #cee8f9 solid; }
/*--------------------------------rehabili*/

.rehabili .sec{}
.rehabili .sec > h1{background: #faefcb; color:#f39800;}
.rehabili .asd01 {border-color: #eece5f; color:#f39800; margin-top: 20px;}
.rehabili .asd01 h1:before,
.rehabili .asd01 h1:after{background: #eece5f;}
.rehabili .asd01 ul{width:100%; text-align: left; font-size: 1.4rem; line-height: 1.8; color: #f39800; padding:0 20px; box-sizing: border-box; margin:0 auto; position: relative;}
.rehabili .asd01 ul li{display: inline-block;}
.rehabili .asd01 ul li:last-child{margin-left: 1em;}
.rehabili .sec02{}
.rehabili .sec02 .col2{width:100%; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content:space-between; flex-wrap: wrap; margin: 0 auto;}
.rehabili .sec02 .col2 > section{width:100%; text-align: justify;}
.rehabili .sec02 .col2 > section.c2{margin-top:20px;}
.rehabili .sec02 .col2 > section > h2{height:100px; border:3px #eece5f solid; border-radius: 10px; padding-left:26px; box-sizing: border-box; font-size:1.8rem; letter-spacing: 0.1em; color:#f39800; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content:flex-start; align-items: center; position: relative;}
.rehabili .sec02 .col2 > section > h2:after{display: block; content: ""; height: 0; position: absolute; top:50%; transform: translateY(-50%);}
.rehabili .sec02 .col2 > section.c1 > h2:after{width:84px; padding-top:110px; background: url(../images/common/ill_07.svg) no-repeat; right:40px;}
.rehabili .sec02 .col2 > section.c2 > h2:after{width:150px; padding-top:110px; background: url(../images/common/ill_08.svg) no-repeat; right:15px;}
.rehabili .sec02 .col2 > section > p{font-size:1.4rem; line-height: 2; margin-top:1em;}
.rehabili .sec01:after{width:36px; padding-top:66px; background: url(../images/common/ill_02.svg) no-repeat; top:10px; left:10px;}

/*--------------------------------rehabili*/
.hinyoki .sec{}
.hinyoki .sec > h1{background: #dbeff0; color:#00a29a;}
.hinyoki .asd01 {border-color: #00a29a; color:#00a29a; margin-top: 40px;}
.hinyoki .asd01 h1:before,
.hinyoki .asd01 h1:after{background: #00a29a;}
.hinyoki .asd01 .col2{width:100%; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content:space-between; flex-wrap: wrap; margin: 0 auto;}
.hinyoki .asd01 .col2 > section{width:100%; padding:0 20px; box-sizing: border-box; margin-bottom:20px;}
.hinyoki .asd01 .col2 > section h2{font-size: 1.4rem; text-align: left; margin-bottom: 0.8em;}
.hinyoki .asd01 .col2 > section ul + h2{margin-top: 2em;}
.hinyoki .asd01 ul{text-align: left; font-size: 1.4rem; line-height: 1.8; color: #00a29a; margin:0 auto; position: relative;}
.hinyoki .asd01 ul li{display: block; text-indent: -1em; padding-left:1em;}
.hinyoki .asd01 ul li:last-child{text-align: right;}
.hinyoki .asd01 .body.second{border-top:3px #00a29a solid;}
.hinyoki .asd01 .body.second ul{width:100%; padding:0 20px; box-sizing: border-box; text-align: left; font-size: 1.4rem; line-height: 1.8; color: #00a29a; margin:0 auto; position: relative;}
.hinyoki .asd01 .body.second ul li{display: inline-block;}
.hinyoki .asd01 .body.second ul li:last-child{margin-left: 1em;}

.hinyoki .sec01:after{width:34px; padding-top:36px; background: url(../images/common/ill_03.svg) no-repeat; top:26px; left:10px;}
.hinyoki .asd01:after{width:80px; padding-top:43px; background: url(../images/common/ill_09.svg) no-repeat; bottom:-23px; right:10px;}

/*--------------------------------faq*/
.faq .sec{}
.faq .sec > h1{}
.faq .sec > ul{width:100%; margin: 0 auto;}
.faq .sec > ul > li{border-bottom:1px #cccc solid; padding:0 0 2em 3em; box-sizing: border-box; text-align: left; margin-bottom:2em;}
.faq .sec > ul > li:last-child{border-bottom: none; padding-bottom: 0; margin-bottom: 0;}
.faq .sec > ul > li > h2{font-size:1.4rem; font-weight: 600; letter-spacing: 0.075em; position: relative; margin-bottom: 1em;}
.faq .sec > ul > li > h2:before{display: block; content: "Q."; font-size:2.2rem; font-family: p22-underground, sans-serif; font-weight: 600; color:#8197c6; position: absolute; top:50%; left:-1.2em; transform: translateY(-50%);}
.faq .sec > ul > li > section{font-size:1.4rem;}
.faq .sec > ul > li > section .table_wrap{width:100%; overflow-x: scroll; -webkit-overflow-scrolling: touch; overflow-scrolling: touch;}
.faq .sec > ul > li > section table{width:600px; background: #efefef; font-size:1.2rem; line-height: 1.4;}
.faq .sec > ul > li > section table th,
.faq .sec > ul > li > section table td{padding:1em 0.6em; border:1px #fff solid;}
.faq .sec > ul > li > section table th{background: #ccc;}
.faq .sec > ul > li > section table td{}
.faq .sec > ul > li > section table sup{display: inline-block; font-size:80%; margin-left:0.5em;}
.faq .sec > ul > li > section p{line-height: 2;}
.faq .sec > ul > li > section small{display: block; font-size: 1.2rem; margin-top:1em;}
.faq .sec > ul > li > section ol.list{padding-left:1.4em; list-style: decimal;}
.faq .sec > ul > li > section ol.list li{margin-bottom: 1em;}
.faq .sec > ul > li > section strong{font-weight: 600;}

/*--------------------------------rehabili*/
.privacy .sec{}
.privacy .sec p{}
.privacy .sec dl{width:100%; font-size:1.4rem; line-height: 2; text-align: justify; margin: 0 auto;}
.privacy .sec dl dt{font-weight: 600; margin-bottom: 0.5em;}
.privacy .sec dl dd{margin-bottom: 2em;}
.privacy .sec dl dd:last-child{margin-bottom: 0;}
.privacy .sec ol{list-style: decimal; padding-left: 2.5em;}

.privacy .sec small{margin-top:3em;}



}