@charset "utf-8";
/* CSS Document */

.block01{
	position: relative;
	overflow: hidden;
}

.block01::before{
	content: '';
	display: inline-block;
	background: #008FCE;
	width:100%;
	height: 13.38rem;/*198*/
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}

.block01 .block_inner{
	margin: 5.54rem 0 0;/*82*/
	overflow: hidden;
}


.block01 .block_inner .area01{
	width: 90.07%;/*1333*/
	min-width: 1333px;
	display: flex;
	justify-content: flex-start;
}

.block01 .block_inner .area01 .left{
	width: 53.26%;/*710*/
	min-width: 710px;
	/*min-width: 710px;*/
}

.block01 .block_inner .area01 .left img{
	width: 100%;
	height: auto;
}

.block01 .block_inner .area01 .right{
	width: 37.50rem;/*555*/
	/*min-width: 555px;*/
	margin-left: 5.25%;
	position: relative;
}

.block01 .block_inner .area01 .right::before{
	content: '';
	display: inline-block;
	background: url("../image/service/bg01.png")no-repeat;
	background-size: contain;
	width: 27.03rem;/*400*/
	height: 27.03rem;
	position: absolute;
	top: 10.93%;/*55*/
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}

.block01 .block_inner .area01 .right h3{
	margin-top: 14.11%;/*71*/
	font-size: 2.70rem;/*40*/
	line-height: 1;
	letter-spacing: 0.2em;
}

.block01 .block_inner .area01 .right h3 .color01{
	color: #ED1C24;
}

.block01 .block_inner .area01 .right h3 .color02{
	color: #0071BC;
}


.block01 .block_inner .area01 .right p{
	font-size: 1.22rem;/*18*/
	line-height: 2;
	margin-top: 11.93%;/*60*/
}


.block01 .block_inner .img_list{
	width: 81.08rem;
	margin: 6.35rem auto 3.24rem;/*94 48*/
}

.block01 .block_inner .img_list ul{
	list-style: none;
	display: flex;
	justify-content: space-between;
}

.block01 .block_inner .img_list ul li{
	width: 18.31rem;/*271*/
}

.block01 .block_inner .img_list ul li img{
	width: 100%;
	height: auto;
}

/*-----------------------------------------------------------*/

.block02{
	position: relative;
	overflow: hidden;
}

.block02::before{
	content: '';
	display: inline-block;
	background: #D9E8ED;
	width: 65.54%;/*970*/
	height: 30.27rem;/*448*/
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}

.block02 .block_inner{
	margin: 6.22rem auto 3.38rem;/*92 50*/
	overflow: hidden;
}

.block02 .block_inner .area01{
	width: 76.55%;/*1133*/
	height: 36.62rem;/*542*/
	margin: 5px 5px 5px auto;
	background: #fff;
	box-shadow: -1px 0px 4px 1px rgba(153,153,153,0.35);
	position: relative;
	right: -5px;
}

.block02 .block_inner .area01 .img{
	width: 43.38vw;/*642*/
	height: 32.23rem;/*477*/
	overflow: hidden;
	position: absolute;
	top: 50%;
	left: -18.78vw;/*-278*/
	transform: translateY(-50%);
}

.block02 .block_inner .area01 .img img{
	width: 100%;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.block02 .block_inner .area01 .a_inner{
	width: 34.12rem;/*505*/
	margin-left: 29.46vw;/*436*/
	padding-top: 3.38rem;/*50*/
}

.block02 .block_inner .area01 .a_inner h3{
	padding-left: 4.86rem;/*72*/
	font-size: 2.03rem;/*30*/
	line-height: 1;
	letter-spacing: 0.1em;
	color: #0071BC;
}

.block02 .block_inner .area01 .a_inner h3 span{
	display: block;
	font-size: 2.50rem;/*37*/
	line-height: 1.35;
	padding-bottom: 1.22rem;/*18*/
	margin-bottom: 2.43rem;/*36*/
	position: relative;
}


.block02 .block_inner .area01 .a_inner h3 span::before{
	content: '';
	display: inline-block;
	background: #0071BC;
	width: 34.12rem;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: -4.86rem;/*72*/
}

.block02 .block_inner .area01 .a_inner h3 span::after{
	content: '';
	display: inline-block;
	background: url("../image/service/ico01.png") no-repeat;
	background-size: contain;
	width: 3.65rem;/*54*/
	height: 4.93rem;/*73*/
	position: absolute;
	top: 1.01rem;/*15*/
	left: -5.07rem;/*-75*/
}


.block02 .block_inner .area01 .a_inner p{
	margin: 3.18rem 0 0 4.86rem;/*47 72*/
	font-size: 1.22rem;/*18*/
	letter-spacing: 0.1em;
	line-height: 2;
	color: #4D4D4D;
}

.block02 .block_inner .area01 .a_inner .btn01{
	width: 21.69rem;/*321*/
	margin: 3.38rem 0 0 4.86rem;/*50 72*/
}

.block02 .block_inner .area01 .a_inner .btn01 a{
	display: block;
	width: 100%;
	line-height: 4.80rem;/*71*/
	background: url("../image/top/btn_ico03.png")no-repeat #0071BC right 1.69rem center;
	background-size: 1.89rem auto;/*28*/
	font-size: 1.49rem;/*22*/
	text-align: center;
	color: #fff;
	position: relative;
	overflow: hidden;
}

.block02 .block_inner .area01 .a_inner .btn01 a:hover{
	opacity: 1;
}

/*キラッと光る*/
.block02 .block_inner .area01 .a_inner .btn01 a::before {
  content: '';
    /*絶対配置でキラッと光るの位置を決める*/
  position: absolute;
  top: 0;
  left: -75%;
    /*キラッと光る形状*/
    width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
  transform: skewX(-25deg);
}

/*hoverした際の移動のアニメーション*/
.block02 .block_inner .area01 .a_inner .btn01 a:hover::before {
  animation: shine 0.7s;
}

@keyframes shine {
  100% {
    left: 125%;
  }
}

/*-----------------------------------------------------------*/

.block03{
	position: relative;
	overflow: hidden;
}

.block03::before{
	content: '';
	display: inline-block;
	background: #D9E8ED;
	width: 60.54%;/*896*/
	height: 30.27rem;/*448*/
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: -1;
}

.block03 .block_inner{
	margin: 4.19rem auto 3.38rem;/*62 50*/
	overflow: hidden;
}

.block03 .block_inner .area01{
	width: 75.61%;/*1119*/
	height: 36.62rem;/*542*/
	margin: 5px auto 5px 5px;
	background: #fff;
	box-shadow: -1px 0px 4px 1px rgba(153,153,153,0.35);
	position: relative;
	left: -5px;
}

.block03 .block_inner .area01 .img{
	width: 43.38vw;/*642*/
	height: 32.23rem;/*477*/
	overflow: hidden;
	position: absolute;
	top: 50%;
	right: -19.73rem;/*-292*/
	transform: translateY(-50%);
}

.block03 .block_inner .area01 .img img{
	width: 100%;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.block03 .block_inner .area01 .a_inner{
	width: 34.12rem;/*505*/
	margin-left: 13.24vw;/*196*/
	padding-top: 3.38rem;/*50*/
}

.block03 .block_inner .area01 .a_inner h3{
	padding-left: 5.41rem;/*80*/
	font-size: 2.03rem;/*30*/
	line-height: 1;
	letter-spacing: 0.1em;
	color: #009245;
}

.block03 .block_inner .area01 .a_inner h3 span{
	display: block;
	font-size: 2.50rem;/*37*/
	line-height: 1.35;
	padding-bottom: 1.22rem;/*18*/
	margin-bottom: 2.43rem;/*36*/
	position: relative;
}


.block03 .block_inner .area01 .a_inner h3 span::before{
	content: '';
	display: inline-block;
	background: #009245;
	width: 34.12rem;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: -5.41rem;/*80*/
}

.block03 .block_inner .area01 .a_inner h3 span::after{
	content: '';
	display: inline-block;
	background: url("../image/service/ico02.png") no-repeat;
	background-size: contain;
	width: 4.05rem;/*60*/
	height: 4.46rem;/*66*/
	position: absolute;
	top: 1.01rem;/*15*/
	left: -5.07rem;/*-75*/
}


.block03 .block_inner .area01 .a_inner p{
	margin: 3.18rem 0 0 4.86rem;/*47 72*/
	font-size: 1.22rem;/*18*/
	letter-spacing: 0.1em;
	line-height: 2;
	color: #4D4D4D;
}

.block03 .block_inner .area01 .a_inner .btn01{
	width: 21.69rem;/*321*/
	margin: 3.38rem 0 0 5.41rem;/*50 80*/
}

.block03 .block_inner .area01 .a_inner .btn01 a{
	display: block;
	width: 100%;
	line-height: 4.80rem;/*71*/
	background: url("../image/top/btn_ico03.png")no-repeat #009245 right 1.69rem center;
	background-size: 1.89rem auto;/*28*/
	font-size: 1.49rem;/*22*/
	text-align: center;
	color: #fff;
	position: relative;
	overflow: hidden;
}

.block03 .block_inner .area01 .a_inner .btn01 a:hover{
	opacity: 1;
}

/*キラッと光る*/
.block03 .block_inner .area01 .a_inner .btn01 a::before {
  content: '';
    /*絶対配置でキラッと光るの位置を決める*/
  position: absolute;
  top: 0;
  left: -75%;
    /*キラッと光る形状*/
    width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
  transform: skewX(-25deg);
}

/*hoverした際の移動のアニメーション*/
.block03 .block_inner .area01 .a_inner .btn01 a:hover::before {
  animation: shine 0.7s;
}

@keyframes shine {
  100% {
    left: 125%;
  }
}

/*-----------------------------------------------------------*/

.block04{
	overflow: hidden;
}

.block04 .block_inner{
	width: 74.32rem;/*1100*/
	margin: 5.81rem auto 5.07rem;/*86 75*/
	overflow: hidden;
}

.block04 .block_inner h3{
	text-align: center;
	font-size: 1.69rem;/*25*/
	line-height: 1;
	letter-spacing: 0.1em;
	color: #008FCE;
	padding-bottom: 1.49rem;/*22*/
	border-bottom: 0.20rem solid #CCCCCC;/*3*/
}

.block04 .block_inner ul{
	list-style: none;
	width: 67.57rem;/*1000*/
	margin: 2.09rem auto 0;/*31*/
}

.block04 .block_inner ul li{
	padding-left: 1.35rem;/*20*/
	margin-bottom: 0.68rem;/*10*/
	font-size: 1.15rem;/*17*/
	letter-spacing: 0.05em;
	position: relative;
}

.block04 .block_inner ul li::before{
	content: '●';
	display: inline-block;
	font-size: 1.15rem;/*17*/
	color: #008FCE;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/


































