*,
::after,
::before {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-style: normal;
}

html {
  line-sizing: normal;
}

body {
  margin: 0;
}

pre {
  white-space: pre-wrap;
}

hr {
  border-style: solid;
  border-width: 1px 0 0;
  color: inherit;
  height: 0;
  overflow: visible;
}

audio,
canvas,
embed,
iframe,
img,
object,
svg,
video {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
}

canvas,
img,
svg,
video {
  height: initial;
}

audio {
  width: 100%;
}

img {
  border-style: none;
}

svg {
  overflow: hidden;
}

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

[type=checkbox],
[type=radio] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
}

ul,
ol,
li {
  display: block;
  list-style-type: none;
}

input,
button,
select,
textarea,
fieldset,
label {
  position: relative;
  margin: 0;
  padding: 0;
  display: block;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
  color: currentColor;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1em;
  font-weight: 400;
}

html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  color: #013874;
  font-size: 1.6rem;
  line-height: 1.75;
  width: 100%;
  font-family: "Helvetica Neue",Helvetica,Arial,YuGothic,"Yu Gothic",游ゴシック体,"游ゴシック","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"MS ゴシック","MS Gothic",sans-serif;
  -webkit-font-smoothing: antialiased;
  min-width: initial;
}

*[data-src],
*[data-bg],
.lazyload {
  opacity: 0;
  -webkit-transition: opacity .5s;
  transition: opacity .5s;
}

.lazyloading,
.lazyloaded {
  opacity: 1;
}

a {
  position: relative;
  color: currentColor;
  text-decoration: none;
}

a[href] {
  -webkit-transition: opacity .5s;
  transition: opacity .5s;
}

a[href]:hover {
  opacity: .5;
}

button {
  position: relative;
  -webkit-transition: opacity .5s;
  transition: opacity .5s;
}

img {
  max-width: 100%;
  height: auto;
}

img.-pc {
  display: none;
}

img.-sp {
  display: block;
}

br.-pc {
  display: none;
}

br.-sp {
  display: block;
}

.-ul {
  text-decoration: underline;
}

.-left {
  text-align: left;
}

.-center {
  text-align: center;
}

.-right {
  text-align: right;
}

.-serif {
  font-family: "Times New Roman","YuMincho","Hiragino Mincho ProN","Yu Mincho","MS PMincho",serif;
}

.-krn_l {
  margin-left: -0.5em;
}

.-krn_r {
  margin-right: -0.5em;
}

.-krn_c {
  margin-left: -0.2em;
  margin-right: -0.2em;
}

.wrapper {
  position: relative;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.header {
  position: fixed;
  top: 2rem;
  left: 2rem;
  right: 2rem;
  z-index: 100;
  height: 0;
  width: calc( 100% - 4rem );
  width: calc( var(--vw) - 4rem );
}

.header_bach {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 12rem;
}

.header_reservation {
  position: absolute;
  top: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 4rem;
  padding: 0 1.2rem;
  border: .1rem solid currentcolor;
  line-height: 1.2;
}

.header_reservation_label {
  font-size: 1.2rem;
}

.header_reservation_note {
  font-size: 1rem;
}

.contents {
  padding: 14rem 0 0;
}

.contents_header {
  margin-bottom: 2.4rem;
}

.contents_header_id {
  max-width: 25.5rem;
  width: 100%;
  margin: 0 auto;
}

.contents_body {
  position: relative;
  max-width: 56rem;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  margin-top: 13.3rem;
  padding: 0 4rem;
  z-index: 1;
}

.contents_body>*+* {
  margin-top: 10.8rem;
}

.contents_body_information {
  text-align: center;
  font-size: 2rem;
  line-height: 1.2;
}

.contents_body_statement {
  font-size: 1.9rem;
  line-height: 1.2;
}

.contents_body_text>*+* {
  margin-top: 4rem;
}

.contents_body_text_title {
  font-size: 2.4rem;
  line-height: 1.5;
  text-align: center;
}

.contents_body_text>.contents_body_text_title+* {
  margin-top: 5.6rem;
}

.contents_body_notes {
  padding-left: 1em;
}

.contents_body_notes>li::before {
  content: "・";
  float: left;
  display: block;
  width: 1em;
  text-align: center;
  margin-left: -1em;
}

.contents_body_notes>*+* {
  margin-top: 3.2rem;
}

.contents_body_summary>*+* {
  margin-top: 3.2rem;
}

.contents_body_summary dt {
  font-weight: bold;
}

.contents_body_summary *+dt {
  margin-top: 3.2rem;
}

.contents_footer {
  position: relative;
  overflow: hidden;
}

.contents_slide {
  position: relative;
}

.footer {
  position: fixed;
  bottom: 2rem;
  left: 2rem;
  right: 2rem;
  z-index: 10;
  height: 0;
  width: calc( 100% - 4rem );
  width: calc( var(--vw) - 4rem );
}

.footer_fang {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 8.7rem;
}

.droplet {
  position: sticky;
  top: 50%;
  height: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  overflow: visible;
  pointer-events: none;
}

.droplet_item {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 5rem;
  height: 5rem;
  background-color: #fff;
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0;
  z-index: 2;
}

.droplet_item:first-child {
  position: relative;
  top: 0;
  left: 0;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
  z-index: 1;
  opacity: 1;
  background-color: transparent;
  background-image: url(../images/droplet_0.svg);
}

.droplet_item_1 {
  background-image: url(../images/droplet_1.svg);
}

.droplet_item_2 {
  background-image: url(../images/droplet_2.svg);
}

.droplet_item_3 {
  background-image: url(../images/droplet_3.svg);
}

.droplet_item_4 {
  background-image: url(../images/droplet_4.svg);
}

.droplet_item_5 {
  background-image: url(../images/droplet_5.svg);
}

.droplet_item_6 {
  background-image: url(../images/droplet_6.svg);
}

.droplet_item_7 {
  background-image: url(../images/droplet_7.svg);
}

.droplet_item_8 {
  background-image: url(../images/droplet_8.svg);
}

.droplet_item_9 {
  background-image: url(../images/droplet_9.svg);
}

.droplet_item_10 {
  background-image: url(../images/droplet_10.svg);
}

.droplet_item.-show {
  opacity: 1;
}

.pool {
  position: absolute;
  top: 0;
  width: 100%;
  width: var(--vw);
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  z-index: 10;
  pointer-events: none;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(50%, transparent), color-stop(50%, #fff));
  background: -webkit-linear-gradient(top, transparent 0%, transparent 50%, #fff 50%);
  background: linear-gradient(180deg, transparent 0%, transparent 50%, #fff 50%);
  will-change: position;
}

.pool_item {
  position: relative;
  width: 100%;
  height: 2.4rem;
  background: url(../images/pool.svg) center center/contain no-repeat;
}

.pool_frame {
  padding-bottom: calc((100vh / 24) * 23);
  padding-bottom: calc( ((var(--vh, 1vh) * 100) / 24) * 23);
}

.pool_frame_item {
  height: calc(100vh / 24);
  height: calc( (var(--vh, 1vh) * 100) / 24);
}

.pool.-fixed {
  position: fixed;
}

[data-lazy] {
  position: relative;
  top: .5rem;
  opacity: 0;
  -webkit-transition: top 1s,opacity 1s;
  transition: top 1s,opacity 1s;
}

[data-lazy].-show {
  top: 0;
  opacity: 1;
}

.slick-dots {
  position: absolute;
  bottom: 20px;
  right: 0px;
  left: 0px;
  margin-top: 1rem;
  font-size: 0;
  text-align: center;
  height: 8px;
}

.slick-dots>* {
  display: inline-block;
  margin: 0 5px;
  vertical-align: bottom;
}

.slick-dots>*>button {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 8px;
  background-color: #f2f2f2;
  -webkit-transition: background-color .5s;
  transition: background-color .5s;
}

.slick-dots>*.slick-active>button {
  background-color: #013874;
}

.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

@media screen and (min-width: 481px) {
  body {
    min-width: 120rem;
  }

  img.-pc {
    display: block;
  }

  img.-sp {
    display: none;
  }

  br.-sp {
    display: none;
  }

  .header {
    top: 4rem;
    left: 4rem;
    right: 4rem;
    min-width: calc(120rem - 8rem);
    width: calc( 100% - 8rem );
    width: calc( var(--vw) - 8rem );
  }

  .header_bach {
    width: 18rem;
  }

  .header_reservation {
    height: 6rem;
  }

  .header_reservation_label {
    font-size: 1.6rem;
  }

  .header_reservation_note {
    font-size: 1.2rem;
  }

  .contents {
    padding-top: 20rem;
  }

  .contents_header {
    margin-bottom: 4.8rem;
  }

  .contents_header_id {
    max-width: 48rem;
  }

  .contents_body {
    margin-top: 15.8rem;
  }

  .contents_body_information {
    font-size: 3.2rem;
  }

  .contents_body_statement {
    font-size: 3.2rem;
  }

  .footer {
    bottom: 4rem;
    left: 4rem;
    right: 4rem;
    min-width: calc(120rem - 8rem);
    width: calc( 100% - 8rem );
    width: calc( var(--vw) - 8rem );
  }

  .footer_fang {
    width: 12.9rem;
  }

  .droplet_item {
    width: 10rem;
    height: 10rem;
  }

  .pool_item {
    height: 4.8rem;
  }

  .pool_frame {
    padding-bottom: calc((100vh / 20) * 19);
    padding-bottom: calc( ((var(--vh, 1vh) * 100) / 20) * 19);
  }

  .pool_frame_item {
    height: calc(100vh / 20);
    height: calc( (var(--vh, 1vh) * 100) / 20);
  }

  .slick-dots {
    margin-top: 2rem;
  }
}

@media screen and (max-width: 480px) {
  a[href]:hover {
    opacity: 1;
  }

  br.-pc {
    display: block;
  }
}

.nav_language {
  position: fixed;
  bottom: 2rem;
  left: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  z-index: 10;
}

.nav_language>*+* {
  margin-left: .5rem;
  padding-left: .5rem;
  position: relative;
}

.nav_language>*+*::before {
  content: '';
  display: block;
  position: absolute;
  top: .1rem;
  bottom: .1rem;
  left: 0;
  width: .1rem;
  background-color: currentColor;
}

.nav_language a {
  display: block;
  line-height: 1;
}

@media screen and (min-width: 481px) {
  .nav_language {
    bottom: 4rem;
    left: 4rem;
    font-size: 1.6rem;
  }
  .nav_language>*+* {
    margin-left: .8rem;
    padding-left: .8rem;
  }

}