@charset "utf-8";
body {
	font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	color: #333333;
	font-weight: 400;
}
strong {
  font-weight: 600;
}
.indent {
  padding-left: 5em;
}
.small {
  font-size: 0.8em;
}
.text_small {
	font-size: 0.9em;
	color: #3F3F3F;
	line-height: 1.6;
}
.norap {
  white-space: nowrap;
}
.bg_line {
  border: 2px solid #c60606;
}
.color_red {
  color: #c60606;
}
#contact ul {
	font-size: 0.9em;
	line-height: 1.6em;	
}
img {
  max-width: 100%;
  vertical-align: top;
}
img {
  border: 0;
}
.clear {
  clear: both;
}
.clearfix:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden;
}
.clearfix {
  min-height: 1px;
}
/* bugfix */
.clearfix:after {
  content: "."; /* 新しい要素を作る */
  display: block; /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
}
.clearfix {
  min-height: 1px;
}
* html .clearfix {
  height: 1px;
  /*\*/ /*/
  height: auto;
  overflow: hidden;
  /**/
}
a {
  color: #005C0D;
  font-weight: 600;
  text-decoration: underline;
}
a:hover {
  color: #005C0D;
  text-decoration: none;
  background-color: #EFFFEC;
  transition: .4s;
}
h1 {
  font-size: 1.4em;
  border-left: 8px solid #6fba2c;
  border-bottom: 2px solid #6fba2c;
  padding: 0 0 2px 10px;
  line-height: 1.4;
  margin: 0.5em 0;
}
h2 {
  margin: 2em 0 1em;
  font-weight: 600;
  font-size: 1.2em;
  line-height: 1.3;
  border-bottom: 3px solid #6fba2c;
  padding-bottom: 3px;
  padding-left: 2px;
}
h3 {
  border-left: 5px solid #6fba2c;
  padding-left: 5px;
  font-size: 1.2em;
  line-height: 1.3;
  /*maring-top: 2em;*/
  margin: 2em 0 1em;
}
h4 {
  font-size: 1em;
}
h5 {
  font-size: 1em;
  margin: 1em 0 0.3em;
  color: #6fba2c;
}
h5::before {
  content: "◉ ";
}
.data {
  text-align: right;
  padding: 0 1em;
}
section {
  margin: 20px 0px 20px;
}
#contents {
  font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.8em;
  color: #333333;
}
#ticket_info .box {
  background-color: #FFF7F7;
}
#ticket_info .bold {
  font-weight: 600;
}
#lead {
  text-align: justify;
}
#contact ul li {
  list-style-type: none;
  margin: 0 0 15px 0;
}
#contents ul.patronage p {
  margin: 0;
  text-indent: 0;
}
#tour_title {
  margin-right: 1em;
}
/* #visit bg_green list */
#visit .box.bg_green ul {
  padding: 0 2em 0 3em;
}
#visit .box.bg_green ul li {
  list-style: disc;
  padding: 0;
  margin-bottom: 0;
  font-size: 1em;
  line-height: 1.8em;
}
/* table */
#contents table {
  border-collapse: collapse;
  width: 95%;
  margin: 1em auto;
  border-top: solid 1px #ccc;
  border-left: solid 1px #ccc;
}
#contents th, #contents td {
  padding: 5px;
  border-bottom: solid 1px #ccc;
  border-right: solid 1px #ccc;
  font-weight: 300;
}
#contents th {
  width: 8%;
}
#contents th.kikaku {
  background: #f1d6e3;
}
#contents th.tokuten {
  background: #cde9f7;
}
#contents thead th, #contents thead td {
  background: #333;
  font-weight: 600;
  text-align: center;
  color: #fff;
}
.access dt {
  background: #FFF1DB;
  font-weight: 600;
  width: 30%;
  padding: 1em;
  box-sizing: border-box;
  border-top: 1px solid #ccc;
  text-align: center;
}
.access dd {
  background: #FEFCFA;
  padding: 1em;
  margin: 0;
  /*  border-left: 1px solid #ccc;
  border-top: 1px solid #ccc;*/
  width: 70%;
  box-sizing: border-box;
}
br.br {
  display: none;
}
/* credit_pokemon */
div#credit_pokemon {
  padding: 20px 0;
  border-top: 1px dotted #999;
}
#credit_pokemon p {
  font-family: 'メイリオ', 'Meiryo', sans-serif;
  font-size: 0.8em;
  color: #666;
  line-height: 1.4em;
  text-align: center;
}
.button {
  display: block;
  font-weight: bold;
  font-size: 1.2rem;
	line-height: 1.2em;
  /*  -webkit-box-shadow: 0 0 10px rgb(0 0 0 / 15%);
  box-shadow: 0 0 10px rgb(0 0 0 / 15%);*/
  border-radius: 60px;
  min-width: 240px;
  text-align: center;
  padding: 9px 40px;
  -webkit-transition: all 300ms;
  transition: all 300ms;
  position: relative;
  cursor: pointer;
  text-decoration: none !important;
  color: #6fba2c;
  border: 4px solid #6fba2c;
  background-color: #fff;
}
.button span {
  position: relative;
  z-index: 1;
}
.button:hover {
  color: #fff;
  border: 4px solid transparent;
  background: #6fba2c;
  /*border-color: #6fba2c;*/
}
#page-top {
  position: fixed;
  background: rgba(111, 186, 44, 0.90);
  min-width: 50px;
  min-height: 50px;
  line-height: 50px;
  text-align: center;
  color: #fff;
  border-radius: 50%;
  bottom: 9%;
  right: 2%;
}
#page-top:hover {
  cursor: pointer;
  /*background: rgba(0,0,0,.3);*/
  background: rgba(111, 186, 44, 0.50);
}
/* tour_add */
.tour_floor {
	box-sizing: border-box;
  text-align: center;
}
.tour_floor h3 {
  text-align: left;
}
div.tour_map {
  display: inherit;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
}
div.tour_map_center {
  display: flex;
  width: 284.19px;
  margin: 0 auto;
}
div.tour_map a,
div.tour_map_center a {
  display: block;
  position: relative;
  width: 98%;
  margin: 1em auto;
  padding-bottom: 1em;
  box-sizing: border-box;
  border: /*1px solid #ded7c5;*/ 2px solid #ccc;
  border-radius: 10px;
  box-shadow: /*0px 0px 20px 15px #ded7c5 inset;*/0px 0px 20px 8px #dcdcdc inset;
  background: /*#fff;*/ #fcfcfc;
  text-decoration: none;
}
div.tour_map_center a {
  margin: 1em 0px;
}
div.tour_map a:hover,
div.tour_map_center a:hover {
  transform: rotateY(360deg);
  transition: 2s;
}
div.tour_map a dl,
div.tour_map_center a dl {
  text-align: left;
}
div.tour_map dl dd.map_number,
div.tour_map_center dl dd.map_number {
  position: absolute;
  width: 55px;
  height: 55px;
  top: 8px;
  left: 8px;
  margin: 0;
}
div.tour_map dl dd.map_number img,
div.tour_map_center dl dd.map_number img {
  width: 100%;
}
div.tour_map dl dd.map_image,
div.tour_map_center dl dd.map_image {
  width: 88%;
  margin: 1em auto 0;
}
div.tour_map dl dt.map_title,
div.tour_map_center dl dt.map_title {
  width: 96%;
  margin: -.6em auto 0;  
}
div.tour_map dl dd.map_area,
div.tour_map_center dl dd.map_area {
  width: 50%;
  margin: -.3em 2% 0 48%;
}
div.tour_map dl dd.map_area img,
div.tour_map_center dl dd.map_area img {
  width: 100%;
}
div.tour_map dl dd.map_area_sub,
div.tour_map dl dd.map_area_sub2,
div.tour_map_center dl dd.map_area_sub,
div.tour_map_center dl dd.map_area_sub2 {
  color: #333;
  width: 90%;
  margin: 0.7em 0 1.5em 1em; /*0.7em 0 0.5em 2em*/
  line-height: 1.5;
  text-indent: 0; /*-1em*/
}
.btn-wrap p.card_btn {
  color: #fff;
  background: #005c0d;
  display: inline;
  padding: 1.2em .8em .4em .8em;
  margin: 1em auto 0;
  border-radius: 10px;
}
div.tour_map a:hover p.card_btn,
div.tour_map_center a:hover p.card_btn {
  background: #008112;
  transition: .4s;
}
.VR-btn {
	margin: 2em 0 0;
}
.VR-btn a {
  display: block;
	border-radius: 10px;
	background: #005c0d;
	color: #fff;
	padding: 10px;
	text-decoration: none;
  font-size: 1.1em;
}
.VR-btn a:hover {
  background: #008112;
  /*text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;*/
}
/*----------------------------------------------------
PC min-width: 780px-751px
----------------------------------------------------*/
@media screen and (min-width: 780px) {
  /* img_center_flex */
  .img_center_flex {
    display: flex;
    justify-content: center;
    flex-flow: row-reverse;
  }
  .img_center_flex p {
    width: 75%;
  }
  .img_center_flex_cap {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
/* panel_profile */
  #panel_profile {
    margin: .8em 0 .5em;
    display: flex;
    justify-content: space-between;
  }
  #panel_profile .profile {
    position: relative;
    width: 33.3%;
    height: 300px;
  }
  #panel_profile .profile .detail {
    padding: 0 .6em .3em;
    box-sizing: border-box;
    position: absolute;
    bottom: 0;
    left: 3%;
    width: 96%;
    background: #fff;
    border: 1px solid #666;
  }
  #panel_profile .profile .detail h4 {
    font-size: 1.1em;
    font-weight: 600;
    margin-top: 2.5em;/*1.8em*/
  }
  #panel_profile .profile .detail h4 span {
    font-size: .8em;
    font-weight: 300;
  }
  #panel_profile .profile .detail h5 {
    background: #333;
    display: inline-block;
    color: #fff;
    margin: 0;
    padding: .6em .5em 0 .5em;/*0 .5em*/
    font-size: .9em;
    position: absolute;
    top: 0;
    left: 0;
  }
  #panel_profile .profile .detail h5::before {
    content: "";
  }
  #panel_profile #panel_shigeta {
    background: url(../images/tour/panel_shigeta.png);
    background-size: 125px auto;
    background-repeat: no-repeat;
    background-position: top center;
  }
  #panel_profile #panel_tsuihiji {
    background: url(../images/tour/panel_tsuihiji.png);
    background-size: 132px auto;
    background-repeat: no-repeat;
    background-position: top center;
  }
  #panel_profile #panel_tanabe {
    background: url(../images/tour/panel_tanabe.png);
    background-size: 150px auto;
    background-repeat: no-repeat;
    background-position: top center;
  }
}

/*----------------------------------------------------
max-width: 750px-779px
----------------------------------------------------*/
@media screen and (max-width: 750px) {
  #visit .box.bg_green ul {
    padding: 0 0 0 1em;
  }
  #visit .box.bg_green ul li {
    padding: 0;
    margin-bottom: 0;
    font-size: 1em;
    line-height: 1.6em;
  }
  br.br {
    display: inline;
  }
  #contents {
    width: 99%;
    font-size: 16px;
    line-height: 1.6em;
    margin: 0 auto;
    padding: 0 1%;
  }
  /* #contents p {
      text-indent: 0;
    padding: .7em;*/
  /*line-height: 1.4;
  }*/
  .data {
    text-align: right;
    padding: 0;
  }
  section {
    padding: 0 0.5em;
  }
  h1 {
    font-size: 1.1em;
  }
  h2 {
    font-size: 1.1em;
    line-height: 1.3;
    /*margin: 1em 0 1em;*/
  margin: 2em 0 1em;
  }
  h3 {
    border-left: 5px solid #6fba2c;
    padding-left: 5px;
    /*padding: 5px 0 5px 10px;*/
    font-size: 1.1em;
    line-height: 1.3;
    /*margin: 1em 0;*/
  margin: 2em 0 1em;
  }
  h4 {
    font-size: 1em;
  }
  /*  h5 {
    color: #006B9B;
    line-height: 1em;
  }*/
  p#data {
    text-align: right;
    padding-right: 10px;
  }
  div #img_title {
    margin: 1em 0 0 0;
    width: 80%;
  }
  div #img_pikachu {
    margin: 0;
    width: 50%;
  }
  .flexbox-container-vertical-center {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    border: 0px solid;
  }
  /* access */
  #contents #access_box {
    display: block;
  }
  #contents #access_box .map, #contents #access_box .access {
    width: 100%;
  }
  /*access表*/
  .access dl {
    display: inline;
    border: none;
  }
  .access dt {
    background: #FCEFE4;
    color: #333;
    font-weight: 600;
    width: 100%;
    padding: 10px 1em;
    box-sizing: border-box;
    text-align: left;
    border: 0px solid #FCEFE4;
    letter-spacing: 0.2em;
  }
  .access dd {
    padding: .7em;
    margin: 0;
    width: 100%;
    background: #fefcfa;
    box-sizing: border-box;
    border: none;
    line-height: 1.4em;
  }
  .highlite_img {
    margin-top: 2em;
    margin-right: auto;
    margin-left: auto;
    width: 90%;
  }
  /* flyer */
  .flyerPDF a {
    width: 62%;
    margin: 0;
    padding: 25px 5% 25px 31%;
  }
  .credit {
    position: absolute;
    right: 0;
    top: 38px;
    font-size: 0.8em;
    margin-right: 0.5em;
  }
  img.change_pc {
    display: none;
  }
  #contact ul {
    text-indent: 0;
    padding: 0.7em;
    line-height: 1.4;
  }
  .box {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
    padding-right: 10px;
  }
  #faq .box {
    padding-bottom: 40px;
  }
  #contents #access_box .map img {
    border: 1px solid #ccc;
    max-width: 75%;
  }
  .no_sp {
    display: none;
  }
  #ticket_info {
    margin-bottom: 3em;
  }
  #ticket_info .box {
    padding: 20px 20px;
  }
  #ticket_info .lead {
    font-size: 1rem;
  }
  #ticket_info .start_date {
    text-align: center;
    /*font-weight: 600;*/
    font-size: 18px;
    width: 80%;
    border-bottom: 3px solid #c60606;
    margin: 1em auto;
  }
  #ticket_info .start_date_0221 {
    text-align: center;
    /*font-weight: 600;*/
    font-size: 16px;
    width: 18em;
    border-bottom: 2px solid #c60606;
    margin: 1rem auto 0;
  }
}
@media screen and (max-width: 779px) {
/* panel_profile */
  #panel_profile {
    box-sizing: border-box;
    margin: .8em 0 .5em;
    width: 100%;
    position: relative;
  }
  #panel_profile .profile {
    box-sizing: border-box;
    position: relative;
    width: 100%;
    height: 150px;
    margin-bottom: 1em;
  }
  #panel_profile .profile .detail {
    box-sizing: border-box;
    position: absolute;
    width: 70%;
    margin: 0 0 0 30%;
    background: #fff;
    border: 1px solid #666;
    bottom: 0;
    padding: 0 .5em .3em;
  }
  #panel_profile .profile .detail h4 {
    font-size: 1.1em;
    font-weight: 600;
    margin-top: 2.3em;/*1.8em*/
  }
  #panel_profile .profile .detail h4 span {
    font-size: .8em;
    font-weight: 300;
  }
  #panel_profile .profile .detail h5 {
    background: #333;
    display: inline-block;
    color: #fff;
    margin: 0;
    padding: .5em .5em 0; /*0 .5em*/
    font-size: .9em;
    position: absolute;
    top: 0;
    left: 0;
  }
  #panel_profile .profile .detail h5::before {
    content: "";
  }
  #panel_profile #panel_shigeta {
    background: url(../images/tour/panel_shigeta.png);
    background-size: auto 165px;
    background-repeat: no-repeat;
    background-position: top left;
  }
  #panel_profile #panel_tsuihiji {
    background: url(../images/tour/panel_tsuihiji.png);
    background-size: auto 160px;
    background-repeat: no-repeat;
    background-position: top left;
  }
  #panel_profile #panel_tanabe {
    background: url(../images/tour/panel_tanabe.png);
    background-size: auto 152px;
    background-repeat: no-repeat;
    background-position: top left;
  }
}

@media screen and (min-width: 751px) {
  /* contents */
  #contents {
    max-width: 960px;
    width: 98%;
    margin: 15px auto 0;
    line-height: 1.8em;
  }
  h1 {
    width: 100%;
  }
  div #img_title {
    margin: 2em 0 2.5em 0;
    width: 612px;
  }
  div #tour_title img {
  }
  .sub_title {
    /* border-bottom: 3px solid #ccc;*/
    display: block;
    margin-bottom: 0.5em;
    position: relative;
  }
  #data {
    position: relative;
  }
  #data span {
    position: absolute;
    right: 15px;
    top: 0;
    font-size: 0.9em;
  }
  /* table */
  table .norap {
    white-space: nowrap;
  }
  .highlite_img {
    margin-top: 2em;
    margin-right: auto;
    margin-left: auto;
    width: 60%;
  }
  .credit {
    position: absolute;
    right: 0;
    top: 16px;
    font-size: 0.9em;
  }
  img.change_sp {
    display: none;
  }
  .box {
    padding-top: 10px;
    padding-bottom: 40px;
    padding-left: 10px;
    padding-right: 10px;
  }
  #contact ul {
    margin-left: 40px;
  }
  .no_pc {
    display: none;
  }
  #ticket_info {
    font-size: 18px;
    line-height: 1.4;
    margin-bottom: 3em;
  }
  #ticket_info .box {
    padding: 1.5em 2em;
  }
  #ticket_info .sub {
    margin: 1em auto 0;
    font-size: 16px;
    width: 65%;
  }
  #ticket_info .start_date {
    text-align: center;
    /*font-weight: 600;*/
    font-size: 24px;
    width: 65%;
    border-bottom: 3px solid #c60606;
    margin: 1.5rem auto 0;
  }
  #ticket_info .start_date_0221 {
    text-align: center;
    /*font-weight: 600;*/
    font-size: 20px;
    width: 65%;
    border-bottom: 2px solid #c60606;
    margin: 1rem auto 0;
  }
}

/* tour_map専用 */
@media screen and (min-width: 580px) {
   div.tour_map {
    display: flex;
    width: 580px;
  }
  div.tour_map a {
    width: 49%;
  }
}

/*----------------------------------------------------
SP max-width: 479px-374px
----------------------------------------------------*/
@media screen and (max-width: 380px) {
  div.tour_map,
  div.tour_map_center {
    display: block;
    width: 100%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 374px) {
  #contents {
    width: 99%;
    font-size: 14px;
    line-height: 1.6em;
  }
}







