@charset "utf-8";@import url("./reset.css");@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Zen+Maru+Gothic:wght@500&display=swap');@import url('./style.css');/* --------------------------------------------------- *//* ローディング *//* --------------------------------------------------- */#loading {	position: fixed;	top: 0;	left: 0;	display: block;	width: 100%;	height: 100vh;	background-color: #fff;	background-image:url('../image/common/loading.png');	background-size: 240px auto;	background-position: 50% 40%;	background-repeat: no-repeat;	z-index: 999;}/* --------------------------------------------------- *//* レイアウト *//* --------------------------------------------------- */.wrap {	margin: 0;	padding: 0;	display: -webkit-box;	display: -ms-flexbox;	display: flex;	flex-direction: column;	width: 100%;	min-width: 320px;	min-height: 100%;	background: #fff;	overflow: hidden;}.wrap.fixed { position: fixed; }main {	flex: 1 0 auto;	padding:  0;	background-position: 50% 0;}.contents {	margin: 0 auto;	width: 90%;}/* --------------------------------------------------- *//* ヘッダー *//* --------------------------------------------------- */header { position: relative; }header h1 {	margin: 0 auto;	padding: 1.0em 4%;	background-color: #45830f;	line-height: 1.0;	text-align: center;}header h1 img {	width: 84%;	max-width: 420px;}@media screen and (max-width: 640px) {	header h1 {		text-align: left;	}}header #navbtn {	position: absolute;	top: 50%;	right: 4%;	display: block;	width: 36px;	transform: translateY(-50%);	z-index: 888;}header #navbtn a {	position: relative;	display: block;	height: 28px;}header #navbtn a span,header #navbtn a span::before,header #navbtn a span::after {	position: relative;	top: 13px;	left: 0;	display: block;	width: 100%;	height: 3px;	border-radius: 2px;	background-color: #fff;	transition: 0.5s;}header #navbtn a span::before { content: ''; top: 0; transform: translateY(-9px); }header #navbtn a span::after { content: ''; top: 0; transform: translateY(6px); }header #navbtn a.closebtn span { background-color: transparent; }header #navbtn a.closebtn span::before { background-color: #666; transform: translateY(-1px) rotate(-150deg); }header #navbtn a.closebtn span::after { background-color: #666; transform: translateY(-4px) rotate(150deg); }/* --------------------------------------------------- *//* ナビ *//* --------------------------------------------------- */header #gnav {	position: fixed;	top: 0;	left: 0;	display: block;	width: 100%;	height: 100%;	z-index: 777;	overflow: scroll;}header #gnav { display: none; }header #gnav .contents {	margin: 0 auto;	padding: 4.0em 0;	width: 88%;	max-width: 480px;}header #setup {	margin-bottom: 1.5em;	padding: 5% 5%;	border: 2px solid #1d2087;	background-color: #fff;	border-radius: 8px;}header #setup h4 {	margin-bottom: 0.5em;	color: #1d2087;	font-weight: 500;	text-align: center;}header #setup ul {	display: flex;	justify-content: space-between;	font-size: 100%; }header #setup ul li {	width: 32.2%;	text-align: center;}header #setup ul li a {	display: block;	border: 2px solid #1d2087;	border-radius: 5px;	color: #1d2087;	line-height: 1.5;}header #setup .fsize {	margin-bottom: 1.5em;}header #setup .ctype ul li:first-child,header #setup .ctype ul li:nth-child(2),header #setup .ctype ul li:nth-child(3) { width: 20.9%; }header #setup .ctype ul li:first-child a {	border-color: #00f;	background-color: #00f;	color: #ff0;}header #setup .ctype ul li:nth-child(2) a {	border-color: #ff0;	background-color: #ff0;	color: #000;}header #setup .ctype ul li:nth-child(3) a {	border-color: #000;	background-color: #000;	color: #ff0;}header nav > a {	display: block;	margin-top: 0.5em;	padding: 4px 16px;	border: 2px solid #1d2087;	background-color: #fff;	border-radius: 8px;	font-size: 120%;	font-weight: 700;	line-height: 39px;	vertical-align: middle;}header nav > a:hover { opacity: 0.5; }header nav > a span::before {	content: '';	display: inline-block;	width: 28px;	height: 18px;	background-repeat: no-repeat;	background-size: auto 98%;	vertical-align: -3px;}header nav > a:first-child {	color: #bc0080;	border-color: #bc0080;}header nav > a:nth-child(2) {	color: #006081;	border-color: #006081;}header nav > a:nth-child(3) {	color: #336428;	border-color: #336428;}header nav > a:nth-child(4) {	color: #513623;	border-color: #513623;}header nav > a:nth-child(5) {	color: #1d2087;	border-color: #1d2087;}header nav > a:first-child span::before { background-image: url('../image/common/01.png'); }header nav > a:nth-child(2) span::before { background-image: url('../image/common/02.png'); }header nav > a:nth-child(3) span::before { background-image: url('../image/common/03.png'); }header nav > a:nth-child(4) span::before { background-image: url('../image/common/04.png'); }header nav > a:nth-child(5) span::before { background-image: url('../image/common/05.png'); }header nav + a {	margin: 1.5em auto 0;	display: block;	width: 66%;	max-width: 320px;	border: 2px solid #666;	border-radius: 160px;	background-color: #fff;	color: #666;	font-weight: 700;	line-height: 2.4;	text-align: center;}header nav + a:hover { opacity: 0.5; }header nav  ul { margin-top: 1.5em; font-size: 90%; }header nav  ul li a {	line-height: 2.0;	text-decoration: underline;}.clrset1 header nav  ul li a { color: #a14ece; }.clrset2 header nav  ul li a { color: #ff0; }.clrset3 header nav  ul li a { color: #000; }.clrset4 header nav  ul li a { color: #ff0; }/* --------------------------------------------------- *//* フッター *//* --------------------------------------------------- */footer {	padding: 2.0em 0 1.5em;	background-color: #45830f;	background-image: url('../image/common/footer.jpg');	background-position: 50% 0;	color: #fff;	text-align: center;}footer h2 {	margin: 0 auto 0.5em;	padding-bottom: 0.5em;	max-width: 640px;	border-bottom: 1px solid #fff;}footer address a { color: #fff; }footer ul { margin: 1.5em 0; font-size:  62.5%; }footer ul li { font-size: 1.6em; }footer ul li a {	color: inherit;	text-decoration: underline;}/* --------------------------------------------------- *//* #home #front *//* --------------------------------------------------- */#home header h1 img { opacity: 0.0; }#front .pghead h1 {	margin: 0 auto;	max-width: 640px;}#front .pgbody .contents {	margin: 0 auto;	max-width: 560px;}#front .pgbody p { margin-top: 1.25em; }#front .navbtns {	margin-left: auto;	margin-right: auto;	width: 100%;	max-width: 420px;	font-size: 100%;}#front #about88 { margin-top: 8%; }#front #about88 h2 {	padding: 0.5em 0;	border-top: 2px solid;	border-bottom: 2px solid;	font-weight: 700;	text-align: center;}.clrset1 #front #about88 h2 { color: #de3712; }#front #about88 figure { margin: 5% 0; }#front .pgfoot dl {	display: flex;	margin: 0 auto;	max-width: 640px;	justify-content: space-between;}#front .pgfoot dl dt { width: 124px; }#front .pgfoot dl dd {	width: calc(100% - 144px);	display: flex;	flex-direction: column;	justify-content: center;}.clrset1 #front .pgfoot dl dd p {	color: #e51d2d;	text-shadow: 2px 0 2px #fff, 0 2px 2px #fff, -2px 0 2px #fff, 0 -2px 2px #fff;}#front .pgfoot dl + p {	margin-top: 1.5em;	text-align: center;}/* --------------------------------------------------- *//* .basic *//* --------------------------------------------------- */.basic .contents { max-width: 480px; }.basic .pghead h2 {	padding: 0.5em 0;	border-top: 2px solid;	border-bottom: 2px solid;	font-weight: 700;	text-align: center;}.clrset1 .basic .pghead h2 { color: #a14ece; }.basic .pgbody { margin-top: 2.0em; }.basic .pgfoot { margin: 2.0em 0 3.0em; }/* --------------------------------------------------- *//* #sitemap *//* --------------------------------------------------- */#sitemap ul { font-size: 100%; }#sitemap ul li { display: block; }#sitemap ul li.uborder {	padding-bottom: 0.5em;	border-bottom: 1px dotted #666;}#sitemap ul li.uborder + li { padding-top: 0.5em; }#sitemap ul li h3, #sitemap ul li h4, #sitemap ul li p {	display: block;	padding: 0.25em 0;}#sitemap ul li a { text-decoration: underline; }.clrset1 #sitemap .pghead h2 { color: #a14ece; }.clrset1 #sitemap ul li a { color: #a14ece; }.clrset2 #sitemap ul li a { color: #ff0; }.clrset3 #sitemap ul li a { color: #000; }.clrset4 #sitemap ul li a { color: #ff0; }/* --------------------------------------------------- *//* #courselist *//* --------------------------------------------------- */#courselist .contents { max-width: 480px; }#courselist .pghead h2 {	padding: 0.5em 0;	border-top: 2px solid;	border-bottom: 2px solid;	font-weight: 700;	text-align: center;}.clrset1 #courselist .pghead h2 { color: #a14ece; }#courselist .pgbody { margin-top: 2.0em; }#courselist .courseblock a { display: block; }#courselist .courseblock +  .courseblock { margin-top: 2.0em; }#courselist .courseblock a:hover { opacity: 0.5; }#courselist .pgfoot { margin: 2.0em 0 3.0em; }.clrset1 #courselist .courseblock p { color: #000; }.clrset2 #courselist .courseblock p { color: #ff0; }.clrset3 #courselist .courseblock p { color: #000; }.clrset4 #courselist .courseblock p { color: #ff0; }#courselist .courseblock p.txtlink {	margin-top: 0.5em;	text-align: right;	text-decoration: underline;}.clrset1 #courselist .courseblock:first-child  p.txtlink { color: #bc0080; }.clrset1 #courselist .courseblock:nth-child(2)  p.txtlink { color: #006081; }.clrset1 #courselist .courseblock:nth-child(3)  p.txtlink { color: #336428; }.clrset1 #courselist .courseblock:nth-child(4)  p.txtlink { color: #513623; }.clrset1 #courselist .courseblock:last-child  p.txtlink { color: #1d2087; }/* --------------------------------------------------- *//* #course *//* --------------------------------------------------- */#course .contents { max-width: 480px; }#course .pghead h2 {	position: relative;	margin-top: 1.0em;	padding: 0.5em 0 0.5em 84px;	border-top: 2px solid;	border-bottom: 2px solid;	font-weight: 700;}.clrset1 #course.root01 .pghead h2 { color: #bc0080; }.clrset1 #course.root02 .pghead h2 { color: #006081; }.clrset1 #course.root03 .pghead h2 { color: #336428; }.clrset1 #course.root04 .pghead h2 { color: #513623; }.clrset1 #course.root05 .pghead h2 { color: #1d2087; }#course .pghead h2::before {	content: '';	position: absolute;	top: 50%;	left: 4px;	display: block;	width: 72px;	height: 72px;	background-size: contain;	background-repeat: no-repeat;	background-position: 50%;	transform: translateY(-50%);}#course.root01 .pghead h2::before { background-image: url('../image/common/coursenum1.png'); }#course.root02 .pghead h2::before { background-image: url('../image/common/coursenum2.png'); }#course.root03 .pghead h2::before { background-image: url('../image/common/coursenum3.png'); }#course.root04 .pghead h2::before { background-image: url('../image/common/coursenum4.png'); }#course.root05 .pghead h2::before { background-image: url('../image/common/coursenum5.png'); }#course .pgbody { margin-top: 2.0em; }#course .pgbody a {	display: block;	margin-top: 0.5em;}#course .pgbody a:hover { opacity: 0.5; }#course .pgfoot { margin: 2.0em 0 3.0em; }#course .numlist p {	margin-top: 0.75em;}#course .numlist p a { text-decoration: underline; }#course.root01  .numlist h4,#course.root01  .numlist p a { color: #bc0080; }#course.root02  .numlist h4,#course.root02  .numlist p a { color: #006081; }#course.root03  .numlist h4,#course.root03  .numlist p a { color: #336428; }#course.root04  .numlist h4,#course.root04  .numlist p a { color: #513623; }#course.root05  .numlist h4,#course.root05  .numlist p a { color: #1d2087; }#course .clickmap {	margin: 2.0em auto 0;	padding-bottom: 24px;	width: 100%;	height: 640px;	overflow: auto;	box-sizing: border-box;}#course .clickmap svg { width: auto; height: 100%; }#course .clickmap svg a:hover { opacity: 1.0; }#course .btn-back + .btn-back { margin-top: 1.0em; }#course .pgfoot { margin: 2.0em 0 3.0em; }/* --------------------------------------------------- *//* #spot *//* --------------------------------------------------- */#spot .contents { max-width: 480px; }#spot .pghead dl {	display: table;	width: 100%;}#spot .pghead dl dt {	width: 48px;	float: left;}#spot .pghead dl dd {	padding-top: 4px;	margin-left: 60px;}#spot .pghead dl dt p {	display: block;	width: 100%;	border-radius: 50%;	text-align: center;	color: #fff;	font-family: 'Zen Maru Gothic', sans-serif;	font-size: 220%;	font-weight: 500;	line-height: 48px;}#spot .pghead dl dt p span {	vertical-align: 2px;	line-height: 1.0;}#spot .pghead dl dd p { font-weight: 500; }#spot.root01  .pghead dl dt p {	background: -moz-linear-gradient(left, #d071a9, #bc0080); 	background: -webkit-linear-gradient(left, #d071a9, #bc0080); 	background: linear-gradient(to right, #d071a9, #bc0080);}.clrset1 #spot.root01 .pghead dl dd p { color: #bc0080; }#spot.root02  .pghead dl dt p {	background: -moz-linear-gradient(left, #96ceda, #006081); 	background: -webkit-linear-gradient(left, #96ceda, #006081); 	background: linear-gradient(to right, #96ceda, #006081);}.clrset1 #spot.root02 .pghead dl dd p { color: #006081; }#spot.root03  .pghead dl dt p {	background: -moz-linear-gradient(left, #9cbd55, #336428); 	background: -webkit-linear-gradient(left, #9cbd55, #336428); 	background: linear-gradient(to right, #9cbd55, #336428);}.clrset1 #spot.root03 .pghead dl dd p { color: #336428; }#spot.root04  .pghead dl dt p {	background: -moz-linear-gradient(left, #9b7d63, #513623); 	background: -webkit-linear-gradient(left, #9b7d63, #513623); 	background: linear-gradient(to right, #9b7d63, #513623);}.clrset1 #spot.root04 .pghead dl dd p { color: #513623; }#spot.root05  .pghead dl dt p {	background: -moz-linear-gradient(left, #4e4498, #1d2087); 	background: -webkit-linear-gradient(left, #4e4498, #1d2087); 	background: linear-gradient(to right, #4e4498, #1d2087);}.clrset1 #spot.root05 .pghead dl dd p { color: #1d2087; }#spot .pgbody { margin-top: 2.0em; }#spot .pgbody h2 { font-weight: 700; line-height: 1.4; }#spot .pgbody figure {	margin: 1.0em auto;	background-color: #fff;	text-align: center;}#spot .pgbody figure.plate img { width: 66%; }#spot .pgbody a.btn-vr {	display: block;	margin: 1.0em auto;	max-width: 320px;	box-shadow: 0 4px 0 rgba(0,0,0,0.1);	color: #fff;	font-weight: 700;	line-height: 2.5;	text-align: center;}#spot.root02  .pgbody a.btn-vr { background-color: #006081; }#spot.root04  .pgbody a.btn-vr { background-color: #513623; }#spot .pgbody a.btn-vr:hover { opacity: 0.5; }#spot .pgfoot { margin: 2.0em 0 3.0em; }#spot .pgfoot .btn-back + .btn-back { margin-top: 0.75em; }#spot .pgfoot .contents { position: relative; }/* --------------------------------------------------- *//* #keyword *//* --------------------------------------------------- */.clrset1 #keyword.basic .pghead h2 { color: #007fa6; }#keyword p a { color: #a14ece; }#keyword  .guide figure { margin: 5% 0; }#keyword  .guide p:last-child { color: #de3712; }#keyword .dl a {	display: block;	margin: 7% auto 2%;	background-color: #fff;	border: 3px solid;	color: #666;	text-decoration: underline;	line-height: 2.5;	text-align: center;}#keyword  #toget h3 {	margin: 4% 0 1.25%;	color: #de3712;	font-weight: 700;}#keyword #toget h3:first-child { color: #000; }#keyword  #toget a { font-weight: 700; }#keyword  #toget p.uline {	display: block;	margin-bottom: 1%;	padding-bottom: 1%;	border-bottom: 1px solid;}#keyword .pgfoot { margin: 2.0em 0 3.0em; }/* --------------------------------------------------- *//* #accessibility *//* --------------------------------------------------- */#accessibility h3,#accessibility h4 {	margin-bottom: 0.5em;	padding-bottom: 0.25em;	border-bottom: 1px solid;	line-height: 1.4;	font-weight: 700;}#accessibility h4 { margin-top: 1.5em; }.clrset1 #accessibility p a { color: #a14ece; }.clrset1 #accessibility h3,.clrset1 #accessibility h4 { color: #a14ece; }#accessibility p { word-break: break-all; }#accessibility .tbl-wrap {	display: block;	width: 100%;	overflow-x: scroll;}#accessibility .tbl-wrap table {	width: 960px;	background-color: #fff;	border-right: 1px solid #666;	border-bottom: 1px solid #666;}#accessibility table caption { display: none; }#accessibility table th,#accessibility table td {	padding: 0.4em 0.4em;	border-top: 1px solid #666;	border-left: 1px solid #666;	text-align: center;	vertical-align: middle;}#accessibility table th { background-color: #f9f4fc; font-weight: 700; }#accessibility table tbody th {	padding-left: 4.0em;	text-indent: -3.5em;	text-align: left;}#accessibility table th:nth-child(1) { width: ; }#accessibility table th:nth-child(2) { width: 90px; }#accessibility table th:nth-child(3) { width: 90px ; }#accessibility table th:nth-child(4) { width: 90px ; }#accessibility table th:nth-child(5) { width: 160px ; }/* --------------------------------------------------- *//* BasicBreakPoint *//* --------------------------------------------------- */@media screen and (max-width: 767px) {}@media screen and (max-width: 420px) {}