@charset "utf-8";

@import url('https://fonts.googleapis.com/css?family=Roboto:500i');

/* -------------------------------------------------------
contents
------------------------------------------------------- */
.contents{
	width: 100%;
	position: relative;
	background-size: 100%;
}
.sec{
	display: block;
	padding-bottom: 1px;
	margin: 10px auto 20px;
}
.sec.bgBl{
	background-color:#f5f9fc;
	padding:40px 0;
}
.sec.btm{
	padding-bottom: 50px;
}
.inner{
	margin: 0 auto;
	padding:0;
	width: 100%;
	max-width: 1200px;
	text-align: left;
	position: relative;
}
@media screen and (max-width:1200px){
	.inner {
		max-width: 96%;
	}
}
@media screen and (max-width:768px){
	.sec{
		margin-bottom: 30px;
		/* padding-bottom: 0; */
	}
	.sec.bgBl{
		background-color:#f5f9fc;
		padding:30px 0;
	}
	.sec.btm{
		padding-bottom: 30px;
	}
	.inner{
		max-width:90%;
	}
}

/* -------------------------------------------------------
  mv
------------------------------------------------------- */
.mv{
	width: 100%;
	height: 240px;
	position: relative;
	text-align: center;
	color: #fff;
	background: url(../img/equipment/mv.png) no-repeat bottom center;
	background-size: cover;
}
.mv .mvInner{
	max-width: 1200px;
	margin: auto;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content:center;
	position:relative;
	text-align: center;
}
.mv h2 {
	font-size: 300%;
	color: #fff;
	font-weight: 100;
	text-shadow:0px 0px 7px rgba(255,255,255,0.7);
}
/*readText*/
.readText{
	position: relative;
	top: -40px;
	max-width: 1200px;
	padding: 50px 80px 60px;
	margin: 0 auto 20px;
	background-color: rgba(255,255,255,0.90);
	box-shadow: 1px 1px 5px 1px rgba(0,0,0,0.2);
	text-align: center;
}
.readText h3{
	font-weight: 100;
	font-size: 200%;
	line-height: 1.7;
	color:#053597;
	margin: 10px 0 30px;
}
.readText p {
	text-align: left;
	font-size: 26px;
	margin-top: 20px;
	line-height: 1.7;
	color: #2b4b9f;
}
.readText p.textCenter {
	text-align: center;
}
.readText-bg {
	background-color: #f5faff;
}
@media screen and (max-width:1200px){
	.readText{
		max-width: 96%;
		padding: 60px;
	}
	.readText::before {
		left: 40px;
	}
	.readText::after {
		right: 40px;
	}

}
@media screen and (max-width:768px){
	.mv{
		height: 150px;
	}
	.mv h2{
		font-size:  220%;
	}
	.readText{
		top: -30px;
		max-width: 90%;
		padding: 20px 25px;
		margin: 0 auto 20px;
	}
	.readText h3{
		font-size: 160%;
		margin: 30px 10px 30px;
	}
	.readText p{
		font-size: 16px;
		margin-top: 30px;
	}
	.readText::before {
	  top: 40px;
		left: 10px;
	}
	.readText::after {
		bottom: 10px;
		right: 10px;
	}
}
@media screen and (max-width:640px){
	.mv .mvInner{
		max-width: 90%;
		width: 100%;
	}
	.mv h2{
		font-size: 170%;
		line-height: 1.2;
	}
	.readText h3{
		font-size: 130%;
	}
	.readText p{
		font-size: 92%;
	}
}


/* -------------------------------------------------------
  pagenav
------------------------------------------------------- */
.pagenav{
	width:100%;
	max-width: 1200px;
	margin: 0 auto 50px;
}
.pagenav ul{
	display: flex;
	justify-content: space-between;
}
.pagenav ul li {
	width: 23%;
}
.pagenav ul li a{
	border-radius:4px;
	border: solid 2px #4e85ff;
	text-align: center;
	color: #4e85ff;
	padding: 12px 5px 7px;
	position: relative;
	font-size: 112%;
	text-decoration: none;
	display: block;
	font-weight: bold;
}
.pagenav ul li a:hover{
	background-color: #4e85ff;
	color: #fff;
}
.pagenav ul li a:after{
	content:'\f107';
	font-family: FontAwesome;
	color:#4e85ff;
	display: block;
	line-height: 1.3;
}
.pagenav ul li a:hover:after{
	color: #fff;
}
@media screen and (max-width:768px){
	.pagenav ul{
		flex-wrap:wrap;
		padding: 0 20px;
	}
	.pagenav ul li {
		width: 48%;
		margin-bottom: 10px;
	}
	.pagenav ul li a{
		letter-spacing: -0.06em;
		padding: 8px 3px 4px;
	}
}
@media screen and (max-width: 640px){
	.pagenav ul li a{
		font-size: 78%;
	}
}


/* -------------------------------------------------------
  ttl
------------------------------------------------------- */
.secTtl{
	display: block;
	text-align: center;
	border-bottom: solid 1px #ccc;
	font-size: 200%;
	font-weight: normal;
	color: #000;
	padding-bottom: 14px;
	position: relative;
	margin-top:-10px;
	margin-bottom: 40px;
}
.secTtl span{
	text-align: center;
}
.secTtl span:after{
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 8px #fdf15a;
	bottom: -4px;
	left: 0;
	right: 0;
	margin: auto;
	width: 10%;
}

/*ttlBl*/
.ttlBlM{
	display:block;
	text-align: left;
	color:#053597;
	font-size: 150%;
	margin-bottom:20px;
}
.ttlBlLine{
	display:block;
	text-align:center;
	color:#053597;
	font-size: 150%;
	padding-bottom: 10px;
	border-bottom:solid 1px #053597;
	margin-bottom:20px;
}
.ttlBlCt{
	display:block;
	text-align: center;
	background-color:#053597;
	color:#fff;
	font-size: 190%;
	width: 30%;
	margin:10px auto 30px;
	font-weight: normal;
}


@media screen and (max-width:767px){
	.secTtl{
		font-size: 150%;
		margin-bottom: 30px;
	}
	.ttlBlM{
		font-size: 122%;
		margin-bottom:12px;
	}
}


/* -------------------------------------------------------
	col
------------------------------------------------------- */
.col{
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 50px;
}
.col > .col2{
	width: 47.5%;
}
.col > .col3{
	width: 31.6%;
}

@media screen and (max-width:767px){
	.col{
		margin-bottom: 30px;
	}
	.col > .col2{
		width: 100%;
		margin-bottom: 30px;
	}
	.col > .col2:last-child{
		margin-bottom: 0;
	}
}


/* -------------------------------------------------------
	btn
------------------------------------------------------- */
.btnBtm{
	text-align: center;
	padding-top: 40px;
}
.btnBtm a{
	display: inline-block;
	background-color: #fff;
	border: solid 1px #053597;
	color: #053597;
	text-decoration: none;
	line-height: 1;
	padding: 1.2em 8em;
	position: relative;
	font-size: 118%;
}
.btnBtm a:after{
	position: absolute;
	right: 10px;
	top: 1.2em;
	color: #053597;
	content:'\f178';
	font-family: FontAwesome;
}
.btnBtm a:hover{
	background-color: #053597;
	color: #fff;
}
.btnBtm a:hover:after{
	color: #fff;
}
@media screen and (max-width:767px){
	.btnBtm{
		padding-top: 20px;
	}
	.btnBtm a{
		display: block;
		padding: 1.2em;
		font-size: 100%;
	}

}


/* -------------------------------------------------------
	number list (fpc-products / technology)
------------------------------------------------------- */
.numList{
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 30px;
}
.numList.col2 li{
	width: 47.5%;
}
.numList.col3 li{
	width: 31.2%;
}
.numList li{
	font-size: 100%;
	padding-bottom: 8px;
	margin-bottom: 16px;
	border-bottom: solid 1px #f1f1f1;
}
.numList li{
	padding-left:2.2em;
	text-indent: -2.2em;
}
.numList li span{
	color: #054a97;
	font-size: 154%;
	font-family: 'Roboto', sans-serif;
	padding-right: 10px;
	font-style: italic;
}
.numList li.emptyCell{
	border-bottom: none;
}
@media screen and (max-width:767px){
	.numList{
		margin-bottom: 30px;
	}
	.numList li,
	.numList.col2 li,
	.numList.col3 li{
		width: 100%;
		padding-bottom: 10px;
		margin-bottom: 10px;
		font-size: 100%;
	}
	.numList li:last-child{
		margin-bottom: 0;
	}
	.numList li.emptyCell{display:none;}
}


/* -------------------------------------------------------
	img list  (fpc-products top / technology top)
------------------------------------------------------- */
.imgList{
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	/* margin-bottom: 30px; */
	padding-top:20px;
}
.imgList > li{
	width: 47.5%;
	background-color: #f8f8f8;
	border: solid 1px #eaeaea;
	display: table;
	margin-bottom: 40px;
	line-height: 1;
}
.imgList > li > a:hover{
	background-color: #fff;
	opacity: 0.8;
}
.imgList > li > a {
	display:block;
	text-decoration: none;
}
.imgList > li > a:hover img{
	opacity:0.9;
}
.imgList > li > a > div{
	display: table-cell;
	vertical-align: middle;
}
.imgList > li > a > .lImg{
	width:33%;
}
.imgList > li > a > .rTxt{
	width:67%;
	position: relative;
	font-size: 112%;
	padding: 20px;
	color: #000;
}
.imgList > li > a > .rTxt span{
	color: #FD0000;
	margin-left: 5px;
}
.imgList > li > a > .rTxt:after{
	position: absolute;
	right:10px;
	top:0;
	bottom: 0;
	height: 1em;
	margin: auto;
	color: #053597;
	content:'\f105';
	font-family: FontAwesome;
	font-size: 150%;
}

/* IEのみ */
@media all and (-ms-high-contrast: none) {
	.imgList > li > a > .rTxt:after{
		position: absolute;
		right:10px;
		top:calc(50% + 50px);
		height: 1em;
		margin: auto;
		color: #053597;
		content:'\f105';
		font-family: FontAwesome;
		font-size: 150%;
	}
}

@media screen and (max-width:767px){
	.imgList{
		padding-top: 0;
	}
	.imgList > li{
		width: 100%;
		margin-bottom:20px;
	}
	.imgList > li > a > .rTxt{
		font-size: 108%;
	}
	/* IEのみ */
	@media all and (-ms-high-contrast: none) {
		.imgList > li > a > .rTxt:after{
			position: absolute;
			right:10px;
			top:calc(50% + 20px);
			height: 1em;
			margin: auto;
			color: #053597;
			content:'\f105';
			font-family: FontAwesome;
			font-size: 150%;
		}
	}
}


/* -------------------------------------------------------
	image bg
------------------------------------------------------- */
.imgBg{
	text-align: center;
	width: 100%;
	padding: 30px;
	margin-bottom: 30px;
	position: relative;
}
.imgBg.wt{
	background-color: #fff;
}
.imgBg.gry{
	background-color: #f8f8f8;
	border:solid 1px #eaeaea;
}
.imgBg.txt{
	padding:0;
}
@media screen and (max-width:767px){
	.imgBg{
		padding: 30px 20px;
	}
}


/* -------------------------------------------------------
	imgWrap
------------------------------------------------------- */
.imgWrap img{
	margin: auto;
	display: block;
}
.imgWrap.w400 img{width:400px;}
.imgWrap.w500 img{width:500px;}
.imgWrap.w600 img{width:600px;}
.imgWrap.w700 img{width:700px;}
.imgWrap.w800 img{width:800px;}
.imgWrap.w900 img{width:900px;}
.imgWrap.w1000 img{width:1000px;}
.imgWrap.w1100 img{width:1100px;}
@media screen and (max-width:1200px){
  .imgWrap.w1100 img{
		width:100%;
	}
}
@media screen and (max-width:1000px){
  .imgWrap.w1000 img{
		width:100%;
	}
}
@media screen and (max-width:900px){
  .imgWrap.w900 img{
		width:100%;
	}
}
@media screen and (max-width:767px){
	.imgWrap.w400 img,
	.imgWrap.w500 img,
	.imgWrap.w600 img,
	.imgWrap.w700 img,
	.imgWrap.w800 img,
	.imgWrap.w900 img{
		width:100%;
	}
}



/* -------------------------------------------------------
 category footer link
------------------------------------------------------- */
.categoryLink{
	display: block;
	padding:60px 0;
	background-color:#e7f1f9;
	margin-top: -40px;/*-90px*/
}
.categoryLink h4{
	text-align:center;
	font-size: 150%;
	color:#054a97;
	margin-bottom: 50px;
}
.categoryLink ul{
	display:flex;
	justify-content: space-between;

	flex-wrap: wrap;
}
.categoryLink li{
	width: 24%;
	margin-bottom: 10px;
}
.categoryLink.fpc-products li:last-child {
  margin-right: 50.6%;
}
.categoryLink li a{
	display: block;
	position: relative;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	padding:1.7em 10px;
	height: 100%;
	color: #fff;
	align-items: center;
}
.categoryLink li.l2 a{
	padding: 1em;
}
.categoryLink li:nth-child(odd) a{
	background: #054a97;
}
.categoryLink li:nth-child(even) a{
	background: #0abadf;
}
.categoryLink li a:hover{
	background-color: #666;
}
.categoryLink li a:after{
	position: absolute;
	right:10px;
	top:0;
	bottom: 0;
	height: 1em;
	margin: auto;
	color: #fff;
	content:'\f178';
	font-weight: normal;
	font-family: FontAwesome;
	line-height: 1;
}


@media screen and (max-width:767px){
	.categoryLink{
		padding:40px 0;
		margin-top: -40px;
	}
	.categoryLink h4{
		margin-bottom:20px;
	}
	.categoryLink li{
		width: 47%;
	}
	.categoryLink li a{
		padding:1em 10px;
		font-size: 88%;
		display: flex;
		text-align: left;
		padding-right: 1.5em;
	}
	.categoryLink.fpc-products li:last-child {
		margin-right:0;
	}
}
