@charset "UTF-8";
/*
 * top_layout.css
 *
 */

/* !Loading
---------------------------------------------------------- */
#loading {
  width: 100vw;
  height: 100vh;
  transition: all 1.8s 0.6s;
  background-color: #FFF;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
}

.loaded {
  opacity: 0;
  visibility: hidden;
}

/* !mainvisual
---------------------------------------------------------- */
.main {
	width: 100%;
	height: 100vh;
	position: relative;
	background: url("../../img/main_img.jpg") 50% 50% no-repeat;
	background-size: cover;
	z-index:-99;
	overflow: hidden;
}
	.main div.bgBtm {
		position: absolute;
		width:100%;
		left:0;
		bottom:-10px;
		z-index:6;
	}
	.main div.copy {
		position: absolute;
		width:700px;
		top:35%;
		left:50%;
		margin-left: -350px;
		z-index:5;
	}
		.main div.copy h2 {
			font-family: "Shippori Mincho", serif;
			font-size:90px;
			font-weight:600;
			color: #22282C;
			text-align: right;
			line-height:1.5;
			letter-spacing: 0.1em;
		}
		.main div.copy h2 span.text {
			display: inline-block;
			opacity:0;
			padding:0;
			margin: 0;
			animation: text-animation 0.5s forwards;
		}
		.main div.copy h2 span:nth-child(1) {
			animation-delay: 2.00s;
		}
		.main div.copy h2 span:nth-child(2) {
			animation-delay: 2.06s;
		}
		.main div.copy h2 span:nth-child(3) {
			animation-delay: 2.12s;
		}
		.main div.copy h2 span:nth-child(4) {
			animation-delay: 2.18s;
		}
		.main div.copy h2 span:nth-child(5) {
			animation-delay: 2.24s;
		}
		.main div.copy h2 span:nth-child(6) {
			animation-delay: 2.30s;
		}
		.main div.copy h2 span:nth-child(7) {
			animation-delay: 2.36s;
		}
		.main div.copy h2 span:nth-child(8) {
			animation-delay: 2.42s;
		}
		.main div.copy h2 span:nth-child(9) {
			animation-delay: 2.48s;
		}
		.main div.copy h2 span:nth-child(10) {
			animation-delay: 2.54s;
		}
		.main div.copy h2 span:nth-child(11) {
			animation-delay: 2.6s;
		}
		.main div.copy h2 span:nth-child(12) {
			animation-delay: 2.66s;
		}
		.main div.copy h2 span:nth-child(13) {
			animation-delay: 2.72s;
		}
		.main div.copy h2 span:nth-child(14) {
			animation-delay: 2.78s;
		}
		.main div.copy h2 span:nth-child(15) {
			animation-delay: 2.84s;
		}

@keyframes text-animation {
    0% {
		opacity:0;
        transform: translateY(50px);
    }
    100% {
		opacity:1;
        transform: translateY(0);
    }
}
		
.main div.scroll {
	position:absolute;
	width:70px;
	height:110px;
	bottom:10px;
	left:3%;
	z-index:4;
	animation: scroll-animation 4s 1 ease ;
}
	.main div.scroll p {
		font-family: "Shippori Mincho", serif;
		font-size:12px;
		font-weight: 700;
		text-align: center;
		color: #007EC0;
		line-height: 1.5;
		letter-spacing: 0.06em;
	}
@keyframes scroll-animation {
    0% {
		opacity:0;
    }
	70% {
		opacity:0;
    }
	100% {
		opacity:1;
    }
}
#mouse,
#mouse:before {
    position: absolute;
    left: 0;
}
#mouse {
    bottom: 0;
    width: 1px;
    height: 80px;
	background:#007EC0;
	left:35px;
}
#mouse:before {
    content: '';
    top: 0;
    width: 7px;
    height: 7px;
    background: #007EC0;
    margin-left: -3px;
    border-radius: 50%;
    -webkit-animation: scroll 1.2s infinite;
    -moz-animation: scroll 1.2s infinite;
	animation: scroll 1.2s infinite;
}
@keyframes scroll {
    0% {
        opacity:1;
    }
    100% {
        opacity:1;
        transform: translateY(80px);
    }
}
@-webkit-keyframes scroll {
    0% {
        opacity:1;
    }
    100% {
        opacity:1;
        transform: translateY(80px);
    }
}
@-moz-keyframes scroll {
    0% {
        opacity:1;
    }
    100% {
        opacity:1;
        transform: translateY(80px);
    }
}

@media screen and (max-width:1039px){
.main {
	height: 750px;
}
	.main div.copy {
		position: absolute;
		width:680px;
		top:30%;
		left:50%;
		margin-left: -340px;
		z-index:5;
	}
		.main div.copy h2 {
			font-size:80px;
		}
	.main div.scroll p {
		color: #FFF;
	}
}

@media screen and (max-width:767px){
.main {
	height: 500px;
}
	.main div.copy {
		position: absolute;
		width:320px;
		top:40%;
		left:50%;
		margin-left: -160px;
		z-index:5;
	}
		.main div.copy h2 {
			font-size:38px;
		}
	
.main div.scroll {
	width:50px;
	height:85px;
	bottom:5px;
	left:3%;
}
	.main div.scroll p {
		font-size:10px;
	}
	
@keyframes text-animation {
    0% {
		opacity:0;
        transform: translateY(30px);
    }
    100% {
		opacity:1;
        transform: translateY(0);
    }
}

#mouse {
    height: 60px;
	left:25px;
}

}

@media screen and (max-width:360px){
.main div.scroll {
	display: none;
}
}

/* !contents
---------------------------------------------------------- */
#contents {
	width:100%;
}

/* !アニメーション
---------------------------------------------------------- */

.fadeIn_up {
  opacity: 0;
  transform: translate(0, 60px);
  transition: .6s .4s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_left {
  opacity: 0;
  transform: translate(-100px, 0);
  transition: 1.2s .4s;
}
.fadeIn_left.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

@media screen and (max-width:767px){

}

/* !Mission
---------------------------------------------------------- */
.topCompany {
	width:100%;
	padding:90px 50px 80px 50px;
	position: relative;
	overflow: hidden;
}
	.topCompany img {
		position: absolute;
		display: block;
		width:25%;
		max-width: 500px;
		right: -3%;
		bottom:1%;
		z-index: 0;
		opacity:.08;
	}
	.topCompany div.inner {
		width:100%;
		max-width:1240px;
		margin:0 auto ;
		position: relative;
	}
			.topCompany div.inner h2 {
				text-align: center;
				margin-bottom: 25px;
			}
				.topCompany div.inner h2 span {
					position: relative;
					display: inline-block;
					font-family: "Shippori Mincho", serif;
					font-size:18px;
					font-weight: 600;
					line-height: 1.4;
					color: #FFF;
					letter-spacing: 0.06em;
					padding:0.3em 0.6em;
					background: #007EC0;
					margin-left: 10px;
				}
					.topCompany div.inner h2 span:before {
						position: absolute;
						content:"";
						width:7px;
						height: 100%;
						background: #FDD000;
						top:0;
						left:-10px;
					}
			.topCompany div.inner h3 {
				font-family: "Shippori Mincho", serif;
				font-size:44px;
				font-weight: 600;
				line-height: 1.6;
				color: #004E8A;
				text-align: center;
				margin-bottom: 50px;
			}
				.topCompany div.inner h3 span {
					font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
					font-feature-settings: "palt";
					font-weight: 500;
				}
			.topCompany div.inner p.read {
				font-size:18px;
				text-align: center;
				margin-bottom: 50px;
			}
			.topCompany div.inner a.btn {
				display:block;
				position: relative;
				width:180px;
				height:70px;
				line-height:68px;
				color:#22282C;
				transition:.4s;
				margin: 0 auto;
				overflow:hidden;
				z-index:1;
			}
				.topCompany div.inner a.btn div {
					position:relative;
					font-family: "Shippori Mincho", serif;
					font-size:20px;
					font-weight:600;
					color:#22282C;
					z-index:2;
					transition:0.4s;
				}
					.topCompany div.inner a.btn div span {
						display: block;
						position: absolute;
						content:"";
						width:30px;
						height: 30px;
						background: #007EC0;
						border-radius: 50%;
						top:20px;
						right:5px;
						transition: .3s;
					}
						.topCompany div.inner a.btn div span i {
							position: absolute;
							font-size:11px;
							color: #FFF;
							text-align: center;
							transform: rotate(-45deg);
							top:10px;
							left:10px;
							transition: .3s;
						}
						.topCompany div.inner a.btn:hover div span {
							display: block;
							position: absolute;
							content:"";
							width:40px;
							height: 40px;
							border-radius: 50%;
							top:15px;
							right:0;
						}
							.topCompany div.inner a.btn:hover div span i {
								position: absolute;
								font-size:11px;
								text-align: center;
								top:15px;
								left:15px;
							}
				.topCompany div.inner a.btn::after {
					position: absolute;
					bottom: 0;
					left: 0;
					width: 0;
					height: 1px;
					background: #007EC0;
					content: '';
					opacity: 1;
					-webkit-transition: width 0.3s, opacity 0.3s, -webkit-transform 0.3s;
					-moz-transition: width 0.3s, opacity 0.3s, -moz-transform 0.3s;
					transition: width 0.3s, opacity 0.3s, -moz-transform 0.3s;
					-webkit-transform: translateX(0);
					-moz-transform: translateX(0);
					transform: translateX(0);
					z-index:0;
				}
					.topCompany div.inner a.btn:hover::after {
						height: 1px;
						width:100%;
						opacity: 1;
						-webkit-transform: translateX(0px);
						-moz-transform: translateX(0px);
						transform: translateX(0px);
					}

@media screen and (max-width:1039px){
.topCompany {
	padding:80px 30px 70px 30px;
}
			.topCompany div.inner h2 {
				margin-bottom: 20px;
			}
				.topCompany div.inner h2 span {
					font-size:16px;
				}
			.topCompany div.inner h3 {
				font-size:36px;
				margin-bottom: 40px;
			}
			.topCompany div.inner p.read {
				font-size:16px;
				margin-bottom: 40px;
			}
			.topCompany div.inner a.btn {
				width:160px;
				height:60px;
				line-height:58px;
			}
				.topCompany div.inner a.btn div {
					font-size:18px;
				}
					.topCompany div.inner a.btn:hover div {
						color:#22282C;
					}
					.topCompany div.inner a.btn div span {
						top:15px;
						right:15px;
					}
						.topCompany div.inner a.btn:hover div span {
							width:30px;
							height: 30px;
							background: #007EC0;
							top:15px;
							right:15px;
						}
							.topCompany div.inner a.btn:hover div span i {
								color: #FFF;
								top:10px;
								left:10px;
							}
				.topCompany div.inner a.btn::after {
					display: none;
				}
}
	
@media screen and (max-width:767px){
.topCompany {
	padding:60px 25px 50px 25px;
}
			.topCompany div.inner h2 {
				margin-bottom: 20px;
			}
				.topCompany div.inner h2 span {
					font-size:12px;
					margin-left: 7px;
				}
					.topCompany div.inner h2 span:before {
						width:4px;
						left:-7px;
					}
			.topCompany div.inner h3 {
				font-size:20px;
				line-height: 1.8;
				text-align: left;
				margin-bottom: 35px;
			}
				.topCompany div.inner h3 br {
					display: none;
				}
			.topCompany div.inner p.read {
				font-size:14px;
				text-align: left;
				margin-bottom: 30px;
			}
				.topCompany div.inner p.read br {
					display: none;
				}
			.topCompany div.inner a.btn {
				width:140px;
				height:60px;
				line-height:58px;
			}
				.topCompany div.inner a.btn div {
					font-size:16px;
				}
					.topCompany div.inner a.btn:hover div {
						color:#22282C;
					}
					.topCompany div.inner a.btn div span {
						top:15px;
						right:15px;
					}
						.topCompany div.inner a.btn:hover div span {
							width:30px;
							height: 30px;
							top:15px;
							right:15px;
						}
							.topCompany div.inner a.btn:hover div span i {
								top:10px;
								left:10px;
							}
				.topCompany div.inner a.btn::after {
					display: none;
				}
}

@media screen and (max-width:360px){

}

/* !事業案内
---------------------------------------------------------- */
.topServiceWrap {
	width:100%;
	position: relative;
}
.topServiceWrap div.bgTop {
	display: block;
	width:100%;
	line-height: 1;
	margin-bottom: -2px;
}
.topServiceWrap div.bgBtm {
	display: block;
	width:100%;
	line-height: 1;
}
.topService {
	width:100%;
	background: #EFF7FC;
	padding:60px 50px 60px 50px;
}
	.topService p.enTit {
		margin-bottom: 20px;
		margin-left: 5%;
	}
		.topService p.enTit span {
			position: relative;
			display: inline-block;
			font-family: "Shippori Mincho", serif;
			font-size:18px;
			font-weight: 600;
			line-height: 1.4;
			color: #FFF;
			letter-spacing: 0.06em;
			padding:0.3em 0.6em;
			background: #007EC0;
			margin-left: 10px;
		}
			.topService p.enTit span:before {
				position: absolute;
				content:"";
				width:7px;
				height: 100%;
				background: #FDD000;
				top:0;
				left:-10px;
			}
	.topService h2 {
		font-family: "Shippori Mincho", serif;
		font-size:44px;
		font-weight: 600;
		line-height: 1.4;
		color: #004E8A;
		margin-left: 5%;
		margin-bottom: 50px;
	}
	.topService div.service01 {
		width:100%;
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
		padding-left: 5%;
		margin-bottom: 90px;
	}
		.topService div.service01 img {
			position: relative;
			display: block;
			width:54%;
			height: 420px;
			object-fit: cover;
			border-radius: 4px 0 0 4px;
			margin-right: -50px;
		}
		.topService div.service01 div.left {
			width:40%;
		}
			.topService div.service01 div.left p.subTit {
				font-family: "Shippori Mincho", serif;
				font-size:16px;
				font-weight: 600;
				color: #007EC0;
				letter-spacing: 0.04em;
				position: relative;
				padding-left:16px;
				margin-top: 20px;
				margin-bottom: 5px;
			}
				.topService div.service01 div.left p.subTit:before {
					position: absolute;
					content:"";
					width:5px;
					height: 5px;
					background: #FDD000;
					border-radius: 50%;
					top:47%;
					left:0;
				}
			.topService div.service01 div.left h3 {
				font-family: "Shippori Mincho", serif;
				font-size:32px;
				font-weight: 600;
				line-height: 1.6;
				margin-bottom: 40px;
			}
			.topService div.service01 div.left p.read {
				margin-bottom: 50px;
			}
			.topService div.service01 div.left a.btn {
				display:block;
				position: relative;
				width:220px;
				height:70px;
				line-height:68px;
				color:#22282C;
				transition:.4s;
				overflow:hidden;
				z-index:1;
			}
				.topService div.service01 div.left a.btn div {
					position:relative;
					font-family: "Shippori Mincho", serif;
					font-size:18px;
					font-weight:600;
					color:#22282C;
					z-index:2;
					transition:0.4s;
				}
					.topService div.service01 div.left a.btn div span {
						display: block;
						position: absolute;
						content:"";
						width:30px;
						height: 30px;
						background: #007EC0;
						border-radius: 50%;
						top:20px;
						right:5px;
						transition: .3s;
					}
						.topService div.service01 div.left a.btn div span i {
							position: absolute;
							font-size:11px;
							color: #FFF;
							text-align: center;
							transform: rotate(-45deg);
							top:10px;
							left:10px;
							transition: .3s;
						}
						.topService div.service01 div.left a.btn:hover div span {
							display: block;
							position: absolute;
							content:"";
							width:40px;
							height: 40px;
							border-radius: 50%;
							top:15px;
							right:0;
						}
							.topService div.service01 div.left a.btn:hover div span i {
								position: absolute;
								font-size:11px;
								text-align: center;
								top:15px;
								left:15px;
							}
				.topService div.service01 div.left a.btn::after {
					position: absolute;
					bottom: 0;
					left: 0;
					width: 0;
					height: 1px;
					background: #007EC0;
					content: '';
					opacity: 1;
					-webkit-transition: width 0.3s, opacity 0.3s, -webkit-transform 0.3s;
					-moz-transition: width 0.3s, opacity 0.3s, -moz-transform 0.3s;
					transition: width 0.3s, opacity 0.3s, -moz-transform 0.3s;
					-webkit-transform: translateX(0);
					-moz-transform: translateX(0);
					transform: translateX(0);
					z-index:0;
				}
					.topService div.service01 div.left a.btn:hover::after {
						height: 1px;
						width:100%;
						opacity: 1;
						-webkit-transform: translateX(0px);
						-moz-transform: translateX(0px);
						transform: translateX(0px);
					}
	.topService div.service02 {
		width:100%;
		display: flex;
		justify-content: space-between;
		padding-right: 5%;
	}
		.topService div.service02 img {
			position: relative;
			display: block;
			width:54%;
			height: 420px;
			object-fit: cover;
			border-radius: 0 4px 4px 0;
			margin-left:-50px;
		}
		.topService div.service02 div.right {
			width:40%;
		}
			.topService div.service02 div.right p.subTit {
				font-family: "Shippori Mincho", serif;
				font-size:16px;
				font-weight: 600;
				color: #007EC0;
				letter-spacing: 0.04em;
				position: relative;
				padding-left:16px;
				margin-top: 20px;
				margin-bottom: 5px;
			}
				.topService div.service02 div.right p.subTit:before {
					position: absolute;
					content:"";
					width:5px;
					height: 5px;
					background: #FDD000;
					border-radius: 50%;
					top:47%;
					left:0;
				}
			.topService div.service02 div.right h3 {
				font-family: "Shippori Mincho", serif;
				font-size:32px;
				font-weight: 600;
				line-height: 1.6;
				margin-bottom: 40px;
			}
			.topService div.service02 div.right p.read {
				margin-bottom: 50px;
			}
			.topService div.service02 div.right a.btn {
				display:block;
				position: relative;
				width:272px;
				height:70px;
				line-height:68px;
				color:#22282C;
				transition:.4s;
				overflow:hidden;
				z-index:1;
			}
				.topService div.service02 div.right a.btn div {
					position:relative;
					font-family: "Shippori Mincho", serif;
					font-size:18px;
					font-weight:600;
					color:#22282C;
					z-index:2;
					transition:0.4s;
				}
					.topService div.service02 div.right a.btn div span {
						display: block;
						position: absolute;
						content:"";
						width:30px;
						height: 30px;
						background: #007EC0;
						border-radius: 50%;
						top:20px;
						right:5px;
						transition: .3s;
					}
						.topService div.service02 div.right a.btn div span i {
							position: absolute;
							font-size:11px;
							color: #FFF;
							text-align: center;
							transform: rotate(-45deg);
							top:10px;
							left:10px;
							transition: .3s;
						}
						.topService div.service02 div.right a.btn:hover div span {
							display: block;
							position: absolute;
							content:"";
							width:40px;
							height: 40px;
							border-radius: 50%;
							top:15px;
							right:0;
						}
							.topService div.service02 div.right a.btn:hover div span i {
								position: absolute;
								font-size:11px;
								text-align: center;
								top:15px;
								left:15px;
							}
				.topService div.service02 div.right a.btn::after {
					position: absolute;
					bottom: 0;
					left: 0;
					width: 0;
					height: 1px;
					background: #007EC0;
					content: '';
					opacity: 1;
					-webkit-transition: width 0.3s, opacity 0.3s, -webkit-transform 0.3s;
					-moz-transition: width 0.3s, opacity 0.3s, -moz-transform 0.3s;
					transition: width 0.3s, opacity 0.3s, -moz-transform 0.3s;
					-webkit-transform: translateX(0);
					-moz-transform: translateX(0);
					transform: translateX(0);
					z-index:0;
				}
					.topService div.service02 div.right a.btn:hover::after {
						height: 1px;
						width:100%;
						opacity: 1;
						-webkit-transform: translateX(0px);
						-moz-transform: translateX(0px);
						transform: translateX(0px);
					}

@media screen and (max-width:1279px){
	.topService p.enTit {
		margin-left: 0;
	}
	.topService h2 {
		margin-left: 0;
	}
	.topService div.service01 {
		padding-left: 0;
	}
	.topService div.service02 {
		padding-right: 0;
	}
}

@media screen and (max-width:1039px){
.topService {
	padding:40px 30px 40px 30px;
}
		.topService p.enTit {
			margin-bottom: 15px;
			margin-left: 0;
		}
			.topService p.enTit span {
				font-size:16px;
			}
		.topService h2 {
			font-size:38px;
			margin-left: 0;
			margin-bottom: 40px;
		}
	.topService div.service01 {
		margin-bottom: 70px;
	}
		.topService div.service01 img {
			width:55%;
			height: 320px;
			margin-right:-30px;
		}
		.topService div.service01 div.left {
			width:42%;
		}
			.topService div.service01 div.left p.subTit {
				font-size:15px;
				margin-top: 5px;
				margin-bottom: 3px;
			}
			.topService div.service01 div.left h3 {
				font-size:27px;
				margin-bottom: 30px;
			}
			.topService div.service01 div.left p.read {
				margin-bottom: 30px;
			}
			.topService div.service01 div.left a.btn {
				width:210px;
			}
				.topService div.service01 div.left a.btn div {
					font-size:18px;
				}
					.topService div.service01 div.left a.btn div span {
						right:0;
					}
						.topService div.service01 div.left a.btn:hover div span {
							width:30px;
							height: 30px;
							top:20px;
							right:0;
						}
							.topService div.service01 div.left a.btn:hover div span i {
								top:10px;
								left:10px;
							}
				.topService div.service01 div.left a.btn::after {
					display: none;
				}
		.topService div.service02 img {
			width:55%;
			height: 320px;
			margin-left:-30px;
		}
		.topService div.service02 div.right {
			width:42%;
		}
			.topService div.service02 div.right p.subTit {
				font-size:15px;
				margin-top: 5px;
				margin-bottom: 3px;
			}
			.topService div.service02 div.right h3 {
				font-size:27px;
				margin-bottom: 30px;
			}
			.topService div.service02 div.right p.read {
				margin-bottom: 30px;
			}
			.topService div.service02 div.right a.btn {
				width:262px;
			}
				.topService div.service02 div.right a.btn div {
					font-size:18px;
				}
					.topService div.service02 div.right a.btn div span {
						right:0;
					}
						.topService div.service02 div.right a.btn:hover div span {
							width:30px;
							height: 30px;
							top:20px;
							right:0;
						}
							.topService div.service02 div.right a.btn:hover div span i {
								top:10px;
								left:10px;
							}
				.topService div.service02 div.right a.btn::after {
					display: none;
				}
}
	
@media screen and (max-width:767px){
.topService {
	padding:50px 25px 50px 25px;
}
	.topService p.enTit {
		margin-bottom: 15px;
	}
		.topService p.enTit span {
			font-size:12px;
			margin-left: 7px;
		}
			.topService p.enTit span:before {
				width:4px;
				left:-7px;
			}
	.topService h2 {
		font-size:28px;
		margin-bottom: 40px;
	}
	.topService div.service01 {
		flex-wrap: wrap;
		margin-bottom: 50px;
	}
		.topService div.service01 img {
			width:100%;
			height: 220px;
			border-radius: 4px;
			margin-right:0;
			margin-bottom: 30px;
		}
		.topService div.service01 div.left {
			width:100%;
		}
			.topService div.service01 div.left p.subTit {
				font-size:14px;
				padding-left:14px;
				margin-top: 0;
			}
				.topService div.service01 div.left p.subTit:before {
					width:5px;
					height: 5px;
					top:48%;
				}
			.topService div.service01 div.left h3 {
				font-size:22px;
				margin-bottom: 30px;
			}
			.topService div.service01 div.left p.read {
				margin-bottom: 20px;
			}
			.topService div.service01 div.left a.btn {
				width:190px;
				height:60px;
				line-height:60px;
			}
				.topService div.service01 div.left a.btn div {
					font-size:16px;
				}
					.topService div.service01 div.left a.btn div span {
						top:15px;
					}
						.topService div.service01 div.left a.btn:hover div span {
							top:15px;
						}
	.topService div.service02 {
		flex-wrap: wrap;
	}
		.topService div.service02 img {
			width:100%;
			height: 220px;
			border-radius: 4px;
			margin-left:0;
			margin-bottom: 30px;
		}
		.topService div.service02 div.right {
			width:100%;
		}
			.topService div.service02 div.right p.subTit {
				font-size:14px;
				padding-left:14px;
				margin-top: 0;
			}
				.topService div.service02 div.right p.subTit:before {
					width:5px;
					height: 5px;
					top:48%;
				}
			.topService div.service02 div.right h3 {
				font-size:22px;
				margin-bottom: 30px;
			}
			.topService div.service02 div.right p.read {
				margin-bottom: 20px;
			}
			.topService div.service02 div.right a.btn {
				width:240px;
				height:60px;
				line-height:60px;
			}
				.topService div.service02 div.right a.btn div {
					font-size:16px;
				}
					.topService div.service02 div.right a.btn div span {
						top:15px;
					}
						.topService div.service02 div.right a.btn:hover div span {
							top:15px;
						}
}

/* !お知らせ
---------------------------------------------------------- */
.topNews {
	width:100%;
	padding:80px 50px 0 50px;
}
	.topNews div.inner {
		width:100%;
		max-width:1100px;
		margin:0 auto;
		display:flex;
		flex-wrap:wrap;
		justify-content: space-between;
	}
		.topNews div.inner div.left {
			width:35%;
		}
			.topNews div.inner div.left p.enTit {
				position: relative;
				margin-bottom: 20px;
				z-index: 1;
			}
				.topNews div.inner div.left p.enTit span {
					position: relative;
					display: inline-block;
					font-family: "Shippori Mincho", serif;
					font-size:18px;
					font-weight: 600;
					line-height: 1.4;
					color: #FFF;
					letter-spacing: 0.06em;
					padding:0.3em 0.6em;
					background: #007EC0;
					margin-left: 10px;
				}
					.topNews div.inner div.left p.enTit span:before {
						position: absolute;
						content:"";
						width:7px;
						height: 100%;
						background: #FDD000;
						top:0;
						left:-10px;
					}
			.topNews div.inner div.left h2 {
				position: relative;
				font-family: "Shippori Mincho", serif;
				font-size:44px;
				font-weight: 600;
				line-height: 1.4;
				color: #004E8A;
				margin-bottom: 125px;
				z-index: 1;
			}
			.topNews div.inner div.left a.btn {
				display:block;
				position: relative;
				width:180px;
				height:60px;
				line-height:58px;
				color:#22282C;
				transition:.4s;
				overflow:hidden;
				z-index:1;
			}
				.topNews div.inner div.left a.btn div {
					position:relative;
					font-family: "Shippori Mincho", serif;
					font-size:16px;
					font-weight:600;
					color:#22282C;
					z-index:2;
					transition:0.4s;
				}
					.topNews div.inner div.left a.btn div span {
						display: block;
						position: absolute;
						content:"";
						width:30px;
						height: 30px;
						background: #007EC0;
						border-radius: 50%;
						top:15px;
						right:5px;
						transition: .3s;
					}
						.topNews div.inner div.left a.btn div span i {
							position: absolute;
							font-size:11px;
							color: #FFF;
							text-align: center;
							transform: rotate(-45deg);
							top:10px;
							left:10px;
							transition: .3s;
						}
						.topNews div.inner div.left a.btn:hover div span {
							display: block;
							position: absolute;
							content:"";
							width:40px;
							height: 40px;
							border-radius: 50%;
							top:10px;
							right:0;
						}
							.topNews div.inner div.left a.btn:hover div span i {
								position: absolute;
								font-size:11px;
								text-align: center;
								top:15px;
								left:15px;
							}
				.topNews div.inner div.left a.btn::after {
					position: absolute;
					bottom: 0;
					left: 0;
					width: 0;
					height: 1px;
					background: #007EC0;
					content: '';
					opacity: 1;
					-webkit-transition: width 0.3s, opacity 0.3s, -webkit-transform 0.3s;
					-moz-transition: width 0.3s, opacity 0.3s, -moz-transform 0.3s;
					transition: width 0.3s, opacity 0.3s, -moz-transform 0.3s;
					-webkit-transform: translateX(0);
					-moz-transform: translateX(0);
					transform: translateX(0);
					z-index:0;
				}
					.topNews div.inner div.left a.btn:hover::after {
						height: 1px;
						width:100%;
						opacity: 1;
						-webkit-transform: translateX(0px);
						-moz-transform: translateX(0px);
						transform: translateX(0px);
					}
				
		.topNews div.inner div.right {
			width:65%;
		}
			.topNews div.inner div.right div.newsList {
				display:block;
				width:100%;
			}
					.topNews div.inner div.right div.newsList dl {
						width:100%;
						font-size:15px;
						line-height:1.8;
						display:flex;
						flex-wrap:wrap;
						border-bottom:1px solid #D7DEE3;
					}
						.topNews div.inner div.right div.newsList dl dt {
							width:20%;
							padding:1.8em 0;
						}
						.topNews div.inner div.right div.newsList dl dd {
							width:80%;
							padding:1.8em 0;
						}
					.topNews div.inner div.right div.newsList a dl dt {
						font-family: "Shippori Mincho", serif;
						font-weight:500;
						opacity:.6;
					}
						.topNews div.inner div.right div.newsList a dl dd {
							color:#22282C;
							transition:.6s;
							position: relative;
						}
							.topNews div.inner div.right div.newsList a:hover dl dd {
								color:#007EC0;
							}

@media screen and (max-width:1039px){
.topNews {
	padding:70px 30px 0 30px;
}
			.topNews div.inner div.left p.enTit {
				margin-bottom: 15px;
			}
				.topNews div.inner div.left p.enTit span {
					font-size:16px;
				}
			.topNews div.inner div.left h2 {
				font-size:38px;
			}
			.topNews div.inner div.left a.btn {
				width:160px;
			}
				.topNews div.inner div.left a.btn div {
					font-size:15px;
				}
					.topNews div.inner div.left a.btn:hover div {
						color:#22282C;
					}
						.topNews div.inner div.left a.btn:hover div span {
							width:30px;
							height: 30px;
							background: #007EC0;
							top:15px;
							right:5px;
						}
							.topNews div.inner div.left a.btn:hover div span i {
								color: #FFF;
								top:10px;
								left:10px;
							}
				.topNews div.inner div.left a.btn::after {
					display: none;
				}
				
		.topNews div.inner div.right {
			width:65%;
		}
			.topNews div.inner div.right div.newsList {
				display:block;
				width:100%;
			}
					.topNews div.inner div.right div.newsList dl {
						width:100%;
						font-size:15px;
						line-height:1.8;
						display:flex;
						flex-wrap:wrap;
						border-bottom:1px solid #D7DEE3;
					}
						.topNews div.inner div.right div.newsList dl dt {
							width:20%;
							padding:1.8em 0;
						}
						.topNews div.inner div.right div.newsList dl dd {
							width:80%;
							padding:1.8em 0;
						}
					.topNews div.inner div.right div.newsList a dl dt {
						font-family: "Shippori Mincho", serif;
						font-weight:500;
						opacity:.6;
					}
						.topNews div.inner div.right div.newsList a dl dd {
							color:#22282C;
							transition:.6s;
							position: relative;
						}
							.topNews div.inner div.right div.newsList a:hover dl dd {
								color:#22282C;
							}
}
	
@media screen and (max-width:767px){
.topNews {
	padding:60px 25px 0 25px;
}
		.topNews div.inner div.left {
			width:100%;
			position: relative;
			margin-bottom: 30px;
		}
			.topNews div.inner div.left p.enTit {
				margin-bottom: 15px;
			}
				.topNews div.inner div.left p.enTit span {
					font-size:12px;
					margin-left: 6px;
				}
					.topNews div.inner div.left p.enTit span:before {
						width:4px;
						left:-6px;
					}
			.topNews div.inner div.left h2 {
				font-size:28px;
				margin-bottom: 0;
			}
			.topNews div.inner div.left div.btnWrap {
				position: absolute;
				width:150px;
				height: 60px;
				top:-8px;
				right:0;
				z-index: 10;
			}
				.topNews div.inner div.left a.btn div {
					font-size:14px;
				}
				
		.topNews div.inner div.right {
			width:100%;
		}
			.topNews div.inner div.right div.newsList {
				display:block;
				width:100%;
			}
					.topNews div.inner div.right div.newsList dl {
						width:100%;
						font-size:14px;
						line-height:1.8;
						display:flex;
						flex-wrap:wrap;
						border-bottom:1px solid #D7DEE3;
					}
						.topNews div.inner div.right div.newsList dl dt {
							width:100%;
							padding:1.8em 0 0 0;
						}
						.topNews div.inner div.right div.newsList dl dd {
							width:100%;
							padding:0.4em 0 1.8em 0;
						}
					.topNews div.inner div.right div.newsList a dl dt {
						font-family: "Shippori Mincho", serif;
						font-weight:500;
						opacity:.6;
					}
						.topNews div.inner div.right div.newsList a dl dd {
							color:#22282C;
							transition:.6s;
							position: relative;
						}
							.topNews div.inner div.right div.newsList a:hover dl dd {
								color:#22282C;
							}
}

@media screen and (max-width:359px){
			.topNews div.inner div.left h2 {
				font-size:26px;
			}
			.topNews div.inner div.left a.btn {
				width:160px;
			}
}