
html, body, header, img, main, article, h1, h2, p, dl, dt, dd, nav, footer, aside{
	padding: 0;
	margin: 0;
	border: none;
}

body{
	font-family: 'Hiragino Kaku Gothic ProN', 'メイリオ', sans-serif;
	font-size: 120%;
	transition: background-color 0.6s;
}
body.swipe{
	background-color:#ffdf00;
	transition: background-color 0.3s;
}

header,
body > nav,
footer{
	position: fixed;
	left: 0;
	width: 32vw;
	text-align: right;
	transition: left 0.6s;
}
header.swipe,
body > nav.swipe,
footer.swipe{
	left: calc( 62vw + 2.5em );
	transition: left 0.3s;
}

header{
	top: 2em;
}


header img{
	width: 10em;
}


body > nav{
	top: 14em;
}
body > nav ul{
	list-style-type: none;
	padding: 0;
	margin: 0;
}
body > nav ul li{
	padding: 0;
	margin: 0 0 0.5em 0;
}

body > nav a,
aside nav a{
	display: block;
	padding: 0 0.5em;
	text-decoration: none;
	font-weight: bold;
	color: #000;
	transition: background-color 0.8s, color 0.3s;
}
body > nav a.crnt,
body > nav a.crnt:hover,
aside nav a.crnt,
aside nav a.crnt:hover{
	font-weight: normal;
	color: #fff;
	background-color: #000;
}
body > nav a:hover,
aside nav a:hover{
	color: #999;
}

footer{
	bottom: 1em;
}
footer p{
	font-size: 70%;
	margin: 0 0.1em 0.5em 0;
}
footer p + p{
	font-size: 50%;
}
footer p a{
	color: #000;
}

main{
	position: absolute;
	right: 0;
	width: 62vw;
	transition: right 0.6s;
	padding-bottom: 0.5em;
}
main.swipe{
	right: calc( -62vw - 2.5em );
	transition: right 0.3s;
}

main article{
	padding-top: 2em;
}

main article h1{
	font-size:  300%;
	line-height: 1.2;
	font-weight: normal;
	padding-bottom: 0.2em;
	margin-bottom: 0.6em;
	margin-left: -3px;
	border-bottom: 1px solid #000;
}
main article:first-child h1{
	font-size:  320%;
}


main article h2{
	font-size:  110%;
}
main article p{
	max-width: 26em;
	line-height: 1.9;
	margin-bottom: 1em;
}
main article dl{
    display: grid;
    grid-template: auto / auto;
	max-width:26em;
	margin: 0 1em 3em 0;
}
main article dl dt,
main article dl dd{
	border-bottom: 1px solid rgba( 0, 0, 0, 0.2 );
	padding:0.5em 0;
}

main article dl dt{
	grid-column: 1;
	padding-right: 1em;
}
main article dl dd{
	grid-column: 2;
}

main article ul{
	margin-bottom: 2em;
}

main article section{
	max-width: 24em;
	padding: 1em;
	border: 1px solid rgba( 0, 0, 0, 0.2 );
	border-radius: 1em;
	margin-bottom: 1em;
}
main article section h1{
	border: none;
	font-size: 90%;
	margin: 0.5em 0;
	font-weight: bold;
}
main article section p{
	line-height: 1.7;
	max-width: 100%;
	font-size: 80%;
	margin-bottom: 0.6em;
}
main article section p:last-child{
	margin: 0;
}

article#Outline section{
	position: relative;
	color: #000;
	margin-bottom: 1em;
	transition: margin-bottom 0.6s, background 0.6s;
	background-image: none;
	background-size: cover;
}
article#Outline section.navi{
	color: #fff;
	margin-bottom: 3em;
	transition: margin-bottom 0.3s, background 0.3s;
}
article#Outline section h1,
article#Outline section p{
	opacity: 1;
	transition: opacity 0.6s;
}
article#Outline section.navi h1,
article#Outline section.navi p{
	opacity: 0;
	transition: opacity 0.3s;
}

article#Outline section ul{
	width: 100%;
	display: flex;
	flex-flow: row;
	list-style-type: none;
	padding: 0;
	margin: 0 auto;
	transition: 0.6s;
}
article#Outline section.navi ul{
	width: 90%;
	margin-top: 6em;
	margin-bottom: -3em;
	transition: 0.3s;
}
article#Outline section.navi ul li img{
	z-index: 100;
}

article#Outline section ul li{
	padding: 0;
	margin-left: 0.6em;
	display: flex;
	align-items: flex-end;
}
article#Outline ul li:first-child{
	margin-left: 0;
}
article#Outline section ul li img{
	width: 100%;
	border-radius: 50%;
	border: 2px solid #fff;
	filter: grayscale(100%);
	cursor: zoom-in;
}
article#Outline section ul li img:hover,
article#Outline section ul li img.hover{
	filter: none;
}
article#Outline section nav{
	display: none;
}
article#Outline section.navi nav{
	display: block;
	width: 30px;
	height: 30px;
	position: absolute;
	right: 0;
	top: 5px;
	cursor: pointer;
	padding: 15px;
	text-align: center;
	z-index: 100;
}
article#Outline section.navi nav span{
	display: inline-block;
	position: relative;
	padding: 0;
	width: 4px;
	height: 30px;
	background: #fff;
	transform: rotate(45deg);
}
article#Outline section.navi nav span:before{
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: -13px;
	width: 30px;
	height: 4px;
	margin-top: -2px;
	background: #fff;
}




aside{
	width: 62vw;
	height: calc( 100vh - 0.5em );
	position: fixed;
	left: calc( -62vw - 2.5em );
	top: 0;
	padding: 0.5em 1em 0 1.5em;
	background-color: #fff;
	transition: left 0.6s;
	z-index: 100;
}
aside.swipe{
	left: 0;
	transition: left 0.3s;
}

aside article{
	margin-top: 0.5em;
	height: calc( 100% - 2em ) ;
	overflow-y: scroll;
	outline-color: rgba( 0, 0, 0, 0 );
}
aside article section{
	padding: 0 1em 1em 0;
	font-size: 80%;
}

aside article section h1{
	font-size: 120%;
	text-align: center;
	margin-bottom: 1em;
}
aside article section h2{
	font-size: 100%;
	margin-bottom: 0.5em;
}
aside article section p{
	margin-bottom: 0.8em;
}
aside article section > p{
	margin-bottom: 1em;
	text-indent: 1em;
}
aside article section ol{
	margin: 2em 0;
	padding-left: 1.5em;
}
aside article section ol li{
	margin-bottom: 1em;
}
aside article section > ol > li{
	margin-bottom: 2em;
}
aside article section ol li ol{
	list-style-type: none;
	text-indent: -1.8em;
	margin: 1em 0 1.5em 0;
	padding-left: 1.8em;
}
aside article section ol li ol li ol{
	list-style-type: lower-latin;
	text-indent: 0;
	padding-left: 1.5em;
}
aside article section div{
	text-align: right;
}
aside nav a{
	text-align: right;
	padding: 0;
}

div#click{
	position: fixed;
	width: 100vw;
	height: 100vh;
	z-index: 1;
}

@media screen and ( max-width: 479px ){

	body{
		font-size: 90% ;
	}
	body.swipe{
		background-color: #fff;
	}

	header,
	body > nav,
	footer{
		width: 100vw;
		top: 0;
		z-index: 1;
		text-align: center;
	}
	header.swipe,
	body > nav.swipe,
	footer.swipe{
		left: 0;
	}
	header,
	body > nav{
		transition: background-color 0.6s;
	}
	header.swipe{
		background-color: #ffdf00;
		transition: background-color 0.3s;
	}
	header{
		height: 6em;
		border-bottom: 1px solid #000;
		background-color:#fff;
	}
	header img{
		top: 0;
		width: 3em;
		padding: 1em;
	}

	body > nav{
		top: 4.3em;
		display: inline;
	}
	body > nav ul{
		display: flex;
		flex-flow: row;
		justify-content: center;
	}
	body > nav ul li{
	}
	body > nav ul li a{
		padding: 0.5em 0.7em;
	}

	footer{
		position: static;
	}

	main {
		position: static;
		width: 92vw;
		margin-left: auto;
	}

	main article p,
	main article section{
		margin-right: 1em;
	}
	main article:first-child h1,
	main article h1{
		font-size: 220% ;
	}

	main article:first-child h1{
		margin-top: 3em;
	}

	article#Outline section.navi ul{
		margin-top: 2.5em;
	}

	aside{
		width: calc( 100vw - 2.5em );
		height: calc( 100vh - 5em );
		left: 0;
		top: calc( 100vh );
		transition: top 0.6s;
	}
	aside.swipe{
		top: 4.5em;
		transition: top 0.3s;
	}

}
