@charset "UTF-8";

/************************************************************************
 * 基本設定
 ************************************************************************/
:root {
	--font-size: 18px;
	--max-width: 1024px;
	--min-width: 320px;
	--header-height: var(--font-size);
	--footer-height: var(--font-size);
}
html {
	margin: 0;
	padding: 0;
	font-size: var(--font-size);
}
body {
	margin: 0 auto;
	padding: 0;
	max-width: var(--max-width);
	min-width: var(--min-width);
	width: 100%;
	height: 100vh;
	box-sizing: border-box;
	box-shadow: 0px 0px 4px 2px rgba(0,0,0,0.4);
}
header {
	display: flex;
	padding: 1rem;
	max-width: var(--max-width);
	min-width: var(--min-width);
	width: calc(100% - 2rem);
	height: var(--header-height);
	background-color: #d60000;
	background-image: url(../img/header_bg.jpg);
	background-repeat: repeat-x;
	background-position: 0px 9px;
	color: rgb(220, 220, 220);
}
footer {
	display: flex;
	padding: 0.5rem 0 1rem 0;
	max-width: var(--max-width);
	min-width: var(--min-width);
	width: 100%;
	height: var(--footer-height);
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #cdcdcd;
	background-color: #f1f1f1;
	justify-content: center;
	color: #999999;
}
main {
	display: block;
	margin: 1rem auto;
	max-width: var(--max-width);
	min-width: var(--min-width);
	width: 100%;
	height: calc(100vh - var(--header-height) - 2rem - var(--footer-height) - 1.5rem - 2px - 2rem);
	overflow: auto;
}
main .content {
	margin: 1rem auto;
	padding: 1rem;
	max-width: 30rem;
	min-width: 20rem;
	width: 100%;
	border: solid 1px lightgray;
	border-radius: 4px;
}
main .content h2 {
	margin: 0;
	font-size: 1.5rem;
	text-align: center;
}
main .content p {
	text-align: center;
}
main .content span {
	white-space: nowrap;
}
main .content .close-message {
	margin: 1.5rem auto 0 auto;
	padding: 0.5rem;
	width: fit-content;
	border: solid 1px lightgray;
	border-radius: 4px;
	white-space: nowrap;
	text-align: center;
}
main .content .annotation {
	color: #fb2506;
}
