body {
	margin: 0em;
	width: 100%;
	padding-left: 1%;
	padding-right: 1%;
}

.main {
	display: grid;
	grid-template-areas: "a" "b" "d";
	grid-template-columns: 1fr ;
	grid-template-rows: 10ex 1fr 6ex;
}

header {
	grid-area: a;
	background-color: coral;
	text-align: center;
}

section {
	grid-area: b;
	background-color: rgb(250, 250, 250);
	color: black;
	display: flex;
	flex-direction:column; /* x-y入れ替え */
	justify-content: space-around; /* 均等配置(始点終点間隔あり) */
	align-items: center; /* 中央揃え */
	padding: 0em;
	overflow: hidden;
}

footer {
	grid-area: d;
	padding: 1em;
	background-color: thistle;
}

div.note {
	width: calc(74%);
	margin-top: 1ex;
	margin-left: 5%;
	margin-right: 2%;
	padding: 1ex 2em 2ex 2em;
	background-color: antiquewhite;
	border-radius: 8px;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	-o-border-radius: 8px;
	-ms-border-radius: 8px;
	-khtml-border-radius: 8px;
}

.text_left {
	text-align: left;
}

.text_center {
	text-align: center;
}

p.caption {
	margin: 1ex 1em 0ex 1em;
	font-size: 20px;
	font-weight: bold;
}

div.table {
	width: 90%;
	text-align: center;
	overflow-x: auto;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}

table {
	display: inline-block;
	margin-left: auto;
	margin-right: auto;
	table-layout: auto;
	border-color: gray;
	border-style: outset;
	border-width: 4px;
	border-collapse: separate;
	margin: 0ex 1em 1ex 1em;
}

td, th {
	padding-left: .5em;
	padding-right: .5em;
	border-color: gray;
	border-style: outset;
	border-width: 2px;
	text-align: center;
	white-space: nowrap;
}

.top {
	float: right;
	font-size: small;
	padding-right: 2em;
}