@charset "UTF-8";
* {margin: 0px; padding: 0px;}
body{
	font-family: "Lucida Grande", "Lucida Sans Unicode", "Meiryo", "メイリオ", Arial, Helvetica, "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", sans-serif;
	background-color: #fff7ee;
	-webkit-text-size-adjust: 100%;
}
h1, h2, h3, h4{
	margin: 0 2% 5px;
	text-align: center;
	font-weight: normal;
	line-height: 1.5em;
}
h1{
	color: #830;
	font-size: 25px;
	font-weight: bold;
	line-height: 1.3em;
}
h2{
	color: #b60;
	font-size: 20px;
	line-height: 1.4em;
}
h3{
	color: #555;
	font-size: 18px;
}
/*
h4{
	color: #ccc;
	font-size: 17px;
}
*/
p{
	margin: 0 2% 10px;
	color: #555;
	font-size: 15px;
	text-align: justify;
	line-height: 1.5em;
}
a{
	text-decoration: none;
}
/* div -----------------------------------------------*/
div#wrap{
	margin: 0 auto;
	width: 100%;max-width: 1000px;
	border: 1px solid #830;
	border-top: none;
	background-color: #fff;
}
header{
	position: relative;
	height: 50px;
	text-align: center;
	border-bottom: 1px solid #fff;
	background: -moz-linear-gradient(#f93,#830);
	background: -webkit-gradient(linear, left top, left bottom, from(#f93), to(#830));
	background-color: #830;
}
header #logo{
	position: absolute;
	padding: 0 5px;
	margin: 0 auto;
	right: 0;
	left: 0;
	bottom: 0;
}
article{
	clear: both;	
	padding-top: 10px;
	padding-bottom: 10px;	
	width: 100%;
	text-align: center;
}
section{
	padding-bottom: 10px;	
}
section p{
	text-align: center;
}
aside#link{
	clear: both;	
	margin: 10px auto;
	width: 100%;
	text-align: center;
}
div.error{
	overflow: hidden;
	width: 85%;
	margin: 20px auto 0;
	padding: 20px 2%;
	border: 1px solid #d00;
	border-radius: 1em;
	-webkit-border-radius: 1em;
	-moz-border-radius: 1em;
}
div.error h2{
	color: #d00;
	font-weight: bold;
}
div.error p{
	color: #333;
}

/* navi -----------------------------------------------*/
ul#navi {
	text-align: center;
	list-style: none;
}
ul#navi li {
	color: white;
}
ul#navi li a {
	float: left;
	padding: 10px 0;
	display: block;
	color: white;
	width: 25%;
	font-size: 20px;
	line-height: 1.3em;
	text-decoration: none;
	border-bottom: 1px solid #fff;
	background-color: #b60;
}
ul#navi li a:hover {
	color: #fff;
	background-color: #a50;
}

/* 現在のページのメニュー項目を変更 */
body#top ul#navi a#a_top {
  color: #fff;
  font-weight: normal;
	background-color: #940;
}
body#repair ul#navi a#a_repair {
  color: #fff;
  font-weight: normal;
	background-color: #940;
}
body#access ul#navi a#a_access {
  color: #fff;
  font-weight: normal;
	background-color: #940;
}
body#outline ul#navi a#a_outline {
  color: #fff;
  font-weight: normal;
	background-color: #940;
}

/* table -----------------------------------------------*/
table{
	margin: 0 auto;
	border-collapse: collapse;
}
table th, table td{
	padding: 3px 7px 2px;
	line-height: 1.5em;
	font-size: 15px;
}
table th{
	color: #333;
	text-align: right;
}
table td{
	color: #555;
	text-align: left;
}

/* table asct ------------------------------------------*/
table.asct{
	width: 96%; max-width: 650px;
}
table.asct th, table.asct td{
	border: 1px solid #830;
}
table.asct th{
	font-weight: normal;
	background-color: #edc;	
}

/* ページの先頭に戻るボタン */
#pagetop{
	padding: 10px 0;
	text-align: center;
	font-size: 14px;	
}

/* footer -----------------------------------------------*/
footer{
	padding: 10px 2%;
	margin: 0 auto;
	width: 96%;
	border-top: 1px solid #830;
}
footer p{
	margin: 0;
	font-size: 12px;
	text-align: center;
}
footer p#counter{
	color: #ccc;	
}

/* link button ------------------------------------------*/
.btn {
	margin: 0 10px 10px;
	padding:8px 20px 6px;
	display:inline-block;

	color: #555;
	text-align: center;
	font-size:18px;
	text-shadow:1px 1px 0px #ffffff;
	
	-moz-border-radius:9px;
	-webkit-border-radius:9px;
	border-radius:9px;
	border:2px solid #999;
	
	background:-moz-linear-gradient( center top, #f7f7f7 5%, #dfdfdf 100% );
	background:-ms-linear-gradient( top, #f7f7f7 5%, #dfdfdf 100% );
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f7f7f7', endColorstr='#dfdfdf');
	background:-webkit-gradient( linear, left top, left bottom, color-stop(5%, #f7f7f7), color-stop(100%, #dfdfdf) );
	background-color: #f8f8f8;

	box-shadow:rgba(30, 50, 50, 0.2) 0px 1px 2px 1px;
	-webkit-box-shadow:rgba(50, 50, 50, 0.2) 0px 1px 2px 1px;
	-moz-box-shadow:rgba(50, 50, 50, 0.2) 0px 1px 2px 1px;
}
.btn:hover {
	background:-moz-linear-gradient( center top, #dfdfdf 5%, #f7f7f7 100% );
	background:-ms-linear-gradient( top, #dfdfdf 5%, #f7f7f7 100% );
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#dfdfdf', endColorstr='#f7f7f7');
	background:-webkit-gradient( linear, left top, left bottom, color-stop(5%, #dfdfdf), color-stop(100%, #f7f7f7) );
	background-color:#dfdfdf;
	border:2px solid #830;
}
.btn:active {
	position:relative;
	top:2px;

	box-shadow:rgba(50, 50, 50, 0.2) 0px 0px 2px 1px;
	-webkit-box-shadow:rgba(50, 50, 50, 0.2) 0px 0px 2px 1px;
	-moz-box-shadow:rgba(50, 50, 50, 0.2) 0px 0px 2px 1px;
}

/* form --------------------------------------*/
table.form{
	width: 96%; max-width: 700px;
	margin: 0 auto;
	border-collapse: collapse;
}
table.trans th, table.trans td{
	border-top: none;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	border-bottom: none;
}
.form th, .form td{
	padding: 5px;
	font-size: 15px;	
	border: 1px solid #ccc;
}
.form th{
	width: 150px;
	text-align: right;
	background-color: #eee;
}
.form td{
	width: 520px;
	text-align: left;
}
.form p{
	margin: 0;
	padding: 0;
	color: #555;
	font-size: 14px;
	text-align: left;
	margin-left: 5px;	
}
table.form p.desc{
	margin: -5px 0 5px 19px;
	color: #777;
}
.form tfoot td{
	padding-top: 10px;
	text-align: center;
	border: 1px solid #fff;
}
.form .error{
	border: 2px solid red;
}
.form .req{
	font-size: 12px;
	font-weight: normal;
	color: red;
	vertical-align: top;
}
.sent_message{
	font-size: 16px;
	text-align: center;
	line-height: 1.5em;
	margin-bottom: 20px;
}
input, select, textarea{
	padding: 3px;
	margin: 5px;
	font-size: 16px;
	border: 2px solid #ccc;
}
.red{
	color: red;
}

/* form button --------------------------------------*/
.type_submit{
	margin: 0 10px;
	padding: 8px 20px 6px;
	display: inline-block;

	color: #555;
	font-size: 16px;
	text-shadow: 1px 1px 0px #ffffff;

	-moz-border-radius: 9px;
	-webkit-border-radius: 9px;
	border-radius: 9px;
	border: 2px solid #555;

	background:-moz-linear-gradient( center top, #f7f7f7 5%, #dfdfdf 100% );
	background:-ms-linear-gradient( top, #f7f7f7 5%, #dfdfdf 100% );
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f7f7f7', endColorstr='#dfdfdf');
	background:-webkit-gradient( linear, left top, left bottom, color-stop(5%, #f7f7f7), color-stop(100%, #dfdfdf) );
	background-color: #f7f7f7;
	
	box-shadow:rgba(50, 88, 120, 0.298039) 0px 1px 2px 1px;
	-webkit-box-shadow:rgba(50, 88, 120, 0.298039) 0px 1px 2px 1px;
	-moz-box-shadow:rgba(50, 88, 120, 0.298039) 0px 1px 2px 1px;
}
.type_submit:hover{
	background:-moz-linear-gradient( center top, #dfdfdf 5%, #f7f7f7 100% );
	background:-ms-linear-gradient( top, #dfdfdf 5%, #f7f7f7 100% );
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#dfdfdf', endColorstr='#f7f7f7');
	background:-webkit-gradient( linear, left top, left bottom, color-stop(5%, #dfdfdf), color-stop(100%, #f7f7f7) );
	background-color:#dfdfdf;
}
.type_submit:active{
	position:relative;
	top:2px;
	
	box-shadow:rgba(113, 135, 163, 0.298039) 0px 0px 3px 2px;
	-webkit-box-shadow:rgba(113, 135, 164, 0.298039) 0px 0px 3px 2px;
	-moz-box-shadow:rgba(113, 135, 164, 0.298039) 0px 0px 3px 2px;
}

/*===============================================
●画面の横幅が1001px以下
===============================================*/
@media screen and (max-width: 1001px){
	div#wrap{
		border-left: none;
		border-right: none;
	}
}

/*===============================================
●画面の横幅が550px以下
===============================================*/
@media screen and (max-width: 550px){
	ul#navi li a {
		width: 50%;
		font-size: 18px;
	}
	table.eq td{
		font-size: 12px;
	}
	
	/* 	form */
	table.form{
		width: 98%;	
	}
	table.form th{
		text-align: left;	
	}
	table.form th, table.form td{
/* 		text-align: center; */
		display: block;
		margin: 0 auto;
		padding: 5px 10px;
		width: 98%;
	}
	table.form p{
		padding-left: 5px;
		font-size: 16px;
	}
	table.form p.desc{
		margin: -8px 0 5px 20px;
		font-size: 14px;	
	}
	input, select, textarea{
		box-sizing: border-box;
	}
	input[type=radio]{
		margin-left: 0;
		padding-bottom: 5px;
		width: 20px;	
		height: 20px;
		vertical-align: middle;
	}
}

/*===============================================
●画面の横幅が600px以上
===============================================*/
@media screen and (min-width: 600px){
	br.sp{/* 改行をしない */
	  display: none;
	}
	.br-hy:before{/* 改行しない時はハイフンを挿入 */
		content: " - ";
	}
	.br-sn:before{/* 改行しない時は半角スペースを挿入 */
		content: " ";
	}
	.br-sm:before{/* 改行しない時は全角スペースを挿入 */
		content: "　";
	}
}
