@charset "UTF-8";

div.main-img-wrap {
	width: 100%;
	position: relative;
}
.main-img-wrap:after {
	content: "";
/*	width: 32.3%;*/
	height: 100%;
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	background: url(../img/common/headd-bg.png) 50% 100% no-repeat;
	background-size: 100% auto;
}
div.main-img-wrap img {
	width: 100%;
	vertical-align: bottom;
}
div.cap-wrap {
	width: 100%;
	background: #ffffff;
	position: relative;
	box-sizing: border-box;
}
.cap-wrap:before {
	content: "";
	display: block;
	padding-top: 18.3%;
}
.cap-wrap div {
/*	width: 18.1%;*/
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
/*
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
*/
}
.cap-wrap div img {
	display: block;
/*
	margin: -10% auto 14%;
	width: 23.3%;
*/
	height: auto;
}
.cap-wrap h2 {
	width: 100%;
	margin: auto;
	padding-bottom: 5%;
	border-bottom: 1px solid #0061b1;
}
.cap-wrap h2:before {
/*
	content: "";
	display: block;
	padding-top: 50%;
*/
}
.cap-wrap h2 span {
	color: #0061b1;
/*
	letter-spacing: .5rem;
	text-indent: .5rem;
*/
	display: block;
	text-align: center;
	line-height: 1;
}
.cap-wrap p {
	text-align: center;
	width: 100%;
	letter-spacing: .1rem;
	text-indent: .1rem;
}

.headd-wrap h1 {
	border-left-color: #0061b1;
	border-left-style: solid;
}
.headd-wrap div h2 {
	color: #0061b1;
}
ul.anc-box {}
.anc-box a {
	color: #ffffff;
	background: #0061b1;
	text-align: center;
	display: block;
}
.anc-box a span.no-ls {
	letter-spacing: .1em;
	text-indent: .1em;
}

div.box {
	border: 1px solid #eeefef;
	position: relative;
	margin: auto;
}
.box:before {
	content: "";
	display: block;
}
.box div {
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.box div h3 {
	color: #0098a2;
	text-align: center
}
.box div img {
	display: block;
	margin: auto;
}


/* service */
div.service-wrap {
	border-bottom: 1px solid #0061b1;
	margin-top: -5%;
	padding-top: 5%;
}


/* tech */





















/**==============================================**/
/**==============================================**/
/*
/*			SP 〜 tab
/*
/*			〜599px
/*
/**==============================================**/
/**==============================================**/
@media all and (max-width:599px){


	.main-img-wrap::after {
		width: 52.3%;
	}
	.cap-wrap div {
		width: 38.1%;
	}
	.cap-wrap div img {
		margin: -14% auto 10%;
		width: 23.3%;
	}
	.cap-wrap h2 span {
		letter-spacing: .2rem;
		text-indent: .2rem;
	}
	.headd-wrap {
		margin-bottom: 8%;
	}
	.headd-wrap h1 {
		border-left-width: 10px;
		padding-left: .5em;
		font-size: 2.2rem;
	}
	.headd-wrap div {
		width: 94%;
		margin: 2% auto;
	}
	.headd-wrap div h2 {
		font-size: 1.6rem;
		padding-bottom: 3%;
	}
	.headd-wrap div p {
		font-size: 1.4rem;
		line-height: 1.8;
	}
	.anc-box {
		margin-top: 5%;
	}
	.anc-box a {
		position: relative;
	}
	.anc-box a span {
		font-weight: bold;
		line-height: 1.4;
		display: block;
		width: 100%;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}


	.service-wrap {
		padding: 8% 0;
	}
	.service-wrap .anc-box {
		background: #0061b1;
	}
	.service-wrap .anc-box li {
		width: 33.3%;
		float: left;
		position: relative;
	}
	.service-wrap .anc-box li:nth-child(2):before,
	.service-wrap .anc-box li:nth-child(2):after {
		content: "";
		display: block;
		width: 1px;
		height: 100%;
		background: #ffffff;
		position: absolute;
		top: 0;
		z-index: 2;
	}
	.service-wrap .anc-box li:nth-child(2):before {
		left: 0;
	}
	.service-wrap .anc-box li:nth-child(2):after {
		right: 0;
	}
	.service-wrap .anc-box a {
		font-size: 1.4rem;
	}
	.service-wrap .anc-box a:before {
		content: "";
		display: block;
		padding-top: 60%;
	}
	.service-list .box:before {
		padding-top: 44%;
	}
	.service-list .box {
		width: 66%;
	}
	.service-list .box:before {
		padding-top: 40%;
	}
	.service-list > li > div p {
		font-size: 1.4rem;
		line-height: 1.8;
	}
	.service-list > li > img {
		margin-top: 3%;
	}
	.service-list > li:nth-child(-n+2) .box div h3 {
		letter-spacing: .5em;
		text-indent: .5em;
	}
	.list > li {
		width: 94%;
		margin: auto;
		padding: 5% 0;
	}
	.list > li > img {
		width: 100%;
	}
	.list > li .box {
		margin-bottom: 3%;
	}
	.list > li .box div h3 {
		letter-spacing: .1em;
		text-indent: .1em;
		line-height: 1.4;
		margin: 2% 0;
		font-size: 1.7rem;
	}



	.tech-wrap {
		padding: 8% 0;
	}



	.tech-list .box {
		width: 100%;
	}
	.tech-list .box:before {
		padding-top: 63%;
	}
	.tech-list .box > div {
		width: 86%;
	}
	.tech-list .box > div p {
		font-size: 1.4rem;
	}

	.tech-list > li:nth-child(3) .box::before {
		padding-top: 71%;
	}

	.tech-wrap .anc-box li {
		width: 48.7%;
		margin-bottom: 2.5%;
	}
	.tech-wrap .anc-box li:nth-child(odd) {
		float: left;
	}
	.tech-wrap .anc-box li:nth-child(even) {
		float: right;
	}
	.tech-wrap .anc-box a {
		font-size: 1.4rem;
	}
	.tech-wrap .anc-box a:before {
		content: "";
		display: block;
		padding-top: 44%;
	}























}









/**==============================================**/
/**==============================================**/
/*
/*			tab 〜
/*
/*			600px〜
/*
/**==============================================**/
/**==============================================**/
@media all and (min-width: 600px) {

	.main-img-wrap::after {
		width: 52.3%;
	}
	.cap-wrap div {
		width: 38.1%;
	}
	.cap-wrap div img {
		margin: -14% auto 10%;
		width: 23.3%;
	}
	.cap-wrap h2 {
		letter-spacing: .3em;
		text-indent: .3em;
	}
	.headd-wrap {
		margin-bottom: 8%;
	}
	.headd-wrap h1 {
		border-left-width: 10px;
		padding-left: .5em;
		font-size: 23px;
	}
	.headd-wrap div {
		width: 94%;
		margin: 2% auto;
	}
	.headd-wrap div h2 {
		font-size: 19px;
		padding-bottom: 2%;
	}
	.anc-box a {
		position: relative;
	}
	.anc-box a span {
		font-weight: bold;
		line-height: 1.4;
		display: block;
		width: 100%;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}

	
	.service-wrap {
		padding: 8% 0;
	}
	.service-wrap .anc-box {
		background: #0061b1;
	}
	.service-wrap .anc-box li {
		width: 33.3%;
		float: left;
		position: relative;
	}
	.service-wrap .anc-box li:nth-child(2):before,
	.service-wrap .anc-box li:nth-child(2):after {
		content: "";
		display: block;
		width: 1px;
		height: 100%;
		background: #ffffff;
		position: absolute;
		top: 0;
		z-index: 2;
	}
	.service-wrap .anc-box li:nth-child(2):before {
		left: 0;
	}
	.service-wrap .anc-box li:nth-child(2):after {
		right: 0;
	}
	.service-wrap .anc-box a:before {
		content: "";
		display: block;
		padding-top: 23%;
	}
	.service-list .box:before {
		padding-top: 44%;
	}
	.service-list .box {
		width: 47.5%;
	}
	.service-list .box:before {
		padding-top: 40%;
	}
	.service-list > li > img {
		margin-top: 3%;
	}
	.service-list > li:nth-child(-n+2) .box div h3 {
		letter-spacing: .5em;
		text-indent: .5em;
	}
	.list > li {
		width: 94%;
		margin: auto;
		padding: 5% 0;
	}
	.list > li > img {
		width: 100%;
	}
	.list > li .box {
		margin-bottom: 3%;
	}
	.list > li .box div h3 {
		letter-spacing: .1em;
		text-indent: .1em;
		line-height: 1.4;
		margin: 2% 0;
		font-size: 20px;
	}
	
	
	
	.tech-wrap {
		padding: 8% 0;
	}

	

	.tech-list .box {
		width: 71%;
	}
	.tech-list .box:before {
		padding-top: 63%;
	}
	.tech-list .box > div {
		width: 86%;
	}

	.tech-list > li:nth-child(3) .box::before {
		padding-top: 71%;
	}
	
	.tech-wrap .anc-box li {
		width: 48.7%;
		margin-bottom: 2.5%;
	}
	.tech-wrap .anc-box li:nth-child(odd) {
		float: left;
	}
	.tech-wrap .anc-box li:nth-child(even) {
		float: right;
	}
	.tech-wrap .anc-box a {
		font-size: 16px;
	}
	.tech-wrap .anc-box a:before {
		content: "";
		display: block;
		padding-top: 30.2%;
	}

	


}





/**==============================================**/
/**==============================================**/
/*
/*			sp-l 〜 tab
/*
/*			600px〜739px
/*
/**==============================================**/
/**==============================================**/
@media all and (min-width: 600px) and (max-width: 739px){

	
	
	
	
	
	
	
	
}








/**==============================================**/
/**==============================================**/
/*
/*			tab 〜　PC
/*
/*			740px〜
/*
/**==============================================**/
/**==============================================**/
@media all and (min-width: 740px) {

/*
	.pc {
		display: block;
	}
*/







}






/**==============================================**/
/**==============================================**/
/*
/*			tab 〜　PC
/*
/*			740px〜959px
/*
/**==============================================**/
/**==============================================**/
@media all and (min-width: 740px) and (max-width: 959px){

/*
	.sp.tab {
		display: block !important;
	}
	.pc {
	display: none !important;
}
	*/









}












/**==============================================**/
/**==============================================**/
/*
/*			PC
/*
/*			960px〜
/*
/**==============================================**/
/**==============================================**/
@media print, screen and (min-width:960px){

	.main-img-wrap:after {
		width: 32.3%;
	}

	.cap-wrap div {
		width: 22%;

	}
	.cap-wrap div img {
		margin: -8% auto 11.5%;
		width: 19.3%;
	}
	/* pc .cap-wrap */
	.cap-wrap h2 {
		font-size: 38px;
		}


	div.headd-wrap {}
	.headd-wrap h1 {
		float: left;
		width: 14.5%;
		border-left-width: 25px;
		height: 322px;
	}
	.headd-wrap div {
		float: left;
		width: 44%;
		margin: 0;
	}
	.headd-wrap div h2 {
		font-size: 21px;
	}
	.headd-wrap div p {
		font-size: 14px;
		padding-right: 1em;
		line-height: 2.2;
	}

	.headd-wrap ul.anc-box {
		float: right;
		width: 33%;
		margin: 0 4.1% 0 0;
		background: none;
	}
	.anc-box li:before,
	.anc-box li:after {
		content: none;
	}
	.anc-box a {
		-webkit-transition: .5s;
		-moz-transition: .5s;
		-ms-transition: .5s;
		-o-transition: .5s;
		transition: .5s;
	}
	.anc-box a:hover {
		opacity: .7;
	}

	
	
	
/*
	.anc-box a span {
		line-height: 1.4;
		display: block;
		width: 100%;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
*/



	ul.list > li:nth-child(odd) > img {
		float: left;
	}
	ul.list > li:nth-child(odd) > div{
		float: right;	
	}
	ul.list > li:nth-child(even) > img {
		float: right;
	}
	ul.list > li:nth-child(even) > div {
		float: left;
	}
	.box div h3 {
		font-size: 26px;
	}
	
	
	
	.service-wrap {
		padding: 0;
	}
	.service-wrap .headd-wrap {
		margin-bottom: 5.9%;
	}
	.service-wrap .headd-wrap h1 {
		background: url(../img/const/service-headd.svg) 50% 0 no-repeat;
		background-size: auto 100%;
	}
	.service-wrap .anc-box li {
		margin-bottom: 4.3%;
		float: none;
		width: 100%;
	}
	.service-wrap .anc-box a {
		font-size: 20px;
		letter-spacing: .5em;
		text-indent: .5em;
	}
	.service-wrap .anc-box a:before {
		padding-top: 23%;
	}
	.service-list {
		margin: 0 4.1%;
	}
	.service-list > li {
		margin-bottom: 6.7%;
		padding: 0;
	}
	.service-list > li > img {
		width: 52%;
		height: auto;
		margin-top: 3.3%;
	}
	.service-list > li > div {
		width: 44%;
	}
	.service-list > li:nth-child(-n+2) .box div h3 {
		letter-spacing: .5em;
		text-indent: .5em;
	}
	.list > li .box div h3 {
		letter-spacing: .1em;
		text-indent: .1em;
	}

	.service-list div p {
		margin-top: -8%;
		position: relative;
		z-index: 2;
		font-size: 14px;
		line-height: 2.1;
	}



	.service-list .box {
		width: 47.5%;
	}
	.service-list .box:before {
		padding-top: 100%;
	}

	.tech-list .box {
		width: 71%;
	}
	.tech-list .box:before {
		padding-top: 63%;
	}
	.tech-list .box > div {
		width: 86%;
	}







	.tech-wrap {
		padding: 6.7% 0 3.8%;
	}
	.tech-wrap .headd-wrap {
		margin-bottom: 9.4%;
	}
	.tech-wrap .headd-wrap h1 {
		background: url(../img/const/tech-headd.svg) 50% 0 no-repeat;
		background-size: auto 100%;
	}
	.tech-list > li {
		margin-bottom: 5.5%;
		padding: 0;
	}
	.tech-list > li > img {
		width: 47.6%;
		height: auto;
	}
	.tech-list > li > div {
		width: 52.4%;
		padding-top: 1.4%;
	}
	.tech-list .box img {
		margin-bottom: 2%;
	}
	.tech-list .box h3 {
		line-height: 1.6;
		margin-bottom: 6%;
	}
	.tech-list .box p {
		font-size: 14px;
		line-height: 2;
	}
	.tech-list > li:nth-child(3) .box:before {
		padding-top: 71%;
	}
	.tech-wrap .anc-box li {
		width: 48.7%;
		margin-bottom: 2.5%;
	}
	.tech-wrap .anc-box li:nth-child(odd) {
		float: left;
	}
	.tech-wrap .anc-box li:nth-child(even) {
		float: right;
	}
	.tech-wrap .anc-box a {
		font-size: 20px;
	}
	.tech-wrap .anc-box a:before {
		content: "";
		display: block;
		padding-top: 77.2%;
	}





















}




















