@charset "utf-8";

/* /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
全デバイス共通のスタイルとスマートフォンおよび小型タブレット向けレイアウトの指定
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

/*==================================================
contents
====================================================*/

#contents{
	margin-top: 15px;
}

#contents section #cont_title{
	background: url(../img/h2_bg.png) left top repeat-x;
	background-size: cover;
}

#contents section h1 img{
	width: 100%;
	max-width: 770px;
}

#contents section article h2{
	background-color: #efefef;
	padding: 10px;
	border-left: solid 5px #de3923;
}

#contents #content_in{
	margin: 15px;
}

#contents #content_in #subcont{
	display: none;
}

#contents #content_in #maincont article{
	line-height: 1.5;
	margin-bottom: 60px;
}

/*==================================================
company
====================================================*/

#company article#greeting p{
	margin-top: 15px;
}

#company article#outline dl{
	background-color: #efefef;
	border: double 3px #de3923;
	margin-top: 15px;
}

#company article#outline dl dt{
	border-bottom: solid 1px #de3923;
	padding: 10px;
}

#company article#outline dl dd{
	background-color: #ffffff;
	padding: 10px;
}

#company article#outline p{
	margin-top: 15px;
}

#company article#outline p img{
	width: 100%;
	max-width: 930px;
}

#company article#service ul{
	margin-top: 15px;
	border-bottom: double 3px #de3923;
}

#company article#service ul li{
	margin-left: 25px;
}
#company article#service ul li:last-child {
  list-style-type: none;
}
  #company article#service ul li img{
    width: 100%;
    display: block;
  }

#company article#service ul li dl dd{
	margin-left: 15px;
}

#company article#service p{
	margin-top: 15px;
}

#company article#service p img{
	width: 100%;
	max-width: 930px;
}

#company article#history dl{
	background-color: #efefef;
	border: double 3px #de3923;
	margin-top: 15px;
}

#company article#history dl dt{
	border-bottom: solid 1px #de3923;
	padding: 10px;
}

#company article#history dl dd{
	background-color: #ffffff;
	padding: 10px;
}

#company article#history dl dd p.point{
	background-color: #efefef;
	padding: 10px;
	margin-top: 15px;
}

#company article#history dl dd p.pho{
	margin-top: 15px;
}

#company article#history dl dd p.pho img{
	width: 100%;
	max-width: 770px;
}

#company article#map p{
	margin-top: 15px;
	margin-bottom: 15px;
}

#company article#map #mapbx{
	padding: 20px;
}

#company article#map #mapbx iframe{
	width: 100%;
}


/*==================================================
csr
====================================================*/

#csr article#intro{
	background: url(../img/csr/intro.png) left top no-repeat;
	background-size: cover;
	padding: 15px;
}

#csr article#intro h2.title{
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 15px;
	background: none;
	border-left: none;
}

#csr article#intro .txt2{
	background-color: #ffffff;
	opacity: 0.7;
	padding: 15px;
}

#csr article div p.pho{
	margin: 15px 0;
}

#csr article div p.pho img{
	width: 100%;
	max-width: 770px;
	margin-bottom: 5px;
}

#csr article div div.txt p{
	margin-top: 15px;
	padding-left: 20px;
}

#csr article div.txt3 p{
	margin-top: 15px;
	padding-left: 20px;
}

#csr article div.txt .marker{
	background: url(../img/nav_arrow.png) left 5px no-repeat;
}

#csr article div.txt3 .marker{
	background: url(../img/nav_arrow.png) left 5px no-repeat;
}

#csr article div div.txt h3{
	padding-left: 20px;
}

#csr article#volunteer .txt3{
	margin-bottom: 30px;
}

#csr article#volunteer .jisseki{
	border: dotted 1px #cccccc;
	padding: 15px;
}

#csr article#volunteer .jisseki dl{
	background-color: #efefef;
	margin-top: 15px;	
}

#csr article#volunteer .jisseki dl dt{
	padding: 5px;
}

#csr article#volunteer .jisseki dl dd{
	padding: 5px;
	background-color: #ffffff;
}

#csr article#houmon .fast{
	margin-bottom: 30px;
}

#csr article#kifu .txt{
	margin-bottom: 30px;
}

#csr article#kifu .fast{
	margin-top: 15px;
}

#csr article#kifu .last{
	margin-bottom: 0;
}

#csr article#kifu .txt p{
	padding-left: 20px;
}

#csr article h3{
	font-weight: normal;
}

#csr article#ouen .ouenlist{
	margin-bottom: 60px;
}

#csr article#ecoc .pho img{
	max-width: 100%;
}

#csr article#ecoc .pho{
	width: 70%;
	margin-left: auto;
	margin-right: auto;
}

#csr article#ecoc .txt p{
	padding-left: 20px;
	margin-bottom: 1rem;
}

#csr article#smiler .pho img{
	max-width: 100%;
}

#csr article#smiler .pho{
	width: 70%;
	margin-left: auto;
	margin-right: auto;
}

#csr article#smiler .txt p{
	padding-left: 20px;
	margin-bottom: 1rem;
}


/*==================================================
news
====================================================*/
#news #news_list .newsbx{
	margin: 15px 0 45px 0;
	border-bottom: double 3px #de3923;
	padding-bottom: 15px;
}

#news #news_list .newsbx h3{
	background: url(../img/nav_arrow.png) left 5px no-repeat;
	padding-left: 20px;
	margin-bottom: 15px;
}

#news #news_list .newsbx div{
	background-color: #efefef;
	padding: 15px ;
	margin: 15px 15px 0 15px;
}

#news #news_list .newsbx div p{
	margin-bottom: 15px;
}

#news #news_list .newsbx div p img{
	width: 100%;
	max-width: 450px;
}

#news #news_list .newsbx div p:last-child{
	margin-bottom: 0;
}

/*==================================================
works
====================================================*/

#works #kenchiku .work_list{
	margin: 15px 0 45px 0;
	border: solid 1px #cccccc;
	padding: 15px;
}

#works #kenchiku .work_list .pho img{
	width: 100%;
	max-width: 770px;
}

#works #kenchiku .work_list h3{
	border-bottom: solid 2px #de3923;
	background: url(../img/nav_arrow.png) left 5px no-repeat;
	padding-left: 20px;
	margin-bottom: 15px;
}

#works #kenchiku .work_list .txt dl{
	background-color: #efefef;
	margin-top: 15px;
}

#works #kenchiku .work_list .txt dl dt{
	border-bottom: dotted 1px #cccccc;
	padding: 5px;
}

#works #kenchiku .work_list .txt dl dd{
	background-color: #ffffff;
	padding: 5px;
}

#works #kenchiku .work_list p.hyoushou{
	background-color: #efefef;
	border: solid 1px #de3923;
	padding: 5px;
	margin-top: 15px;
	color: #de3923;
}

#works #doboku .work_list{
	margin: 15px 0 45px 0;
	border: solid 1px #cccccc;
	padding: 15px;
}

#works #doboku .work_list .pho img{
	width: 100%;
	max-width: 770px;
}

#works #doboku .work_list h3{
	border-bottom: solid 2px #de3923;
	background: url(../img/nav_arrow.png) left 5px no-repeat;
	padding-left: 20px;
	margin-bottom: 15px;
}

#works #doboku .work_list .txt dl{
	background-color: #efefef;
	margin-top: 15px;
}

#works #doboku .work_list .txt dl dt{
	border-bottom: dotted 1px #cccccc;
	padding: 5px;
}

#works #doboku .work_list .txt dl dd{
	background-color: #ffffff;
	padding: 5px;
}

#works #doboku .work_list p.hyoushou{
	background-color: #efefef;
	border: solid 1px #de3923;
	padding: 5px;
	margin-top: 15px;
	color: #de3923;
}

#works #kaitai .work_list2{
	margin: 15px 0 45px 0;
	border: solid 1px #cccccc;
	padding: 15px;
}

#works #kaitai .work_list2 .pho img{
	width: 100%;
	max-width: 770px;
}

#works #kaitai .work_list2 p.last{
	margin-top: 15px;
}

#works #kaitai .work_list2 h3{
	border-bottom: solid 2px #de3923;
	background: url(../img/nav_arrow.png) left 5px no-repeat;
	padding-left: 20px;
	margin-bottom: 15px;
}

#works #kaitai .work_list2 .txt dl{
	background-color: #efefef;
	margin-top: 15px;
}

#works #kaitai .work_list2 .txt dl dt{
	border-bottom: dotted 1px #cccccc;
	padding: 5px;
}

#works #kaitai .work_list2 .txt dl dd{
	background-color: #ffffff;
	padding: 5px;
}

#works #solar .work_list{
	margin: 15px 0 15px 0;
}

#works #solar .work_list .pho img{
	width: 100%;
	max-width: 930px;
}

#works #solar .work_list .txt{
	margin: 15px 0 45px 0;
	border: dotted 1px #cccccc;
	padding: 15px;
}

#works #solar .work_list .txt h3{
	border-bottom: solid 2px #de3923;
	background: url(../img/nav_arrow.png) left 5px no-repeat;
	padding-left: 20px;
}

#works #solar .work_list .txt dl{
	background-color: #efefef;
	margin-top: 15px;
}

#works #solar .work_list .txt dl dt{
	border-bottom: dotted 1px #cccccc;
	padding: 5px;
}

#works #solar .work_list .txt dl dd{
	background-color: #ffffff;
	padding: 5px;
}

#works #fslider{
	display: none;
}

/*20240620追加*/
#works h2 span{
	font-size: 0.8em;
	font-weight: 300;
}


/*==================================================
policy
====================================================*/

#policy article p{
	margin-top: 15px;
}

#policy article ol li{
	margin-top: 15px;
	margin-left: 25px;
}

#policy article h3{
	margin: 30px 0 15px 0;
}

#policy article ul li{
	margin-left: 25px;
}

#policy article p.name{
	text-align: right;
}

/*==================================================
recruit
====================================================*/

#recruit #recinfo{
	line-height: 1.5;
	margin-bottom: 15px;
}

#recruit article dl{
	background-color: #efefef;
	border: double 3px #de3923;
	margin-top: 15px;
}

#recruit article dl dt{
	border-bottom: solid 1px #de3923;
	padding: 10px;
}

#recruit article dl dd{
	background-color: #ffffff;
	padding: 10px;
}

/*==================================================
contact
====================================================*/

#contact article#telfax p{
	margin-top: 15px;
}

#contact article#telfax p.telnum a{
	font-size: 24px;
	color: #ff9900;
	font-weight: bold;
}

#contact article#mailform .forminfo{
	margin-top: 15px;
	margin-bottom: 5px;
}

#contact article#mailform dl{
	background-color: #efefef;
	border: double 3px #de3923;
	margin-top: 15px;
}

#contact article#mailform dl dt{
	border-bottom: solid 1px #de3923;
	padding: 10px;
}

#contact article#mailform dl dd{
	background-color: #ffffff;
	padding: 10px;
}

#contact article#mailform dl dd .txbx{
	width: 96%;
}

#contact article#mailform dl dd textarea{
	width: 96%;
}

#contact article#mailform .sumtbut{
	margin-top: 15px;
	text-align: center;
}


/*==================================================
solution
====================================================*/

#solution article{
	margin-bottom: 60px;
}

#solution article p{
	margin-bottom: 15px;
}

#solution article p.pho img{
	width: 100%;
	max-width: 770px;
}

#solution article p.pho2 img{
	width: 100%;
	max-width: 770px;
}

#solution article ul{
	background-color: #efefef;
	padding: 15px 15px 15px 15px;
	margin-bottom: 15px;
}

#solution article ul li{
	margin-left: 20px;
}

#solution article .shousai{
	margin-top: 15px;
}

#solution article#kensetsu .sougou{
	margin-top: 15px;
	margin-bottom: 30px;
}

#solution article#kensetsu .koumoku{
	margin-bottom: 15px;
	border: dotted 1px #cccccc;
	padding: 15px;
}

#solution article#kensetsu .koumoku h3{
	border-bottom: solid 2px #de3923;
	background: url(../img/nav_arrow.png) left 5px no-repeat;
	padding-left: 20px;
	margin-bottom: 15px;
}

#solution article#drone h3{
	color: #de3923;
}

#solution article#drone .txt{
	border: dotted 1px #cccccc;
	padding: 15px;
	margin-bottom: 30px;
}

#solution article#drone .txt dl{
	background-color: #efefef;
	margin-bottom: 15px;
}

#solution article#drone .txt dl dt{
	padding: 5px;
}

#solution article#drone .txt dl dd{
	background-color: #ffffff;
	padding: 5px;
}

#solution article#drone .txt3{
	margin-bottom: 15px;
}

#solution article#drone .txt3 dt{
	font-weight: bold;
}

#solution article#drone #sample{
	margin-top: 60px;
}

#solution article#drone #moviebx{
	margin-bottom: 60px;
}

#solution article#drone #moviebx iframe{
	width: 100%;
	max-width: 560px;
	margin-top: 15px;
}

#solution article#drone p{
	margin-top: 15px;
}

#solution article#drone p img{
	width: 100%;
	max-width: 560px;
}



/*==================================================
security_action 2024.6.20追加
====================================================*/

#security_action{
}

#security_action article p.coment{
	font-size: 0.9em;
}

/*反映が絞り出せないので丸ごと*/
/*#security_action article#intro{
	background: url(../img/csr/intro.png) left top no-repeat;
	background-size: cover;
	padding: 15px;
}*/

#security_action article div p.pho{
	margin: 15px 0;
}

#security_action article div p.pho img{
	width: 100%;
	max-width: 770px;
	margin-bottom: 5px;
}

#security_action article div.txt p{
	margin-top: 15px;
	padding-left: 20px;
}

#security_action article#sa .pho img{
	max-width: 100%;
}

#security_action article#sa .pho{
	width: 70%;
	margin-left: auto;
	margin-right: auto;
}

#security_action article#sa .txt p{
	padding-left: 20px;
	margin-bottom: 1rem;
}

@media only screen and (min-width: 768px){
#security_action article#sa .contwrap{
		display: flex;
		justify-content: space-between;
	}

#security_action article#sa .pho{
		width: 40%;
	}

#security_action article#sa .txt{
		width: 50%;
	}
#security_action article div div.txt{
		width: 50%;
		float: left;
	}
	
#security_action article p.pho{
		width: 47%;
		float: right;
	}
}

/* /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
メディアクエリによる切り替え
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

/* PC向けおよび大型タブレット向けのレイアウトの指定：768px～1320px */
@media only screen and (min-width: 768px){
	
	/* contents */
	#contents #content_in #subcont{
		display: block;
		width: 25%;
		float: left;
	}
	
	#contents #content_in #maincont{
		width: 72%;
		float: right;
	}
	
	#contents #content_in #subcont nav#subnav ul{
		line-height: 1.5;
		background-color: #efefef;
		border-top: solid 1px #de3923;
		border-left: solid 1px #de3923;
		border-right: solid 1px #de3923;
	}
	
	#contents #content_in #subcont nav#subnav ul li{
		list-style-type: none;
		border-bottom: solid 1px #de3923;
	}
	
	#contents #content_in #subcont nav#subnav ul li a{
		display: block;
		width: 100%;
		text-decoration: none;
		background: url(../img/nav_arrow.png) 8px center no-repeat;
	}
	
	#contents #content_in #subcont nav#subnav ul li a:hover{
		background-color: #ffffff;
	}
	
	#contents #content_in #subcont nav#subnav ul li a span{
		display: block;
		padding: 10px 10px 10px 25px;
	}
	
	/* company */
	#company article#greeting p.name{
		text-align: right;
	}
	
	#company article#outline #outlinebx{
		border: double 3px #de3923;
		margin-top: 15px;
	}
	
	#company article#outline dl{
		border-top: none;
		border-left: none;
		border-right: none;
		border-bottom: solid 1px #de3923;
		margin-top: 0;
	}
	
	#company article#outline dl.last{
		border-bottom: none;
	}
	
	#company article#outline dl dt{
		width: 30%;
		float: left;
		border-bottom: none;
	}
	
	#company article#outline dl dd{
		width: 62%;
		float: right;
	}

  #company article#service ul li img{
    width: 700px;
  }

	#company article#history #historybx{
		border: double 3px #de3923;
		margin-top: 15px;
	}
	
	#company article#history dl{
		border-top: none;
		border-left: none;
		border-right: none;
		border-bottom: solid 1px #de3923;
		margin-top: 0;
	}
	
	#company article#history dl.last{
		border-bottom: none;
	}
	
	#company article#history dl dt{
		width: 30%;
		float: left;
		border-bottom: none;
	}
	
	#company article#history dl dd{
		width: 62%;
		float: right;
	}
	
	/* csr */
	#csr article#intro{
		padding: 60px;
	}
	
	#csr article div div.txt{
		width: 50%;
		float: left;
	}
	
	#csr article p.pho{
		width: 47%;
		float: right;
	}
	
	#csr article#volunteer .jisseki h3{
		margin-bottom: 15px;
	}
	
	#csr article#volunteer .jisseki dl{
		border-bottom: solid 1px #cccccc;
		margin-top: 0;
	}
	
	#csr article#volunteer .jisseki dl dt{
		width: 30%;
		float: left;
		margin-top: 0;
	}
	
	#csr article#volunteer .jisseki dl dd{
		width: 64%;
		float: right;
	}
	
	#csr article#houmon div.fast{
		margin-top: 15px;
	}
	
	#csr article#ouen h3{
		margin-top: 15px;
	}

	#csr article#ecoc .contwrap{
		display: flex;
		justify-content: space-between;
	}

	#csr article#ecoc .pho{
		width: 40%;
	}

	#csr article#ecoc .txt{
		width: 50%;
	}

	#csr article#smiler .contwrap{
		display: flex;
		justify-content: space-between;
	}

	#csr article#smiler .pho{
		width: 40%;
	}

	#csr article#smiler .txt{
		width: 50%;
	}
	
	/* works */
	#works #kenchiku .work_list .pho{
		width: 55%;
		float: left;
	}
	
	#works #kenchiku .work_list .txt{
		width: 42%;
		float: right;
	}
	
	#works #kenchiku .work_list .txt dl{
		margin-top: 0;
		margin-bottom: 15px;
	}
	
	#works #doboku .work_list .pho{
		width: 55%;
		float: left;
	}
	
	#works #doboku .work_list .txt{
		width: 42%;
		float: right;
	}
	
	#works #doboku .work_list .txt dl{
		margin-top: 0;
		margin-bottom: 15px;
	}
	
	#works #kaitai .work_list2 div .pho{
		width: 49%;
		float: left;
	}
	
	#works #kaitai .work_list2 div p.last{
		margin-top: 0;
		margin-left: 2%;
	}
	
	#works #solar .work_list .first{
		width: 43.7%;
		float: left;
	}
	
	#works #solar .work_list .last{
		width: 43.7%;
		float: right;
	}

	#works #fslider{
		display: block;
	}
	
	#works #kenchiku .work_list p.hyoushou{
		clear: both;
	}

	/* recruit */
	
	#recruit article .youkou{
		border: double 3px #de3923;
		margin-top: 15px;
	}
	
	#recruit article dl{
		border-top: none;
		border-left: none;
		border-right: none;
		border-bottom: solid 1px #de3923;
		margin-top: 0;
	}
	
	#recruit article dl.last{
		border-bottom: none;
	}
	
	#recruit article dl dt{
		width: 30%;
		float: left;
		border-bottom: none;
	}
	
	#recruit article dl dd{
		width: 62%;
		float: right;
	}
	
	/* contact */
	
	#contact article#telfax p.telnum, #contact article#telfax p.faxnum{
		text-align: center;
	}
	
	#contact article#mailform .formbx{
		border: double 3px #de3923;
		margin-top: 15px;
	}
	
	#contact article#mailform dl{
		border-top: none;
		border-left: none;
		border-right: none;
		border-bottom: solid 1px #de3923;
		margin-top: 0;
	}
	
	#contact article#mailform dl.last{
		border-bottom: none;
	}
	
	#contact article#mailform dl dt{
		width: 35%;
		float: left;
		border-bottom: none;
	}
	
	#contact article#mailform dl dd{
		width: 57%;
		float: right;
	}
	
	/* solution */
	#solution article p.pho{
		width: 40%;
		float: left;
	}
	
	#solution article .txt{
		width: 57%;
		float: right;
	}
	
	#solution article#drone .txt{
		border: 0;
		padding: 0;
	}
	
	#solution article p.pho2{
		width: 40%;
		float: right;
	}
	
	#solution article .txt2{
		width: 57%;
		float: left;
	}
	
	
	
}

/* PC向けレイアウトの指定：961px以上では固定レイアウト  1280px */
@media only screen and (min-width: 1321px){
	
	/* contents */
	#contents section h1{
		width: 1280px;
		margin: 0 auto;
	}
	
	#contents #content_in{
		width: 1280px;
		margin: 15px auto;
	}
	
	/* company */
	#company article#outline dl dt{
		text-align: center;
	}
	
	#company article#service #servicebx{
		width: 45%;
		float: left;
	}
  
  #company article#service p{
		width: 52%;
		float: right;
	}
	
	#company article#history dl dt{
		text-align: center;
	}
	
	#company article#map #mapbx{
		padding: 0;
	}
	
	#company article#history dl dd p.pho{
		text-align: center;
	}
	
	/* csr */
	#csr article#intro{
		padding: 60px 500px 60px 60px;
	}
	
	#csr article#intro .txt2 p.last{
		margin-top: 15px;
	}
	
	#csr article#intro h2.title{
		font-size: 22px;
	}
	
	#csr article#volunteer .txt3{
		width: 50%;
		float: left;
	}
	
	#csr article#volunteer .jisseki{
		width: 44%;
		float: right;
		margin-top: 15px;
	}
	
	#csr article p.pho{
		text-align: center;
	}
	
	/* works */
	
	#works #kenchiku .work_list{
		width: 45%;
		float: left;
		margin-right: 1%;
		margin-bottom: 15px;
	}
	
	#works #doboku .work_list{
		width: 45%;
		float: left;
		margin-right: 1%;
		margin-bottom: 15px;
	}
	
	#works #kaitai .work_list2 .phobx{
		width: 60%;
		float: left;
	}
	
	#works #kaitai .work_list2 .txt{
		width: 38%;
		float: right;
	}
	
	#works #solar .work_list .txt dl dt{
		width: 35%;
		float: left;
	}
	
	#works #solar .work_list .txt dl dd{
		width: 60%;
		float: right;
	}
	
	#works #solar .work_list .first{
		width: 45.5%;
	}
	
	#works #solar .work_list .last{
		width: 45.5%;
	}
	
	#works #kenchiku .line1{
		padding-bottom: 63px;
	}
	
	#works #doboku .line3{
		padding-bottom: 105px;
	}
	
	#works #doboku .line2{
		padding-bottom: 84px;
	}

	/* recruit */
	
	#recruit article dl dt{
		text-align: center;
	}
	
	/* contact */
	#contact article#mailform dl dt{
		text-align: center;
	}
	
	/* solution */
	#solution article#drone .txt dl dt{
		width: 30%;
		float: left;
	}
	
	#solution article#drone .txt dl dd{
		width: 65%;
		float: right;
	}
	
}
