@charset "UTF-8";
/*
Theme Name: awajistamp2025
Author: qulne
Author URI: https://qulne.co.jp/
Description: qulne
*/
.table_cell {
  display: table-cell;
  *display: inline;
  *zoom: 1;
  vertical-align: middle;
}

.imgC,
.tC,
.text-center,
.btn {
  text-align: center;
}

.imgC, .center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.box_size {
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}

.ts_none {
  -webkit-text-shadow: none !important;
  -moz-text-shadow: none !important;
  -ms-text-shadow: none !important;
  -o-text-shadow: none !important;
  text-shadow: none !important;
}

.bs_none {
  -webkit-box-shadow: none !important;
  -ms-box-shadow: none !important;
  -o-box-shadow: none !important;
  box-shadow: none !important;
}

/* clearfix */
.clearfix {
  *zoom: 1;
}
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

/*----------------------------------------------------
	element style 全サイト共通
----------------------------------------------------*/
html {
  font-size: 62.5%;
  scroll-behavior: auto !important;
}
@media screen and (max-width: 991px) {
  html {
    font-size: 60%;
  }
}

body {
  font-size: 1.5rem; /* 15px*/
  line-height: 2;
}

h1 {
  font-size: 32px; /* IE8以下とAndroid4.3以下用フォールバック */
  font-size: calc(2.4rem + (1vw - 0.64rem) * 2.1429); /* 24px~36pxで可変*/
  line-height: 1.3;
}

h2 {
  font-size: 28px; /* IE8以下とAndroid4.3以下用フォールバック */
  font-size: calc(2rem + (1vw - 0.64rem) * 0.7143); /* 20px~24pxで可変*/
  line-height: 1.3;
}

@media (min-width: 1200px) { /* 1200px以上*/
  h1 {
    font-size: 3.2rem; /* 32px*/
  }
  h2 {
    font-size: 2.6rem; /* 24px*/
  }
}
@media screen and (max-width: 640px) { /* 640px以下*/
  body {
    line-height: 2;
  }
  h1 {
    font-size: 2.6rem; /* 24px*/
  }
  h2 {
    font-size: 2.3rem; /* 20px*/
  }
}
body {
  color: #3E2B24;
  font-family: "Zen Kaku Gothic Antique", 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  text-align: justify;
  text-justify: inter-ideograph;
}

input, textarea {
  font-family: "Zen Kaku Gothic Antique", 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

body, html {
  margin: 0px;
  padding: 0px;
  width: 100%;
  height: 100%;
  min-height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

a:link {
  text-decoration: none;
  color: #3E2B24;
}
a:visited {
  color: #3E2B24;
}
a.hover:hover {
  text-decoration: none;
  color: #3E2B24;
}
a:active {
  color: #3E2B24;
}

ul li {
  list-style: none;
}

.container {
  width: 100%;
  max-width: 1320px;
  padding: 0 20px;
  margin: 0 auto;
}
@media screen and (max-width: 991px) {
  .container {
    width: 100%;
    min-width: 100%;
    padding: 0 10px;
  }
}

.container-fluid {
  margin: 0 auto;
}
@media screen and (max-width: 991px) {
  .container-fluid {
    width: 100%;
    min-width: 100%;
  }
}

.container-wrap {
  width: 1290px;
  min-width: 1290px;
  margin: 0 auto;
}
@media screen and (max-width: 991px) {
  .container-wrap {
    width: 100%;
    min-width: 100%;
  }
}

img {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.keycolor {
  color: #603813;
}

.fc_base {
  color: #3E2B24 !important;
}

.fc_blu {
  color: #30AADE !important;
}

.fc_ora {
  color: #E8735A !important;
}

.fc_yel {
  color: #FEE347 !important;
}

.bgc_yel {
  background-color: #FEE347;
}

.bgc_ora {
  background-color: #E8735A;
}

.bgc_pur {
  background-color: #E7D7E7;
}

.object-fit-cover {
  -o-object-fit: cover;
     object-fit: cover;
}

ul.aster, ul.bigdisk {
  padding-left: 1.5em;
}
ul.aster li, ul.bigdisk li {
  text-indent: -1.5em;
}
ul.aster li:before, ul.bigdisk li:before {
  content: "●";
  margin-right: 0.5em;
}

ul.aster li:before {
  content: "※";
}

ul.bigdisk li:before {
  content: "●";
}

.hoveropa:hover {
  opacity: 0.8;
  cursor: pointer;
}

/*----------------------------------------------------
	element style 全サイト共通ここまで
----------------------------------------------------*/
.font-jacques {
  font-family: "Jacques Francois Shadow", cursive;
}

.font_sanchez {
  font-family: "Sanchez", serif;
}

.font-josefin {
  font-family: "Josefin Slab", serif;
}

.font-edu {
  font-family: "Edu VIC WA NT Beginner", cursive;
}

article {
  padding: 0 0 50px;
  scroll-margin-top: 20px;
}

table.table-clickable tr[data-href] {
  cursor: pointer;
}

.arrow {
  display: inline-block;
  vertical-align: middle;
  border: 1px solid #000;
  width: 5rem;
  height: 5rem;
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.arrow::after {
  position: absolute;
  content: url(./images/return_arrow.svg);
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  text-align: center;
  line-height: 46px;
  color: #F8F2DD;
  left: 50%;
  margin-left: -7px;
  top: 50%;
  margin-top: -7px;
  line-height: 15px;
  height: 15px;
  width: 15px;
  cursor: pointer;
  display: block;
  z-index: 1;
}

.btn_box a {
  position: relative;
  display: inline-block;
  font-size: 28px;
  text-align: center;
  line-height: 1.3;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.btn_box a img {
  border-radius: 15px;
}

.btn_box a::before {
  border-radius: 15px;
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  bottom: -5px;
  right: -5px;
  background-image: -webkit-repeating-linear-gradient(135deg, #231815, #231815 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, #231815, #231815 1px, transparent 2px, transparent 5px);
  background-size: 7px 7px;
  z-index: 0;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.btn_box a span {
  position: relative;
  display: block;
  color: #fff;
  bottom: 0px;
  right: 0px;
  z-index: 2;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.btn_box a:hover span {
  -webkit-transform: translate(5px, 5px);
          transform: translate(5px, 5px);
}

a.btn_mystery {
  width: 70%;
  margin: 0 auto;
}

.btn_surface {
  position: absolute;
  top: -5px;
  left: -5px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
a:hover .btn_surface {
  top: 0;
  left: 0;
}

a.btn01 {
  color: #fff !important;
  display: inline-block;
  font-weight: 500;
  line-height: 2.5em;
  border-radius: 100px;
  min-width: 40%;
  background-color: #888;
}
a.btn01:hover {
  opacity: 0.8;
  cursor: pointer;
}
a.btn01.ora {
  background-color: #E8735A;
}
a.btn01.blu {
  background-color: #30AADE;
}

.reverse-x {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}

.reverse-y {
  -webkit-transform: scaleY(-1);
          transform: scaleY(-1);
}

.wave_t {
  width: 100%;
  -webkit-transform: scaleY(-1);
          transform: scaleY(-1);
  margin-top: -3px;
  vertical-align: top;
}

.wave_b {
  width: 100%;
  margin-bottom: -3px;
  vertical-align: bottom;
}

/*----------------------------------------------------
	ヘッダーメニュー
----------------------------------------------------*/
nav {
  text-align: right;
  width: calc(100% - 526px - 10vw);
  height: 100%;
  top: 0;
  left: 10px;
  z-index: 10;
}
nav ul, nav li {
  list-style: none;
  line-height: 40px;
  font-weight: bold;
}
@media screen and (max-width: 991px) {
  nav {
    background: transparent;
  }
}

/*----------------------------------------------------
	ナビゲーション
----------------------------------------------------*/
header {
  top: 0;
  position: fixed;
  width: 100%;
  height: 100%;
  background-image: url(./images/pc_bg3.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  background-color: #bbb;
}
@media screen and (max-width: 991px) {
  header {
    z-index: 998;
    width: initial;
    height: initial;
  }
}
header ul, header ol {
  margin: 0;
  list-style: none;
}
header .header-content {
  margin: 0 auto;
  width: 100%;
  -webkit-transition: padding 0.3s;
  transition: padding 0.3s;
}
@media screen and (max-width: 991px) {
  header img.logo {
    width: 50%;
  }
}
header .days p {
  font-weight: bold;
}
header .days img {
  width: 280px;
}
@media screen and (max-width: 991px) {
  header .days img {
    width: 220px;
  }
}

@media screen and (max-width: 991px) {
  .navigation {
    position: fixed;
    -ms-touch-action: none;
        touch-action: none;
    background-color: #B6DFF2;
    width: 100%;
    height: 100% !important;
    top: 0;
    left: 0;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: opacity 0.5s, visibility 0s 0.5s;
    transition: opacity 0.5s, visibility 0s 0.5s;
  }
}
.navigation ul {
  font-size: 0;
}
.navigation ul li {
  text-align: center;
}
@media screen and (max-width: 991px) {
  .navigation ul li {
    display: block;
    margin-bottom: 5px;
  }
}
.navigation ul li a {
  padding: 0px 20px;
  font-size: 1.8rem;
  text-align: center;
  vertical-align: middle;
  position: relative;
}
@media screen and (max-width: 991px) {
  .navigation ul li a {
    height: initial;
    line-height: initial;
    background: transparent;
    padding: 0px 10px;
    border-right: none;
    margin: 0;
    text-align: center;
  }
}
.navigation > ul > li.menu-item a:hover:after,
.navigation > ul > li.current-menu-item.menu-item a:after,
.navigation > ul > li.menu-item a.active:after {
  width: 50px;
  background: #E8735A;
}

.ios .navigation > ul > li.menu-item a:hover:after {
  width: 0;
}

.navigation > ul > li.menu-item a:after {
  position: absolute;
  right: 0;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 3px;
  margin: 0 auto;
  background: transparent;
  content: "";
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
  -webkit-transform-origin: center center;
          transform-origin: center center;
}

/*メニューボタン*/
.nav-toggle {
  display: none;
  height: 44px;
  overflow: hidden;
  position: fixed;
  right: 10px;
  text-indent: 100%;
  top: 10px;
  white-space: nowrap;
  width: 44px;
  z-index: 99999;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 991px) {
  .nav-toggle {
    display: block;
  }
}

.nav-toggle:before, .nav-toggle:after {
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}

.nav-toggle:before {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}

.nav-toggle:after {
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition-duration: 0s;
          transition-duration: 0s;
}

.nav-toggle span {
  background-color: #603813;
  bottom: auto;
  display: inline-block;
  height: 2px;
  left: 50%;
  position: absolute;
  right: auto;
  top: 50%;
  width: 18px;
  z-index: 10;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}

.nav-toggle span:before, .nav-toggle span:after {
  background-color: #603813;
  content: "";
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.nav-toggle span:before {
  -webkit-transform: translateY(-6px) rotate(0deg);
          transform: translateY(-6px) rotate(0deg);
}

.nav-toggle span:after {
  -webkit-transform: translateY(6px) rotate(0deg);
          transform: translateY(6px) rotate(0deg);
}

.nav-toggle.close-nav:before {
  -webkit-transform: scale(0);
          transform: scale(0);
}

.nav-toggle.close-nav:after {
  -webkit-transform: scale(1);
          transform: scale(1);
}

.nav-toggle.close-nav span {
  background-color: rgba(255, 255, 255, 0);
}

.nav-toggle.close-nav span:before, .nav-toggle.close-nav span:after {
  background-color: #603813;
}

.nav-toggle.close-nav span:before {
  -webkit-transform: translateY(0) rotate(45deg);
          transform: translateY(0) rotate(45deg);
}

.nav-toggle.close-nav span:after {
  -webkit-transform: translateY(0) rotate(-45deg);
          transform: translateY(0) rotate(-45deg);
}

.navigation.open {
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}

/*----------------------------------------------------

----------------------------------------------------*/
.wrap_body {
  position: relative;
}
.wrap_body .wrap_home {
  -webkit-box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.2);
  position: absolute;
  right: 10vw;
  width: 526px;
}
@media screen and (max-width: 991px) {
  .wrap_body .wrap_home {
    left: 0;
    right: 0;
    max-width: 526px;
    margin: 0 auto;
    width: 100%;
  }
}
.wrap_body .wrap_home .main {
  overflow: clip;
  margin: 0 auto;
  background-color: #fff;
}
@media screen and (max-width: 991px) {
  .wrap_body .wrap_home .main {
    width: 100%;
    max-width: 100%;
  }
}

/*----------------------------------------------------
	タイトル
----------------------------------------------------*/
.title_obi .leaf {
  padding: 30px 0;
  position: relative;
}
.title_obi .leaf:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 13px;
}
.title_obi .leaf:after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 13px;
}
.title_obi .leaf.yel:before, .title_obi .leaf.yel:after {
  background: url(./images/icon_leaf_yel.svg) repeat-x;
}
.title_obi .leaf.blu:before, .title_obi .leaf.blu:after {
  background: url(./images/icon_leaf_blu.svg) repeat-x;
}
.title_obi .leaf.ora:before, .title_obi .leaf.ora:after {
  background: url(./images/icon_leaf_ora.svg) repeat-x;
}

/*----------------------------------------------------
	トップ
----------------------------------------------------*/
.home #topimage {
  position: relative;
}
.home #topimage .slick-img img {
  height: 100vh;
  margin: auto;
  max-height: 900px;
  min-height: 750px;
  max-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.home #topimage .ttl {
  position: absolute;
  top: 70px;
  left: 0;
}
.home #topimage .ttl p {
  color: #fff;
  background-color: #000;
  overflow: hidden;
  white-space: nowrap;
  font-size: 2.2rem;
}
.home #topimage .topperiod {
  position: absolute;
  bottom: 50px;
}

/*----------------------------------------------------
	about
----------------------------------------------------*/
#about h2 {
  font-size: 2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; /* 垂直中心 */
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; /* 水平中心 */
  color: #E8735A;
}
#about h2:before, #about h2:after {
  border-top: 2px solid;
  content: "";
  width: 3em; /* 線の長さ */
}
#about h2:before {
  margin-right: 0.5em; /* 文字の右隣 */
}
#about h2:after {
  margin-left: 0.5em; /* 文字の左隣 */
}
#about .jenova {
  background-color: #B6DFF2;
  padding: 0px 0 0px;
}
#about .jenova img.fish {
  position: absolute;
  width: 60px;
  top: 0;
  right: 100px;
}
#about .areamap {
  position: relative;
}
#about img.matsumaru {
  position: absolute;
  width: 24%;
  top: 0;
  left: 10%;
}

.areamap .swaycloud01 {
  top: 0;
  left: -20%;
  width: 380px;
}
@media screen and (max-width: 526px) {
  .areamap .swaycloud01 {
    width: 72vw;
  }
}
.areamap .swaycloud02 {
  bottom: 0;
  right: -20%;
  width: 400px;
}
@media screen and (max-width: 526px) {
  .areamap .swaycloud02 {
    width: 72vw;
  }
}
.areamap .swaycloud03 {
  bottom: 0;
  right: 50%;
  width: 150px;
}
@media screen and (max-width: 526px) {
  .areamap .swaycloud03 {
    width: 30vw;
  }
}

.swaying {
  -webkit-animation: swaying 1s ease-in-out infinite alternate;
          animation: swaying 1s ease-in-out infinite alternate;
}

.swaying11 {
  -webkit-animation-duration: 1.1s;
          animation-duration: 1.1s;
}

.swaying12 {
  -webkit-animation-duration: 1.2s;
          animation-duration: 1.2s;
}

.swaying13 {
  -webkit-animation-duration: 1.3s;
          animation-duration: 1.3s;
}

#matsumaru .modal-header-title, #riddler .modal-header-title {
  position: absolute;
  top: 0;
  width: 100%;
}
#matsumaru .modal-content, #riddler .modal-content {
  background-color: initial !important;
}
#matsumaru .waku, #riddler .waku {
  border: 8px solid #A062A4;
  background-color: #FFF;
}

/*----------------------------------------------------
	story
----------------------------------------------------*/
/*----------------------------------------------------
	method
----------------------------------------------------*/
.slide-arrow:hover {
  opacity: 0.7;
}
.slide-arrow.slick-disabled {
  display: none !important;
}
.slide-arrow.prev-arrow {
  left: calc(20% - 8px);
  z-index: 1;
}
.slide-arrow.next-arrow {
  right: calc(20% - 8px);
}

/*----------------------------------------------------
	mystery
----------------------------------------------------*/
.mystery_t {
  margin-bottom: -2px;
}

#mystery .mystery-block {
  margin-bottom: 10px;
}
#mystery .title h1 img {
  width: 80%;
}
#mystery .title .swaycloud01 {
  top: -70px;
  right: -30%;
  width: 380px;
}
@media screen and (max-width: 526px) {
  #mystery .title .swaycloud01 {
    width: 72vw;
  }
}
#mystery .title .swaycloud02 {
  bottom: 0;
  left: -30%;
  width: 400px;
}
@media screen and (max-width: 526px) {
  #mystery .title .swaycloud02 {
    width: 72vw;
  }
}
#mystery .accordion_area .accordion_btn {
  background-color: #E7D7E7;
}
#mystery .accordion_area .accordion_btn:hover {
  cursor: pointer;
}
#mystery .accordion_area .accordion_btn h2.accordion_name {
  color: #A062A4;
  position: relative;
  width: 100%;
  min-height: 34px;
  vertical-align: middle;
  margin-bottom: 0px;
}
#mystery .accordion_area .accordion_btn h2.accordion_name .no {
  color: #000;
  font-size: 0.7em;
}
#mystery .accordion_area .accordion_btn img.keyhole {
  width: 20px;
  margin-right: 10px;
}
#mystery .accordion_area .accordion_frame {
  display: none;
  margin: 0 auto;
  padding: 10px 5px;
  overflow: hidden;
}
#mystery .accordion_area .accordion_frame.open {
  display: block;
}
#mystery .accordion_icon, #mystery .accordion_icon span {
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#mystery .accordion_icon {
  position: relative;
  width: 30px;
  height: 30px;
  /*＋、－切り替え*/
}
#mystery .accordion_icon span {
  position: absolute;
  width: 30px;
  height: 30px;
}
#mystery .accordion_icon span:nth-of-type(1) {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  background-image: url(./images/icon_accordion_bg.svg);
}
#mystery .accordion_icon span:nth-of-type(2) {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  background-image: url(./images/icon_accordion.svg);
}
#mystery .accordion_icon span:nth-of-type(3) {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  background-image: url(./images/icon_accordion.svg);
}
#mystery .accordion_icon.active span:nth-of-type(2) {
  display: none;
}
#mystery .accordion_icon.active span:nth-of-type(3) {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transform-origin: center;
          transform-origin: center;
}
#mystery .underline {
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  text-underline-offset: 5px;
}
#mystery .underwave {
  background-image: url(./images/underline_w.svg);
  background-size: 5%; /* 幅(100%=文字の長さ) | 高さ(線の太さ) */
  background-position: bottom; /* 下に配置 */
  background-repeat: repeat-x; /* 背景を繰り返さない */
  padding-bottom: 8px; /* オフセット */
}

/*----------------------------------------------------
	present
----------------------------------------------------*/
#present {
  background-color: #FEE347;
}
#present img.stpnum {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 110px;
}
@media screen and (max-width: 991px) {
  #present img.stpnum {
    width: 80px;
  }
}
#present img.item {
  border-radius: 15px;
}
#present .shop {
  text-align: center;
}
#present .shop h2 {
  color: #E8735A;
  font-size: 2.3rem;
  margin-bottom: 0;
}
@media screen and (max-width: 991px) {
  #present .shop h2 {
    font-size: 1.8rem;
  }
}
#present .shop p.price {
  font-weight: bold;
  position: relative;
  margin-bottom: 0;
}
#present .shop p.price::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  width: 100px;
  height: 2px;
  margin: 0 auto;
  content: "";
  background: #3E2B24;
}
#present .shop p.num {
  color: #E8735A;
  font-weight: bold;
  font-size: 4rem;
  line-height: 1em;
  display: inline;
}
#present .shop p.num::after {
  content: "名様";
  font-size: 1.6rem;
}

.present_t {
  width: 100%;
  margin-top: -3px;
  vertical-align: top;
}

.present_b {
  width: 100%;
  margin-bottom: -3px;
  vertical-align: bottom;
}

/*----------------------------------------------------
	MAP
----------------------------------------------------*/
#map .wrapper {
  width: 100%;
  height: 610px;
}
#map .wrapper iframe {
  border: none;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 480px) {
  #map .wrapper {
    position: relative;
    height: auto;
  }
  #map .wrapper::before {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    padding-top: 133.3333333333%;
  }
  #map .wrapper iframe {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
}

/*----------------------------------------------------
	transport
----------------------------------------------------*/
#transport .jenova {
  background-color: #B6DFF2;
  padding: 0px 0 0px;
}

/*----------------------------------------------------
	Q&A
----------------------------------------------------*/
#qa button, #notice button {
  font-weight: 500;
  background-color: #E7D7E7;
  border-radius: 10px;
  padding: 15px 15px;
}
#qa .guidance-item, #notice .guidance-item {
  margin-bottom: 10px;
}
#qa .accordion-body p.answer, #notice .accordion-body p.answer {
  font-size: 1.6rem;
  font-weight: 500;
}

ul.disk li {
  list-style: disc;
}

/*----------------------------------------------------
	注意事項
----------------------------------------------------*/
ol.bracket {
  padding-left: 2em;
  list-style-type: disc;
  list-style-position: outside;
}
ol.bracket > li {
  margin-bottom: 0.5em;
  list-style-type: none;
  counter-increment: cnt;
}
ol.bracket > li::before {
  margin-left: -2em;
  content: "(" counter(cnt) ")　";
}

.modal-content {
  border-radius: 20px;
}
.modal-content .modal-header-title {
  position: relative;
}
.modal-content .modal-header-title button.close {
  position: absolute;
  background: none;
  top: -20px;
  right: -20px;
  width: 60px;
  height: 60px;
  border: none;
  z-index: 1;
}
.modal-content .modal-body p.content {
  font-size: 2rem;
}
.modal-content .modal-footer button {
  font-size: 1.5rem;
}
.modal-content .modal-footer .btn {
  color: #E8735A;
  background-color: initial;
  border: none;
}

/*----------------------------------------------------
	周遊コース
----------------------------------------------------*/
.course img.toptitle {
  width: 80%;
}
.course h3 {
  font-weight: bold;
  position: relative;
  padding: 0 65px;
  text-align: center;
}
.course .info {
  border-bottom: 1px solid #3E2B24;
}
.course .info h3:before {
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background: #3E2B24;
}
.course .info h3 span {
  position: relative;
  padding: 0 1em;
  background: #fff;
}
.course .info p {
  font-weight: normal;
  line-height: 1.5em;
  margin: 0;
}
.course .info p.ml-05 {
  margin-left: -0.5em;
}
.course .infl {
  border: 1px solid #3E2B24;
  border-radius: 20px;
  padding: 20px;
}
.course a.btn_map, .course a.btn_web {
  background-color: #fff;
  font-weight: bold;
  line-height: 2em;
  border-radius: 100px;
}
.course a.btn_map {
  color: #888 !important;
  border: 2px solid #888;
}
.course a.btn_map:hover {
  color: #fff !important;
  background-color: #888;
}
.course a.btn_web {
  color: #E8735A !important;
  border: 2px solid #E8735A;
}
.course a.btn_web:hover {
  color: #fff !important;
  background-color: #E8735A;
}

.youtube {
  width: 100%;
  aspect-ratio: 16/9;
  height: auto;
}
.youtube .modal-dialog {
  max-width: 800px;
  margin: 30px auto;
}
.youtube .modal-body {
  position: relative;
  padding: 0px;
}
.youtube .btn-close {
  position: absolute;
  right: -30px;
  top: 0;
}

.youtube iframe {
  width: 100%;
  height: 100%;
}

/*----------------------------------------------------
	サイトポリシー
----------------------------------------------------*/
#site-policy ul li {
  list-style: decimal;
}

/*----------------------------------------------------
	footer
----------------------------------------------------*/
.footer_banner {
  z-index: 10;
  background-color: #fff;
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  -webkit-transition: 0.6s;
  transition: 0.6s;
}
.footer_banner.hide {
  bottom: -100px;
}
.footer_banner a:hover {
  cursor: pointer;
  opacity: 0.8;
}
.footer_banner img.footer_btn_icon {
  width: 100px;
}
.footer_banner img.footer_btn_text {
  width: 40%;
}
.footer_banner a {
  background-color: #E8735A;
}

footer {
  color: #fff;
  background-color: #A062A4;
}
footer a {
  font-weight: bold;
  line-height: 2.5em;
  border-radius: 100px;
  width: 40%;
  color: #A062A4 !important;
  background-color: #fff;
}
footer a:hover {
  opacity: 0.8;
}

/*----------------------------------------------------
	トップへ戻る
----------------------------------------------------*/
.progress-wrap {
  position: fixed;
  right: 10px;
  bottom: 10px;
  height: 46px;
  width: 46px;
  cursor: pointer;
  display: block;
  border-radius: 50px;
  -webkit-box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.2);
          box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.2);
  z-index: 22;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(15px);
          transform: translateY(15px);
  -webkit-transition: all 200ms linear;
  transition: all 200ms linear;
}
@media screen and (max-width: 526px) {
  .progress-wrap {
    bottom: 18vw;
  }
}

.progress-wrap.active-progress {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.progress-wrap::after {
  position: absolute;
  content: url(./images/return_arrow.svg);
  text-align: center;
  line-height: 46px;
  font-size: 24px;
  color: #F8F2DD;
  left: 0;
  top: 0;
  height: 46px;
  width: 46px;
  cursor: pointer;
  display: block;
  z-index: 1;
  -webkit-transition: all 200ms linear;
  transition: all 200ms linear;
  -webkit-transform: scale(0.3);
          transform: scale(0.3);
}

.progress-wrap:hover::after {
  opacity: 0;
}

.progress-wrap::before {
  position: absolute;
  content: url(./images/return_arrow.svg);
  text-align: center;
  line-height: 46px;
  font-size: 24px;
  opacity: 0;
  background-image: -webkit-linear-gradient(152deg, var(--red), var(--yellow));
  background-image: linear-gradient(298deg, var(--red), var(--yellow));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  left: 0;
  top: 0;
  height: 46px;
  width: 46px;
  cursor: pointer;
  display: block;
  z-index: 2;
  -webkit-transition: all 200ms linear;
  transition: all 200ms linear;
  -webkit-transform: scale(0.3);
          transform: scale(0.3);
}

.progress-wrap:hover::before {
  opacity: 0.5;
}

.progress-wrap svg path {
  fill: none;
}

.progress-wrap svg.progress-circle path {
  stroke: #F8F2DD;
  stroke-width: 4;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: all 200ms linear;
  transition: all 200ms linear;
}

/*----------------------------------------------------
	アニメーション
----------------------------------------------------*/
.fadeIn {
  -webkit-transform: translate3d(0, -10px, 0);
          transform: translate3d(0, -10px, 0);
  -webkit-transition: 1s;
  transition: 1s;
  opacity: 0;
}

.fadeIn.animated_on {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  opacity: 1;
}

/* ----------------------------------------------
  Generated by AnimatiSS
  Licensed under FreeBSD License
  URL: https://xsgames.co/animatiss
  Twitter: @xsgames_
---------------------------------------------- */
.loading {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 1;
  z-index: 1000;
  -webkit-transition: 1s;
  transition: 1s;
}

.loading.hidden {
  visibility: hidden;
  opacity: 0;
}

.animated {
  -webkit-transition: 1s;
  transition: 1s;
  opacity: 0;
}

.animated.animated_on {
  -webkit-transition: 0.5s;
  transition: 0.5s;
  opacity: 1;
}

.bounce-top.animated_on {
  -webkit-animation: bounce-top 0.9s linear both;
          animation: bounce-top 0.9s linear both;
}

@-webkit-keyframes bounce-top {
  0% {
    -webkit-transform: translateY(-45px);
            transform: translateY(-45px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    opacity: 1;
  }
  24% {
    opacity: 1;
  }
  40% {
    -webkit-transform: translateY(-24px);
            transform: translateY(-24px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  65% {
    -webkit-transform: translateY(-12px);
            transform: translateY(-12px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  82% {
    -webkit-transform: translateY(-6px);
            transform: translateY(-6px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  93% {
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  25%, 55%, 75%, 87% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
    opacity: 1;
  }
}

@keyframes bounce-top {
  0% {
    -webkit-transform: translateY(-45px);
            transform: translateY(-45px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    opacity: 1;
  }
  24% {
    opacity: 1;
  }
  40% {
    -webkit-transform: translateY(-24px);
            transform: translateY(-24px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  65% {
    -webkit-transform: translateY(-12px);
            transform: translateY(-12px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  82% {
    -webkit-transform: translateY(-6px);
            transform: translateY(-6px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  93% {
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  25%, 55%, 75%, 87% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
    opacity: 1;
  }
}
.scale-up-center.animated_on {
  -webkit-animation: scale-up-center 0.4s;
          animation: scale-up-center 0.4s;
}

@-webkit-keyframes scale-up-center {
  0% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes scale-up-center {
  0% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes rotateInDownLeft {
  0% {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
            transform: rotate3d(0, 0, 1, -45deg);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes rotateInDownLeft {
  0% {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
            transform: rotate3d(0, 0, 1, -45deg);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
.rotateInDownLeft.animated_on {
  -webkit-animation: rotateInDownLeft 0.5s linear both;
          animation: rotateInDownLeft 0.5s linear both;
}

.ttl_animate {
  overflow: hidden;
  -webkit-transform: translate(-101%, 0);
          transform: translate(-101%, 0);
  -webkit-transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
}

.ttl_animate span {
  display: block;
  -webkit-transform: translate(100%, 0);
          transform: translate(100%, 0);
  -webkit-transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
}

.ttl_animate.ttlslide,
.ttl_animate.ttlslide span {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

#topimage img.logo {
  position: absolute;
  width: 86%;
  top: 47%;
  left: 50%;
}

.logo01 {
  -webkit-transition: 1s;
  transition: 1s;
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
  -webkit-transform: rotate(-45deg) translateY(-50%) translateX(-50%);
          transform: rotate(-45deg) translateY(-50%) translateX(-50%);
  opacity: 0;
}

.logo01.active {
  -webkit-transform: rotate(0) translateY(-50%) translateX(-50%);
          transform: rotate(0) translateY(-50%) translateX(-50%);
  opacity: 1;
}

.logo02 {
  -webkit-transition: 1s;
  transition: 1s;
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
  -webkit-transform: translateY(-50%) translateX(-50%);
          transform: translateY(-50%) translateX(-50%);
  opacity: 0;
}

.logo02.active {
  -webkit-animation-name: fadeScaleAnime;
          animation-name: fadeScaleAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.68, -0.55, 0.27, 1.55);
          animation-timing-function: cubic-bezier(0.68, -0.55, 0.27, 1.55);
}

@-webkit-keyframes fadeScaleAnime {
  from {
    opacity: 0;
    -webkit-transform: scale(2) translateY(-50%) translateX(-50%);
            transform: scale(2) translateY(-50%) translateX(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1) translateY(-50%) translateX(-50%);
            transform: scale(1) translateY(-50%) translateX(-50%);
  }
}

@keyframes fadeScaleAnime {
  from {
    opacity: 0;
    -webkit-transform: scale(2) translateY(-50%) translateX(-50%);
            transform: scale(2) translateY(-50%) translateX(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1) translateY(-50%) translateX(-50%);
            transform: scale(1) translateY(-50%) translateX(-50%);
  }
}
#about .story img.cloud {
  position: absolute;
  width: 86%;
  top: 0;
  z-index: 1;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
#about .story img.cloud.cloud01 {
  top: -50px;
  left: 0;
}
#about .story img.cloud.cloud02 {
  top: 40px;
  right: 0;
}
#about .story img.cloud.cloud03 {
  top: 150px;
  left: 0;
}
#about .story img.cloud.cloud04 {
  top: 300px;
  right: 0;
}
#about .story img.cloud.active.left {
  left: -100%;
}
#about .story img.cloud.active.right {
  right: -100%;
}

.circles {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -1;
}
@media screen and (max-width: 991px) {
  .circles {
    display: none;
  }
}

.circles li {
  position: absolute;
  display: block;
  list-style: none;
  -webkit-animation: animate 40s linear infinite;
          animation: animate 40s linear infinite;
  bottom: -300px;
}

.circles li:nth-child(1) {
  left: -80px;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-duration: 100s;
          animation-duration: 100s;
  opacity: 0.3;
}
.circles li:nth-child(1) img {
  width: 300px;
}

.circles li:nth-child(2) {
  left: 10%;
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}
.circles li:nth-child(2) img {
  width: 100px;
}

.circles li:nth-child(3) {
  left: 15%;
  -webkit-animation-delay: 8s;
          animation-delay: 8s;
}
.circles li:nth-child(3) img {
  width: 100px;
}

.circles li:nth-child(4) {
  left: 40%;
  -webkit-animation-delay: 10s;
          animation-delay: 10s;
  -webkit-animation-duration: 25s;
          animation-duration: 25s;
}
.circles li:nth-child(4) img {
  width: 100px;
}

.circles li:nth-child(5) {
  left: 35%;
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
  -webkit-animation-duration: 45s;
          animation-duration: 45s;
}
.circles li:nth-child(5) img {
  width: 200px;
}

.circles li:nth-child(6) {
  right: 0%;
  -webkit-animation-delay: 3s;
          animation-delay: 3s;
}
.circles li:nth-child(6) img {
  width: 110px;
}

@-webkit-keyframes animate {
  0% {
    -webkit-transform: translateY(0) rotate(0deg);
            transform: translateY(0) rotate(0deg);
    opacity: 0.3;
    border-radius: 0;
  }
  100% {
    -webkit-transform: translateY(-1500px) rotate(720deg);
            transform: translateY(-1500px) rotate(720deg);
    opacity: 0.2;
    border-radius: 50%;
  }
}

@keyframes animate {
  0% {
    -webkit-transform: translateY(0) rotate(0deg);
            transform: translateY(0) rotate(0deg);
    opacity: 0.3;
    border-radius: 0;
  }
  100% {
    -webkit-transform: translateY(-1500px) rotate(720deg);
            transform: translateY(-1500px) rotate(720deg);
    opacity: 0.2;
    border-radius: 50%;
  }
}
@-webkit-keyframes swaying {
  0% {
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px);
  }
  100% {
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
  }
}
@keyframes swaying {
  0% {
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px);
  }
  100% {
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
  }
}