@charset "utf-8";

/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td{
	border: 0;
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}
:focus{outline:0;}

ol, ul{list-style:none;}
table{border-collapse:separate;border-spacing:0;}
caption, th, td{font-weight:normal;text-align:left;}
blockquote:before, blockquote:after,q:before, q:after{content:"";}
blockquote, q{quotes:"" "";}
a img{border:0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section{display:block;}

body{
font:16px/1.8 "メイリオ", Meiryo, Osaka,Sans-Serif;
color:#333;
-webkit-text-size-adjust:none;
}

.clear {clear:both;}

strong { font-weight:bold;}

/* リンク設定
------------------------------------------------------------*/
a{
	margin: 0;
	padding: 0;
	text-decoration: none;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
	font-size: 100%;
	color: #00A600;
}

a:hover, a:active{
	outline: none;
	color: #FC4A00;
}

a img:hover{opacity:.8;}


/**** Clearfix ****/
nav#mainNav ul:after, nav#mainNav .inner:after, .newsTitle:after, .post:after,.inner:after,ul.news:after{content:""; display:table;clear:both;}
nav#mainNav ul,.newsTitle, .post, nav#mainNav .inner,ul.news{zoom:1;}


/* フォーム
------------------------------------------------------------*/
input[type="text"], textarea{
vertical-align:middle;
max-width:90%;
line-height:30px;
height:30px;
padding:1px 5px;
border:1px solid #d4d4d7;
border-radius:3px;
-webkit-border-radius:3px;
-moz-border-radius:3px;
font-size:100%;
color:#555;
background:#fcfcfc;
}

textarea{
height:auto;
line-height:1.5;
}

input[type="submit"],input[type="reset"],input[type="button"], p.readon a{
vertical-align:top;
padding:0 10px;
background:#111;
background:-moz-linear-gradient(top, #111 0%, #222 100%);
background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,#111), color-stop(100%,#222));
background:-webkit-linear-gradient(top, #111 0%,#222 100%);
background:-o-linear-gradient(top, #111 0%,#222 100%);
background:linear-gradient(to bottom, #111 0%,#222 100%);
filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#111', endColorstr='#222',GradientType=0 );
border:0;
border-radius:3px;
-webkit-border-radius:3px;
-moz-border-radius:3px;
line-height:28px;
height:28px;
font-size:120%;
color:#fff;
}

input[type="submit"]:hover,input[type="reset"]:hover,input[type="button"]:hover,p.readon a:hover{
background:#222;
background:-moz-linear-gradient(top, #222 0%, #111 100%);
background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,#222), color-stop(100%,#111));
background:-webkit-linear-gradient(top, #222 0%,#111 100%);
background:-o-linear-gradient(top, #222 0%,#111 100%);
background:linear-gradient(to bottom, #222 0%,#111 100%);
filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#222', endColorstr='#111',GradientType=0 );
cursor:pointer;
}
*:first-child+html input[type="submit"]{padding:3px;}


/* レイアウト
------------------------------------------------------------*/
#wrapper,.inner{
margin:0 auto;
width:940px;
}

#content{
float:right;
width:690px;
padding:20px 0 50px;
}

#toppage #content{
width:100%;
}

#sidebar{
float:left;
width:220px;
padding:20px 0 50px;
}

#footer{
	clear: both;
	background-color: #333333;
} 
#headnav{
	padding-top:5px;
	padding-bottom:5px;
	border-top:1px solid #d5d5d5;
	border-bottom:1px solid #d5d5d5;
}

#main_slide ul,
#main_slide li {
	list-style:none;
	padding:0;
	margin:0;
}

/* ヘッダー
*****************************************************/
.bg{
	background-color: #eeeeee;
}

.headin {
	margin-top: 10px;
	margin-bottom: 20px;
	border-top-width: 8px;
	border-bottom-width: 10px;
	border-top-style: solid;
	border-bottom-style: solid;
	border-top-color: #fc4a00;
	border-bottom-color: #00a600;
}

/* サイト説明文
----------------------------------*/
#header h1{
	padding: 5px 0;
	font-size: 80%;
	color: #333;
	font-weight: normal;
	text-align:center;
}


/* ロゴ (サイトタイトル)
----------------------------------*/
#header h2{
	clear: both;
	float: left;
	color: #515151;
	font-size: 160%;
	font-weight: bold;
	padding-top: 15px;
	padding-right: 0;
	/*padding-bottom: 10px;*/
	padding-bottom: 0px;
	padding-left: 0;
}

/* SNS
----------------------------------*/
.sns{
	float: right;
	/*padding-top: 15px;*/
	padding-top: 40px;
	padding-right: 0;
	padding-bottom: 10px;
	padding-left: 0;
}

.sns img{margin-left:5px;}


/* トップページ　メイン画像
----------------------------------*/
#mainImg{
clear:both;
margin-top:20px;
line-height:0;
text-align:center;
z-index:0;
}

.post{
margin:0 0 20px 0;
}

.toppage h4{
margin:0 0 10px;
font-size:16px;
font-weight:normal;
color:#333;
}


/* 記事ループ
*****************************************************/
.list{
padding:10px 0;
border-bottom:1px dashed #e4e4e4;
}

.list:last-child{border:0;}

.post .list p{padding:0;}

.list span{padding-left:10px;}


/* タイポグラフィ
*****************************************************/
h2.title{
	clear: both;
	font-size: 180%;
	font-weight: bold;
	border-bottom-width: 3px;
	border-bottom-style: solid;
	border-bottom-color: #666;
	line-height: 120%;
	margin-top: 15;
	margin-right: 0;
	margin-bottom: 30px;
	margin-left: 0;
	padding-top: 5px;
	padding-right: 10px;
	padding-bottom: 4px;
	padding-left: 10px;
	background-color: #F4F4F4;
}

.dateLabel{
text-align:right;
font-family:Georgia, "Times New Roman", Times, serif;
}

.post p{
	margin-top: 0px;
	margin-bottom: 20px;
}

.post ul{margin:0 0 10px 10px;}

.post ul li{
margin-bottom:5px;
padding-left:15px;
background:url(images/bullet.png) no-repeat 0 8px;
}

.post ol{margin:0 0 10px 30px;}

.post ol li{list-style:decimal;}

.post h1{
margin:20px 0;
padding:5px 0 5px 15px;
font-size:150%;
border-bottom:2px solid #222;
background:url(../images/headingBg.png) no-repeat 0 50%;
}

.post h2{
margin:10px 0;
padding-bottom:2px;
font-size:130%;
font-weight:normal;
border-bottom:2px solid #222;
}

.post h3{
	font-size: 130%;
	font-weight: bold;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #666;
	line-height: 120%;
	margin-top: 10px;
	margin-right: 0;
	margin-bottom: 10px;
	margin-left: 0;
	padding-right: 5px;
	padding-bottom: 5px;
	padding-left: 5px;
	padding-top: 5px;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #666;
}
.post h4{
	font-size: 110%;
	font-weight: bold;
	line-height: 120%;
	margin-top: 20px;
	margin-right: 0;
	margin-bottom: 10px;
	margin-left: 0;
	padding-top: 5px;
	padding-right: 5px;
	padding-bottom: 5px;
	padding-left: 10px;
	border-left-width: 3px;
	border-left-style: solid;
	border-left-color: #D6D6D6;
}

.post blockquote{
clear:both;
padding:10px 0 10px 15px;
margin:10px 0 25px 30px;
border-left:5px solid #ccc;
}
 
.post blockquote p{padding:5px 0;}

.post table{
border:1px #535353 solid;
border-collapse:collapse;
border-spacing:0;
margin:10px 0 20px;
}

.post table th{
padding:10px;
border:1px #535353 solid;
border-width:0 0 1px 1px;
background:#ececec;
}

.post table td{
padding:10px;
border:1px #535353 solid;
border-width:0 0 1px 1px;
background:#fff;
}

.post dt{font-weight:bold;}

.post dd{padding-bottom:10px;}

.post img{max-width:100%;height:auto;}

img.aligncenter{
display:block;
margin:5px auto;
}

img.alignright, img.alignleft{
margin:0 10px 15px 15px;
display:inline;
}

img.alignleft{margin:10px 15px 15px 10px;}

.alignright{float:right;}
.alignleft{float:left;}

#gallery-1 img{
border:1px solid #eaeaea !important;
padding:5px;
background:#fff;
}

#gallery-1 img:hover{background:#fffaef;}

.contact_tel {
	font-size: 180%;
	font-weight: bold;
	color: #960;
}

.foot-sa {
	text-align: right;
}

/* サイドバー　ウィジェット
*****************************************************/
.widgetWrap, section.widget ul{
	margin: 0px 0 30px 0;
	padding: 0px 10px 0 10px;
}

section.widget ul ul{
border:0;
margin:0;
padding:0 0 0 10px;
box-shadow:none;
}

#sidebar ul#banners{
width:220px;
margin:0px 0 10px;
}

#sidebar ul#banners li{
float:none;
margin:0 0 0px;
}

section.widget h3{
clear:both;
margin:0 0 -5px;
padding:5px 0;
font-size:110%;
border-bottom:1px solid #eee;

}

section.widget li a{
display:block;
padding:7px 0 7px 12px;
background:url(images/arrow2.png) no-repeat 0 12px;
border-bottom:1px dashed #e4e4e4;
}

section.widget li a:hover{background-position:2px 12px;}

section.widget li:last-child a{border:0;}

#searchform input[type="text"]{
width:100px;
line-height:22px;
height:22px;
margin-right:3px;
}

#searchform{padding:20px 0;}

/* カレンダー */
#calendar_wrap table{margin:0 auto;width:90%;}
#calendar_wrap table caption{padding:10px 0;text-align:center;font-weight:bold;}
#calendar_wrap table th, #calendar_wrap table td{padding:3px;text-align:center;}
#calendar_wrap table th:nth-child(6){color:#000;}
#calendar_wrap table th:nth-child(7){color:#950000;}
#calendar_wrap a{color:#111;font-weight:bold;font-weight:bold;border-bottom:1px solid #fff;}
#calendar_wrap table td#prev{text-align:left;}
#calendar_wrap table td#next{text-align:right;}
#calendar_wrap table td#prev a{text-align:left;border:0;}
#calendar_wrap table td#next a{text-align:right;border:0;}


/* お知らせ　
-------------*/
.newsTitle{
clear:both;
margin:0;
padding:7px 10px 7px 0;
font-size:110%;
border-bottom:1px solid #eee;

}

.newsTitle h3{
float:left;
font-weight:normal;
}

.newsTitle p{
float:right;
padding:0 0 0 10px;
font-size:80%;
background:url(images/arrow2.png) no-repeat 0 5px;
}

.news p{
clear:both;
padding-bottom:2px;
border-bottom:1px dashed #e4e4e4;
}

/*.news p:last-child{border:0;}*/

.news p a{
	display: block;
	padding: 5px 0;
	color: #333;
	font-size: 110%;
}

.news a span{
color:#515151;
}

.news span{padding-left:14px;}

.news a:hover span{color:#111;text-decoration:underline;}


/* トップページ */
#content .newsTitle h3{font-size:120%;}


/* フッター
*****************************************************/
#footer a{color:#333;}

#footer .boxWrap{
width:980px;
margin-right:-40px;
}

#footer .box{
	float: left;
	width: 450px;
	margin-right: 40px;
	padding: 20px 0;
	color: #FFF;
}

.box .widgetWrap, .box section.widget ul{
padding:0 0 0 7px;
margin-top:0;
background:transparent;
border:0;
box-shadow:none;
}

.box section.widget li a{
background:url(images/arrowWhite.png) no-repeat 0 12px;
border:0;
}

.box section.widget li a:hover{background-position:2px 12px;}

#footer h3{
	padding: 5px;
	margin-bottom: 10px;
	font-size: 120%;
	border-bottom: 1px solid #eee;
	font-weight: bold;
}

.contact p{
padding:3px 0 3px 32px;
margin-bottom:3px;
font-size:110%;
background:url(images/iconHome.png) no-repeat 4px 0;
}

.contact p.mail{background-image:url(images/iconMail.png);}
.contact p.tel{background-image:url(images/iconTel.png);}
.contact p.fax{background-image:url(images/iconFax.png);}
.contact p.tw{background-image:url(images/iconTW.png);}
/*.contact p.fb{background-image:url(images/iconFB.png);}*/

#copyright{
	color: #000;
	clear: both;
	padding: 10px 0;
	text-align: center;
	font-size: 90%;
	background-color: #666666;
}


/* page navigation
------------------------------------------------------------*/
.pagenav{
clear:both;
width:100%;
height:30px;
margin:5px 0 20px;
}

.prev{float:left}

.next{float:right;}

#pageLinks{
clear:both;
color:#4f4d4d;
text-align:center;
}


/* トップページ 事業部
------------------------------------------------------------*/
ul.topbn{
width:980px;
margin-right:-40px;
padding-bottom:20px;
}

ul.topbn li{
float:left;
width:450px;
margin-right:40px;
padding-bottom:50px;
}
ul.topbn{
padding:0;
background:transparent;
border:0;
box-shadow:none;
margin-top:40px;
}

ul.topbn img{
max-width:450px;
height:auto;
}

ul.topbn h3{
	font-size: 18px;
	color: #333;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
	font-weight: bold;
}

ul.topbn p{
}


p.readon a{
padding:3px 10px;
font-size:95%;
}

/* トップページ 事業部
------------------------------------------------------------*/
ul#banners{
width:960px;
margin-right:-20px;
padding-bottom:20px;
}

ul#banners li{
float:left;
width:220px;
margin-right:20px;
}
ul#banners:after{content:""; display:table;clear:both;}
ul#banners{zoom:1;}


/* GoogleMap */
.gmap-wrap{
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}
.gmap-wrap iframe,
.gmap-wrap object,
.gmap-wrap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.video-wrap{
  position:relative;
  width:100%;
  padding-top:56.25%;
  margin-bottom:30px;
}
.video-wrap iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}


h4.flow_a1,
h4.flow_a2 {
	font-size:120%;
	font-weight:bold;
}
h4.flow_a1 {
	background-image: url(img/flow_arrow.jpg);
	background-position: 40px top;
	background-repeat: no-repeat;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	padding-left: 0px;
	padding-top: 55px;
	padding-bottom: 0px;
	margin-bottom: 0px;
	margin-top: 5px;
}
h4.flow_a2 {
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	padding-left: 0px;
	padding-bottom: 0px;
	margin-bottom: 0px;
}
h4.flow_a1 span,
h4.flow_a2 span{
	background-color: #CCC;
	margin-right: 5px;
	border-radius: 100%;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	-ms-border-radius: 100%;
	padding-right: 5px;
	padding-left: 5px;
}
p.flow_txt {
	margin-left: 32px;
	margin-bottom: 0px;
}

/* Facebook */

.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget iframe[style]{
  width: 100% !important;
}

.fb-wrap{
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}
.fb-wrap iframe,
.fb-wrap object,
.fb-wrap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}



/* メインメニュー　PC用
------------------------------------------------------------*/
@media only screen and (min-width:1025px){
div.panel{
display:block !important;
}

a#menu{
	display: none;
}

nav#mainNav ul{
	clear: both;
	position: relative;
	z-index: 200;
	width: 940px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	/*border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-ms-border-radius: 5px; */
}

nav#mainNav li{
float:left;
position:relative;
}

nav#mainNav li.hassub a{
background:url(images/arrowDown2.png) no-repeat 100% 50%;
}

nav#mainNav li a{
	display: block;
	_float: left;
	font-size: 110%;
	font-weight: bold;
	padding: 10px 15px;
	color: #666666;
	background-image: url(img/head_nav_line.jpg);
	background-repeat: no-repeat;
	background-position: right center;
}

nav#mainNav li.current-menu-item a, nav#mainNav li a:hover, nav#mainNav li.current-menu-parent a{
	color: #f90;
	border-color: #222;
}

nav#mainNav li.hassub.current-menu-item a,nav#mainNav li.hassub a:hover, nav#mainNav li.hassub.current-menu-parent a{
background:url(images/arrowDown.png) no-repeat 100% 50%;
}

nav#mainNav li.hassub li a,nav#mainNav li.hassub.current-menu-item li a, nav#mainNav li.hassub.current-menu-parent li a, nav#mainNav li.hassub li a:hover{background:none;}

nav#mainNav ul ul{
	width: 160px;
	background-color: #F7F7F7;
}

nav#mainNav li ul{
display:none;
opacity:0;
}

nav#mainNav li:hover ul{
display:block;
position:absolute;
top:46px;
left:0;
z-index:500;
opacity:1;
}

nav#mainNav li li{
margin:0;
float:none;
width:160px;
	border-right:none;
	border-bottom:dotted 1px #CCC;
}

nav#mainNav li li a, nav#mainNav li.current-menu-parent li a,nav#mainNav li.current-menu-item li a{
padding:0 0 0 5px;
height:35px;
font-size:95%;
line-height:35px;
}

nav#mainNav li.current-menu-item li a, nav#mainNav li.current-menu-parent li a{
color:#adadad;
border-bottom:1px solid #adadad;
}

nav#mainNav li li.current-menu-item a,nav#mainNav li li a:hover{
	color: #F90;
	border-color: #222;
}
}


/* メインメニュー iPadサイズ以下から
------------------------------------------------------------*/
@media only screen and (max-width:1024px){
nav#mainNav{
clear:both;
width:100%;
margin:0 auto 10px;
}

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-bottom: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;}

nav#mainNav ul li{
float:none;
clear:both;
width:100%;
height:auto;
line-height:1.2;
}

nav#mainNav ul li:first-child{border-top:1px solid #d5d5d5;}
nav#mainNav ul li li:first-child{border-top:0;}

nav#mainNav ul li a,nav#mainNav ul li.current-menu-item li a{
display:block;
padding:15px 10px;
text-align:left;
border-bottom:1px dashed #ccc;
background:#fff;
}

nav#mainNav ul li:last-child a{border:0;}
nav#mainNav ul li li:last-child a{border:0;}
nav#mainNav ul li li:last-child a{border-bottom:1px dashed #ccc;}

nav#mainNav ul li a 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{
background:#f6f6f6;
}

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:#fff 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:#f6f6f6 url(images/sub1.png) no-repeat 20px -62px;
}

nav#mainNav ul li li:last-child a{background:#fff 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:#f6f6f6 url(images/subLast.png) no-repeat 20px -65px;}

nav div.panel{float:none;}

#mainImg{margin-bottom:20px;}
}


/* 959px以下から 1カラム表示
------------------------------------------------------------*/
@media only screen and (max-width:959px){
#header{width:100%;text-align:center;}
#header h2{float:none;text-align:center;}
.inner,#footer .boxWrap,#wrapper{width:96%;}

#mainImg img{width:96%;height:auto;}

#content, #sidebar{clear:both;width:95%;float:none;margin:0 auto;padding:10px 0;}
#sidebar{background:url(images/border.png) repeat-x;padding-top:30px;}

ul.topbn,ul#banners,#sidebar ul#banners{
	width: 100%;
	display: table-row;
	margin-top: 20px;
	margin-right: 0;
	margin-bottom: 0;
	margin-left: 0;
}
ul.topbn li,ul#banners li,#sidebar ul#banners li{float:left;width:23%;margin:0 1%;padding:0 0 20px;}
ul.topbn img,ul#banners li img,#sidebar ul#banners img{max-width:98%;height:auto;}

#calendar_wrap table{width:260px;margin:0;}

#footer .boxWrap{margin:0;padding:0;}
#footer .box{float:none;width:100%;margin:10px 0;}
}


/* 幅620px以下から
------------------------------------------------------------*/
@media only screen and (max-width:620px){
ul.topbn li,ul#banners li,#sidebar ul#banners li{width:42%;margin:0 0 0 6%;}
ul.topbn li:nth-child(2n+1){clear:left;}
.post img{max-width:100%;height:auto;}
img.alignright, img.alignleft{display:block;margin:5px 2%;max-width:96%;height:auto;}
.alignright,.alignleft{float:none;}
#main_slide {display:none;}
.sns {float:none;}
.foot-sa {text-align: center;}
}
