@charset "UTF-8";
/*--------------------------------------------------
**************************************************
  Googleマップ PCスマホ共通
  高さは各メディアクエリー内で設定
**************************************************
--------------------------------------------------*/
.gmap{
	position:relative;
	height:0;
	overflow:hidden;
}
.gmap iframe{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}

/* 料金表 */
.menu-price table{
	width:100%;
	margin-top:30px;
	border:#0aa9c8 2px solid;
}
.menu-price table th,.menu-price table td{
	padding:10px;
	border:#0aa9c8 1px solid;
	vertical-align: middle;
}
.menu-price table th{
	background-color: #e2faff;
}
.menu-price table td{
}

/*--------------------------------------------------
**************************************************
  PC用
**************************************************
--------------------------------------------------*/
@media screen and (min-width: 768px) {
	
	.heading{
		position:relative;
		width:1200px;
		height:400px;
		margin:15px auto 0;
		overflow:hidden;
	}
	
	.heading .heading_inner{
		display:-webkit-flex; display:flex;
		-webkit-flex-wrap:wrap; flex-wrap:wrap;
		-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;
		-webkit-box-align:center; -ms-flex-align:center; align-items:center;
		width:auto;
		height:400px;
	}
	
	.heading .heading_inner h1{
		-ms-writing-mode:tb-rl;
		writing-mode:vertical-rl;
		position:relative;
		z-index:20;
		display:block;
		line-height:1.5;
		padding:50px 0;
		text-align:left;
		font-family:"Times New Roman","游明朝","Yu Mincho","游明朝体","YuMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HiraMinProN-W3","HGS明朝E","ＭＳ Ｐ明朝","MS PMincho",serif;
		font-size:28px;
		color:#fff;
	}
	
	.heading .overlay{
		position:absolute;
		top:0;
		left:0;
		z-index:1;
		width:100%;
		height:100%;
	}
	
	.layout_1,
	.layout_2,
	.layout_3,
	.layout_4,
	.image_description,
	.hours,
	.access_map,
	.profile,
	#recruit,
	.privacy,
	.sitemap{
		margin:70px auto;
	}
	
	div[class^="layout"] h2,
	.image_description h2,
	.hours h2,
	.access_map h2,
	#recruit h2{
		margin-bottom:30px;
	}
	
	div[class^="layout"] h2 span,
	.image_description h2 span,
	.hours h2 span,
	.access_map h2 span,
	#recruit h2 span{
		padding-top:20px;
		border-top:#00a7ce 3px solid;
		font-size:24px;
		font-weight:bold;
	}
	
	.layout_1 .content,
	.layout_2 .content{
		display:-webkit-flex; display:flex;
		-webkit-flex-direction:row; flex-direction:row;
		-webkit-justify-content:space-between; justify-content:space-between;
	}
	
	.layout_1 .image,
	.layout_2 .image{
		width:40%;
	}
	
	.layout_1 .image img,
	.layout_2 .image img,
	.layout_3 .image img{
		max-width:100%;
	}
	
	.layout_1 .text,
	.layout_2 .text{
		width:55%;
	}
	
	.layout_3 .image{
		text-align:center;
	}
	
	/* 画像と説明 */
	.image_description ul li{
		
		margin:0 20px 30px;
	}
	
	.image_description ul li .image img{
		vertical-align:bottom;
		object-fit:cover;
		width:320px;
		height:210px;
	}
	
	.image_description ul li p{
		margin-top:5px;
		font-size:16px;
	}
	
	/* 診察時間 */
	.hours table{
		width:100%;
		margin-top:30px;
	}
	
	.hours table th,
	.hours table td{
		padding:5px 0;
		border:#333 1px solid;
	}
	
	.hours table th{
		background-color:#00b1ff;
		color:#fff;
	}
	
	.hours table td{
		background-color:#fff;
		text-align:center;
	}
	
		.hours table td:first-child{
			width:180px;
			padding-left:10px;
			padding-right:10px;
			text-align:left;
			font-weight:bold;
		}
	


	/* アクセスマップ */
	.gmap{
		padding-bottom:56.25%;
	}
	
	/* 採用エントリー */
	#recruit .staff_message_list li{
		display:flex;
		flex-direction:row;
		justify-content:space-between;
		margin:30px auto;
	}
	
	#recruit .staff_message_list li .image{
		width:40%;
	}
	
	#recruit .staff_message_list li .image img{
		width:100%;
		height:auto;
	}
	
	#recruit .staff_message_list li .text{
		width:55%;
	}
	
	#recruit .staff_message_list li .text .name,
	#recruit .staff_message_list li .text .director{
		margin-bottom:5px;
		border-bottom:#ddd 1px solid;
	}
	
	#recruit .job_description table{
		width:700px;
		margin:0 auto;
	}
	
	#recruit .job_description table th,
	#recruit .job_description table td{
		padding:25px ;
		border:#ccc 1px solid;
		text-align:left;
	}
	
	#recruit .job_description table th{
		width:200px;
		background-color:#eee;
	}
	
	#recruit .job_description table td dt{
		font-weight:bold;
	}
	
	#recruit .job_description table td dt:not(:first-child){
		margin-top:30px;
	}
	
	/* プライバシーポリシー */
	.privacy h2{
		margin-top:30px;
		font-size:24px;
		font-weight:bold;
	}
	
	.privacy strong{
		font-size:18px;
	}
	
	/* サイトマップ */
	.sitemap{
		max-width:900px;
	}

}/* End PC */



/*--------------------------------------------------
**************************************************
  SP用
**************************************************
--------------------------------------------------*/
@media screen and (max-width: 767px) {
	
	.heading{
		position:relative;
		width:100%;
		height:200px;
		margin:0 auto;
		overflow:hidden;
	}
	
	.heading .heading_inner{
		display:-webkit-flex; display:flex;
		-webkit-flex-wrap:wrap; flex-wrap:wrap;
		-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;
		-webkit-box-align:center; -ms-flex-align:center; align-items:center;
		width:auto;
		height:200px;
	}
	
	.heading .heading_inner h1{
		-ms-writing-mode:tb-rl;
		writing-mode:vertical-rl;
		position:relative;
		z-index:20;
		display:block;
		line-height:1.5;
		padding:25px 0;
		text-align:left;
		font-family:"Times New Roman","游明朝","Yu Mincho","游明朝体","YuMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HiraMinProN-W3","HGS明朝E","ＭＳ Ｐ明朝","MS PMincho",serif;
		font-size:18px;
		color:#fff;
	}
	
	.heading .overlay{
		position:absolute;
		top:0;
		left:0;
		z-index:1;
		width:100%;
		height:100%;
	}
	
	.layout_1,
	.layout_2,
	.layout_3,
	.layout_4,
	.image_description,
	.hours,
	.access_map,
	.profile,
	#recruit,
	.privacy,
	.sitemap{
		margin:50px auto;
	}
	
	div[class^="layout"] h2,
	.image_description h2,
	.hours h2,
	.access_map h2,
	#recruit h2{
		margin-bottom:30px;
	}
	
	div[class^="layout"] h2 span,
	.image_description h2 span,
	.hours h2 span,
	.access_map h2 span,
	#recruit h2 span{
		padding-top:20px;
		border-top:#00a7ce 3px solid;
		font-size:20px;
		font-weight:bold;
	}
/*
	.layout_1 .content,
	.layout_2 .content{
		display:-webkit-flex; display:flex;
		-webkit-flex-direction:row; flex-direction:row;
		-webkit-justify-content:space-between; justify-content:space-between;
	}
*/
	.layout_1 .image,
	.layout_2 .image{
		margin:20px auto;
	}
	
	.layout_1 .text,
	.layout_2 .text{
		width:100%;
		margin:20px auto;
	}
	
	/* 画像と説明 */
	.image_description ul li{
		width:100%;
		margin:0 0 20px;
	}
	
		.image_description ul li:nth-child(odd){
			margin-left:0;
		}
		
		.image_description ul li:nth-child(even){
			margin-right:0;
		}
		
		.image_description ul li:nth-child(2n+1):last-child{
			margin-left:0;
			margin-right:0;
		}
	
	.image_description ul li .image img{
		vertical-align:bottom;
		object-fit:cover;
	}
	
	.image_description ul li p{
		margin-top:5px;
		font-size:14px;
	}
	
	/* 診察時間 */
	.hours table{
		width:100%;
		margin-top:20px;
	}
	
	.hours table th,
	.hours table td{
		padding:5px 0;
		border:#333 1px solid;
		font-size:12px;
	}
	
	.hours table th{
		background-color:#00b1ff;
		color:#fff;
	}
	
	.hours table td{
		background-color:#fff;
		text-align:center;
	}
	
		.hours table td:first-child{
			width:120px;
			padding-left:10px;
			padding-right:10px;
			text-align:left;
			font-weight:bold;
		}
	.hours p{
		font-size:14px;
	}
	
	/* アクセスマップ */
	.gmap{
		padding-bottom:56.25%;
	}
	
	/* 採用エントリー */
	#recruit .staff_message_list li{
		margin:30px auto;
	}
	
	#recruit .staff_message_list li .image{
		width:50%;
		margin:0 auto;
	}
	
	#recruit .staff_message_list li .text{
		width:75%;
		margin:10px auto;
	}
	
	#recruit .staff_message_list li .text .name,
	#recruit .staff_message_list li .text .director{
		margin-bottom:5px;
		border-bottom:#ddd 1px solid;
	}
	
	#recruit .job_description table{
		width:100%;
		margin:0 auto;
	}
	
	#recruit .job_description table th,
	#recruit .job_description table td{
		padding:15px;
		border:#ccc 1px solid;
		text-align:left;
	}
	
	#recruit .job_description table th{
		width:35%;
		background-color:#eee;
	}
	
	#recruit .job_description table td dt{
		font-weight:bold;
	}
	
	#recruit .job_description table td dt:not(:first-child){
		margin-top:20px;
	}
	
	/* プライバシーポリシー */
	.privacy h2{
		margin-top:30px;
		font-size:20px;
		font-weight:bold;
	}
	
	.privacy strong{
		font-size:16px;
	}

}/* End SP */

.stf_box p {
    margin:5px 0;
    font-size: 16px;
}
br.sp  { display: none;}


@media screen and (max-width: 767px) {
	.stf_box p {
		font-size: 14px;
	}
	br.sp  { display: block;}
	.pc_only  { display:  none;}
}

.Gmap iframe {
    width:100%;
    aspect-ratio: 2/1;
}

/*--------------------------------------
　schedule_list
---------------------------------------*/
.menu-price .schedule_list table {
	width: 100%;
	margin: 0 0 50px;
	box-sizing: border-box;
	border: 1px solid #ddd;
	color: #666;
}
.menu-price .schedule_list table:last-child {
	margin: 0 0 0;
}

.menu-price .schedule_list tr {
	width: 100%;
	box-sizing: border-box;
}

.menu-price .schedule_list thead th {
	background: rgba(10,169,200,0.7);
	width: 12.5%;
	color: #fff;
	border-left: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	font-size: 100%;
}

.menu-price .schedule_list tbody th {
	background: rgba(10,169,200,0.1);
	color: #666;
}
.menu-price .schedule_list th, .menu-price .schedule_list td  {
	border: none;
}

.menu-price .schedule_list th {
	padding: 15px 15px;
	box-sizing: border-box;
	font-size: 17px;
	font-weight: 700;
	text-align: center;
	border-left: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	font-size: 100%;
}

.menu-price .schedule_list td {
	padding: 15px 15px;
	box-sizing: border-box;
	font-size: 100%;
	text-align: center;
	line-height: 1.4;
	border-left: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	font-family: 'Noto Sans JP', sans-serifinherit;
}

.menu-price .schedule_list .rd {
	color: #fc2424;
}

.menu-price .schedule_list .bl {
	color: #006cff;
}

.menu-price .schedule_list .pk {
	background: #fcdddd;
	font-weight: 700;
}

@media screen and (max-width: 768px) {
	.menu-price .schedule_list table {
		margin: 0 0 15px;
	}

	.menu-price .schedule_list th {
		padding: 10px 3px;
		font-size: 2.4vw;
	}
	.menu-price .schedule_list thead th {
		font-size: 2vw;
	}

	.menu-price .schedule_list td {
		padding: 10px 3px;
		font-family: inherit;
	}
}

