@charset "UTF-8";

/*■Webフォント サブセット読込■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
@font-face {
	font-family: "ZenjidoFont";
	src: url("../assets/ZenjidoJP-FeltPenLMT.woff")  format('woff');
  }

/*■背景アニメーション＆全体設定■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
body {
	margin: 0;
	overflow-x: hidden;/*横スクロール隠*/
	font-size: 0; /*body最下の隙間を消す*/
	font-family: "ZenjidoFont";
	/*background-color: #F5FFCA;*/
	background-image: url(../img/back.svg);
	background-attachment: fixed;
	animation: bgscroll 10s linear infinite;
   }
   @keyframes bgscroll {
	0% {background-position: 0 0;}
	100% {background-position: 133px 0;}
   }

/*■ローディング■Z60■■■■■■■■■■■■■■*/
#loading {
    width: 100%;
	height: 100%;
    transition: all 0.5s;
	background-color: #efe;
	background-image: url(../img/back.svg);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 60;
}
.loaded {
    opacity: 0;
    visibility: hidden;
}
#loading span {
	color:  #4EE700;
	font-size: 40px;
	font-weight:bolder;
	width: 50%; 
	height: 50%;
	position: absolute;
	left: 25%;
	top: 25%;
}
.circle { 
	width: 150px;
	height: 150px;
	position: relative;
	margin: 100px auto;
  }
  
.content {
	color:  #4EE700;
	font-size: 20px;
	font-weight:bolder;
	width: 80px; 
	height: 80px;
	position: absolute;
	left: 25%;
	top: 25%;
	transform: rotate(0deg) translateY(-100%) rotate(0deg);
	background-image: url(../img/loading.gif);
  }
  
.rotate01 {animation: rotate01 2.50s linear 0.0s infinite;}
.rotate02 {animation: rotate01 2.51s linear 0.2s infinite;}
.rotate03 {animation: rotate01 2.52s linear 0.4s infinite;}
.rotate04 {animation: rotate01 2.53s linear 0.6s infinite;}
.rotate05 {animation: rotate01 2.54s linear 0.8s infinite;}
.rotate06 {animation: rotate01 2.55s linear 1.0s infinite;}
.rotate07 {animation: rotate01 2.56s linear 1.2s infinite;}
.rotate08 {animation: rotate01 2.57s linear 1.4s infinite;}
  @keyframes rotate01 { 
	0%   {transform: rotate(0deg) translateY(-100%) rotate(0deg);}
	100% {transform: rotate(360deg) translateY(-100%) rotate(-360deg);}
  }

/*■共通アニメーション■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
.boundFirst{
	animation: bound0-anim 0.8s forwards;
}
@keyframes bound0-anim {
	0% {top: -100%;}
	30% {top: -25%;}
	50% {transform: scale(1);}
	90% {top: 0;transform: scale(1.1,0.8);}
	100% {top: 0;transform: scale(1);}
}

.boundFirstBottom{
	animation: boundFirstBottom-anim 3s forwards;
}
@keyframes boundFirstBottom-anim {
	0%{top:100%;}
	80% {top:100%; transform: scale(1);}
	95% {top:10pt; transform: scale(1.1,0.8);}
	100% {top:10pt; transform: scale(1);}
}


.boundinNosc{
	animation: boundin-anim 0.8s forwards;
}
.boundin {
	opacity : 0;
	transform: translateY(20px);
	/*transition: all 1s;*/
	  /*↓↓↓animationトリガーはJSスクロールバウンドインにて↓↓↓*/
	}
@keyframes boundin-anim {
	0% {transform:  translateY(200%); opacity : 0;}
	/*30% {transform: translateY(25%); opacity : 0.5;}*/
	50% {transform: translateY(0%) scale(1); opacity : 1;}
	90% {transform: translateY(-10%) scale(1.2,0.9); opacity : 1;}
	100% {transform:translateY(0%) scale(1); opacity : 1;}
}

.bound{
	animation: bound1-anim 8s infinite;
	animation-delay: 8s;
	/*animation: bound-anim 0.8s forwards;*/
}
@keyframes bound1-anim {
	0%, 100% {top: 0;transform: scale(1);}
	3% {top: -0%;}
	5% {transform: scale(1);}
	9% {top: 0;transform: scale(1.1,0.8);}
	10% {top: 0;transform: scale(1);}
}

.fadein{
	animation: fadeIn 4s ease 0s 1 normal;
	}
@keyframes fadeIn {
		0% {opacity: 0}
		50% {opacity: 0}
		100% {opacity: 1} 
	}
/*■ヘッダー■Z10■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
/*■top画像を1pxシームレス背景で横幅無限大化■*/
header {
	background-image: url(../img/header_back.png);
	position: relative;/*高さ在り*/
	z-index: 10;
	width: 100%;
}
header div {
	margin: 0 auto;
	width: 1080px;
	height: 135px;
	/*border: 1px solid red;/*ガイド　削除*/
}
header img {
	margin: 0 -210px 0 -210px;
	/*width: 1500px;*/
	/*width: 100%;*/
	/*margin: 0 auto;*/
}

/*■メイン■Z00■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
/*■main背景アニメーション■*/
.main {
	height: 300px;
	width: 100%;
	position: absolute;/*高さ無し*/
	top: 100px;
	z-index: 00;
	background-image: url(../img/main.jpg);
	animation: mainscroll 180s linear infinite,fadeIn2 5s ease 0s 1 normal;
}
@keyframes mainscroll {
	0% {background-position: 400px 0;}
	100% {background-position: -2250px 0;}
}
@keyframes fadeIn2 {
		0% {opacity: 0}
		20% {opacity: 0}
		100% {opacity: 1} 
}

main div {
	margin: 0 auto;
	width: 100%;
	height: 100%;
	width: 1080px;
}

main img {
	display: block;
	margin: 80px auto 0;
	/*margin: 100px auto 0;/*レスポンシブ用*/
}

/*■ナビゲーション■Z30■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
nav {
	position: sticky;
	top: 10px;
	right:86%;
	z-index: 30;
	width: 160px;
	margin: 0 0 0 auto ;
	/*border: 1px solid red;/*ガイド　削除*/
}
nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
	justify-content: center;
	/*display: flex;/*レスポンシブ用*/
}
nav li {
	position:relative;
	margin: 6px;
	width: 120px;
	height: 30px;
	border-radius: 5px;
	box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .8);
	transition: all 300ms 0s ease-out;
}
nav li:hover {
	width: 150px;
	/*height: 60px;/*レスポンシブ用*/
}

/*■ナビゲーション各設定■*/
.nav01 {background: #FF6C6C url(../img/01home.svg) no-repeat center/70px;}
.nav02 {background: #4EE700 url(../img/02map.svg) no-repeat center/90px;}
.nav03 {background: #FF991F url(../img/03facility.svg) no-repeat center/70px;}
.nav04 {background: #46E0DC url(../img/04guide.svg) no-repeat center/110px;}
.nav05 {background: #f0f url(../img/05reservation.svg) no-repeat center/75px;}
.nav06 {background: #58f url(../img/06information.svg) no-repeat center/90px;}
.nav07 {background: #fe0 url(../img/07kuma.svg) no-repeat center/100px;}
/*■navアンカーリンク範囲をliに拡大■*/
nav li a{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
	height: 100%;
}

/*■各タイトル共通■■■■■■■■■■■■■■■■■■■■■■■■*/
#wrap {
	font-size: initial; /*bodyの[font-size: 0;]をリセット*/
	width: 1080px;
	background-color: #efc8;
	/*width: 900px;/*レスポンシブ用*/
	margin: 0px auto;
	/*margin: 200px auto 0 auto;/*レスポンシブ用*/
	/*border: 1px solid red;/*ガイド　削除*/
}

#wrap h1 {
	position: sticky;
	top: 5px;
	z-index: 10;
	width: 100%-140px;
	height: 40px;
	margin: 0;	
	padding: 5px 0 1px 140px;
	border-radius: 5px;
	box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .8);
	font-size: 18px;
}
#wrap h1 img {
	height: 36px;
}

/*.txborder {
	font-size: 30px;
	color: #fff;
	-webkit-text-stroke: 1px #fff;
	text-shadow:
		 3px  3px 2px black,
		-3px  3px 2px black,
		 3px -3px 2px black,
		-3px -3px 2px black,
		 3px  0px 2px black,
		 0px  3px 2px black,
		-3px  0px 2px black,
		 0px -3px 2px black,

		 3px  3px 2px black,
		-3px  3px 2px black,
		 3px -3px 2px black,
		-3px -3px 2px black,
		 3px  0px 2px black,
		 0px  3px 2px black,
		-3px  0px 2px black,
		 0px -3px 2px black;
	}*/

.NotChildFont {
	font-family: "sans-serif";
}
.flex {
	display: flex;
	}
.flex img {
	padding: 0 10%;
	width: 80px;
	}
a, area, .zoom, .footcur {
	cursor: url(../img/foot.png), pointer;
}

.MandMark {
	width: 30px;
	height: 10px;
	padding: 0;
	margin: 0 auto;
	text-align:center;
	line-height:10px;
	font-size: 11px;
	font-weight: bold;
	text-align: bottom;
	background: #f00;
	color: #fff;
	border-radius: 5px;
}

/*■サイトマップ■■■■■■■■■■■■■■■■■■■■■■■■■*/
#map {
	margin: 0 0 0 auto;
	padding-top: 20px;
	width: 1080px;
	/*border: 1px solid #4EE700;/*ガイド　削除*/
}
#map > h1 {
	background: #4EE700;
}
#map figure {
	width: 900px;
	margin: 0 auto;
	/*border: 1px solid red;/*ガイド　削除*/
}

/*■施設■■■■■■■■■■■■■■■■■■■■■■■■■*/
#facility {
	margin: 0 0 0 auto;
	padding-top: 20px;
	width: 1080px;
	/*border: 1px solid #FF991F;/*ガイド 削除*/
}
#facility h1 {
	background: #FF991F;
}
#facility article {
	/*border: 1px solid red;/*ガイド　削除*/
	width: 900px;
	margin: 0 auto;
	display: flex;
	justify-content: flex-start;
    flex-wrap: wrap;
}
#facility > article > div  {
	/*border: 1px solid red;/*ガイド　削除*/
	text-align: center;
	margin: 8px;
	background:rgba(230, 200, 180, 0.4);
	flex-grow: 1;
	width: 30%;
	/*width: 40%;/*レスポンシブ用*/
	border-radius: 5px;
    box-sizing: border-box;
}
#facility h2 {
	width: 92%;
	height: 43px;
	margin: 10px auto;
	padding-top: 7px;
	color: #fff;
	background: #ea8;
	text-shadow: 1px 1px 2px black;
}

.frame {
	width: 90%;
	margin: 0 auto;
	background: #fff;
    box-shadow: 0px 0px 9px 0px #c0c0c0;
	border: 1px solid #c0c0c0;	
}
.zoom {
	margin: 10px;
	overflow: hidden;
	/*cursor: url(../img/foot.png), pointer;
	/*cursor: pointer;*/
}
.zoom img {
	/*width: 100%;*/
    /*padding: 10px;*/
    /*background: #fff;*/
    /*box-shadow: 0px 0px 9px 0px #c0c0c0;*/
	/*border: 1px solid #c0c0c0;*/
	/*box-sizing: border-box;*/
	/*overflow: hidden*/
	/*transition:1s all;*/
}
.zoom img:hover {
	transform:scale(1.1,1.1);
	transition:1s all ease-out;
	}

#facility p {
	margin: 5px auto;
	color: #e68105;
	-webkit-text-stroke: 0.5px #ff8c00;
}

/*■ご利用案内■■■■■■■■■■■■■■■■■■■■■■■■■*/
#userguide {
	margin: 0 0 0 auto;
	padding-top: 20px;
	width: 1080px;
	/*border: 1px solid #46E0DC;/*ガイド 削除*/
}
#userguide h1 {
	background:  #46E0DC;
}
#userguide article {
	width: 900px;
	margin: 0 auto;
	/*border: 1px solid red;/*ガイド　削除*/
	padding: 0 50px;
	box-sizing: border-box;
}

#userguide h2 {
	margin: 15px 0 0 0;
	color:  #46E0DC;
	border-bottom: 3px solid #46E0DC;
	text-shadow: 1px 1px 2px black;
}
#userguide div {
	margin: 16px auto 0 auto;
	padding: 10px 30px ;
	font-size: 14px;
	/*-webkit-text-stroke: 0.5px #000;*/
	background: #46E0DC44;
	border-radius: 5px;
	/*border: 1px solid red;/*ガイド　削除*/
}
#userguide h3 {
	white-space: nowrap;
	margin: auto 0;
	color: #18f;
	/*-webkit-text-stroke: 0.5px #18f;
	/*border: 1px solid red;/*ガイド　削除*/
}
#userguide address {
	margin: auto 20px;
	display:block;
	/*border: 1px solid red;/*ガイド　削除*/
}


#userguide table{
	width: 60%;
	margin: 10px;
	border-collapse: collapse;
	border-top: 1px solid #18f;
  }
#userguide tr{
	border-bottom: 1px solid #18f;
  }
#userguide th {
	width: 10%;
	white-space: nowrap;
	margin: auto 0;
	color: #18f;
	/*border: 1px solid #c0c;/*ガイド　削除*/
}
#userguide td {
	padding: 5px 20px;
	font-size: 14px;
	/*border: 1px solid #c0c;/*ガイド　削除*/
}

#userguide map {
	width: 57%;
	max-width: 600px;
}
#userguide map img {
	display: block;
	width: 100%;
	padding: 10px 0 0 0;
}

#userguide figure {
	width: 43%;
	/*height: 400px;*/
	margin:  20px 0 0 20px;
	box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .8);
	/*border: 1px solid red;/*ガイド　削除*/
}

/*■ご予約■■■■■■■■■■■■■■■■■■■■■■■■■*/
#reservation {
	margin: 0 0 0 auto;
	padding-top: 20px;
	width: 1080px;
	/*border: 1px solid #46E0DC;/*ガイド 削除*/
}
#reservation h1 {
	background:  #ff00ff;
}
#reservation article {
	width: 900px;
	margin: 0 auto;
	/*border: 1px solid red;/*ガイド　削除*/
	padding: 0 50px;
	box-sizing: border-box;
}

#reservation h2 {
	margin: 15px 0 0 0;
	color:  #ff00ff;
	border-bottom: 3px solid #ff00ff;
	text-shadow: 1px 1px 2px black;
}
#reservation > article > div {
	margin: 16px auto 0 auto;
	padding: 10px 30px ;
	font-size: 14px;
	background: #ff00ff44;
	border-radius: 5px;
	/*border: 1px solid red;/*ガイド　削除*/
}

#reservation table{
	margin: 10px;
	border-collapse: collapse;
	width: 700px;
	border-top: 1px solid #c0c;
  }
#reservation tr{
	border-bottom: 1px solid #c0c;
  }
#reservation th, #reservation h3 {
	white-space: nowrap;
	margin: auto 0;
	color: #c0c;
	/*-webkit-text-stroke: 0.5px #c0c;*/
	/*border: 1px solid #c0c;/*ガイド　削除*/
}
#reservation td {
	padding: 8px 5px;
	font-size: 14px;
	/*border: 1px solid #c0c;/*ガイド　削除*/
}

#area2, #area3 {
	display: none;
}

.resbutton {
	width: 120px;
	padding: 5px 0;
	color: #fff;
	font-weight: bold;
	background: linear-gradient(to bottom, #f8f 0%, #c0c 100%);
	border: 1px solid #c0c;
	border-radius: 5px;
}

#reservation article span {
	display: block;
	text-align: center;
	padding: 5px;
}


/*■お知らせ■■■■■■■■■■■■■■■■■■■■■■■■■*/
#information {
	margin: 0 0 0 auto;
	padding-top: 20px;
	width: 1080px;
	/*border: 1px solid #46E0DC;/*ガイド 削除*/
}
#information h1 {
	background:  #58f;
}
#information article {
	width: 900px;
	margin: 0 auto;
	/*border: 1px solid red;/*ガイド　削除*/
	padding: 0 50px;
	box-sizing: border-box;
}

#information > article > div {
	height: 135px;
	margin: 16px auto 10px auto;
	padding: 20px 30px ;
	font-size: 14px;
	background: #58f4;
	border-radius: 5px;
	/*border: 1px solid red;/*ガイド　削除*/
}
.scrollshell {
	scrollbar-base-color: #ff0000;
	height: 130px;
	overflow-y: scroll;
	overflow-x: hidden;
	/*border: 1px solid blue;/*ガイド　削除*/
}
.scrollshell::-webkit-scrollbar {
	width: 15px;
  }
.scrollshell::-webkit-scrollbar-track {
	border-radius: 3px;
	box-shadow: 0 0 4px #aaa inset;
  }
.scrollshell::-webkit-scrollbar-thumb {
	border-radius: 3px;
	background: #58f;
  }

#information table{
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid #58f;
	/*border: 1px solid red;/*ガイド　削除*/
  }
#information tr{
	border-bottom: 1px solid #58f;
	text-align: left
	/*border: 1px solid #c0c;/*ガイド　削除*/
  }
#information th{
	padding: 8px 10px;
	white-space: nowrap;
	color: #58f;
	/*border: 1px solid #c0c;/*ガイド　削除*/
}
#information td {
	padding: 8px 5px;
	font-size: 12px;
	/*border: 1px solid #c0c;/*ガイド　削除*/
}


/*■フッター■Z10■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
footer {
	background-image: url(../img/footer_back.png);
}
footer div {
	margin: 0 auto;
	width: 1080px;
	height: 150px;
	background-color: #efc5;
	/*border: 1px solid red;/*ガイド　削除*/
}
footer img {
	width: 1500px;
	height: 150px;
	margin: 0 -210px 0 -210px;
	/*margin: 0 0 0 -140px;/*レスポンシブ用*/
}

/*■モーダルウインドウ■Z30■■■■■■■■■■■■■■*/
#modal-site  {
	font-size: initial; /*bodyの[font-size: 0;]をリセット*/
	/*visibility: visible;*/
	visibility: hidden;
	/*opacity: 0;*/
	position: fixed;
	z-index: 40;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(30,30,30,0.7);
  }
#modal-inside {
	position: absolute;
	top: 50%;
	left: 50%;
	transform:translate(-50%,-50%);
	/*width: 90%;*/
	/*max-width: 800px;*/
	/*height: 500px;*/
	padding: 10px;
	background-color: #fff;
	background-image: url(../img/back.svg);
	text-align : center;
	box-sizing: border-box;
}
#modal-site h1 {
	text-align: center;
	margin: 10px auto;
	color: #fff;
	/*background: #4EE700;*/
	text-shadow: 1px 1px 2px black;
}
#imgbox {
	width: 80%;
	height: 73%;
	margin: 0 auto;
	/*border: 1px solid red;/*削除*/
}
#siteimg {
	max-height: 100%;
	max-width: 100%;
	height: auto;
	width :auto;
}
#etcbox {
	height: 90px;
	object-fit: contain;
	/*border: 1px solid red;/*削除*/
}
#modal-site p {
	-webkit-text-stroke: 0.5px #000;
	margin: 10px;
}

/*■くま■Z20■■■■■■■■■■■■■■*/
#kumamove {
	border: 1px solid yellow;/*削除*/
	position: absolute;
	z-index: 20;
	top: 0;
	left: 0;
}
#kuma {
	position: absolute;
	z-index: 42;
	width: 150px; /*クリック範囲*/
	height: 150px; /*クリック範囲*/
	cursor: url(../img/ami.png), pointer;
	/*border: 1px solid red;/*ガイド　削除*/
}
#kuma img {
	width: 60px;
	height: 60px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform : translate(-50%,-50%);
	transform : translate(-50%,-50%);
	filter: drop-shadow(5px 5px 10px #000);
	/*border: 1px solid red;/*ガイド　削除*/
}

/*■レスポンシブ■■■■■■■■■■■■■■*/
@media screen and (max-width: 1080px) {

	body {
		overflow-x: scroll;
	   }
	main img {
		margin: 90px auto 0;
	}
	nav {
		width: 100%;
		height: 50px;
	}
	nav ul {
		display: flex;
	}
	nav li:hover {
		width: 120px;
		height: 45px;
	}
	#wrap {
		margin: 210px auto 0 auto;
	}
	#wrap h1 {
		top: 55px;
	}
	#wrap section {
		padding-top: 70px;	
	}
	#facility > article > div   {
		width: 40%;
	}
	#userguide div {
		display: block;
	}
	#userguide figure {
		width: 95%;
		height: 400px;
	}

	#modal-site div {
		width: 100%;
		max-width: initial;
	}
	.flex img {
		display: none;
		}
		#userguide table{
			width: 100%;
		  }
	  
}


@media (max-width: 375px) {
	#facility div  {
		width: 100%;
		max-width: initial;	
	}
}





