@charset "UTF-8";



/*共通
---------------------------------------------------------*/
.acs_inbox{
	max-width:1100px;
	margin: 0 auto;
}





/*アクセス
---------------------------------------------------------*/
#access .box1{
	margin-bottom:60px;
}
#access .box1 .acs_map{
	padding-bottom:30px;
	position: relative;
}
#access .box1 .acs_map .com_btn1{
	position:absolute;
	right: 0;
	top:100%;
	text-align: right;
}
#access .box1 .acs_map .com_btn1 a{
	background:url(../images/access/map_btn_icon.svg) no-repeat left center;
	background-size:28px 29px;
	padding-left: 57px;
	padding-top: 10px;
	padding-bottom: 10px;
}
#access .box1 .acs_map iframe{
	vertical-align: baseline;
}
#access .box1 .acs_address dt{
	font-size:190%;
	letter-spacing: 0.15em;
	color:#544337;
	margin-bottom: 15px;
}
#access .box1 .acs_address dd{
	line-height:1.8em;
	letter-spacing: 0.08em;
	font-size:110%;
}
#access .box2 {
	padding-bottom: 95px;
}
#access .box2 .point_list  > li{
	box-sizing:border-box;
	width:33.333%;
	float: left;
	border-right: 1px solid #685d5b;
	text-align: center;
	padding: 20px 0 30px 0;
}
#access .box2 .point_list  > li:last-child{
	border-right: none;
}
#access .box2 .point_list  > li .icon{
	max-width:110px;
	width: 28%;
	margin: 0 auto 30px auto;
}
#access .box2 .point_list  > li li{
	line-height:1.8em;
	margin-bottom: 20px;
}
#access .box2 .point_list  > li li:last-child{
	margin-bottom: 0;
}
#access .box2 .point_list  > li li h3{
	font-size:120%;
	color:#544337;
	letter-spacing: 0.18em;
}
#access .box2 .point_list  > li li p{
	line-height: 1.7em;
}
#access .box2 .point_list{
	margin-bottom:75px;
}
#access .box2 h4{
	text-align: center;
	font-weight: normal;
	font-size:110%;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#access .box1{
	margin-bottom:40px;
}
#access .box1 .acs_map{
	padding-bottom:20px;
}
#access .box1 .acs_map .com_btn1 a{
	background-size:23px auto;
	padding-left: 40px;
}
#access .box1 .acs_map iframe{
	height: 400px;
}
#access .box1 .acs_address dt{
	font-size:150%;
	margin-bottom: 10px;
}
#access .box2 {
	padding-bottom: 60px;
}
#access .box2 .point_list  > li{
	padding: 10px 0;
}
#access .box2 .point_list  > li .icon{
	margin: 0 auto 20px auto;
}
#access .box2 .point_list  > li li{
	margin-bottom: 10px;
	line-height: 1.5em;
}
#access .box2 .point_list  > li li h3{
	font-size:100%;
	letter-spacing: 0.05em;
}
#access .box2 .point_list  > li li p{
	font-size:80%;
	line-height: 1.6em;
}
#access .box2 .point_list{
	margin-bottom:30px;}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#access .box1{
	margin-bottom:10%;
}
#access .box1 .acs_map{
	padding-bottom:7%;
}
#access .box1 .acs_map .com_btn1{
	position:static;
	margin-top: 1%;
}
#access .box1 .acs_map .com_btn1 a{
	background-size:10% auto;
	padding-left: 8%;
	padding-top: 5px;
	padding-bottom: 5px;
}
#access .box1 .acs_map iframe{
	height: 220px;
}
#access .box1 .acs_address dt{
	font-size:5.5vw;
	margin-bottom: 2%;
}
#access .box1 .acs_address dd{
	font-size:3.8vw;
	letter-spacing: 0.05em;
}
#access .box2 {
	padding-bottom: 10%;
}
#access .box2 .point_list  > li{
	width:100%;
	float: none;
	border-right: none;
	border-bottom: 1px solid #685d5b;
	padding:6% 5%;
	display: table;
}
#access .box2 .point_list  > li:last-child{
	border-bottom: none;
	padding-bottom: 0;
}
#access .box2 .point_list  > li:first-child{
	padding-top: 0;
}
#access .box2 .point_list  > li .icon,
#access .box2 .point_list  > li ul{
	display:table-cell;
	vertical-align: middle;
	}	
#access .box2 .point_list  > li .icon{
	width: 22%;
	margin: 0 auto;
	padding-right: 5%;
}
#access .box2 .point_list  > li ul{
	width:78%;
}	
#access .box2 .point_list  > li li{
	line-height:1.8em;
	margin-bottom: 3%;
}
#access .box2 .point_list  > li li:last-child{
	margin-bottom: 0;
}
#access .box2 .point_list  > li li h3{
	font-size:3.7vw;
	letter-spacing: 0.1em;
}
#access .box2 .point_list  > li li p{
	font-size:3.5vw;
}
#access .box2 .point_list{
	margin-bottom:10%;
}
#access .box2 h4{
	text-align: left;}
}





/*JR「灘駅」改札 からのアクセス
---------------------------------------------------------*/
#accessflow {
	margin-bottom:125px;
}
#accessflow .bgbox{
	background: #f7f7f7;
	padding: 80px 0 45px 0;
}
#accessflow h5{
	text-align:center;
	font-size:210%;
	color:#544337;
	letter-spacing: 0.2em;
	font-weight: normal;
	margin-bottom: 65px;
}
#accessflow h5 span{
	background:url(../images/access/icon_jr.svg) no-repeat left center;
	background-size:27px 37px;
	padding: 6px 0 6px 50px;
}
#accessflow .flow_list > li{
	float:left;
	width:29%;
	margin-bottom: 55px;
	text-align: center;
}
#accessflow .flow_list > li.flow_arrow{
	width:4.333%;
	padding-top: 105px;
}
#accessflow .flow_list > li.flow_arrow img{
	display:block;
	margin: 0 auto;
	max-width: 19px;
	width: 50%;
}
#accessflow .flow_list > li .img_box{
	max-width:350px;
	margin: 0 auto 15px auto;
}
#accessflow .flow_list > li p{
	font-size:120%;
	letter-spacing: 0.12em;
	color:#544337;
	line-height: 1.3em;
}
#accessflow .flow_list > li p span{
	font-family: europa, sans-serif;
	font-weight: 600;
	font-size:140%;
}
#accessflow .flow_list > li p span,
#accessflow .flow_list > li p strong{
	vertical-align:middle;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#accessflow {
	margin-bottom:60px;
}
#accessflow .bgbox{
	padding: 50px 0 20px 0;
}
#accessflow h5{
	font-size:140%;
	letter-spacing: 0.15em;
	margin-bottom: 40px;
}
#accessflow h5 span{
	background-size:24px auto;
	padding: 4px 0 4px 40px;
}
#accessflow .flow_list > li{
	margin-bottom: 30px;
}
#accessflow .flow_list > li.flow_arrow{
	padding-top: 60px;
}
#accessflow .flow_list > li .img_box{
	margin: 0 auto 10px auto;
}
#accessflow .flow_list > li p{
	font-size:1.6vw;
	letter-spacing: 0em;
	color:#544337;
}
#accessflow .flow_list > li p span{
	font-size:1.8vw;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#accessflow {
	margin-bottom:10%;
}
#accessflow .bgbox{
	padding: 10% 0 10% 0;
}
#accessflow h5{
	font-size:5vw;
	letter-spacing: 0.06em;
	margin-bottom: 6%;
}
#accessflow h5 span{
	background-size:6% auto;
	padding: 6px 0 6px 9%;
}
#accessflow .flow_list > li{
	float:none;
	width:100%;
	margin-bottom: 0;
}
#accessflow .flow_list > li.flow_arrow{
	width:100%;
	padding: 5% 0;
}
#accessflow .flow_list > li.flow_arrow img{
	transform: rotate(90deg);
}
#accessflow .flow_list > li .img_box{
	width:60%;
	margin: 0 auto 4% auto;
}
#accessflow .flow_list > li p{
	font-size:4.2vw;
}
#accessflow .flow_list > li p span{
	font-size:4.8vw;
}
}





/*診療時間
---------------------------------------------------------*/
#schedule{
	margin-bottom:70px;
}
#schedule .flt_box .col_l{
	float:left;
	width: 55%;
	max-width: 600px;
}
#schedule .flt_box .col_r{
	float:right;
	width: 40%;
	max-width: 420px;
}
#schedule .acs_timetable{
	margin-bottom:47px;
	letter-spacing: 0.1em;
	line-height: 1.9em;
}
#schedule .acs_timetable div{
	margin-bottom:20px;
}
#schedule .acs_timetable li{
	float:left;
    font-size:120%;
}
#schedule .acs_timetable li:nth-child(1){
	color:#c30d23;	
	padding-right: 2em;
}
#schedule #calendar .cal_bg{
	background: #f7f7f7;
	padding: 45px 40px;
}
#schedule #calendar .cal_title{
	margin-bottom:30px;
	line-height: 1em;
	color:#a2b35b;
}
#schedule #calendar .cal_title strong{
	font-size:160%;
	letter-spacing: 0.1em;
	vertical-align: middle;
}
#schedule #calendar .cal_title span{
	font-size:85%;
	padding-left: 0.5em;
	vertical-align: middle;
}
#schedule #calendar .com_btn1{
	text-align:right;
	font-size:90%;
	margin-top: 17px;
}
#schedule #calendar .com_btn1 a{
	padding-right:1.6em;
}
#schedule #calendar .com_btn1 a::before{
	font-size:130%;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1200px) {
#schedule .flt_box .col_l{
	float:left;
	width: 50%;
}
#schedule .flt_box .col_r{
	width: 47%;
}
#schedule #calendar .cal_bg{
	padding: 30px 20px 30px 30px;
}}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#schedule{
	margin-bottom:50px;
}
#schedule .acs_timetable{
	margin-bottom:30px;
	font-size:90%;
	letter-spacing: 0.05em;
}
#schedule .acs_timetable div{
	margin-bottom:15px;
}
#schedule .acs_timetable li{
	float:none;
    font-size:100%;
}	
#schedule .acs_timetable li:nth-child(1){
	
	padding-right: 1em;
}
#schedule #calendar .cal_title{
	margin-bottom:15px;
}
#schedule #calendar .cal_title strong{
	font-size:120%;
	letter-spacing: 0.05em;
}
#schedule #calendar .cal_title span{
	font-size:65%;
}
#schedule #calendar .com_btn1{
	font-size:80%;
	margin-top: 10px;}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#schedule{
	margin-bottom:10%;
}
#schedule .flt_box .col_l{
	float:none;
	width: 100%;
	margin: 0 auto 7% auto;
}
#schedule .flt_box .col_r{
	float:none;
	width: 100%;
	max-width: 100%;
}
#schedule .acs_timetable{
	margin-bottom:7%;
	font-size:3.7vw;
	letter-spacing: 0.03em;
}
#schedule .acs_timetable div{
	margin-bottom:4%;
}
#schedule .acs_timetable li{
	float:none;
    font-size:3.9vw;
}
#schedule .acs_timetable li:nth-child(1){	
	padding-right: 0;
}
#schedule #calendar .cal_bg{
	padding:5%;
}
#schedule #calendar .cal_title{
	margin-bottom:5%;
}
#schedule #calendar .cal_title strong{
	font-size:5vw;
}
#schedule #calendar .cal_title span{
	font-size:3.5vw;
	padding-left: 0.3em;
}
#schedule #calendar .com_btn1{
	margin-top: 3%;
}
}





/*　com_med_menu
---------------------------------------------------------*/
.com_med_menu{
	margin-bottom:70px;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_med_menu{
	margin-bottom:60px;}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_med_menu{
	margin-bottom:10%;
}
}





/*コンタクト
---------------------------------------------------------*/
#contact{
	margin-bottom:130px;
}
#contact .contact_list{
	max-width:600px;
	/*WEB予約あり
	max-width:1100px;*/
	margin: 0 auto 50px auto;
	background: #b2d698;
	padding: 20px 0;
	width:90%;
}
/*WEB予約あり
#contact .contact_list > li{
	float:left;
	width: 50%;
	box-sizing: border-box;
}
#contact .contact_list > li:nth-child(1){
	border-right: 2px solid rgba(84,67,55,0.30);
}*/
#contact .contact_list > li div{
	max-width:350px;
	margin: 0 auto;
	width:80%;
}
#contact .contact_lead{
	text-align:center;
	margin-bottom: 30px;
	font-size:110%;
}
#contact .contact_btn{
	max-width:400px;
	margin: 0 auto;
	border-top: 1px solid rgba(104,93,91,0.30);
	border-bottom: 1px solid rgba(104,93,91,0.30);
	padding: 20px 0;
	text-align: center;
	-webkit-transition: background-color 1.0s;
	-moz-transition: background-color 1.0s;
	transition: background-color 1.0s;
}
#contact .contact_btn .com_btn1 a:hover{
	color:#746c70;
}
#contact .contact_btn:hover{
	background:rgba(178,214,152,0.40);
	-webkit-transition: background-color 0.4s;
	-moz-transition: background-color 0.4s;
	transition: background-color 0.4s;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#contact{
	margin-bottom:60px;
}
#contact .contact_list{
	margin: 0 auto 30px auto;
	padding: 15px 0;
}
#contact .contact_lead{
	margin-bottom: 20px;
}
#contact .contact_btn{
	max-width:350px;
	padding: 15px 0;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#contact{
	margin-bottom:10%;
}
#contact .contact_list{
	margin: 0 auto 4% auto;
	padding:5% 0 2% 0;
	width:100%;
}
#contact .contact_list > li div{
	width:85%;
}
#contact .contact_lead{
	margin-bottom: 5%;
	text-align: left;
}
#contact .contact_btn{
	width:60%;
	padding: 3% 0;
}
}

