@charset "utf-8";
#intro figure {
	max-width: 600px;
	margin: 0 auto 15%;
	box-shadow: 30px 30px 0 #000, -30px 30px 0 #000;
}
#intro aside {
	float: right;
	margin-top: 32px;
	font-size: 85%;
}#intro h3+p{
    opacity: .78;
    letter-spacing: .1em;
    line-height: 2em;
    text-align: justify;
}

#quotes {
	background: #f5f5f5;
}
#quotes .viewport-l {
	display: flex;
	flex-wrap: wrap;
	max-width: none;
}
.quote {
	counter-increment: number;
	background: #FFF;
	flex-shrink: unset;
	margin: 1.5%;
	width: 30.3%;
	padding: 32px;
	box-sizing: border-box;
	position: relative;
	box-shadow: 0 3px 15px rgba(0, 0, 0, 0.05);
}
.quote h3 {
	font-size: 20px;
	margin: 16px 0 32px;
}
.quote p {
	font-family:  'Noto Sans Japanese', 'メイリオ', Meiryo, serif;
	    opacity: .78;
    letter-spacing: .1em;
    text-align: justify;
}
.quote:before {
	content: '0'counter(number);
	background: #000;
	color: #FFF;
	width: 50px;
	height: 50px;
	display: block;
	text-align: center;
	line-height: 50px;
	font-size: 24px;
	position: absolute;
	top: -10px;
	right: -10px;
}

@media only screen and (max-width: 1024px) {
.quote {
	width: 47%;
	padding: 24px;
}
.quote:before {
	right: initial;
	left: 16px;
	top: 16px;
	width: 40px;
	height: 40px;
	line-height: 40px;
	font-size: 16px;
}
.quote h3 {
	font-size: 16px;
	margin: 4px 0 24px 40px;
}
	#intro aside img{
		width: 130px;
	}
}

@media only screen and (max-width: 520px) {
#intro figure {
	width: auto;
	margin: 0 30px 15%;
	box-shadow: 20px 20px 0 #000, -20px 20px 0 #000;
}
.quote {
	padding: 24px 16px;
}
.quote:before {
	left: 0;
	top: 0;
}
.quote h3 {
	margin: 24px 0 16px;
}
}
