@charset "utf-8";



/*全端末（PC・タブレット・スマホ）共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*全体の設定
---------------------------------------------------------------------------*/
body {
	margin: 0px;
	padding: 0px;
	color: #191F1D;	/*全体の文字色*/
	font-family: "Yu Gothic" ,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	font-size: 16px;	/*文字サイズ*/
	line-height: 2;		/*行間*/
	background: #fff;	/*背景色*/
	-webkit-text-size-adjust: none;
}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form,select,input,textarea {margin: 0px;padding: 0px;font-size: 100%;font-weight: normal;}
ul {list-style-type: none;}
/*ul.disc {padding: 0em 0px 20px 18px;}*/
ul.disc{list-style:disc ;padding-left:1.5em ;overflow: hidden;}
ul.decimal{list-style:decimal ;padding-left:1em ;}
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}
table {border-collapse:collapse;font-size: 100%;border-spacing: 0;}
iframe {width: 100%;}
video,audio {max-width: 100%;}

/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
	color: #0064DF;		/*リンクテキストの色*/
	transition: 0.5s;	/*マウスオン時の移り変わるまでの時間設定。0.5秒。*/
}
a:hover {
	/*color: #15AD4A;			/*マウスオン時の文字色*/
	opacity: 0.5;	/*80%色がついた状態*/
	text-decoration: none;	/*マウスオン時に下線を消す設定。残したいならこの１行削除。*/
}
/*マウスオン時の画像*/
a img{
	transition: 0.5s;	/*マウスオン時の移り変わるまでの時間設定。0.5秒。*/
}
a:hover img {
	opacity: 0.8;	/*80%色がついた状態*/
}

/*inner共通
---------------------------------------------------------------------------*/
.inner {
	max-width: 1300px;	/*サイトの最大幅*/
	margin: 0 auto;
}

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	background: #fff;	/*背景色*/
	height: 140px;		/*高さ*/
	height: 160px;		/*高さ*/
	color: #333;		/*文字色*/
	/*border-bottom: 1px solid #d4d4d4;	/*メニューの下側の線の幅、線種、色*/
	width: 100%;
	z-index: 100;
	top: 0;
	left: 0;
}
/*ロゴ画像*/
header #logo {
	width: 30%;		/*ロゴ画像の幅*/
	max-width:400px ;
	max-width:350px ;
	float: left;		/*左に回り込み*/
	margin-top: 35px;	/*ロゴの上にあける余白。ヘッダー内の上下の配置バランスをここで調整して下さい。*/
	margin-top: 5px;	/*ロゴの上にあける余白。ヘッダー内の上下の配置バランスをここで調整して下さい。*/
	margin-top: 10px;	/*ロゴの上にあける余白。ヘッダー内の上下の配置バランスをここで調整して下さい。*/
	margin-left: 1%;	/*ロゴの左側にあける余白。*/
}

/*メインメニューのブロック
---------------------------------------------------------------------------*/
/*メニューブロック*/
#menubar {
	/*height: 75px;		/*メニューの高さ。下の「#menubar ul li a」の「height」と「padding-top」の数字を合計した数字に合わせる。*/
	text-align: center;	/*文字を中央に*/
	position: absolute ;
	right: 20px;		/*ヘッダーブロックに対して右から0pxの場所に配置*/
	top: 0px;	/*ヘッダーブロックに対して下から0pxの場所に配置*/

	font-family: 'Noto Sans JP', sans-serif;
	font-weight:500 ;

	/*border: 1px solid #0f0;	/*メニューの下側の線の幅、線種、色*/
}
/*メニュー１個あたりの設定*/
#menubar li {
	float: left;	/*左に回り込み*/
	/*width: 120px;	/*メニュー幅（100÷6個=16.66%）　もし４個にするなら100÷4=25%になる。*/
	width: 140px;	/*メニュー幅*/
}
#menubar li a {
	text-decoration: none;
	display: block;
	padding-top: 25px;	/*上に追加する余白*/
	padding-top: 10px;	/*上に追加する余白*/
	/*border: 1px solid #f00;	/*メニューの下側の線の幅、線種、色*/
	/*font-weight:500 ;*/
	color:#0064DF ;
	font-size:90% ;

	padding-bottom: 10px;	/*上に追加する余白*/
}
/*お問い合わせ*/
#menubar li.contact a {
	background:#0064DF ;
	color:#FFF ;
	border-radius:2px ;
	padding:5px 0 ;
	margin:5px 0 5px 10px;
}
/*飾り文字*/
#menubar li span {
	/*display: block;
	font-size: 12px;			/*文字サイズ*/
	/*font-weight: normal;	/*文字を太字でなく標準に戻す設定*/
	/*letter-spacing: 0.2em;	/*文字間隔を少しあける設定*/
	/*opacity: 0.5;			/*透明度50％*/
}
/*マウスオン時と、現在表示中(current)のメニューの設定*/
#menubar li a:hover, #menubar li.current a {
	/*color:#DB3B19 ;
	border-bottom: 5px solid #DB3B19;	/*メニューの下側の線の幅、線種、色*/
	opacity: 0.5;			/*透明度50％*/
}
/*スマホ用メニューを表示させない*/
#menubar-s {display: none;}
/*３本バーアイコンを表示させない*/
#menubar_hdr {display: none;}

/*採用メニュー（右上のメニュー）
----------------------------------------------------------------------------------------------------------------------------------*/
#menubar .menubar2 {
	margin-bottom:40px ;
	margin:5px 0 50px ;
}
#menubar .menubar2 li {
	float:right ;
	line-height:1.0 ;
	width: 120px;
	width: auto;
}
#menubar .menubar2 li a {
	padding-top: 25px;	/*上に追加する余白*/
	font-size:90% ;
	border-bottom: 1px solid #FFF;	/*メニューの下側の線の幅、線種、色*/
	padding-left:3em ;
}
.tel{font-family: 'Noto Sans JP', sans-serif;font-weight:700 ;}
#menubar .menubar2 li.tel {
	padding-top: 25px;	/*上に追加する余白*/
	padding-top: 15px;	/*上に追加する余白*/
	font-size:28px ;
	/*border-bottom: 1px solid #FFF;	/*メニューの下側の線の幅、線種、色*/
	padding-left:1.5em ;
}

/*トップページのメイン画像
---------------------------------------------------------------------------*/
#mainimg{
	margin-bottom:50px ;
	/*margin-bottom:400px ;*/
	position:relative ;
}
#mainimg .bxslider {
	/*position:absolute ;
	top:0 ;
	left:0 ;
	z-index:9999 ;*/
}
#mainimg .copy{
	position:absolute ;
	right:5% ;
	top:10% ;
	/*left:10% ;
	bottom:-50% ;*/
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:700 ;
	font-size:400% ;
	font-size:370% ;
	line-height:1.5 ;
	color:#004DAC ;
	text-shadow:2px 2px #FFF ;
	/*z-index:3 ;*/
}
#mainimg .video{
	/*max-width: 55%;
	position:absolute ;
	right:0 ;
	top:85% ;
	z-index:1 ;*/
}


/*各コンテンツブロックの背景設定
---------------------------------------------------------------------------*/
/*背景：グレイ*/
.bg_gray {
	background: #F7F7F7 ;
}
/*背景：ライトブルー*/
.bg_blue {
	background: #CCE0F9 ;
}
/*背景：ライン*/
.bg_line {
	background: #f6f7f7 ;
	background: #F6F7F7 url(../images/bg_line.png);
}

/*コンテンツ。メニューの下にある白い背景色のブロック。
---------------------------------------------------------------------------*/
.contents{
	padding: 70px 10% 70px 10%;	/*上、右、下、左への余白*/
	clear:both ;
	margin:0 ;
}
.contents_r{
	padding: 70px 0 70px 10%;	/*上、右、下、左への余白*/
}
.contents_l{
	padding: 70px 10% 70px 0;	/*上、右、下、左への余白*/
}
/*h2タグ*/
#contents h2 {
	clear: both;
	/*margin-bottom: 40px;	/*下に空けるボックスの外側への余白*/
	font-size: 200%;		/*文字サイズ*/
	text-align: center;		/*文字を中央に*/
	line-height: 1.5;		/*行間を基準より少し狭くする*/
	font-weight:bold ;
	/*color:#0064DF ;*/

	/*display:inline-block ;
	display:inline ;*/
	font-family: 'Noto Sans JP', sans-serif;
}
#top #contents h2 {
	display:inline ;
}
#contents h2 + * {
	margin-top: 1.5em;	/*インライン要素でmarginが効かないため*/
}
#contents h2 img{
	position:relative ;
	top:-5px ;
	height:50px ;
}
/*type1のh2タグ*/
#contents h2.type1 {
	padding: 70px 0px;	/*上下、左右へのボックス内の余白*/
	padding: 100px 0px;	/*上下、左右へのボックス内の余白*/
	color:#FFF ;
	background: url(../images/bg_type1.jpg);
	background-size:cover;

	font-weight:500 ;
}

/*h3タグ*/
#contents h3 {
	clear: both;
	margin-bottom: 30px;	/*下に空けるボックスの外側への余白*/
	font-size: 150%;		/*文字サイズ*/
	padding: 10px 0;	/*上下、左右へのボックス内の余白*/
	border-bottom: solid 3px #B6FF15;
	position: relative;
	color: #021b18;	/*全体の文字色*/

	font-family: 'Noto Sans JP', sans-serif;
}
#contents h3:after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 3px #0064DF;
	bottom: -3px;
	width: 20%;
}
/*h5タグ*/
#contents h5 {
	color:#0064DF;
	font-size:120% ;
	font-weight:bold ;
	margin-bottom: 20px;
	padding: 0 2%;	/*上下、左右への余白*/
}
/*h6タグ(民間業務ページで使用)*/
#contents h6 {
	/*color:#0064DF;
	font-size:100% ;
	font-weight:bold ;*/
	margin-bottom: 10px;
	padding: 0 2%;	/*上下、左右への余白*/

	color: #001024 ;
	font-size:100% ;
	font-weight:bold ;
}
#contents h6  span{
	background:#8FD000 ;
	color:#FFF ;
	font-size:90% ;
	border-radius:4px ;
	padding:4px 10px;
	margin-right:0.5em ;
}
/*段落タグ*/
#contents p {
	padding: 0 20px 40px;
	padding: 0 2% 40px;
}
#contents p + p {
	margin-top: -10px;
}
/*section同士の余白*/
#contents section + section {
	/*margin-top: 40px;*/
}
#top #contents section + section {
	margin-top: 0px;	/*トップページはなし*/
}

/*ページナビ（メインメニューの下にある、現在の階層を示すナビメニュー）
---------------------------------------------------------------------------*/
/*ナビブロック全体*/
.type1_box {
	position:relative ;
}
/*ナビブロック全体*/
.nav {
	position:absolute ;
	right:10% ;
	bottom:10px ;

	color:#FFF ;
	font-size:90% ;
}
/*メニュー１個あたりの指定*/
.nav li {
	display: inline;	/*横並びになる指定*/
	padding: 0 5px;		/*上下、左右への余白*/
}
.nav li a{
	color:#FFF ;
}
/*メニューの冒頭に入れる「>」のマーク*/
.nav li::before{
	content: ">";			/*このテキストを出力します。変更してもかまいませんが機種依存文字は化ける場合があるので使わない。*/
	padding-right: 12px;	/*文字サイズ*/
	color: #FFF;			/*文字色*/
}
/*最初のメニューには「>」は入れない*/
.nav li:first-child::before {
	content: none;
}

/*listブロック（2つ並びブロック）
---------------------------------------------------------------------------*/
/*ブロック１個あたりの設定*/
.list {
	overflow: hidden;
	display:inline-block ;
	width: 47%;	/*幅*/
	width: 30%;	/*幅*/

	/*float: left;	/*左に回り込み*/
	margin: 0 0 20px 2%;	/*上、右、下、左へのボックスの外側に空けるスペース*/

	/*box-shadow: 3px 4px 2px rgba(0,0,0,0.1);	/*ボックスの影。右へ、下へ、ぼかし幅、色。0,0,0は黒の事で、0.1は色が10%出た状態。*/
	border-radius: 2px;	/*角丸のサイズ。ほんの少し角が丸くなってます。*/
	background:#0064DF ;
}
.list a {
	display: block;text-decoration: none;overflow: hidden;
	margin: -2%;	/*ボックスのマージン。リンク設定する場合に、上の.listのpaddingを相殺するため。*/
	padding: 2%;	/*ボックス内の余白*/

	color: #FFF;		/*文字色*/
	background: url(../images/icon_arrow1.png) no-repeat right 20px bottom 20px / 40px;	/*リンク設定した際の右下の矢印マークの読み込み。right（右）、bottom（下）、40pxは画像の幅。*/
	border-top: 2px solid #0064DF;	/*枠線の幅、線種、色*/

	}
/*マウスオン時の設定*/
.list a:hover {
	/*position: relative;
	background:#BAF6CF ;
	background:rgba(186, 246, 207, 0.5) ;*/
	/*color:#137DFF ;*/
	background:#666 ;
	background:#666 url(../images/icon_arrow1.png) no-repeat right 10px bottom 20px / 40px;	/*リンク設定した際の右下の矢印マークの読み込み。right（右）、bottom（下）、40pxは画像の幅。*/
	border-top: 2px solid #666666;	/*枠線の幅、線種、色*/

}
.list a:hover figure{
	/*background:#DDD ;*/
}
/*画像の設定*/
.list figure {
	background:#FFF ;
	border: 1px solid #DDD;	/*枠線の幅、線種、色*/
}
.list figure img{
	width:100% ;
}
/*h4（見出し）タグの設定*/
.list h4 {

	font-size: 120%;	/*文字サイズ*/
	height: 1.5em;		/*高さ*/
	overflow: hidden;	/*高さを超えた場合に非表示にする*/
	padding: 2% 4% ;
	font-weight:bold ;
}
/*pタグの設定*/
#contents .list p {
	padding: 0 4% ;

	height: 12.5em;		/*高さ*/
	text-align:left ;
}

/*実績紹介のlistブロック（2つ並びブロック）
---------------------------------------------------------------------------*/
/*ブロック１個あたりの設定*/
#works .list {
	border: none;	/*枠線の幅、線種、色*/
	box-shadow: none;	/*ボックスの影。右へ、下へ、ぼかし幅、色。0,0,0は黒の事で、0.1は色が10%出た状態。*/
}
/*h4（見出し）タグの設定*/
#works .list h4 {
	text-align: center;	/*文字をセンタリング*/
}
/*カテゴリアイコン*/
.worksicon {
	background: #DB3B19;	/*背景色*/
	color: #FFF;		/*文字色*/
	font-size: 70%;		/*文字サイズ*/
	line-height: 1.5;
	padding: 4px 15px 2px;
	border-radius: 2px;
	margin: 0px 5px;
	vertical-align: text-top;
}
/*list3ブロック（3つ並びブロック）
---------------------------------------------------------------------------*/
/*ブロック１個あたりの設定*/
.list3 {
	width: 30%;	/*幅*/
}
/*p（段落）タグの設定*/
.list3 p {
	padding:2% 4% 4% !important;
	line-height: 1.5;	/*行間を少し狭くする。デフォルトは最上部のbodyにあります。*/
	color: #191F1D;		/*文字色*/
	height: 4.5em;		/*高さ。1.5emを１行分とカウントして下さい。6emなら４行です。*/
	overflow: hidden;	/*高さを超えた場合に非表示にする*/
}
/*list2（2つ並びの各ボックス）
---------------------------------------------------------------------------*/
/*各ボックスの設定*/
.list2 {
	position: relative;
	width: 45%;		/*ボックス幅*/
	margin: 0 1.5% 30px;	/*上、左右、下へ、ボックスの外側に空けるスペース*/
	text-align: center;		/*内容を中央よせ*/
	vertical-align:top ;
	display:inline-block ;	/*ボックス個数が3の倍数でない時、中央寄せするための設定。それ以外はコメント*/
}
.list2 figure::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.6);
}

/*ボックス内の画像*/
.list2 figure {
	/*margin-bottom: 20px;	/*画像の下に空けるスペース*/
	width: 100%;		/*ボックス幅*/
	overflow: hidden;
}
.list2 figure a img {
	opacity: 1.0;	/*80%色がついた状態*/
	-moz-transform: scale(1.0,1.0);
	-webkit-transform: scale(1.0,1.0);
	-o-transform: scale(1.0,1.0);
	-ms-transform: scale(1.0,1.0);
	transition: 0.5s;	/*マウスオン時の移り変わるまでの時間設定。0.5秒。*/
}
.list2 figure a:hover img {
	opacity: 0.7;	/*80%色がついた状態*/
	-moz-transform: scale(1.1,1.1);
	-webkit-transform: scale(1.1,1.1);
	-o-transform: scale(1.1,1.1);
	-ms-transform: scale(1.1,1.1);
}
/*ボックス内のh4（見出し）タグ*/
.list2 h4 {
	/*position: absolute;
	bottom: -10px;	/*list2ボックスの下から0pxの場所に配置*/
	/*left:5% ;	/*（100%-90%(下のwidth)）÷ 2 で中央に配置*/
	/*width: 90%;	/*幅*/
	/*background: #FFF;	/*背景色（古いブラウザ用）*/
	/*background: rgba(255,255,255,0.9);	/*背景色。255,255,255は白の事で0.9は90%色がついた状態。*/
	/*color: #021B18;	/*文字色*/

	/*font-weight:bold ;
	padding:10px 0 ;
	box-shadow: 3px 3px 3px rgba(2,27,24,0.4);
	line-height:1.5 ;*/

	text-align:left ;
	font-size:120% ;
	font-weight:bold ;
	padding:10px ;
	line-height:1.5 ;



}
.list2 a {
	text-decoration: none;
}
.list2 a:hover h4{
	color:#8DC031;
}
.list2 h4 span{
	/*font-size:80% ;
	font-weight:normal ;*/
}
/*ボックス内のp（段落）タグ*/
.list2 p {
	padding: 0px !important;
	font-size:90% ;
}

/*写真4つ並び「ギャラリー」ブロック
---------------------------------------------------------------------------*/
.gallery{
	clear:both ;
	padding-top:1em ;
}
.gallery div a{
	margin:0 ;
	padding:0 ;
}
.gallery figure{
	width:22% ;
	float:left ;
	height:auto ;
	text-align:center ;
	margin:0 1.5% 2.0em;
	padding:0 ;
}
.gallery img{
	/*border-radius:6px ;*/
	width:100% ;
}

/*トップページ「企業情報」「採用情報」メニュー設定
---------------------------------------------------------------------------*/
figure.list_fig {
  position: relative;
  overflow: hidden;
  width: 50%;
  background: #001024;
  color: #ffffff;
  text-align: center;
  float:left ;
}
figure.list_fig * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.45s ease-in-out;
  transition: all 0.45s ease-in-out;
}
figure.list_fig img {
  max-width: 100%;
  position: relative;
  opacity: 0.9;
  opacity: 0.5;
}
figure.list_fig figcaption {
  position: absolute;
  top: 45%;
  top: 35%;
  left: 7%;
  right: 7%;
  bottom: 45%;
}
figure.list_fig h4 {
  display: table;
  margin: 0 auto;
  padding: 0 10px;
  position: relative;
  text-align: center;
  width: auto;
  text-transform: uppercase;
  font-weight: 400;

  font-weight:bold ;
  font-size: 200%;
}
figure.list_fig h4 span {
  font-size: 70%;
}
figure.list_fig a {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  position: absolute;
  z-index: 1;
}
figure.list_fig:hover img,
figure.list_fig.hover img {
  opacity: 0.25;
   opacity: 0.9;
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

/*事業内容list3ブロック（3つ並び丸ブロック）rgba(186, 246, 207, 0.5)#15AD4A
---------------------------------------------------------------------------*/
/*.bg_img{
  wight: 100%;
  height: 240px;
  position: relative;
  width: 30%;
  float: left;
  margin-left: 3%;
  border-radius: 50%;

}
.bg_img1{
  background:url(../images/ph_service0_1.jpg);
  background-size:cover;
  background-position:50%;

}
.bg_img2{
  background:url(../images/ph_service0_2.jpg);
  background-size:cover;
  background-position:50%;

}
.bg_img3{
  background:url(../images/ph_service0_3.jpg);
  background-size:cover;
  background-position:50%;

}
.bg_img::after {
  content: '';
  background-color: rgba(252,234,230,0.5);
  position: absolute;
  border-radius: 50%;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

a.service_hover:hover .bg_img::after {
	color: #ccc;
	background-color: rgba(252,234,230,1)!important;
}

.bg_img p{
  font-size:1.7rem;
  text-shadow: -2px -2px 2px #fff,2px 2px 2px #fff;

  color: #000;
  font-weight: bold;
  position: relative;
  z-index: 1;
  text-align: center;
  margin-top: 5rem;
}*/
/*ブロック１個あたりの設定*/
/*.list3rd {
	position: relative;
	width: 30%;
	float: left;
	margin-left: 3%;
}*/

/*画像の設定*/
/*.list3rd img{
	width:100% ;
	border-radius: 50%;
  background-color: rgba(252,234,230,1);
	position: relative;
}
.list3rd img::after {
  content: '';
  background-color: rgba(252,234,230,0.7);
  border-radius: 50%;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}*/
/*文字の設定*/
/*.list3rd p{
	position: absolute;
	color: white;
	font-size: 1.3em;
	letter-spacing: 0.07em;
	font-weight: bolder;
	text-shadow: 2px 2px 2px #000;
	top: 55%;
	left: 50%;
	-ms-transform: translate(-55%,-50%);
  	-webkit-transform: translate(-55%,-50%);
  	transform: translate(-55%,-50%);
  	margin:0;
  	padding:0;
}*/

/*フッター設定
---------------------------------------------------------------------------*/
footer {
	clear: both;
	border-top:1px solid #d4d4d4 ;

	max-width:1300px ;
	margin:0 auto ;
	padding: 50px 10% ;	/*上、右、下、左への余白*/
}
footer .pr {display: block;font-size: 80%;}
footer a {text-decoration: none;}

/*フッターメニュー
---------------------------------------------------------------------------*/
/*ボックス全体*/
#footermenu {
	overflow: hidden;
	/*padding: 50px 0;	/*上下、左右へのボックス内の余白*/
	font-size: 14px;	/*文字サイズを少し小さく*/
}
/*１列分の設定*/
#footermenu ul {
		float: left;	/*左に回り込み*/
	width: 18%;		/*幅。今回は5列作ったのでここの幅18%と下のpadding(合計の2%)でトータル20%になるよう設定。列に応じて調整して下さい。*/
	width: 31%;		/*幅。今回は5列作ったのでここの幅18%と下のpadding(合計の2%)でトータル20%になるよう設定。列に応じて調整して下さい。*/
	padding-right: 1%;
	/*padding-left: 1%;*/
}
/*メニュー１個あたりの設定*/
#footermenu ul li {
	padding: 10px 10px 10px 0;	/*上下、左右への余白*/
}
/*見出し*/
#footermenu li.title {
	font-weight: bold;	/*太字にする*/
	background: #FFF url(../images/arrow.png) no-repeat 0px 5px;/*背景色、背景の矢印画像の読み込み、左から30pxの場所に配置。*/
	padding-left:20px ;
	margin-bottom:0.5em ;
}
/*マウスオン時*/
#footermenu a:hover {
	/*opacity: 1;	/*透明度。100%色がでた状態の事。*/
	/*text-decoration:underline ;
	color:#46852A;*/
}
/*ロゴと住所の設定*/
#footermenu #footermenu1{
	clear:both ;
	padding: 0 0 30px; /*上、右、下、左への余白*/
	text-align:left ;
}
#footermenu #footermenu1 img{
	width:320px ;
	/*float:left ;
	margin:0 2em 1em 0;*/
}
/*ホームメニュー*/
#footermenu2 {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:500 ;
}
#footermenu2 p {
	clear:both ;
	padding:50px 0 0;
	text-align:right ;
}
#footermenu2 p a{
	margin-left:1em ;
	padding-right:1em ;
	border-right:1px solid #4699FF ;
}
/*コピーライト
---------------------------------------------------------------------------*/
#copyright {
	clear: both;
	text-align: right;
	/*background: #f6f7f7;	/*背景色*/
	padding:0 0 20px;
	padding:20px 0 0;
	/*color:#0E7130 ;*/
}
#copyright a:hover {/*color:#DB3B19;*/}

/*テーブル1（背景ライトブルー・ライトグリーン交互テーブル）
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
	/*border: 1px solid #DDD;	/*テーブルの枠線の幅、線種、色*/
	border-bottom: none;	/*下線だけ消す*/
	text-align: left;		/*文字を左寄せ*/
	background: #F7F7F7;	/*背景色*/
	/*color:#0064DF ;*/
	font-weight: 500;		/*太字に*/
	padding: 10px;	/*ボックス内の余白*/
}
/*ta1設定*/
.ta1{
	width: 96%;
	table-layout: fixed;
	margin: 0 2% 30px;
}
.ta1, .ta1 td, .ta1 th{
	border: 1px solid #FFF;	/*テーブルの枠線の幅、線種、色*/
	line-height: 2;
	padding: 10px;	/*ボックス内の余白*/
	word-break: break-all;
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 150px;	/*幅*/
	background: #CCE0F9;	/*背景色*/
	background: rgba(204, 224, 249, 1.0);	/*背景色*/
	font-weight: normal;
	text-align:left;	/*左寄せ*/
	vertical-align:top ;
}
.ta1 th.tamidashi {
	background: rgba(158, 196, 244, 1.0) !important;	/*背景色*/
	font-weight:500 ;
}
#public03 .ta1 th {
	width: 200px;	/*幅*/
}
/*ta1の右側ボックス*/
.ta1 td {
	background: rgba(240, 255, 208, 1.0);	/*背景色*/
}
.ta1 td.tamidashi {
	background: rgba(224, 255, 157, 1.0) !important;	/*背景色*/
	font-weight: 500;		/*太字に*/
}
.ta1 tr:nth-child(even) th{
  background: rgba(204, 224, 249, 0.6);	/*背景色*/
}
.ta1 tr:nth-child(even) td{
  background: rgba(240, 255, 208, 0.6);	/*背景色*/
}
/*料金ページの追加設定（CMS用）*/
.ta1.price td {
	text-align: right;
}
.ta1.price tr.total th {
	background: #b7e0ee;
	font-size: 150%;
}
.ta1.price tr.total td {
	background: #deeff4;
	font-weight: bold;
	font-size: 150%;
}
/*フォーム内の入力欄*/
.ta1 input,
.ta1 select,
.ta1 textarea{
	padding:5px ;
}
/*rowspanで背景色交互が上手くいかない場合*/
.ta4 tr:nth-child(even) th{
  /*background: rgba(204, 224, 249, 1.0);	/*背景色*/
}
.ta4 tr:nth-child(even) td{
  background: rgba(240, 255, 208, 1.0);	/*背景色*/
}
.ta4 tbody:nth-child(even) th{
  background: rgba(204, 224, 249, 0.6);	/*背景色*/
}
.ta4 tbody:nth-child(even) td{
  background: rgba(240, 255, 208, 0.6);	/*背景色*/
}


/*テーブル2（幅半分色なし下線のみテーブル）
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta2 caption {
	/*border-bottom: none;	/*下線だけ消す*/
	text-align: left;		/*文字を左寄せ*/
	background: rgba(204, 224, 249, 0.6);	/*背景色*/
	/*color:#0064DF ;
	font-size:110% ;*/
	font-weight: 500;		/*太字に*/
	padding: 5px 10px;	/*ボックス内の余白*/
}
.ta2{
	width: 50%;
	table-layout: fixed;
	margin: 0 2% 30px;
	/*display:inline ;*/
	margin-right: auto;
}
.ta2, .ta2 td, .ta2 th{
	border: 1px solid #FFF;	/*テーブルの枠線の幅、線種、色*/
	line-height: 2;
	padding: 10px;	/*ボックス内の余白*/
	word-break: break-all;

	border-bottom: 1px solid #d4d4d4;	/*テーブルの枠線の幅、線種、色*/
	padding: 5px 10px;	/*ボックス内の余白*/
}
/*ta2の左側ボックス*/
.ta2 th {
	width: 150px;	/*幅*/
	/*background: #CCE0F9;	/*背景色*/
	/*background: rgba(204, 224, 249, 1.0);	/*背景色*/
	font-weight: 500;
	text-align:left;	/*左寄せ*/
	vertical-align:top ;
}
/*ta1の右側ボックス*/
.ta2 td {
	/*background: rgba(240, 255, 208, 1.0);	/*背景色*/
}

/*お問い合わせフォーム（色なし下線のみテーブル）
---------------------------------------------------------------------------*/
/*ta1の左側ボックス*/
#contact .ta1 th ,
#contact .ta1 td ,
#contact .ta1 tr:nth-child(even) th,
#contact .ta1 tr:nth-child(even) td {
	background: transparent;	/*背景色*/
	border-bottom:1px solid #DDD ;
}
/*ta1の左側ボックス*/
#contact .ta1 th {
	font-weight:500 ;
	text-align:left ;
}
#contact .ta1 th.tamidashi {
	/*border-bottom: none;	/*下線だけ消す*/
	text-align: left;		/*文字を左寄せ*/
	background: rgba(204, 224, 249, 0.6) !important;	/*背景色*/
	/*color:#0064DF ;
	font-size:110% ;*/
	font-weight: 500;		/*太字に*/
	padding: 10px 10px;	/*ボックス内の余白*/
}

/*inputの設定
---------------------------------------------------------------------------*/
#contents input,
#contents textarea{
	padding:7px ;
}
/*inputボタンにclass="btn"をつけた場合の設定
---------------------------------------------------------------------------*/
#contents input[type="submit"].btn,
#contents input[type="button"].btn,
#contents input[type="reset"].btn {
	-webkit-appearance: none;	/*iOS独自の装飾仕様をクリアする*/
	border: none;	/*iOS独自の装飾仕様をクリアする*/
	width:250px ;
	display: inline-block;
	margin:30px auto 0;
	color: #FFF;		/*文字色*/
	background:#0064DF ;
	border-radius:2px ;
	font-size: 110% ;	/*文字サイズ*/
	text-decoration: none;
	text-align: center;
	line-height:50px ;
	font-family: 'Noto Sans JP', sans-serif;
	margin:20px 1em 0px ;
}
/*マウスオン時の設定*/
#contents input[type="submit"].btn:hover,
#contents input[type="button"].btn:hover,
#contents input[type="reset"].btn:hover {
	background:#137DFF ;
	color:#FFF ;
	-webkit-appearance: none;	/*iOS独自の装飾仕様をクリアする*/
	border: none;	/*iOS独自の装飾仕様をクリアする*/
}

/*トップページ・公共機関のお客様ページの公共事業動画ブロック
---------------------------------------------------------------------------*/
.top_public {
  width: 100%;
  width: auto;
  height: 100vh;
  height: 500px;
  height: auto;
  position: relative;
  overflow: hidden;
  background: rgba(0, 31, 70, 0.5);

  text-align:center ;
  padding-bottom:50px ;
  padding: 50px 10% 20px 10%;	/*上、右、下、左への余白*/
}

.top_public video {
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  background: url('../images/img_top_public.jpg') no-repeat;
  background: rgba(0, 31, 70, 0.5);
  background-size: cover;
  z-index: -1;
}
#contents .top_public h2,
#contents .top_public p {
	color:#FFF ;
}
#contents .top_public h5 {
	color:#4699FF ;
}
/*公共機関のお客様ページのみの設定*/
.public_public {
	height:300px;
}

/*トップページの採用情報ブロック
---------------------------------------------------------------------------*/
#recruit{
	margin:0 0px 0px;
	background: url(../images/bg_recruit.jpg) no-repeat center center fixed;	/*強み*/
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	color:#FFF ;
	padding-left:30px ;
	padding-right:30px ;
}
/*h2タグ*/
#contents #recruit h2 {
	color:#FFF ;
}
/*h2タグ*/
#contents #recruit p {
	font-size:120% ;
	font-weight:bold ;
	text-align:center ;
}
/*.link2（背景色が暗い時）*/
#recruit a.link2{
  width: 10em;
  margin:0 1em 0 0 ;
}

/*（ページ共通）お問い合わせボックス
---------------------------------------------------------------------------*/
/*コンテンツボックス*/
.contact_box {
	background:#FFF ;
	padding:50px 30px 30px ;
}
/*h2見出し*/
#contents .contact_box h2{
	margin-right:50px ;
}
.contact_box p{
	clear:both ;
	display:inline-block ;
	height:100px ;
	margin-left:0px ;
	vertical-align:middle ;

}
.contact_box p span.tel{
	font-size:180% ;
	font-weight:bold ;
	background: url(../images/icon_tel.png) no-repeat 0px 5px/30px;/*背景色、背景の電話画像の読み込み、左から0px上から5pxの場所に配置。*/
	padding-left:40px ;
}

/*お問い合わせページのみの設定*/
/*コンテンツボックス*/
.contact_box2 {
	padding:0px ;
}
.contact_box2 p{
	display:block ;
	height:auto ;
}

/*（お問い合わせページ）プライバシーポリシーボックス
---------------------------------------------------------------------------*/
/*コンテンツボックス*/
.privacy_box {
	width:96% ;
	height:150px ;
	overflow-y:scroll ;
	border:1px solid #CCC ;
	background:#EEE ;
	padding:20px 10px ;
}
#contents .privacy_box p{
	padding:0 ;
	margin:0 ;
}

/*採用情報ページ（募集要項）ボックス
---------------------------------------------------------------------------*/
/*コンテンツボックス*/
.white_box {
	padding:30px 30px 30px;
	background: #fff ;
	margin-bottom: 30px;
	box-shadow: 2px 2px 10px rgba(0,0,0,0.15);	/*ボックスの影。右に、下に、広げる幅、0,0,0は黒の事で0.15は15%色がついた状態の事。*/
}
/*ボックス内のp(段落)タグ設定*/
.white_box p {
	width: 96%;
	padding: 0px 0px 10px 10px !important;	/*上、左右、下への余白*/
}
.white_box img.fr,
.white_box img.fl{
	width:35% ;
	box-shadow:none;
	margin:0 10px 20px 2% ;
}

.white_box img.fl{
	padding-right: 5px;
}
.white_box .ta1{
	width: 100%;
	margin: 0 0% 30px;
}

.housing_box{
	clear: both;
	overflow: hidden;
	padding: 2em 1em 0.5em 1em;
	margin: 3em 2% 1em 2%;
	background: #f6fef9;
 }
.housing_box p {
    margin: 0;
    padding: 0;
}
/*ボックス内のh4タグ設定*/
.white_box h4 {
	display: inline-block;
	font-size: 150%;	/*文字サイズ*/
	font-weight:bold ;
	color: #15AD4A;		/*文字色*/
	line-height: 1.5;	/*行間を少しせまく*/
}
.white_box .tel{
	color:#DB3B19 ;
	font-weight:bold ;
	background: url(../images/icon_tel.png) no-repeat 0px 1px/20px;/*背景色、背景の電話画像の読み込み、左から0px上から1pxの場所に配置。*/
	padding-left:30px ;
}
.white_box a {
text-decoration: none;
}
/*white_boxブロック内のta1設定*/
.white_box .ta1, .white_box .ta1 td, .white_box .ta1 th {
	color: #000000;		/*文字色*/

}

/*アイコン（正社員、アルバイト、パート、未経験可、など）
---------------------------------------------------------------------------*/
/*アイコン共通*/
.icon {
	display: inline-block;
	position: relative;
	bottom: 4px;
	font-size: 15px;		/*文字サイズ*/
	padding: 0 5px;			/*上下、左右へのボックス内の余白*/
	border: 1px solid #ccc;	/*枠線の幅、線種、色*/
	background: #eee;		/*背景色*/
}
/*アイコン：赤（正社員）*/
.icon.color1 {
	border: 1px solid #DB3B19;	/*枠線の幅、線種、色*/
	background: #DB3B19;		/*背景色*/
	color: #fff !important;		/*文字色*/
}
/*アイコン：緑（アルバイト）*/
.icon.color2 {
	border: 1px solid #15AD4A;	/*枠線の幅、線種、色*/
	background: #15AD4A;		/*背景色*/
	color: #fff !important;		/*文字色*/
}
/*アイコン：FAQページで使用*/
.icon.color3 {
	bottom: 0px;
	border: 1px solid #15AD4A;	/*枠線の幅、線種、色*/
	background: #FFF;		/*背景色*/
	color: #15AD4A !important;		/*文字色*/
	font-size: 80%;
}


/*民間業務ページ
---------------------------------------------------------------------------*/
/*どんな時に必要？リスト*/
.case h6{
	color: #0064DF ;
	font-size:120% ;
	font-weight:bold ;
}
ul.case li span{
	background:#8FD000 ;
	color:#FFF ;
	font-size:90% ;
	border-radius:4px ;
	padding:4px 10px;
	margin-right:0.5em ;


}



/*FAQページ
---------------------------------------------------------------------------*/
#faq .faq_block{
}
#faq .box{
	width:40% ;
	height:auto ;
	float:left ;
	padding-right:30px ;
	display:inline-block ;
}
#faq .box_fr {
	float:right ;
}
#faq .box:nth-child(even) {
	/*float:right ;*/
}
/*ボックスが奇数の場合のズレ対策*/
#faq .last_box{
	clear:both;
	/*float:left ;*/
}
#faq h5 {
	background:url(../images/icon_question.png) no-repeat left top 5px / 40px;
	padding: 5px 5px 5px 60px ;
}
#faq .answer {
	background:url(../images/icon_answer.png) no-repeat left top 5px / 40px;
	padding-left: 40px ;
	margin-left:20px ;
}
/*背景グレーの場合*/
#faq .bg_gray .box {
	background:#FFF ;
	width:auto ;
	float:none ;
}

/*.link（大「リンクボタン」設定）
---------------------------------------------------------------------------*/
p.link {
}
p.link a {
	width:300px ;
	width:250px ;
	display: inline-block;
	margin:30px auto 20px ;
	margin:30px auto 0;
	color: #FFF;		/*文字色*/
	background:#0064DF ;
	/*border:1px solid #0064DF ;*/
	border-radius:2px ;
	font-size: 110% ;	/*文字サイズ*/
	text-decoration: none;
	text-align: center;
	line-height:50px ;

	font-family: 'Noto Sans JP', sans-serif;
	/*font-weight:500 ;*/
}
/*マウスオン時*/
p.link a:hover {
	background:#137DFF ;
	color:#FFF ;
}
/*submenu内の.link（大「リンクボタン」設定）
---------------------------------------------------------------------------*/
.submenu {
	text-align:center ;
	margin-top:100px ;
}
#contents .submenu p.link {
	display: inline-block;
	/*border:1px solid #000 ;
	background:#000 ;*/
	padding:0 ;
	margin-bottom:1em ;
}
#contents .submenu p.link a {
	width:200px ;
	margin:0 10px 0;
	margin:0 ;
}

/*submenu2（ページ内リンクメニュー設定）
---------------------------------------------------------------------------*/
.submenu2{
	/*display:block ;*/
}
ul.submenu2 li{
	margin-left:1em ;
	/*background: url(../images/arrow.png) no-repeat left center ;	/*マーク*/
	/*padding-left:20px ;*/
	display:inline-block ;
}
ul.submenu2 li::before {
	content: "≫";	/*出力する文字。変更しても構いませんが機種依存文字は化けるので使わないで下さい。*/
}

/*btn1
---------------------------------------------------------------------------*/
/*btn1共通*/
a.btn1 {
	display: inline-block;
	text-decoration: none;
	color: #FFF ;
	background: #0064DF ;	/*背景色、背景の矢印画像の読み込み、左から15pxの場所に配置。幅を6pxに。*/
	/*border:1px solid #15AD4A ;*/
	border-radius:2px ;
	font-weight:500 ;
	margin-bottom: 10px;
	font-family: 'Noto Sans JP', sans-serif;
}
/*マウスオン時*/
a.btn1:hover{
	background:#137DFF ;
}
/*contents内のbtn1。主にinfo.htmlやservice.htmlで使っています。*/
#contents a.btn1 {
	padding: 3px 35px 0px 50px;	/*上、右、下、左へのボックス内の余白*/
	padding: 3px 30px 0px 30px;	/*上、右、下、左へのボックス内の余白*/
	padding: 0px 30px 0px 30px;	/*上、右、下、左へのボックス内の余白*/
	letter-spacing: 0.2em;		/*文字間隔を広くとる設定*/
}
/*btn2共通*/
#contents a.btn2 {
	margin-right:1em ;
	margin-bottom:1em ;
	width:12em ;
	padding:5px 10px 3px 10px ;
}
/*マウスオン時*/
#contents a.btn2:hover{
	background: #5AAC36 url(../images/arrow1.png) no-repeat 15px center / 6px;
	color:#FFF !important;
}
/*btnmap共通*/
#contents a.btnmap {
	padding: 3px 10px 0px 10px;	/*上、右、下、左へのボックス内の余白*/
	line-height:1.5 ;
	letter-spacing: normal;		/*文字間隔を広くとる設定*/
}

/*工事の流れページの矢印ボックス
---------------------------------------------------------------------------*/
/*arrow*/
.arrow_wrap{
	text-align:center ;
	margin-bottom:20px ;
}
.arrow{
	display: inline-block;
	background: #e7fcee;
	color:#15AD4A ;
    margin: 0 10px 20px;
    padding-top: 5px; /* 要素の上の余白調整 */
    height: 65px; /* 四角形の高さ */
    position: relative;
	}
.arrow:before{
    border-left: 20px solid #FFFFFF; /* 右向きの三角形を作るため左のボーダーに色を付ける */
    border-top: 35px solid transparent; /* 上のボーダーを透過に指定 */
    border-bottom: 35px solid transparent; /* 下のボーダーを透過に指定 */
    content: "";
    position: absolute;
    left: 0; /* 一旦中央へ寄せる */
    top: 0;
	}

.arrow:after{
    border-left: 25px solid #e7fcee; /* 右向きの三角形を作るため左のボーダーに色を付ける */
    border-top: 35px solid transparent; /* 上のボーダーを透過に指定 */
    border-bottom: 35px solid transparent; /* 下のボーダーを透過に指定 */
    content: "";
    position: absolute;
    left: 75%; /* 一旦中央へ寄せる */
    top: 0;
    margin-left: 25%; /* 四角形の幅の半分右へ移動する */
	}
.arrow span {
	display: inline-block;
	position: relative;
    font-size: 1.2em;
	font-synthesis: weight;
	font-weight: 700;
	padding-top: 10px;
	padding-left: 37px;
    z-index: 3;
}

/*マウスオン時*/
a:hover .arrow{
	color:#db3b19 ;
	background:#fceae6 ;
}

a:hover .arrow:after{
    border-left: 25px solid #fceae6; /* 右向きの三角形を作るため左のボーダーに色を付ける */
    border-top: 35px solid transparent; /* 上のボーダーを透過に指定 */
    border-bottom: 35px solid transparent; /* 下のボーダーを透過に指定 */
    content: "";
    position: absolute;
    left: 75%; /* 一旦中央へ寄せる */
    top: 0;
    margin-left: 25%; /* 四角形の幅の半分右へ移動する */
}

/*inputボタンにclass="btn"をつけた場合の設定padding: 10px 30px 7px 30px;
---------------------------------------------------------------------------*/
button[type="submit"].linkb,
button[type="button"].linkb,
button[type="reset"].linkb {
  display: inline-block;
  position: relative;
  padding: 0.9em 1em;
margin: 20px;
border:solid 2px #191F1D;
  text-decoration: none;
  color: #191F1D;
  background-color: #fff;
  font-weight:bolder;
font-size:0.9em;
  text-align: center;
  width: 250px;
	-webkit-appearance: none; /*iOS独自の装飾仕様をクリアする*/
    border-radius: 0;       /*iOS独自の装飾仕様をクリアする*/
}
/*マウスオン時の設定*/
button[type="submit"].linkb:hover,
button[type="button"].linkb:hover,
button[type="reset"].linkb:hover {
	background:rgba(186, 246, 207, 0.5) ;
	color: #0E7130;
}
/*フォームのボタンが並ぶボックス設定*/
.btn_contact{
	margin:50px 0 ;
}

/*ページの上部へボタン「↑」設定
---------------------------------------------------------------------------*/
@keyframes scroll {0% {opacity: 0;}100% {opacity: 1;}}
body .nav-fix-pos-pagetop a {display: none;}
body.is-fixed-pagetop .nav-fix-pos-pagetop a {
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	display: block;
	text-decoration: none;
	text-align: center;
	width: 50px;		/*幅*/
	line-height: 50px;	/*高さ*/
	z-index: 3;
	position: fixed;
	bottom: 10px;	/*下から20pxの場所に配置*/
	right: 3%;		/*右から3%の場所に配置*/
	animation-name: scroll;	/*上のアニメーションで指定しているkeyframesの名前（scroll）*/
	animation-duration: 1S;	/*アニメーションの実行時間*/
	animation-fill-mode: forwards;	/*アニメーションの完了後、最後のキーフレームを維持する*/
}
/*マウスオン時*/
body.is-fixed-pagetop .nav-fix-pos-pagetop a:hover {
	bottom: 20px;	/*下から20pxの場所に配置*/
}

/*その他
---------------------------------------------------------------------------*/
.look {background: #eee;border: 1px solid #ccc;padding: 5px 10px;border-radius: 4px;}
.mb15,.mb1em {margin-bottom: 15px !important;}
.mb10 {margin-bottom: 10px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb50 {margin-bottom: 50px !important;}
.mt10 {margin-top: 10px !important;}
.mt20 {margin-top: 20px !important;}
.mt30 {margin-top: 20px !important;}
.ml30 {margin-left: 30px !important;}
.mr30 {margin-right: 30px !important;}
.pl5{padding-left: 5px !important;}
.pl20{padding-left: 20px !important;}
.pr20{padding-right: 20px !important;}
.clear {clear: both;}
.color_b, .color_b a {color: #0064DF !important;}	/*ブルー：標準*/
.color_g, .color_g a {color: #B6FF15 !important;}	/*グリーン：標準*/
.color_g2, .color_g2 a {color: #8FD000 !important;}	/*グリーン：濃*/
.red, .red a {color: #ff0000 !important;}
.marker_g {background: linear-gradient(transparent 60%, #CBFF59 60%);}/*マーカーグリーン：薄*/
.b{font-weight:bold ;}
.pr {font-size: 10px;}
.fs120{font-size:120% ;}
.fs70{font-size:70% ;}
.wl {width: 96%;}
.ws {width: 50%;min-width:300px ;}
.c {text-align: center;}
.c2 {text-align: center;}
.r {text-align: right;}
.l {text-align: left;}
img.fr {width:50% ;float: right;margin-left: 30px;margin-bottom: 30px;margin:0 2% 30px 30px ;}
img.fl {width:50% ;float: left;margin-right: 30px;margin-bottom: 30px;margin:0 30px 30px 2% ;}
img.fr40 {width:40% ; }
img.fl20 {width:20% ; min-width:200px ;}
.fr_text {width:45% ;float: right;}
.fl_text {width:45% ;float: left;}
.big1 {font-size: 24px;letter-spacing: 0.2em;}
.mini1 {font-size: 11px;}
.sh {display: none;}
.dis_600{display:none ;}
.ml_nega15,.ml_nega1em {margin-left: -15px !important;}
.mt_nega40{margin-top: -40px !important;}
.box{background: rgba(204, 224, 249, 0.2);padding:20px 20px 0 ;margin: 0 2% 50px;border-radius:6px ;}
.line_g{ clear:both ;  border-bottom:3px dotted #B6FF15 ;margin-bottom:60px ; }



/*画面幅1301px以上の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (min-width:1301px){


/*メインメニューの設定変更。
メニュー数が6個なので、1301÷6=216pxになります。
---------------------------------------------------------------------------*/
#menubar li {
	width: 120px;
	width: 140px;
}

}



/*画面幅1300px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:1300px){


}



/*画面幅1100px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:1100px){


/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	position: absolute;
	height: 80px;		/*高さ*/
	text-align:center ;
}
/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ロゴ画像*/
header #logo {
	width: 350px;		/*ロゴ画像の幅*/
	margin-top: 5px;	/*ロゴの上にあける余白。ヘッダー内の上下の配置バランスをここで調整して下さい。*/
	/*float:none ;
	margin:10px auto 0 ;*/
}

/*メインメニュー
---------------------------------------------------------------------------*/
/*アニメーションのフレーム設定。全100コマアニメーションだと思って下さい。透明(0%)から色を100%出すアニメーション指定。*/
@keyframes menu1 {
	0% {opacity: 0;}
	100% {opacity: 1;}
}
/*スマホ用メニューブロック*/
#menubar-s {
	display: block;
	overflow: hidden;
	y-overflow: scroll;
	z-index: 10;
	position: absolute;
	top: 80px;	/*上から100pxの場所に配置*/
	width: 100%;
	animation-name: menu1;		/*上のkeyframesの名前*/
	animation-duration: 0.5S;	/*アニメーションの実行時間。0.5秒。*/
	animation-fill-mode: both;	/*アニメーションの待機中は最初のキーフレームを維持、終了後は最後のキーフレームを維持。*/

	font-family: 'Noto Sans JP', sans-serif;
	font-weight:500 ;
}
/*メニュー１個あたりの設定*/
#menubar-s li a {
	display: block;text-decoration: none;
	padding: 15px 10px 15px 20px;	/*上、右、下、左へのメニュー内の余白*/
	padding: 10px 10px 10px 20px;	/*上、右、下、左へのメニュー内の余白*/
	border-bottom: 1px dotted #4699FF;	/*下の線の幅、線種、色*/
	background: #333;	/*背景色*/
	background: rgba(0, 0, 0, 0.8);	/*背景色*/
	background: rgba(0, 77, 172, 0.9);	/*背景色*/
	/*font-weight:bold ;*/
	color:#FFF ;
}
/*マウスオン時と、現在表示中(current)のメニューの設定*/
#menubar-s li a:hover, #menubar li.current a {
	background: #DB3B19;	/*背景色*/
	background: rgba(0, 77, 172, 1.0);	/*背景色*/
	opacity:1.0 ;
	color:#FFF ;
}
/*PC用メニューを非表示にする*/
#menubar {display: none;}

/*３本バーアイコン設定
---------------------------------------------------------------------------*/
/*３本バーブロック*/
#menubar_hdr {
	display: block;position: absolute;
	top: 10px;	/*上から24pxの場所に配置*/
	right: 3%;	/*右から3%の場所に配置*/
	z-index: 101;
}
/*アイコン共通設定*/
#menubar_hdr.close,
#menubar_hdr.open {
	width: 50px;		/*幅*/
	height: 50px;		/*高さ*/
	border-radius: 50%;	/*円形にする。この行削除すれば正方形になります。*/
}
/*三本バーアイコン*/
#menubar_hdr.close {
	background: url(../images/icon_menu.png) no-repeat center top/50px;	/*背景色、アイコンの読み込み、上半分(top)を表示、幅50px*/
}
/*閉じるアイコン*/
#menubar_hdr.open {
	background: url(../images/icon_menu.png) no-repeat center bottom/50px;	/*背景色、アイコンの読み込み、上半分(bottom)を表示、幅50px*/
}

/*トップページのメイン画像
---------------------------------------------------------------------------*/
#mainimg{
	margin-top:80px ;	/*固定メニューの高さ*/

}
#mainimg .copy{
	font-size:300% ;
}
/*コンテンツ。メニューの下にある白い背景色のブロック。
---------------------------------------------------------------------------*/
#contents {
	margin-top:80px ;	/*固定メニューの高さ*/
}

/*（ページ共通）お問い合わせボックス
---------------------------------------------------------------------------*/
/*h2見出し*/
#contents .contact_box h2{
	display:block ;
	margin-right:0 ;
}

/*（ページ共通）お問い合わせボックス
---------------------------------------------------------------------------*/
/*コンテンツボックス*/
.contact_box {
	background:#FFF ;
	padding:50px 30px 30px ;
	margin:0 ;
}
/*h2見出し*/
#contents .contact_box h2{
	margin-right:50px ;

	display:block ;
	margin-right:0 ;
}
.contact_box p{
	clear:both ;
	display:inline-block ;
	height:100px ;
	margin-left:0px ;
	vertical-align:middle ;

	margin-top:0 ;
	height:50px ;
	/*border:1px solid #000 ;*/

}
.contact_box p span.tel{
	font-size:180% ;
	font-weight:bold ;
	background: url(../images/icon_tel.png) no-repeat 0px 5px/30px;/*背景色、背景の電話画像の読み込み、左から0px上から5pxの場所に配置。*/
	padding-left:40px ;
}
/*FAQページ
---------------------------------------------------------------------------*/
#faq .faq_block{
}
#faq .box{
	width:auto ;
	height:auto ;
	float:none ;

}
#faq .box:nth-child(even),
#faq .box.last_box{
	float:none ;
}


}



/*画面幅900px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:900px){

/*全体の設定
---------------------------------------------------------------------------*/
body {
	font-size: 15px;	/*文字サイズ*/
}

/*トップページのメイン画像
---------------------------------------------------------------------------*/
#mainimg{
	margin-top:80px ;	/*固定メニューの高さ*/

}

/*トップページのメイン画像
---------------------------------------------------------------------------*/
#mainimg{
	margin-bottom:100px ;
}
#mainimg .copy{
	font-size:250% ;
	bottom:-10px ;
	top:90% ;
}

/*btn1
---------------------------------------------------------------------------*/
/*contents内のbtn1。主にinfo.htmlやservice.htmlで使っています。*/
#contents a.btn1 {
	padding: 3px 20px 0px;	/*上、右、下、左へのボックス内の余白*/
	letter-spacing: normal;		/*文字間隔を初期設定に戻す*/
}
/*btn2共通*/
#contents a.btn2 {
	background: #FFF url(../images/arrow1.png) no-repeat 15px center;	/*古いブラウザ用*/
	background: #FFF url(../images/arrow1.png) no-repeat 15px center / 6px;	/*背景色、背景の矢印画像の読み込み、左から15pxの場所に配置。幅を6pxに。*/
	/*padding: 3px 10px 0px 10px;	/*上、右、下、左へのボックス内の余白*/
}

/*コンテンツ
---------------------------------------------------------------------------*/
.contents {
	padding: 50px 3% 50px 3%;	/*上、右、下、左への余白*/
}
/*section同士の余白*/
#contents section + section {
	margin-top: 0;
}

/*フッターメニュー
---------------------------------------------------------------------------*/
footer {
	padding: 50px 3% 70px 3%;	/*上、右、下、左への余白*/
}
/*ロゴと住所の設定*/
#footermenu #footermenu1{
	padding: 0px 0 0px ; /*上、右、下、左への余白*/
	text-align:center ;
}
#footermenu #footermenu1 img{
	float:none ;
	margin-right:0 ;
}
/*１列分の設定*/
#footermenu2 ul {
	display:none ;
}
/*ホームメニュー*/
#footermenu2 p {
	text-align:center ;
}
#footermenu2 p a.contact{
	border:none ;	/*一番右端だけ線をなくす*/
}
/*スマホ版フッターメニューの設定*/
#footermenu #footermenu2{
	/*display:block ;
	padding: 20px 10px 0; /*上、右、下、左への余白*/
	/*clear:both ;
	text-align:center ;*/
}

/*listブロック
---------------------------------------------------------------------------*/
/*ブロック１個あたりの設定*/
.list {
	clear:both ;
	width: 90%;
	float: none;
	margin:0 5% 30px;
}
/*画像の設定*/
.list figure {
	/*float:none ;
	width:100% ;*/
}
/*.list figure {
	background:#FFF ;
}*/
.list figure img{
	width:50% ;
}
/*h4（見出し）の設定*/
.list h4{
	height: auto;
	padding: 2% 4% 0;
}
/*h4（見出し）タグの設定*/
.list h4 {
	font-size: 110%;	/*文字サイズ*/
}
/*pタグの設定*/
#contents .list p {
	padding: 0 4% 1.5em;
	height: auto;		/*高さ*/
}

/*list3ブロック（3つ並びブロック）
---------------------------------------------------------------------------*/
/*ブロック１個あたりの設定*/
.list3 {
	width: 30%;	/*幅*/
}
/*p（段落）タグの設定*/
.list3 p {
	height: 6.0em;		/*高さ。1.5emを１行分とカウントして下さい。6emなら４行です。*/
}

/*写真4つ並び「ギャラリー」ブロック
---------------------------------------------------------------------------*/
.gallery figure{
	width:47% ;
}
	/*トップページの公共機関のお客様ブロック
---------------------------------------------------------------------------*/
#contents .top_public .link {
	margin-top:20px ;
}
/*公共機関のお客様ページのみの設定*/
.public_public {
	height:200px;
}

/*トップページ「企業情報」「採用情報」メニュー設定
---------------------------------------------------------------------------*/
figure.list_fig figcaption {
  top: 30%;
}
figure.list_fig h4 {
  font-size: 170%;
}

/*お問い合わせボックス
---------------------------------------------------------------------------*/
/*コンテンツボックス*/
.contact_box {
	/*margin:70px 5% 70px;*/
}

/*採用情報ページ（募集要項）ボックス
---------------------------------------------------------------------------*/
.white_box img.fr,
.white_box img.fl{
	width: 50%;
}
/*事業内容list3ブロック（3つ並び丸ブロック）rgba(186, 246, 207, 0.5)#15AD4A
---------------------------------------------------------------------------*/
/*文字の設定*/
/*.list3rd p{
	font-size: 0.8em;
	letter-spacing: 0.01em;
	text-shadow: 2px 2px 2px #000;
}*/

/*テーブル
---------------------------------------------------------------------------*/
/*ta2設定*/
.ta2{
	width: 96%;
}

/*.link（大「リンクボタン」設定）
---------------------------------------------------------------------------*/
/*submenu内の.link（大「リンクボタン」設定）*/
#contents .submenu p.link a {
	width:150px ;
}
/*公共機関のお客様へページ*/
#public #contents .submenu p.link a {
	width:170px ;
}
/*その他
---------------------------------------------------------------------------*/
body.s-n #sub,body.s-n #footermenu,.m-n {display: none;}
.big1 {font-size: 20px;}
.w50 {overflow: hidden;width: auto;}
.fl {float: none;}
.fr {float: none;}
img.fr,img.fl {width:96% ;float: none;margin:0 2% 30px ;}
.fr_text, .fl_text{width:100% ;float: none;}
.sh {display:inline;}
.pc {display:none;}


}



/*画面幅600px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:600px){

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	height:70px ;
}
/*ロゴ画像*/
header #logo {
	float:left ;
	width: 280px;
}

/*メインメニュー
---------------------------------------------------------------------------*/
/*アニメーションのフレーム設定。全100コマアニメーションだと思って下さい。透明(0%)から色を100%出すアニメーション指定。*/
@keyframes menu1 {
	0% {opacity: 0;}
	100% {opacity: 1;}
}
/*スマホ用メニューブロック*/
#menubar-s {
	top: 70px;	/*上から100pxの場所に配置*/
}

/*トップページのメイン画像
---------------------------------------------------------------------------*/
#mainimg{
	margin-top:70px ;
	margin-bottom:-30px ;
}
#mainimg .copy{
	position:static ;
	font-size:170% ;
	text-align:center ;
	padding-top:30px ;
}

/*コンテンツ。メニューの下にある白い背景色のブロック。
---------------------------------------------------------------------------*/
#contents {
	margin-top:60px ;	/*固定メニューの高さ*/
}
#contents h2 {
	font-size: 160%;		/*文字サイズ*/
}
#contents h2 img{
	top:10px ;
	height:30px ;
}
/*type1のh2タグ*/
#contents h2.type1 {
	padding: 40px 0px;	/*上下、左右へのボックス内の余白*/
}
.contents {
	padding: 30px 20px ;	/*上、右、下、左への余白*/
	/*padding: 0px 20px 0px 20px;	/*上、右、下、左への余白*/
	width:auto ;
}
/*背景：ライン*/
.contents.bg_line {
	padding: 30px 20px 20px 20px;	/*上、右、下、左への余白*/
}

/*listブロック
---------------------------------------------------------------------------*/
/*画像の設定*/
.list figure img{
	width:80% ;
}

/*list3ブロック（3つ並びブロック）
---------------------------------------------------------------------------*/
/*p（段落）タグの設定*/
.list3 p {
	height: auto;
	padding: 2% 4% 0;
}
/*トップページ「企業情報」「採用情報」メニュー設定
---------------------------------------------------------------------------*/
figure.list_fig {
  width: 100%;
  float:none ;
}

/*フッターメニュー
---------------------------------------------------------------------------*/
/*１列分の設定*/
#footermenu ul {
	width: 31.33%;		/*幅。今回は5列作ったのでここの幅18%と下のpadding(合計の2%)でトータル20%になるよう設定。列に応じて調整して下さい。*/
	display:none ;
}
/*ロゴと住所の設定*/
#footermenu #footermenu1{
	padding: 0px 0 0px ; /*上、右、下、左への余白*/
}
/*スマホ版フッターメニューの設定*/
#footermenu #footermenu2{
	display:block ;
	padding: 20px 10px 0; /*上、右、下、左への余白*/
	clear:both ;
	text-align:center ;
	font-size:90% ;
}

/*工事の流れページの矢印ボックス
---------------------------------------------------------------------------*/
/*arrow*/
.arrow_wrap{
	margin-bottom:10px ;
}
.arrow{
    margin: 0 7px 20px;
    height: 45px; /* 四角形の高さ */
	}
.arrow:before{
     border-left: 15px solid #FFFFFF; /* 右向きの三角形を作るため左のボーダーに色を付ける */
     border-top: 25px solid transparent; /* 上のボーダーを透過に指定 */
     border-bottom: 25px solid transparent; /* 下のボーダーを透過に指定 */
	}

.arrow:after{
    border-left: 20px solid #e7fcee; /* 右向きの三角形を作るため左のボーダーに色を付ける */
    border-top: 25px solid transparent; /* 上のボーダーを透過に指定 */
    border-bottom: 25px solid transparent; /* 下のボーダーを透過に指定 */
	}
.arrow span {
    font-size: 1.0em;
    padding-top: 5px;
    padding-left: 27px;
}
a:hover .arrow:after{
    border-left: 20px solid #fceae6; /* 右向きの三角形を作るため左のボーダーに色を付ける */
    border-top: 25px solid transparent; /* 上のボーダーを透過に指定 */
    border-bottom: 25px solid transparent; /* 下のボーダーを透過に指定 */
}

/*お問い合わせボックス
---------------------------------------------------------------------------*/
/*コンテンツボックス*/
.contact_box {
	padding:30px 10px 30px;
}

/*お問い合わせページ内*/
#contents .contact_box p.tel_box{
        margin:0 auto 1em;
}

/*トップページの採用情報ブロック
---------------------------------------------------------------------------*/
#recruit{
	background: url(../images/bg_recruit.jpg);
	background-size:cover;
	padding-left:20px ;
	padding-right:20px ;
}
/*h2タグ*/
#contents #recruit p {
	font-size:100% ;
}
/*.link2（背景色が暗い時）*/
#recruit a.link2{
  margin:0 0 30px 0 ;
}

/*採用情報ページ（募集要項）ボックス
---------------------------------------------------------------------------*/
/*ボックス内のタグ設定*/
.white_box img.fr,
.white_box img.fl{
	float: none;
	width: 100%;
	margin:0;
}
.white_box p {
	padding: 20px 10px 0 !important;	/*上、左右、下への余白*/
}

/*FAQページ
---------------------------------------------------------------------------*/
#faq .faq_block{
}
#faq .box{
	padding-right:10px ;
	margin: 0 2% 20px;
}
#faq h5 {
	background:url(../images/icon_question.png) no-repeat left top 5px / 30px;
	padding: 0px 5px 5px 50px ;
}
#faq .answer {
	background:none;
	padding: 0 5px 5px 0 ;
	margin-left:0 ;
}

/*.link（大「リンクボタン」設定）
---------------------------------------------------------------------------*/
/*submenu内の.link（大「リンクボタン」設定）*/
#contents .submenu p.link a {
	font-size:95% ;
	width:100px ;
	line-height:40px ;
}
/*その他
---------------------------------------------------------------------------*/
.ws {width: 96%;min-width:unset ;}
.non_dis_600{	display:none ;}
.dis_600{display:inline ;}
.c2 {text-align:left ;}


}



/*画面幅480px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:480px){

/*全体の設定
---------------------------------------------------------------------------*/
body {
	/*font-size: 12px;	/*文字サイズ*/
}

/*コンテンツ
---------------------------------------------------------------------------*/
/*h2タグ*/
#contents h2 {
	font-size: 140%;	/*文字サイズ*/
}
/*h3タグ*/
#contents h3 {
	font-size: 120%;	/*文字サイズ*/
	margin-bottom: 20px;/*下に空けるボックスの外側への余白*/
}
/*h5タグ*/
#contents h5 {
	padding: 0 ;	/*上下、左右への余白*/
}
/*段落タグ*/
#contents p {
	padding: 0px 0px 20px;	/*上、左右、下への段落タグ内の余白*/
	line-height: 1.5;		/*行間を少し狭くする*/
	line-height: 1.7;		/*行間を少し狭くする*/
}
/*section同士の余白*/
#contents section + section {
	margin-top: 20px;
}

/*btn1
---------------------------------------------------------------------------*/
/*contents内のbtn1。主にinfo.htmlやservice.htmlで使っています。*/
#contents a.btn1 {
	padding: 0px 10px;	/*上、右、下、左へのボックス内の余白*/
	padding: 3px 10px 0px ;	/*上、右、下、左へのボックス内の余白*/
}
/*btn2共通*/
#contents a.btn2 {
	background: #FFF url(../images/arrow1.png) no-repeat 15px center;	/*古いブラウザ用*/
	background: #FFF url(../images/arrow1.png) no-repeat 15px center / 6px;	/*背景色、背景の矢印画像の読み込み、左から15pxの場所に配置。幅を6pxに。*/
	padding: 6px 5px 3px 5px;	/*上、右、下、左へのボックス内の余白*/
}

/*フッターメニュー
ウィンドウ幅が狭くなって見づらくなるので、１列にレイアウト変更。
---------------------------------------------------------------------------*/
#footermenu ul {
	float: none;
	width: auto;
}

/*listブロック
---------------------------------------------------------------------------*/
/*h4（見出し）タグの設定*/
.list figure img{
	float:none ;
	width:100% ;
}
/*h4（見出し）とp(段落)タグの設定*/
.list h4, .list p {
	height: auto;
}
/*FAQページ
---------------------------------------------------------------------------*/
#faq h5 {
	background:url(../images/icon_question.png) no-repeat left top 5px / 30px;
	padding: 0px 5px 5px 50px ;
}

/*テーブル（ta1）
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption, .ta2 caption {
	padding: 5px;	/*ボックス内の余白*/
}
/*ta1共通設定*/
.ta1 {
	width: 100%;
	margin: 0 0 30px;
}
.ta1, .ta1 td, .ta1 th{
	padding: 5px;	/*ボックス内の余白*/
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 100px;
}
#public03 .ta1 th {
	width: 100px;	/*幅*/
}

/*inputボタンにclass="btn"をつけた場合の設定
---------------------------------------------------------------------------*/
#contents input[type="submit"].btn,
#contents input[type="button"].btn,
#contents input[type="reset"].btn {
	font-size: 12px;		/*文字サイズ*/
}

/*その他
---------------------------------------------------------------------------*/
.ws,.wl {width: 94%;}
.big1 {font-size: 16px;}
img.fl ,img.fr{width:100% ;margin-right: 5px;margin-bottom: 5px;margin:0 0 30px ;}
ul.disc {padding: 0em 0px 20px 18px;}



}
