@charset "utf-8";
/* 繰り返し利用するもの ------------------------------------------- */
.clearfix {
	zoom: 100%;
}
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
/* 共通のデザイン----------------------------------------- */
body {
	color: #333;
	text-align: left;
	font-size: 0.9em;
}
body.fontL #contents {
	font-size: 120%;
}
body.fontM #contents {
	font-size: 100%;
}
body.fontS #contents {
	font-size: 90%;
}
/* アクセシビリティ */
#home #main h2 {
	width: 0;
	height: 0;
	overflow: hidden;
}
#home #main a {
	text-decoration: underline;
}
#home #main a:hover {
	text-decoration: none;
}
/* レイアウト ------------------------------------------ */
div#header {
	width: 100%;
}
div#header-inner {
	text-align: right;
	width: 980px;
	height: 70px;
	margin: 0 auto;
}
div#g_nav {
	width: 100%;
	height: 45px;
	background: url(../../img/header/g_nav_bg.gif) 0 0 repeat-x;
}
div#g-nav-inner {
	width: 980px;
	margin: 0 auto;
	position: relative;
}
div#g_nav ul li {
	float: left;
}
div#g_nav ul li a {
	display: block;
	width: 120px;
	height: 45px;
}
#home div#container, #page div#container {
	width: 980px;
	margin: 0 auto;
	text-align: left;
	padding: 30px 0 60px;
}
#page div#container {
	padding: 0 0 60px;
}
div#main {
	width: 700px;
	float: right;
}
div#sidebar {
	width: 250px;
	float: left;
}
div#footer {
	width: 100%;
	background: #eee url(../../img/footer/footer-bg.gif) 0 0 repeat-x;
	padding-top: 20px;
}
div#footer-inner {
	width: 980px;
	margin: 0 auto;
	text-align: left;
	padding-bottom: 30px;
	position: relative;
}
div#copyright {
	text-align: center;
	background: #c7c7c7;
	padding: 10px 0;
	font-size: 0.75em;
}
/* パーツ -------------------------------------------------------- */
#page #main h2 {
	margin-top: 30px;
	background: url(../../img/common/h2_bg.gif) 0 0 no-repeat;
	padding-left: 15px;
	height: 40px;
	line-height: 42px;
	font-size: 1.25em;
	color: #855295;
	margin-bottom: 15px;
}
#main h3 {
	height: 30px;
	background: url(../../img/common/h3_bg.gif) 0 bottom no-repeat;
	line-height: 25px;
	font-size: 1em;
	padding-left: 18px;
	margin: 20px 0 10px;
	padding-top: 5px;
}
#main h4 {
	height: 30px;
	line-height: 25px;
	font-size: 1em;
}
.h4_inner {
	padding-left: 18px;
	margin: 20px 0 10px;
}
/* サイドバー ---------------------------------------------------- */
#sidebar ul.s-menu {
	margin-bottom: 20px;
	font: 0.9em;
}
#sidebar ul.s-menu li a {
	background: #fff url(../../img/sidebar/side_bg.gif) 3px 15px no-repeat;
	padding: 10px 0px 10px 20px;
	border-bottom: 1px dotted #ccc;
	display: block;
}
#sidebar ul.s-menu li a:hover, #sidebar ul.s-menu li a.current {
	background: #eee url(../../img/sidebar/side_bg-hover.gif) 3px 15px no-repeat;
	text-decoration: none;
}
#sidebar ul.s-menu li ul li a {
	background: #fff url(../../img/sidebar/child_menu.gif) 15px 18px no-repeat;
	padding: 10px 0px 10px 25px;
}
#sidebar ul.s-menu li ul li a:hover, #sidebar ul.s-menu li ul li a.current {
	background: #eee url(../../img/sidebar/child_menu-hover.gif) 15px 18px no-repeat;
	padding: 10px 0px 10px 25px;
	text-decoration: none;
}
div#side-info {
	width: 230px;
	padding: 15px 10px 5px;
	border: 1px solid #ccc;
	background: url(../../img/sidebar/side-info_bg.gif) 0 0 no-repeat;
	margin-bottom: 20px;
}
div#side-info h3 {
	margin: 13px 0 8px;
}
div#side-info address, div#side-info p {
	font-size: 0.8em;
	font-style: normal;
	margin-bottom: 10px;
}
div#side-info table {
	width: 100%;
	border: 1px solid #ccc;
	font-size: 0.8em;
	margin-bottom: 10px;
}
div#side-info table th {
	background: #eee;
	text-align: center;
	border: 1px solid #ccc;
}
div#side-info table td {
	text-align: center;
	border: 1px solid #ccc;
}
.alignR {text-align: right;}
.mb10 {
	margin-bottom: 10px !important;
}
.mb20 {
	margin-bottom: 20px !important;
}
.mb30 {
	margin-bottom: 30px !important;
}
.mb40 {
	margin-bottom: 40px !important;
}
.mb50 {
	margin-bottom: 50px !important;
}
/* ヘッダー -------------------------------------------------------- */
h1 {
	padding-left: 260px;
	font-size: 9px;
	font-weight: normal;
	text-align: left;
	float: left;
}
.h-right {
	float: right;
	width: 180px;
}
#header div.h-right ul {
	margin: 5px 0;
	padding-left: 40px;
}
#header div.h-right ul li img {
	vertical-align: bottom;
}
#header div.h-right ul li {
	float: left;
	margin-left: 5px;
}
p#logo a {
	position: absolute;
	width: 270px;
	height: 145px;
	left: -10px;
	top: -70px;
	outline: none;
}
div#g_nav ul {
	width: 600px;
	margin: 0 auto;
	padding-left: 380px;
}
/* フッター ----------------------------------------------------------- */
p.pagetop a {
	width: 105px;
	height: 24px;
	position: absolute;
	right: 0;
	top: -40px;
}
div#footer-inner div.f-con {
	float: left;
	margin-right: 20px;
}
div#footer-inner div.f-con-r {
	float: right;
}
#footer-inner div.site {
	width: 280px;
}
#footer-inner div.info {
	width: 380px;
}
#footer-inner div.clinic {
	width: 260px;
}
div.f-con h2, div.f-con-r h2 {
	margin-bottom: 10px;
}
div.f-con ul li, div.f-con p, div.f-con-r p {
	font-size: 0.7em;
}
div.f-con ul li {
	float: left;
}
div.f-con ul li a {
	width: 83px;
	display: block;
	background: url(../../img/footer/sitemap_mark.gif) 0 center no-repeat;
	padding-left: 10px;
}
/* 休診案内 ----------------------------------------------------------- */
table.schedule {
	border-collapse: collapse;
	width: 90%;
	border: 1px solid #B5B5B5;
	margin: 5px auto 10px;
}
table th {
	padding: 5px;
	border: 1px solid #B5B5B5;
	font-weight: normal;
	background: #F0F0F0;
	text-align: center;
}
table td {
	vertical-align: middle;
	padding: 7px;
	border: 1px solid #B5B5B5;
	line-height: 140%;
	text-align: center;
}
table.schedule td.red {
	color: #cc0000;
	background-color: #FCC;
}
table.schedule th.red,table.schedule span.red {
	color: #cc0000;
}
table.schedule th.sat,table.schedule span.sat {
	color: #006699;
}

/*日付統合時の調整*/
table.schedule thead th.merge span{display: inline-block;}
table.schedule thead th.merge span.btw{
	padding: 0 0.5em;
	vertical-align:50%;
}


/* すみれ祭り ----------------------------------------------------------- */
div#side-festival {
	width: 230px;
	padding: 15px 10px 5px;
	border: 1px solid #ccc;
	background: url(../../img/banner/festival-back.jpg) no-repeat right top;
	margin-bottom: 10px;
	margin-top: 15px;
}
div#side-festival h3 {
	margin: 45px 0 8px;
}
div#side-festival p.date {
	margin: 15px 0 8px;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	/*background:url(../../img/banner/festival-icon.jpg) no-repeat center bottom;
	height: 110px;*/
}
div#side-festival span.dow {
	font-size: 14px;
	font-weight: bold;
}
div#side-festival p.contact {
	padding-top: 70px;
	background: url(../../img/banner/festival-icon.jpg) no-repeat center top;
	font-size: 0.8em;
	font-style: normal;
	margin-bottom: 5px;
}
div#side-banner1 {
	/*width:230px;
	padding: 15px 10px 5px;
	border:1px solid #ccc;
	background:url(../../img/banner/festival-back.jpg) no-repeat right top;*/
	margin-bottom: 10px;
	margin-top: 10px;
}
/* サイドお知らせ ----------------------------------------------------------- */
div#side-news {
	width: 230px;
	padding: 15px 10px 5px;
	border: 1px solid #ccc;
	background: url(../../img/banner/festival-icon.jpg) no-repeat right top;
	margin-bottom: 10px;
	margin-top: 15px;
	text-align: center;
}
div#side-news h3 {
	margin: 60px 10px 8px;
	color: #390;
}
div#side-news h4 {
	margin: 10px;
	font-weight: bold;
	color: #390;
}
div#side-news p.contact {
	padding: 10px;
	font-size: 0.8em;
	font-style: normal;
	margin-bottom: 5px;
}
/* きらりん ----------------------------------------------------------- */
#g-nav-inner ul li a:hover img, #sidebar a:hover img {
	opacity: .5;
	-webkit-opacity: .5;
	-moz-opacity: .5;
	filter: alpha(opacity=50); /* IE lt 8 */
	-ms-filter: "alpha(opacity=50)"; /* IE 8 */
}
#g-nav-inner ul li a img, #sidebar a img {
	-webkit-transition: opacity 1s ease-out;
	-moz-transition: opacity 1s ease-out;
	-ms-transition: opacity 1s ease-out;
	transition: opacity 1s ease-out;
}