h3.subtitle em {
	background: url(images/top_h3_bg.png) no-repeat center top 14px;
	background-size: 100%;
	padding-bottom: 10px;
}

div.mainimg {
	height: 700px;
	background-position: center top;
}

div.mainimg img {
	width: 100%;
}

div.concept {
	margin: 80px 0 80px 0;
	background: url(images/top_concept_bg.jpg) no-repeat center top 120px;
	font-size: 18px;
}

div.concept div.text {
	padding-left: 570px;
}

div.concept div.text h3 {
	padding-bottom: 50px;
	text-align: left;
}

ul.concept-list li {
	background: url(images/check_icon.svg) no-repeat left 6px center;
	background-size: 28px;
	padding-left: 34px;
	line-height: 2em;
	font-weight: 600;
}

ul.topmenu {
	display: flex;
	flex-wrap: wrap;
	width: 1200px;
	margin: 20px auto;
	padding: 20px 0;
}

ul.topmenu li a {
	font-size: 36px;
	display: block;
	height: 250px;
}

ul.topmenu li.list-w a {
	width: 600px;
}

ul.topmenu li a {
	width: 400px;
}

ul.topmenu li a span.mask{
	position: relative;
	display: block;
	height: 250px;
	overflow: hidden
}

ul.topmenu li a span.mask::before {
	position: absolute;
	content:"";
	top: 0;
	left: 25%;
	transform: scale(0);
	opacity: 0;
	width:50%;
	height:100%;
	border-radius:50%;
	background: rgba(255,255,255,0.4);
}

ul.topmenu li:nth-child(3) a span.mask::before,
ul.topmenu li:nth-child(4) a span.mask::before,
ul.topmenu li:nth-child(5) a span.mask::before {
	left: 15%;
	width:70%;
	height:100%;
}

ul.topmenu li a span.mask:hover::before {
	animation: topmenu 1.2s;
}

@keyframes topmenu {
  0% {
  transform: scale(0);
  opacity: 1;
  }
  30% {
    opacity: 1;
  }
  100% {
  transform: scale(1.5);
  }
}

div.blog {
	padding: 60px 0;
}

.blog-contents {
	margin: 20px auto;
	background-color: white;
	width: 900px;
	border-radius: 20px;
	padding: 20px 0 30px;
}

div.blog p.link-btn {
	margin-top: 30px;
}