@charset "UTF-8";
.sec-inner {
	max-width: 1150px;
	margin: 0 auto;
	padding: 0 20px;
}
.sec h2 {
	font-size: 45px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	margin-bottom: 47px;
}
@media screen and (max-width: 900px) {
	.sec h2 {
		font-size: 22px;
		margin-bottom: 28px;
	}
}
/*　　camera head　　*/
.camera_head {
	padding: 30px 0 90px 0;
}
.camera_head .text {
	font-size: 18px;
	font-weight: 400;
	line-height: 1.65;
	text-align: center;
	margin-bottom: 20px;
}
.camera_head .flex_container{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	flex-wrap: wrap;
}
.camera_head .flex_container .col-4 {
	width: 32%;
	text-align: center;
}
.solar .flex_container .col-4 figure img{
	max-width: 295px;
}
.street .flex_container .col-4 figure img{
	max-width: 381px;
}
.camera_head .flex_container .col-6 {
	width: 68%;
	padding-top: 40px;
	padding-left: 86px;
}
.camera_head .flex_container h2 {
	font-size: 26px;
	text-align: left;
	margin-bottom: 37px;
}
.camera_head .flex_container .list li {
	position: relative;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.35;
	border-bottom: 1px solid #D9D9D9;
	padding-left: 35px;
	padding-bottom: 12px;
	margin-bottom: 12px;
}
.camera_head .flex_container .list li:last-child {
	margin-bottom: 0;
}
.camera_head .flex_container .list li::before {
	position: absolute;
	background: url(../img/camera/check.svg) no-repeat center;
	background-size: cover;
	content: '';
	width: 26px;
	height: 22px;
	left: 0;
	top: 4px;
}
@media screen and (max-width: 900px) {
	.camera_head {
		padding: 0 0 60px 0;
	}
	.camera_head .text {
		font-size: 16px;
		margin-bottom: 30px;
	}
	.camera_head .flex_container .col-4 {
		width: 100%;
	}
	.solar .flex_container .col-4 figure img{
		width: 60%;
		max-width: 400px;
	}
	.street .flex_container .col-4 figure img{
		width: 60%;
		max-width: 400px;
	}
	.camera_head .flex_container .col-6 {
		width: 100%;
		padding-top: 20px;
		padding-left: 0;
	}
	.camera_head .flex_container h2 {
		font-size: 19px;
		text-align: center;
		margin-bottom: 24px;
	}
	.camera_head .flex_container .list li {
		font-size: 15px;
		padding-left: 35px;
		padding-bottom: 12px;
		margin-bottom: 12px;
	}
	.camera_head .flex_container .list li::before {
		width: 20px;
		height: 18px;
		top: 4px;
	}
}
/*　　カメラ　　*/
.camera {
	background: url(../img/camera/camera_bg.jpg) no-repeat;
	background-size: cover;
	padding: 150px 0 130px 0;
}
.camera .sec-inner {
	max-width: 1320px;
}
.camera h2 {
	color: #FFFFFF;
}
.camera .text {
	color: #FFFFFF;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.65;
	text-align: center;
	margin-bottom: 100px;
}
.camera .list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	flex-wrap: wrap;
	max-width: 1100px;
	margin: 0 auto;
	column-gap: 62px;
}
.camera .list dl {
	width: calc(33.3333% - 42px);
	border: 2px solid #FFFFFF;
	padding: 20px;
}
.camera .list dl dt {
	color: #FFFFFF;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	margin-bottom: 20px;
}
.camera .list dl dd {
	color: #FFFFFF;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.65;
}
.camera .figure {
	max-width: 1100px;
	margin: 0 auto;
	margin-bottom: 95px;
}
@media screen and (max-width: 900px) {
	.camera {
		background: url(../img/camera/camera_bg.jpg) no-repeat;
		background-size: cover;
		padding: 50px 0 60px 0;
	}
	.camera h2 {
		margin-bottom: 20px;
	}
	.camera .text {
		font-size: 16px;
		margin-bottom: 40px;
	}
	.camera .figure {
		margin-bottom: 35px;
	}
	.camera .list {
		width: 90%;
		column-gap: 0;
		row-gap: 16px;
	}
	.camera .list dl {
		width: 100%;
		border: 2px solid #FFFFFF;
		padding: 20px;
	}
	.camera .list dl dt {
		font-size: 18px;
		margin-bottom: 20px;
	}
	.camera .list dl dd {
		font-size: 14px;
	}
}
/*　　sec3　　*/
#sec3 {
	background: #F1F4FC;
	padding: 130px 0 150px 0;
}
#sec3 .text {
	font-size: 18px;
	font-weight: 400;
	line-height: 1.65;
	text-align: center;
}
.street .sec-inner {
	max-width: 1320px;
}
.street .js-tab-wrap {
	margin-top: 60px;
}
.street .jstabs {
	display: flex;
	align-items: flex-end;
	border-bottom: 4px solid #214096;
	margin-bottom: 60px;
}
.street .jstabs .js-tab-btn {
	background: #CED5E9;
	width: 50%;
	color: #4A65AE;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
	cursor: pointer;
	border-radius: 0 10px 0 0;
	padding: 18px 10px 14px 10px;
}
.street .jstabs .js-tab-btn.current {
	background: #214096;
	color: #FFFFFF;
	border-radius: 0 14px 0 0;
	padding: 26px 10px 19px 10px;
}
.street .js-tab-contents {
	display: none;
}
.street .js-tab-contents.current {
	display: block;
}
.street .js-tab-contents p {
	font-size: 30px;
	font-weight: 700;
	line-height: 1.45;
	text-align: center;
	margin-bottom: 60px;
}
.street .js-tab-contents .figure {
	max-width: 1100px;
	text-align: center;
	margin: 0 auto;
}
.solar .usage_list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	flex-wrap: wrap;
	column-gap: 39px;
	row-gap: 39px;
	margin-top: 100px;
}
.solar .usage_list dl {
	width: calc(33.3333% - 26px);
}
.solar .usage_list dl dt {
	margin-bottom: 20px;
}
.solar .usage_list dl dd {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
}
@media screen and (max-width: 900px) {
	#sec3 {
		padding: 60px 0 60px 0;
	}
	#sec3 .text {
		font-size: 16px;
	}
	.street .js-tab-wrap {
		margin-top: 40px;
	}
	.street .jstabs {
		border-bottom: 2px solid #214096;
		margin-bottom: 40px;
	}
	.street .jstabs .js-tab-btn {
		font-size: 16px;
		border-radius: 0 8px 0 0;
		padding: 10px 10px 8px 10px;
	}
	.street .jstabs .js-tab-btn.current {
		border-radius: 0 10px 0 0;
		padding: 16px 5px 13px 5px;
	}
	.street .js-tab-contents p {
		font-size: 16px;
		margin-bottom: 30px;
	}
	.solar .usage_list {
		width: 90%;
		column-gap: 10px;
		row-gap: 20px;
		margin: 0 auto;
		margin-top: 40px;
	}
	.solar .usage_list dl {
		width: calc(50% - 5px);
	}
	.solar .usage_list dl dt {
		margin-bottom: 10px;
	}
	.solar .usage_list dl dd {
		font-size: 14px;
	}
}
/*　　稼働時間　　*/
.operation {
	padding: 0 0 150px 0;
}
.operation .text {
	font-size: 18px;
	font-weight: 400;
	line-height: 1.65;
	text-align: center;
	margin-bottom: 35px;
}
.operation table th,
.operation table td {
	width: 50%;
	border: 1px solid #9E9E9E;
	vertical-align: middle;
	text-align: center;
}
.operation table th{
	background: #D9D9D9;
	font-size: 26px;
	font-weight: 400;
	line-height: 1.35;
	padding: 25px 16px;
}
.operation table td{
	font-size: 24px;
	font-weight: 400;
	line-height: 1.35;
	padding: 25px 16px;
}
@media screen and (max-width: 900px) {
	.operation {
		padding: 0 0 60px 0;
	}
	.operation .text {
		font-size: 16px;
		margin-bottom: 40px;
	}
	.operation table {
		width: 90%;
		margin: 0 auto;
	}
	.operation table th{
		font-size: 16px;
		padding: 90px 6px;
	}
	.operation table td{
		font-size: 15px;
		padding: 90px 6px;
	}
}
/*　　導入実績　　*/
.results {
	padding: 0 0 115px 0;
}
.results .text {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.56;
	margin-top: 30px;
}
.results table th,
.results table td {
	vertical-align: middle;
	border: 1px solid #9E9E9E;
}
.results table th {
	width: 186px;
	background: #D9D9D9;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.35;
	padding: 18px 16px;
}
.results table td {
	font-size: 18px;
	font-weight: 400;
	line-height: 1.35;
	padding: 18px 28px;
}
@media screen and (max-width: 900px) {
	.results {
		padding: 0 0 36px 0;
	}
	.results .text {
		width: 90%;
		font-size: 14px;
		margin: 0 auto;
		margin-top: 14px;
	}
	.results table {
		width: 90%;
		margin: 0 auto;
	}
	.results table th {
		position: relative;
		width: 82px;
		font-size: 16px;
		padding: 18px 10px;
		white-space: nowrap;
	}
	.results table th p {
		display: inline;
		position: absolute;
		writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
	}
	.results table td {
		font-size: 15px;
		padding: 35px 15px;
	}
}
/*　　sec4　　*/
#sec4 {
	padding: 100px 0 95px 0;
}
#sec4 h2 {
	margin-bottom: 60px;
}
#sec4 .sec1 {
	background: url(../img/top/service1.jpg) no-repeat;
	background-size: cover;
	height: 650px;
}
#sec4 .sec1 .in {
	max-width: 1140px;
	margin: auto;
	padding: 80px 20px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#sec4 .sec1 .in .set {
	width: calc(100% - 350px);
}
#sec4 .sec1 .in .set .t1 {
	font-size: 40px;
	font-weight: bold;
	line-height: 1.5;
	padding-bottom: 50px;
}
#sec4 .sec1 .in .set .text {
	font-size: 18px;
}
#sec4 .sec1 .in figure {
	width: 450px;
	margin-right: -100px;
}
@media screen and (max-width: 900px) {
	#sec4 {
		padding: 60px 0;
	}
	#sec4 h2 {
		margin-bottom: 60px;
	}
	#sec4 .sec1 {
		background: url(../img/top/service1_sp.jpg) no-repeat;
		background-size: cover;
		height: auto;
	}
	#sec4 .sec1 .in {
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		-webkit-flex-direction: column-reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
		padding: 0px 20px 80px;
		margin-top: 190px;
	}
	#sec4 .sec1 .in .set {
		width: 100%;
	}
	#sec4 .sec1 .in .set .t1 {
		font-size: 20px;
		padding-bottom: 20px;
	}
	#sec4 .sec1 .in .set .text {
		font-size: 15px;
	}
	#sec4 .sec1 .in figure {
		width: 300px;
		margin: auto;
	}
	#sec4 .sec1 .in figure img {
		margin-top: -150px;
	}
}
/*　　関連情報　　*/
.related {
	padding: 0 0 200px 0;
}
.related h2 {
	margin-bottom: 60px;
}
.related .related-nav {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	flex-wrap: wrap;
	max-width: 840px;
	margin: 0 auto;
	column-gap: 40px;
}
.related-nav .nav-items {
	position: relative;
	width: calc(50% - 20px);
}
.related-nav .nav-items figure{
	overflow: hidden;
}
.related-nav .nav-items a:hover figure img {
	transition: 0.5s;
}
.related-nav .nav-items a:hover figure img{
	transform: scale(1.15);
}
.related-nav .nav-items .t1 {
	position: absolute;
	width: 100%;
	top: 50%;
	right: 50%;
	transform: translate(50%, -50%);
	color: #FFFFFF;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
}
.related-nav .nav-items .t2 {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 170px;
	height: 45px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	font-weight: bold;
	padding-left: 15px;
	background: url(../img/arrow1.png) #fff no-repeat right 20px center;
	background-size: 20px auto;
}
@media screen and (max-width: 900px) {
	.related {
		padding: 0 0 60px 0;
	}
	.related h2 {
		margin-bottom: 26px;
	}
	.related .related-nav {
		column-gap: 0;
		row-gap: 34px;
	}
	.related-nav .nav-items {
		width: 100%;
	}
	.related-nav .nav-items .t1 {
		font-size: 18px;
	}
}
