/* 装飾関係 */

.red {
   color: red;
}

.m_b10 {
   margin-bottom: 10px;
}

.m_b15 {
   margin-bottom: 15px;
}

.m_b30 {
   margin-bottom: 30px !important;
}

.m_b50 {
   margin-bottom: 50px;
}

.m_auto {
   margin-left: auto;
   margin-right: auto;
}

.m_b1em {
   margin-bottom: 1em;
}

.f_left {
   float: left;
}

.f_right {
   float: right;
}

.t_left {
   text-align: left;
}

.t_center {
   text-align: center;
}

.t_right {
   text-align: right;
}

.bold {
   font-weight: bold;
}
.arrow_bg {
	position: relative;
}
.arrow_bg:after {
	content : " ";
	background: url(./images/arrow_bg.jpg) no-repeat;
	background-size: 100%;
	display: inline-block;
	width: 20px;
	height: 100%;
	position: absolute;
	right: -15px;
	top: 25%;
}
.arrow_bg03:after {
	background: url(./images/arrow_bg3.jpg) no-repeat;
	width: 50px;
	right: -45px;
	top: 50%;
	background-size: 80%;
}

*:focus {
outline: none;
}

/* タグ内１行目のみ字下げ */
.jisage {
   text-indent:1em;
}

/* タグ内１行目以外字下げ */
.jisage2 {
   padding-left: 1em;
   text-indent: -1em;
}


body#home #content #b6 .wrap {
	padding: 80px;
}
/* 2018/02/26 CCS 追記 PCの時のみ効くように */
@media (min-width: 640px) {
	.fixed   {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	width: 100%;
	background-color: #fff;
	}
}

/* フッター部分　補足 */

#footer dl dt.nolink {
	min-height: 2.5em;
  display: block;
  color: #eee;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
	border-bottom: dashed 1px #999;
}

/* ページトップへ戻るボタン */

#pagetop {
	position: fixed;
	bottom: -50px;
	right: 12px;
	opacity: 0.85;
}

#pagetop img {
	margin-top: 6px;
}

#pagetop:hover {
	opacity: 0.6;
}

#pagetop a {
	display: block;
	width: 50px;
	height: 50px;
	background-color: #fff;
	border-radius: 8px 8px 0 0;
	webkit-border-radius: 8px 8px 0 0;
	moz-border-radius: 8px 8px 0 0;
	ms-border-radius: 8px 8px 0 0;
	text-align: center;
	color: #fff;
	font-size: 22px;
	text-decoration: none;
	line-height: 35px;
}

/* トップページ以外のヘッダー写真欄 */

.back1_bgm {
	background: url(./images/slide/1.jpg) center center/cover no-repeat;
	height: 360px;
}

.back2_bgm {
	background: url(./images/slide/2.jpg) center center/cover no-repeat;
	height: 360px;
}

.back3_bgm {
	background: url(./images/slide/3.jpg) center center/cover no-repeat;
	height: 360px;
}

.back4_bgm {
	background: url(./images/slide/4.jpg) center center/cover no-repeat;
	height: 360px;
}

.back5_bgm {
	background: url(./images/slide/5.jpg) center center/cover no-repeat;
	height: 360px;
}

.back_road_bgm {
	background: url(./images/business1.jpg) center center/cover no-repeat;
	height: 360px;
}

.back_dpi_bgm {
	background: url(./images/business2.jpg) center center/cover no-repeat;
	height: 360px;
}

.back_brg_bgm {
	background: url(./images/business3.jpg) center center/cover no-repeat;
	height: 360px;
}

.back_geo_bgm {
	background: url(./images/business4.jpg) center center/cover no-repeat;
	height: 360px;
}

.back_kasen_bgm {
	background: url(./images/business5.jpg) center center/cover no-repeat;
	height: 360px;
}

.back_en_bgm {
	background: url(./images/business6.jpg) center center/cover no-repeat;
	height: 360px;
}

@media screen and (max-width: 640px) {

.back1_bgm, .back2_bgm, .back3_bgm, .back4_bgm, .back5_bgm,
.back_road_bgm, .back_dpi_bgm, .back_brg_bgm, .back_geo_bgm, .back_kasen_bgm, .back_en_bgm
  {
	height: 150px;
}

}


/* トップページ-ナビゲーションメニューバー */

#gnav .sub-menu2 {
  width: 70% !important;
  margin: 0px 13%;
}

#gnav .sub-menu2 > ul {
	text-align: center;
}

/* トップページ-採用欄 */

body#home #b6 p {
	text-align: center;
}

body#home #b6 .list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 40px auto 40px;
  max-width: 640px;
}

body#home #b6 .list li {
  width: 100%;
  padding: 1px;
}

@media (max-width: 640px) {
  body#home #b6 .wrap {
  	padding: 20px;
	}

  body#home #b6 .list li {
    width: 100%;
  }

  body#home #b6 .list li a {
    padding: 20px;
  }

}

body#home #b6 .list li a {
  background-color: #edf6ff;
  padding: 40px;
  display: block;
  height: 100%;
  border-left: solid 8px #004080;
  color: #333;
  font-weight: bold;
}

body#home #b6 .list li a:after {
  float: right;
  content: ">";
  font-family: consolas;
}

body#home #b6 .list li a:hover {
  background-color: #ddeeff;
}

/* トップページ-ニュース欄 */

#top_news {
	border-top: solid 1px #ccc;
}

#top_news dt {
	width: 125px;
	padding: 20px 0px 20px 10px;
	position: absolute;
	color: #666;
}

#top_news dd {
    border-bottom: 1px solid #ccc;
    border-bottom-style: solid;
    padding: 20px 20px 20px 126px;
	position: relative;
}

#top_news a {
	display: block;
}

#top_news dd:after {
    content: ">";
    position: absolute;
    right: 0;
    top: 19px;
    font-weight: bold;
    font-family: consolas;
    margin-right: 10px;
}

#top_news a:hover {
  background-color: #e6f2ff;
}

#top_news dd:hover:after {
  margin-right: 5px;
}

/* 採用情報ページ */

.recruit_top {
	font-size: 23px;
	line-height: 1.8em;
	width: 990px;
	margin: auto;
	text-align: center;
}

#recruit_bgmarea {
	width: 100%;
	background: url(./images/recruit/recruite_bgm01.jpg) top right no-repeat;
}

#recruit_textarea {
	width: 1200px;
	margin:auto;
	padding: 0px 0px 0px 0px;
}

/*
#recruit_container {
	background: url(./images/recruit/recruite_bgm03.jpg) top 170px center no-repeat;
}
*/

#content #b5 #recruit_container {
	padding: 0px !important;
}

body#home #b5 #recluit_list {
	margin-top: 0px !important;
}


#hdn_container {
	padding-bottom: 30px;
}

.recruit_text {
	font-size: 22px;
	text-align: left;
	font-weight: bold;
	line-height: 2em;
	padding: 80px 0px 80px 0px;
}

.recruit_text p {
	margin-bottom: 1em;
	text-align: left !important;
}


/* 採用情報-新卒採用ページ */

#recruit_bgmarea {
	width: 100%;
	background: url(./images/recruit/recruite_bgm01.jpg) top right no-repeat;
}

#recruit_textarea {
	width: 1200px;
	margin:auto;
	padding: 0px 0px 0px 0px;
}

.recruit_h2 {
	font-size: 30px;
	font-family: "Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro","ＭＳ 明朝",serif;
	text-align: center;
	padding-bottom: 50px;
}

.recruit_text01 {
	padding: 0px 0px 20px 0px;
}

.new_recruit_title {
	padding: 0px 0px 20px 0px;
	font-size: 1.35em;
	font-weight: bold;
}

.recruit_table {
	 border-spacing: 0px;
     border-collapse: collapse;
	 border: 1px solid #999;
	 margin-bottom: 100px;
}

.recruit_table div {
   margin-bottom: 1em;
}

.youkou {
	background-color: #333;
	color: #fff;
	font-size: 25px;
}

.recruit_table th {
	padding: 20px 10px;
	border: 1px solid #999;
	text-align: center;
	width: 185px;
	font-weight: bold;
}

.recruit_table td {
	padding: 20px 10px;
	border: 1px solid #999;
}

.td01 {
	width: 105px;
	font-weight: bold;
	background-color: #eee;
}

.td02 {
	width: 215px;
	font-weight: bold;
	background-color: #eee;
}

/* ニュースページ */

.wp-pagenavi {
	margin-top: 20px;
}

.blog_contents {
	max-width: 750px;
	margin: 0 auto 30px auto;
}

.blog_h3 {
	font-size: 1.45em;
	font-weight: bold;
	border-bottom: 1px solid #ddd;
	border-left: 5px solid #999;
	padding: 3px 6px 0px 6px;
	background-color: #eee;
}

.blog_content p{
	text-align: left;
	margin-bottom: 1em;
}

.blog_content .alignleft {
	float: left;
	margin: 7px 28px 28px 0px;
}

.blog_content .aligncenter {
	clear: both;
	/*display: block;*/
	margin: 7px auto;
}

.blog_content .alignright {
	float: right;
	margin: 7px 0px 28px 28px;
}

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

.single_pager {
	display: inline-block;
	list-style: none;
	width: 100%;
}

#post_area ul.single_pager {
	margin: 0px !important;
	padding: 0px !important;
}

.single_pager li {
	display: inline-block;
}

#single_prev {
	float: left;
	max-width: 49%;
	margin: 0px !important;
}

#single_next {
	float: right;
	max-width: 49%;
	margin: 0px !important;
}

.single_pager a {
	color: #666;
	display: inline-block;
	border: 1px solid #666;
	padding: 10px;
	float: left;
	margin-bottom: 20px;
}

.single_pager a:nth-child(2) {
	float: right;
}

.single_pager a:hover {
	color: #ddd;
	text-decoration: none;
}

#post_area ol li {
	list-style-type: decimal;
	margin-left: 1rem;
}

#post_area ul li {
	list-style-type: disc;
	margin-left: 1rem;
}


#post_area blockquote {
	border: 1px solid #666;
	border-radius: 4px;
	padding: 14px;
}

#post_area strong {
	font-weight: bold;
}


#post_area table {
	margin-bottom: 15px;
}

#post_area td {
	border: 1px solid gray;
	padding: 4px;
}


/* 会社概要ページ */

#company_menuarea {
	overflow: hidden;
	text-align: center;
	margin-bottom: 30px;
}

.company_menu li {
	display: inline;
	list-style: none;
	padding: 0px 20px;
	color: #666;
}

.company_menu li a {
	color: #666;
	text-decoration: none;
}

.company_menu li a:hover {
	color: #999;
	text-decoration: underline;
}

/* 会社概要-会社概要 */

#company_area0 {
	max-width: 768px;
	margin: 0px auto 80px auto;
	overflow: hidden;
}

#company_area0 h3 {
	font-size: 17px;
    font-weight: bold;
    background-color: #666;
    color: #fff;
    padding: 5px 20px;
    margin-bottom: 10px;
}

#company_area0 h4 {
	border-left: 3px solid #666;
	padding-left: 7px;
	margin-left: 4px;
}

.company_ov {
	width: 100%;
	margin-bottom: 10px;
}

.company_ov tr {
	border-top: 1px dotted #ddd;
}

.company_ov tr:last-child {
	border-bottom: 1px dotted #ddd;
}

.company_ov th, .company_ov td {
	padding: 8px 2px;
}

.company_ov th {
	text-align: left;
}

.company_ov tr:nth-child(even) {
	background-color: #F9F9F9;
}

.company_ov tr:nth-child(odd) {
	background-color:: #F0FAE2;
}

.hidden_td {
	width: 100px;
}

#office_box {
	margin: 0px 5%;
}

.office_zone {
	padding:20px;
	border-radius: 5px;
	border: 1px solid #ccc;
	margin-bottom: 10px;
	display: inline-block;
}

/*
#company_area0 dl {
	margin-bottom: 20px;
}

#company_area0 dt {
	float: left;
	padding-left: 8px;
}

#company_area0 .company_ov dd {
	padding-left: 10rem;
}

#company_area0 .company_office dd {
	padding-left: 4rem;
}
*/

@media screen and (max-width: 640px) {
#company_area0 {
	margin-left: 6px;
	margin-right: 6px;
}

.company_ov th {
	white-space: nowrap;
}

#office_box {
	text-align: center;
}

}

/* 会社概要-組織図 */

.company_table {
	 border-spacing: 0px;
     border-collapse: collapse;
	 margin-bottom: 100px;
}

.company_table th {
	padding: 20px 10px;
	border: 1px solid #999;
	text-align: center;
	width: 104px;
	background-color: #eee;
	vertical-align: middle;
	font-weight: bold;
}

.border_td {
	border: 1px solid #999;
	padding: 20px 10px;
}

.space_td {
	padding: 0px 5px;
}

.space_td2 {
	padding: 2px 0px;
}

.line_c {
	background: url(./images/company/line_center.png) left center no-repeat;
}

.line_u {
	background: url(./images/company/line_u.png) left center no-repeat;
}

.line_up {
	background: url(./images/company/line_up.png) left center no-repeat;
}

.line_l {
	background: url(./images/company/line_line.png) left center no-repeat;
}

.line_cc {
	background: url(./images/company/line_cc.png) left center no-repeat;
}

.fax_td {
	font-size: 25px;
	color: #fff;
	background-color: #069;
	text-align: center;
	border: 1px solid #069;
	font-family: Arial, Helvetica, sans-serif;
	padding: 15px 0px;
}

.sosiki_small {
	font-size: 80%;
	font-weight: normal;
	line-height: 1em;
}

@media screen and (max-width: 480px) {

#chart_area {
	overflow: scroll;
}

}

/* 会社概要-ごあいさつ */

#company_area2 {
	max-width: 768px;
	margin: 0px auto 80px auto;
	overflow: hidden;
}

#company_area2 .message_text p {
	margin-bottom: 2rem;
}

.message_img {
	float: left;
}

.message_text {
	float: right;
	max-width: 580px;
	padding-bottom: 20px;
	text-indent:1em;
}

.sign {
	text-align: right;
	font-weight: bold;
	font-size: 1.4em;
	clear: both;
	margin-top: 1em;
}

@media screen and (max-width: 800px) {

#company_area2 {
	width: 98%;
}

.message_img {
	float: none;
	text-align: center;
	margin: 0px auto 10px auto;
}

.message_text {
	float: none;
	width: 98%;
	margin: 0px auto;
}

.sign {
	width: 98%;
	margin-left: auto;
	margin-right: auto;
}


}


/* 会社概要-ISO9001 */

.iso_text {
	text-indent: 1em;
	padding-bottom: 30px;
}

.iso_area {
	border: 1px solid #000;
	padding: 10px 0px 20px 0px;
	margin-bottom: 30px;
}

.iso_h3 {
	text-align: center;
	font-size: 17px;
	font-weight: bold;
	border-bottom: 1px solid #000;
	width: 95%;
	padding-bottom: 5px;
	margin: 0px auto 10px auto;
}

.iso_h4 {
	font-weight: bold;
	padding: 0px 0px 5px 20px;
}

.iso_text02 {
	text-indent: 1em;
	padding: 0px 20px 20px 20px;
}

.iso_list {
	margin: 0px 20px 0px 40px;
}

.iso_table {
	margin: 0px auto 30px auto;
	max-width: 500px;
}

.iso_table th {
	white-space: nowrap;
}

.iso_img {
	text-align: center;
}

@media screen and (max-width: 800px) {

.iso_area {
	width: 98%;
	margin-left: auto;
	margin-right: auto;
}

}

/* 会社概要-行動計画 */

.action_h3 {
	font-size: 17px;
	font-weight: bold;
	background-color: #666;
	color: #fff;
	padding: 5px 20px;
	margin-bottom: 10px;
}

.action_text {
	padding: 0px 10px 50px 10px;
	text-align: left;
}

/* 会社概要-社会貢献活動 */

.envir_h3 {
	text-align: center;
	font-size: 50px;
	margin-bottom: 50px;
	line-height: 1.2em;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
	color: #090;
}

.envir_h3j {
	font-size: 30px;
}

.envir_comme {
	font-size: 20px;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	text-align: center;
	padding: 0px 0px 50px 0px;
	line-height: 1.5em;
	font-weight: bold;
}

.envir_area {
	border: 3px solid #096;
	margin-bottom: 30px;
	background-color: #c0f3e2;
	clear: both;
	display: flex;
}

.envir_textarea {
	width: 95%;
	margin: auto;
	padding: 20px 0px;
}

.envir_h4 {
	font-size: 20px;
	margin-bottom: 20px;
	font-weight: bold;
}

.envir_h4sub {
	background-color: #096;
	color: #fff;
	padding: 5px 20px 5px 20px;
	border-radius: 20px;
}

.envir_h5 {
	font-size: 18px;
	margin-bottom: 5px;
	font-weight: bold;
}

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

.envir_img01 {
	float: right;
}

.envir_text {
	float: left;
	width: 85%;
	text-indent: 1em;
}

.envir_text02 {
	text-indent: 1em;
}

.envir_imgarea {
	overflow: hidden;
	text-align: center;
}

.envir_img02 {
	padding-top: 30px;
	display: inline-block;
	margin: 0px 10px;
}


@media screen and (max-width: 768px) {

.envir_area {
	width: 98%;
	margin-left: auto;
	margin-right: auto;
}

}

@media screen and (max-width: 640px) {

.envir_img01 {
	float: left;
	margin: 0px 10px 10px 0px;
}

.envir_text {
	float: none;
	width: 98%;
}

}


/* 会社概要-表彰 */

.commend_area {
	width: 100%;
	margin-bottom: 30px;
	clear: both;
}

.commend_h3 {
	font-size: 22px;
	font-weight: bold;
	border-bottom: 1px solid #333;
	padding: 5px 0px 5px 10px;
	margin: 0px 0px 10px 0px;
	background-color: #004080;
	color: #fff;
}

.commend_h4 {
	font-weight: bold;
	font-size: 18px;
	padding-bottom: 10px;
}

.commend_text {
	padding: 0px 0px 20px 20px;
}

.reco_area {
	display: inline;
}

.reco_area li {
	display: inline-block;
	vertical-align: top;
	float: left;
}

.reco_area li:nth-child(2) {
	float: right;
	margin-bottom: 10px;
}

.reco_area img {
	margin: 0px 0px 5px 0px;
	transition: transform 0.3s linear;
}

.reco_area img:hover {
	transform: scale(1.05);
}

@media screen and (max-width: 768px) {

.reco_area li:nth-child(2) {
	display: none;
}

}


/* お問い合わせページ */

#contact_area2 {
	margin: 0px auto 80px auto;
	overflow: hidden;
}

.contact_table {
	border-spacing: 0px;
    border-collapse: collapse;
	width: 100%;
	margin: 0px auto 30px auto;
}

.contact_table th {
	border: 1px solid #a18c74;
	padding: 10px 10px;
	width: 200px;
	background-color: #f2e8dc;
}

.contact_table td {
	border: 1px solid #a18c74;
	padding: 10px 10px;
}

.contact_text {
	padding: 0px 50px 10px 50px;
}

.contact_text2 {
	text-align: center;
}

.contact_btn {
	background-color: #a18c74;
	color: #fff;
	font-weight: bold;
	font-size: 16px;
	padding: 10px 20px;
}

.contact_table th {
	padding: 10px 10px;
	width: 150px;
	text-align: left;
	vertical-align: top;
}

.contact_table td {
	padding: 5px 20px;
	text-align: left;
}

.contact_table input, .contact_table textarea {
	padding: 10px 20px;
	border-radius: 5px;
}

.form_bottom {
	width: 90%;
	margin: 0px auto 30px auto;
}

.form_bottom input {
	margin-right: 8px;
}

.w100p {
	width: 100%;
}

.contact_btn {
	font-size: 16px;
	font-weight: bold;
}

.contact_btnsub {
	border: 1px solid #666;
	padding: 10px 20px;
}

#contact_contents a {
	color: #666;
	text-decoration: none;
}

#contact_contents a:hover {
	color: #333;
	text-decoration: none;
}


/* 事業内容各６ページ共通 */
#biz_area {
	max-width: 850px;
	margin: 0px auto 80px auto;
}

#biz_subtitle {
	padding: 8px;
	border: 1px solid #aaa;
	display: inline-block;
	width: 100%;
}

/*
#biz_subtitle div:first-child {
	float: left;
	text-align: center;
}
*/

#biz_subtitle img {
	display: inline-block;
	padding: 2px;
	border: 1px solid #ddd;
	border-radius: 7px;
	margin-right: 8px;
}

#biz_area h3 {
	margin: 15px auto;
	border-left: 7px solid #1257a7;
	background-color: #eee;
	padding-left: 10px;
	font-size: 20px;
	font-weight: bold;
	width: 99%;

}

.biz_flex_box1 {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
}

/*
.biz_flex_box1 {
	display: flex;
	flex-wrap: wrap;
/*	flex-direction: column;/
	max-height: 142vh;
	-webkit-flex-wrap: wrap;
	-webkit-flex-direction: column;
}
*/

.sev_group {
	width: calc(50% - 10px);
  background: #eee;
  padding: 20px;
  border: 2px solid #ccc;
  font-size:13px;
  margin: 5px;
	-webkit-flex: 1 0 auto;
	flex: 1 0 auto;
}

.sev_group2 {
	width: calc(100% - 10px);
  background: #eee;
  padding: 20px;
  border: 2px solid #ccc;
  font-size:13px;
  margin: 5px;
	-webkit-flex: 1 0 auto;
	flex: 1 0 auto;
}

.sev_group h4,.sev_group2 h4 {
	font-weight: bold;
	color: #1257a7;
	font-size: 18px;
}

.biz_fsize {
	margin-left: 4px;
	margin-right: 4px;
	font-size: 1rem;
}

.sev_group img,.sev_group2 img {
	margin: 7px auto;
}

.biz_photo2_area div {
	width: calc(50% - 6px);
	float: left;
	margin: 0px 3px;
}

.biz_photo3_area div {
	width: calc(33.33% - 6px);
	float: left;
	margin: 0px 3px;
}


@media screen and (max-width: 640px) {

.biz_flex_box1 {
	max-height: max-content;
}

.sev_group, .sev_group2 {
	width: calc(100% - 10px);
}

}


/* テクノロジー各１４ページ共通 */

#tec_area {
	max-width: 1000px;
	margin: 0px auto 80px auto;
}

#tec_title {
	width: 100%;
	font-size: 20px;
	color: #fff;
}

#tec_subtitle {
	padding: 8px;
	border-left: 8px solid #aaa;
	width: 100%;
	font-size: 26px;
	margin: 15px auto;
}

.tec_color_fsf ,
.tec_color_ssb { background-color: #cf000e; }

.tec_color_gs ,
.tec_color_wcs { background-color: #009fa8; }

.tec_color_bimcim ,
.tec_color_brp { background-color: #ca4772; }

.tec_color_ew ,
.tec_color_sb ,
.tec_color_mws ,
.tec_color_wsi ,
.tec_color_wdt ,
.tec_color_rg { background-color: #0068b7; }

.tec_color_ims ,
.tec_color_rms ,
.tec_color_mos ,
.tec_color_ri { background-color: #d07100; }

.tec_color_cm { background-color: #009944; }

.tec_color_grd { background-color: #474c9d; }


.tec_color_fsf_rgb ,
.tec_color_ssb_rgb  { background-color: rgba(207,0,14,0.15); }

.tec_color_gs_rgb ,
.tec_color_wcs_rgb { background-color: rgba(0,159,168,0.15); }

.tec_color_bimcim_rgb ,
.tec_color_brp_rgb { background-color: rgba(202,71,114,0.15); }

.tec_color_ew_rgb ,
.tec_color_sb_rgb ,
.tec_color_mws_rgb ,
.tec_color_wsi_rgb ,
.tec_color_wdt_rgb ,
.tec_color_rg_rgb { background-color: rgba(0,104,183,0.15); }

.tec_color_ims_rgb ,
.tec_color_rms_rgb ,
.tec_color_mos_rgb ,
.tec_color_ri_rgb { background-color: rgba(208,113,0,0.15); }

.tec_color_cm_rgb { background-color: rgba(0,153,68,0.15); }

.tec_color_grd_rgb { background-color: rgba(71,76,157,0.15); }

.tec_flex_box1 {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
}

.tec_group0 {
	width: calc(100% - 10px);
  padding: 20px;
  font-size:13px;
  margin: 5px;
	-webkit-flex: 1 0 auto;
	flex: 1 0 auto;
}

.tec_group1 {
	width: calc(100% - 10px);
  padding: 20px;
  border: 2px solid #ccc;
  border-radius: 5px;
  font-size:13px;
  margin: 5px;
	-webkit-flex: 1 0 auto;
	flex: 1 0 auto;
}
#tec_area h3.tec_group_title {
	color: #000;
	text-align: center;
	font-weight: bold;
	font-size: 20px;
	border-bottom: solid 2px #000;
}

#tec_area h3 {
	font-size: 18px;
	color: #fff;
	line-height: 1.8em;
	vertical-align: middle;
	padding-left: 12px;
	padding-right: 12px;
	margin-bottom: 14px;
}

#tec_area li {
	position: relative;
	list-style-type:none !important;
	padding:0 0 0 0.4rem;
	margin: 0px 0px 20px 0.7rem;
	line-height: 1rem;
	font-size: 1rem;
}

#tec_area li:after {
  position: absolute;
  display: block;
  content: '';
  top: 0.2rem;
  left: -0.5rem;
  width: 0.3rem;
  height: 0.3rem;
  border-radius: 50%;
  background-color: #fff;
  border: 3px double #b08559;
}

.tec_left_img {
	float: left;
	padding: 0px 15px 0px 0px;
}

.tec_right_img {
	float: right;
	padding: 0px 0px 0px 15px;
}

.tec_photo2_area, .tec_photo3_area, .tec_photo4_area {
	display: inline-block;
	margin-left: auto;
	margin-right: auto;
/*	margin: auto;*/
	width: 100%;
}

.tec_photo2_area div {
	width: calc(50% - 6px);
	float: left;
	margin: 0px 3px;
}

.tec_photo3_area div {
	width: calc(33.33% - 6px);
	float: left;
	margin: 0px 3px;
}

.tec_photo4_area div {
	width: calc(25% - 6px);
	float: left;
	margin: 0px 3px;
}
.tec_point {
	font-size: 18px !important;
	font-weight: bold !important;
	color: #fff;
	background: orange;
	border-radius: 10px;
	display: flex;
	display: -ms-flex;
	align-items: center;
	-ms-align-items: center;
	justify-content: center;
	-ms-justify-content: center;
}



/* テクノロジー-エイビーウォール・ソイルバンパーページ */

.tec_ew_table, .tec_sb_table {
	width: 100%;
	margin: 0 auto;
	border-collapse: separate;
	border-spacing: 0px 1px;
}

table.tec_ew_table th {
    padding: 12px;
    vertical-align: middle;
    text-align: left;
    border-bottom: #999 1px solid;
    color: #fff;
    background-color: #918c69;
    text-align: center;
    border-right: #999 1px solid;
}

table.tec_ew_table td {
    padding: 12px;
    vertical-align: middle;
    text-align: left;
    border-bottom: #999 1px solid;
    background-color: rgba(145,140,105,0.15);
    border-left: #fff 1px solid;
    border-right: #999 1px solid;
}

.sb_stitle {
	text-align: right;
	font-size: 12px;
}

table.tec_sb_table th {
    padding: 12px;
    vertical-align: middle;
    text-align: left;
    border-bottom: #999 1px solid;
    color: #fff;
    background-color: #6a4b31;
    text-align: center;
    border-right: #999 1px solid;
}

table.tec_sb_table td {
    padding: 12px;
    vertical-align: middle;
    text-align: left;
    border-bottom: #999 1px solid;
    background-color: rgba(106,75,49,0.15);
    border-left: #fff 1px solid;
    border-right: #999 1px solid;
    vertical-align: top;
}

 .tec_sb_table_other {
background-color: #edac75 !important;
}

.tec_sb_table dt {
	width: 1.5rem;
	position: absolute;
}

.tec_sb_table dd {
	padding-left: 1.5rem;
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* テクノロジー各ブロック共通 */
.subtec_flex_box {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
}

.subtec_group25 {
	width: calc(25% - 10px);
  padding: 8px;
  font-size:13px;
  margin: 5px;
	-webkit-flex: 1 0 auto;
	flex: 1 0 auto;
}

.subtec_group33 {
	width: calc(33.3333% - 10px);
  padding: 8px;
  font-size:13px;
  margin: 5px;
	-webkit-flex: 1 0 auto;
	flex: 1 0 auto;
}

.subtec_group50 {
	width: calc(50% - 10px);
  padding: 10px;
  font-size:13px;
  margin: 5px;
	-webkit-flex: 1 0 auto;
	flex: 1 0 auto;
}

.subtec_group66 {
	width: calc(66.6666% - 10px);
  padding: 10px;
  font-size:13px;
  margin: 5px;
	-webkit-flex: 1 0 auto;
	flex: 1 0 auto;
}

.subtec_group75 {
	width: calc(75% - 10px);
  padding: 10px;
  font-size:13px;
  margin: 5px;
	-webkit-flex: 1 0 auto;
	flex: 1 0 auto;
}

.subtec_group100 {
	width: calc(100% - 10px);
  padding: 20px;
  font-size:13px;
  margin: 5px;
	-webkit-flex: 1 0 auto;
	flex: 1 0 auto;
}
.subtec_group_li dt {
	font-weight: bold;
	font-size: 16px;
}

@media screen and (max-width: 640px) {

..subtec_flex_box {
	max-height: max-content;
}

.subtec_group25 {
	width: calc(50% - 10px);
}

.subtec_group33, .subtec_group50, .subtec_group100 {
	width: calc(100% - 10px);
}

.tec_left_img_clear {
	float: none;
	padding: 0px 10px 5px 10px;
	text-align: center;
}

.tec_right_img_clear {
	float: none;
	padding: 0px 10px 5px 10px;
	text-align: center;
}

}

/* RG緑化工法ページ */

.rg_group h4 {
	font-weight: bold;
	border-left: 6px solid #009944;
	background-color: #eee;
	font-size: 1.2rem;
	margin-bottom: 14px;
	padding-left: 10px;
	background-color: rgba(0,153,68,0.15);
}

/* インフラマネジメントシステムページ */

.ims_group h4 {
	font-weight: bold;
	border-left: 6px solid #005bac;
	background-color: #eee;
	font-size: 1.2rem;
	margin-bottom: 14px;
	padding-left: 10px;
	background-color: rgba(0,91,172,0.15);
}

.tec_h4span {
	font-size: 0.8em;
}

.ims_3year {
	margin: 10px 0px 20px 10px;

}


/* リモートモニタリングシステムページ */

#rms_logo_area {
	position: relative;
}

#rms_logo_area img {
	position: absolute;
	top: 30px;
	right: 30px;
}

.rms_bcolor {
	background-color: #fff;
}

.rms_title_radius {
	border-radius: 10px;
}

.rms_group h4 {
	font-weight: bold;
	border-left: 6px solid #009be5;
	background-color: #eee;
	font-size: 1.2rem;
	margin-bottom: 14px;
	padding-left: 10px;
	background-color: rgba(0,155,229,0.15);
}

span.kankyo_title {
	font-size: 1rem;
}

.kankyo_detail {
	font-size: 100%;
}


@media screen and (max-width: 900px) {
#rms_logo_area img {
	display: none;
}

}

/* 微地形合成図化システムページ */

.gcs_group h4 {
	font-weight: bold;
	border-left: 6px solid #6d6a99;
	background-color: #eee;
	font-size: 1.2rem;
	margin-bottom: 14px;
	padding-left: 10px;
	background-color: rgba(109,106,153,0.15);
}

.gcs_img {
	border: 1px solid #999;
}

/* ビデオ画像処理技術Mofixページ */

.mofix_li_title {
	font-size: 1.23rem;
	font-weight: bold;
}

/*
.mofix_foot1 {
	list-style-type: circle;
}

.mofix_foot2 {
	list-style-type: square;
}
*/

/* 高精度GPS 移動計測装置ページ */

.gps_redbox {
	padding: 8px;
	background-color: red;
	color: #fff;
	text-align: center;
}

.gps_group h4 {
	font-weight: bold;
	border-left: 6px solid #014099;
	background-color: #eee;
	font-size: 1.2rem;
	margin-bottom: 14px;
	padding-left: 10px;
	background-color: rgba(1,64,153,0.15);
}

.gps_title {
	font-size: 16px;
	margin-bottom: 5px;
	font-weight: bold;
}

/* 移動式定点撮影システムページ */

.mos_box01 {
	padding: 10px;
	background-color: #fff;
}

.mos_box01 > h4 {
	font-weight: bold;
	color: #00aae7;
	margin-bottom: 4px;
	font-size: 16px;
}

.mos_box01 > h4 > img {
	vertical-align: top;
	margin-right: 4px;
	margin-top: 4px;
}

.mos_arrow {
	margin: 30px 0;
	vertical-align: middle;
}

.mos_bcolorFFF {
	background-color: #fff;
	padding:12px;
	margin-bottom: 30px;
	border-radius: 5px;
}

.mos_shooting_str {
	font-size: 1.2rem;
	border: 2px solid #00aae7;
	color: #00aae7;
	text-align: center;
	padding: 6px;
	background-color: #fff;
}

/* 冬期雪氷調査ページ */

.wsi_bcolorFFF {
	background-color: #fff;
	padding:12px;
	border-radius: 5px;
}


.wsi_photo2_area {
	display: inline-block;
}

.wsi_photo2_area div:nth-child(1) {
	width: calc(33.33% - 6px);
	float: left;
	margin: 0px 3px;
}

.wsi_photo2_area div:nth-child(2) {
	width: calc(66.66% - 6px);
	float: left;
	margin: 0px 3px;
}

.wsi_case_str {
	margin-top: 6px;
	line-height: 1em;
}

.wsitec_group33 {
    width: calc(33.3333% - 10px);
    font-size: 13px;
    margin: 5px;
    -webkit-flex: 1 0 auto;
    flex: 1 0 auto;
}

.wsitec_group66 {
    width: calc(66.6666% - 10px);
    font-size: 13px;
    margin: 5px;
    -webkit-flex: 1 0 auto;
    flex: 1 0 auto;
}

/* 冬期防災緑化ページ */

.wdt_photo_img {
	position: relative;
}

.wdt_photo_str {
	position: absolute;
	bottom: 0px;
	right: 6px;
	color: #fff;
	font-size: 10px;
	text-shadow: black 1px 1px 0px, black -1px 1px 0px, black 1px -1px 0px, black -1px -1px 0px;
}


/* 維持管理性・点検性に優れる橋梁形式ページ */

.mmb_group h4 {
	font-weight: bold;
	border-left: 6px solid #2aa738;
	background-color: #eee;
	font-size: 1.2rem;
	margin-bottom: 14px;
	padding-left: 10px;
	background-color: rgba(42,167,56,0.15);
}

.mmb_photo2_area {
	display: inline-block;
}

.mmb_photo2_area div:nth-child(1) {
	width: calc(72% - 6px);
	float: left;
	margin: 0px 3px;
}

.mmb_photo2_area div:nth-child(2) {
	width: calc(28% - 6px);
	float: left;
	margin: 0px 3px;
}

.mmb_imagemid img {
	vertical-align: middle;
	margin-right: 7px;
}

.mmb_attention_str {
	color: #2aa738;
	font-weight: bold;
}


/* 豪雨による橋梁被災後の架替計画ページ */
.tec_brp_flow {
	position: relative;
}
.tec_brp_flow li {
	border: solid 2px orange;
	border-radius: 10px;
	margin-bottom: 10px;
	padding: 15px !important;
}
.tec_brp_flow li:after {
	content: none !important;
}
.tec_brp_flow li:nth-child(2):before {
	display: inline-block;
	content: " ";
	background: url(./images/arrow_bg2.jpg) no-repeat;
	background-size: 100%;
	width: 50px;
	height: 50px;
	position: absolute;
	bottom: -70px;
	right: 0;
	left: 0;
	margin: auto;

}
.tec_brp_flow li:last-child {
	border: none;
	margin-top: 60px !important;
}

/* CM［Construction M anagement］業務ページ */
.cm_table {
	width: 100%;
}
.cm_table th ,
.cm_table td {
	padding: 10px;
}
.cm_table th {
	background-color: rgba(0,153,68,0.15);
	font-weight: bold;
}
.cm_table tr,
.cm_table th,
.cm_table td {
	border: solid 1px #ccc;
}

/* Media queries for responsive design
--------------------------------------------- */
/* --- iPad Landscape --- */
@media screen and (max-width: 1200px) {


/* 採用情報ページ */

.recruit_top {
	font-size: 23px;
	font-weight: bold;
	line-height: 1.8em;
	width: 80%;
	margin: auto;
}

#recruit_bgmarea {
	width: 100%;
	background: url(./images/recruit/recruite_bgm02.jpg) top right no-repeat;
}

#recruit_textarea {
	width: 95%;
	margin:auto;
	padding: 0px 0px 0px 0px;
}

}

/* Media queries for responsive design
--------------------------------------------- */
/* --- iPad Landscape --- */
@media screen and (max-width: 970px) {


/* 採用情報ページ */

.recruit_top {
	font-size: 22px;
	font-weight: bold;
	line-height: 1.5em;
	width: 80%;
	margin: auto;
}

.recruit_text {
	font-size: 20px;
	text-align: center;
	line-height: 1.5em;
	padding: 50px 0px;
	text-indent: 1em;
}

}

/* --- iPad Portrait --- */
@media screen and (max-width: 920px) {

#gnav .sub-menu2 {
  width: 100% !important;
  margin: 0px;
}

/* 採用情報ページ */


}


/* --- iPad Portrait --- */
@media screen and (max-width: 768px) {


/* 採用情報ページ */

	#recruit_bgmarea {
		width: 100%;
		background: url(./images/recruit/recruite_bgm03.jpg) top right no-repeat;
	}
	.recruit_table {
		min-width: 800px;
		width: 100%;
		margin: 0;
	}
	.recruit_table__wrap {
		padding: 0 1em;
		overflow-x: scroll;
		margin-bottom: 100px;
	}

}

/* お問い合わせページ */

div#mw_wp_form_mw-wp-form-273 {
	padding: 0px 30px;
}

}


/* --- NEXUS7 Portrait --- */
@media screen and (max-width: 640px) {


/* 採用情報ページ */

.recruit_top {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5em;
	width: 90%;
	margin: auto;
}

.recruit_text {
	font-size: 18px;
	text-align: center;
	line-height: 1.5em;
	padding: 30px 0px;
	text-indent: 1em;
}

#gnav .sub-menu2 >ul {
	text-align: left;
}

#gnav .sub-menu2 {
  width: 100% !important;
  margin: 0px;
}


}



/* 404ページ */
#page404 .cont-box {
	max-width:768px;
	margin:0 auto 80px auto;
	text-align:center;
}
#page404 .cont-box a {
	display:block;
	padding: 10px;
	width: 250px;
	border:solid 1px #000;
	margin:50px auto 0;
	color:#000;
}
#page404 .cont-box a:hover {
	background: rgba(0,102,204,0.3);
}
