<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";



/* --------------- *\
 * product_detail
 * guide_detail
\* --------------- */
#product_detail,
#guide_detail {
  padding-bottom: 60px;
}
/* .cover */
#product_detail .cover {
  height: 500px;
  background-color: #e0e0e0;
}
#product_detail .slider,
#guide_detail .slider {
  width: 100%;
}
#product_detail .slider .slide,
#guide_detail .slider .slide {
  /*background-image: url(../img/front/top/cover.png);*/
  height: 500px;
}
@media (max-width: 1219px) {
  #product_detail .cover {
    height: 300px;
  }
  #product_detail .slider .slide,
  #guide_detail .slider .slide {
    height: 300px;
  }
}
@media (max-width: 767px) {
  #product_detail #main_wrapper,
  #guide_detail #main_wrapper {
    padding: 0;
  }
  #product_detail .cover {
    height: 200px;
  }
  #product_detail .slider .slide,
  #guide_detail .slider .slide {
    height: 200px;
  }
}
#product_detail .main section h2,
#guide_detail .main section h2 {
  font-size: 30px;
  font-weight: bold;
}
@media (max-width: 767px) {
  #product_detail .main section h2,
  #guide_detail .main section h2 {
    font-size: 20px;
  }
  #product_detail .breadcrumb ul,
  #guide_detail .breadcrumb ul {
    margin-bottom: 10px;
    padding: 0 15px;
  }
}
/* .description */
.description {
  padding: 38px 42px;
}
.description &gt; div {
  display: flex;
  align-items: flex-start;
  flex-wrap: nowrap;
  justify-content: space-between;
}
.description .product_title,
#base_information .product_title {
  font-size: 30px;
  font-weight: bold;
  margin-right: 10px;
}
.description .product_title + div,
#base_information .product_title + div{
  flex-shrink: 0;
  margin-top: 12px;
}
.description .fav,
#base_information .fav {
  align-self: center;
  font-size: 18px;
  color: #fff;
  text-shadow:0 0 2px #000,0 0 2px #000,0 0 2px #000,0 0 2px #000,0 0 2px #000,0 0 2px #000,0 0 2px #000,0 0 2px #000,0 0 2px #000,0 0 2px #000,0 0 2px #000,0 0 2px #000,0 0 2px #000,0 0 2px #000,0 0 2px #000,0 0 2px #000;
}
.description .fav.on,
#base_information .fav.on {
  color: #ff5b60;
}


.description .overview li {
  padding-left: 30px;
  background-image: url(../img/front/common/icon_list.png);
  background-size: 17px 14px;
  background-position: left top 2px;
  background-repeat: no-repeat;
  font-size: 14px;
}
.link {
  padding: 20px 0;
  border-top: 1px solid #e5e5e5;
}
.link ul {
  width: 100%;
  display: flex;
  justify-content: space-around;
  font-size: 10px;
}
.link a {
  display: block;
  color: #333;
  text-decoration: none;
}
.link a:hover div {
  text-decoration: underline;
}
.link img {
  width: 70px;
}
.link .disable {
  color: #d4d4d4;
}
@media (max-width: 767px) {
  .description {
    padding: 20px;
  }
  .description .product_title {
    font-size: 20px;
    /*margin-right: 10px;*/
  }
  .description .product_title + div,
  .favorite_title .product_title + div{
    margin-top: 4px;
  }
  .description .fav {
    /*width: 22px;*/
    /*align-self: center;*/
  }
  .description li {
    /*padding-left: 30px;*/
    /*background-size: 17px 14px;*/
    background-position: left top 5px;
    /*font-size: 14px;*/
  }
}

/* .link */
/*#product_detail .link {
  padding: 30px 60px 20px;
  border-bottom: 2px solid #e5e5e5;
}
#product_detail .link ul {
  width: 100%;
  display: flex;
  justify-content: space-between;
  font-size: 10px;
}
#product_detail .link a {
  display: block;
  color: #333;
  text-decoration: none;
}*/
#product_detail .link a:hover {
  /*transition: all 0.3s ease;*/
  /*background-image: radial-gradient(ellipse farthest-side, #ccc 0, #fff 100%);*/
  /*text-decoration: underline;*/
}
#product_detail .link img {
  /*width: 70px;*/
}
#product_detail .link .disable {
  /*color: #d4d4d4;*/
}
@media (max-width: 767px) {
  #product_detail .link {
    /*padding: 20px 10px 10px;*/
  }
  #product_detail .link a {
    /*font-size: 10px;*/
  }
  #product_detail .link a:hover {
    /*transition: all 0.3s ease;*/
    /*background-image: radial-gradient(ellipse farthest-side, #ccc 0, #fff 100%);*/
  }
  #product_detail .link img {
    /*width: 70px;*/
  }
}

/* #story */
/* #tour */
#story,
#tour {
  padding: 38px 42px;
}
.group {
  margin-top: 20px;
}
.group &gt; * {
  margin-top: 10px;
}
.group .title {
  font-size: 16px;
  font-weight: bold;
}
.group .body {
  font-size: 14px;
}
.group .youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.group .youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
@media (max-width: 767px) {
  #story,
  #tour {
    padding: 20px;
    word-break: break-all;
  }
  .group {
    /*margin-top: 20px;*/
  }
  .group &gt; * {
    /*margin-top: 10px;*/
  }
  .group .title {
    /*font-size: 16px;*/
  }
  .group .body {
    /*font-size: 14px;*/
  }
  .group img.sp_block {
    width: 100%;
  }
  .group .youtube {
    /*position: relative;*/
    /*width: 100%;*/
    /*padding-top: 56.25%;*/
  }
  .group .youtube iframe {
    /*position: absolute;*/
    /*top: 0;*/
    /*left: 0;*/
    /*width: 100% !important;*/
    /*height: 100% !important;*/
  }
}



/* recommend-info */
#recommend-info {
  padding: 38px 42px 18px 42px;
}
#recommend-info ul {
  margin-top: 10px;
}
#recommend-info ul li {
  display: flex;
  border-top: 1px solid #ccc;
  padding: 20px 10px;
}
#recommend-info ul li div.thumb {
  width: 80px;
  margin-right: 20px;
}
#recommend-info ul li div.thumb img {
  border-radius: 50%;
  width: 80px;
}





#recommend-info .recommend-open[data-readmore] {
 transition: height 750ms;
 overflow: hidden;
}
#recommend-info .recommend-open {
  text-align: left;
  position: relative;
  overflow: hidden;
}
#recommend-info .recommend-open p {
  margin-bottom: 10px;
  word-wrap: break-word;
}
#recommend-info .recommend-open::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 20px; /*グラデーションで隠す高さ*/
  background: -moz-linear-gradient(top,  rgba(255,255,255,0) 0%, rgba(255,255,255,0.6) 70%, rgba(255,255,255,1) 100%);
  background: -webkit-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,0.6) 70%,rgba(255,255,255,1) 100%);
  background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(255,255,255,0.6) 70%,rgba(255,255,255,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 );
}
#recommend-info .recommend-open.is-show::before {
  display: none;
}
#recommend-info .btn-open,
#recommend-info .btn-close{
  cursor: pointer;
  text-decoration: underline;
  color: #00f;
}
#recommend-info .btn-open:hover,
#recommend-info .btn-close:hover {
  opacity: 0.7;
}




#recommend-info ul li div.info {
  width: calc(100% - 100px);
}
#recommend-info ul li div.info h3 {
  font-weight: bold;
  font-size: 16px;
  background-image: url('../img/front/common/osusume_ico.png');
  background-repeat: no-repeat;
  background-size: 24px;
  background-position: top left;
  padding-left: 30px;
  margin-bottom: 6px;
}
#recommend-info ul li div.info p.body {
  margin-bottom: 6px;
}
#recommend-info ul li div.info p.name {
  font-weight: bold;
}
@media (max-width: 767px) {
  #recommend-info {
    padding: 20px;
  }
}





/* #plan */
#plan {
  padding: 38px 42px;
}
#plan form {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  background-color: #f2f2f2;
  padding: 15px 0;
  font-weight: bold;
}
#plan form input {
  border-radius: 4px;
  padding: 10px 10px 8px;
  margin: 0 15px;
}
#plan form input[name="date"] {
  width: 150px;
  background-image: url(../img/front/common/icon_date.png);
  background-repeat: no-repeat;
  background-position: left 10px center;
  background-color: transparent;
  background-size: 23px;
  border: 1px solid #000;
  padding-left: 40px;
}
#plan form input[type="submit"] {
  background: #484848;
  color: #fff;
  border: 1px solid #484848;
  margin-left: 0;
}
@media (max-width: 767px) {
  #plan {
    padding: 20px;
  }
  #plan form {
    /*padding: 15px 0;*/
  }
  #plan form input {
    /*border-radius: 4px;*/
    /*padding: 10px 10px 8px;*/
    /*margin: 0 15px;*/
  }
  #plan form input[type="text"] {
    width: 170px;
    background-position: left 10px center;
    /*border: 1px solid #000;*/
    /*padding-left: 40px;*/
    font-size: 16px;
  }
  #plan form input[type="submit"] {
    /*background: #484848;*/
    /*color: #fff;*/
    /*border: 1px solid #484848;*/
    /*margin-left: 0;*/
    -webkit-appearance: none;
    appearance: none;
  }
}
.plan_list &gt; div {
  position: relative;
  border: 1px solid #d6d6d6;
  margin-top: 17px;
  padding: 20px 15px 0;
}
.plan_list &gt; div.open_ticket {
  padding: 20px 15px 2px;
}

.plan_list .flex {
  align-items: center;
  flex-wrap: nowrap;
}
.plan_list .plan_title {
  font-size: 16px;
  font-weight: bold;
  margin-right: 24px;
}
.plan_list .plan_title + div {
  flex-shrink: 0;
}
.plan_list .plan_price {
  flex-shrink: 0;
}
.plan_list .plan_price .before {
  text-decoration: line-through;
  text-decoration-line: line-through;
  text-align: right;
  margin-right: 40px;
}
.plan_list .plan_price span:first-child {
  font-size: 18px;
  font-weight: bold;
}
.plan_list .plan_price span:first-child span{
  font-size: 10px;
  font-weight: normal;
}
.plan_list .plan_price .before + div {
  color: #ff4200;
}
.plan_list .plan_price + a,
.plan_list span.ticket_choice {
  border: 1px solid #ff4200;
  border-radius: 6px;
  width: 140px;
  height: 40px;
  color: #ff4200;
  font-weight: bold;
  line-height: 38px;
  text-align: center;
  text-decoration: none;
  margin-left: 10px;
}
.plan_list .selected {
  background-color: #fff7f4;
}
.plan_list .plan_price + a:hover,
.plan_list .selected .plan_price + a,
.plan_list span.ticket_choice:hover,
.plan_list span.ticket_choice.selected {
  color: #fff;
  cursor: pointer;
  background-color: #ff4200;
  transition: all 0.3s ease;
}
.plan_list .note {
  border-top: 1px dotted #ccc;
  margin-top: 13px;
  padding: 5px 0 2px;
}
.plan_list .note div {
  align-self: flex-start;
  flex-shrink: 0;
}
.plan_list .note div a {
  color: #ff4200;
  text-decoration: none;
}
.plan_list .note div a:hover {
  text-decoration: underline;
}
.plan_list .note div a i {
  margin: 0 4px;
  font-size: 18px;
}
.plan_list .note div a:hover i {
}
.plan_list .expend {
  position: absolute;
  top: -7px;
  left: 8px;
  background-color: #fad600;
  border-radius: 0 0 2px 2px;
  display: flex;
  width: 25px;
  height: 25px;
  align-items: center;
  justify-content: center;
}
.plan_list .expend::before {
  position: absolute;
  content: '';
  top: 0;
  right: -7px;
  border: none;
  border-bottom: 7px solid #b79d01;
  border-right: 7px solid transparent;
}
.plan_list .expend img {
  width: 15px;
}

.plan_list .exclusion {
  padding: 0;
}
.plan_list .limit_date,
.plan_list .exclusion_date,
.plan_list .limit_time,
#note_limit_date,
#note_exclusion_date,
#note_limit_time {
  color: #ff4200;
  padding-left: 16px;
  background-repeat: no-repeat;
  background-position: top 3px left 0;
  background-size: 13px 13px;
}
#note_limit_date,
#note_exclusion_date,
#note_limit_time {
  margin-top: 10px;
}
.plan_list .limit_date,
#note_limit_date,
.plan_list .limit_time,
#note_limit_time {
  background-image: url('../img/front/product_detail/icon_limit_date.png');
}
.plan_list .exclusion_date,
#note_exclusion_date {
  background-image: url('../img/front/product_detail/icon_exclusion_date.png');
}



@media (max-width: 1219px) {
  .plan_list a {
    width: 100px;
    /*height: 40px;*/
    /*line-height: 38px;*/
  }
}
@media (max-width: 767px) {
  .plan_list &gt; div {
    /*border: 1px solid #d6d6d6;*/
    /*margin-top: 17px;*/
    padding: 15px 15px 0;
  }
  .plan_list .plan_title {
    /*font-size: 16px;*/
    margin-right: 0;
  }
  .plan_list .plan_title + div {
    display: flex;
    margin-top: 10px;
  }
  .plan_list .plan_price .before {
    /*margin-right: 40px;*/
  }
  .plan_list .plan_price span:first-child {
    /*font-size: 18px;*/
  }
  .plan_list .plan_price span:last-child {
    /*font-size: 10px;*/
  }
  .plan_list a {
    width: 140px;
    /*height: 40px;*/
    /*line-height: 38px;*/
  }
  .plan_list p {
    /*margin-top: 13px;*/
    /*padding: 5px 0 2px;*/
  }
  .plan_list .note div {
    margin-top: 5px;
    border-top: 1px dotted #ccc;
    padding-top: 5px;
  }
  #note_limit_date,
  #note_exclusion_date,
  #note_limit_time {
    display: none;
  }
  .modal_active #note_limit_date,
  .modal_active #note_exclusion_date {
    display: block;
  }
}
.fbm_detail {
  background-color: #eff5ff;
  margin-top: 20px;
  padding: 28px 28px 20px;
}
.fbm_detail .fbm_title {
  font-size: 24px;
  font-weight: bold;
  line-height: 29px;
  padding-left: 40px;
  background-image: url(../img/front/common/icon_in_ques.png);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 29px;
}
.fbm_detail .lead {
  margin-top: 15px;
}
.fbm_detail .lead span {
  display: inline-block;
  font-size: 17.5px;
  font-weight: bold;
  color: #3678f2;
  line-height: 15px;
  border-bottom: 5px solid #fff;
}
.fbm_detail ul {
  background-color: #fff;
  font-size: 14px;
  padding: 20px;
  margin-top: 10px;
}
.fbm_detail li {
  background-image: url(../img/front/common/icon_in_check.png);
  background-size: 15px;
  background-repeat: no-repeat;
  background-position: left top;
  padding-left: 23px;
  line-height: 15px;
}
.fbm_detail.ko li br {
  display: none;
}
.fbm_detail li:not(:last-child) {
  margin-bottom: 10px;
}
.fbm_detail .links {
  margin-top: 20px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.fbm_detail.ja .links,
.fbm_detail.cn .links,
.fbm_detail.ko .links {
  align-items: center;
}
.fbm_detail .links p {
  font-weight: bold;
  font-size: 16px;
}
.fbm_detail.ja .links &gt; div,
.fbm_detail.cn .links &gt; div,
.fbm_detail.ko .links &gt; div {
  margin: 0 auto;
}
.fbm_detail.en .links p { font-size: 18.5px; }
.fbm_detail.tw .links p { font-size: 16.5px; }
.fbm_detail.en .links p .pc {
  display: none;
}
.fbm_detail.ja .links p br,
.fbm_detail.cn .links p br,
.fbm_detail.tw .links p br {
  display: none;
}
.fbm_detail .links a.fbm_btn {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 50px 15px 45px;
  background-color: #3678f2;
  border-radius: 5px;
  font-size: 16px;
  line-height: 20px;
  text-decoration: none;
  color: #fff;
  flex-shrink: 0;
}
.fbm_detail .links a.fbm_btn img {
  width: 25px;
  margin-right: 12px;
}
.fbm_detail .send {
  font-size: 11.5px;
  margin-top: 4px;
}
.fbm_detail .send i {
  margin-right: 5px;
}
.fbm_detail .send_sp {
  display: none;
}
@media (max-width: 767px) {
  .fbm_detail {
    padding: 15px;
  }
  .fbm_detail .fbm_title {
    font-size: 20px;
    /*line-height: 29px;*/
  }
  .fbm_detail .links {
    display: block;
  }
  .fbm_detail .send {
    display: none;
  }
  .fbm_detail.ja .links p br {
    display: none;
  }
  .fbm_detail .links a.fbm_btn {
    margin-top: 5px;
    justify-content: center;
  }
  .fbm_detail .links a.fbm_btn br {
    display: none;
  }
  .fbm_detail .send_sp {
    display: block;
    text-align: right;
  }
}

/* #info */
#info {
  padding: 38px 42px;
}
#info th {
  width: 90px;
}
@media (max-width: 767px) {
  #info {
    padding: 20px;
  }
}

/* #guide */
#guide {
  padding: 38px 42px 20px;
}
#guide li {
  border-top: 1px solid #d5d5d5;
  padding: 15px 0 20px;
}
#guide li &gt; img {
  width: 80px;
  flex-shrink: 0;
  margin-right: 15px;
  margin-bottom: 5px;
}
#guide .speakable_lang {
  font-weight: bold;
  margin: 5px 0;
  font-size: 11px;
}
#guide .speakable_lang i {
  margin-right: 5px;
}
#guide .speakable_lang + p {
  line-height: 1.5;
  font-size: 11px;
}

@media (max-width: 1219px) {
}
@media (max-width: 767px) {
  #guide {
    padding: 20px;
  }
}


/* #attention */
#attention {
  padding: 38px 42px;
}
#attention .cancel {
  color: #ff4200;
}
#attention .cancel h5 {
  margin: 25px 0 10px;
  font-size: 16px;
  font-weight: bold;
}
#attention .cancel a {
  text-decoration: none;
}
#attention .cancel a:hover {
  text-decoration: underline;
}
@media (max-width: 767px) {
  #attention {
    padding: 20px;
    word-break: break-all;
  }
}




/* #checklist */
#checklist {
  padding: 38px 42px;
}
#checklist table {
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  #checklist {
    padding: 20px;
    word-break: break-all;
  }
}


/* #access */
#access {
  padding: 38px 42px;
}
#access .map {
  background-color: #ddd;
  height: 200px;
}
#access .root_link {
  margin-top: 20px;
  text-align: right;
  height: 0;
}
#access .root_link a {
  display: inline-block;
  padding: 3px 15px;
  border: 1px solid #666;
  border-radius: 100px;
  color: #333;
  text-decoration: none;
}
#access .address div,
#access .access_detail div {
  font-weight: bold;
  font-size: 16px;
}

#colorbox iframe {
  width: 100%;
  height: 100%;
}


@media (max-width: 767px) {
  #access {
    padding: 20px;
  }
  #access .root_link {
    /*margin-top: 20px;*/
    height: auto;
  }
}

/* #review */
#review {
  padding: 38px 42px;
}
#review_header {
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  border-bottom: 1px solid #e5e5e5;
  padding-bottom: 10px;
}
#review_header a.review-add {
  margin: 0;
  display: flex;
  align-items: center;
  padding: 0 30px;
  font-weight: bold;
  background-color: #000;
  color: #fff;
}
body.osaka #review_header a.review-add {
  background-color: #ffdb14;
  color: #000;
}

#review_ul li {
  padding: 15px 0;
  border-bottom: 1px solid #e5e5e5;
}
#review_ul .nick_name {
  margin-right: 20px;
  font-weight: bold;
  line-height: 24px;
}
#review_ul .star-rating {
  position: relative;
  display:inline-block;
  font-size: 16px;
  margin-right: auto;
}
#review_ul .star-rating .star-rating-item{
  position:absolute;
  overflow: hidden;
}
#review_ul .star-rating .star-rating-item::before{
  content:"★★★★★";
  color: #ffcc33;
}
#review_ul .star-rating::after {
  content:"★★★★★";
  color: #ccc;
}
#review_ul .date {
  font-size: 11px;
  line-height: 24px;
}
#review_ul .title {
  font-size: 16px;
  font-weight: bold;
}
#review_ul .body.open[data-readmore] {
 transition: height 750ms;
 overflow: hidden;
}
#review_ul .body.open {
  text-align: left;
  position: relative;
  overflow: hidden;
}
#review_ul .body.open p {
  margin-bottom: 10px;
  word-wrap: break-word;
}
#review_ul .body.open::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 40px; /*グラデーションで隠す高さ*/
  background: -moz-linear-gradient(top,  rgba(255,255,255,0) 0%, rgba(255,255,255,0.6) 70%, rgba(255,255,255,1) 100%);
  background: -webkit-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,0.6) 70%,rgba(255,255,255,1) 100%);
  background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(255,255,255,0.6) 70%,rgba(255,255,255,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 );
}
#review_ul .body.open.is-show::before {
  display: none;
}
#review_ul .btn-open,
#review_ul .btn-close{
  cursor: pointer;
  text-decoration: underline;
  color: #00f;
}
#review_ul .btn-open:hover,
#review_ul .btn-close:hover {
  opacity: 0.7;
}
#review_ul .good-btn {
  background-color: #fff;
  border: 1px solid #ffdb14;
  font-size: 11px;
  font-weight: bold;
  display: inline-block;
}
#review_ul .good-btn i {
  margin-right: 5px;
}
#review #page_more {
  margin-top: 20px;
}
#review #page_more a {
  background-color: #fff;
  border: 2px solid #000;
  color: #000;
}
#review #page_more a:hover {
  background-color: rgba(0, 0, 0, 0.1);
}
body.osaka #review #page_more a {
  background-color: #ffdb14;
  color: #000;
  border: none;
}
body.osaka #review #page_more a:hover {
  background-color: rgba(255, 219, 20, 0.7);
}
#page_more .button {
  width: 200px;
  padding: 10px;
  font-weight: bold;
}
.review_func {
  display: flex;
  -webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
   width: 100%;
}
.review_func a.translation{
  padding-left: 16px;
  background-image: url('../img/front/product_detail/icon_honyaku.png');
  background-repeat: no-repeat;
  background-position: top 3px left 0;
  background-size: 13px 13px;
}
.review_func .button{
  margin: 0;
}


@media (max-width: 767px) {
  #review {
    padding: 20px;
  }
  #review_header a.review-add {
    padding: 0 20px;
  }
  #review_ul li {
    padding: 10px 0;
  }
  #review_ul li .flex {
    display: flex;
    justify-content: space-between;
  }
  #review_ul .nick_name {
    margin-right: 0;
    order: 1;
  }
  #review_ul .star-rating {
    order: 3;
    width: 100%;
  }
  #review_ul .date {
    order: 2;
  }
}

/* .sidebar */
#product_detail .sidebar .box_shadow,
#guide_detail .sidebar .box_shadow {
  border-top: 6px solid #ffdb14;
  /*padding: 20px 30px;*/
}
.sidebar .fit-sidebar_inner {
  padding: 20px 30px;
}
#product_detail .sidebar h4,
#guide_detail .sidebar h4 {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 15px;
}
#about_price {
  display: none;
}
/*.sidebar #plan_selected .form_contents:not(#ticket_num_select) {*/
.sidebar #plan_selected .form_contents {
  margin-bottom: 0;
  position: relative;
  border: 1px solid #b7b7b7;
}
.sidebar #plan_selected #ticket_num_select {
  border: none;
}
.sidebar #plan_selected #plan_date_select {
  border-bottom: none !important;
}
.sidebar #plan_selected #plan_time_select {
  border-bottom: none !important;
}
.sidebar #plan_selected #plan_num_select {}
.sidebar #plan_selected .form_contents h3 {
  position: absolute;
  left: 4px;
  top: 0;
  line-height: 40px;
}

/*.sidebar .plan_selected .form_contents span.reserve_input {*/
.sidebar span.reserve_input {
  width: 100%;
  /*border: 1px solid #b7b7b7;*/
  display: block;
  padding: 0 10px;
  height: 40px;
  line-height: 38px;
  background-image: url('../img/front/common/arr_s_b_black.png');
  background-repeat: no-repeat;
  background-position: center right 10px;
  background-size: 10px 7px;
  font-size: 15px;
  font-weight: bold;
  text-align: center;
}
/*.sidebar .plan_selected .form_contents span.reserve_input:hover {*/
.sidebar span.reserve_input:hover {
  background-color: #efefef;
}

/* #plan_options_select */
.sidebar article#plan_options_select .inner {
  margin-top: 20px;
  background-color: #f2f2f2;
  padding: 8px;
}
.sidebar article#plan_options_select h5 {
  font-size: 16px;
  font-weight: bold;
  padding-bottom: 6px;
  border-bottom: 1px solid #b2b2b2;
  margin-bottom: 8px;
}
.sidebar article#plan_options_select ul.plan_options {}
.sidebar article#plan_options_select ul.plan_options li:not(:first-child).first {
  border-top: 1px dotted #b2b2b2;
  padding-top: 8px;
  margin-top: 8px;
}
.sidebar article#plan_options_select ul.plan_options li {
  position: relative;
  padding: 0;
}
.sidebar article#plan_options_select ul.plan_options li .option_title {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 20px;
  margin-bottom: 8px;
}
.sidebar article#plan_options_select ul.plan_options li .option_title h6 {
  font-size: 14px;
  font-weight: bold;
  line-height: 20px;
}
.sidebar article#plan_options_select ul.plan_options li .option_title img.icon {
  margin-left: 4px;
}
.sidebar article#plan_options_select ul.plan_options li .option_title img.icon:hover {
  cursor: pointer;
}
.sidebar article#plan_options_select ul.plan_options li div[id^="show_description_"] {}
.sidebar article#plan_options_select ul.plan_options li div[id^="show_description_"] div.modal__header {
  height: 48px;
  position: relative;
  background-color: transparent;
  text-align: center;
  width: calc(100% - 20px);
  border-bottom: 1px solid #000;
  margin: 0 auto 16px auto;
}
.sidebar article#plan_options_select ul.plan_options li div[id^="show_description_"] div.modal__header h6 {
  height: 48px;
  line-height: 48px;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  color: #000;
}
.sidebar article#plan_options_select ul.plan_options li div[id^="show_description_"] div.modal__header a.modal-close {
  position: absolute;
  display: block;
  width: 24px;
  right: 12px;
  top: 12px;
  color: #333;
}
.sidebar article#plan_options_select ul.plan_options li div[id^="show_description_"] div.container {
  padding: 0 10px;
  margin-bottom: 24px;
  overflow-y: scroll;
  max-height: calc(80vh - 88px);
}

.sidebar article#plan_options_select ul.plan_options li div.option_price_req {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.sidebar article#plan_options_select ul.plan_options li .option_price {
  font-weight: bold;
  font-size: 14px;
}
.sidebar article#plan_options_select ul.plan_options li div.option_price_req span.req {
  font-weight: normal;
  color: #ff4200;
  margin-left: 6px;
}
.sidebar article#plan_options_select ul.plan_options li .body {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.sidebar article#plan_options_select ul.plan_options li .body .left {}
.sidebar article#plan_options_select ul.plan_options li .body .left p {
  line-height: 1.3em;
}
.sidebar article#plan_options_select ul.plan_options li .body .right {}
.sidebar article#plan_options_select ul.plan_options li .body .right select {
  height: 30px;
  min-width: 52px;
  text-align: center;
  border-radius: 0;
}
.sidebar article#plan_options_select input{
  display:none;
}
.sidebar article#plan_options_select label{
  width:46px;
  height:20px;
  box-sizing:border-box;
  border:1px solid #b2b2b2;
  float:left;
  border-radius:10px;
  position:relative;
  cursor:pointer;
  transition:.3s ease;
  background:#b2b2b2;
}
.sidebar article#plan_options_select input[type=checkbox]:checked + label{
  background:#ffdb14;
  border:1px solid #ffdb14;
}
.sidebar article#plan_options_select input[type=checkbox]:checked + label:before{
  left:26px;
  border:1px solid #ffdb14;
}
.sidebar #plan_options_select label:before{
  transition:.3s ease;
  content:'';
  width:18px;
  height:18px;
  position:absolute;
  background:white;
  left:0px;
  top:0px;
  box-sizing:border-box;
  border:1px solid #b2b2b2;
  color:black;
  border-radius:10px;
}
.sidebar article#plan_options_select .option_onoff {
  width:46px;
  height: 20px;
  position:relative;
  clear:both;
}
.sidebar article#plan_options_select p.req {
  color: #ff4200;
}




#result_price {
  margin: 20px 0;
}
#result_price ul.product_prices {
  margin-bottom: 12px
}
#result_price ul.product_prices li {
  display: flex;
  justify-content: space-between;
}

#result_price ul.option_prices {}
#result_price ul.option_prices li:not(:first-child).first {
  margin-top: 12px;
}
#result_price ul.option_prices h6 {
  line-height: 1.3em;
}
#result_price ul.option_prices p.prices {
  display: flex;
  justify-content: space-between;
  line-height: 1.3em;
}

#result_price hr {
  border-top: none;
  border-bottom: 1px dashed #666;
  margin-top: 5px;
}
#calculation_result {
  margin-top: 10px;
  font-size: 18px;
  font-weight: bold;
  text-align: right;
}
#product_detail .sidebar .button,
#guide_detail .sidebar .button {
  display: block;
  width: 100%;
  font-size: 15px;
  font-weight: bold;
  background-color: #ffdb14;
  text-align: center;
  padding: 12px;
  border-radius: 6px;
  color: #333;
  text-decoration: none;
}
#product_detail .sidebar .button.disabled,
#guide_detail .sidebar .button.disabled {
  pointer-events: none;
  cursor: pointer;
  opacity: 0.6;
}
#product_detail .sidebar p.note,
#guide_detail .sidebar p.note {
  margin-top: 10px;
  color: #666;
}
@media (max-width: 767px) {
  #product_detail .sidebar,
  #guide_detail .sidebar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 74px;
    overflow: hidden;
    background-color: #fff;
    z-index: 20;
    background-color: rgba(255, 255, 255, 0.9);
  }
  .sidebar .fit-sidebar_inner {
    padding: 0px;
    width: 100%;
    height: 100%;
  }
  #product_detail .sidebar.modal_active,
  #guide_detail .sidebar.modal_active {
    height: 80vh;
    /*overflow: auto;*/
    background-color: #fff;
  }
  #product_detail .sidebar .box_shadow,
  #guide_detail .sidebar .box_shadow {
    /*border-top: 6px solid #ffdb14;*/
    padding: 10px;
    height: 100%;
    background-color: transparent;
  }
  #product_detail .sidebar .modal_btn,
  #guide_detail .sidebar .modal_btn {
    position: relative;
  }
  #product_detail .sidebar.modal_active .modal_btn .open_btn,
  #guide_detail .sidebar.modal_active .modal_btn .open_btn {
    display: none !important;
  }
  #product_detail .sidebar .modal_btn .close_btn,
  #guide_detail .sidebar .modal_btn .close_btn {
    position: absolute;
    display: block;
    width: 30px;
    height: 30px;
    right: 10px;
    top: 0px;
    font-size: 20px;
    text-align: center;
    color: #333;
    text-decoration: none;
  }
  #product_detail .sidebar:not(.modal_active) .modal_btn .close_btn,
  #guide_detail .sidebar:not(.modal_active) .modal_btn .close_btn {
    display: none !important;
  }
  #product_detail .sidebar h4,
  #guide_detail .sidebar h4 {
    /*font-size: 16px;*/
    margin-right: 40px;
  }
  #product_detail .sidebar form,
  #guide_detail .sidebar form {
    /*height: 74px;*/
    height: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    /*box-shadow: 0 10px 10px -10px #333;*/
  }
  /* plan_noselected */
  .sidebar #plan_noselected {
    display: flex;
    justify-content: space-between;
    /*align-items: flex-end;*/
    align-items: center;
    /*height: 74px;*/
    max-height: 100%;
  }
  #about_price {
    display: block;
    margin-right: 10px;
  }
  #about_price .before {
    text-decoration: line-through;
  }
  #about_price span:first-child {
    font-size: 18px;
    font-weight: bold;
    line-height: 22px;
    color: #ff4200;
  }
  #about_price span:first-child span {
    font-size: 12px;
    font-weight: normal;
  }
  /*
  #about_price .price span {
    font-size: 12px;
    font-weight: normal;
  }
  */
  #price_calendar_choice_btn,
  #plan_choice_btn {
    max-width: 50%;
    margin-right: 0;
  }
  /* plan_selected */
  .sidebar .plan_selected .form_contents {
    /*margin-bottom: 8px;*/
  }
  .sidebar .plan_selected .form_contents span.reserve_input {
    /*padding: 0 10px;*/
    /*height: 40px;*/
    /*line-height: 40px;*/
    /*background-position: center right 10px;*/
    /*background-size: 10px 7px;*/
    /*font-size: 15px;*/
  }
  #result_price {
    /*margin-top: 20px;*/
  }
  #result_price hr {
    /*border-bottom: 1px dashed #666;*/
    /*margin-top: 5px;*/
  }
  #calculation_result {
    /*margin-top: 10px;*/
    /*font-size: 18px;*/
  }
  #product_detail .sidebar .button {
    /*font-size: 15px;*/
    /*padding: 12px;*/
    /*border-radius: 6px;*/
  }
  #product_detail .sidebar .button.disabled {
    /*opacity: 0.6;*/
  }
  #product_detail .sidebar p.note {
    /*margin-top: 10px;*/
  }
}
#plan_time_select,
#plan_num_select,
#ticket_num_select {
  position: relative;
}
#ticket_num_select {
  border: 1px solid #b7b7b7;
}
.is_display {
  display: block !important;
}
#plan_time_select .tooltip,
#plan_num_select .tooltip,
#ticket_num_select .tooltip{
  display: none;
  position: absolute;
  z-index: 1;
  transition: opacity 500ms;
  width: 100%;
  top: 40px;
  right: 0;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 20px 10px 50px 10px;
  box-shadow: 2px 2px 4px gray;
}
#plan_num_select .tooltip,
#ticket_num_select .tooltip {
  width: 150%;
}
#plan_time_select .tooltip .tooltip_inner {
  max-height: 220px;
  overflow: auto;
}
#plan_time_select .tooltip a.close,
#plan_num_select .tooltip a.close,
#ticket_num_select .tooltip a.close{
  position: absolute;
  right: 20px;
  bottom: 10px;
}
.num_err_msg {
  font-weight: bold;
  color: #ff4200;
}
#plan_num_select th,
#plan_num_select td,
#ticket_num_select th,
#ticket_num_select td {
  padding-left: 0;
  padding-right: 0;
  vertical-align: middle;
}
span.price_format {
  font-weight: bold;
  color: #ff4200;
}
span.price_format_black {
  font-weight: bold;
  color: #000;
}


@media (max-width: 767px) {
  #plan_num_select .tooltip,
  #ticket_num_select .tooltip {
    width: 100%;
  }
}
/* go_top sp */
@media (max-width: 767px) {
  #product_detail + #go_top,
  #guide_detail + #go_top {
    bottom: 84px;
  }
}





/* #recommends */
#recommends,
#spot_recommends {
  width: 1024px;
  margin: 0 auto;
  padding: 38px 0;
}
#recommends h2,
#spot_recommends h2 {
  text-align: left;
  font-size: 30px;
  font-weight: bold;
  margin-left: 42px;
  margin-bottom: 10px;
}
#recommends .list_slider,
#spot_recommends .list_slider {
  width: 924px;
  margin: 0 auto;
  position: relative;
}
#recommends .more,
#spot_recommends .more {
  margin: 20px 0 0 42px;
}
@media (max-width: 1219px) {
  #recommends,
  #spot_recommends {
    width: 880px;
  }
  #recommends .list_slider,
  #spot_recommends .list_slider {
    width: 814px;
  }
}
@media (max-width: 767px) {
  #recommends,
  #spot_recommends {
    width: 100%;
    padding: 20px 0;
  }
  #recommends h2,
  #spot_recommends h2 {
    font-size: 20px;
    margin-left: 20px;
  }
  #recommends .list_slider,
  #spot_recommends .list_slider {
    width: 86%;
  }
  #recommends .more,
  #spot_recommends .more {
    margin: 20px 0 0 0;
  }
}




/* --------------- *\
 * product_detail
 * jticket
\* --------------- */
#product_detail.jticket {}

/* sidebar */
#product_detail.jticket .sidebar {}

#product_detail.jticket .sidebar #price_result {}






/* --------------- *\
 * product_detail
 * spot
\* --------------- */
#product_detail.spot #base_information {
  padding: 38px 0px;
  display: flex;
  flex-wrap: wrap;
  margin-top: 20px;
}
#product_detail.spot #base_information_main {
  width: 642px;
  border-right: 1px solid #cccccc;
  padding: 0 20px 0 42px;
}
#product_detail.spot #base_information_main .favorite_title {
  display: flex;
  align-items: flex-start;
  flex-wrap: nowrap;
  justify-content: space-between;
}
#product_detail.spot .ul_spot_categories {
  display: flex;
  margin-bottom: 20px;
}
#product_detail.spot .ul_spot_categories li:not(:last-child)::after {
  content: ",";
  margin: 0 6px;
}

#product_detail.spot #base_information_sub {
  width: 372px;
  padding: 0 42px 0 10px;
}
#product_detail.spot #base_information_sub .sub_information {
  margin-bottom: 10px;
  background-size: 15px auto;
  background-repeat: no-repeat;
  background-position: left top 2px;
  padding-left: 26px;
}
#product_detail.spot #base_information_sub .sub_information:last-child {
  margin-bottom: 0;
}
#product_detail.spot #base_information_sub .sub_information.address {
  background-image: url('../img/front/product_detail/ico_address.png');
}
#product_detail.spot #base_information_sub .sub_information.access {
  background-image: url('../img/front/product_detail/ico_access.png');
}
#product_detail.spot #base_information_sub .sub_information.tel {
  background-image: url('../img/front/product_detail/ico_tel.png');
}
#product_detail.spot #base_information_sub .sub_information.price {
  background-image: url('../img/front/product_detail/ico_money.png');
}
#product_detail.spot #base_information_sub .sub_information.business_hours {
  background-image: url('../img/front/product_detail/ico_time.png');
}
#product_detail.spot .open_highlight[data-readmore],
#product_detail.spot .open_content[data-readmore] {
 transition: height 750ms;
}
#product_detail.spot .open_highlight,
#product_detail.spot .open_content {
  text-align: left;
  position: relative;
  overflow: hidden;
}
#product_detail.spot .open_highlight {
  /*height: 155px;*/
}
#product_detail.spot .open_highlight p,
#product_detail.spot .open_content p {
  margin-bottom: 20px;
  word-wrap: break-word;
}
#product_detail.spot .open_highlight::before,
#product_detail.spot .open_content::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 30px; /*グラデーションで隠す高さ*/
  background: -moz-linear-gradient(top,  rgba(255,255,255,0) 0%, rgba(255,255,255,0.6) 70%, rgba(255,255,255,1) 100%);
  background: -webkit-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,0.6) 70%,rgba(255,255,255,1) 100%);
  background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(255,255,255,0.6) 70%,rgba(255,255,255,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 );
}
#product_detail.spot .open_highlight.is-show::before,
#product_detail.spot .open_content.is-show::before {
  display: none;
}
#product_detail.spot #gallery_and_map #gallery #spot_gallery_frame{
  position: relative;
  width: 632px;
  height: 450px;
  background-color: #555;
}
#product_detail.spot #gallery_and_map #gallery #spot_gallery_frame #all_galleries {
  width: 100%;
  padding: 10px;
  background-color: rgba(0, 0, 0, 0.6);
  position: absolute;
  bottom: 0;
  background-image: url('../img/front/product_detail/ico_photo.png');
  background-repeat: no-repeat;
  background-size: 25px 19px;
  background-position: left 14px top 10px;
  padding-left: 50px;
}
#product_detail.spot #gallery_and_map #gallery #all_galleries a {
  color: #fff;
  text-decoration: none;
}
#product_detail.spot #gallery_and_map #gallery #all_galleries a:hover {
  text-decoration: underline;
}
#product_detail.spot #gallery_and_map #gallery {
  width: 632px;
}
#product_detail.spot #gallery_and_map #map {
  width: 372px;
  height: 450px;
}
#product_detail.spot #gallery #spot_gallery_frame {}
#product_detail.spot #spot_contents {
  padding: 38px 42px;
}
#product_detail.spot #spot_contents .ul_spot_contents {}
#product_detail.spot #spot_contents .ul_spot_contents li:not(:last-child){
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #e5e5e5;
}
#product_detail.spot #spot_contents .ul_spot_contents h3 {
  font-size: 30px;
  font-weight: bold;
  margin-bottom: 10px;
}



@media (max-width: 1219px) {
  #product_detail.spot #base_information_main {
    width: 542px;
  }
  #product_detail.spot #base_information_sub {
    width: 320px;
  }
  #product_detail.spot #gallery_and_map #gallery #spot_gallery_frame{
    width: 542px;
    height: 300px;
  }
  #product_detail.spot #gallery_and_map #gallery {
    width: 542px;
  }
  #product_detail.spot #gallery_and_map #map {
    width: 320px;
    height: 300px;
  }
}
@media (max-width: 767px) {
  #product_detail.spot #base_information {
    padding: 20px;
    display: block;
    margin-top: 0;
  }
  #product_detail.spot .product_title {
    font-size: 20px;
  }
  #product_detail.spot .ul_spot_categories {
    margin-bottom: 0;
  }
  #product_detail.spot .link {
    border-top: none;
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 20px;
  }
  #product_detail.spot #base_information_main {
    width: 100%;
    padding: 0 0 20px 0;
    border: none;
  }

  #product_detail.spot .open_highlight p,
  #product_detail.spot .open_content p {
    /*line-height: 24px;*/
  }
  #product_detail.spot #base_information_sub {
    width: 100%;
    padding: 20px 0 0 0;
    border-top: 1px solid #e5e5e5;
  }

  #product_detail.spot #gallery_and_map {
    text-align: center;
  }
  #product_detail.spot #gallery_and_map #gallery #spot_gallery_frame{
    width: 100%;
    height: 250px;
    margin-bottom: 20px;
  }
  #product_detail.spot #gallery_and_map #gallery {
    width: 84%;
    margin: 0 auto;
  }
  #product_detail.spot #gallery_and_map #gallery .slide {
    height: 250px;
  }
  #product_detail.spot #gallery_and_map #gallery .arr_l {
    left: -20px;
    width: 10px;
  }
  #product_detail.spot #gallery_and_map #gallery .arr_r {
    right: -20px;
    width: 10px;
  }
  #product_detail.spot #gallery_and_map #gallery #all_galleries {
    text-align: left;
  }
  #product_detail.spot #gallery_and_map #map {
    width: 100%;
    height: 250px;
  }
  #product_detail.spot .wrapper {
    padding: 0;
  }
  #product_detail.spot #spot_contents {
    padding: 20px;
  }
  #product_detail.spot #spot_contents .ul_spot_contents h3 {
    font-size: 20px;
  }
  #product_detail.spot .sidebar_spot {
    margin-top: 20px;
    text-align: center;
  }
  #product_detail.spot .sidebar_spot img {}
}

/* gallery_slider */
#product_detail.spot .slider_arr_black {
  width: 100%;
}
#product_detail.spot .slider_arr_black .slide {
  height: 450px;
}

@media (max-width: 1219px) {
  #product_detail.spot .slider_arr_black .slide{
    height: 300px;
  }
}
@media (max-width: 767px) {
  #product_detail.spot .slider_arr_black .slide {
    height: 200px;
  }
}

/* photo_list */
.photo_list {
  display: flex;
  flex-wrap:wrap;
}
.photo_list li{
  /*
  width: 160px;
  height: 160px;
  */
  width: 10%;
  height: auto;
}
.photo_list li img{
  width: 100%;
  height: auto;
}
.photo_list li a:hover {
  opacity: 0.4;
}
@media (max-width: 1219px) {
  .photo_list li{
    width: 12.5%;
  }
}
@media (max-width: 767px) {
  .photo_list li{
    width: 25%;
  }
}



</pre></body></html>