@charset "utf-8";
@import url('./reset.css');
@import url('./add.css');
body {
	display:-webkit-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	min-width: 320px;
	min-height: 100%;
	color: #535353;
	background-color: #fff;
}
#contents {
	-webkit-box-flex: 1;
	-ms-flex: 1 0 auto;
	flex: 1 0 auto;
}

#header { background-color: #0049a8; }
#header a {
	display: block;
	height: 140px;
	margin: auto 10px;
	background: url('../image/general/sitetitle.png') no-repeat center center;
	background-size: contain;
}
@media screen and (min-width: 980px) {
	#header a {
		background-size: auto;
		margin: auto;
	}
}

#footer {
	padding-bottom: 20px;
	background-color: #0049a8;
	color: #fff;
	font-size: 14px;
}
#footer_info {
	display: table;
	margin: auto;
}
#footer_info dt { padding: 20px 0; }
#footer_info dd {
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 18px;
	line-height: 20px;
}
#footer_info dd img { vertical-align: middle; }
#footer_info dd.footerico_post { background-image: url('../image/general/footerico_post.png'); }
#footer_info dd.footerico_tel { background-image: url('../image/general/footerico_tel.png'); }
#footer_info dd.footerico_mail { background-image: url('../image/general/footerico_mail.png'); }

#footer_menu {
	display: table;
	margin: 10px auto 0;
}
#footer_menu td {
	position: relative;
	padding: 2px 10px 2px 14px;
}
#footer_menu td::before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	vertical-align: middle;
	width: 8px;
	height: 8px;
	box-sizing: border-box;
	border: 6px solid transparent;
	border-left: 8px solid #fff;
}
@media screen and (min-width: 980px) {
	#footer_info { float: left; }
	#footer_menu {
		float: right;
		margin-top: 20px
	}
	#footer_menu td { padding-right: 30px; }
}

/*mobile*/
/*m:320 tab:768 pc:980*/
@media screen and (min-width: 320px) and (max-width: 980px) {
}

#breadcrumb {
	height: 30px;
	padding: 0 10px;
	line-height: 30px;
	font-size: 14px;
	color: #959595;
}
#breadcrumb a {
	position: relative;
	margin-right: 2em;
	text-decoration: none;

}
#breadcrumb a:after {
	content: "";
	width: 0;
	height: 0;
	position:absolute;
	top: 0;
	bottom: 2px;
	right: -1.7em;
	margin: auto;
	
	box-sizing: border-box;
	border: 4px solid transparent;
	border-left: 6px solid #959595;
}
#breadcrumb a:link,
#breadcrumb a:visited { color: #00479d; }
#breadcrumb a:hover,
#breadcrumb a:active { color: #b22222; }

.ttl {
	position: relative;
	background-color: #0049a8;
	border-top: #4784d2 5px solid;
	border-bottom: #4784d2 5px solid;
	margin-bottom: 20px;
	padding: 10px 20px;
	font-size: 1.3em;
	line-height: 1.3em;
	letter-spacing: 0.2em;
	color: #fff;
}
#toppage .ttl { margin-bottom: 10px; }
.ttl a {
	position: absolute;
	display: inline-block;
	height: 30px;
	top: 0;
	bottom: 0;
	right: 10px;
	margin: auto;
	padding: 0 10px;
	background-color: #4784d2;
	font-size: 14px;
	line-height: 30px;
	letter-spacing: 0;
	color: #fff;
}
.ttl2 {
	background-color: #4784d2;
	margin-bottom: 20px;
	padding: 10px;
	font-size: 1.0em;
	line-height: 1.0em;
	color: #fff;
}
.ttl3 {
	margin-bottom: 10px;
	font-size: 1.2em;
	letter-spacing: .2em;
	color: #0049a8;
}
.ttl4 {
	margin-bottom: 20px;
	padding-left: .5em;
	border-left: #0049a8 15px solid;
	border-bottom: #0049a8 5px solid;
	font-size: 1.4em;
	letter-spacing: .2em;
	color: #0049a8;
}
.catchcopy {
	margin: 40px 10px;
	text-align: center;
}

ul.listitem_numbering,
ul.listitem_parentheses {
	counter-reset: cnt 0;
}
ul.listitem_numbering > li,
ul.listitem_parentheses > li {
	margin-left: 2.0em;
	padding-bottom: .5em;
}
ul.listitem_numbering > li:before,
ul.listitem_parentheses > li:before {
	counter-increment: cnt;
	padding-right: 0.5em;
	margin-left: -1.5em;
}
ul.listitem_numbering > li:before { content: counter(cnt) ". "; }
ul.listitem_parentheses > li:before{ content: counter(cnt) ")"; }

ul.listitem_disc,
ul.listitem_katakana {
	margin-left: 1.0em;
}
ul.listitem_disc > li {
	display: list-item;
	list-style-type: disc;
}
ul.listitem_katakana > li {
	display: list-item;
	list-style-type: katakana;
}

table.tablelist,
.tablelist table {
	width: 100%;
	border-collapse: collapse;
}
.tablelist th,
.tablelist td {
	padding: 2px 10px;
	border-width : 1px;
	border: 1px #000 solid;
}
.tablelist th { background-color: #dae7f6; }

#classpage .tablelist table {
	margin-bottom: 1.0em;
}
#classpage .tablelist th { width: 10.5em; }
@media screen and (max-width: 768px) {
	#classpage .tablelist th { width: 6.5em; }
}

/* newslist */
#newslist dl { margin: 0 auto 20px; }
#newslist dt {
	float: left;
	clear: both;
	padding-right: .5em;
}
#newslist dd {
	padding-left: 6.5em;
	padding-bottom: 3px;
}
#newslist dd a { text-decoration: underline; }
#newslist dd a:link,
#newslist dd a:visited { color: #00479d; }
#newslist dd a:hover,
#newslist dd a:active { color: #b22222; }

/* classpage */
.stafflist section {
	width: 100%;
	display:-webkit-box;
  	display:-ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	margin-bottom: 1.0em;
}
.stafflist .staff_area {
	-webkit-box-flex:1;
	-ms-flex-positive:1;
	flex-grow:1;
}
.stafflist .staff_img {
	-webkit-box-flex: 0;
	-ms-flex: 0 1 160px;
	flex: 0 1 160px;
	padding: 0 0 10px 0;
	text-align: center;
}
.stafflist img { border: 1px #ccc solid; }

@media screen and (min-width: 768px) {
	.stafflist section {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
	}
	.stafflist .staff_img { padding: 0 0 0 10px; }
}

.enkakulist,
table.stafflist,
.stafflist table {
	width: 100%;
	border-collapse: collapse;
}
.enkakulist tr > *,
.stafflist tr > * {
	padding: 2px 10px;
	border-width : 1px;
	border: 1px #000 solid;
}
.enkakulist th,
.stafflist th { background-color: #dae7f6; }

.stafflist th { width: 10.5em; }
@media screen and (max-width: 768px) {
	.stafflist th { width: 6.5em; }
}
.enkakulist tr > *:first-child {
	width: 4em;
	text-align: right;
}
.enkakulist tr > *:nth-child(2) {
	width: 3em;
	text-align: right;
}


/* patientpage */
.img_area {
	display:-webkit-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.img_area figure {
	padding: 5px;
}

/* contactpage */
#map iframe {
	width: 100%;
	height: 300px;
}
.img_email { vertical-align: middle; }

/* Photo Corner */
#phtc_menu > a {
	position: relative;
	display: block;
	margin: 0 10px 5px;
	padding: 5px 10px 5px 25px;
	background-color: #4784d2;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	color: #fff;
}
#phtc_menu > a:hover { background-color: #0049a8; }
#phtc_menu > a::before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 10px;
	margin: auto;
	vertical-align: middle;
	width: 8px;
	height: 8px;
	box-sizing: border-box;
	border: 6px solid transparent;
	border-left: 8px solid #fff;
}
#phtc h3 {
	display: block;
	background-color: #0049a8;
	border-top: #4784d2 5px solid;
	border-bottom: #4784d2 5px solid;
	margin-bottom: 10px;
	padding: 10px;
	font-size: 1.0em;
	line-height: 1.0em;
	color: #fff;
}
#phtc ul {
	display: flex;
	flex-flow: row wrap;
	margin-left: 5px;
}
#phtc ul > * {
	flex: 1 1 auto;
	max-width: 50%;
	padding: 0px 5px 5px 0;
}
#phtc small {
	font-size: .9em;
	color: #999;
}
