@charset "UTF-8";

/* -------------------------------------
index
------------------------------------- */
.blk_s {
	padding-bottom:0;
}
#mainimg .text {
	width:100%;
	padding:0;
}
#mainimg .text p {
	font-size:0;
	text-align:center;
	margin-bottom:32px;
}
#mainimg .text p span {
	font-size:35px;
	font-weight:bold;
	line-height:1.3;
	letter-spacing:0.1em;
	display:inline-block;
	padding:5px 15px 5px 15px;
	background-color:#fff;
}
#mainimg .text p.sp span {
	display:none;
}


#maincap .cap {
	font-size:20px;
	line-height:2.0;
}


main .head {
	text-align:center;
	margin-bottom:35px;
}
main .head h1 {
	font-size:35px;
	font-weight:bold;
	color:#e60000;
	line-height:1.3;
	margin-bottom:15px;
}

#service p {
	font-size:10px;
	text-align:right;
	margin-bottom:25px;
}
#service li {
	width:29.7%;
	float:left;
	margin-right:5.4%;
	margin-bottom:4.3%;
	border-radius:20px;
	background-color:#fff;
	overflow:hidden;
}
#service li:nth-child(3n) {
	margin-right:0;
}
#service li dt {
	width:100%;
	min-height:72px;
	display:table;
}
#service li .rd dt {
	background-color:#e60000;
}
#service li .bl dt {
	background-color:#003c96;
}
#service li .gr dt {
	background-color:#007f4e;
}
#service li .gr2 dt {
	background-color:#15a33b;
}
#service li dt span {
	font-size:20px;
	font-weight:bold;
	color:#fff;
	text-align:center;
	display:table-cell;
	vertical-align:middle;
	padding:7px 10px 9px 10px;
}
#service li dt span br {
	display:none;
}
#service li dd {
	line-height:1.8;
	padding:20px 15px;
}
#service li .bl dd {
	letter-spacing:-0.05em;
}
#service li dd img {
	max-width:249px;
	display:block;
	margin:0 auto 10px auto;
}
#service li .gr2 dd {
	text-align:center;
	padding:12px 15px;
}
#service li .gr2 dd img {
	margin-bottom:2px;
}


.btmcap {
	font-size:16px;
	font-weight:bold;
	text-align:center;
	line-height:2.3;
	padding:4.5% 20.3% 9.5% 20.3%;
	margin-bottom:-42px;
	/* background-image:url(../imgs/index/btmcap_bg1.png), url(../imgs/index/btmcap_bg2.png); */
	background-position:left 2.7% top, right 4.8% top;
	background-repeat:no-repeat, no-repeat;
	background-size:22.4% auto, 20.6% auto;
	position:relative;
	z-index:-1;
}


@media screen and (max-width:1040px) {
	#mainimg .text p span {
		font-size:30px;
		padding:5px 10px;
	}
	
	
	#maincap .cap {
		line-height:1.9;
	}
	
	
	main .head {
		margin-bottom:33px;
	}
	main .head h1 {
		font-size:32px;
	}
	
	
	#service li dt span {
		font-size:19px;
	}
	
	
	.btmcap {
		font-size: 14px;
		line-height:2.2;
		margin-bottom:-2.9%;
	}
}
@media screen and (max-width:980px) {
	#service li dt span br {
		display:block;
	}
	
	
	.btmcap {
		padding:4.5% 20% 9.5% 20%;
		background-position:left top, right top;
	}
}
@media screen and (max-width:800px) {
	.btmcap {
		padding:4.5% 21% 9.5% 21%;
	}
	.btmcap .spbrnone {
		display:none;
	}
}
@media screen and (max-width:768px) {
	#mainimg .text p span {
		font-size:26px;
	}
	
	
	#maincap .cap {
		font-size:19px;
		line-height:1.8;
	}
	
	
	main .head {
		margin-bottom:30px;
	}
	main .head h1 {
		font-size:28px;
	}
	
	
	#service li {
		width:calc((99.9% - 50px) / 3);
		margin-right:25px;
		margin-bottom:25px;
	}
	#service li:nth-child(3n) {
		margin-right:0;
	}
	#service li dt {
		min-height:62px;
	}
	#service li dt span {
		font-size:17px;
	}
	#service li dd {
		padding:15px;
	}
	
	
	.btmcap {
		font-size:13px;
		line-height:2.1;
		padding:4.5% 105px 60px 105px;
		background-position:left bottom, right bottom;
		background-size:100px auto, 92px auto;
	}
}
@media screen and (max-width:640px) {
	#mainimg .text p span {
		font-size:24px;
	}
	#mainimg .text p.pc span {
		display:none;
	}
	#mainimg .text p.sp span {
		width:calc(100% - 40px);
		display:block;
		margin:0 auto;
	}
	
	
	#maincap .cap {
		font-size:18px;
	}
	
	
	main .head h1 {
		font-size:26px;
	}
	main .head .cap br {
		display:none;
	}
	
	
	#service ul {
		margin-bottom:30px;
	}
	#service li {
		width:calc((99.9% - 20px) / 2);
		margin-right:20px;
		margin-bottom:20px;
	}
	#service li:nth-child(3n) {
		margin-right:20px;
	}
	#service li:nth-child(2n) {
		margin-right:0;
	}
	#service li:last-child {
		width:calc((99.9% - 0px) / 1);
		margin-right:0;
		margin-bottom:0;
	}
	#service li dt {
		min-height:60px;
	}
	#service li dt span {
		font-size:16px;
	}
	
	
	.btmcap {
		line-height:2.0;
		padding:30px 0 180px 0;
		background-position:left 20% bottom -20px, right 20% bottom -20px;
		background-size:100px auto, 92px auto;
	}
}
@media screen and (max-width:480px) {
	#mainimg .text p span {
		font-size:22px;
	}
	
	
	#maincap .cap {
		font-size:17px;
	}
	
	
	main .head h1 {
		font-size:24px;
	}
	main .head h1 br {
		display:none;
	}
	
	
	#service li {
		width:calc((99.9% - 20px) / 2);
		margin-right:20px;
		margin-bottom:20px;
	}
	#service li:nth-child(3n) {
		margin-right:20px;
	}
	#service li:nth-child(2n) {
		margin-right:0;
	}
	#service li dt {
		min-height:58px;
	}
	#service li dt span {
		font-size:15px;
		padding:8px 10px;
	}
}
@media screen and (max-width:320px) {
	
}
@media screen and (min-width:769px) {
	
}