@charset "utf-8";
@import url('./ototen/var.css');
html {
	font-size: 62.5%;
}
html > body {
	font-size: 1.6rem;
}
body > header > nav.global {
	position: absolute;
	top: 7.87vh;
	right: 3.241vh;
	display: block;
}
body > header > nav.global > h2 {
	display: none;
}
body > header > nav.global > ul > li {
	display: inline-block;
	margin-left: calc(1.852vh - 0.5em);
}
body > header > nav.global > ul > li:first-child {
	display: none;
}
body > header > nav.global > ul > li > a {
	display: inline-block;
	border-radius: 50%;
	width: 1.852vh;
	height: 1.852vh;
	background-color: rgba(229,128,17,1.00);
	overflow: hidden;
	vertical-align: top;
	text-indent: -999px;
}
body > header > nav.global > ul > li:nth-child(3) > a {
	background-color: rgba(123,178,51,1.00);
}
body > header > nav.global > ul > li:nth-child(4) > a {
	background-color: rgba(26,40,79,1.00);
}
body > header > nav.global > ul > li:nth-child(5) > a {
	background-color: rgba(238,183,24,1.00);
}
body > header > nav.global > ul > li:nth-child(6) > a {
	background-color: rgba(70,139,194,1.00);
}
html > body > main > ul.topicpath {
	padding-top: 1.407vh;
	padding-right: 0;
	margin-left: 1.389vh;
	position: relative;
	line-height: 1.3;
	max-width: none;
	z-index: 10;
	width: auto;
}
html > body > main > ul.topicpath > li {
	margin-top: 0;
	padding-left: 1.667vh;
	display: inline-block;
	vertical-align: top;
	position: relative;
	font-size: 15px;
}
html > body > main > ul.topicpath > li::before {
	margin-top: -0.417vh;
	content: " ";
	position: absolute;
	top: 50%;
	left: 0;
	width: 0.741vh;
	height: 0.741vh;
	border-right: solid 0.0926vh rgba(35,24,21,1.00);
	border-bottom: solid 0.0926vh rgba(35,24,21,1.00);
	transform: rotate(-45deg);
}
html > body > main > ul.topicpath > li:first-child {
	padding-left: 23px;
	background-image: url("../images/common/header/icon-home.svg");
	background-size: 18px 16px;
	background-repeat: no-repeat;
}
html > body > main > ul.topicpath > li:first-child::before {
	display: none;
}
html > body > main > ul.topicpath > li > a {
	color: rgba(35,24,21,1.00);
	text-decoration: none;
}
html > body > main > ul.topicpath > li > a:hover {
	text-decoration: underline;
}
body > main > div.heading {
	margin-top: 8.333vh;
	max-height: 390px;
	height: 20.3125vw;
}
body > main > div.heading > h1 {
	position: relative;
	max-height: 390px;
	height: 20.3125vw;
}
body > main > div.heading > h1 > span {
	padding: min(0.781vw,15px) 0;
	position: absolute;
	bottom: min(1.5625vw,30px);
	left: 0;
	color: rgba(255,255,255,1.00);
	font-size: min(2.604vw,46px);
	font-weight: bold;
	display: block;
	width: 100%;
	text-align: center;
}
html > body > main > div.contents > ul.localnav {
	margin: min(1.5625vw,30px) auto min(3.125vw,60px);
	display: flex;
	justify-content: center;
	align-items: center;
	gap: min(1.0417vw,20px);
	max-width: 1200px;
}
html > body > main > div.contents > ul.localnav > li > a {
	border-radius: min(0.469vw,9px);
	padding: min(0.3125vw,6px) min(1.823vw,35px);
	display: inline-block;
	color: rgba(255,255,255,1.00);
	min-width: 10.417vw;
	background-color: rgba(71,148,209,1.00);
	border: solid 2px rgba(71,148,209,1.00);
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	box-sizing: border-box;
}
html > body > main > div.contents > ul.localnav > li > a:hover,
html > body > main > div.contents > ul.localnav > li.active > a {
	color: rgba(71,148,209,1.00);
	background-color: rgba(255,255,255,1.00);
}
html > body > main > div.contents > section,
html > body > main > div.contents > div {
	margin: 0 auto 5.208vw;
	color: var(--textColor);
}
html > body > main > div.contents > section > h2 {
	margin-bottom: 3.125vw;
	position: relative;
	text-align: center;
}
html > body > main > div.contents > section > h2::after {
	content: "";
	width: 100%;
	position: absolute;
	top: min(1.25vw,28px);
	left: 0;
	z-index: 0;
	border-bottom: solid min(0.521vw,10px);
}
html > body > main > div.contents > section > h2 > span {
	position: relative;
	display: inline-block;
	padding: min(0.521vw,10px) min(1.302vw,25px);
	background-color: rgba(255,255,255,1.00);
	font-size: min(2.083vw,40px);
	font-weight: bold;
	z-index: 11;
}
html > body > main > div.contents > section > div.body {
	margin: 0 auto;
	max-width: 900px;
	font-size: 1.6rem;
}
html > body > main > div.contents > section > div.body h2,
html > body > main > div.contents > div h2 {
	font-size: 3.0rem;
	font-weight: bold;
	border-top: 35px solid var(--colorB1);
	position: relative;
	padding-top: 10px;
	margin: 75px 0 0;
	color: var(--colorB1);
	text-align: center;
}
html > body > main > div.contents > section > div.body h2::before,
html > body > main > div.contents > div h2::before {
	content: url(../images/contents/common/heading-logo.svg);
	margin: 0 auto;
	width: 148px;
	display: block;
	position: absolute;
	top: -31px;
	left: 50%;
	transform:translateX(-50%);
}
html > body > main > div.contents > section > div.body > h3 {
	margin-top: 2.5em;
	margin-bottom: 0.8em;
	font-size: 2.0rem;
	font-weight: bold;
}
html > body > main > div.contents > section > div.body > h3:first-child {
	margin-top: 1em;
}
html > body > main > div.contents > section > div.body > h4 {
	margin-top: 1.8em;
	margin-bottom: 0.5em;
	font-size: 1.8rem;
	font-weight: bold;
	color: rgba(87,60,52,1.00);
}
html > body > main > div.contents > section > div.body > h5 {
	margin-top: 1.5em;
	margin-bottom: 0.4em;
	font-size: 1.6rem;
	font-weight: bold;
	opacity: 0.8;
}
html > body > main > div.contents > section > div.body a {
	color: rgba(35,24,21,0.85);
	text-decoration: underline;
}
html > body > main > div.contents > section > div.body p {
	margin-bottom: 1em;
	line-height: 1.6;
	text-align: justify;
	text-justify: inter-ideograph;
}
html > body > main > div.contents > section > div.body .movie {
	  position: relative;
	  padding-bottom: 56.25%;
	  height: 0;
	  overflow: hidden;
	  margin-bottom: 10px;
}
html > body > main > div.contents > section > div.body .movie iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
html > body > main > div.contents > section > div.body > ul > li,
html > body > main > div.contents > section > div.body > ol > li {
	position: relative;
	margin-bottom: 0.5em;
	padding-left: 1.0rem;
	line-height: 1.4;
}
html > body > main > div.contents > section > div.body > ul > li::before {
	content: "";
	border-radius: 50%;
	display: block;
	width: 0.4rem;
	height: 0.4rem;
	position: absolute;
	top: 0.8rem;
	left: 0;
}
html > body > main > div.contents > section > div.body > ol {
	margin-bottom: 1em;
	margin-left: 4.0rem;
}
html > body > main > div.contents > section > div.body > ol > li {
	list-style-type: decimal;
}
html > body > main > div.contents > section > div.body > dl {
	margin-left: 2.0rem;
}
html > body > main > div.contents > section > div.body > dl > dt {
	margin-bottom: 0.4em;
	padding-left: 0.5rem;
	border-left: solid 3px;
	color: rgba(35,24,21,0.85);
	font-weight: bold;
	line-height: 1.4;
}
html > body > main > div.contents > section > div.body > dl > dd {
	margin-left: 0.8em;
	margin-bottom: 0.8em;
	line-height: 1.4;
}
html > body > main > div.contents > section > div.body table {
	margin-bottom: 1em;
	border-collapse: collapse;
}
html > body > main > div.contents > section > div.body table tr > th,
html > body > main > div.contents > section > div.body table tr > td {
	padding: 8px 15px;
/*	border: solid 1px rgba(35,24,21,0.3);*/
	line-height: 1.3;
}
html > body > main > div.contents > section > div.body table > tbody > tr > th {
	background-color: rgba(239,255,193,1.0);
}
html > body > main > div.contents > section > div.body table > thead > tr > th {
	color: rgba(35,24,21,0.8);
	background-color: rgba(35,24,21,0.04);
	border-bottom: solid 2px rgba(35,24,21,0.59);
	font-weight: bold;
}
html > body > main > div.contents > section > div.body > p.button {
	text-align: center;
}
html > body > main > div.contents > section > div.body > p.button > a {
	margin: 0 1.0rem 1em;
	border-radius: 0.3rem;
	display: inline-block;
	padding: 0.5rem 1.5rem;
	min-width: 200px;
	font-weight: bold;
	color: rgba(255,255,255,1.00);
	text-align: center;
	text-decoration: none;
}
html > body > main > div.contents > section > div.body > p.button > a:hover {
	opacity: 0.8;
}
@media screen and (max-aspect-ratio: 11/9) {
	body {
		overflow: auto;
	}
	body > header {
		position: absolute;
	}
	body > header > ul.header-nav {
		display: none;
	}
	body > header > nav.global {
		position: absolute;
		top: 0;
		right: 0;
		width: 100%;
		display: block;
	}
	body > header > nav.global > h2 {
		position: absolute;
		top: 0;
		right: 0;
		padding-right: 1.389vh;
		min-height: 6.02vh;
		width: 7.5vh;
		display: block;
		background-image: url("../images/common/header/nav-icon1.svg");
		background-position: center right 1.376vh;
		background-size: 7.5vh 1.389vh;
		background-repeat: no-repeat;
		color: rgba(35,24,21,1.00);
		font-weight: bold;
		cursor: pointer;
		overflow: hidden;
		text-indent: -9999px;
	}
	body > header > nav.global > h2.active {
		background-image: url("../images/common/header/nav-icon1-close.svg");
	}
	body > header > nav.global > ul {
		padding: 1.389vh;
		box-sizing: border-box;
		position: absolute;
		background-color: rgba(255,255,255,1.00);
		width: 100%;
		width: 26.042vw;
		min-width: 200px;
		top: 6.02vh;
		right: 0;
		display: none;
		box-shadow: 1px 1px 2px 1px rgba(0,0,0,0.05);
	}
	body > header > nav.global > ul > li:first-child {
		display: block;
	}
	body > header > nav.global > ul > li {
		margin-bottom: 1.389vh;
		margin-left: 1.852vh;
		padding-left: 1.204vh;
		position: relative;
		display: block;
	}
	body > header > nav.global > ul > li > a {
		display: block;
		border-radius: 0;
		width: auto;
		height: auto;
		color: rgba(35,24,21,1.00);
		background-color: transparent !important;
		text-decoration: none;
		font-size: 1.6rem;
		text-indent: 0;
	}
	body > header > nav.global > ul > li::before {
		margin-top: -0.391vh;
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		left: 0;
		width: 0.741vh;
		height: 0.741vh;
		background-color: rgba(229,128,17,1.00);
	}
	body > header > nav.global > ul > li:nth-child(3)::before {
		background-color: rgba(123,178,51,1.00);
	}
	body > header > nav.global > ul > li:nth-child(4)::before {
		background-color: rgba(26,40,79,1.00);
	}
	body > header > nav.global > ul > li:nth-child(5)::before {
		background-color: rgba(238,183,24,1.00);
	}
	body > header > nav.global > ul > li:nth-child(6)::before {
		background-color: rgba(70,139,194,1.00);
	}
	body > header > nav.global > ul > li:first-child {
		margin-left: 0;
		padding-left: 0;
	}
	body > header > nav.global > ul > li:first-child::before {
		display: none;
	}
	body > header > nav.global > ul > li:first-child > a {
		padding-left: 2.13vh;
		background-image: url("../images/common/header/icon-home.svg");
		background-size: 1.667vh 1.481vh;
		background-repeat: no-repeat;
		font-weight: bold;
	}
	body > header > nav.global > ul > li:last-child {
		margin-bottom: 0;
	}
	body > main > ul.topicpath {
		display: none;
	}
	body > main > div.heading {
		margin-top: 6.02vh;
		height: 50.781vw;
	}
	body > main > div.heading > h1 {
		height: 50.781vw;
	}
	body > main > div.heading > h1 > span {
		bottom: 3.90625vw;
		font-size: min(6.51vw,50px);
	}
}

@media screen and (max-width: 600px) {
	html > body > main > div.contents > ul.localnav {
		margin: 2.5vw auto 7.8125vw;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		align-items: center;
		gap: 2.5vw;
	}
	html > body > main > div.contents > ul.localnav > li {
		width: calc(50% - 5vw);
	}
	html > body > main > div.contents > ul.localnav > li > a {
		border-radius: min(0.469vw,9px);
		padding: min(0.3125vw,6px) min(1.823vw,35px);
		width: 100%;
		font-size: 1.6rem;
	}
	html > body > main > div.contents > section > h2::after {
		top: 1.3rem;
	}
	html > body > main > div.contents > section > h2 > span {
		font-size: 2.2rem;
	}
	html > body > main > div.contents > section > div.body > h3 {
		margin-top: 2em;
		margin-bottom: 0.8em;
		font-size: 1.9rem;
	}
	html > body > main > div.contents > section > div.body > h4 {
		margin-top: 1.5em;
		font-size: 1.7rem;
	}
	html > body > main > div.contents > section > div.body > div.table {
		margin-bottom: 1em;
		overflow-x: auto;
	}
	html > body > main > div.contents > section > div.body > div.table > table {
		margin-bottom: 0;
	}
	html > body > main > div.contents > section > div.body > div.table > table th,
	html > body > main > div.contents > section > div.body > div.table > table td {
		white-space: nowrap;
	}
	html > body > main > div.contents > section > div.body > ol {
		margin-bottom: 1em;
		margin-left: 2.5rem;
	}
	html > body > footer > div.body {
		padding: 4.557vw 0;
	}
	html > body > footer > div.body > ul.nav > li {
		margin: 0.5em 0.5em;
		display: inline-block;
		vertical-align: top;
		font-size: 1.3rem;
	}
	html > body > footer > div.body > ul.nav > li > a {
		color: rgba(255,255,255,1.00);
	}
	html > body > footer > div.body > ul.nav > li > a:hover {
		text-decoration: underline;
	}
	html > body > footer > div.body > p.copyright {
		margin-top: 3.90625vw;
		color: rgba(255,255,255,1.00);
		text-align: center;
		font-size: 1.1rem;
	}
}