/* CSS Document */

@media screen and (max-width:640px) {
	
body{
	font-size: 14px;
}
body , header , footer {
	width:100%;
	min-width:400px;
}

/*============================================================================

	header

============================================================================*/
header {
	display:none;
}



/*============================================================================

	navi

============================================================================*/
nav{
	display:none ;
}
.sp_navi {
    display: block;
    position: fixed;
    height: 60px;
    top: 0;
    left: 0;
    width: 100%;
    font-size: 18px;
    font-weight: bold;
    background-color: #fff;
    z-index: 10000;
  }
  .sp_navi h1, .sp_navi .sp_navi_logo {
    position: absolute;
    margin-left: 3%;
    margin-top: 4px;
    background-color: rgba(255, 255, 255, 1);
    width: calc(95% - 155px);
  }
  .sp_navi h1 span, .sp_navi h1 img, .sp_navi .sp_navi_logo span, .sp_navi .sp_navi_logo img {
    width: 100%;
    height: auto;
  }
  .sp_navi h1 a, .sp_navi .sp_navi_logo a {
    vertical-align: middle;
  }
  .sp_navi h1 img, .sp_navi .sp_navi_logo img {
    z-index: 9999;
    position: relative;
	width: 97%;
	margin: 10px 0 0 0;
  }
  .sp_navi dl dt {
    float: right;
    width: 150px;
    height: 60px;
    font-weight: bold;
    cursor: pointer;
    padding: 0;
    font-size: 18px;
    display: block;
    color: #fff;
    line-height: 2;
    background-color: rgba(255, 255, 255, 0.85);
  }
  .sp_navi dl dt i {
    margin-right: 2%;
  }
  .sp_navi dl dd {
    display: none;
    width: 100%;
  }
  .sp_navi_wrap {
    width: 100%;
    height: calc(100vh - 100px);
    overflow: auto;
    position: relative;
    z-index: 99999;
  }
.sp_navi ul{
	padding:4% 2% 4% 8%;
  background:  rgba(255, 255, 255, 0.95);
}
.sp_navi ul li {
	display: table;
	width: 50% ;
	float: left ;
	line-height:1.4;
	font-size:15px;
	font-weight:normal;
}
.sp_navi ul li i{
	margin-right: 4%;
	color: #7D959D;
	font-size: 11px;
	vertical-align: middle;
	position: relative;
	top: -1px;
	left: -6px;
}
.sp_navi ul li i.fa-facebook-square,.sp_navi ul li i.fa-home{
	font-size:16px;
}
.sp_navi ul li a {
	display:table-cell;
	vertical-align:middle;
	width:100%;
	height: 45px;
	color:#333;
	text-decoration:none;c
  font-size: 13px;
}
  .sp_link li div {
    display: none;
  }
  .sp_navi .sp_link li div ul {
    background-color: #66a20a;
  }

.sp_navi dt a {
    display: block;
    float: right;
    width: 50px;
    height: 60px;
    position: relative;
    z-index: 9999999;
    background-color: #7D959D;
  }
  .sp_navi dt a.sp_nav_btn::after {
    position: absolute;
    width: 50px;
    left: 0;
    bottom: 8px;
    content: 'MENU';
    font-size: 9px;
    text-align: center;
    color: #FFF;
    transition: all 0.4s;
  }
  .sp_navi dt a span {
    display: block;
    background: #fff;
    width: 22px;
    height: 2px;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    transition: all 0.4s;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
  }
  .sp_navi dt a span:first-child {
    top: 11px;
  }
  .sp_navi dt a span:nth-child(2) {
    margin-top: -1px;
    top: 19px;
  }
  .sp_navi dt a span:last-child {
    top: 25px;
  }
  .sp_navi dt a.sp_nav_btn.active::after {
    content: 'CLOSE';
  }
  .sp_navi dt a.active span:first-child {
    transform: translateY(6px) rotate(225deg);
  }
  .sp_navi dt a.active span:nth-child(2) {
    opacity: 0;
  }
  .sp_navi dt a.active span:last-child {
    -webkit-transform: translateY(-8px) rotate(-225deg);
    -moz-transform: translateY(-8px) rotate(-225deg);
    -ms-transform: translateY(-8px) rotate(-225deg);
    transform: translateY(-8px) rotate(-225deg);
  }
  .sp_navi dt .sp_navi_info {
    position: relative;
    width: 50px;
    height: 60px;
    display: block;
    float: left;
  }
  .sp_navi dt .sp_navi_info a {
    display: block;
    float: left;
    width: 50px;
    height: 60px;
    box-sizing: border-box;
    background-color: #E2E2E2;
    font-size: 9px;
    font-weight: bold;
    color: #449DB9;
    text-align: center;
    text-decoration: none;
  }
  .sp_navi dt .sp_navi_info a img {
    height: 21px;
    width: auto;
    vertical-align: middle;
    display: block;
    margin: 8px auto 3px;
  }
  .sp_navi dt .sp_navi_cal a {
    display: block;
    float: left;
    width: 50px;
    height: 60px;
    box-sizing: border-box;
    background-color: #A1B7B9;
    font-size: 9px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    text-decoration: none;
  }
  .sp_navi dt .sp_navi_cal a img {
    height: 20px;
    width: auto;
    display: block;
    margin: 8px auto 4px;
  }
  .sp_navi dt .sp_navi_cal a::before {
    position: absolute;
    content: "";
  }
  /*============================================================================

	$sp_resv

============================================================================*/
  .sp_resv {
    display: flex !important;
    width: 100%;
    position: fixed;
    bottom: 0;
    height: 50px;
    background-color: #7D959D;
    z-index: 9999;
  }
  .sp_resv_telArea {
    display: block;
    position: relative;
    width: 100%;
    height: 50px;
    line-height: 50px;
    box-sizing: border-box;
    border: #fff 2px solid;
    text-align: center;
    font-family: dnp-shuei-mgothic-std, sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: #fff;
  }
  .sp_resv_telArea {
    background: url("../images/nav_tel_bg_sp.png") repeat;
  }
  .sp_resv_telArea figure {
    display: inline-block;
    position: relative;
    margin: 0 8px 0 0;
    width: 18px;
    height: 18px;
  }
  .sp_resv_telArea figure img {
    width: 20px;
    height: auto;
    vertical-align: text-bottom;
  }
  .sp_resv_telArea .resv_tel {
    display: inline-block;
    margin-top: 10px;
    margin-left: 10px;
    padding-left: 0;
  }

/*============================================================================

	#mainvisual

============================================================================*/

/*-------------------- 下層の高さ、背景画像（トップページはtop.css参照） --------------------*/




/*-------------------- topのスライダーとキャッチ部分 --------------------*/
.main_slider{
	height:500px;
}
.mainImagesBlock {
	position: absolute;
	top:0;
}
.mainImagesBlock li img {
	width: 640px;
	min-width:640px !important;
	height:500px;
}
.slider_catch {
	top:280px;
	width:280px;
}
.slider_open {
	bottom:10px;
	left:50%;
	margin-left:0;
}



/*==================================================================

	main

==================================================================*/ 

/*-------------------- 下層 --------------------*/
#contents{
	width:100%;
}



/*==================================================================

	左カラム

==================================================================*/
#contents_left{
	float:none;
	width:90%;
	margin:auto;
}



/*==================================================================

	右カラム

==================================================================*/
#contents_right{
	display:none;
}



/*============================================================================

	footer

============================================================================*/
#googlemap {
	height:400px;
}
.pagetop{
	bottom:50px;
}
.pagetop img{
	width:90px;
	height:auto;
}



/*==================================================================

	タイトル

==================================================================*/

/*-------------------- h3 --------------------*/
h3.tit01 , h3.tit02 {
	font-size: 18px;
	letter-spacing:0;
}
h3.tit01 span , h3.tit02 span{
	letter-spacing: 0;
	font-size:8px;
}
h3.tit01 span::before , h3.tit02 span::before{
	margin-left:10px;
	margin-right:10px;
}

/*-------------------- h3　＊　通常おさる --------------------*/
h3.tit01 {
	background:url(../images/sp/h3_1.png) left no-repeat;
}

/*-------------------- h3　＊　盗み食いおさる --------------------*/
h3.tit02 {
	background:url(../images/sp/h3_2.png)left no-repeat;
}


/*-------------------- h4 --------------------*/
h4.tit01 {
	font-size: 16px;
	letter-spacing:0;
	padding-top: 2px;
	background:url(../images/h4.png) no-repeat left bottom;
}




/*==================================================================

	共通

==================================================================*/

/*-------------------- チェック --------------------*/
.list08{
	padding:35px 5px 20px 15px;
}


/*-------------------- 画像を右寄せ --------------------*/
.img_fr{
	float:none;
	margin:0 auto;
}



/*==================================================================

	table

==================================================================*/

/*-------------------- 診療時間 --------------------*/
.tb01{
	width:95%;
	margin:12px auto;
	border-left:10px solid #7D959D;
	border-right:10px solid #7D959D;
}
.tb01 th{
	padding:8px 12px 8px 5px;
}
.tb01 td{
	padding:8px 10px 8px 10px;
}



/*==================================================================

	$index

==================================================================*/



/*-------------------- どんな感じ --------------------*/
.top_myteeth {
	padding: 80px 0 60px;
	background: url(../images/top_teeth_bg.png) left top repeat;

}
.top_myteeth .inner{
	width:92%;
  display: inherit;
  margin: 0 4%;
}
.top_myteeth .feeling {
	position: relative; 
	width: 92%;
	background:#fff;
	border-radius: 10px;
	margin-bottom: 60px;
	padding:8% 4% 8%;
}
.feeling a.btn {
	position:absolute;
	bottom:-12px;
}

/*-------------------- 当院の推進 --------------------*/
.top_feature {
	width:100%;
}
.top_feature .inner{
	position:relative;
	width:100%;
	margin:auto;
	padding: 80px 0;
}
.top_feature p {
	margin-bottom: 1em;
	padding: 0 20px;
}
.top_feature img {
	width: 80%;
	margin: 0 0 3em;
}

/*-------------------- 院長挨拶 --------------------*/
.top_doctor {
	height:auto;
	background-image:none;
	background-color: #D9E7E8;
	margin-top:0;
	padding-top: 30px;
  padding-bottom: 50px;
}
.top_doctor .inner{
	position:relative;
	width:100%;
	margin:auto;
}
.top_doctor h3{
	padding-top:30px;
	padding-bottom:20px;
	text-align:center;
}
.top_doctor h3 img{
	width:300px;
	height:auto;
}
.top_doctor .text{
	float:none;
	width:90%;
	margin:auto;
	line-height:2;
}
.top_doctor .top_doctor_banner{
  width: auto;
  flex-direction: column;
}
.top_doctor .top_doctor_banner li:nth-child(1){
  width: 90%;
  margin-bottom: 10px;
}
.top_doctor .top_doctor_banner li:nth-child(2){
  width: 53.11111%;
  margin-bottom: 10px;  
}
.top_doctor .top_doctor_banner li:nth-child(3){
  font-size: 15px;
  line-height: 1.4;
  border: 3px solid rgb(237, 171, 43);
  background: rgba(255, 255, 255, 0.8);
  margin: 0 2.487%;
  padding: 3%;
}
.top_doctor .top_doctor_banner li img{
  width: auto;
}


/*-------------------- 当院の4つの特徴 --------------------*/
.top_chara {
	height:850px;
}
.top_chara h3 img {
	width:180px;
}
.top_chara .inner {
	width:376px;
	margin:auto;
	padding-top:60px;
	text-align:center;
}
.top_chara .inner .text {
	margin-bottom:50px;
	letter-spacing:0;
}
.top_chara_01 {
	width: 188px;
	height:208px;
	margin:auto;
	background:url(../images/sp/top_img04.png) no-repeat;
	background-size:188px auto;
}
.top_chara_02 {
	width: 188px;
	height:208px;
	margin:auto;
	background:url(../images/sp/top_img06.png) no-repeat;
	background-size:188px auto;
}
.top_chara_03 {
	width: 188px;
	height:274px;
	margin:auto;
	background:url(../images/sp/top_img08.png) no-repeat;
	background-size:188px auto;
}
.top_chara_04 {
	width: 188px;
	height:274px;
	margin:auto;
	background:url(../images/sp/top_img10.png) no-repeat;
	background-size:188px auto;
}
.top_chara-list .inner {
	display:none;
}
.top_chara-list .btn {
	display:none;
}

/*-------------------- 診療案内 --------------------*/
.top_medical {
	width:100%;
	background:url(../images/index/top_bg_03.jpg) no-repeat center top ,url(../images/sp/top_bg_03.jpg) center top ;
}
.top_medical h3 img {
	width:130px;
	margin-top:60px;
}
.top_medical .inner {
	width:100%;
	margin:auto;
}
.top_medical .inner dl {
	float:left;
	margin:auto;
	width: 50%;;
	height: 260px;
}
.top_medical .inner dt {
	text-align: center;
	margin-bottom: -20px;
}
.top_medical .inner dt img {
  width:80px;
  padding: 20px 0 0 20px;
}
.top_medical .inner dd {
	text-align: center;

}
.top_medical .inner h4 {
	font-size:16px;
}
.top_medical .inner dd:nth-child(3) {
	height:65px;
	letter-spacing:0;
	line-height:1.8;
}
.top_medical .btn {
	margin:0 auto;
}
.hidden { display: none;}
.visible { display:inherit;  }

/*-------------------- インフォメーション --------------------*/
.top_info {
	width:100%;
	height:700px;
}
.top_info .inner {
	position:relative;
	width:100%;
	margin:30px auto;
}
.top_info_LeftBox {
	float:none;
	width:100%;
	padding-right:0;
	border:none;
}
.top_info_LeftBox dl {
	margin-bottom:30px;
}
.top_info_LeftBox dt img {
	width:100px;
	height:auto;
}
.top_info_LeftBox dt {
	float:none;
	width:150px;
	margin:0 auto;
	text-align:center;
}
.top_info_LeftBox dd {
	width:100%;
	float:none;
}
.top_info_LeftBox dd:nth-child(2) {
	margin-bottom:0;
}
.schedule_note{
	font-size:13px;
	letter-spacing:0;
}
/*.top_info_RightBox {
	float:none;
	position:absolute;
	top:-3160px;
	width:90%;
	left:0;
	right:0;
	margin:0 auto;
	border:none;
}
.top_news_flame{
	padding:30px 0;
	border:none;
}
*/
.scroll_area{
	width:100%;
	height:200px;
}

.calendar{
  width: auto;
  margin: 0 auto;
}
.calendar iframe{
  width: 100%;
  height: 400px;
}





/*==================================================================

	$doctor

==================================================================*/
.doctor_greet .text{
	float:none;
	width:100%;
	margin:0 auto;
	letter-spacing:0;
}
.top_doctor_img {
	width:200px;
	margin:0 auto 10px;
}
.top_doctor_img img {
	width:200px;
}
.list01 {
	font-size:13px;
	letter-spacing:0;
}
.list01 li {
	border-bottom: 1px dotted #ddd;
}



/*==================================================================

	$access

==================================================================*/
.access_info{
	padding: 30px 20px 5px;
}



/*============================================================================

	$clinic

============================================================================*/

/*-------------------- 医院概要 --------------------*/
.clinic_sec1 dt{
	width:20%;
}
.clinic_sec1 dd{
	width:80%;
}
.clinic_sec1 table{
	font-size:12.5px;
}
.clinic_sec1 .schedule_note{
	font-size:12px;
}

/*-------------------- 院内写真 --------------------*/
#slider {
	width:360px;
	margin:40px auto 150px;
}
.bx-pager.clinic {
	position: relative;
	margin: 20px auto 16px 3px;
	z-index: 999;
}
.bx-pager.clinic a {
	margin: 0 4px;
	position: relative;
	top: 0;
	-webkit-filter: contrast(85%);
	filter: contrast(85%);
	-webkit-transition: all .4s ease-out;
	transition: all .4s ease-out;
}
.bx-pager.clinic a.active {
	-webkit-filter: contrast(100%);
	filter: contrast(100%);
}
.bx-pager.clinic a:hover {
	top: -10px;
}
.bx-pager.clinic li {
	display: inline-block;
	float: left;
	margin: 24px 2;
	letter-spacing: normal;
}
.bx-pager.clinic img {
	width: 75px;
	height: 75px;
	border-radius: 100%;
	border: 4px solid #ffffff;
	box-sizing:border-box;
	transition: opacity 0.3s ease 0s;
}
.bx-viewport {height: 200px !important;}

.gmap iframe{
  width: 100%;
  height: auto;
}


/*-------------------- 機器紹介 -------------------- */
/*.facilities_equip2{
}
.facilities_equip2 dl,
.facilities_equip2 dl:nth-child(3n){
	width:42%;
	height:auto !important;
	margin:0 5% 30px;
}*/
.facilities_equip2 dd{
	padding: 10px 15px 8px;
	/*height:30px;*/
}
.facilities_equip2 dd h4{
	font-size:14px;
}
/*
.facilities_equip2 dl:nth-child(even){
	margin-right:0;
}*/



/*============================================================================

	$medical

============================================================================*/

.medical_layout01 dt{
	line-height:1.5;
	font-size: 15px;
}
.medical_layout01 dt em{
	display:block;
	margin-right:0;
	font-size: 28px;
	text-align:center;
}

.medical_layout06 dt{
	font-size:16px;
}
.medical_layout06 dt em{
	font-size:30px;
}
.medical_layout06_text2{
	min-width:28%;
}


.d_merit ul {
	border-top: 1px dotted #ccc;
	border-bottom: 1px dotted #ccc;
	padding: 25px;
	width: 80%;
}
.d_merit ul li {
	margin-left: 15px;
	list-style-type: circle;
}

.youtube {
	width: 100%;
}
}

.youtube {
	width: 560px;
}
#mainvisual_subpage {
	background: url(../images/main_subbg.jpg) right bottom no-repeat;
	background-size: cover;
	height: 200px;
}
#mainvisual_subpage h2 {
	font-size:20px;
	font-weight: bold;
	padding: 40px 30px 0;
	color:#156B86;
}

.cation {
	margin-top: 40px;
position: relative;
}
.cation h3 {
	font-size:20px;
	text-align: center;
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: 10px;
}
.cation p {
	background: #EAF3F4;
	color:#156B86;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	padding: 20px;
}

/*==================================================================

	$blue radical

==================================================================*/
