@charset "utf-8";

*{margin:0;padding:0;}

html{background:#ffffff;}

body{
font: 12px/1.5 "メイリオ","Meiryo",arial,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
color:#333;
font-size: 13px;
/*background:#ffffff url(images/header.png) repeat-x;*/
background:#ffffff url(images/header2.png) repeat-x;
line-height:170%;
}



a{color:#777;}
#sidebar a{color:#4c91d6;text-decoration:none;}

a:hover, #sidebar a:hover{color:#999;text-decoration:none;}
a:active, a:focus {outline: 0;}
img{border:0;}
.clear{clear:both;}
p{margin-bottom: 10px;}
.center{text-align:center;}
.right{text-align:right;}

.img {max-width:100%;}

/**** Clearfix ****/
nav .panel:after, nav#mainNav:after {content:""; display: table;clear: both;}
nav .panel, nav#mainNav {zoom: 1;}

ol, ul {list-style: none;}


/*******************************
全体幅
*******************************/
#header, #container, .inner{
margin: 0 auto;
width: 920px;
}

/*******************************
/* ヘッダー
*******************************/
#header{
position:relative;
height: 90px;
}

#header h1,#header h2, #header h3, #header ul, #header .banners{
font-weight:normal;
position:absolute;
top:0;
color: #fff;
font-size: 11px;
line-height: 21px;
}

#header h2{right:0;}

/* ロゴの位置 */
#header h3{
	top: 33px;
left:0px;
color:#333;
font-size:18px;

}

#header h3 a{
text-decoration:none;
}


/******************
/* ヘッダーナビゲーション
******************/
#header ul{
top: 40px;
right:0;
width: 305px;
height: 14px;
background:url(images/topnav.png) no-repeat 0 0;
line-height:14px;
}

#header ul li{float:left;list-style:none;}

#header ul a{
text-indent: -9999px;
text-decoration: none;
display: block;
height: 14px;
background:url(images/topnav.png) no-repeat;
}

#header ul a#contact{background-position:0 0;width: 110px;}
#header ul a#sitemap{background-position:-110px 0;width:104px;}
#header ul a#access{background-position:-214px 0;width:91px;}

#header ul a#contact:hover, #header ul li.active a#contact{background-position:0 -14px;}
#header ul a#sitemap:hover, #header ul li.active a#sitemap{background-position:-110px -14px;}
#header ul a#access:hover, #header ul li.active a#access{background-position:-214px -14px;}



/*******************************
メイン画像
*******************************/

#mainImage{
margin: 0px 0px 0px 0px;
line-height: 0;
text-align: center;
clear:both;
z-index:0;
}


/*******************************
コンテンツ位置
*******************************/
#container{
padding: 20px 0;
}

#main {
float: right;
width: 700px;
padding-bottom:40px;
}

#main.contact {
width: 690px;
}

#main p{
line-height:240%;
padding:0 5px;
}



#sidebar {
float: left;
width: 210px;
padding-bottom:40px;
}


.comment {
    border: 1px solid #cfcfcf;
    color: #ff0000;
    font-weight: bold;
    padding: 20px;
}

/*************************
/* ボックス
*************************/

#sidebar .box1{
width:209px;
margin: 0 0 20px;
padding: 10px 7px;
border:1px solid #dadada;
background: #fff;
}



.box2{
margin:0 0 20px 0;
/*width:663px;*/
border:1px solid #dadada;
background: #fff;
padding:15px 25px 20px 25px;
line-height:210%;
}

.box2 p{padding: 10px 10px 0px 10px;}

#date {
text-align: right;
padding-right: 5px;
padding-top: 15px;
padding-bottom: 10px;
font-weight:bold;
color:#858585;
}

#next {
text-align: center;
padding-top: 30px;
padding-bottom: 30px;
}

img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
img.alignright {
    padding: 4px;
    margin: 0 0 10px 22px;
    display: inline;
}


img.alignleft {
    padding: 4px;
    margin: 0 22px 10px 0;
    display: inline;
}
.alignright {
    float: right;
}
.alignleft {
    float: left;
}

.box_img_border{
   border: 1px solid #cccccc;
   padding: 1px;
  margin: 1px;
}


/*************
/* 見出し
*************/

#container #main h3{
clear:both;
margin:0;
padding:7px 10px 7px 30px;
font-size:108%;
font-weight: normal;
color:#252525;
border:1px solid #d5d5d5;
border-bottom:0;
background:#fff url(images/headingBg.png) repeat-x 0 100%;
}

#container #main h3.company {
padding: 0 10px 0px 5px;
line-height: 40px;
font-size: 16px;
font-weight: bold;
color: #333;
background: url(images/bg-h2.png) no-repeat;
margin-bottom:0;
margin-top:0;
border:none;
}



#container #main h4{

color: #289bec;
font-size: 14px;
margin:3px 0 7px 5px;
}


#container #main h5{

color: #666;
font-size: 13px;
margin:20px 0 9px 5px;
padding-left:10px;
padding-bottom:-3px;
border-left:7px solid;
}

#container #sidebar h3{
margin-top: 1px;
padding: 0 15px 4px 30px;
line-height: 35px;
font-size: 13px;
font-weight: normal;
color: #333;

/*background: url(images/heading2.png) no-repeat;
width:185px;*/
border: 1px solid #ccc;
background: #ffffff; /* Old browsers */
background: url("images/h3-header.jpg") no-repeat 12px 12px, -moz-linear-gradient(top,  #ffffff 0%, #fafafa 50%, #f6f6f6 51%, #efefef 100%); /* FF3.6+ */
background: url("images/h3-header.jpg") no-repeat 12px 12px, -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(50%,#fafafa), color-stop(51%,#f6f6f6), color-stop(100%,#efefef)); /* Chrome,Safari4+ */
background: url("images/h3-header.jpg") no-repeat 12px 12px, -webkit-linear-gradient(top,  #ffffff 0%,#fafafa 50%,#f6f6f6 51%,#efefef 100%); /* Chrome10+,Safari5.1+ */
background: url("images/h3-header.jpg") no-repeat 12px 12px, -o-linear-gradient(top,  #ffffff 0%,#fafafa 50%,#f6f6f6 51%,#efefef 100%); /* Opera 11.10+ */
background: url("images/h3-header.jpg") no-repeat 12px 12px, -ms-linear-gradient(top,  #ffffff 0%,#fafafa 50%,#f6f6f6 51%,#efefef 100%); /* IE10+ */
background: url("images/h3-header.jpg") no-repeat 12px 12px, linear-gradient(to bottom,  #ffffff 0%,#fafafa 50%,#f6f6f6 51%,#efefef 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#efefef',GradientType=0 ); /* IE6-8 */
}


.row {
margin: 0 0 10px;
width: 510px;
display: table;
}

.linepack {
border-left: 10px solid #3c6996;
border-top: 1px solid #3c6996;
padding: 15px 0 10px 20px;
}

.row div {
display: table-cell;
vertical-align: middle;
}

.head {
color: #3c6996;
width: 180px;
}

.data {
line-height: 200%;
}

p.error {
color: #c30d23;
font-weight: bold;
}

#main p.lead {
text-align: center;
margin: 0 0 60px 0px;
width: 610px;
padding: 0;
}

input.submit {
padding: 3px 6px;
}

input[type="checkbox"] {
margin-right: 10px;
vertical-align :-0.1em;
}

input.text, textarea.textarea {
padding: 5px;
}


/************/
/* テーブル */
/************/
table {
    border-collapse: collapse;
    border: 1px solid #cfcfcf;
    margin-bottom: 20px;
    margin-top:20px;
}
table td, th {
    border: 1px solid #cfcfcf;
    line-height: 200%;
    padding: 15px;
}
table th {
    background: none repeat scroll 0 0 #1375c0;
    border: 1px solid #cfcfcf;
    color: #fff;
    font-weight: normal;
    padding: 10px;
}
table caption {
    font-size: 13px;
    padding-bottom: 5px;
    text-align: left;
    line-height:100%;
}


#main #t-company {
margin: 0;
width: 90%;
}

#t-company th {
background-color: #efefef;
border: 1px solid #dddddd;
border-collapse: collapse;
padding: 8px;
/*white-space: nowrap;*/
text-align:left;
font-weight: normal;
}

#t-company td {
border: 1px solid #dddddd;
border-collapse: collapse;
padding: 8px;
/*white-space: nowrap;*/
}




.google-maps{
position:relative;
padding-bottom:90%;
height:0;
overflow:hidden;
}
.google-maps iframe{position:absolute;top:0;left:0;width:100% !important;height:100% !important;}


.contact-form {
margin: 0 0 30px;
/*width: 610px;*/
width: 90%;
}

.contact-form tr.first th {
border-top: 1px solid #1375c0;
}

.contact-form tr.last th {
border-bottom: 1px solid #1375c0;
}

.contact-form th {
background-color: #1375c0;
border-bottom: 1px solid #fff;
border-left: 1px solid #1375c0;
border-right: 1px solid #1375c0;
color: #fff;
font-weight: normal;
text-align: left;
width: 140px;
}

.contact-form td {
background-color: #fff;
border: 1px solid #1375c0;
}

.contact-form th, .contact-form td {
padding: 15px;
line-height: 200%;
}

.sectionBorder {
border: 1px solid #cccccc;
font-size:13px;
margin: -5px 0 20px;
padding: 10px;
}

#sidebar .sectionBorder {
/*width:208px;*/
}

#sidebar ul{
/*
margin-bottom: 20px;
padding: 0 0 0 5px;
border: solid #ccc 1px;
*/
/*
margin: -10px 0 2px;
*/
margin: -7px 0 2px;
}

#sidebar li{
margin: 5px 0;
padding: 5px 0 5px 8px;
list-style: none;
border-bottom: 1px dashed #ccc;
}

#sidebar li a{
background: url(images/list.png) no-repeat 0 50%;
display: block;
padding-left:15px;
}


#sidebar li a:hover{background-position: 3px 50%;}

#sidebar li a.selected {
background-position: 3px 50%;
color:#000;
}



/*************
/* リスト
*************/
#container ul{margin-left: 5px;}

/*
#container ul li, #footerUpper ul li{
*/
#footerUpper ul li{
list-style: none;
margin-bottom: 8px;
padding: 0 5px 0 12px;
background:url(images/bullet.gif) no-repeat 0 5px;
}

/*
#sidebar ul{margin-left:3px;}


#sidebar .box1 ul li{
line-height: 220%;
font-size:13px;
background:url(images/bullet.gif) no-repeat 0 5px;
background-positon:middle;
}
*/



/*************
サイド（左側）コンテンツ
*************/
#sidebar p{margin-bottom:20px;}
#sidebar ul{margin-bottom:10px;margin-left:0px;}


/*******************************
/* フッター
*******************************/
#footerUpper{
font-size:12px;
clear:both;
padding: 20px 0;
border-bottom:1px solid #5d5d5d;
overflow: hidden;
background:#f6f6f6;
}

#footerUpper .inner .box{
float: left;
width: 210px;
padding-left:10px;
margin:0 20px 10px 0;
line-height: 1.2;
}

#footerUpper .inner .last{
width: 230px;
margin-right:0;
}

#footerUpper ul li{
color:#fff;
background:url(images/bullet.gif) no-repeat 0 3px;
}

#footerLower{
clear:both;
padding: 10px;
text-align:center;
background:#000;
color: #fff;
}

address{
color: #fff;
font-style:normal;
font-size:11px;
}


/* メインメニュー　PC用
------------------------------------------------------------*/
@media only screen and (min-width: 1025px){
nav#mainNav{
clear:both;
position:relative;
z-index:200;
background:#fff;

/* box-shadow */
box-shadow:rgb(235, 235, 235) 0px 0px 4px 2px;
-webkit-box-shadow:rgb(235, 235, 235) 0px 0px 4px 2px;
-moz-box-shadow:rgb(235, 235, 235) 0px 0px 4px 2px;
}

nav#mainNav ul li{
float: left;
position: relative;
border-right:1px solid #EBEBEB;
border-bottom:3px solid #289BEC;
}

nav#mainNav ul li:first-child{border-left:1px solid #EBEBEB;}

nav#mainNav ul li a, nav#mainNav ul li span.current {
display: block;
text-align: center;
_float:left;
color:#000;
height:40px;
line-height:40px;
padding:15px 63px 5px;
text-decoration: none;
}

nav#mainNav ul li a span, nav#mainNav ul li a strong, nav#mainNav ul li span.current span, nav#mainNav ul li span.current strong {
display:block;
font-size:88%;
line-height:1.4;
}

nav#mainNav ul li a span, nav#mainNav ul li span.current span {
font-size:65%;
color:#289BEC;
}

nav#mainNav ul li.current-menu-item a, nav#mainNav ul li a:hover, nav#mainNav ul li a:active, nav#mainNav ul li.current-menu-parent a, nav#mainNav ul li span.current {
filter:alpha(opacity=45);
-moz-opacity: 0.45;
opacity: 0.45;
}

nav#mainNav ul ul{width:160px;}

nav#mainNav ul li ul{display: none;}

nav#mainNav ul li:hover ul{
display: block;
position: absolute;
top:60px;
left:-2px;
z-index:500;
}

nav#mainNav ul li li{
padding:0 0 0 10px;
margin:0;
float: none;
height:40px;
line-height:40px;
width:160px;
background:#a31717;
border:0;
border-bottom:1px solid #dd5050;
}

nav#mainNav ul li li:first-child{border-left:0;}

nav#mainNav ul li li a{
width:100%;
height:40px;
padding:0;
line-height:40px;
font-size:95%;
text-align:left;
}

nav#mainNav ul li li a span{padding:0 10px;}

nav#mainNav ul li li a:hover,nav#mainNav ul li li.current-menu-item a{color:#edcbcb;}

nav#mainNav ul li:hover ul li:last-child{border:0;}

nav div.panel{
display:block !important;
float:left;
}
  
a#menu{display:none;}

}


/* メインメニュー iPadサイズ以下から
------------------------------------------------------------*/
@media only screen and (max-width:1024px){
	nav#mainNav{
	clear:both;
	margin:10px auto 10px;
/*	background:#fbfaf9 url(images/mainnavBg.png) repeat-x 0 -5px;*/
	background-color: #fbfaf9;
	border-top:1px solid #d5d5d5;
	border-bottom:1px solid #d5d5d5;
	}
	
	nav#mainNav a.menu{
	width:100%;
	display:block;
	height:37px;
	line-height:37px;
	font-weight: bold;
	text-align:left;
  background: url(images/menuOpen.png) no-repeat 5px 8px;
	}
	
	nav#mainNav a#menu span{padding-left:35px;}
	
	nav#mainNav a.menuOpen{
	border-radius:6px 6px 0 0;
	background: url(images/menuOpen.png) no-repeat 5px -34px;
	}
	
	nav#mainNav a#menu:hover{cursor:pointer;}
	
	nav .panel{
	display: none;
	width:100%;
	position: relative;
	right: 0;
	top:0;
	z-index: 1;
	}

	nav#mainNav ul{
	margin:0;
	padding:0;
	border-top:1px dashed #e5e5e5;
	}
	nav#mainNav ul ul{border:0;}

	nav#mainNav ul li{
	float: none;
	clear:both;
	width:100%;
	height:auto;
	line-height:1.2;
	}

	nav#mainNav ul li a,nav#mainNav ul li.current-menu-item li a, nav#mainNav ul li span.current{
	display: block;
	padding:15px 10px;
	text-align:left;
	border-bottom:1px dashed #e5e5e5;
	background:#fbfaf9;
	text-decoration: none;
	}
	
	nav#mainNav ul li:last-child a{border:0;border-radius:0 0 6px 6px;}
	nav#mainNav ul li li:last-child a{border:0;border-radius:0;}
	nav#mainNav ul li li:last-child a{border-bottom:1px dashed #e5e5e5;}

 	nav#mainNav ul li a span, nav#mainNav ul li span.current span {display:none;}
 
	nav#mainNav ul li.current-menu-item a,nav#mainNav ul li a:hover,nav#mainNav ul li.current-menu-item a,nav#mainNav ul li a:active, nav#mainNav ul li li.current-menu-item a, nav#mainNav ul li.current-menu-item li a:hover, nav#mainNav ul li.current-menu-item li a:active, nav#mainNav ul li span.current {
	background:#fff;
	}
	
	nav#mainNav ul li.current-menu-item li a{color:#777}

	nav#mainNav ul li li{
	float:left;
	border:0;
	}

	nav#mainNav ul li li a, nav#mainNav ul li.current-menu-item li a, nav#mainNav ul li li.current-menu-item a{
  padding-left:40px;
	background:#fbfaf9 url(images/sub1.png) no-repeat 20px 18px;}

	nav#mainNav ul li li.current-menu-item a,nav#mainNav ul li li a:hover, nav#mainNav ul li.current-menu-item li a:hover{
		background:#fff url(images/sub1.png) no-repeat 20px -62px;}
	
	nav#mainNav ul li li:last-child a{background:#fbfaf9 url(images/subLast.png) no-repeat 20px 20px;}
	nav#mainNav ul li li:last-child.current-menu-item a,nav#mainNav ul li li:last-child a:hover,nav#mainNav ul li.current-menu-item li:last-child a:hover{background:#fff url(images/subLast.png) no-repeat 20px -65px;}
	
	nav div.panel{float:none;}
	
	#header {
	padding: 0 2%;
	width: 96%;
	}
	
	#header h1 {
	font-size: 75%;
	}
	
	#header h2 {
	position: relative;
	text-align: right;
	font-size: 75%;
	}
	
	#header h3 {
	left: 2%;
	}
	
/*	#mainImage{margin-bottom:20px;}*/
	
	#mainImage img {
	height: auto;
	width: 98%;
	}
}


/* 959px以下から 1カラム表示
------------------------------------------------------------*/
@media only screen and (max-width: 959px){
  #wrapper, .inner{width:100%;}

	#header{width:96%;padding:0 2%;}
	
	.contact{padding:10px 0 10px;}

  nav#mainNav{width:100%;}

	nav#mainNav ul{margin:0 auto;}
	nav#mainNav ul ul{padding:0;}

	nav div.panel{float:none;}
	
	#mainImg img{width:98%;height:auto;}

	#container, #sidebar, #main{
	clear:both;
	float:none;
	margin:0 auto;
	padding:10px 0;
	}

	#container {
	width:100%;
	}
	
	#sidebar, #main {
	width: 95%;
	}
	
	.banner{width:100%;margin:0 auto;text-align:center;}
  p.banner img{width:100%;height:auto;}
	
	section.widget_search{text-align:center;}
	
	#footer li{margin-bottom:10px;}
	
}


/* 幅644px以下から ヘッダー等微調節
------------------------------------------------------------*/
@media only screen and (max-width: 644px){
/*	body{background-position:0 -25px;}*/
/*	#header h1{color:#333;}*/
	#header h2 img{max-width:90%;}
	#header{text-align:center;}
	#header h2,.contact{float:none;}
	.contact{padding:0 0 20px;}
	.contact p{text-align:center;}
	#headerInfo{width:250px;margin:0 auto;}
	img.alignright, img.alignleft{display: block;	margin:5px auto;}
	.alignright,.alignleft{float:none;}
}
