@charset "UTF-8";
/* CSS Document */

body {
	font-family:YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	color: #231815;
	font-weight: 200;
	font-size: 14px;
	/*background-color: #4d4d4d;*/
	background-color: #fff;
}
h1,h2,h3,h4,h5,h6{
	color: #4e4d4d;
	font-weight: 200;
	line-height: 1.3;
}
h1{
	font-size: 24px;
}
h2{
	font-size: 18px;
}
h3{
	font-size: 18px;
}
p{
	font-size: 14px;
}
a{
	color: #4d4d4d;
	text-decoration: none;
}
a:hover{
	filter: alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}
table{
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	border-top: 1px solid #231815;
}
th{
	font-weight: 400;
	border-bottom: 1px solid #231815;
	padding: .5rem .5rem;
}
td{
	border-bottom: 1px solid #231815;
	border-left: 2px solid #231815;
	padding: .5rem .5rem;
}
tr:nth-child(odd) th,
tr:nth-child(odd) td{
	background-color: rgba(53,84,151,0.15);
}
.text-center{
	text-align: center;
}
.text-left{
	text-align: left;
}
.text-right{
	text-align: right;
}
.pd-btm{
	padding-bottom: 2rem;
}
.sp-only{
	display: inherit;
}
.pctb-only{
	display: none;
}
.pc-only{
	display: none;
}
@media screen and (min-width:768px) {
	.pctb-only{
	display: inherit;
}
}
@media screen and (min-width:810px) {
	.sp-only{
	display: none;
}
	.pc-only{
	display: inherit;
}
}

/* 電話番号リンクPC無効 */
a[href^="tel:"] {
    text-decoration: none;
    cursor: default;
    pointer-events: none;
}
@media screen and (max-width: 960px) {
    a[href^="tel:"] {
        pointer-events: auto;
    }
}

/* 共通 */
.header-content{
	background-color: #fff;
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
}
.header-flex{
	width: 100%;
	margin: 0;
	display: inline-block;
}
.logo{
	display: inline-block;
	width: 200px;
	padding: 15px 0 10px .5rem;
}
.logo img{
	width: 100%;
}
.catch{
	display: none;
	padding: .8rem .5rem 0 0;
}
@media screen and (min-width:767px) {
.header-flex{
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.logo{
	display: inline-block;
	width: 265px;
	padding: .5rem 0 .2rem .5rem;
}
	.catch{
	display: inline-block;
	padding: .8rem .5rem 0 0;
}
.catch h1{
	font-size: 12px;
	text-align: right;
}
}
.contain-full{
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	background-color: #fff;
}
.contain{
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
}
.block-top{
	padding-top: 0;
	padding-bottom: 4rem;
	margin-top: .1rem;
}
.block{
	padding-top: 1rem;
	padding-bottom: 4rem;
	margin: 0 auto 0 auto;
	border-top: 2px solid #4e4d4d;
}
.block-footer{
	padding-top: 2rem;
	padding-bottom: 4rem;
	border-top: 2px solid #4e4d4d;
}
/* 共通 */

/* PC nav */
.dlvideo img {
	width:100%;
	height: auto;
	vertical-align:top;
}
.header-nav{
	display: none;
}
@media screen and (min-width:767px) {
.header-nav{
	display: inherit;
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	background-color: #000;
	text-align: center;
}
.header-nav ul{
	display: block;
	max-width: 1366px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}
.header-nav ul li{
	display: inline-block;
	width: 19%;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	text-align: center;
}
.header-nav ul li a{
	display: block;
	width: 100%;
	padding: .5rem ;
	color: #fff;
	border-left: 1px #fff solid;
}
.header-nav ul li:last-of-type a{
	border-right: 1px #fff solid;
}
.header-nav ul li a.active-us{
	background-color: #355497;
}
.header-nav ul li a.active-biz{
	background-color: #5da34d;
}
.header-nav ul li a.active-rec{
	background-color: #49aad2;
}
.header-nav ul li a.active-acc{
	background-color: #cf7487;
}
}
/* PC nav */
/* スマホ nav*/
.header-content button{display: inherit;}
@media screen and (min-width:767px) {
.header-content button{
		display: none;
	}
}

/* footer */
.content-footernav{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap!important;
	width: 95%;
}
.block-nav{
	display: inline-block;
	width: 47%;
	margin-bottom: .8rem;
}
.block-nav h2{
	font-size: 1rem;
	line-height: 1.3;
	letter-spacing: 0.5em;
	font-weight: 500;
}
.block-nav ul{
	display: inline-block;
	margin: 0 0 0 0;
	padding: 0 0 0 0;
}
.block-nav ul li{
	color: #4d4d4d;
	font-size: 12px;
	line-height: 2;
	letter-spacing: 0.1em;
	list-style: none;
	margin: 0 0 0 0;
	padding: 0 0 0 0;
}
.copy{
	width: 95%;
	margin: 0 auto;
	font-size: 12px;
	color: 666666;
	font-family: Helvetica, Arial, "sans-serif";
}
@media screen and (min-width:768px) {
	.content-footernav{
	display: flex;
	justify-content: space-around;
}
	.block-nav{
	display: inline-block;
	width: auto;
}
	.copy{
	font-size: 14px;
}
}
/* footer */

/* Home */
#topimg .block{
	padding-top:0;
	padding-bottom:0;
	margin-top: 0.1rem;
}
#topinfo .block{
	padding-top: 0;
	padding-bottom: 0;
	margin-top: 0.1rem;
}
.topblock-bg{
	max-width: 1280px;
	background-image:url("../images/top-bgimg.jpg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.topcontent-flex{
	width: 95%;
	max-width: 1080px;
	height: 300px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	align-items: center;
}
.topflex-left{
	width: 100%;
	text-align: center;
}
.topflex-left h1{
	font-size: 24px;
}
.topflex-left p{
	font-size: 14px;
}
.topflex-right{
	width: 100%;
}
.topflex-right h2{
	font-size: 18px;
}
.topflex-right p{
	font-size: 14px;
}
@media screen and (min-width:768px) {
.topcontent-flex{
	width: 100%;
	flex-wrap: nowrap;
	height: 400px;
}
.topflex-left{
	width: 48%;
	text-align: center;
}
.topflex-left h1{
	font-size: 32px;
}
.topflex-left p{
	font-size: 16px;
}
.topflex-right{
	width: 48%;
	padding-left: 2rem;
}
.topflex-right h2{
	font-size: 21px;
}
.topflex-right p{
	font-size: 16px;
	max-width: 430px;
}
}
@media screen and (min-width:1024px) {
	.topcontent-flex{
	height: 580px;
}
	.topflex-left h1{
	font-size: 46px;	
}
	.topflex-left p{
	font-size: 18px;
}
	.topflex-right{
	padding-left: 0;
}
	.topflex-right h2{
	font-size: 24px;
}
.topflex-right p{
	font-size: 18px;
	max-width: 430px;
}
}

/* aboutus */
.content-header{
	text-align: center;
	padding-top: 2rem;
	padding-bottom: 2rem;
}
.content-header h1{
	display: inline-block;
	border-bottom: 5px solid #355497;
	margin: 0 auto;
}
.bk-subheader{
	text-align: center;
	background-color: #4e4d4d;
	padding-top: 1rem;
	padding-bottom: 1rem;
	max-width: 1280px;
	margin: 0 auto;
}
.bk-subheader h2{
	display: inline-block;
	margin: 0 auto;
	color: #fff;
}
.read{
	width: 95%;
	max-width: 1080px;
	margin: 0 auto;
	text-align: left;
	padding-top: 1rem;
	padding-bottom: 1rem;
}
.content-flex{
	width: 95%;
	max-width: 1080px;
	margin: 0 auto;
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
}
.content-flex2{
	width: 95%;
	max-width: 1080px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.flex-box{
	width: 100%;
}
.content-img{
	width: 100%;
	margin-top: 1rem;
}
.content-img img{
	width: 100%;
}
.content-txt{
	width: 100%;
	margin-top: 1rem;
}
ul.jigyou{
	width: 95%;
	max-width: 700px;
	padding: 0;
	margin: 0 auto;
	list-style: none;
	border-top: 1px solid #231815;
}
ul.jigyou li{
	text-align: center;
	font-weight: 400;
	padding: 2rem 1rem;
	border-bottom: 1px solid #231815;
}
ul.jigyou li p{
	display: inline-block;
	font-weight: 400;
	font-size: 14px;
	padding-bottom: .5rem;
}
ul.jigyou li p.note{
	font-weight: 200;
	border-top: 1px solid #231815;
	font-size: 12px;
	padding-top: .5rem;
	padding-bottom: 0;
}
.notice{
	font-size: 12px;
	margin: 0.5rem 0;
}
.outline{
	padding-bottom: 4rem;
}
#outline table{
	width: 95%;
	max-width: 700px;
	margin: 0 auto;
}
#suppliers .notice{
	width: 95%;
    max-width: 650px;
	margin: 0.5rem auto;
}
ul.torihiki{
	display: inline-block;
	width: 100%;
	padding: 0;
	list-style: none;
	border-top: 1px solid #231815;
}
ul.torihiki:nth-of-type(2){
	border-top: none;
}
ul.torihiki li{
	text-align: center;
	padding: .5rem .5rem;
	border-bottom: 1px solid #231815;
}
.other{
	margin-top: 2rem;
}
.solar{
	margin-top: 1rem;
}
.solar tr:nth-child(odd) th,
.solar tr:nth-child(odd) td{
	background-color: #fff;
}
.solar h3{
	font-size: 16px;
	font-weight: 400;
}
.solar th{
	font-weight: 200;
}
.solar td{
	font-weight: 400;
}
.fortigatetxt{
	height: 18px;
	width: auto;
}
.fortigate{
	margin-top: 2rem;
}
.fortigate .content-img{
	width: 144px;
	margin-bottom: 1rem;
}
.fortigate .flex-box p:first-of-type{
		font-size: 18px;
		margin-bottom: 2rem;
}

dl{
	display: flex;
	justify-content: space-between;
	width: 95%;
	max-width:700px;
	margin: 0 auto;
	padding: 1rem 0;
	border-bottom: solid 1px #000;
}
dl:first-of-type{
	border-top: solid 1px #000;
}
dt{
	width: 30%;
	text-align: left;
	font-weight: 500;
}
dd{
	width: 68%;
	text-align: left;
}

@media screen and (min-width:768px) {
	.solar{
	margin-top: 0;
}
	h1{
	font-size: 32px;
}
h2{
	font-size: 28px;
}
h3{
	font-size: 24px;
}
	.fortigatetxt{
	height: 28px;
	width: auto;
}
	.read{
	text-align: center;
}
	.flex-box{
	width: 50%;
	max-width: 500px;
}
	th{
	padding: .5rem 1rem;
}
	td{
	padding: .5rem 1rem;
}
	.content-img{
	width: 46%;
	max-width: 500px;
	margin-top: 0;
}
	ul.torihiki{
	width: 45%;
}
	ul.torihiki:nth-of-type(2){
	border-top: 1px solid #231815;
}
	.fortigate .content-img{
	width: 200px;
}
	.fortigate .flex-box{
		width: 60%;
		max-width: 1080px;
}
	.fortigate .flex-box p:first-of-type{
		font-size: 18px;
		margin-bottom: 5rem;
}
	.fortigate .flex-box p{
		font-size: 16px;
}
dt{
	width: 20%;
	text-align: left;
}
dd{
	width: 78%;
	text-align: left;
}
}
@media screen and (min-width:960px) {
	.fortigate .content-img{
	width: 200px;
}
	.fortigate .flex-box{
		width: 70%;
}
}

/* 業務内容 */
#facility .content-header h1,
#environment .content-header h1,
#suppliers .content-header h1{
	border-bottom:5px solid #5da34d;
}
#facility .bk-subheader h2,
#environment .bk-subheader h2{
	text-align: left;
	padding: 0 .8rem;
}
#environment .bk-subheader h2 span{
	font-size: 14px;
}
#facility .read,
#environment .read{
	text-align: left;
}
ul.read{
	margin: 0 auto;
	padding: 0;
}
ul.read li{
	margin-left: 1.5rem;
}
#facility .content-flex,
#environment .content-flex{
	justify-content: space-between;
}
#access .content-flex{
	width: 100%;
	justify-content: space-between;
	margin-top: .5rem;
}
#environment .flex-st{
	justify-content:flex-start;
}
#facility .content-img,
#environment .content-img{
	width: 32.5%;
	margin-top:0;
}
#access .content-img{
	width: 49%;
	margin-top:0;
}
#access .content-img:last-of-type{
	width: 100%;
	margin-top:.2rem;
}
#facility .bk-subheader .content-txt{
	width: 100%;
	color: #fff;
	text-align: left;
}
#facility .bk-subheader .content-txt p{
	font-size: 16px;
}
#facility .bk-subheader .content-img{
	width: 50%;
	margin: .5rem auto 0 auto;
}
.flow{
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	padding: 1rem 0 2rem 0;
	text-align: center;
}
.flow img{
	width: 80%;
	max-width: 1080px;
	margin: 0 auto;
}

#electricity .contain,
#aircon .contain,
#hygiene .contain,
#bim .contain,
#ssdesign .contain{
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	border-top: solid 1px #4e4d4d;
	padding: 2rem 1rem;
}
#electricity .contain h2,
#aircon .contain h2,
#hygiene .contain h2,
#bim .contain h2,
#ssdesign .contain h2{
	margin-bottom: 1.5rem;
	text-align: center;
}
#bim .contain h2{
	line-height: .7;
	margin-top: .5rem;
	margin-bottom: 2rem;
}
#bim .contain h2 span{
	font-size: 12px;
}
#electricity .contain p,
#aircon .contain p,
#hygiene .contain p,
#bim .contain p{
	text-align: left;
	margin-bottom: 1.5rem;
}
#electricity .contain .content-flex,
#aircon .contain .content-flex,
#hygiene .contain .content-flex,
#bim .contain .content-flex,
#ssdesign .contain .content-flex{
	width: 100%;
	justify-content: space-between;
}
#electricity .content-img,
#aircon .content-img,
#hygiene .content-img{
	width: 49%;
	margin-top:0;
}
#ssdesign .content-txt{
	width: 100%;
	margin-top:0;
}
#ssdesign .content-img{
	width: 49%;
	margin-top:0;
}
#electricity .content-img:nth-of-type(2) img,
#aircon .content-img:nth-of-type(2) img,
#hygiene .content-img:nth-of-type(2) img{
	border: solid 1px #4e4d4d;
}
#bim .content-img{
	width: 80%;
	margin:0 auto;
}
#bim .content-img img,
#ssdesign .content-img img{
	width: 100%!important;
}
#ssdesign .contain p{
	text-align: left;
	margin-bottom: 0;
}
#ssdesign .content-txt ul{
	margin: 0 0 .5rem 1rem;
	font-size: .85rem;
}
#ssdesign .content-txt img{
	width: 49%;
	height: auto;
}
@media screen and (min-width:568px) {
.flow img{
	width: 90%;
	max-width: 1080px;
	margin: 0 auto;
}
}
@media screen and (min-width:768px) {
	#facility .bk-subheader{
	padding-top:1.5rem;
		padding-bottom:1.5rem;
}
	#facility .bk-subheader .content-txt{
	width: 65%;
}
	#facility .bk-subheader .content-txt p{
	font-size: 16px;
		line-height: 1.8;
}
#facility .bk-subheader .content-img{
	width: 28%;
	margin: 0 auto;
}
	#facility .bk-subheader h2,
#environment .bk-subheader h2{
	font-size: 24px;
}
#environment .bk-subheader h2 span{
	font-size: 18px;
}
#environment .flex-box{
		padding-left: 2rem;
	}
	#access .content-img{
	width: 32.5%;
	margin-top:0;
}
	#access .content-img:last-of-type{
	width: 32.5%;
	margin-top:0;
}
	#electricity .contain,
#aircon .contain,
#hygiene .contain,
#bim .contain,
#ssdesign .contain{
	padding: 2rem 5rem 3rem 5rem;
}
#ssdesign .content-img,
#ssdesign .content-txt{
	width: 32%;
}
	#ssdesign .contain p{
	text-align: left;
	margin-bottom: 0;
}
}
@media screen and (min-width:810px) {
#environment .bk-subheader h2 span{
font-size: 20px;
}
	#facility .bk-subheader .content-txt p{
	font-size: 18px;
		line-height: 1.8;
}
#ssdesign .content-txt img{
	width: 64%;
	height: auto;
}
}

/* 採用情報 */
#recruit .content-header h1{
	border-bottom:5px solid #49aad2;
}
#recruit .bk-subheader h2{
	text-align: left;
	padding: 0 .8rem;
}
#recruit .bk-subheader h2 span{
	font-size: 14px;
}
#recruit .read{
	text-align: left;
	padding-top: 0;
}
#recruit ul.read{
	margin-bottom: 1rem;
}
#recruit .content-flex{
	justify-content: space-between;
	margin-top: 1rem;
	margin-bottom: 2rem;
}
#recruit .content-img {
	width: 100%;
	max-width: 320px;
}
#recruit .flex-box {
	width: 100%;
}
.btn-flex{
	width: 95%;
	margin: 0 auto;
	display: flex;
	justify-content: center;
}
.btn-box{
	display: inline-block;
	text-align: center;
	width: 33.5%;
	max-width: 358px;
	margin: .5rem .1rem;
}
.btn{
	display: block;
	border: solid 1px #4e4d4d;
	border-radius: .3rem;
	font-size: 14px;
	line-height: 1.3;
	padding: .5rem 1rem .2rem 1rem;
}
.btn span{
	font-size: 12px;
}
.btn-box2{
	display: inline-block;
	text-align: center;
	width: 50%;
	max-width: 350px;
	margin: .5rem .1rem;
}
.btn2{
	display: block;
	border: solid 1px #3d62ad;
	color: #3d62ad;
	border-radius: .3rem;
	font-size: 14px;
	line-height: 1.3;
	padding: .5rem 1rem .5rem 1rem;
}
.btn2 span{
	font-size: 12px;
}
.recruit-header{
	width: 95%;
	max-width: 1080px;
	margin: 0 auto;
	background-color: #3d62ad;
	padding: 2rem 1rem .5rem;
	margin-top: 1rem;
}
.recruit-header h2{
	color: #fff;
	font-size: 21px;
}
.recruit-box{
	width: 95%;
	max-width: 1080px;
	margin: 1rem auto;
}
.shinsotsu{
	border: solid 1px #3d62ad;
	background-color: #3d62ad;
	color: #fff;
}
.chuto{
	border: solid 1px #601986;
	background-color: #601986;
	color: #fff;
}
table.chutobg tr:nth-child(odd) th,
table.chutobg tr:nth-child(odd) td{
	background-color: rgba(96,25,134,0.15);
}
.haken{
	border: solid 1px #d7c200;
	background-color: #d7c200;
	color: #fff;
}
table.hakenbg tr:nth-child(odd) th,
table.hakenbg tr:nth-child(odd) td{
	background-color: rgba(215,194,0,0.15);
}

@media screen and (min-width:768px) {
	.btn{
	font-size: 16px;
	padding: 1rem 2rem .5rem 2rem;
}
	.btn2{
	font-size: 16px;
	padding: 1rem 2rem 1rem 2rem;
}
	.btn-box{
	width: 33%;
}
	#recruit .flex-box {
	width: 70%;
		max-width: 1000px;
}
	#recruit .content-img{
		width: 30%;
	}
}


/* アクセス */
#access .content-header h1{
	border-bottom:5px solid #cf7487;
}
.access-box{
	width: 95%;
	max-width: 1080px;
	padding: 0;
	margin: 2rem auto 3rem auto;
}
.access-box h3{
	background-color: #4e4d4d;
	color: #fff;
	padding: .5rem;
	margin-bottom: 1rem;
	font-size: 14px;
}
.map{
	margin: 1rem auto;
}
.access-box h4{
	font-size: 1.2rem;
	line-height: 1.2;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	margin: 2rem auto .5rem auto;
	padding: .3rem 0;
}
.access-box h4 span{
	font-size: 1rem;
}
.sp-only375{
		display:inline;
	}
@media screen and (min-width: 376px) {
	.access-box h4{
	line-height: 1.5;
}
	.sp-only375{
		display: none;
	}
}
.access-info{
	width: 100%;
}
.access-info img {
	width: 100%;
	height: auto;
}
p.a-info{
	border-top: 1px solid #000;
	padding-top: .5rem;
}


/* お問合せ */
#mailform .content-header h1{
	display: inline-block;
	border-bottom: 5px solid #ab8c1f;
	margin: 0 auto;
}

.block-privacy{
	width: 95%;
	max-width: 700px;
	margin: 2rem auto;
}
.block-form{
	width: 100%;
	max-width: 700px;
	margin: 2rem auto;
}
.block-form p{
	width: 95%;
	margin: 0 auto 1rem auto;
}
@media screen and (min-width:768px) {
	.block-form p{
	width: 100%;
}
}