@font-face {
    font-family: 'Noto Sans';
    src: url('notosans-400.woff') format('woff');
    font-weight: 400;
    font-display: swap;
    font-style: normal;
}
@font-face {
    font-family: 'Noto Sans';
    src: url('notosans-500.woff') format('woff');
    font-weight: 500;
    font-display: swap;
    font-style: normal;
}
@font-face {
    font-family: 'Noto Sans';
    src: url('notosans-700.woff') format('woff');
    font-weight: 700;
    font-display: swap;
    font-style: normal;
}
html, body {
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
}
body {
	font-family: 'Noto Sans', sans-serif;
	background-color: #ffffff;
	color: #111;
	font-size: 20px;
	line-height: 1.5;
}
header {
	width: 100%;
	margin: auto;
	padding: 1em calc(50% - min(600px, 46vw));
	background-color: #A80B1D;
	color: #FFF;
	position: fixed;
	top: 0;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	box-sizing: border-box;
}
header a {
	color: #FFF;
}
main {
	width: 100%;
	max-width: 100%;
	padding-top: 4.5em; /* header height */
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
}
.anchor {
	display: block;
	height: 4.5em; /* header height */
	margin-top: -4.5em; /* header height */
	visibility: hidden;
}
noscript,
section {
	width: 100%;
	box-sizing: border-box;
}
#js {
	display: none;
}
.content {
	width: 1200px;
	max-width: min(1200px, 92vw);
	min-height: calc(100vh - 9.4em); /* header+footer height */
	margin: auto;
	padding: 1em 0;
}
footer {
	margin-bottom: 4em;
	padding: 1em calc(50% - min(600px, 46vw));
	background-color: #efefef;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
	font-size: 0.8em;
	color: #333;
	text-align: center;
	box-sizing: border-box;
}
section#js footer,
section[lang="en"] footer {
	margin-bottom: 0;
}
h1 {
	font-size: 2.5em;
	line-height: 1;
	margin: 0;
}
h2 {
	font-size: 2em;
	line-height: 1;
	font-weight: 500;
	margin: 0 0 1em;
	display: inline-block;	
}
p {
	margin-bottom: 1.5em;
}
ul {
	margin-bottom: 1.5em;
	padding-left: 1.5em;
}
li {
	margin-bottom: 0.5em;
}
a {
	color: #A80B1D;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
@media (max-width: 600px) {
	header {
		display: block;
	}
	main {
		padding-top: 6em;
	}
	.anchor {
		height: 6em;
		margin-top: -6em;
	}
	.content {
		min-height: calc(100vh - 10.4em);
	}
}