:root {
	--font-sans: メイリオ,Meiryo,sans-serif;
	--font-round: "Rounded Mplus 1c",メイリオ,Meiryo,sans-serif;

	--color-blue: #1a4a7f;		/*青*/
}
html {
	overflow-y: scroll;
	overflow-x: hidden;
	background-color: #333;
}
@media print {
	html {
		background-color: #fff;
	}
}
body {
	margin: 0;
	font-family: var(--font-sans);
	font-feature-settings: "palt" 1;
	line-break: strict;
	overflow-x: hidden;
	background-color: #fff;
	min-height: 100vh;
	scroll-behavior: smooth;
	text-rendering: optimizeSpeed;

}
.clear {
	clear: both;
	line-height: 0;
}
/*- hover -*/
.hover09
,.hover08
,.hover07
,.hover06
,.hover0 {
	transition: all 0.2s;
}
a:hover img.hover09, .hover09:hover, .hover09:hover div {
	opacity: 0.9;
}
a:hover img.hover08, .hover08:hover, .hover08:hover div {
	opacity: 0.8;
}
a:hover img.hover07, .hover07:hover, .hover07:hover div {
	opacity: 0.7;
}
a:hover img.hover06, .hover06:hover , .hover06:hover div {
	opacity: 0.6;
}
a:hover img.hover0, .hover0:hover, .hover0:hover div {
	opacity: 0;
}

/*- ideograph -*/
.ideograph {
	text-align: justify;
	text-justify: inter-ideograph;
}

/*- margin -*/
.margin5 {
	margin-top: 5px;
	line-height: 5px;
}
.margin10 {
	margin-top: 10px;
	line-height: 10px;
}
.margin15 {
	margin-top: 15px;
	line-height: 15px;
}
.margin20 {
	margin-top: 20px;
	line-height: 20px;
}
.margin25 {
	margin-top: 25px;
	line-height: 25px;
}
.margin30 {
	margin-top: 30px;
	line-height: 30px;
}
.margin40 {
	margin-top: 40px;
	line-height: 40px;
}
.margin50 {
	margin-top: 50px;
	line-height: 50px;
}
.margin60 {
	margin-top: 60px;
	line-height: 60px;
}

/* <wbr><span>...</span> は改行させない */
wbr + span {
	white-space: nowrap;
}
wbr:after {
	content: "\00200B";	/*ゼロ幅スペース*/
}

/*********************************************
**********************************************
		top of page
**********************************************
**********************************************/
@media print {
	html > body #movepagetop {
		display: none;
	}
}
@media screen {
	html > body #movepagetop {
		position: fixed;
		right: 0px;
		bottom: -36px;
		z-index: 500;
		-moz-user-select: none;
		-webkit-user-select: none;
		-ms-user-select: none;
		user-select: none;
		opacity: 0.4;
	}
	html > body #movepagetop:hover {
		opacity: 1;
	}
}

/*********************************************
**********************************************
		iecaution svgcaution jscaution preview
**********************************************
**********************************************/
#iecaution,#svgcaution,#jscaution,#preview {
	position: fixed;
	top: 0;
	text-align: center;
	font-size: 12px;
	padding: 10px;
	color: white;
	width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	opacity: 0.8;
}
#iecaution {
	background-color: red;
	z-index: 500;
}
#svgcaution {
	background-color: #f20;
	z-index: 501;
}
#jscaution {
	background-color: yellow;
	z-index: 502;
}
#preview {
	background-color: #f00;
	z-index: 499;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.5em;
	opacity: 0.7;
}

/*********************************************
**********************************************
		topMenu
**********************************************
**********************************************/
@media print,screen {
	#topMenu {
		position: absolute;
		top: 0;
		width: 100%;
		background-image: linear-gradient(rgba(0,0,0,0.6),rgba(0,0,0,0.6),rgba(0,0,0,0.5),transparent);
		padding: 0 0 30px 0;
	}
}
/*********************************************
**********************************************
		topwrapper01
**********************************************
**********************************************/
@media print,screen {
	#topwrapper01 {
		-moz-user-select: none;
		-webkit-user-select: none;
		-ms-user-select: none;
		user-select: none;
		> .inner {
			margin: 0 auto;
			max-width: 1200px;
			height: 100px;
			position: relative;
			> .toplogo {
				position: absolute;
				top: 15px;
				left: 10px;
				> div:nth-of-type(2) {
					margin: 7px 0 0 0;
					font-size: 16px;
					line-height: 1em;
					color: #fff;
					width: 168px;
					text-align: right;
				}
			}
			> .topright {
				position: absolute;
				top: 0;
				right: 10px;
				> .first {
					margin: 10px 0 0 0;
					display: flex;
					justify-content: flex-end;
					align-items: center;
					> div {
						margin: 0 0 0 20px;
						cursor: pointer;
						> a {
							text-decoration: none;
							font-size: 14px;
							line-height: 1em;
							color: #fff;
							display: flex;
							align-items: center;
							&:hover {
								color: #0affc8;
							}
							> img {
								margin: 0 2px 0 0;
							}
						}
					}
				}
				> .second {
					margin: 8px 0 0 0;
					display: flex;
					justify-content: flex-end;
					align-items: center;
					> a {
						background-color: rgba(20,20,120,0.3);
						border: solid 1px #7777CC;
						font-size: 15px;
						line-height: 100%;
						color: #fff;
						padding: 15px 10px;
						border-radius: 5px;
						text-decoration: none;
						&:nth-of-type(1) {
							margin-right: 5px;
						}
						&:hover {
							background-color: rgba(20,20,140,1);
						}
					}
					> div {
						> div {
							display: flex;
							align-items: center;
							> p {
								margin: 0 3px 0 0;
								display: block;
								font-size: 13px;
								line-height: 1em;
								color: #fff;
								width: 6em;
								text-align: right;
							}
							> div {
								> img {
									display: block;
									cursor: pointer;
									opacity: 0.6;
									&:hover {
										opacity: 1;
									}
								}
							}
							&:nth-of-type(2) {
								margin-top: 5px;
							}
						}
					}
				}
			}
			> #searchBox {
				position: absolute;
				top: -60px; /*10px;*/
				right: 10px;
				background-color: #eee;
				padding: 2px 0px 0 5px;
				z-index: 1;
				transition: all 0.3s;
				> .searchBox1 {
					float: left;
					max-width: 250px;
					.gsc-input {
						font-size: 15px;
						line-height: 17px;
					}
					.gsc-clear-button {
						display: none;
					}
				}
				> .searchBox2 {
					float: left;
					color: #aaa;
					font-size: 15px;
					margin: 0px 0 0 7px;
					padding: 5px 12px 0 8px;
					cursor: pointer;
					-moz-user-select: none;
					-webkit-user-select: none;
					-ms-user-select: none;
					user-select: none;
				}
			}
		}
	}
}
@media screen and (max-width: 849px) {
	#topwrapper01 {
		display: none;
	}
}
/*********************************************
**********************************************
		topwrapper01sp
**********************************************
**********************************************/
@media print,screen and (min-width: 850px) {
	#topwrapper01sp {
		display: none;
	}
}
@media screen {
	#topwrapper01sp {
		-moz-user-select: none;
		-webkit-user-select: none;
		-ms-user-select: none;
		user-select: none;
	}
	#topwrapper01sp .inner {
		margin: 0 auto;
		text-align: center;
	}
	#topwrapper01sp .inner .toplogo {
		margin: 0 0 15px 0;
		padding: 15px 0 0 0;
	}
	#topwrapper01sp .inner .toplogo img {
		max-width: 200px;
	}
}
@media screen and (max-width:379px) {
	#topwrapper01sp .inner .toplogo img {
		max-width: 150px;
	}
}
/*********************************************
**********************************************
		topwrapper02
**********************************************
**********************************************/
@media print,screen {
	#topwrapper02 {
		-moz-user-select: none;
		-webkit-user-select: none;
		-ms-user-select: none;
		user-select: none;
	}
	#topwrapper02 ul.topmenu {
		margin: 0 0 10px 0;
		padding: 0;
		display: flex;
		justify-content: space-between;
	}
	#topwrapper02 ul.topmenu:nth-of-type(2) {
		padding: 10px 0 0 0;
		border-style: dotted none none none;
		border-width: 1px;
		border-color: rgba(10,255,200,0.5);
	}
	#topwrapper02 ul.topmenu li {
		list-style: none;
		vertical-align: middle;
		text-align: center;
		font-size: 17px;
		line-height: 22px;
		color: white;
		flex-grow: 1;
	}
	#topwrapper02 ul.topmenu li:first-child,
	#topwrapper02 ul.topmenu li:last-child {
		width: 10px;
		flex-grow: 0;
	}
	#topwrapper02 ul.topmenu li a {
		display: block;
		padding: 0.5em 0;
		text-decoration: none;
		color: white;
		transition: all 0.2s;
	}
	#topwrapper02 ul.topmenu li a:hover {
		background-color: rgba(10,255,200,0.5);
		box-shadow: 0 0 3px #0affc8;
	}
	#topwrapper02 ul.topmenu li.on a {
		border-style: none none solid none;
		border-width: 3px;
		border-color: #0affc8;
		margin-bottom: -3px;
	}
	/*--menu in icon--*/
	#topwrapper02 ul.topmenu li a span {
		padding: 0 0 0 29px;
		background-repeat: no-repeat;
		background-position: 0% 40%;
	}
	#topwrapper02 ul.topmenu:nth-of-type(1) li:nth-of-type(2) a span {
		background-image: url(../image/menuicon_top.svg);
	}
	#topwrapper02 ul.topmenu:nth-of-type(1) li:nth-of-type(3) a span {
		background-image: url(../image/menuicon_guide.svg);
	}
	#topwrapper02 ul.topmenu:nth-of-type(1) li:nth-of-type(4) a span {
		background-image: url(../image/menuicon_access.svg);
	}
	#topwrapper02 ul.topmenu:nth-of-type(1) li:nth-of-type(5) a span {
		background-image: url(../image/menuicon_experience.svg);
	}
	#topwrapper02 ul.topmenu:nth-of-type(1) li:nth-of-type(6) a span {
		background-image: url(../image/menuicon_event.svg);
	}
	#topwrapper02 ul.topmenu:nth-of-type(1) li:nth-of-type(7) a span {
		background-image: url(../image/menuicon_evententry.svg);
	}
	#topwrapper02 ul.topmenu:nth-of-type(2) li:nth-of-type(2) a span {
		background-image: url(../image/menuicon_climbing.svg);
	}
	#topwrapper02 ul.topmenu:nth-of-type(2) li:nth-of-type(3) a span {
		background-image: url(../image/menuicon_forestry.svg);
	}
	#topwrapper02 ul.topmenu:nth-of-type(2) li:nth-of-type(4) a span {
		background-image: url(../image/menuicon_mountain.svg);
	}
	#topwrapper02 ul.topmenu:nth-of-type(2) li:nth-of-type(5) a span {
		background-image: url(../image/menuicon_about.svg);
	}
	#topwrapper02 ul.topmenu:nth-of-type(2) li:nth-of-type(6) a span {
		background-image: url(../image/menuicon_link.svg);
	}
}
@media screen and (max-width: 849px) {
	#topwrapper02 {
		display: none;
	}
}
/*********************************************
**********************************************
		topwrapper02sp
**********************************************
**********************************************/
@media print,screen and (min-width: 850px) {
	#topwrapper02sp {
		display: none;
	}
}
@media screen and (max-width: 849px) {
	#topwrapper02sp {
		-moz-user-select: none;
		-webkit-user-select: none;
		-ms-user-select: none;
		user-select: none;
	}
	#topwrapper02sp .inner {
		text-align: center;
	}
	#topwrapper02sp .inner #logotoggle {
		text-align: right;
		margin: -45px 30px 0 0;
		height: 37px;
	}
	#topwrapper02sp .inner #logotoggle #toggleTopMenuButton {
		cursor: pointer;
		transition: all 0.3s;
	}
	#topwrapper02sp .inner #logotoggle #toggleTopMenuButton line {
		stroke: #efe;
	}
	#topwrapper02sp .inner > ul {
		padding: 0;
		overflow: hidden;
		transition: all 0.3s;
		background-color: #444;
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		margin: 0 -1px 0 0;
		overflow-x: hidden;
	}
	#topwrapper02sp .inner > ul > li {
		width: 50%;
		font-size: 14px;
		line-height: 4em;
		color: #fff37a;
		border-style: solid solid solid none;
		border-width: 1px;
		border-color: #222;
		margin: -1px 0 0 -1px;
	}
	#topwrapper02sp .inner > ul > li a {
		display: block;
	}
	#topwrapper02sp .inner > ul > li a[target=_blank] {
		background-image: url(../image/icon_external_gray.svg);
		background-repeat: no-repeat;
		background-position: 95% 39%;
	}
	#topwrapper02sp .inner > ul > li a:link,
	#topwrapper02sp .inner > ul > li a:visited {
		text-decoration: none;
		color: #fff;
	}
	#topwrapper02sp .inner > ul > li a:hover {
		text-decoration: none;
		color: #eee;
		background-color: #666;
	}
	#topwrapper02sp .inner > ul > li.on a:link,
	#topwrapper02sp .inner > ul > li.on a:visited {
		text-decoration: none;
		color: #64dd17;
	}
	#topwrapper02sp .inner > ul > li.on a:hover {
		text-decoration: none;
		color: #76ff03;
		background-color: #666;
	}
	/*--menu in icon--*/
	#topwrapper02sp .inner ul li a span {
		padding-left: 25px;
		background-repeat: no-repeat;
		background-position: 0% 50%;
		background-size: 17px auto;
	}
	#topwrapper02sp .inner > ul > li:nth-of-type(1) a span {
		background-image: url(../image/menuicon_top.svg);
	}
	#topwrapper02sp .inner > ul > li:nth-of-type(2) a span {
		background-image: url(../image/menuicon_guide.svg);
	}
	#topwrapper02sp .inner > ul > li:nth-of-type(3) a span {
		background-image: url(../image/menuicon_access.svg);
	}
	#topwrapper02sp .inner > ul > li:nth-of-type(4) a span {
		background-image: url(../image/menuicon_experience.svg);
	}
	#topwrapper02sp .inner > ul > li:nth-of-type(5) a span {
		background-image: url(../image/menuicon_event.svg);
	}
	/*
	#topwrapper02sp .inner > ul > li:nth-of-type(6) a span {
		background-image: url(../image/menuicon_evententry.svg);
	}
	*/
	#topwrapper02sp .inner > ul > li:nth-of-type(6) a span {
		background-image: url(../image/menuicon_climbing.svg);
	}
	#topwrapper02sp .inner > ul > li:nth-of-type(7) a span {
		background-image: url(../image/menuicon_forestry.svg);
	}
	#topwrapper02sp .inner > ul > li:nth-of-type(8) a span {
		background-image: url(../image/menuicon_mountain.svg);
	}
	#topwrapper02sp .inner > ul > li:nth-of-type(9) a span {
		background-image: url(../image/menuicon_about.svg);
	}
	#topwrapper02sp .inner > ul > li:nth-of-type(10) a span {
		background-image: url(../image/menuicon_link.svg);
	}
	#topwrapper02sp .inner > ul > li:nth-of-type(11) a span {
		background-image: url(../image/topkey.svg);
		background-position: 0% 50%;
	}
	#topwrapper02sp .inner > ul > li:nth-of-type(12) a span {
		background-image: url(../image/topban.svg);
		background-position: 0% 50%;
	}
	/*----*/
	#topwrapper02sp .inner > ul > li:nth-of-type(13),
	#topwrapper02sp .inner > ul > li:nth-of-type(14) {
		line-height: 1.2em;
	}
	#topwrapper02sp .inner > ul > li:nth-of-type(13) a,
	#topwrapper02sp .inner > ul > li:nth-of-type(14) a {
		padding: 15px 0;
	}
	#topwrapper02sp .inner > ul > li:nth-of-type(13) a span,
	#topwrapper02sp .inner > ul > li:nth-of-type(14) a span {
		display: inline-block;
		padding: 0 0 0 25px;
	}
}
@media screen and (max-width:369px) {
	#topwrapper02sp .inner > ul > li {
		font-size: 12px;
		line-height: 5em;
	}
	#topwrapper02sp .inner ul li a span {
		padding: 2px 0 2px 20px;
	}
}

/*********************************************
**********************************************
		#transferwrapper01
**********************************************
**********************************************/
@media screen {
	#transferwrapper01 {
		padding: 0 10px;
	}
	#transferwrapper01 .inner {
		max-width: 980px;
		text-align: right;
		margin-left: auto;
		margin-right: auto;
		margin-top: -40px;
	}
	#transferwrapper01 .inner #google_translate_element {
		display: inline-block;
		opacity: 0.5;
		transition: all 0.25s;
	}
	#transferwrapper01 .inner #google_translate_element:hover {
		opacity: 1;
	}
}
@media screen and (max-width:849px) {
	#transferwrapper01 .inner {
		text-align: left;
		margin-top: -8px;
	}
}

/*********************************************
**********************************************
		footerwrapper01
**********************************************
**********************************************/
@media print,screen {
	#footerwrapper01 {
		margin: 0;
		width: 100%;
		text-align: center;
		background-color: #eee;
		-moz-user-select: none;
		-webkit-user-select: none;
		-ms-user-select: none;
		user-select: none;
		background-color: #2a4990;
	}
	#footerwrapper01 .inner {
		text-align: left;
		margin: 0 auto;
		padding: 20px 10px 25px 10px;
		width: 80%;
		display: table;
	}
	#footerwrapper01 .inner ul {
		padding: 0;
		margin: 0;
	}
	#footerwrapper01 .inner ul li {
		list-style: none;
		margin: 7px 0 0 0;
		color: #222;
	}
	#footerwrapper01 .inner ul li a {
		display: inline-block;
	}
	#footerwrapper01 .inner ul li a.on {
		border-style: none none none solid;
		border-width: 3px;
		border-color: #0affc8;
		padding: 0 18px 0 5px;
	}
	#footerwrapper01 .inner ul li a:link
	,#footerwrapper01 .inner ul li a:visited {
		text-decoration: none;
		color: #fff;
	}
	#footerwrapper01 .inner ul li a:hover {
		text-decoration: underline;
	}
	#footerwrapper01 .inner ul li.depth1 {
		font-size: 15px;
		line-height: 15px;
		padding: 10px 0;
	}
	#footerwrapper01 .inner .footermenu12,
	#footerwrapper01 .inner .footermenu34 {
		display: table-cell;
	}
	#footerwrapper01 .inner .footermenu1,
	#footerwrapper01 .inner .footermenu2,
	#footerwrapper01 .inner .footermenu3,
	#footerwrapper01 .inner .footermenu4 {
		display: table-cell;
		white-space: nowrap;
		min-width: 9em;
		width: 25%;
	}
}
@media screen and (max-width: 839px) {
	#footerwrapper01 .inner .footermenu12 {
		width: 40%;
		margin-left: 30%;
	}
	#footerwrapper01 .inner .footermenu34 {
		width: 30%;
	}
	#footerwrapper01 .inner .footermenu1,
	#footerwrapper01 .inner .footermenu2,
	#footerwrapper01 .inner .footermenu3,
	#footerwrapper01 .inner .footermenu4 {
		display: block;
		width: auto;
	}
}
@media screen and (max-width: 409px) {
	#footerwrapper01 .inner .footermenu12,
	#footerwrapper01 .inner .footermenu34 {
		display: block;
		width: auto;
		margin-left: 25%;
	}
}

/*********************************************
**********************************************
		footerwrapper02
**********************************************
**********************************************/
@media print,screen {
	#footerwrapper02 {
		width: 100%;
		background-color: #333;
	}
	#footerwrapper02 .inner {
		margin: 0 auto;
		max-width: 960px;
		padding: 0 10px;
	}
	#footerwrapper02 .inner > div:nth-of-type(1) {
		float: left;
		padding: 20px 0 20px 0;
		margin: 0 20px 0 0;
	}
	#footerwrapper02 .inner > div:nth-of-type(1) > div:nth-of-type(1) {
		font-size: 16px;
		line-height: 1.5em;
		color: #eee;
	}
	#footerwrapper02 .inner > div:nth-of-type(1) > div:nth-of-type(2),
	#footerwrapper02 .inner > div:nth-of-type(1) > div:nth-of-type(3) {
		padding: 15px 0 0 0;
		font-size: 14px;
		line-height: 1.5em;
		color: #eee;
	}
	#footerwrapper02 .inner > div:nth-of-type(1) > div:nth-of-type(2) a {
		text-decoration: none;
		color: #eee;
	}
	#footerwrapper02 .inner > div:nth-of-type(1) > div:nth-of-type(2) a:hover {
		opacity: 0.7;
	}
	#footerwrapper02 .inner > div:nth-of-type(2) {
		float: right;
		padding: 20px 0 20px 0;
		font-size: 14px;
		line-height: 1.5em;
		color: #eee;
	}
}
@media screen and (max-width:809px) {
	#footerwrapper02 .inner {
		text-align: center;
	}
	#footerwrapper02 .inner > div:nth-of-type(1) {
		float: none;
		margin: 0;
		padding: 20px 0 0px 0;
	}
	#footerwrapper02 .inner > div:nth-of-type(2) {
		float: none;
		padding: 25px 0 20px 0;
	}
}

/*--- end of file ---*/
