.toppage h2 {
	text-align: center;
	font-size: 2.2rem;
	font-weight: bold;
	margin: 0.5rem auto 2rem;
	position: relative;
}
.toppage h3 {
	color: inherit;
	font-size: 1.6rem; font-weight: bold;
	letter-spacing: 0.5rem;
	text-align: center;
	margin-bottom: 1rem;
}
.toppage h3::before { content: ' ■ '; }
.toppage h3::after { content: ' ■ '; }
.lowerpage h2 {
	font-size: 200%;
	border-bottom: 2px solid var(--main-color1);
	color: #FFFFFF;
	background: var(--main-color1);
	font-weight: bold;
	padding: 1.5rem;
	margin-left: calc( ( 98.82vw - 100% ) / -2 - 0.15rem ) !important;
	margin-right: calc( ( 98.82vw - 100% ) / -2 - 0.15rem ) !important;
	padding-left: calc( ( 98.82vw - 100% ) / 2 + 0.15rem ) !important;
	padding-right: calc( ( 98.82vw - 100% ) / 2 + 0.15rem ) !important;
}
.lowerpage h3 {
	font-size: 170%;
	font-weight: bold;
	padding: 0.25em 0 0.25em 0.75em;
	border-left: 0.7em solid;
	border-bottom: 1px solid;
	border-color: inherit;
	color: inherit;
	position: relative;
	margin: 1.0rem auto 1.0rem;
}
.lowerpage h4 {
	font-size: 1.5rem;
	font-weight: bold;
	background: var(--main-color1);
	padding: 0.25rem 0 0.25rem 1.0em;
	margin: 0 auto 1.0em;
	border-radius: 3rem;
	color: #FFFFFF;
}
.lowerpage h5 {
	font-size: 1.25rem;
	border-left: 0.42rem solid var(--main-color1);
	background: var(--main-color1-bright);
	padding: 0.15rem 0 0.15rem 0.5rem;
	font-weight: bold;
	margin: 0 auto 0.75rem;
	color: var(--main-color1);
}
@media(max-width:1040px){
	.toppage h2 { font-size: 1.4rem; }
	.toppage h3 {
		font-size: 1.2rem; font-weight: bold;
		margin-bottom: 1rem;
	}
	.lowerpage h2 {
		font-size: 24px;
		padding: 0.75em 1000px;
		border-bottom: 2px solid var(--main-color1);
		color: #FFFFFF;
	}
	.lowerpage h3 {
		font-size: 1.6rem;
		margin: 1.0rem auto 1.0rem;
	}
	.lowerpage h4 {
		font-size: 18px;
		font-weight: bold;
		border-left: 0.5em solid var(--main-color1);
		padding: 0.25em 0 0.25em 0.75em;
		margin: 0 auto 1.0em;
	}
	.lowerpage h5 {
		font-size: 1.15rem;
		font-weight: bold;
		margin: 0 auto 0.25em;
	}
}
