@import url('https://fonts.googleapis.com/css?family=Noto+Serif');


html{
	position: relative;
	-moz-font-feature-settings: "palt";
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
}
body{
	margin: 0;
	padding: 0;
	background-color: #fff;
}

header{
	position: relative;
}

header{
	z-index: 10;
	color: #333;
}

header .inner{
	width: 960px;
	margin: 0 auto;
	padding: 20px 0 0 0;
}

header .inner h1{
	margin: 0;
	padding: 0;
	font-family: tbudrgothic-std,sans-serif;
	font-weight: 700;
	font-style: normal;
	line-height: 0;
}

header .inner h1 a img:first-child{
	margin: 0 0 10px 0;
	filter:drop-shadow(0 0 3px #fff);
}

#header div h1 a img {
/* 	-webkit-filter: drop-shadow(0px 0px 6px rgba(255, 255, 255, 1)); */
/* 	filter: drop-shadow(0px 0px 6px rgba(255, 255, 255, 1)); */
}

#kamoku{
	text-align center;
	color: #003a70;
}

.tac{
	text-align: center;
}

#main{
	position: absolute;
	top: 0;
	left: 0;
}

header .inner h1 a{
	display: block;
	font-size: 42px;
	text-decoration: none;
	color: #003a70;
	text-align: center;
}

header .inner h1 a img{
	width: 400px;
}

header .inner ul{
	display: -webkit-box; /* before Android4.3 iOS6:Safari */
	display: -ms-flexbox; /* IE10 */
	display: -webkit-flex; /* Pc-safari */
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-ms-flex-flow: row wrap; /* IE10 */
	-webkit-flex-flow: row wrap; /* Pc-safari */
	flex-flow: row wrap;
	justify-content: center;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

header .inner ul li{
	width: 140px;
	margin: 10px;
	border: 1px solid #053B91;
	color: #053B91;
	border-radius: 2px;
	font-size: 20px;
	text-align: center;
}

#gyoumu{
	text-shadow: 0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff;
}

#msg1{
	box-sizing:  border-box;
	text-align: center;
	width: 640px;
	margin: 0 auto;
	padding: 10px;
	font-size: 21px;
	text-shadow: 0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff;
}

.kaiinnbi{
	box-sizing: border-box;
	border-radius: 10px;
	width: 640px;
	margin: 0 auto;
	text-align: center;
	color: #fff;
	background-color: #094364;
	font-size: 36px;
	padding: 10px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
}

#kamoku small{
	font-size: 18px;
	width: 100vw;
}


#msg2{
	box-sizing:  border-box;
	text-align: center;
	background-color: #FFF;
	width: 640px;
	padding: 10px;
	margin: 300px auto 10px;
	font-size: 28px;
	font-weight: bold;
	color: #7EAA2B;
	border: 1px solid #7EAA2B;
	-webkit-border-radius: 20px;
	border-radius: 20px;
}

#msg2 small{
	font-size: 18px;
}

#clinic_info h3{
	text-align: center;
}

#main{
	width: 100%;
	z-index: 9;
}

#main p{
	text-align: center;
}


#slide{
	list-style: none;
	width: 100%;
	height: 65vw;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

#slide li{
	display: table-cell;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	min-height: 100%;
	/* background-size: cover; */
}

#slide li h3{
	width: 740px;
	padding: 20px 0;
	font-size: 36px;
	margin: 420px auto 20px;
	text-align: center;
	color: #222;
	line-height: 1.8;
	font-weight: normal;
	letter-spacing: 2px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
	color: #111;
	text-shadow: 0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
}


#slide01{
	background-image: url('img1.webp');
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 100% auto;
}
#slide02{
	background-image: url('img2.webp');
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 100% auto;
}
#slide03{
	background-image: url('img3.webp');
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 100% auto;
}

#desc1{
	position: relative;
	z-index: 100;
	box-sizing: border-box;
	width: clamp(200px, calc(80vw), 860px);
	background: rgba(255,255,255,0.7);
	border: 1px solid #fff;
	border-radius: 10px;
	margin: 300px auto 0;
	padding: 10px 30px;
	text-align: justify;
	line-height: 1.9;
}



#shinryonaiyou{
	width: 480px;
	margin: 0 auto;	
}

#shinryonaiyou dt{
	margin: 30px 0 0 0;
}

#shinryonaiyou dt h2{
	font-size: 18px;
	font-weight: 300;
	text-align: center;
	border: 1px solid #003a70;
}

#clinic_info > div.clinic_info02 > p:nth-child(2) > img{
	display: block;
	margin: 0 auto !important;
	width: 50%;
}

#main #kaiinnbi{
	margin: 10px;
}

#shinryonaiyou dt h2{
	margin: 0 10px;
}

#clinic_info .clinic_info01 #kamoku{
	margin: 10px 0;
}

#clinic_info .clinic_info01 #incho{
	margin: 5px 0 10px;
}

#main #kaiinnbi{
	width: auto !important	;
}

#header .inner{
	width : 100%;
}

#header .inner h1,
#header .inner #kaiinnbi{
	width: 90%;
	margin: 40px auto 20px;
}




footer{
	position: absolute;
	width: 100%;
	text-align: center;
	font-size: 77%;
	padding: 20px 0;
	margin: 0;
	background-color: #ffffff;
	z-index: 100;
}

footer address{
	font-style: normal;
}

#copyright{
	color: #222;
}

#map{
	display: block;
	width: 100%;
	height: 600px;
	margin: 80px auto 0;
	z-index: 100;
	/* top: 95vh; */
	position: static;
}

#dayAndTime{
	position: absolute;
/* 	top: 660px; */
top: 780px;
left: calc(50% - 300px);
z-index: 10000;
width: 610px;
}

#dayAndTime table,
#dayAndTime tbody {
	width: 100%;
	display: block;
}

#dayAndTime table {
	background: #ffffffaa;
	margin: 0 0 20px;
	color: #77614c;
}

#dayAndTime table tr {
	display: flex;
	width: 100%;
	padding: 10px 0;
	border-bottom: 1px solid #d3d3d3;
}

#dayAndTime table tr:first-child {
	border-bottom: 3px solid #c9ebff;
}

#dayAndTime table th,
#dayAndTime table td {
	display: block;
	text-align: center;
	width: 11%;
	border-right: 1px dashed #d3d3d3;
}

#dayAndTime table tr th:first-child,
#dayAndTime table tr td:first-child {
	width: 34%;
	text-align: left;
	padding-left: 10px;
}



.hour_table{
	width: 600px;
	margin: 0 auto;
}

.hour_table th,
.hour_table td{
	border: 1px solid #FAE5C2;
	background: #FFF;
	text-align: center;
	padding: 5px 0;
}

.hour_table thead th{
	background: #FAE5C2;
	width: 160px;
}

.hour_table thead td{
	background: #FAEACF;
}

#kyushinbi{
	padding: 20px 0;
	line-height: 1;
	background: #fff;
	-webkit-border-radius: 20px;
	border-radius: 20px;
	border: 1px solid #FAE5C2;
}

#footer > h3 > a > img{
	width: 360px;
}

#jusho{
	font-size: 18px;
	margin-bottom: 40px;
}

#jusho a{
	color: #333;
}

.spOnly{
	display: none;
}

#kamoku span{
	display: inline-block;
	padding: 10px 25px;
	border: 1px solid #eee;
	border-radius: 30px;
	background: rgba(256,256,256,0.8);
	margin: 0 5px;
}

.content1 {
	width: min(75%, 1024px);
	margin: 40px auto;
	line-height: 1.8;
}

.content1 h3{
	font-size: 28px;
	color: #32A0B7;
	text-align: center;
	margin: 40px 0 20px 0;
}

.content1 p{
	font-size: 16px;
	text-align: left !important;
	margin: 0;
}

.flexWrapper{
	display: flex;
	gap: 40px;
}

.flexWrapper .flexBox{
	width: calc((100% - 40px) / 2);
}

#profile h4{
	font-size: 24px;
	color: #7EAA2B;
	margin: 0 0 20px 0;
}

#profile table{
	border-top: 1px solid #ccc;
}

#profile table tr{
	border-bottom: 1px solid #ccc;
}

#profile table th{
	width: 6em;
	vertical-align: top;
}

#profile table th,
#profile table td{
	padding: 5px 0;
}

#profile ul{
	padding: 0;
	margin: 20px 	0;
	border-top: 1px solid #ccc;
	list-style:  none;
}

#profile ul li{
	border-bottom: 1px solid #ccc;
	padding: 0 10px;
	list-style-position: inside;
}

.recruitLink a{
	display: block;
	width: 70%;
	text-align: center;
	padding: 20px 0;
	background-color: #32A0B7;
	border-radius: 20px;
	margin: 20px auto;
	text-decoration: none;
	color: #fff;
	font-weight: bold;
	font-size: 20px;
}

#recruit p{
	text-align: center !important;
	font-size: 20px;
}

#recruit p strong{
	font-weight: bold;
	color: #F05A00;
}


#recruit li::marker {
	content: '● ' !important;
	color: #32A0B7;
}



@media screen and (max-width: 1321px) {
	#main #gaikan img{
		width: 90%;
		height: auto;
		left: 0;
		margin: 0 0 0 5%;
	}
}

@media screen and (max-width: 1024px) {
	body{
		background-position: center -260px;
	}
	#main #gaikan{
		height: 480px;
	}
}

@media screen and  (max-width: 779px){
	body{
		background-position: center -390px;
	}
	#main #gaikan{
		height: 370px;
	}
	#header .inner{
		width : 100%;
	}

	#header .inner h1,
	#header .inner #kaiinnbi{
		text-align: center;
	}


	#header .inner h1 img,
	#header .inner #kaiinnbi img{
		width : 60%;
		height: auto;
	}
}





@media screen and (max-width: 646px) {

	#map{
		margin: 40px auto 0;
	}

	#main #slide{
		height: 80dvh;
	}

	#main #slide li{
		width:100dvw;
		height: 70dvh !important;
		-webkit-background-size:cover;
		-o-background-size:cover;
		background-size:cover;
	}

	#slide li h3{
		box-sizing: border-box;
		width: 96vw !important;
		margin: 0 2vw;
		margin-top: 250px !important;
		font-size:clamp(18px,1.2dvw,30px);
		line-height: 1.6;
	}
	#kamoku small{
		font-size: 16px;
		width: 100vw;
	}

	.hour_table{
		width: 96vw;
		margin: 10px 2vw;
		margin: 0 auto;
		border-radius: 10px;
		overflow: hidden;
	}

	#dayAndTime{
		width: 100vw;
		position: absolute;
		top: 520px;
		left: 0;
		z-index: 10000;
	}

	#msg2{
		box-sizing:  border-box;
		text-align: center;
		background-color: #FFF;
		width: 100vw;
		padding: 10px 0;
		margin: 10px auto;
		font-size: 30px;
		font-weight: bold;
		-webkit-border-radius: 20px;
		border-radius: 20px;
	}

	#msg2 small{
		font-size: 18px;
		font-weight: normal;
	}


	#msg1{
		width: 100% !important;
	}


	#kyushinbi {
		width: 96vw;
		margin: 10px 2vw;
		box-sizing:border-box;
		font-size: 88%;
	}


	body{
		background-position: center -340px;
	}

	header .inner h1 a{
		font-size: 24px
	}

	header .inner ul li{
		width: calc(32% - 20px);
		margin: 10px;
		padding: 0;
		font-size: 16px
	}

	#msg2{
		font-size: 21px;
		width: 96vw;
		margin: 180px 2vw 0 ;
		background-color: #ffffff	;
		line-height: 1.4;
		padding: 0 10px;
	}

	#main #kaiinnbi{
		font-size: 21px;
	}

	#shinryonaiyou dd{
		padding: 5px 20px;
		margin: 0;
		text-align: justify
	}

	#shinryonaiyou dt h2{
		margin-bottom: 6px;
	}

	#main #kaiinnbi .num{
		font-size: 28px;
	}

	#main #kaiinnbi strong{
		font-size: 26px;
	}

	#shinryonaiyou{
		width: 100%;
	}

	#clinic_info{
		flex: none !important;
		display: block;
	}

	#clinic_info{
		width: 100%;
	}

	#clinic_info .clinic_info01{
		width: auto;
		margin: 10px;
	}

	#clinic_info .clinic_info01 h3{
		text-align: center;
		margin-bottom: 6px;
	}

	#clinic_info > div.clinic_info01 > p:nth-child(5){
		text-align: right;
	}

	#jusho{
		padding: 0 20px;
		margin: 0 auto 0
	}

	#clinic_info > div.clinic_info02 > p:nth-child(2){
		margin: 0
		width: 100%:  !important;
	}

	#footer > h3 > a > img{
		width: 90vw;
		display: block;
		margin: 0 auto;
	}

	.spOnly{
		display: inline;
	}

	#jusho{
		font-size: 100%;
	}

	.content1 {
		width: min(90%, 1024px);
		margin: 40px auto;
		line-height: 1.8;
	}

	#profile table{
		margin: 0 0 40px;
	}

	.flexWrapper{
		display: block;
	}

	.flexWrapper .flexBox{
		width: 100%;
	}

	#recruit p{
		text-align: left !important;
	}

	.recruitLink a{
		width: 100%;
	}

	#recruit > ul{
		padding: 0 0 0 1.5em;
	}



}


