@charset "UTF-8";


/* HTML elements and compositions */

h1, h2, h3 {
	margin-left: 0em;
	margin-right: 0em;
	padding: 0em;
}

h1 {
	text-align: center;
}

h2, h3 {
	text-align: left;
}

p {
	max-width: 45em;
	margin-top: 1em;
	margin-bottom: 1em;
	margin-left: 0em;
	margin-right: 0em;
	text-align: justify;
	text-indent: 0em;
}

ul, ol {
	margin-top: 1em;
	margin-bottom: 1em;
	margin-left: 0em;
	margin-right: 0em;
	padding: 0em;
}

li {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	margin-left: 2em;
	margin-right: 0em;
	padding: 0em;
	max-width: 45em;
}

li ul {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

li li {
	margin-top: 0em;
	margin-bottom: 0em;
}

dl {
	margin-top: 1.5em;
	margin-bottom: 1.5em;
	margin-left: 0em;
	margin-right: 0em;
}

dt {
	font-weight: bold;
	margin-top: 1.0em;
	margin-bottom: 0.5em;
	margin-left: 0em;
	margin-right: 0em;
}

dd {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	margin-left: 2em;
	margin-right: 0em;
}

dd p, .compact p {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

dd ul, dd ol, .compact ul, .compact ol {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

dd li, .compact li {
	margin-top: 0em;
	margin-bottom: 0em;
}

a img {
	border: 0px;
}

table {
	margin-top: 1.5em;
	margin-bottom: 1.5em;
	margin-left: 0em;
	margin-right: 0em;
}

td, th {
	padding-top: 0.25em;
	padding-bottom: 0.25em;
	padding-left: 0.5em;
	padding-right: 0.5em;
	vertical-align: middle;
}

th {
	font-weight: bold;
}

thead th {
	text-align: center;
}

tbody th {
	text-align: left;
}

hr {
	display: none;
}

blockquote {
	font-style: italic;
}

blockquote p {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}


/* HTML and custom inline content */

abbr {
	border: none;
}

:lang(en) {
	quotes: "“" "”" "‘" "’";
}

:lang(ja) {
	quotes: "「" "」" "『" "』";
}

.title {
	font-style: italic;
}

.foreign {
	font-style: italic;
}


/* Custom classes */

.floatright {
	float: right;
	clear: right;
	margin-left: 1em;
	margin-bottom: 1em;
}

.compact dt {
	margin-top: 0.5em;
	margin-bottom: 0em;
}

.compact dd {
	margin-top: 0em;
	margin-bottom: 0em;
}

a.external {
	padding-right: 14px;
	background-image: url("images/external.png");
	background-position: center right;
	background-repeat: no-repeat;
}

.block {
	margin-left: 3em;
}


/* Single elements */

nav h2 {
	display: none;
}

article::after {
	display: block;
	content: "";
	clear: right;
}

#dates {
	width: 16em;
	float: right;
	clear: right;
	text-align: right;
}

footer p {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}



@media screen {
	
	/* HTML elements and compositions */
	
	html {
		margin: 0em;
		padding: 1em;
		background-color: rgb(248,248,248);
		overflow-y: scroll;
		font-family: sans-serif;
		line-height: 1.40;
		color: rgb(0,0,0);
	}
	
	body {
		min-width: 545px;
		max-width: 80em;
		margin-top: 0em;
		margin-bottom: 0em;
		margin-left: auto;
		margin-right: auto;
		padding: 0em;
		background: rgb(255,255,255);
		border: 1px solid rgb(160,160,160);
	}
	
	h1, h2, h3, h4 {
		font-weight: bold;
	}
	
	h1 {
		font-size: 200%;
		margin-top: 0em;
		margin-bottom: 0.75em;
	}
	
	h2 {
		font-size: 159%;
		margin-top: 1em;
		margin-bottom: 0.5em;
		border-bottom: 1px solid rgb(160,160,160);
	}
	
	h1 + h2 {
		margin-top: 0em;
	}
	
	h3 {
		font-size: 126%;
		margin-top: 1.5em;
		margin-bottom: 0.75em;
	}
	
	h2 + h3 {
		margin-top: 0em;
	}
	
	h4 {
		font-size: 100%;
		margin-top: 1.5em;
		margin-bottom: 1em;
	}
	
	h3 + h4 {
		margin-top: 0em;
	}
	
	a:link {
		color: rgb(45,102,208);
	}
	
	a:visited {
		color: rgb(114,83,166);
	}
	
	h1 a, h2 a, h3 a {
		color: rgb(36,82,166);
	}
	
	table {
		border-collapse: collapse;
	}
	
	td, th {
		border: 1px solid rgb(208,208,208);
	}
	
	
	/* HTML and custom inline content */
	
	abbr:hover {
		border-bottom: 1px dotted rgb(0,0,0);
	}
	
	
	/* Custom classes */
	
	.floatright {
		padding: 8px;
		background: rgb(240,240,240);
		border: 1px solid rgb(200,200,200);
	}
	
	a .floatright {
		border-color: rgb(45,102,208);
	}
	
	a.external:link {
		color: rgb(50,143,141);
	}
	
	:target {
		background-color: rgb(255,255,210);
	}
	
	
	/* Single elements */
	
	header {
		height: 150px;
		background: url("images/header.jpg") center center no-repeat;
	}
	
	header h1 {
		display: none;
	}
	
	
	nav {
		margin-top: 0em;
		margin-bottom: 1.5em;
		padding-left: 2em;
		padding-right: 2em;
		background-color: rgb(240,240,240);
	}
	
	nav ul {
		margin: 0em;
		padding: 0em;
		list-style-type: none;
		font-variant: small-caps;
		font-weight: bold;
	}
	
	nav li {
		display: block;
		float: left;
		margin: 0em;
		padding: 0em;
	}
	
	nav a {
		display: block;
		padding-top: 0.5em;
		padding-bottom: 0.5em;
		padding-left: 0.5em;
		padding-right: 0.5em;
		text-decoration: none;
		background-color: transparent;
	}
	
	nav a:hover {
		background-color: rgb(224,224,224);
	}
	
	nav a:visited {
		color: rgb(45,102,208);
	}
	
	nav::after {
		display: block;
		content: "";
		clear: left;
	}
	
	
	article {
		margin-top: 0em;
		margin-bottom: 2em;
		margin-left: 2em;
		margin-right: 2em;
	}
	
	#dates {
		font-size: 79.3%;
	}
	
	footer {
		font-size: 79.3%;
		margin-top: 5.04em;
		color: rgb(192,192,192);
	}
	
	footer a {
		color: inherit;
	}
	
}



@media print {
	
	body {
		font-family: serif;
	}
	
	h1, h2, h3, h4 {
		font-family: sans-serif;
		font-weight: bold;
	}
	
	h1 {
		font-size: 168%;
		margin-top: 0.667em;
		margin-bottom: 0.667em;
	}
	
	h2 {
		font-size: 141%;
		margin-top: 1.33em;
		margin-bottom: 0.667em;
	}
	
	h3 {
		font-size: 119%;
		margin-top: 1.33em;
		margin-bottom: 0.667em;
	}
	
	
	header h1 {
		margin-top: 0em;
		margin-bottom: 0em;
		font-size: 100%;
		font-weight: bold;
		text-align: left;
	}
	
	
	nav ul {
		margin-top: 0em;
		margin-bottom: 0em;
		margin-left: 2em;
		font-family: sans-serif;
		font-size: 84.1%;
	}
	
	nav li {
		display: inline;
		margin-top: 0em;
		margin-bottom: 0em;
		margin-left: 0em;
		margin-right: 1em;
	}
	
	#dates {
		font-size: 84.1%;
	}
	
	footer {
		font-size: 84.1%;
		margin-top: 3.57em;
	}
	
}
