@charset "utf-8";

html,body,h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd,form,input{margin:0px;padding:0px;}
ul,ol{list-style:none;}
body{font-family:"メイリオ","Meiryo","ヒラギノ角ゴ Pro W3",Verdana,"ＭＳ Ｐゴシック","Osaka",sans-serif;font-size:12px;line-height:1.6em;}

*:first-child + html body,
*:first-child + html td {
	font-family:"ＭＳ Ｐゴシック",sans-serif; /* for IE7 */
}

img{border:none;}
a{text-decoration:underline;}
a:link		{color:#48B5ED;}
a:visited	{color:#2895CD;}
a:hover		{color:#68D5FF;text-decoration:none;}
a:active	{color:#68D5FF;text-decoration:none;}
body{
	background:#ffffff;
	color:#1D0804;
}
::-moz-selection{background:#48B5ED; color:#fff;}

/* ---------------------------- masthead ------------------------------ */
#masthead{
	width:880px;
	height:61px;
	margin:0 auto;
	}
	#masthead h1{
		float:left;
		}
	#masthead ul.mainmenu{
		float:right;
		margin-top:32px;
		line-height:1.2em;
		}
		#masthead ul.mainmenu li{
			float:left;
			padding:0 10px;
			background:#48B5ED;
			padding:2px 7px;
			margin-left:5px;
			}
			#masthead ul.mainmenu li:hover{
				background:#68D5FF;
			}
		#masthead ul.mainmenu li a{
			display:block;
			color:white;
			text-decoration:none;
		}
		
		#masthead ul.mainmenu li span{
			display:block;
			color:white;
		}
		
		#masthead ul.mainmenu li #submenu{
			position:absolute;
			padding-top:5px;
			margin-left:-130px;
		}
		#masthead ul.mainmenu li #submenu li{
			float:none;
			background:#ccc;
			border-top:1px solid #fff;
			border-left:1px solid #fff;
			border-right:1px solid #fff;
			padding:0;
		}
						#masthead ul.mainmenu li #submenu li.last{
							border-bottom:1px solid #fff;
						}
				#masthead ul.mainmenu li #submenu li a,
				#masthead ul.mainmenu li #submenu li span{
					line-height:1.8em;
					display:block;
					padding:2px 10px 2px 2px;
					background:#48B5ED;
					color:white;
					text-decoration:none;
				}
				#masthead ul.mainmenu li #submenu li a:hover{
					background:#68D5FF;
				}
				#masthead ul.mainmenu li #submenu li span{
					background:#68D5FF;
				}
				
				
/* ---------------------------- maincolumn ------------------------------ */
#indexhead{
	width:880px;
	margin:0 auto;
	background:url(../images/header_bg.gif);
	padding-bottom:10px;
	margin-bottom:10px;
}
	#indexhead h2{
		padding:10px 10px 9px;
	}
	#indexhead ul{
		margin:0px 0 0px 10px;
	}
	#indexhead ul li{
		float:left;
		width:287px;
		padding-bottom:5px;
	}
	#indexhead ul li div.body{
		background:url(../images/search_th_bg.gif);
		margin-right:5px;
		padding:0 10px;
		height:130px;
	}
				#indexhead ul li.search{
					width:286px;
				}
				#indexhead ul li.search div.body{
					margin-right:0;
				}
						#indexhead ul li.search div.body input.text{
							margin-top:25px;
							width:210px;
							border:1px solid #1D0804;
							height:18px;
							font-size:12px;
							vertical-align:top;
						}
						#indexhead ul li.search div.body input.button{
							margin-top:25px;
							width:50px;
							background:#5A4444;
							color:white;
							height:20px;
							border:1px solid #1D0804;
							font-size:12px;
							vertical-align:top;
						}
						#indexhead ul li.search div.body input.button:hover{
							background:#48B5ED;
							color:#fff;
						}
				#indexhead ul li#maparea{
					width:860px;
					padding-bottom:0;
				}
					#indexhead ul li#maparea p.title{
						float:left;
						}
					#indexhead ul li#maparea p.zoom{
						float:right;
						}
					#indexhead ul li#maparea p.zoom a{
						color:white;
						}
				#indexhead ul li#maparea div.body{
					margin-right:0;
				}
				#indexhead ul li div.body div#map{
					background:#fff;
					width:840px;
					clear:both;
				}
				#maparea.small div.body{height:230px;}
				#maparea.large div.body{height:430px;}
				#map.small{height:180px;}
				#map.large{height:380px;}
				
		#indexhead ul li div.body p{
			padding:10px 0;
		}
		#indexhead ul li div.body ul{
			width:261px;
			height:80px;
			overflow:auto;
			background:#fff;
			margin:0;
			padding:0;
			line-height:1em;
			vertical-align:top;
			border:1px solid #1D0804;
		}
		#indexhead ul li div.body li{
			width:auto;
			float:none;
			line-height:1.3em;
			margin:0;
			padding:0;
		}
		#indexhead ul li div.body li a{
			display:block;
			padding:2px 5px;
			color:#1D0804;
			text-decoration:none;
			outline:0;
		}
		#indexhead ul li div.body li a:hover{
			background:#ccc;
			color:#1D0804;
		}
		
/* ---------------------------- container ------------------------------ */
#background{
		background:url(../images/index_container_bg.gif);
		padding-top:15px;
	}
#container{
	width:880px;
	margin:0 auto;
	}
	#container.index{
		width:880px;
		margin:0 auto;
	}
/* ---------------------------- maincolumn ------------------------------ */
#maincolumn{
	width:685px;
	float:left;
}
/* ---------------------------- header ------------------------------ */
#header{
	background:url(../images/header_bg.gif);
	width:685px;
	padding-top:10px;
	padding-bottom:10px;
	margin-bottom:20px;
	}
	#header h2{
		padding:0px 10px 0;
	}
		#header h2.nocontent{
			margin-bottom:10px;
		}
	#header div.body{
		padding:10px 10px 2px;
		margin:0 10px 10px;
		background:#fff;
	}
			#header div.body p{
				margin-bottom:8px;
				font-size:14px;
				}
			#header div.body p.photo{
				float:right;
				margin-left:10px;
				}
			
			#header p.point{
				margin:0 0px 10px;
				}
			
	#header div.search{
		margin:0 10px;
		}
	#header div.search p.header{
		margin:0 0 1px;
		padding:0;
		}
	#header div.search table{
		border-collapse:collapse;
		width:665px;
		color:white;
		}
	#header div.search table th.title{
		padding-bottom:15px;
		padding:10px;
	}
	#header div.search table th{
		background:url(../images/search_th_bg.gif);
		border-bottom:1px solid #fff;
		width:160x;
		vertical-align:top;
		padding:8px 10px;
		text-align:left;
		font-weight:normal;
		}
	#header div.search table td{
		border-bottom:1px solid #fff;
		background:#68D5FF;
		padding:8px 10px;
		}
	#header div.search table td.submit{
		width:70px;
		border-left:1px solid #fff;
		text-align:center;
		padding:0;
		}
				#header div.search table td.submit input{
					text-align:center;
					padding:5px 0;
					writing-mode: tb-rl;
				}
		#header div.search table td ul li{
			display:inline;
			margin-right:5px;
			padding-right:5px;
			border-right:1px solid #fff;
		}
				#header div.search table td ul li a{
					color:white;
					margin-right:3px;
				}
				#header div.search table td ul li span{
					font-size:10px;
					color:#FFC2CB;
				}
		#header div.search table td table{
			width:400px;
		}
		#header div.search table td table td{
			padding:0 15px 4px 0;
			margin:0;
			width:125px;
			white-space:nowrap;
			border:none;
			width:33%;
			line-height:1em;
		}
		#header div.search table td table td input{
			line-height:1em;
			margin:0;
			padding:0;
			width:1em;
			height:1em;
			vertical-align:middle;
		}
	
/* ---------------------------- detail ------------------------------ */
#detail{
	background:url(../images/header_bg.gif);
	padding-bottom:10px;
	margin-bottom:20px;
	padding:9px 10px 10px;
}
	#detail p.catch{
		margin:0;
		padding:0;
		background:#F1EFE7;
		padding:5px 10px;
		font-size:11px;
		line-height:1.4em;
	}
	#detail div.title{
		background:#190F04;
		padding:0px;
		margin:0;
		overflow:hidden;
		}
		
			#detail div.title h2{
				display:inline;
				background:#48B5ED;
				font-style:normal;
				color:#ffffff;
				padding:5px 10px;
				font-size:20px;
				margin:0;
				line-height:1.5em;
				float:left;
			}
			#detail div.title span{
				padding:5px;
				color:#9E9A96;
				min-width:30%;
				float:left;
				margin-top:5px;
				margin-left:5px;
			}
	#detail div.body{
		background: #F1EFE7;
		padding:10px;
	}
	#detail div.left{
		margin:0px 10px 10px 0;
		float:left;
	}
		#detail div.left p.photo{
			vertical-align:top;
			width:238px;
		}
		#detail div.left img{
			vertical-align:top;
		}
			#detail div.left p.qr{
				margin:5px 0 0;
				padding:0;
				float:left;
			}
			
	#detail table{
		margin-top:0px;
		padding:0;
		width:397px;
		border-collapse:collapse;
		font-size:14px;
	}
			#detail table th{
				border-bottom:1px solid #E8E6DE;
				padding:3px 20px 3px 5px;
				text-align:left;
				font-weight:normal;
				white-space:nowrap;
				vertical-align:top;
			}
			#detail table td{
				border-bottom:1px solid #E8E6DE;
				padding:3px 5px 3px;
				vertical-align:top;
			}
			#detail table .first{
				padding-top:0;
			}
			#detail table .last{
				border-bottom:none;
			}
	#detail p.button{
		text-align:right;
		margin-top:5px;
	}
			#detail p.button a:hover img{
				-moz-opacity:0.8;
				opacity:0.8;
				filter:Alpha(opacity=80);
			}
			
	
/* ---------------------------- contents ------------------------------ */
#contents{
	padding:0 0 0 10px;
}
	/* ---------------------------- index ------------------------------ */
	#contents.index div.feature{
		margin-bottom:15px;
		background:#fff;
		background:url(../images/index_feature_bg.gif) repeat-y;
	}
			#contents.index div.feature h3{
				float:left;
				width:176px;
				height:90px;
			}
				#contents.index div.feature h3 a:hover img{
					-moz-opacity:0.7;
					opacity:0.7;
					filter:Alpha(opacity=70);
				}
					#contents.index div.feature p{
						padding:17px 10px 0;
						margin-left:176px;
					}
			#contents.index div.feature ul{
				clear:both;
				background:#fff;
				padding: 10px 0 10px 10px
			}
					#contents.index div.feature li{
						width:166px;
						float:left;
					}
					#contents.index div.feature li a{
						display:block;
						width:160px;
						text-decoration:none;
						text-align:center;
						overflow:hidden;
					}
							#contents.index div.feature li a img{
								vertical-align:top;
							}
							#contents.index div.feature li a span{
								display:block;
								text-decoration:underline;
								padding:5px 0px 0px;
								text-align:left;
							}
					#contents.index div.feature li a:hover{
					}
							#contents.index div.feature li a:hover img{
								-moz-opacity:0.8;
								opacity:0.8;
								filter:Alpha(opacity=80);
							}
							#contents.index div.feature li a:hover span{
								text-decoration:none;
							}
					
	
	/* ---------------------------- feature ------------------------------ */
	#contents.feature p{
		margin:0 0px;
	}
	#contents.feature p.result{
		font-size:15px;
		margin-bottom:10px;
	}
	#contents.feature p.result em{
		font-weight:bold;
		color:#48B5ED;
		font-style:normal;
	}

		#contents.feature div.block{
			background:#F1EFE7;
			padding:10px 0;
			margin:0 10px  0 0;
			margin-bottom:10px;
			clear:both;
		}
			#contents.feature div.block h3{
				background:#E8E5D7;
				width:auto;
				font-weight:normal;
				line-height:1em;
				overflow:auto;
				font-size:12px;
			}
					#contents.feature div.block h3 a{
						background:#190F04;
						color:white;
						padding:8px 15px 8px 10px;
						text-decoration:none;
						float:left;
					}
					#contents.feature div.block h3 em{
						font-size:15px;
						margin-left:5px;
						font-style:normal;
						font-weight:bold;
					}

			#contents.feature div.block p.photo{
				clear:both;
				float:left;
				width:135px;
				margin:0;
				padding:0;
				margin-top:10px;
				text-align:right;
			}
				#contents.feature div.block p.photo img{
					vertical-align:top;
				}
				#contents.feature div.block p.photo a:hover img{
					-moz-opacity:0.8;
					opacity:0.8;
					filter:Alpha(opacity=80);
				}
			#contents.feature div.block dl.detail{
				font-size:12px;
				margin-top:10px;
				margin-bottom:10px;
				width:520px;
				float:right;
			}
					#contents.feature div.block dl.detail dt{
						float:left;
						width:100px;
						clear:left;
						border-top:1px solid #DBD9D2;
						padding-top:5px;
						margin-top:5px;
					}
					#contents.feature div.block dl.detail dd{
						width:410px;
						float:left;
						border-top:1px solid #DBD9D2;
						padding-top:5px;
						margin-top:5px;
					}
							#contents.feature div.block dl.detail .first{
								padding-top:0;
								margin-top:0;
								border:none;
							}
			
			#contents.feature div.block p.button{
				margin-left:145px;
			}
			#contents.feature div.block p.button a:hover img{
				-moz-opacity:0.8;
				opacity:0.8;
				filter:Alpha(opacity=80);
			}
			

			#contents.feature ul.navigation{
				clear:both;
				text-align:center;
				margin:20px auto 20px;
			}
				#contents.feature ul.navigation li{
					display:inline;
				}
					#contents.feature ul.navigation li a,
					#contents.feature ul.navigation li span{
						padding:5px 10px;
						border:1px solid #ccc;
						background:#eee;
					}
						#contents.feature ul.navigation li a:hover{
							background:#68D5FF;
							color:white;
						}
						#contents.feature ul.navigation li span{
							background:#68D5FF;
							color:white;
						}
	/* ---------------------------- detail ------------------------------ */
	#contents.detail{
	}
	#contents.detail h3{
		margin:0;
		padding:0;
	
	}
	#contents.detail table{
		width:665px;
		border-collapse:collapse;
	}
	#contents.detail table th{
		width:125px;
		background:#F7F6F1;
		border:1px solid #DBD9D2;
		padding:3px 5px;
		font-weight:normal;
		text-align:left;
		vertical-align:top;
	}
	#contents.detail table td{
		border:1px solid #DBD9D2;
		padding:3px 5px;
		vertical-align:top;
	}
	/* ---------------------------- rule ------------------------------ */
	#contents.rule{
		padding:0;
		}
		#contents.rule h1{
			margin-bottom:15px;
			}
		#contents.rule h2{
			font-size:15px;
			font-weight:bold;
			margin-top:15px;
			margin-bottom:9px;
			border-bottom:1px dotted #ccc;
			padding-bottom:5px;
			}
		#contents.rule p{
			margin-bottom:10px;
			}
			#contents.rule ol{
				list-style:decimal;
				padding-left:20px;
				}
				#contents.rule ol li{
					margin-bottom:12px;
					}
				#contents.rule ol ol{
					list-style:upper-roman;
					padding-left:30px;
					margin:10px 0;
					}
					#contents.rule ol ol li{
						margin-bottom:2px;
					}
	/* ---------------------------- contact ------------------------------ */
	#contents.contact{
		padding:0;
		}
		#contents.contact h1{
			margin-bottom:15px;
			}
	#contents.contact p{
		margin-bottom:10px;
	}
	#contents.contact table{
		border-collapse:collapse;
		margin-bottom:10px;
	}
		#contents.contact table th {
			width: 170px;
			border: solid 1px #fff;
			font-size: 13px;
			color: #ffffff;
			background-color: #48B5ED;
			padding-left: 10px;
			text-align:left;
			font-weight:normal;
			vertical-align:top;
			padding-top:5px;
		}

		#contents.contact table td{
			border: solid 1px #fff;
			background-color: #E8E5D7;
			padding: 5px 5px;
		}
		#contents.contact table td input{
			width:98%;
		}
		#contents.contact table td textarea{
			width:98%;
			height:10em;
		}
		#contents.contact p.submit{
			text-align:center;
		}
		#contents.contact p.submit input{
			padding:2px 10px;
			margin:0 3px;
		}
		#contents.contact p.complete{
			margin-bottom:100px;
		}
/* ---------------------------- sidebar ------------------------------ */
#sidebar{
	width:180px;
	float:right;
}
	#sidebar h3{
		background:#E8E5D7 url(../images/feature_h_bg.gif) no-repeat;
		padding:10px 10px 10px 35px;
		font-size:12px;
		font-weight:normal;
						min-height:35px;
	}
	#sidebar h3 a{
	}
	#sidebar ul.feature{
		border:1px solid #E8E5D7;
		border-bottom:none;
		margin-bottom:9px;
	}

			#sidebar ul.feature li{
				border-bottom:1px solid #E8E5D7;
			}
					#sidebar ul.feature li a{
						display:block;
						padding:10px;
					}
					#sidebar ul.feature li a img{
						vertical-align:top;
						border:1px solid #fff;
						margin-bottom:2px;
					}
					#sidebar ul.feature li a:hover{
						background:#F8F5E7;
					}

					#sidebar ul.feature li a:hover img{
						-moz-opacity:0.8;
						opacity:0.8;
						filter:Alpha(opacity=80);
					}

					#sidebar ul.feature li a span{
						display:block;
					}
	
	#sidebar ul.banner{
	
	}
			#sidebar ul.banner li{
				margin-bottom:8px;
			}

			#sidebar ul.banner li img{
				vertical-align:top;
			}


/* ---------------------------- footerhr ------------------------------ */
#footerhr{
	width:100%;
	font-size:0;
	height:1px;
	background:#d5d5d5;
	clear:both;
}

/* ---------------------------- footer ------------------------------ */
#footer{
	clear:both;
	width:880px;
	margin:0 auto;
	padding:10px 0 25px;
}
	#footer ul.menu{
	}
	#footer ul.menu li{
		display:inline;
		margin-left:8px;
	}
	#footer ul.menu li.first{
		margin-left:0px;
	}
		#footer ul.menu ul.child{
			display:inline;
			display:none; /* for testup */
		}
		#footer ul.menu ul.child li{
			display:inline;
			border-right:1px solid #d5d5d5;
			border-left:none;
			padding-right:8px;
			margin-right:8px;
			margin-left:0;
			padding-left:0;
		}
	#footer p.copyright{
		margin-top:3px;
	}
.clear:after {
  content: ".";  /* 新しい要素を作る */
  display: block;  /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
  font-size: 0;
}

.clear {
  min-height: 1px;
}

* html .clear {
  height: 1px;
  /*¥*//*/
  height: auto;
  overflow: hidden;
  /**/
}