@charset "utf-8";

#contents{padding-bottom: 0;}

#about{
	padding: 90px 0 0;
}
#about h2{
	position: relative;
	z-index: 3;
	margin-bottom: 40px;
}
#about p.tx{
	margin: 0 auto 90px 0;
	position: relative;
	z-index: 3;
	max-width: 850px;
}
#about p.img{
	line-height: 0;
	position: absolute;
	top: 0;
	right: -280px;
	z-index: 1;
}
#about p.img>span.im{
	border-radius: 100%;
	overflow: hidden;
	display: block;
}
#about p.img>.circleText{
	position: absolute;
	top: 0;
	left: 0;
	overflow: visible;
}
#about p.img .circleText__circle{
	fill: none;
}
#about p.img .circleText__text{
	fill: #e0dccd;
	font-size: 1.2rem;
	font-weight: 100;
	letter-spacing: 0.03em;
}
#about p.img .circleText{
	overflow: visible;
	animation: rotation 24s linear infinite;
}
@keyframes rotation {
	0% {
		transform: rotate(80deg);
	}
	100% {
		transform: rotate(-280deg);
	}
}

#about p.t{
	font-size: 23.2rem;
	line-height: 90%;
	font-weight: 900;
	background: rgb(0,117,237); /* Old browsers */
	background: -moz-linear-gradient(left,  rgba(0,117,237,1) 0%, rgba(0,221,231,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left,  rgba(0,117,237,1) 0%,rgba(0,221,231,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right,  rgba(0,117,237,1) 0%,rgba(0,221,231,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	text-align: left;
	margin: 0 auto 100px;
	padding: 0;
}

#about .links{
	padding: 0 0 90px;
	position: relative;
	margin: 0 auto 100px;
}
#about .links:last-child{
	margin-bottom: 0;
}
#about .links::before{
	content: '';
	width: 100%;
	height: 430px;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: #f4f4f4;
}
#about .links ul{
	display: block;
	letter-spacing: -0.4em;
	text-align: left;
	line-height: 0;
	margin: 0 -50px;
}
#about .links ul>li{
	display: inline-block;
	letter-spacing: normal;
	vertical-align: top;
	margin: 0 40px 0 0;
}
#about .links ul>li:last-child{
	margin-right: 0;
}
#about .links ul>li>a{
	display: block;
	position: relative;
	color: #333;
	background: url('../img/arrow.svg') right 20px top 465px no-repeat;
	background-size: auto 30px;
	transition: 0.3s ease-in-out;
}
#about .links ul>li>a:hover{
	text-decoration: none;
	background: url('../img/arrow2.svg') right 20px top 465px no-repeat;
	background-size: auto 30px;
}
#about .links ul>li span{
	display: block;
}
#about .links ul>li span.n{
	line-height: 0;
	text-align: left;
	margin: 0 auto 5px;
}
#about .links ul>li span.n img{
	width: auto;
	height: 78px;
}
#about .links ul>li span.t{
	font-size: 3rem;
	line-height: 120%;
	text-align: left;
	padding: 0 0 0 145px;
	position: absolute;
	top: 0;
	left: 0;
}
#about .links ul>li span.img{
	border-radius: 15px;
	overflow: hidden;
	position: relative;
	margin: 0 auto 10px;
}
#about .links ul>li span.img img{
	transition: 0.3s ease-in-out;
}
#about .links ul>li>a:hover span.img img{
	transform: scale(1.1);
}
#about .links ul>li span.img::after{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 2;
	background: -moz-linear-gradient(top,  rgba(128,128,128,0) 0%, rgba(0,0,0,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  rgba(128,128,128,0) 0%,rgba(0,0,0,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  rgba(128,128,128,0) 0%,rgba(0,0,0,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	opacity: 0;
	transition: 0.3s ease-in-out;
}
#about .links ul>li>a:hover span.img::after{
	opacity: 1;
}
#about .links ul>li span.img span{
	position: absolute;
	left: 40px;
	right: 40px;
	bottom: 20px;
	z-index: 3;
	font-size: 1.8rem;
	color: #fff;
	line-height: 180%;
	opacity: 0;
	transition: 0.3s ease-in-out;
}
#about .links ul>li>a:hover span.img span{
	opacity: 1;
}
#about .links ul>li span.t2{
	font-size: 4.8rem;
	line-height: 140%;
	font-weight: 100;
	background: rgb(82,135,251); /* Old browsers */
	background: -moz-linear-gradient(left,  rgba(82,135,251,1) 0%, rgba(105,186,122,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left,  rgba(82,135,251,1) 0%,rgba(105,186,122,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right,  rgba(82,135,251,1) 0%,rgba(105,186,122,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
#about .links ul>li span.t2>span{
	display: block;
	margin-top: -20px;
}


@media screen and (min-width:768px){
	
}

@media screen and (max-width:767px){
	
	#contents .swiper-slide{
		margin: 0;
	}
	
	#about{
		padding-top: 30px;
		padding-bottom: 0;
	}
	#about h2{
		font-size: 2.8rem;
	}
	#about h2>small{
		display: none;
	}
	#about p.img{
		position: static;
		text-align: left;
		display: block;
		margin: -170px 20px 40px 60px;
	}
	#about p.tx{margin-bottom: 60px;}
	#about p.t{
		font-size: 8.3rem;
		margin-bottom: 60px;
	}
	
	#about .links{
		padding: 0;
		margin: 0 auto;
	}
	#about .links:last-child{
		margin-bottom: 40px;
	}
	#about .links::before{
		content: none;
	}
	#about .links ul{
		margin: 0 auto;
	}
	#about .links ul>li{
		margin: 0 auto 40px;
	}
	#about .links ul>li>a{
		background: url('../img/arrow.svg') right 10px top 285px no-repeat;
		background-size: auto 30px;
	}
	#about .links ul>li span.n{
		text-align: center;
		position: relative;
		z-index: 2;
	}
	#about .links ul>li span.img{
		margin: -40px auto 20px;
		z-index: 1;
	}
	#about .links ul>li span.t{
		position: static;
		padding: 0;
		font-size: 2rem;
	}
	#about .links ul>li span.t2{
		font-size: 2rem;
	}
	#about .links ul>li span.t2>span{
		margin-top: -10px;
	}
}