/* Reset */

/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
margin:0;
padding:0;
border:0;
outline:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}

body {
line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
display:block;
}

nav ul {
list-style:none;
}

blockquote, q {
quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
content:'';
content:none;
}

a {
margin:0;
padding:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}

/* change colours to suit your needs */
ins {
background-color:#ff9;
color:#000;
text-decoration:none;
}

/* change colours to suit your needs */
mark {
background-color:#ff9;
color:#000; 
font-style:italic;
font-weight:bold;
}

del {
text-decoration: line-through;
}

abbr[title], dfn[title] {
border-bottom:1px dotted;
cursor:help;
}

table {
border-collapse:collapse;
border-spacing:0;
}

/* change border colour to suit your needs */
hr {
display:block;
height:1px;
border:0;   
border-top:1px solid #cccccc;
margin:1em 0;
padding:0;
}

input, select {
vertical-align:middle;
}

* {	
-ms-user-select: none; /* IE 10+ */
-moz-user-select: -moz-none;
-khtml-user-select: none;
-webkit-user-select: none;
user-select: none;
}



/* =================================== */


/* 全体 */

* { box-sizing: border-box; }

html, body { height: 100%;}

body {
  background: #fff;
  font-size: 4vw;
}

.cf::after {
  content: "";
  display: block;
  clear: both;
}

.fl {
  float: left;
}

ul {
/*  width: 100%;*/
  list-style: none;
}

.flex {
  display: flex;
/*  justify-content: space-around;*/
  width: 100%;
}

/*
.flex li {
  padding: 1vw 0;
  color: #ffffff;
  border-radius: 5px;
  border: 0.2vw solid #ffffff;
  width: 30vw;
  text-align: center;
}
*/


.page {
  height: 100%;
  width: 100%;
}


.horizontal { 
	pointer-events: none; 
	position: absolute;
	top: 0;
	left: 0;
	width:100%;
	height: 50%;
	background-color: transparent;
	border-bottom: 1px silver solid;
}

.vertical { 
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	width:50%;
	height: 100%;
	background-color: transparent;
	border-right: 1px silver solid;
}



/* =================================== */

/* レスポンシブルで全体の設定 */

#main {height: 100%; width: 100%; position:absolute;}
@media screen and (min-width:800px) {
    /*　画面サイズが800pxからはここを読み込む　*/
	#main {height: 100%;width: 100%;}
}


span.resp_hide {display:inline;}
#header_area #off ul.flex {/*width:160px;*/ justify-content: flex-end;}
#header_area #off ul.help_off {width:220px;}
#header_area #on ul.flex {/* width:180px; */}
#header_area #on ul.help_on {/* width:220px; */}
li.btnAtrctn {/* width:80px; */}
li#btnForspot {/* width:80px; */}
li#btnStop {/* position:absolute;top:33px;right:140px; */}
#map_area #menu {width:75%;}

@media screen and (min-width:415px) { 
    /*　画面サイズが380pxからはここを読み込む 主にSE　*/
#header_area #off ul.flex {width:auto; justify-content: flex-end;}
#header_area #off ul.help_off {/* width:300px; */}
#header_area #on ul.flex {/* width:190px; */}
#header_area #on ul.help_on {/* width:300px; */ width: auto;}
li.btnAtrctn {/* width:150px; */}
li#btnForspot {/* width:150px; */}
li#btnStop {/* position:absolute;top:0px;right:230px; */}
#map_area #menu {width:85%;}
}

@media screen and (max-width:520px) { 
	#header_area #off ul.flex li {min-width: 64px;}
	span.resp_hide {display:none;}
}

@media screen and (max-width:420px) { 
	#header_area img.logo {
		top:5px;
		width: 70px !important;
	}
}


/* =================================== */


/* 全体 */

body {padding:0px;margin:0px;background:#fff;font-family:sans-serif;width:100%;height:100%;}

/* ボタン共通 */
ul li {min-width:100px;text-align:center;border-radius:5px;
	font-size:12pt;font-family:sans-serif;
	white-space: nowrap;
	font-weight:bold;
	border:1px solid #ccc;
	padding:5px;margin:0 3px;
	background-color:#fff;
	}

#main {
	transform:translate3d(0,0,0);
    position: relative;
    z-index:0;
    display: flex;
    flex-direction: column;
    }
#header_area {
    position: relative;
	width: 100%;
    height: 100px;
    padding :10px 10px;
    background-color: #fff;
    }
#map_area {
    position: relative;
    z-index:0;
    width: 100%;
    flex: 1;
    overflow: auto;
        }
#map_area #map  {
	position: absolute;
	z-index:0;
    width: 100%;
    height: 100%;
   }
#map_area #main_area {
	position: absolute;
	top:0;
	z-index:50;
    width: 100%;
    height: 100%;
   }
#map_area #menu {
	position: absolute;z-index:50;
	bottom:20px;left:10px;
	background:#fff;
	margin:10px;
	padding:0px;
	}


/* menu */
/* menu_box */
.menu_box  {
	/eight:auto;margin:0px;background:#f90;padding:5px;
	border-radius:5px;
	overflow-x: scroll;
	-ms-overflow-style: none;
 	/* Firefox 対応 */
	scrollbar-width: none;
	}
.menu-box flex {
	width:100%;
	display:block;
	}
.menu_box flex::-webkit-scrollbar {
      display: none;
      -webkit-appearance: none;}
.menu_box li {margin:0 2px;border:0;color:#f90;display: inline-block;}

.menu_box:-webkit-scrollbar {
	display:none;
	
}
.menu_box::-webkit-scrollbar {
	display:none;
}

/* event_box */
.event_box  {
	height:27px;margin:0px;background:#0c0;padding:5px;
	border-radius:5px;
	overflow-x: scroll;
	}
.event-box flex {
	display:block;
	}
.event_box flex::-webkit-scrollbar {
      display: none;
      -webkit-appearance: none;}
.event_box li {margin:0 2px;border:0;color:#0c0;width:auto;float:left;}






/* map */
/* ヘッダレイアウト */

/* ヘッダレイアウト共通 */
#header_area  img.logo {position:absolute;left:0;width:100px;}

#header_area  ul.flex {
	/* position:absolute;top:5px;right:0; */
	background:#fff;
	}
#header_area  ul.flex li {
	}
	
/* ヘッダのヘルプ */
#header_area  ul.help_off {
	/* position:absolute;top:38px;right:0px; */
	background:#fff;
	margin-top: 6px;
	}
#header_area  ul.help_off li {
		min-width: 75px;
	}
#header_area  ul.help_on {
	position:absolute;top:38px;right:0px;
	background:#fff;
	}
#header_area  ul.help_on li {
		min-width: 75px;
	}
	
/* ボタンごとデザイン */
li.btnHelp {
	background-color:#f00;color:#fff;border:0;
	/* width:50px;
	position:absolute;top:0px;right:0px; */
	}
li.btnAtrctn {
	background-color:#0c0;color:#fff;border:0px solid #ccc;;
	/* position:absolute;top:0px;right:140px; */
	}
li#btnStop {
	background-color:#fff;color:#000;border:1px solid #ccc;
	/* position:absolute;top:0px;right:170px;
	width:40px; */
	}
li#btnForspot {
	background-color:#fc0;color:#fff;border:0px solid #ccc;
	/* position:absolute;top:0px;right:70px; */
	}
li.btnList {
	background-color:#09c;color:#fff;border:0px solid #ccc;;
	/* position:absolute;top:0px; right:70px; */
	/* width:50px;*/
	}

#header_area #on {position:relative;}
#header_area #off {position:relative;}

/* ヘッダレイアウト アトラクションon */
/* ヘッダの中の時間表示 */
#header_area div.time {
	position:absolute;top:5px;right:0px;
	font-size:20pt;
	}
#header_area div.timetext {display:none;
	position:absolute;top:5px;right:80px;
	font-size:10pt;color:#f00;
	}





/*ウインドウ*/

/* =================================== */

/* レスポンシブルで全体の設定 */

#information .info_box {width:280px;}
#information .info_box .thmb {width:260px;}
.spotImage img  {width:260px;}
@media screen and (min-width:500px) { 
    /*　画面サイズが500pxからはここを読み込む 主にSE　*/
#information .info_box {width:500px;}
#information .info_box .thmb {width:480px;}
.spotImage img  {width:480px;}
}

/* =================================== */

#information {
	display: none;
	position: absolute;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0,0,0,0.5);
	padding: 1vw 0;
	border: 0.2vw solid #ff9933;
	text-align: center;
	border:0;
}
#information .info_box {
	background-color: rgba(255,255,255, 1);
	margin:30px auto;
	padding:10px;
	border-radius:10px;
	}
#information .info_box .spotName {font-size:14pt;margin:10px;}
#information .info_box .spotDesc {font-size:12pt;line-height:18pt;color:#666;line-height:1.2em;}
#information .info_box .spotLink {background:#f90;border-radius:5px;margin:10px;}
#information .info_box .spotLink 	a {font-size:12pt;line-height:18pt;color:#fff;}
#information .info_box .thmb {margin:0 10px 10px 0;}

#information input {border:1px solid #f90;height:30px;background-color:#ffc;}

#btnClose {
	clear:both;font-size:12pt;color:#666;margin:10px;
	background:#ccc;padding:5px;border:1px solid #999;border-radius:5px;
	}



#checkpoint { padding: 2vh 0; }
.passed span,.failed span { border: 1vh #ff0000 solid; color:red; font-weight: bold; }
.timerFailed { color: red; }
.timerSuccess { color: blue; }


.cf::after {
	content: '';
	display: block;
	clear: both;
}



/* アトラクション */


/* =================================== */

/* レスポンシブルで全体の設定 */

/*#opening img { width: 280px; }
#opening img.loading { width: 280px; }*/

@media screen and (min-width:500px) { 
    /*　画面サイズが500pxからはここを読み込む 主にSE　*/
/*#opening img { width: 500px; }
#opening img.loading {width: 500px; }*/
}

/* =================================== */




#logue {
  display: none;
  position: absolute;
/*  width: 90%;
  height: 90%;
  margin:10px auto;*/
/*  left: 25vw;
  top: 25vh;*/
/*  background-color: #ffffff;
  padding: 1vw 0;
  border-radius: 5px;*/
/*  border: 0.2vw solid #ff9933;*/
  text-align: center;
}


#logue {
  display: none;
  margin:10px auto;
  width:100%;
  height:100%;
/*  position: absolute;*/
/*  width: 50vw;
  height: 50vh;
  left: 25vw;
  top: 25vh;*/
  background-color: #000;
  padding: 0px;
}
#logue img {width:100%;}




/* ====オープニング================ */

#opening { position: fixed; left: 0; top: 0; width: 100%; height: 100%; background-color: #009944; }
#opening img.logo { display: block; margin : 20vh auto 0 auto; width: 20vh; }
#opening img.loading { display: block; margin : 20vh auto 0 auto; width: 5vh; }

/* ====フィルム================ */
#film { display: none; position: fixed; left: 0; top: 0; width: 100%; height: 100%; z-index: 100; }

/* ====iOSで入力できない問題の対応============ */

input, textarea {
 -webkit-user-select : auto;
}
input[type=text] {
  font-size: 16px;
  transform: scale(0.8);
}

/* ===== help ===== */
div#help {position:absolute; top:0;
width:100%;height:100%;background-color: rgba(150, 150, 150, 0.7);}
#help iframe {margin:0 5%;width:90%;height:80%;background:#fff;border-radius:10px;}


/* ===== menu2 ===== */
div#menu2 {position:absolute; top:0;
width:100%;height:100%;background-color: rgba(150, 150, 150, 0.7);
overflow:scroll;}
div#menu2 ul {list-style: none;padding:0;margin:0 5%;}

/* ポジション */
div#menu2 ul li {position:relative;}
div#menu2 ul li h3 {position:absolute;top:20px;left:120px;padding:0;margin:0;} 
div#menu2 ul li div.detail {position:absolute;top:40px;left:120px;}

/* 大きさ・位置 */
div#menu2 ul li {padding: 10px;margin-bottom:10px;right: auto;width:auto;}
div#menu2 ul li div.thumbnail {width:100px;}
div#menu2 ul li div.thumbnail img {width:100px;}
div#menu2 ul li h3 {width:190px;overflow:hidden;}
div#menu2 ul li div.detail {padding:10px;}

/* 色・形 */
div#menu2 ul li {border:1px solid #ccc;border-radius:10px;}
div#menu2 ul li img  {}
div#menu2 ul li div.detail {background-color:#f90;border-radius:5px;text-align:center;color:#FFF;}
div#menu2 ul li h3 {font-family:sans-serif;font-size:12pt;text-decoration:none;text-align:left;}
div#menu2 ul li div.detail {font-family:sans-serif;font-size:12pt;font-weight:bold;text-decoration:none;}


/* ===== list ===== */
div#list {position:absolute; top:0;
width:100%;height:100%;background-color: rgba(150, 150, 150, 0.7);
overflow:scroll;}
div#list ul {list-style: none;padding:0;margin:0 5%;width:95%;}

/* ポジション */
div#list ul li {position:relative;}
div#list ul li div.thumbnail  {position:absolute;top:10px;left:10px;}
div#list ul li h3 {position:absolute;top:20px;left:120px;padding:0;margin:0;} 
div#list ul li div.detail {position:absolute;top:40px;left:120px;}

/* 大きさ・位置 */
div#list ul li {height:110px;width:90%;margin-bottom:10px;}
div#list ul li div.thumbnail {width:100px;}
div#list ul li div.thumbnail img {width:100px;}
div#list ul li h3 {width:190px;overflow:hidden;}
div#list ul li div.detail {padding:10px;}

/* 色・形 */
div#list ul li {background-color:#fff;border:1px solid #ccc;border-radius:10px;}
div#list ul li img  {}
div#list ul li div.detail {background-color:#f90;border-radius:5px;text-align:center;color:#FFF;}
div#list ul li h3 {font-family:sans-serif;font-size:12pt;text-decoration:none;text-align:left;}
div#list ul li div.detail {font-family:sans-serif;font-size:12pt;font-weight:bold;text-decoration:none;}


#btnHere {
	clear:both;font-size:12pt;color:#666;margin:10px;
	background:#f90;padding:5px;border-radius:5px;
	color:#fff;
	}

#btnBefore {
	clear:both;font-size:12pt;color:#666;
	background:#ccc;padding:10px;border:1px solid #999;border-radius:10px;
	}

.btnListClose {
	clear:both;font-size:12pt;color:#fff;font-weight:bold;
	background:#666;padding:10px;border-radius:10px;
	margin:5%;width:90%;
	text-align:center;
	}

.btnHelpClose {
	clear:both;font-size:12pt;color:#fff;font-weight:bold;
	background:#666;padding:10px;border-radius:10px;
	margin:5%;width:90%;
	text-align:center;
	}

.btnMenu2Close {
	clear:both;font-size:12pt;color:#fff;font-weight:bold;
	background:#666;padding:10px;border-radius:10px;
	margin:5%;width:90%;
	text-align:center;
	}

.markerText {
	padding-bottom: 0.18em;
	font-weight: bold;
}

*.dummy { color: green !important; }


.btnMenu2 {
	border-radius:10px;
	display: flex;
	height: 60px;
	width: 60px;
	justify-content: center;
	align-items: center;
	background-color: #3584bb;
}
.btnMenu2 span,
.btnMenu2 span:before,
.btnMenu2 span:after {
	content: '';
	display: block;
	height: 4px;
	width: 30px;
	border-radius: 3px;
	background-color: #ffffff;
	position: absolute;
}
.btnMenu2 span:before {
	bottom: 10px;
}
.btnMenu2 span:after {
	top: 10px;
}

.shoulder {
	display: flex;
	position: absolute;
	top: 5px;
	right: 0;
}

.shoulder > div {
	float: right;
	padding-left:5px;
}



#btnFollow {
	background: rgb(255, 255, 255) none repeat scroll 0% 0%;
	border: 0px none;
	margin: 10px;
	padding: 0px;
	text-transform: none;
	/*appearance: none;*/
	position: fixed;
	cursor: pointer;
	user-select: none;
	border-radius: 2px;
	height: 40px;
	width: 40px;
	box-shadow: rgba(0, 0, 0, 0.3) 0px 1px 4px -1px;
	overflow: hidden;
	bottom: 105px;
	right: 0px;
	line-height: 0;
}

#btnFollow svg {
	stroke: #666666;
	fill: #666666;
}

#btnFollow:hover svg {
	stroke: #333333;
	fill: #333333;
}

#btnFollow.active svg {
	stroke: #089c49;
	fill: #089c49;
}

#btnFollow:hover.active svg {
	stroke: #056931;
	fill: #056931;
}

#btnFollow.active svg {
	animation: follow 5s infinite;
}

@keyframes follow {
	0% {
	opacity: 1;
	}
	50% {
	opacity: 0.25;
	}
	100% {
	opacity: 1;
	}
}
