@charset "UTF-8";
/*==================================================================================================
    サイト基礎
==================================================================================================*/
/*==================================================================================================
    main
==================================================================================================*/
.top-main-cont {
  height: 250vh;
}
.top-main {
  background: url(../img/top/main_bg.png) no-repeat;
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 100vh;
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  top: 0;
  -webkit-transition: 0;
  transition: 0;
}
.top-main__logo {
  position: absolute;
  top: 1.5625em;
  left: 1.375em;
  width: 23.625em;
}
.top-main__ttl {
  position: absolute;
  top: 42%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 10;
  width: 29.7916666667%;
  max-width: 572px;
  -webkit-transition: opacity 0.1s;
  transition: opacity 0.1s;
}
.top-main__ttl.active {
  opacity: 0;
}
@media screen and (max-width: 768px) {
  .top-main__ttl {
    width: 90%;
  }
}
.top-main__txt {
  position: absolute;
  top: 42%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 10;
  width: 44.6354166667%;
  max-width: 857px;
  -webkit-transition: opacity 0.1s;
  transition: opacity 0.1s;
}
.top-main__txt.active {
  opacity: 0;
}
@media screen and (max-width: 768px) {
  .top-main__txt {
    width: 90%;
  }
}
.top-main__scrl {
  position: absolute;
  left: 50%;
  bottom: 12em;
  width: 3.28125%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  min-width: 35px;
  -webkit-transition: bottom 0.3s;
  transition: bottom 0.3s;
}
@media screen and (max-width: 768px) {
  .top-main__scrl {
    bottom: 15em;
  }
}
.top-main__scrl.active {
  bottom: 2em;
}
@media screen and (max-width: 768px) {
  .top-main__scrl.active {
    bottom: 12em;
  }
}
.top-main .swiper-container {
  width: 100%;
  overflow: hidden;
  height: 90vh;
}
@media screen and (min-width: 1081px) {
  .top-main .swiper-container {
    max-height: 900px;
  }
}
@media screen and (max-width: 768px) {
  .top-main .swiper-container {
    max-height: 600px;
    height: 80vh;
  }
}
.top-main .swiper-container .swiper-wrapper .swiper-slide {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.sec-open {
  background: #756557;
  padding: 6.25em 20px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .sec-open {
    padding: 4em 20px;
  }
}
.sec-open img {
  max-width: 1280px;
  margin: 0 auto;
  width: 68.085106383%;
}
@media screen and (max-width: 768px) {
  .sec-open img {
    width: 90%;
  }
}

.sec-trial {
  background: url(../img/top/trial_bg.png) no-repeat;
  background-size: cover;
  background-position: right bottom;
  padding: 6.25em 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .sec-trial {
    padding: 3.125em 0;
  }
}
.sec-trial__ttl {
  max-width: 1342px;
  margin: 0 auto;
  width: 69.8958333333%;
}
@media screen and (max-width: 768px) {
  .sec-trial__ttl {
    width: 90%;
  }
}

.sec-camp {
  padding: 6.25em 20px;
  background: url(../img/top/camp_bg.png) no-repeat;
  background-size: cover;
}
.sec-camp figure {
  max-width: 1100px;
  margin: 0 auto 3em;
  width: 57.2916666667%;
}
@media screen and (max-width: 768px) {
  .sec-camp figure {
    width: 100%;
  }
}
.sec-camp__note {
  font-size: 0.875em;
  text-align: center;
  margin-bottom: 3em;
  line-height: 2;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sec-camp__note {
    font-size: 1.2142857143em;
    text-align: left;
  }
}

.sec-about {
  padding: 6.25em 20px;
  text-align: center;
  background: #FFFFFF;
}
.sec-about__ttl {
  font-family: "Crimson Text", serif;
  font-weight: 600;
  font-size: 2.25em;
  margin-bottom: 1em;
}
.sec-about__logo {
  max-width: 248px;
  margin: 0 auto 3em;
  width: 50%;
}
.sec-about__txt {
  line-height: 2.25;
  font-weight: 500;
  margin-top: 1em;
  font-size: 1.375em;
}
.sec-about__img {
  margin: 10em -20px 0;
}
@media screen and (max-width: 768px) {
  .sec-about__img {
    margin-top: 5em;
  }
}
.sec-about__note {
  background: #f7f5ee;
  padding: 2em;
  text-align: center;
  max-width: 1000px;
  margin: 5em auto;
}
.sec-about__note__ttl {
  color: #e95513;
  font-size: 1.75em;
}
.sec-about__link {
  font-size: 1.125em;
  display: inline-block;
  margin-top: 3em;
  font-weight: bold;
}
.sec-about__link:after {
  content: "";
  display: inline-block;
  width: 0.8611111111em;
  height: 0.5em;
  background: url(../img/common/arrow_d.svg) no-repeat;
  background-size: 100% auto;
  margin-left: 0.75em;
  vertical-align: middle;
}

.sec {
  padding: 6.25em 0;
  position: relative;
}
.sec__ttl {
  margin-bottom: 2em;
  text-align: center;
}
.sec__ttl .en {
  font-family: "Spectral", serif;
  font-weight: 400;
}
.sec__ttl .en.main {
  font-size: 3em;
  display: block;
}
.sec__ttl .en.sub {
  font-size: 1.875em;
  display: block;
}
.sec__ttl .jp {
  font-family: "Noto Serif", serif;
  font-weight: 500;
  letter-spacing: 0.2em;
}
.sec__ttl .jp.main {
  font-size: 3em;
  display: block;
  line-height: 1.6;
}
.sec__ttl .jp.sub {
  font-size: 2.25em;
  display: block;
}
.sec__txt {
  font-size: 1.75em;
  margin-left: 6.7857142857em;
  line-height: 1.8214285714;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .sec__txt {
    margin-left: 20px;
    margin-right: 20px;
    font-size: 1.6em;
  }
}
.sec__txt span {
  position: relative;
  z-index: 1;
}
.sec__txt span:after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  bottom: 0.1em;
  width: 100%;
  height: 0.4em;
  background: #cec5b6;
}
.sec__read {
  font-size: 1.0625em;
  margin-left: 11.1764705882em;
  margin-top: 2em;
}
@media screen and (max-width: 768px) {
  .sec__read {
    font-size: 1.4166666667em;
    margin-left: 20px;
    margin-right: 20px;
  }
}
.sec.--bg01 {
  background: url(../img/top/sec01_bg.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top center;
}
.sec.--bg02 {
  background: url(../img/top/sec02_bg.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top center;
}
.sec.--senses {
  padding: 1.875em 0;
  height: 100vh;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .sec.--senses {
    height: 80vh;
  }
}
.sec.--facility {
  background: url(../img/top/facility_bg.png) no-repeat;
  background-size: 120% auto;
  background-position: top 10% center;
}
.sec.--option {
  padding-top: 0;
}
.sec.--guidelines {
  background: #f7f5ee;
  padding: 5em 0;
}
@media screen and (max-width: 768px) {
  .sec.--guidelines {
    padding: 1.875em 0;
  }
}
.sec.--faq {
  background: #f7f5ee;
  padding: 5em 0;
}
@media screen and (max-width: 768px) {
  .sec.--faq {
    padding: 1.875em 0 3.75em;
  }
}

@-webkit-keyframes parallax-fast-anim {
  from {
    -webkit-transform: translate(-50%, 300vh);
            transform: translate(-50%, 300vh);
  }
  to {
    -webkit-transform: translate(-50%, 0px);
            transform: translate(-50%, 0px);
  }
}

@keyframes parallax-fast-anim {
  from {
    -webkit-transform: translate(-50%, 300vh);
            transform: translate(-50%, 300vh);
  }
  to {
    -webkit-transform: translate(-50%, 0px);
            transform: translate(-50%, 0px);
  }
}
@-webkit-keyframes parallax-slow-anim {
  from {
    -webkit-transform: translate(-50%, -300vh);
            transform: translate(-50%, -300vh);
  }
  to {
    -webkit-transform: translate(-50%, 0px);
            transform: translate(-50%, 0px);
  }
}
@keyframes parallax-slow-anim {
  from {
    -webkit-transform: translate(-50%, -300vh);
            transform: translate(-50%, -300vh);
  }
  to {
    -webkit-transform: translate(-50%, 0px);
            transform: translate(-50%, 0px);
  }
}
@-webkit-keyframes parallax-slow2-anim {
  from {
    -webkit-transform: translate(-50%, -100vh);
            transform: translate(-50%, -100vh);
  }
  to {
    -webkit-transform: translate(-50%, 0px);
            transform: translate(-50%, 0px);
  }
}
@keyframes parallax-slow2-anim {
  from {
    -webkit-transform: translate(-50%, -100vh);
            transform: translate(-50%, -100vh);
  }
  to {
    -webkit-transform: translate(-50%, 0px);
            transform: translate(-50%, 0px);
  }
}
.concept-cont {
  height: 100em;
  position: relative;
}
@media screen and (max-width: 768px) {
  .concept-cont {
    height: 90em;
  }
}

.concept-txt {
  position: absolute;
  left: 0%;
  top: 30em;
  width: 100%;
  z-index: 1;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .concept-txt {
    top: 27em;
  }
}
.concept-txt img {
  width: 27.7604166667%;
}
@media screen and (max-width: 768px) {
  .concept-txt img {
    width: 70%;
  }
}

.concept-img {
  position: absolute;
  left: 0%;
  top: 0;
  width: 100%;
  text-align: center;
}
.concept-img img {
  width: 41.6666666667%;
}
@media screen and (max-width: 768px) {
  .concept-img img {
    width: 90%;
  }
}

.concept-ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1374px;
  width: 71.5625%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .concept-ul {
    width: 90%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.concept-ul li {
  width: 29.1120815138%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .concept-ul li {
    width: 100%;
    margin-top: 5em;
  }
}
@media screen and (max-width: 768px) {
  .concept-ul li figure {
    width: 50%;
    margin: 0 auto;
  }
}
.concept-ul li p {
  margin-top: 2em;
  font-size: 1.1875em;
  font-weight: 500;
  line-height: 1.9473684211;
}

.sec-senses-cont {
  height: 500vh;
}

.secses-ul {
  max-width: 980px;
  width: 55.9895833333%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .secses-ul {
    width: 90%;
  }
}
.secses-ul li {
  width: 13.3953488372%;
  border-radius: 50em;
  border: 1px solid #000;
  text-align: center;
  padding: 2.4186046512% 0;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
}
@media screen and (max-width: 768px) {
  .secses-ul li {
    width: 18%;
    padding: 3.2% 0;
  }
}
.secses-ul li:nth-of-type(1), .secses-ul li:nth-of-type(5) {
  -webkit-transform: translate(0, 66%);
          transform: translate(0, 66%);
}
.secses-ul li:nth-of-type(2), .secses-ul li:nth-of-type(4) {
  -webkit-transform: translate(0, 33%);
          transform: translate(0, 33%);
}
.secses-ul li:nth-of-type(3) {
  -webkit-transform: translate(0, 0.1%);
          transform: translate(0, 0.1%);
}
.secses-ul li svg {
  vertical-align: middle;
  width: 46.5277777778%;
}
.secses-ul li svg path {
  fill: #000;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
.secses-ul li.sensesActive {
  background: #000;
}
.secses-ul li.sensesActive path {
  fill: #FFF;
}

.senses-area {
  max-width: 800px;
  width: 45.8333333333%;
  margin: 0 auto 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  bottom: 3em;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
@media screen and (max-height: 768px) {
  .senses-area {
    width: 40%;
  }
}
@media screen and (max-width: 768px) {
  .senses-area {
    width: 90%;
  }
}
.senses-area.sensesActive {
  opacity: 1;
}
.senses-area__thum {
  width: 48.1818181818%;
}
.senses-area__cont {
  width: 40.9090909091%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .senses-area__cont {
    width: 50%;
  }
}
.senses-area__cont__ico {
  width: 56.6666666667%;
  margin: 0 auto;
}
.senses-area__cont__txt {
  font-size: 1em;
  margin-top: 2.5em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .senses-area__cont__txt {
    margin-top: 1em;
  }
}
.senses-area__scrl {
  position: absolute;
  top: 100%;
  left: 24.0909090909%;
  width: 5.6818181818%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.senses-bg {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  z-index: -1;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
.senses-bg.sensesActive {
  opacity: 1;
}

.facility-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 6em;
}
@media screen and (min-width: 769px) {
  .facility-area:nth-of-type(even) .facility-area__img {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .facility-area:nth-of-type(even) .facility-area__info {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
}
@media screen and (max-width: 768px) {
  .facility-area {
    display: block;
    margin-top: 3em;
  }
}
.facility-area__img {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .facility-area__img {
    width: 100%;
  }
}
.facility-area__info {
  width: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .facility-area__info {
    width: 100%;
    padding: 1.5em 20px;
  }
}
.facility-area__info__cont {
  max-width: 500px;
  position: relative;
}
.facility-area__info__ttl {
  font-size: 4em;
  font-family: "Noto Serif", serif;
  font-weight: 400;
}
.facility-area__info__ico {
  max-width: 144px;
  width: 25%;
}
@media screen and (max-width: 768px) {
  .facility-area__info__ico {
    position: absolute;
    right: 0;
    top: 0;
    width: 20%;
  }
}
.facility-area__info__txt {
  font-size: 1.125em;
  line-height: 2;
  margin-top: 1em;
}

.sec-reserve {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  .sec-reserve {
    display: block;
  }
}
.sec-reserve__ttl {
  width: 50%;
  background: url(../img/top/reserve_bg.png) no-repeat;
  background-size: cover;
  background-position: center;
  color: #FFF;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .sec-reserve__ttl {
    width: 100%;
    padding: 4em 20px;
  }
}
.sec-reserve__ttl .main {
  font-size: 5em;
  font-family: "Spectral", serif;
  font-weight: 400;
}
.sec-reserve__ttl .sub {
  font-size: 2.75em;
  font-family: "Noto Serif", serif;
  font-weight: 500;
}
.sec-reserve__info {
  width: 50%;
  background: #f7f5ee;
  padding: 4em;
}
@media screen and (max-width: 768px) {
  .sec-reserve__info {
    width: 100%;
    padding: 3em;
  }
}
.sec-reserve__info__ttl {
  text-align: center;
  font-size: 3em;
  margin-bottom: 0.5em;
}
.sec-reserve__info__ttl span {
  border: 1px solid #000;
  padding: 0.1em 0.25em;
}
.sec-reserve__info__txt {
  font-size: 1.125em;
  line-height: 2;
  margin: 1em 0;
}
.sec-reserve__info__note {
  font-size: 1.125em;
  line-height: 2;
  margin: 1em 0;
}
.sec-reserve__info__note li {
  text-indent: -1em;
  margin-left: 1em;
}
.sec-reserve__info__cont {
  background: #FFF;
  padding: 2em;
}
.sec-reserve__info__cont__ttl {
  color: #dc5519;
  font-size: 1.375em;
  margin-bottom: 0.5em;
}
.sec-reserve__info__cont__ul li {
  font-size: 1.375em;
  text-indent: -1em;
  margin-left: 1em;
  line-height: 1.6;
  font-weight: bold;
}
.sec-reserve__info__cont__ul li + li {
  margin-top: 0.75em;
}
.sec-reserve__info__cont__ul li:before {
  content: "";
  width: 0.9545454545em;
  height: 0.6818181818em;
  background: url(../img/top/check_ico.png) no-repeat;
  background-size: 100% auto;
  display: inline-block;
}
.sec-reserve__info__cont__ul li span {
  font-size: 0.8181818182em;
  font-weight: 500;
}

.sec-cont {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: 10em auto 0;
  max-width: 1408px;
  width: 80%;
}
@media screen and (max-width: 768px) {
  .sec-cont {
    margin: 8em auto 0;
  }
}
.sec-cont__info {
  width: 48.5085227273%;
  padding: 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .sec-cont__info {
    width: 100%;
    margin-bottom: 2em;
  }
}
.sec-cont__reserve {
  position: absolute;
  right: 5%;
  width: 21.0834553441%;
  -webkit-transform: translate(0, 0%);
          transform: translate(0, 0%);
}
@media screen and (max-width: 768px) {
  .sec-cont__reserve {
    right: 6%;
  }
}
.sec-cont > figure, .sec-cont__main {
  width: 48.5085227273%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .sec-cont > figure, .sec-cont__main {
    width: 100%;
  }
}
.sec-cont > figure__txt, .sec-cont__main__txt {
  text-align: center;
  margin-top: 1.5em;
  font-size: 1.75em;
  margin-bottom: 0.5em;
  font-weight: bold;
  padding-right: 3em;
}
@media screen and (max-width: 768px) {
  .sec-cont > figure__txt, .sec-cont__main__txt {
    padding: 0 2em;
  }
}
.sec-cont > figure__list, .sec-cont__main__list {
  padding-right: 3em;
}
@media screen and (max-width: 768px) {
  .sec-cont > figure__list, .sec-cont__main__list {
    padding: 0 2em;
  }
}
.sec-cont > figure .sub, .sec-cont__main .sub {
  position: absolute;
  left: 0;
  bottom: 0;
  -webkit-transform: translate(-20%, 10%);
          transform: translate(-20%, 10%);
  width: 24.4404655327%;
}
@media screen and (max-width: 768px) {
  .sec-cont > figure .sub, .sec-cont__main .sub {
    -webkit-transform: translate(10%, 20%);
            transform: translate(10%, 20%);
  }
}
.sec-cont__ttl {
  margin-bottom: 2em;
}
@media screen and (max-width: 768px) {
  .sec-cont__ttl {
    font-size: 0.75em;
  }
}
.sec-cont__ttl .fa {
  font-size: 1.25em;
  color: #FFF;
  background: #9e005d;
  display: inline-block;
  padding: 0.1em 1.5em;
  border-radius: 50em;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 768px) {
  .sec-cont__ttl .fa {
    font-size: 1.5384615385em;
  }
}
.sec-cont__ttl .en {
  font-size: 4.5em;
  font-family: "Spectral", serif;
  font-weight: 300;
  display: block;
  line-height: 1;
  letter-spacing: -0.05em;
}
.sec-cont__ttl .jp {
  font-size: 2.5em;
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  display: block;
  line-height: 1.4;
  letter-spacing: -0.1em;
}
.sec-cont .towel-img {
  width: 80%;
}
.sec-cont .hydro-img {
  width: 40%;
}
.sec-cont .amenities-img {
  width: 50%;
}
.sec-cont .sec__txt {
  margin-left: 0;
  margin-bottom: 1em;
}
.sec-cont .sec__read {
  margin-left: 0;
  max-width: 500px;
  margin-top: 1em;
}
.sec-cont .sec__read.short {
  padding-right: 12%;
}

.sec-option {
  background: url(../img/top/option_bg.png) no-repeat;
  background-size: 100% auto;
  background-position: top center;
  padding: 3em 0;
}

.sec-exp {
  background: url(../img/top/exp_bg.png) no-repeat;
  background-size: cover;
  background-position: top center;
  color: #FFF;
  padding: 5em 20px;
}
@media screen and (max-width: 768px) {
  .sec-exp {
    padding: 3em 20px;
  }
}
.sec-exp__ttl {
  text-align: center;
  font-family: "Spectral", serif;
  font-size: 4.5em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sec-exp__ttl {
    font-size: 2.8em;
  }
}
.sec-exp__txt {
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  font-size: 1.75em;
}
@media screen and (max-width: 768px) {
  .sec-exp__txt {
    font-size: 1.4em;
  }
}
.sec-exp__ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1174px;
  width: 62.4468085106%;
  margin: 3em auto 0;
}
@media screen and (max-width: 768px) {
  .sec-exp__ul {
    width: 90%;
    display: block;
  }
}
.sec-exp__ul li {
  width: 41.8228279387%;
}
@media screen and (max-width: 768px) {
  .sec-exp__ul li {
    width: 100%;
    margin-top: 3em;
  }
}
.sec-exp__ul li figure {
  margin-bottom: 1em;
}
@media screen and (max-width: 768px) {
  .sec-exp__ul li figure {
    width: 50%;
    margin: 0 auto 1em;
  }
}
.sec-exp__ul li h3 {
  text-align: center;
  font-size: 1.75em;
  font-family: "Zen Old Mincho", serif;
}
.sec-exp__ul li p {
  font-size: 1.125em;
  margin-top: 1em;
}

.sec-cont-security__ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  max-width: 1420px;
  margin: 0 auto;
  width: 75.5319148936%;
}
@media screen and (max-width: 768px) {
  .sec-cont-security__ul {
    width: 100%;
  }
}
.sec-cont-security__ul li {
  width: 46.4788732394%;
  position: relative;
  margin-bottom: 3.75em;
}
@media screen and (max-width: 768px) {
  .sec-cont-security__ul li {
    width: 100%;
  }
}
.sec-cont-security__name {
  text-align: center;
  margin-bottom: 2em;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .sec-cont-security__name {
    font-size: 1.25em;
  }
}
.sec-cont-security__name .en {
  display: block;
  font-size: 1.25em;
  line-height: 1.4;
  margin-bottom: 0.5em;
}
.sec-cont-security__name .jp {
  display: block;
  font-size: 1.625em;
  line-height: 1.4;
}
.sec-cont-security__txt {
  margin-top: 1.5em;
  font-size: 1.0625em;
  line-height: 1.8823529412;
}
@media screen and (max-width: 768px) {
  .sec-cont-security__txt {
    font-size: 1.4166666667em;
    padding-left: 20px;
    padding-right: 20px;
  }
}

.sec-entry {
  background: #000;
  text-align: center;
  padding: 1.875em 0;
}
.sec-entry__txt {
  color: #FFF;
  font-weight: bold;
  font-size: 1.625em;
}
.sec-entry__txt span {
  color: #dc5519;
}
.sec-entry__btn {
  display: block;
  width: 36.25em;
  margin: 0.5em auto;
}
@media screen and (max-width: 768px) {
  .sec-entry__btn {
    width: 300px;
  }
}

.sec-price {
  background: #d3d0ca;
  padding: 5em 20px;
}
.sec-price__ttl {
  text-align: center;
  font-size: 4.6875em;
  font-weight: 400;
  font-family: "Crimson Text", serif;
  margin-bottom: 0.25em;
}
.sec-price__txt {
  margin-top: 1em;
}
.sec-price__bdy {
  max-width: 1280px;
  width: 68.085106383%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .sec-price__bdy {
    width: 100%;
  }
}
.sec-price__cont {
  background: #f7f5ee;
  padding: 1em 3em;
  margin-top: 2em;
}
.sec-price__cont > *:first-child {
  margin-top: 0;
}
.sec-price__cont.--gre {
  background: #dc5519;
  color: #FFF;
  margin-top: 0;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}
.sec-price__cont.--gre dd {
  font-size: 3em;
}
.sec-price__cont.--center {
  padding-top: 2em;
  padding-bottom: 2em;
}
.sec-price__cont.--center .sec-price__dl {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.sec-price__cont.--center .sec-price__dl dd {
  font-size: 3.5em;
  line-height: 1.4;
}
.sec-price__cont.--center .sec-price__dl dd span {
  font-size: 0.6607142857em;
  display: block;
}
.sec-price__cont.--center .sec-price__txt {
  text-align: center;
}
.sec-price__cont__ttl {
  text-align: center;
  font-family: "Crimson Text", serif;
  color: #ae9f86;
  font-weight: 400;
  font-size: 3em;
}
.sec-price__cont__txt {
  margin-top: 1em;
}
.sec-price__dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: bold;
  margin-top: 1.5em;
}
@media screen and (max-width: 768px) {
  .sec-price__dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.sec-price__dl dt {
  font-size: 1.75em;
}
.sec-price__dl dt span {
  display: block;
  font-size: 0.6428571429em;
  margin-top: 0.25em;
}
.sec-price__dl dd {
  font-size: 2.25em;
}
.sec-price__dl dd span {
  font-size: 0.6666666667em;
}

.guidelines-area {
  background: #FFF;
  padding: 3em 20px;
  max-width: 1280px;
  width: 68.085106383%;
  margin: 0 auto;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .guidelines-area {
    width: 90%;
  }
}
.guidelines-area__ttl {
  font-size: 1.75em;
}
.guidelines-area__txt {
  margin-top: 1.5em;
  display: inline-block;
  text-align: left;
  font-size: 1.125em;
}

.personal-facilities {
  background: #000 url(../img/top/service_bg.png) no-repeat;
  background-size: 100% auto;
  background-position: top center;
  padding: 5em 0 0;
}
.personal-facilities__logo {
  max-width: 350px;
  width: 40%;
  margin: 0 auto 2em;
}
.personal-facilities__ttl {
  font-size: 2.5em;
  line-height: 1.75;
  text-align: center;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (max-width: 768px) {
  .personal-facilities__ttl {
    font-size: 1.5em;
  }
}
.personal-facilities__ttl span {
  display: block;
  font-size: 0.375em;
  margin-top: 2em;
}
@media screen and (max-width: 768px) {
  .personal-facilities__ttl span {
    font-size: 1rem;
  }
}
.personal-facilities__ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  max-width: 850px;
  width: 80%;
  margin: 5em auto 0;
}
@media screen and (max-width: 768px) {
  .personal-facilities__ul {
    margin-top: 3em;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 90%;
  }
}
.personal-facilities__ul li {
  width: 12%;
  margin-bottom: 3%;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .personal-facilities__ul li {
    margin-left: 2.6666666667%;
  }
  .personal-facilities__ul li:nth-of-type(7n+1) {
    margin-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .personal-facilities__ul li {
    width: 31%;
  }
}
.personal-facilities__ul li a {
  line-height: 1.2;
  display: block;
}
.personal-facilities__ul li a img {
  background: #FFF;
  border-radius: 1em;
}
.personal-facilities__ul li a:hover {
  color: #9DC938;
}
.personal-facilities__ul li a:hover img {
  opacity: 1;
  background-color: #9DC938;
}

.modaal-content-container {
  padding: 0;
}

.modal-amusement {
  font-size: clamp(0.75em, 1vw, 1em);
}
.modal-amusement__txt {
  padding: 2em 4em 2em;
}
@media screen and (max-width: 960px) {
  .modal-amusement__txt {
    padding-left: 2em;
    padding-right: 2em;
  }
}
.modal-amusement__ttl {
  text-align: center;
  margin-top: 2em;
}
.modal-amusement__ttl__en {
  color: #9DC938;
  font-size: 3em;
  line-height: 1.2;
  font-family: "Montserrat", serif;
  display: block;
}
@media screen and (max-width: 960px) {
  .modal-amusement__ttl__en {
    font-size: 2.25em;
  }
}
.modal-amusement__ttl__jp {
  font-size: 1.75em;
  display: block;
}

.js-modaal-close {
  background: transparent;
  border: 1px solid #4D4D4D;
  font-family: "Montserrat", serif;
  font-size: 1.125em;
  text-align: center;
  border-radius: 50px;
  max-width: 240px;
  width: 100%;
  line-height: 3.2380952381em;
  margin: 0 auto 2em;
  display: block;
}

.faq-list {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  max-width: 1280px;
  width: 66.6666666667%;
  margin: 0 auto;
  background: #FFF;
}
@media screen and (max-width: 480px) {
  .faq-list {
    width: 90%;
  }
}
.faq-list:not(:last-child) {
  margin-bottom: 2em;
}
@media screen and (max-width: 480px) {
  .faq-list:not(:last-child) {
    margin-bottom: 1em;
  }
}
.faq-list[open] .faq-list__head:after {
  background-image: url(../img/common/minus.svg);
}
.faq-list__head {
  font-size: 1.25em;
  padding: 1.5em 2.5em 1.5em 5em;
  width: auto;
  position: relative;
  font-weight: bold;
  cursor: pointer;
}
@media screen and (max-width: 480px) {
  .faq-list__head {
    padding-left: 3.5em;
  }
}
.faq-list__head:before {
  content: "Q";
  color: #dc5519;
  font-family: "Spectral", serif;
  font-weight: 500;
  font-size: 1.5em;
  position: absolute;
  top: 0.6em;
  left: 1.5em;
}
@media screen and (max-width: 480px) {
  .faq-list__head:before {
    left: 1em;
  }
}
.faq-list__head:after {
  content: "";
  width: 1em;
  height: 1em;
  position: absolute;
  right: 1em;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  top: 50%;
  background: url(../img/common/plus.svg) no-repeat;
  background-position: center;
}
.faq-list__body {
  font-size: 1.125em;
  padding: 0 2.7777777778em 1.6666666667em 5.5555555556em;
  margin-top: 0;
  position: relative;
  font-weight: 500;
  white-space: pre-wrap;
}
@media screen and (max-width: 480px) {
  .faq-list__body {
    padding-left: 1.6666666667em;
    padding-right: 1.6666666667em;
  }
}
.faq-list__body a {
  text-decoration: underline;
  color: #9DC938;
}
.faq-list__body a:hover {
  text-decoration: none;
}