@charset utf-8;

/**************************************/
/* HTML */
/**************************************/
html {
	background: #eee;

	font-size: 15px;
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;
}

body {
	padding: .5rem;
	margin: 0 auto;
	max-width: 720px;
	text-align: justify;
}

header {
	text-align: center;
}

footer {
	clear: both;
	margin: 2em 0;
	font-size: .8rem;
	text-align: center;
	color: #888;
}

main {
	padding: 1rem;
	background: #fff;
	border: 1px solid #888;
	border-radius: 8px;
}

/**************************************/
/* section */
/**************************************/
section {
	margin: 0;
}

section + section {
	margin-top: 3rem;
}

h1 {
	font-size: 1.2rem;
}

h2 {
	font-size: 1.1rem;
	font-weight: normal;

	background: #677;
	color: #fff;
	border-radius: 4px;

	padding: .4em 1em;
	margin-top: 0;
	margin-bottom: 1rem;
	line-height: 1.4em;
}

h3 {
	color: #248;
	font-size: 1rem;
	font-weight: bold;
	border-left: solid .5em #68a;
	margin-top: 2em;
	padding-left: .5em;
}

h4 {
	font-size: 1rem;
	font-weight: bold;
	margin-top: 2em;
}

hr {
	height: 1px;
	border: none;
	border-top: 1px solid #aaa;
	margin: 2rem auto;
}

/**************************************/
/* inline */
/**************************************/
a {
	color: #e66;
}

a:hover {
	color: #faa;
}

p {
	margin-top: 1em;
	margin-bottom: 1em;
}

/**************************************/
/* image */
/**************************************/
img {
	max-width: 100%;
	height: auto;
}

figure {
	text-align: center;
	margin: 1em 0;
}

figcaption {
	font-size: .8rem;
	color: #444;
	font-weight: bold;
}

/**************************************/
/* table */
/**************************************/
dl {
	margin-top: 0;
}

dt {
	font-weight: bold;
	font-size: .9em;
	padding: 0;
}

dd {
	margin-left: 1em;
	margin-bottom: 2em;
}

li {
	margin-bottom: .5em;
	margin-left: -1rem;
	font-size: .9em;
}

table {
	font-size: 13px;
	border-collapse: collapse;
	width: 100%;
}

td, th {
	border: solid 1px #888;
	padding: .5rem;
}

th {
	text-align: center;
	background: #eee;
	font-weight: normal;
	white-space: nowrap;
}

thead th {
	font-weight: bold;
}

/**************************************/
/* navigation */
/**************************************/
nav.home {
	text-align: left;
	font-size: .8rem;
}

nav.breadcrumb ol {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	font-size: .8rem;
}

nav.breadcrumb li {
	margin-left: 0em;
}

nav.breadcrumb li::after {
	content: '>';
	display: inline-block;
	padding: 0 .5em;
	font-size: .6em;
}

nav.breadcrumb li:last-child::after {
	display: none;
}
