* {
	margin: 0;
	padding: 0;
	border: 0px solid #000000;
	box-sizing: border-box;
	color: #ffffff;
	line-height: 200%;
	/* font-size: calc(13px + 0.7vmin); */
	font-size: clamp(15px, 13px + 0.7vmin, 20px);
	font-weight: normal;
	font-style: normal;
	letter-spacing: 0.05em;
	text-align: justify;
	/* font-feature-settings: "pwid"; */
	/* font-feature-settings: "pkna"; */
	/* font-feature-settings: "palt"; */
	text-decoration: none;
	list-style: none inside;
	font-family: sans-serif;
	ruby-align: center;
	/* word-break: auto-phrase; */
	text-spacing: trim-all;
}
br {
	font-size: 0%;
	line-height: 0%;
}
body {
	padding: 0 clamp(0vw, 50vw - 50vh, 50vmin);
	background: #6c828d linear-gradient(to top, #7c929d 0%, #6c828d 100%);
}
body.index {
	height: 100vh;
	max-height: 100vh;
}
a{
	text-decoration: underline;
}

header {
	margin: 0 auto 5vmin auto;
	width: 100vmin;
}
div.header_title {
}
div.header_title img {
	width: 60vmin;
	position: fixed;
	top: 40%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}
div.header_title_s {
	width: 100vmin;
	margin: 8vmin 0;
	text-align: center;
}
div.header_title_s img {
	max-height: 20vmin;
}

div.header_order {
	width: 100vmin;
	padding: 0vmin 10vmin;
	text-align: left;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
	column-gap: 10px;
}
div.header_order a.header_menu_a img {
	width: 100%;
	max-width: 24vmin;
	max-height: 24vmin;
	margin-right: 3.3333vmin;
	margin-bottom: 1vmin;
	overflow: hidden;
}
div.header_order a.header_menu_a:hover img {
	background: rgba(100%,100%,100%,10%);
}

article {
	padding: 0vmin 5vmin;
}
article h1 {
	color: #dfd;
	text-align: center;
	clear: both;
}
article h2 {
	padding-top: 6em;
	font-size: 1.2em;
	color: #dfd;
	font-weight: bold;
	letter-spacing: 0.7em;
	font-family: serif;
	text-align: center;
	margin-bottom: 1em;
	clear: both;
}
article h3 {
	padding-top: 6em;
	font-size: .9em;
	font-weight: bold;
	clear: both;
	border-bottom: 0.5vh solid rgba(100%,100%,100%,20%);
	margin-bottom: 0.5em;
}
article h4 {
	padding-top: 3em;
	font-size: .9em;
	color: #dfd;
	font-weight: bold;
	clear: both;
}
article p {
	padding-top: 1.5em;
}
article p.note {
}
article p.ind01 {
	margin-left: 4em;
}
article q {
	display: block;
	padding: 6vmin;
	background: rgba(100%,100%,100%,20%);
}

article figure.right {
	float: right;
	margin: 1vmin 0vmin 2vmin 5vmin;
	padding-top: 1.5em;
	clear: both;
}
article figure.right img {
	max-height: 35vmin;
	max-width: 35vmin;
}
article figure.center {
	text-align: center;
	width: 80vmin;
	margin:  4vmin 5vmin 1vmin 5vmin;
}
article figure.center img {
	width: 80vmin;
}
article figure figcaption {
	font-size: 50%;
	line-height: 120%;
	text-align: center;
	color: #ddd;
}

article figure.row2 {
	width: 90vmin;
	background: rgba(100%,100%,100%,20%);
}
article figure.row2 img {
	float: left;
	max-width: 35vmin;
	max-height: 35vmin;
	margin: 5vmin;
}
article figure.row2 figcaption {
	clear: both;
}


article dl {
	border-bottom: 1px solid #ddd;
}
article dl dt {
	padding: 2vmin 5vmin;
	display: inline-block;
	width: 44vmin;
	float: left;
	clear: both;
}
article dl dd {
	padding-left: 44vmin;
	padding-top: 2vmin;
	border-top: 1px solid #ddd;
	margin: 2vmin 0;
}

article table {
	border-bottom: 1px solid #ddd;
	border-spacing: 0;
	width: 90vmin;
}
article table * {
	line-height: 125%;
}
article table tr {
	border-top: 1px solid #ddd;
}
article table tr th {
	white-space: nowrap;
	padding: 2vmin;
	border-top: 1px solid #ddd;
}
article table tr td {
	padding: 2vmin;
	border-top: 1px solid #ddd;
}
article table tr td a {
	display: inline-block;
	padding: 2px 20px;
	background: rgba(0,0,0,20%);
}
article table tr td a:hover {
	background: rgba(0,0,0,50%);
}

article dl dt span.note,
article dl dd span.note,
article table tr th span.note,
article table tr td span.note,
article p span.note {
	color: #dff;
	font-size: 80%;
}

footer {
	margin: 5em auto;
	width: 100vmin;
	height: 80vmin;
}
footer * {
}
footer p {
	text-align: center;
}
footer a {
	display: inline-block;
	width: 100vmin;
	margin: 5vmin 0vmin;
	text-align: center;
	color: #dfd;
	background: rgba(100%,100%,100%,20%);
}
footer.index {
	position: fixed;
	bottom: 0;
	height: 20vh;
}