.top_wrap,
.top_wrap_wide {
	display: block;
	position:relative;
	width: 100%;
	background-color: #fff;
	padding: 90px 0;
}
.top_wrap_wide {
	min-height: 100vh;
}

#top_cover {
	display: block;
	position:relative;
	position: sticky;
	top: 0;
	display: -webkit-flex;
	display: flex;
	-webkit-box-direction: column;
	flex-direction: column;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	height: 100vh;
	background-color: #fff;
	padding: 0;
}
#top_cover .topnav {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 40px;
	margin-bottom: auto;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-direction: row;
	flex-direction: row;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	-webkit-align-items: stretch;
	align-items: stretch;
	z-index: 5;
}
#top_cover .topnav a {
	display: block;
	width: 100%;
	width: 40px;
	margin: 3px 0;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	opacity: 0.7;
}
#top_cover .topnav a:hover { opacity: 1; }
#top_cover .topnav a.nav_about { background-image: url('../img/general/navicon1.svg'); }
#top_cover .topnav a.nav_works { background-image: url('../img/general/navicon2.svg'); }
#top_cover .topnav a.nav_blog { background-image: url('../img/general/navicon3.svg'); }
#top_cover .topnav a.nav_contact { background-image: url('../img/general/navicon4.svg'); }
#top_cover .topbtn {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	display: block;
	width: 100%;
	height: 100vh;
	margin-top: auto;
	background: url('../img/general/arrow.svg') no-repeat center bottom;
	animation-name: arrowMove;
	animation-duration: 2s;
	animation-timing-function: ease-in;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	z-index: 1;
}
@keyframes arrowMove {
	0% {
		opacity:0;
		transform: translateY(-15px);
	}
	100% {
		opacity:1;
		transform: translateY(-5px);
	}
}
#top_cover h1 {
	animation-name: fadein_h1;
	animation-duration: 2s;
}
@keyframes fadein_h1 {
	0% {
		opacity: 0;
		transform: translateY(20px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
#top_cover ul {
	width: 100%;
	margin: 50px auto 0;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-direction: row;
	flex-direction: row;
	-webkit-justify-content: space-around;
	justify-content: space-around;
}
#top_cover li { animation-name: fadein_li; }
#top_cover li:first-child { animation-duration: 3s; }
#top_cover li:nth-child(2) { animation-duration: 4s; }
#top_cover li:nth-child(3) { animation-duration: 5s; }
@keyframes fadein_li {
	0%,30% {
		opacity: 0;
		transform: translateY(20px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

#top_main { position: relative; }

/* top_blog */
#siraseru {
	padding: 10px 20px;
	margin: 30px auto 50px;
	border: 1px #a0a0a0 solid;
}
#siraseru > * {
	display: flex;
	flex-flow: row nowrap;
}
#siraseru > * > dt {
	flex: 0 0 auto;
	padding-right: 10px;
	font-family: 'Arial',sans-serif;
}

.top_blog_btn a {
	display: block;
	width: 300px;
	height: 60px;
	margin: auto;
	border: #555 1px solid;
}

.top_blog_btn a:hover { background-color: #555; }
.top_blog_btn a:hover path { fill: #fff; }
.top_blog_btn a:hover,
.top_blog_btn a:hover path {
	-webkit-transition: fill 0.3s ease-out;
	transition: fill 0.3s ease-out;
}
#top_about { background-color: #fafafa; }
#top_greeting { background-color: #bfbfbf; }
#top_greeting_txt {
	font-family:'リュウミンR-KL','游明朝',YuMincho,'ヒラギノ明朝 ProN W3','Hiragino Mincho ProN','HG明朝E','ＭＳ Ｐ明朝','ＭＳ 明朝',serif;
	font-size: 1.2rem;
}
#top_greeting h2 {
	padding-bottom: 2.0rem;
	font-size: 2.0rem;
}
#top_greeting p { padding-bottom: 1.5rem; }
