@charset "UTF-8";

.read {
	text-align: center;
	padding-top: 30px;
	padding-bottom: 30px;
	background: #fff;
}
	.read p {
		font-size: 16px;
		font-size: 1.6rem;
	}
@media screen and (max-width: 767px) {
.read {
	padding-top: 15px;
	padding-bottom: 15px;
	text-align: left;
}
	.read p {
		font-size: 15px;
		font-size: 1.5rem;
	}
}


/* サービス
--------------------------------------------------*/
.serviceField {
	background: #fff;
	padding: 20px 0 0;
}
	.serviceField .list {
		display: flex;
		display: -ms-flexbox;
		flex-wrap: wrap;
		width: 1000px;
		margin: 0 auto;
	}
		.serviceField .list a {
			display: block;
			width: calc((100% - 90px) / 4);
			margin: 28px 30px 0 0;
			box-sizing: border-box;
			background: #e2edf8;
			color: #646464;
			-webkit-transition: 0.5s;
							transition: 0.5s;
		}
		.serviceField .list a:nth-child(4n) {
			margin: 28px 0 0;
		}
		.serviceField .list a:hover {
			background: #7FC4FD;
			color: #fff;
			text-decoration: none;
		}
			.serviceField .list a figure {
				position: relative;
				overflow: hidden;
			}
			.serviceField .list a figure:after {
				content: "";
				display: block;
				width: 100%;
				height: 100%;
				position: absolute;
				top: 0;
				left: 0;
				background: url(../image/bg_thum_hover.svg) center no-repeat rgba(0, 0, 0, .4);
				background-size: auto 40%;
				opacity: 0;
				-webkit-transition: 0.5s;
								transition: 0.5s;
			}
			.serviceField .list a:hover figure:after {
				opacity: 1;
			}
			.serviceField .list a div {
				position: relative;
				height: 50px;
			}
				.serviceField .list a div h3 {
					width: 100%;
					font-size: 18px;
					font-size: 1.8rem;
					text-align: center;
					line-height: 1.1;
					position: absolute;
					top: 50%;
					transform: translate(0, -50%);
				}
				.en_msg_service_business .serviceField .list a div h3 {
					font-size: 14px;
					font-size: 1.4rem;
				}
@media screen and (max-width: 767px) {
.serviceField {
	background: #fff;
	padding-top: 1px;
	border-top: 1px solid #b2b2b2;
}
  .serviceField .list {
		width: calc(100% - 20px);
		min-width: calc(100% - 20px);
		margin: 0 auto;
  }
		.serviceField .list a {
			width: calc((100% - 15px) / 2);
			margin: 15px 10px 0 0;
		}
		.serviceField .list a:nth-child(2n) {
			margin: 15px 0 0;
		}
			.serviceField .list a div {
				height: 38px;
			}
				.serviceField .list a div h3 {
					font-size: 14px;
					font-size: 1.4rem;
				}
}




/* モーダル
--------------------------------------------------*/
.modal {
	width: 1000px;
	max-width: 90vw;
	max-height: 85vh;
	position: fixed;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	border: 1px solid #fff;
	z-index: 9999;
	display: none;
}
.modal .wrap {
	width: 100%;
	height: 100%;
	max-height: 85vh;
	padding: 30px;
	overflow-y: scroll;
	box-sizing: border-box;
	color: #fff;
}
	.modal .wrap h1 {
		text-align: center;
		font-size: 28px;
		font-size: 2.8rem;
		position: relative;
	}
	.modal .wrap h2 {
		font-size: 23px;
		font-size: 2.3rem;
		position: relative;
	}
	.modal .wrap h3 {
		font-size: 18px;
		font-size: 1.8rem;
		position: relative;
	}
	.modal .wrap .case_list {
		background: none;
		padding: 0;
	}
		.modal .wrap .case_list h2 {
			text-align: center;
			color: #fff;
			font-size: 20px;
			font-size: 2rem;
			position: relative;
		}
.modal .btnClose {
	display: block;
	width: 34px;
	height: 34px;
	position: absolute;
	right: 20px;
	top: 5px;
	cursor: pointer;
}
	.modal .btnClose:before,
	.modal .btnClose:after {
		content: "";
		display: block;
		width: 30px;
		height: 2px;
		background: #fff;
		transform: rotate(45deg);
		position: absolute;
		right: 2px;
		top: 15px;
	}
	.modal .btnClose:after {
		transform: rotate(-45deg);
	}
@media screen and (min-width: 768px) {
	.modal .wrap .modalHead {
		width: 100%;
		display: flex;
		display: -ms-flexbox;
		justify-content: space-between;
		margin: 25px 0 30px;
	}
		.modal .wrap .modalHead figure {
			width: 440px;
			order: 2;
		}
		.modal .wrap .modalHead div {
			width: 475px;
			order: 1;
		}
	.modal .wrap .number {
		width: 100%;
		display: flex;
		display: -ms-flexbox;
		justify-content: space-between;
	}
	.modal .wrap .number li {
		width: 180px;
		padding: 5px 15px 10px;
		box-sizing: border-box;
		background: #fff;
	}
		.modal .wrap .number li span {
			display: block;
			text-align: center;
			margin-bottom: 20px;
			font-size: 33px;
			font-size: 3.3rem;
			line-height: 1.5;
			color: #1e335a;
			position: relative;
		}
		.modal .wrap .number li span:after {
			content: "";
			position: absolute;
			bottom: 0;
			left: 50%;
			transform: translate(-50%, 0);
			width: 1em;
			height: 3px;
			background: #6da5db;
		}
		.modal .wrap .number li p {
			font-size: 12px;
			font-size: 1.2rem;
			color: #646464;
		}
	.modal .wrap .modalContact {
		width: 100%;
		margin: 20px 0 35px;
		text-align: center;
	}
		.modal .wrap .case_list .list {
			justify-content: space-around;
			width: 100%;
		}
			.modal .wrap .case_list .list a {
				width: 190px;
				background: none;
			}
			.modal .wrap .case_list .list a div {
				padding: 10px 0 0;
			}
			.modal .wrap .case_list .list a div h3 {
				font-size: 13px;
				font-size: 1.3rem;
				color: #fff;
			}
			.modal .wrap .case_list .list a div time {
				display: none;
			}
			.modal .wrap .case_list .list a div ul.tagList li {
				font-size: 11px;
				font-size: 1.1rem;
			}
}
@media screen and (max-width: 767px) {
.modal {
	width: 100%;
	max-width: 100%;
	max-height: 100vh;
	border: none;
}
	.modal .wrap {
		padding: 30px 0;
		max-height: 100vh;
	}
	.modal .wrap h1 {
		font-size: 23px;
		font-size: 2.3rem;
		margin: 0 8vw;
		padding-bottom: 10px;
	}
	.modal .wrap .modalHead {
		width: calc(100% - 16vw);
		margin: 15px auto 20px;
	}
		.modal .wrap .modalHead p {
			font-size: 15px;
			font-size: 1.5rem;
			margin-top: 20px;
		}
	.modal .wrap .number {
		width: calc(100% - 16vw);
		margin: 0 8vw;
	}
	.modal .wrap .number li {
		width: 100%;
		padding: 10px 5px;
		margin-bottom: 20px;
		box-sizing: border-box;
		background: #fff;
		display: flex;
		display: -ms-flexbox;
		align-items: center;
	}
		.modal .wrap .number li span {
			width: 70px;
			display: block;
			text-align: center;
			font-size: 33px;
			font-size: 3.3rem;
			line-height: 1.5;
			color: #1e335a;
			position: relative;
		}
		.modal .wrap .number li span:after {
			content: "";
			position: absolute;
			bottom: 0;
			left: 50%;
			transform: translate(-50%, 0);
			width: 1em;
			height: 3px;
			background: #6da5db;
		}
		.modal .wrap .number li p {
			font-size: 14px;
			font-size: 1.4rem;
			color: #646464;
			width: calc(100% - 70px);
		}
	.modal .wrap .modalContact {
		width: 200px;
		margin: 20px auto 35px;
	}
		.modal .wrap .case_list h2 {
			font-size: 13px;
			font-size: 1.3rem;
		}
		.modal .wrap .case_list h2:after {
			height: 1px;
		}
			.modal .wrap .case_list .list a {
				background: none;
			}
			.modal .wrap .case_list .list a div h3 {
				color: #fff;
			}
			.modal .wrap .case_list .list a div time {
				display: none;
			}
.modal .btnClose {
	right: 5px;
	top: 5px;
}
}