@charset "utf-8";
/* ===================================================================
 style info : コンテンツエリア関係 他

fonts
 10px = 77%     11px = 85%     12px = 93%     13px = 100%
 14px = 108%    15px = 116%    16px = 123.1%  17px = 131%
 18px = 138.5%  19px = 146.5%  20px = 153.9%  21px = 161.6%
 22px = 167%    23px = 174%    24px = 182%    25px = 189%
 26px = 197%
=================================================================== */

/*----------------------------------------------------
	共通
----------------------------------------------------*/
/* スクロールバーの有無によるズレ対策 */
html {overflow-y: scroll;}

body {
	font-family:'\30d2\30e9\30ae\30ce\89d2\30b4 Pro W3', 'Hiragino Kaku Gothic Pro', '\30e1\30a4\30ea\30aa', Meiryo, '\ff2d\ff33 \ff30\30b4\30b7\30c3\30af ', sans-serif;
    line-height: 1.8;
	font-size: 14px;
	*font-size: 85%;
	color: #666666;
}

/* for IE6 */
* html body {font-family: "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;}
* html input, * html textarea {font-family: "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;}

/* リンク
----------------------------------------------------*/
a {outline: none;}

a:link,
a:visited {color: #4DB37A;}

a:hover {color: #008752;}


/*-------------------------------------
 * ノースクリプト　警告表示
 * レガシー　警告表示
 *-------------------------------------*/
#no_script,
#regacy {
	display:block;
	background-color:#FFCCCC;
	color:#CC0000;
	font-weight:bold;
	clear:both;
	text-align:center;
	font-size:75%;
	line-height:120%;
	padding:10px 0;
}


/* 汎用
----------------------------------------------------*/
/* clerfix */
#contents:after {
	content: "."; display: block; visibility: hidden; height: 0.1px; font-size: 0.1em; line-height: 0; clear: both;
}
.clearfix {zoom:1;}
	.clearfix:after {
		content: ""; 
		display: block; 
		clear: both;}
		* html .clearfix { height: 1%; }
.clear {clear: both;}

.imgl {
	float: left;
	margin: 0 10px 10px 0;
	}
.imgr {
	float: right;
	margin: 0 0 10px 10px;
	}

.txt {
	overflow: hidden;
	zoom: 1;
	}

.t-r {text-align: right;}
.t-c {text-align: center;}

.msg {color: #F00;}
.fontss {font-size: 76%;}
.fonts {font-size: 94%;}
.fontl {font-size: 110%;}
.fontll {font-size: 160%;}

.font01 {color: #333;}
.font02 {color: #4CB279;}
.font03 {color: #ED7972;}
.font04 {color: #F00; }

.mall0 { margin: 0; }
.pall0 { padding: 0; }

.mt0 { margin-top: 0 !important; }
.mb0 {margin-bottom: 0; }
.mt15 {margin-top: 15px !important;}
.mb5 {margin-bottom: 5px !important;}
.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;}
.mr5 {margin-right: 5px !important;}

.pt0 { padding-top: 0 !important; }
.pb0 { padding-bottom: 0 !important; }
.pt30 {padding-top: 30px !important;}
.pr5 {padding-right: 5px !important;}
.pl10 {padding-left: 10px !important;}
.pr20 {padding-right: 20px !important;}
.pr25 {padding-right: 25px !important;}
.pb30 {padding-bottom: 30px !important;}
.pall20 {padding: 20px;}
.pall30 {padding: 30px;}

.p-box--red {
	border: solid 3px #FF0000;
	background-color: #FFF2F2;
	}
.p-box--green {
	border: solid 3px #3D8866;
	background-color: #FFFFFF;
	}

.p-dl-green {
  --border-color: #4DB37A;
  }
  .p-dl-green dt {
    color: var(--border-color);
    font-weight: bold;
    font-size: 130%;
    }
  .p-dl-green .line {
    position: relative;
    display: inline-block;
    padding-left: 40px;
    }
    .p-dl-green dt .line::before {
      position: absolute;
      top: calc( 50% - 3px );
      content: '';
      width: 20px;
      height: 6px;
      background-color: var(--border-color);
      left: 0;
      }
  .p-dl-green dd {
    margin-left: 40px;
    }

/* //////////////////////////////////////////////////////////////////////////

	*.base layout

///////////////////////////////////////////////////////////////////////////*/

/*----------------------------------------------------
	#page（ページ全体）
----------------------------------------------------*/
#page {
	width: 940px;
	margin: 0 auto;
	font-size: 100%;
	}

/*----------------------------------------------------
	.wrap
----------------------------------------------------*/
.wrap {
	margin: 0 auto;
	width: 940px;
	clear: both;
	}


/*----------------------------------------------------
	.home（トップページ用背景画像）
----------------------------------------------------*/
.home {
	background-image: url(../img/top/home_bg.jpg);
	background-repeat: no-repeat;
	background-position: center top;
	}

/*----------------------------------------------------
	.bg（中ページ用背景画像）
----------------------------------------------------*/
.bg {
	background-image: url(../img/common/common_bg.jpg);
	background-repeat: no-repeat;
	background-position: center top;
	}



/* //////////////////////////////////////////////////////////////////////////

	1. header layout
	
///////////////////////////////////////////////////////////////////////////*/
header {
	position: relative;
	padding-bottom: 25px;
	}

/*	プライマリーナビゲーション
----------------------------------------------------*/
header #primary {
	position: absolute;
	width: 350px;
	top: 0;
	right: 0;
	}
	header #primary ul {
		margin: 0;
		padding: 0;
		position: relative;
		z-index: 1;
		}
	header #primary ul li {
		display: inline;
		margin: 0;
		padding: 0;
		}
	header #primary ul li img {vertical-align: top;}
		header #primary ul li#home {
			position: absolute;
			left: 0px;
			width: 67px;
			}
		header #primary ul li#contact {
			position: absolute;
			left: 83px;
			width: 70px;
			}
		header #primary ul li#tel {
			position: absolute;
			right: 16px;
			}


.home header h1 {
	margin: 0 36px 0 0;
	padding: 0;
	float: left;
	width: 331px;
	}
header h1 {
	margin: 152px 36px 0 0;
	padding: 0;
	float: left;
	width: 331px;
	}


/* グローバルナビゲーション
----------------------------------------------------*/
.home header #gnav {
	float: left;
	width: 572px;
	margin-top: 22px;
	}
header #gnav {
	float: left;
	width: 572px;
	margin-top: 173px;
	}
	header #gnav ul {
		margin: 0;
		padding: 0;
		}
	header #gnav li {float: left;}
	header #gnav li img {vertical-align: top;}


/*----------------------------------------------------
	footer
----------------------------------------------------*/
footer {
	background-image: url(../img/common/fooer_bg.jpg);
	background-repeat: no-repeat;
	background-position: center top;
	min-height: 350px;
	}
footer .wrap {
	padding-top: 35px;
	}
footer .wrap .flogo {
	float: left;
	width: 357px;
	}
	footer .wrap .flogo p {
		margin: 0 0 10px 0;
		padding: 0;
		}
footer .wrap nav {
	padding-top: 10px;
	overflow: hidden;
	zoom: 1;
	}
	footer .wrap ul {
		margin: 0;
		padding: 0;
		list-style: none;
		}
		footer .wrap ul li {float: left;}



/*----------------------------------------------------
	#contents
----------------------------------------------------*/
#contents {
	padding-bottom: 30px;
	}

.pageTop {
	clear: both;
	margin: 0;
	padding: 0;
	text-align: right;
	}

/*パンくずリスト*/
.breadcrumbs {
	padding-bottom: 30px;
	font-size: 86%;
	}
	.breadcrumbs a {
		padding: 0 4px;
		font-weight: bold;
		}
	.breadcrumbs .home {
		background-image: url(../img/common/icon_home.gif);
		background-repeat: no-repeat;
		display: inline-block;
		padding-left: 20px;
		background-position: left center;
		}



/*----------------------------------------------------
	#main
----------------------------------------------------*/
#main {
	float: left;
	width: 620px;
	}


/*----------------------------------------------------
	#sub
----------------------------------------------------*/
#sub {
	float: right;
	width: 280px;
	}
#sub .area {
	position: relative;
	background-color: #FFF;
	background-image: url(../img/common/sub_boxshadow.gif);
	background-repeat: no-repeat;
	background-position: right top;
	padding-top: 11px;
	margin-bottom: 20px;
	}
#sub .area:after {
	  z-index: -1;
	  position: absolute;
	  content: "";
	  bottom: 14px;
	  right: 10px;
	  left: auto;
	  width: 50%;
	  top: 80%;
	  max-width:280px;
	  background: #D9D9D9;
	  -webkit-box-shadow: 0 15px 10px #D9D9D9;
	  -moz-box-shadow: 0 15px 10px #D9D9D9;
	  box-shadow: 0 15px 10px #D9D9D9;
	  -webkit-transform: rotate(3deg);
	  -moz-transform: rotate(3deg);
	  -o-transform: rotate(3deg);
	  -ms-transform: rotate(3deg);
	  transform: rotate(3deg);
	}
	#sub .area .inner {
		box-shadow: 0 0 0 1px #E6E6E6;
		border-left: solid 6px #CFEBDC;
		padding: 14px 10px 0px 12px;
		font-size: 90%;
		}
	#sub .area .inner h3 {
		margin: 0 0 5px -19px;
		}
	#sub .area .inner p {
		margin: 0 0 10px 0;
		padding: 0;
		}
	#sub .area .inner .box {padding-bottom: 20px;}
	#sub .area .inner .box ul.note {
		margin: 0 0 5px 0;
		padding: 0;
		list-style: none;
		}
		#sub .area .inner .box ul.note li {
			background-image: url(../img/common/sub-icon.gif);
			background-repeat: no-repeat;
			background-position: left 3px;
			padding-left: 15px;
			}
	#sub .area .inner .box dl.time {
		margin: 0;
		padding: 5px 0 0 0;
		}
		#sub .area .inner .box dl.time dt {
			float: left;
			width: 65px;
			}
		#sub .area .inner .box dl.time dd {
			overflow: hidden;
			zoom: 1;
			margin: 0;
			padding: 0;
			}



/* //////////////////////////////////////////////////////////////////////////

	index.html

///////////////////////////////////////////////////////////////////////////*/
#topimg {
	width: 1000px;
	height: 435px;
	overflow: hidden;
	}
.prev-next{
	width: 940px;
	margin: 0 auto;
	position: relative;
	}
	.bx-next {
		position: absolute;
		right: -30px;
		display: block;
		background-image: url(../img/top/next.gif);
		}
	.bx-prev {
		position: absolute;
		left: -30px;
		background-image: url(../img/top/prev.gif);
		}
		.bx-next:hover, .bx-prev:hover{text-decoration: none;}
	.bx-next, .bx-prev {
		display: block;
		width: 30px;
		height: 30px;
		bottom: 211px;
		}
	.bx-next:hover,
	.bx-prev:hover {
		opacity: 0.7;
		filter: alpha(opacity=70);
	}

.home #greeting {
	margin-right: -9px;
	padding-bottom: 60px;
	}
	.home #greeting .box {
		float: left;
		width: 200px;
		margin-right: 9px;
		background-image: url(../img/top/lead_line.gif);
		background-repeat: repeat-y;
		background-position: left top;
		}
	.home #greeting .box h2 {
		margin: 0 0 0 6px;
		padding: 0;
		}
	.home #greeting .box dl {
		margin: 0;
		padding: 7px 7px 7px 13px;
		}
		.home #greeting .box dd {
			margin: 0;
			padding: 0;
			}
	.home #greeting .box ul {
		margin: 7px 0;
		padding: 0;
		list-style: none;
		}
	
#new h3 {
	margin: 0 0 10px 0;
	padding: 0;
	}
#new .inner {
	padding: 10px;
	}
	#new .inner dl {
		margin: 0;
		padding: 10px 0;
		border-bottom: dotted 1px #CCCCCC;
    color: #333;
    font-weight: bold;
		}
		#new .inner dt {
			float: left;
			width: 150px;
			
			background-image: url(../img/common/arrow01.gif);
			background-repeat: no-repeat;
			background-position: left center;
			padding-left: 26px;
			}
		#new .inner dd {
			overflow: hidden;
			zoom: 1;
			}
#new p.blog {
	margin: 0;
	padding: 10px 0 0;
	text-align: right;
	}

.news-body {
  color: #666;
  margin-left: 26px;
  margin-top: 5px;
  font-weight: normal;
}



/* //////////////////////////////////////////////////////////////////////////

	中ページ

///////////////////////////////////////////////////////////////////////////*/
.bg #main {
	padding-left: 13px;
	}
.bg #main h2 {
	margin: 0 0 30px -13px;
	padding: 0;
	}
.bg #main h3 {
	padding-bottom: 10px;
	}

.tbl01 {
	border: solid 1px #BEE4CF;
	border-bottom: none;
	}
	.tbl01 th {
		background: #E7F5ED;
		color: #4FB57C;
		font-weight: normal;
		text-align: left;
		}
	.tbl01 th,
	.tbl01 td {
		border-bottom: solid 1px #BEE4CF;
		padding: 6px 25px;
		}

.tbl01b {
	border: solid 1px #BEE4CF;
	border-bottom: none;
	}
	.tbl01b th {
		background: #E7F5ED;
		font-weight: normal;
		text-align: left;
		}
	.tbl01b th,
	.tbl01b td {
		border-bottom: solid 1px #BEE4CF;
		padding: 6px 25px;
		vertical-align: text-top;
		}

.tbl02 {
	border: solid 1px #BEE4CF;
	border-bottom: none;
	border-left: none;
	}
	.tbl02 th {
		background: #E7F5ED;
		font-weight: normal;
		text-align: left;
		padding: 6px 6px 6px 15px;
		}
	.tbl02 td {
		text-align: center;
		padding: 6px 16px;
		}
	.tbl02 th,
	.tbl02 td {
		border-bottom: solid 1px #BEE4CF;
		border-left: solid 1px #BEE4CF;
		}
.tbl02b {
	border: solid 1px #BEE4CF;
	border-bottom: none;
	border-left: none;
	}
	.tbl02b th {
		background: #E7F5ED;
		font-weight: normal;
		text-align: left;
		padding: 6px 6px 6px 15px;
		}
	.tbl02b td {
		padding: 6px 16px;
		}
	.tbl02b th,
	.tbl02b td {
		border-bottom: solid 1px #BEE4CF;
		border-left: solid 1px #BEE4CF;
		}
	
.tbl03 {
	border: solid 1px #BEE4CF;
	border-bottom: none;
	border-left: none;
	}
	.tbl03 td {
		padding: 6px 16px;
		border-bottom: solid 1px #BEE4CF;
		border-left: solid 1px #BEE4CF;
		}
.tbl03  tr:nth-child(odd) { background-color:#EEF9F2; }	/*奇数*/
.tbl03  tr:nth-child(even) { background-color:#FFF; }	/*偶数*/

.tbl04 {
	border: solid 1px #E7E7E7;
	border-bottom: none;
	border-left: none;
	}
	.tbl04 th {
		text-align: center;
		font-weight: bold;
		background: #F3F3F3;
		}
	.tbl04 th, .tbl04 td {
		padding: 6px 16px;
		border-bottom: solid 1px #E7E7E7;
		border-left: solid 1px #E7E7E7;
		}

.box01 {
	background: #FBEEEA;
	padding: 15px;
	color: #F00;
	}
.note2 {
	margin: 0 0 0 1em;
	padding-bottom: 0 !important;
	text-indent: -1em;
	}

/* //////////////////////////////////////////////////////////////////////////

	初めての方へ
	greeting

///////////////////////////////////////////////////////////////////////////*/
#gakkai ul {
	margin: 0;
	padding: 0;
	list-style: none;
	border: solid 1px #BEE4CF;
	border-bottom: none;
	}
	#gakkai ul li {
		display: block;
		padding: 6px 25px;
		border-bottom: solid 1px #BEE4CF;
		border-left: solid 5px #E7F5ED;
		}
#gallery ul {
	margin: 0;
	padding: 0;
	list-style: none;
	}
	#gallery ul li {
		float: left;
		}



/* //////////////////////////////////////////////////////////////////////////

	治療のご案内
	guide

///////////////////////////////////////////////////////////////////////////*/
.expense {
	margin-top: 40px;
	border: solid 1px #BEE4CF;
	background: #F2FBF5;
	position: relative;
	}
	.expense h4 {
		margin: 0;
		padding: 0;
		position: absolute;
		top: -17px;
		}
	.expense p {
		/*position: absolute;
		top: 15px;*/
		margin: 15px 0 0 0;
		padding: 10px 15px 15px;
		}
/*.medical01 .expense {height: 190px;}*/
.medical02 .expense {height: 110px;}
/*.medical03 .expense {height: 65px;}*/


/* //////////////////////////////////////////////////////////////////////////

	医療設備・症例
	equipments

///////////////////////////////////////////////////////////////////////////*/
#equipments01 .box {
	font-size: 96%;
	margin-bottom: 25px;
	padding: 15px;
	border: solid 3px #F9F1F1;
	}
#equipments02 h5 {
	margin: 0;
	padding: 0;
	}



/* //////////////////////////////////////////////////////////////////////////

	アクセスマップ
	access

///////////////////////////////////////////////////////////////////////////*/
#map dl {
	margin: 0;
	padding: 0;
	border: solid 1px #BEE4CF;
	}
	#map dt {
		margin: 0;
		padding: 10px 20px;
		background: #EEF9F2;
		}
	#map dd {
		margin: 0;
		padding: 6px 20px;
		border-top: solid 1px #BEE4CF;
		}
	#map dd p {
		margin: 0.5em 0;
		padding: 0;
		}



/* //////////////////////////////////////////////////////////////////////////

	お問合せ
	contact

///////////////////////////////////////////////////////////////////////////*/
#contact .inner {
	padding-left: 30px;
	margin-bottom: 25px;
	}
	#contact .inner p {
		padding-bottom: 10px;
		margin: 0;
		}
input, textarea {
	border: solid 1px #ccc;
	padding: 5px;
	}
input:hover,
textarea:hover {
	border: solid 1px #4EB47B;
	}
input[type="submit"], input[type="button"] {padding: 10px;}
input[type="submit"]:hover, input[type="button"]:hover {
	padding: 10px;
	background: #4EB47B;
	color: #FFF;
	}
#contact input[type="text"],
#contact textarea {
	width: 350px;
	}