@charset "utf-8";
/*
Theme Name: tpl_ginsen3
Version: 1.1
*/

/* reset */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;}
ul{list-style:none;}
table{border-collapse:collapse;border-spacing:0;}
caption,th{text-align:left;}
q:before,q:after{content:'';}
object,embed{vertical-align:top;}
legend{display:none;}
img,abbr,acronym,fieldset{border:0;}

body {
	font:15px "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic,'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo,sans-serif;
	color: 000;
  -webkit-text-size-adjust: 100%;
}



/* リンク設定
------------------------------------------------------------*/
a{
	text-decoration: none;
	outline: 0;
	vertical-align: baseline;
	/*background: transparent;*/
	color:#000;
}

a:hover, a:active{
	text-decoration: none;
	cursor: pointer;
}

#content a{
	text-decoration: underline;
}

#content a:hover{
	text-decoration: none;
}


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

#content{
	float: right;
	width: 71%;
	background: url(images/subBg.png) repeat-y;
	background-size: 7px 1px;
}

#sidebar{
	float: left;
	width: 29%;
}

#footer{
	clear:both;
	padding: 37px 10px 25px;
	text-align: center;
	color: #fff;
	background: #007e3d;
} 



/* 共通
------------------------------------------------------------*/
img{
	max-width: 100%;
	height: auto;
}

.imgW100{
	width: 100%;
}





/* ヘッダー
------------------------------------------------------------*/
#toppage #header #logo img{
	width: 334px;
	height: 29px;
}


#header p, .lh0{
	line-height: 0;
}




/******************************************/
/*
/* サイドバー
/*
*******************************************/


#sidebar li{
	padding-left: 20px;
	font-size: 17px;
	border-bottom: 1px solid #eee;
	
}

#sidebar a{
	display: block;
	padding: 14px 0 14px 20px;
	font-weight: bold;
}

#sidebar a span{
	display: none;
}

/*.current-menu-item a,
#sidebar a:hover{
	text-decoration: underline;
}

.current-menu-item li a{
	text-decoration: none;
}*/



/* ロゴ・バナー
------------------------------------------------------------*/
#banner{
	clear: both;
	text-align: center;
	line-height: 0;
	background: #f8f8f8;
}

#bannerUpper{
	padding: 15px 0;
	border-bottom: 3px solid #fff;
}
#bannerUpper a {
	display: block;
	margin:0 auto;
    vertical-align: top;
}
#bannerUpper a span {
	margin:0 !important;
	padding:0 !important;
}

#bannerLower ul {
    margin: 0 auto;
	padding: 30px 10px;
	max-width: 800px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: 1fr;
	gap: 20px;
}
#bannerLower li a {
	display: grid;
	justify-items: start;
	align-items: center;
	height: 100%;
}
#bannerLower li a img {
    width: 100%;
}
#bannerLower .seiken a img {
	scale: .9;
}
@media screen and (max-width: 390px), screen and (max-device-width: 390px) {

}

#banner br{
	line-height: 20px;
}


/* フッター お問合せ 
------------------------------------------------------------*/
#contact{
	clear: both;
	padding: 50px 0 75px;
	text-align: center;
	border-top: 5px solid #f7f7f7;
}

#contact h3{
	font-size: 24px;
	margin-bottom: 40px;
}

#contact a{
	color: #fff;
	padding: 22px 60px;
	font-size: 18px;
	background: #007e3d;
}

#contact a:before{
	content: "";
	display: inline-block;
	width: 27px;
	height: 20px;
	background: url(images/iconMail.png) no-repeat 0 50%;
	background-size: 27px 20px;
	margin: 0 10px 0 0;
	vertical-align: middle;
}



/* フッター
------------------------------------------------------------*/
#footer ul{
	padding-bottom: 28px;
	border-bottom: 1px solid #0d8547;
}

#footer li{
	display:inline;
	padding:0 20px;
	font-size: 14px;
}

#footer a{
	padding-left: 20px;
	text-decoration: underline;
	color: #fff;
	background: url(images/arrowWhite.png) no-repeat 0 50%;
	background-size: 8px 9px;
}

#footer a:hover{
	text-decoration: none;
}

#footer p{
	padding-top: 20px;
}

#footer li br{
	display: none !important;
}




/******************************************/
/*
/* トップページ
/*
*******************************************/
#mainImg{
	line-height: 0;
	position: relative;
}

.imgW100{
width: 100%;
height: auto;
}

#intro{
	padding: 45px 0;
	color: #fff;
	background: #007e3d;
}


#intro h2{
	width: 30%;
	display: inline-block;
	vertical-align: middle;
	text-align: center;
	font-size: 30px;
}

#intro h2 span{
	display: block;
	color: #c7d53e;
	font-size: 15px;
}

#intro .intro{
	display: inline-block;
	vertical-align: middle;
	padding: 20px 0 20px 100px;
	border-left: 3px solid #fff;
}

#intro h3{
	font-weight: normal;
	margin-bottom: 20px;
	line-height: 2em;
}

#intro a{
	padding: 7px 0 7px 43px;
	color: #fff;
	text-decoration: underline;
	background: url(images/arrowCircleLightGreen.png) no-repeat 0 50%;
	background-size: 29px 29px;
}

#intro a:hover{
	text-decoration: none;
}

#archive{
	padding-bottom: 75px;
}


#archive li{
	vertical-align: top;
	position: relative;
	width: 22.6%;
	margin-left: 3.2%;
}

#toppage #archive li{background: #f7f7f7;}

#archive .col2 li{
	width: 48%;
	margin-left: 3.4%;
}

#archive .col3 li{
	width: 31%;
	margin-left: 3.4%;
}

#archive .col4 li.w3{
	width: 60%;
}

#archive img{
	width: 100%;
}

#archive li:first-child{
	margin-left: 0;
	clear: left;
}

#archive img:hover{
	opacity: .8;
}

#archive h3{
	padding: 15px 0 15px 60px;
	font-size: 18px;
	line-height: 1.4;
	background:url(images/arrowCircleGreen.png) no-repeat 15px 50%;
	background-size: 27px 27px;
}
.top-item-34 h3 div, .page-item-34 h3 div{
	display: block !;
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
    background: url(images/eip-head.png)no-repeat;
	background-position: left bottom;
	background-size: contain ;
}

.top-item-90 h3 div, .page-item-90 div{
	display: block !;
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
    background: url(images/gip-head.png)no-repeat;
	background-position: left bottom;
	background-size: contain ;
}
/*
.page-item-34 h3 div{
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
    background: url(images/img_saitekihoken_menu.png)no-repeat !important;
	vertical-align: top;
    position: relative;
    margin-left: 10%;
	margin-top:  15px;
}
.page-item-90 h3{
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
    background: url(images/img_glhoken_menu.png)no-repeat !important;
	vertical-align: top;
    position: relative;
	margin-left: 5%;
	margin-top:  15px;
}*/

#archive h3 span{
	display: block;
	color: #b9c53c;
	font-size: 14px;
}

#topics{
	margin-top: 30px;
	padding: 50px 0;
	background: #f7f7f7;
}

#topics h3{
	text-align: center;
}

#topics h3:before, #news h3:before{
	content: "";
	display: inline-block;
	width: 34px;
	height: 32px;
	background: url(images/iconTopics.png) no-repeat 0 50%;
	background-size: 32px 32px;
	margin: 0 10px 2px 0;
	vertical-align: middle;
}

#news h3:before{
	background-image: url(images/iconNews.png);
}

#news{
	padding: 50px 20px;
}

#toppage #news{
	padding: 100px 0;
}

#news h3{
	padding-bottom: 22px;
	margin-bottom: 23px;
	text-align: center;
	font-size: 24px;
	border-bottom: 3px solid #f7f7f7;
}

#news dl{
	margin-top: -10px;
}

#news dt{
	float: left;
  clear: left;
  width: 14em;
	padding: 10px 0;
}

#news dt p{
	display: inline;
	padding: 8px 18px;
	margin: 0 0 0 10px;
	background: #f7f7f7;
}

#news dd{
 	padding: 10px 0 10px 15em;
	font-weight: bold;
	border-bottom: 1px dotted #ececec;
}

#news dd:last-of-type{
	border: 0;
}

#news a{
	display: block;
	text-decoration: underline;
	font-weight: bold;
}

#news a:hover{
	text-decoration: none;
}

#news .btnNews{
	clear: both;
	margin-top: 7px;
	text-align: center;
	border: 2px solid #f7f7f7;
}

#news .btnNews a{
	display: block;
	padding: 18px 10px 22px;
	text-decoration: none;
	color: #bababa;
}

#news .btnNews a:hover{
	text-decoration: underline;
}

#news .btnNews a:before{
	content: "";
	display: inline-block;
	width: 8px;
	height: 9px;
	background: url(images/arrowGrey.png) no-repeat 0 50%;
	background-size: 8px 9px;
	margin: 0 12px 2px 0;
	vertical-align: middle;
}



/* 制作実績 */
#archive h2{
	margin-top: 55px;
	text-align: center;
}

#archive h2,
#referenceTop h2{
	font-size: 30px;
	margin-bottom: 35px;
}

#archive h2 span,
#referenceTop h2 span{
	display: block;
	color: #bac63c;
	font-size: 15px;
}

#referenceTop{
	padding: 70px 0 100px;
	background: #f7f7f7 url(images/bgTopReference.jpg) no-repeat 100% 0;
	background-size: contain;
	box-shadow: 5px 5px 10px #f0f0f0 inset, 0 -5px 10px #f0f0f0 inset;
}

#referenceTop li{
	width: 31%;
	margin-right: 3.4%;
	display: inline-block;
	border-bottom: 3px solid #eaeaea;
}

#referenceTop a{
	display: block;
	padding: 15px 0;
	font-size: 18px;
	font-weight: bold;
	background: url(images/arrowGreen.png) no-repeat 100% 50%;
	background-size: 8px 9px;
}


#referenceTop li span{
	display: none;
}



/******************************************/
/*
/* ページ
/*
*******************************************/

/* 見出し H2
----------------------------------*/
#title{
	text-align: center;
	padding: 51px 0 57px;
	color: #b1bf24;
	font-weight: bold;
	background: #eee url(images/bgSub.jpg) no-repeat;
	background-size: cover;
}

#title h2{
	margin-bottom: 6px;
	color: #000;
	font-size: 40px;
}

#title h2 span{
	display: none;
}


.content{
	overflow: hidden;
	padding: 50px 50px 50px 60px;
}



/* タイポグラフィ共通
----------------------------------*/
.content{
	line-height: 2;
}

.content p{
margin-bottom:15px;
}

.content strong{font-weight:bold;}

.content h2{
	font-size: 20px;
}

h3.sub {
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
	background: url(images/img_saitekihoken_h3.png)no-repeat;
    background-position: left;
}

h3.sub1 {
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
	background: url(images/img_glhoken_h3.png)no-repeat;
    background-position: left;
}

h3.heading{
	clear: both;
	padding: 8px 0;
	margin: 0 0 20px;
	line-height: 1.5;
	font-size: 25px;
	font-weight: bold;
	color: #007e3d;
	border-bottom: 3px solid #eee;
}

h3.heading span{
	padding-left: 23px;
	background: url(images/headingSpan.png) no-repeat 0 50%;
	background-size: 5px 35px;
}

h4{
	clear: both;
	margin: 30px 0 10px;
	padding: 20px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5 !important;
	color: #000;
	background: #eee;
	/* border-top: 3px solid #e0e0e0; */
}

h4.heading{
	margin-bottom: 30px;
}

/* h4 span {
	background: url(/wordpress/wp-content/themes/tpl_ginsen3/images/20px-h4.png)no-repeat;
	background-position: center bottom;
	background-size: contain;
	} */

h4.saitekitoha span{
	display: inline-block;
	vertical-align: bottom;
	text-indent:150%;
	white-space:nowrap;
	overflow:hidden;
	background: url(images/img_saitekihoken_h4.png)no-repeat;
  background-position: left;
	background-color:#eee;
} 


h4.saitekitohaprocess span{
	display: inline-block;
	vertical-align: bottom;
	text-indent:150%;
	white-space:nowrap;
	overflow:hidden;
	background: url(images/img_saitekihoken_h4.png)no-repeat;
  background-position: left;
	background-color:#eee;
}


h4.glhokentoha span{
	display: inline-block;
	vertical-align: bottom;
	text-indent:150%;
	white-space:nowrap;
	overflow:hidden;
	background: url(images/img_glhoken_h4.png)no-repeat;
  background-position: left;
	background-color:#eee;
}

h4.glhokenprocess span{
	display: inline-block;
	vertical-align: bottom;
	text-indent:150%;
	white-space:nowrap;
	overflow:hidden;
	background: url(images/img_glhoken_h4.png)no-repeat;
    background-position: left;
	background-color:#eee;
	background-size: 90%;
}


.fs18{font-size: 18px;}
.fs21{font-size: 21px;}
.taR{text-align: right;}
.taC{text-align: center;}
.clear{clear: both;}
.mt30{margin-top: 30px;}
.mt50{margin-top: 50px;}
.mb10{margin-bottom: 10px;}
.mb30{margin-bottom: 30px !important;}
.fcRed{color:#cc0000}

h5{
	clear:both;
	margin:20px 0 10px;
	font-weight:bold;
	font-size: 18px;
	color: #000;
	border-bottom: 3px solid #c7d53e;
}

h5:before{
	margin:0 10px 0 0;
    content:" ";
    display:inline-block;
    width:8px;
    height:9px;
    background:url(images/headingSpan2.png);    
    background-size:contain;
    vertical-align:middle;
}

/*h5.heading{
padding-left:20px;
margin-bottom:20px;
color:#333;
font-size:16px;
border-bottom:1px solid #1c73bc;
background:url(images/headingSpan2.png) no-repeat 2px 50%;
}*/

h5 span{
font-size:1.6em;
font-family:"Times New Roman", Times, serif;
font-style:italic;
}

h5.heading span.link{
padding-left:10px;
font-size:.8em;
font-style:normal;
font-family:"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
}


h6{
	clear: both;
	margin: 10px 0 0;
	font-weight: bold;
	font-size: 16px;
	color: #007e3d;
}

/*h6.heading{
margin-bottom:5px;
color:#007e3d;
border-bottom:2px solid #3b8fe3;
}

h6.heading2{
color:#555;
padding-left:18px;
background:url(images/circle.png) no-repeat 2px .3em;
}

h6.heading3{
margin-bottom:5px;
border-bottom:1px solid #1c73bc;
}*/

.listUp{
clear:both;
margin:5px 0;
padding:5px 10px;
background:#faf8f1;
border:1px solid #f2eedc;
}

.txt{
float:left;
width:380px;
padding-bottom:30px;
}
.image{
float:right;
margin:35px 0 0;
}

a.btn, input.btn{
padding:5px 10px 5px 24px;
color:#fff;
background:#2c6fb0;
border-radius:3px;
-webkit-transition:.25s;
-moz-transition:.25s;
-o-transition:.25s;
text-decoration: none !important;
background:#2c6fb0 url(images/arrowBtn.png) no-repeat 10px 50%;
}

input.btn{
border:0;
font-size:14px;
}

a.btn:hover, input.btn:hover{
background-color:#004c89;
cursor:pointer;
}

li{zoom:1;}

ol{margin:10px 0 20px 25px;}

ol li{
list-style:decimal;
margin-bottom:10px;
zoom: normal; 
}

ol.simple li{list-style:none;}

ul.list, ol li ul.list li{list-style:disc;}

ul.list{margin-left:20px;}

ul.list li{margin-bottom:5px;zoom:normal;}


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

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

.alignleft{
	float: left;
	margin: 0 0 15px 10px;
}

img.frame{
padding:5px;
box-shadow:0 0 3px #ccc;
}



/* 会社概要
----------------------------------*/
.content table{
border: 1px #dedede solid;
border-collapse: separate;
border-spacing: 0;
margin:10px 0 20px;
}

.content table th{
padding: 10px;
border: 1px #dedede solid;
border-width: 0 0 1px 1px;
vertical-align: middle;
background: #dedede;
box-shadow: 1px 1px 1px #fff inset;
line-height: 1.6;
}

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

.content table td.lh16{
	padding: 5px 10px !important;
line-height: 1.6 !important;
}

.content table.company th{
	width:8em;
}

.content table.cfp th.member{
	width: 7em;
	background: #fff;
	font-weight: normal;
}

.content table.cfp td.member{
	line-height: 1.2;
	padding: 6px 10px;
}

p.map{margin:5px 0 15px;}

h5.group{
line-height: 1.3;
margin-bottom:5px;
border-bottom:1px solid #ccc;
}

h5.group span{
padding-left:10px;
font:normal 12px "Lucida Sans Unicode", "Lucida Grande","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
}


/* 沿革
----------------------------------*/
ul.enkaku li{
clear:both;
overflow:hidden;
padding-bottom:10px;
margin-bottom:10px;
border-bottom:1px dotted #ccc;
}

ul.enkaku li div{
float:left;
width:8em;
color:#999;
}

.content ul.enkaku li p{
float:left;
margin:0;
}


/* 事業内容
----------------------------------*/
ol.fiveC{margin:10px 0;}

ol.fiveC li{
list-style:none;
margin-bottom:20px;
}

ol.fiveC li strong{
color:#004831;
font-size:18px;
font-weight:bold;
font-style:italic;
font-family:"Times New Roman", Times, serif;
}

ol.fiveC li p{margin:3px 0 0 12px;}

.listUp ol{margin:10px 0 0 20px;}

.listUp li{margin-bottom:5px;}

.listUp h6{color:#004831;}


/* 最適保険プログラム
----------------------------------*/
.saitekika{
overflow:hidden;
background:url(images/saitekikaArrow.png) no-repeat 50% 70%;
}

.saitekika div{
float:left;
width: 45%;
padding:10px 5px;
margin-left:60px;
}

.saitekika img{margin-top:15px;}

.saitekika div.hokenMondai{margin-left:0;}

.saitekika h5{
margin-bottom:5px;
font-size:14px;
}


/* BCP
----------------------------------*/
ol.bcp{margin:-3px 0 0 40px;}

ol.bcp li{
float:left;
width:20em;
margin-bottom:3px;
}


/* ヒューマン・リソース
----------------------------------*/
.txt2{
float:left;
width:330px;
padding:20px 0 30px;
}
.image2{
float:right;
}


/* レポート
----------------------------------*/
.reportBox{clear:both;}

.reportBox .txt{
float:right;
width:70%;
}
.reportBox .image{
float:left;
width: 20%;
margin:20px 0;
}

.reportBox .image img{
	width: 230px !important;
	height: 327px !important;
}

.reportBox .txt p{margin-bottom:30px;}

.note{
clear:both;
font-size:12px;
color:#555;
}

ul#pdf li a:after,ul#pdf a.link:after{content:"";}

ul#pdf li{
padding:3px 0 3px 23px;
background:url(images/pdf.png) no-repeat 0 50%;
}


/* お問い合わせ
----------------------------------*/
#contactForm dt{
	float: left;
  clear: left;
  width: 10em;
	padding-bottom: 10px;
	text-align: right;
}

#contactForm dt span, span.req{
	color: #cc0000;
	font-weight: bold;
}

#contactForm dd{
	padding: 0 0 10px 12em;
}

#contactForm input,#contactForm textarea,#contactForm select{
	width: 96%;
	padding: 0 3px;
	line-height: 30px;
	height: 30px;
	font-size: 16px;
	background: #f8f8f8;
	border: 1px solid #ccc;
	border-radius: 3px;
}

#contactForm input.zip{width:5em;}

#contactForm select{
	width:100px;
	margin-bottom:10px;
	height:auto;
}

#contactForm textarea{
	width:96%;
	height:120px;
	line-height:1.4;
}
#contactForm textarea.address{height:60px;}

p.submit{text-align: center;}


/* リンク集
----------------------------------*/
ul.links li{
margin-bottom:15px;
padding-bottom:0;
border-bottom:1px dotted #ccc;
}

ul.links li.last{border:0;}
ul.links li a{display:block;text-decoration:none !important;}
ul.links li a:after, a.link:after{content:url("images/link.png");}
ul.words li a:after{content:"";}

ul.words li a:before{
	content: "";
	display: inline-block;
	width: 8px;
	height: 9px;
	background: url(images/arrowGrey.png) no-repeat 0 50%;
	background-size: 8px 9px;
	margin: 0 12px 2px 0;
	vertical-align: middle;
}

ul.block{float:left;margin-right:40px;}
ul.last{margin:0;}


/* サイトマップ
----------------------------------*/
ul.sitemap{
float:left;
width:195px;
margin-right:10px;
}

ul.middle{width:280px;}

ul.sitemap li{
margin-bottom:10px;
font-size:14px;
font-weight:bold;
}

ul.sitemap li li{
margin:0;
padding:0 0 0 13px;
font-size:13px;
font-weight:normal;
background:url(images/tree.png) no-repeat 0 .4em;
}

ul.sitemap li li:last-child{background-image:url(images/tree2.png);}

ul.sitemap li li li{font-size:12px;}

ul.sitemap a{display:block;}


/* ページナビゲーション
----------------------------------*/
.pagenav{
clear:both;
width: 94%;
height: 30px;
margin: 20px auto;
}

.prev{float:left}
.next{float:right;}

/* table
----------------------------------*/
.content table.cfp th{
padding:0px 10px;
}

.content table.cfp td{
padding:0px 10px;
}

img.fixedSize{
	width: auto !important;
	height: auto !important;
}

/* frontpage trademark part
----------------------------------*/
.trademark{
	padding-bottom: 50px;
	text-align:center;
	font-size: 15px;
}
.trademark span{
	display: inline-block;
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
}

.trademark span:nth-child(1){
    background: url(images/eip-head.png)no-repeat;
	background-position: center bottom;
	background-size: contain ;
}
.trademark span:nth-child(2){
    background: url(images/gip-head.png)no-repeat;
	background-position: center bottom;
	background-size: contain ;
}

/* IE11 */
_:-ms-lang(x)::-ms-backdrop, .eip, .gip {text-indent:9999px !important; display: inline-grid !important;}

/* 登録商標の画像対応
----------------------------------*/
/*.menu-item-745{
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
	background: url(images/eip-head.png)no-repeat;
	background-position: left 38px center;
	background-size: 12vw ;
}
.menu-item-891{
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
	background: url(images/gip-head.png)no-repeat;
	background-position: left 38px center;
	background-size: 18vw ;
}*/

.page-34 h2{
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
    background: url(images/eip-head.png)no-repeat;
	background-position: center;
	background-size: 30vw;
}


.page-90 h2{
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
    background: url(images/gip-head.png)no-repeat;
	background-position: center;
	background-size: 35vw;
}


@media only screen and (min-width: 1200px){
	.sp{
		display: none;
	}
	
	#header{
		overflow: hidden;
		background: url(images/headerBg.png) repeat-y 50%;
	}
	
	#header .inner{
		width: 100%;
	}
	
	/* ロゴ */
	#header #logo{
		float: left;
		width: 29%;
		padding: 17px 0 0;
		background: #fff;
	}
	
	#toppage #header #logo{
		padding: 14px 0 15px;
	}
	
	#subpage #logo img{
		width: 250px;
		height: auto;
  }
	
	#header #logo a{
		padding-left: 20px;
	}
	
	#header #logoGroup{
		float: right;
		padding: 6px 10px 0 0;
	}
	
	 a#menu{
		display:none;
	}	

	.panel{
		display:block !important;
	}
	
	#mainnav{
		float: left;
		padding-left: 55px;
		line-height: 58px;
		background: #007e3d;
	}

	#mainnav li{
		float:left;
		margin-right: 55px;
	}

	#mainnav a{
		font-size: 14px;
		color: #fff;
		display: block;
	}
	
	#mainnav a:hover{
		text-decoration: underline;
	}
	
	#sidebar{
		padding-top: 10px;
	}
	
	#bannerUpper {
		width: 898px;
		margin: 0 auto;
	}
	#bannerUpper a img {
		width: 135px;
		height: 60px;
	}
	
	#banner .ginsen{
		padding-right: 20px;
	}

	.page-34 h2{
		background-size: 20%!important;
	}
	.page-90 h2{
		background-size: 20%!important;
	}
}


@media only screen and (min-width: 1500px){
  #wrapper,
	.inner,
	#header .inner{
  	width: 1500px;
	}

	#content{
		width: 1163px;
	}

	#sidebar{
		width: 337px;
	}
	
	#header #logo{
		width: 337px;
	}
	
	#toppage #header #logo{
		width: 405px;
	}
	
	#header #logo a{
		padding-left: 35px;
	}
	
	#topics h3{
		margin-top: 20px;
	}

	.page-34 h2{
		background-size: 20%!important;
	}
	.page-90 h2{
		background-size: 20%!important;
	}
}



@media only screen and (min-width: 1000px){
	#content{
		min-height: 550px;
	}
	/* ロゴ */
	#bannerLower ul {
		padding: 20px 10px;
		gap: 10px;
	}
}



@media only screen and (max-width: 1199px){
	.pc{
		display: none !important;
	}
	
	#header{
		background: #fff;
		height: 80px;
	}
	
	#header .inner{
		width: 100%;
	}
	
	#header #logo{
		z-index: 1000;
		padding: 27px 0 0 24px;
		float:left;
	}
	
	#toppage #header #logo img{
		height: auto;
	}
	
	a#menu{
		float: right;
  	display: block !important;
  	position: relative;
		z-index:0;
		width: 80px;
  	height: 80px;
		background: #007e3d;
	}

	#menuBtn{
  	display: block;
  	position: absolute;
  	top: 50%;
  	left: 50%;
  	width: 26px;
  	height: 4px;
  	margin: -4px 0 0 -14px;
  	background: #fff;
  	transition: .2s;
	}

	#menuBtn:before, #menuBtn:after{
  	display: block;
  	content: "";
  	position: absolute;
  	top: 50%;
  	left: 0;
  	width: 26px;
  	height: 4px;
  	background: #fff;
  	transition: .3s;
	}

	#menuBtn:before{
  	margin-top: -14px;
	}

	#menuBtn:after{
  	margin-top: 10px;
	}

	a#menu .close{
  	background: transparent;
	}

	a#menu .close:before, a#menu .close:after{
  	margin-top: 0;
	}

	a#menu .close:before{
  	transform: rotate(-45deg);
  	-webkit-transform: rotate(-45deg);
	}

	a#menu .close:after{
  	transform: rotate(-135deg);
  	-webkit-transform: rotate(-135deg);
	}

	.panel{
		width: 100%;
		display: none;
		overflow: hidden;
		position: relative;
		left: 0;
		top: 0;
		z-index: 100;
	}

	#mainnav{
		width: 100%;
	}

	#mainnav ul{
		border-bottom: 1px solid #ccc;
		background: #fff;
		text-align: left;
	}

	#mainnav li a{
		position: relative;
		display:block;
		padding:15px 25px;
		border-bottom: 1px solid #ccc;
		color: #000;
		font-weight: 400;
	}

	#mainnav li a:before{
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 5px;
		width: 6px;
		height: 6px;
		margin: -4px 0 0 0;
		border-top: solid 2px #000;
		border-right: solid 2px #000;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	
	#topics{
		width: 96%;
		margin: 0 auto;
	}
	
	#topics .col4 li, #topics .col4 li.w3{
		float: none;
		margin: 0 !important;
		padding: 0 2% !important;
		width: 98% !important;
	}
	
	#archive h3{
		padding: 5px 10px 5px 45px;
		text-align: left !important;
		font-size: 16px;
		line-height: 1.3;
		/*background-position: 10px 50%;*/
		/*background-size: 20px 20px;*/
			background-position: 5px 1px;
		/*background-size: 8vw !important;*/
	}
	
	.top-item-34 h3, .top-item-90 h3{
		background-size: 2.5vw !important;
	}

	#toppage h3{
		text-align: center;	
		margin-bottom: 20px;
	}
	
	#topics{
		padding: 5px 0 42px;
	}
	
	#news{
		padding: 30px 0 !important;
  }
	
	#news .btnNews{
		border-width: 4px;
	}
	
	#banner br{
		display: none;
	}
	
	#banner span{
	  padding: 0 10px 20px !important;
	}

	.alignright, .alignleft{
	  float: none;
		display: block;
		margin: 10px auto;	
	}
	
	img.frame{
		width: calc(100% - 10px);
  	padding:5px;
		box-shadow:0 0 3px #ccc;
	}
	
	#content,
	#sidebar{
		float: none;
		width: 104%;
		margin: 0 -2%;
		background: none;
	}
	
	.content{
		padding: 50px 4%;
	}
	
	#sidebar li{
		padding: 0;
	}
	
	#sidebar a{
		border-bottom: 2px solid #fff;
		background: #eee;
		position: relative;
		/*z-index: -100;*/
	}
	
	#news dt,
	#contactForm dt{
		float: none;
		padding: 20px 0 0;
		text-align: left;
	}
	
	#news dt{
		margin-bottom: 8px;
	}
	
	#news dt p{
		margin: 0;
	}

	#news dd,
	#contactForm dd{
 		padding: 10px 0 15px;
	}
	
	#footer ul{
		overflow: hidden;
		text-align: left;
		width: 96%;
		margin: 0 auto;
	}
	
	#footer li{
		float: left;
		margin-bottom: 10px;
		padding:0 40px 0 0;
	}
	
	#intro{
		padding: 20px 2%;
	}

	#intro h2{
		width: 100%;
		display: block;
		vertical-align: middle;
		text-align: left;
		font-size: 22px;
	}
	
	#intro h2 span{
		display: inline;
		margin-left: 20px;
	}

	#intro .intro{
		display: block;
		padding: 10px 0 0;
		border: 0;
		border-top: 3px solid #fff;
	}
	
	#intro h3{
		text-align: left !important;
	}
	
	#intro h3 br{
		display: none;
	}
	
	#archive h2{
		margin-top: 40px;
  }

	#archive h2,
	#referenceTop h2{
		margin-bottom: 0;
	}

/*
	.top-item-34 h3{
		margin-top:  5px;
		background-size:85%!important;
	}
	
	
	.top-item-90 h3{
		margin-top:  5px;
		background-size:95%!important;
	}
*/
	.page-34 h2{
		background-size: 40vw;
	}
	.page-90 h2{
		background-size: 60vw;
	}
	
	
}

@media only screen and (max-width: 1400px){
	.saitekika{
		background: none;
	}

	.hokenSolution{
		padding-top: 50px !important;
		background:url(images/saitekikaArrow2.png) no-repeat 50% 0;
	}

  .saitekika div,
	.txt,
	.txt2,
	.image,
	.image2,
	.reportBox .txt,
	.reportBox .image{
		float: none;
		width: 100%;
		margin: 0;
	}
	
	.reportBox .image{
		padding-bottom: 30px;
	}
	
	#canvas{
		width: 98% !important;
	}
	/* 事業案内モバイルボトムメニュー*/
	.menu-item-745 {
		background-position: left 18px center !important;
		background-size: 180px !important;
	}
	
	.menu-item-891 {
		background-position: left 18px center !important;
		background-size: 250px !important;
	}
	
}


@media only screen and (max-width: 1400px) and (min-width: 1200px){
	#intro .intro{
		width: calc (78% - 50px);
		padding: 20px 0 10px 50px !important;
	}
	#intro h2{
		width: 22%;
  }
	#logo img{
		max-width: 90%;
	}
}


@media only screen and (min-width: 641px){
  #archive ul{
	overflow: hidden;
	display:-webkit-box;
  display:-moz-box;
  display:-ms-box;
  display:-webkit-flexbox;
  display:-moz-flexbox;
  display:-ms-flexbox;
  display:-webkit-flex;
  display:-moz-flex;
  display:-ms-flex;
  display:flex;
  -webkit-box-lines:multiple;
  -moz-box-lines:multiple;
  -webkit-flex-wrap:wrap;
  -moz-flex-wrap:wrap;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
	padding: 30px 0 0;
	}

}


@media only screen and (max-width: 800px){
	#referenceTop h2{
		text-align: center;
		margin-bottom: 20px;
	}
	
	#referenceTop{
		padding: 70px 0 100px;
		background-position: 100% 100%;
	}

	#referenceTop ul{
		padding: 0 2%;
		background: rgba(255, 255, 255, .5);
		
	}

	#referenceTop li{
		display: block;
		width: 100%;
		margin: 0 0 10px;
  }
}


@media only screen and (max-width: 640px){
	#archive{
		padding: 40px 0;
	}
	#archive h2{
		padding-bottom: 20px;
	}
	
	#archive li{
		width: 100% !important;
		margin: 0 0 20px !important;
	}

	#title{
		padding: 51px 0 20px;
	}
	#title h2{
		font-size: 30px;
  }
	#title h2 br{
		display: block;
	} 
	
	h3.heading{
		font-size: 22px;
	}

	.top-item-34 h3, .top-item-90 h3{
		margin-top:  5px;
		background-size:5vw!important;
	}
}


@media only screen and (max-width: 480px){
	#header #logo{
		width: 280px;
		padding-left: 10px;
	}

	h2 br{
		display: none;
	}

	.content table.company th{
		width: 5em;
	}

	h3.sub {
		background-size: 90%;
	}
	h4.saitekitoha{
		background-size: 80%;
	}
	h4.saitekitohaprocess{
		background-size: 90%;
	}

	h3.sub1{
		background-size: 90%;
	}

	h4.glhokentoha{
		background-size: 90%;
	}
	h4.glhokenprocess{
		background-size: 90%;
	}

	.top-item-34 h3{
		margin-top:  5px;
		background-size:65%!important;
	}
	.top-item-90 h3{
		margin-top:  5px;
		background-size:75%!important;
	}
}

@media only screen and (max-width: 380px){
	#header #logo{
		width: 200px;
	}
	#header #logo img{
		height: auto !important;
	}
	
	#banner img{
		max-width: 280px;
		height: auto;
	}

	h2 br{
		display: none;
	}

	.content table.company th{
		width: 5em;
	}

	.top-item-34 h3{
		margin-top:  5px;
		background-size:60%!important;
	}
	.top-item-90 h3{
		margin-top:  5px;
		background-size:70%!important;
}


/*
@media only screen and (max-width: 340px){
	#contact{
		
	}
*/



/* 202102 sustainability 追加　start
----------------------------------*/
.goSustainability{
margin-bottom:40px;
}
.sustainabilityBtn{
	padding:70px 0 100px 0;
	text-align:center;
}
.sustainabilityBtn a{
padding:25px 40px 25px 30px;
color:#fff;
-webkit-transition:.25s;
-moz-transition:.25s;
-o-transition:.25s;
text-decoration: none !important;
background:#0f7f3d url(images/arrow4.png) no-repeat right 50%;
display:inlineblock;
margin:0 auto;
}
.sustainabilityBtn a:hover{
background-color:#016329;
cursor:pointer;
}
h3.heading span span{
	padding-left: 10px;
	background:none;
	color:#333;
	font-size:0.7em;
}
#sustainability_Box{
	margin-bottom:30px;
}
#sustainability_Box li{
	width: 30%;
	margin: 0 1.4%;
	display:inline-block;
	background-size: cover;
	background-repeat:no-repeat;
	text-align:center;
	padding:calc(6vw) 0 calc(5vw) 0;
	color:#fff;
	font-size:24px;
	line-height:28px;
}
#sustainability_Box li span{
	font-size:16px;
}
#sustainability_Box li.box1{
	background-image: url(images/sustainability_Box1.png);
}
#sustainability_Box li.box2{
	background-image: url(images/sustainability_Box2.png);
}
#sustainability_Box li.box3{
	background-image: url(images/sustainability_Box3.png);
}
.sustainabilityImg{
	padding-top:30px;
}
.pcnone{
	display:none;
}
@media only screen and (max-width: 800px){
	.sustainabilityBtn{
		padding:50px 0 70px 0;
		text-align:center;
	}
	.sustainabilityImg{
		padding-top:10px;
	}
	#sustainability_Box li{
		padding:calc(10vw) 0 calc(8vw) 0;
	}
}
@media only screen and (max-width: 640px){
	.pcnone{
		display:block;
	}
	.sustainabilityBtn{
		padding:30px 0 60px 0;
	}
	.sustainabilityBtn a{
		padding:15px auto;
		display:block;
	}
	#sustainability_Box li{
		width: 80%;
		margin: 3% auto;
		display:block;
		padding:calc(20vw) 0 calc(16vw) 0;
	}
}


/* 202102 sustainability 追加　end
----------------------------------*/
/* ヘッダーの固定（宙に浮く設定）を解除 */
header {
    position: relative !important;
}

