@charset "utf-8";
/* メインビジュアル */
/* -------------------------------------------------- */
#mv {
	width: 100%;
	background: url(../img/mv.jpg) center center no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
	position: relative;
}

#mvTxt {
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}

#mvTxtEn {
	width: 100%;
	position: relative;
	font-size: 3rem;
	color: #FFF;
	text-align: center;
	letter-spacing: 0.2em;
}

#mvTxtEn:before {
	content:"";
	width: 55px;
	height: 55px;
	margin: 0 auto 10px;
	display: block;
	text-align: center;
	background: url(../img/logo_mark.png) center 0 no-repeat;
}

#mvTxtEn:after {
	content:"";
	width: 175px;
	height: 1px;
	margin: 20px auto 30px;
	display: block;
	text-align: center;
	background: #FFF;
}

#mvTxtjp {
	padding: 0 4%;
	font-size: 1.6rem;
	text-align: center;
	color: #FFF;
	font-weight: 500;
}

/* 私たちについて */
/* -------------------------------------------------- */
#top1 {
	width: 100%;
	padding: 30px 0 0 0;
	overflow: hidden;
}

#top1:after {
	content:"";
	display: block;
	position: relative;
	width: 100%;
	padding: 30%;
	margin-top: -60px;
	background: url(../img/top_img1.png) -150px center no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
	z-index: -1;
}

#topTit1 {
	padding: 0 0 20px;
	font-size: 2rem;
	color: #0c398a;
	font-weight: bold;
}

#top1 p {
	padding: 0 0 20px;
	font-size: 1.6rem;
	padding-bottom: 30px;
}

#top1 .none {
	display: none;
}


/* サービス */
/* -------------------------------------------------- */
#top2 {
}

#top2Inner {
	background: #0c398a;
}

.tit1.service {
	padding: 0 4%;
}

#serviceList {
	width: 100%;
	padding: 30px 4% 10px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#serviceList li {
	width: 48%;
	padding: 0 1% 20px 0;
}

#serviceList li:nth-child(2n) {
	padding: 0 0 20px 1%;
}

.slImg {
	padding-bottom: 5px;
}

.slImg img {
	width: 100%;
	height: auto;
}

.slTxt {
	color: #FFF;
	text-align: center;
}

/* 運用サービス*/
/* -------------------------------------------------- */
#top3 {
	width: 100%;
	padding: 60px 0 0;
}

#projectDetail {
}

#projectList {
	padding: 0 4%;
}

.projectName {
	padding-bottom: 10px;
	font-weight: bold;
}

.projectTxt {
	padding-top: 10px;
	border-top: 1px #bfbfbf solid;
}

.projectBnr {
	margin-bottom: 20px;
}

.projectBnr img {
	width: 100%;
	height: auto;
}

.projectBnr a {
	transition: all 0.3s ease-in-out 0s;
}

.projectBnr a:hover {
	opacity: 0.8;
}

ul#projectList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
ul#projectList li a {
    transition: all 0.3s ease-in-out 0s;
}
ul#projectList li a:hover {
	opacity: 0.8;
}
ul#projectList li:nth-child(n+2) {
    width: 48%;
    margin-bottom: 20px;
}
ul#projectList li:nth-child(n+2) img {
    width: 100%;
    height: auto;
}
ul#projectList li.projectMainBnr {
    width: 100%;
}



/* 会社概要*/
/* -------------------------------------------------- */
#top4 {
	padding: 60px 0 0;
}

#aboutTable {
	width: 92%;
	margin: 0 auto;
	font-size: 1.6rem;
}

#aboutTable th {
	font-weight: bold;
	text-align: left;
	white-space: nowrap;
	display: block;
}

#aboutTable td {
	width: 100%;
	padding: 10px 0 20px;
	margin-bottom: 20px;
	border-bottom: 3px #dcdcdc solid;
	display: block;
}

#aboutTable span {
	padding-bottom: 3px;
	margin-right: 3px;
	display: inline-block;
	vertical-align: middle;
}

#aboutTable .area {
	padding: 0 10px;
	border: 1px #333 solid;
	font-size: 1.2rem;
}

/* 最新情報*/
/* -------------------------------------------------- */
#top5 {
	padding: 60px 0;
}

#top5 .inner {
	text-align: center;
}

#top5 .news {
	text-align: center;
}

#newsWrap {
	text-align: left;
}

.date {
	color: #888888;
}

.newsTitWrap {
	margin-top: 10px;
	padding: 10px 5% 10px 0;
	cursor: pointer;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.newsTitWrap.off {
	background: url(../img/icon1_off.svg) 100% center no-repeat;
}

.newsTitWrap.on {
	background: url(../img/icon1_on.svg) 100% center no-repeat;
}

.newsContent {
	padding: 20px;
	border: 1px #0c398a solid;
}


.newsContent img {
	max-width: 100%;
	height: auto;
	padding-bottom: 1em;
}

.newsContent h3 {
	padding: 5px 10px;
	background: #0f4cba;
	color: #FFF;
	font-size: 1.8rem;
	font-weight: bold;
	margin: 1em 0 10px 0;
	line-height: 1.2;
}

.newsContent h4 {
	color: #0f4cba;
	font-size: 1.8rem;
	font-weight: bold;
	margin: 1em 0 10px 0;
	line-height: 1.2;
}

.newsContent p {
	padding-bottom: 1em;
}