@charset "UTF-8";
/* CSS Document */
.visual .container{
	height: 100%;
	position: relative;
}
#container{
  position: fixed;
  transform: translateY(-50%) translateX(20%);
  -webkit- transform: translateY(-50%) translateX(20%);
	top: 50%;
	z-index: -1;
}
h1{
	line-height: 1.2;
}
h1 .sub{
	display: block;
	color: #333;
}
.top-concept div{
	margin: 20% 0;
}
.top-concept p,
footer p{
	margin-bottom: 20px;
}
.top-service li{
	padding: 10px;
}
.top-service li:nth-child(2),
.top-service li:nth-child(5){
	margin-top: 10%;
}
.top-service li:nth-child(3),
.top-service li:nth-child(6){
	margin-top: 20%;
}
.top-service li figure{
	height:  200px;
	position: relative;
	z-index: 1;
}
.top-service li figure::after{
	content: "";
	border-radius: 50%;
	background-color: #eeeeee;
	width: 200px;
	height: 200px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	opacity: .5;
	z-index: -1;
}
.top-service li img{
	max-height: 110px;
	max-width: 150px;
	margin-left: 8%;
	opacity: .9;
}
.top-service p,
.top-about p{
	margin-bottom: 6%;
}
.top-service dl dt{
	font-weight: bold;
	margin-top: 30px;
}
.top-service dl span{
	display: block;
	margin-bottom: 30px;
}
.top-about div{
	width: 50%;
}
.top-about div + div{
	padding: 0 3%;
}
.top-about table{
	width: 100%;
	margin-top:  35%;
}
.top-about td,
.top-about th {
	padding: 10px 0;
	width: 30px;
	height: 25px;
}
.top-about tr{
	border-bottom: solid 1px #333;
}
.top-about div img{
	height: 20px;
	width: 180px;
}
.top-about figure img{
	float: right;
	margin-top: 5%;
}
#container canvas{
	transform: scale(1.5);
}
.top-service dl{
	position: relative;
	z-index: 1;
}
@media screen and (max-width: 768px) {
	.top-about div{
		width: 100%;
	}
	.l-drawer__icon{
		top: 0;
	}
	.l-drawer__icon-parts, .l-drawer__icon-parts:before, .l-drawer__icon-parts:after{
		height: 1px;
	}
	.top-service li img {
    	max-height: 130px;
    	max-width: 130px;
	}
	.top-concept div{
		margin: 60% 0;
	}
	.top-service li figure::after{
		transform: translateY(-40%) translateX(-80%);
		-webkit- transform: translateY(-50%) translateX(-50%);		
	}
	.top-service .flex-3 li{
		margin-top: 20%;
	}
	.top-about{
		margin: 30% 0;
	}
	.top-about table{
		margin-top: 15%;
	}
	.top h1 {
	    line-height: 1.4;
	}
	#container canvas{
		transform: scale(1.2);
		margin-top: 30%;
	}
	.visual h1 {
    	top: 35%;
	}
}
@media screen and (max-width: 500px) {
	.top-service li img{
		max-height: 70px;
    	max-width: 70px;
		margin-left: 0;
	}
	.top-service li figure::after{
		width: 130px;
		height: 130px;
	}
	.top-service li figure{
		height: 50px;
	}
	#container canvas {
		transform: scale(1.1);
		margin-top: 70vw;
		opacity: .7;
	}
	.side-l, .side-r{
		border-right: solid 1px #555;
	}
	.top-service .flex-3 li{
		margin-top: 15%;
	}
	.top-about{
		margin: 25% 0;
	}
	.top-about td, .top-about th{
		width: 100%;
		display: table;
		height: auto;
		margin: 10px auto;
	}
}