/* ==========================================================================
	root
========================================================================== */
:root {
  --base-pc-width:1500;
  --base-sp-width:400;
  --vwPC: calc(100vw / 1500);
  --vwSP: calc(100vw / 400);
  --easeInQuad:cubic-bezier(.55, .085, .68, .53);
  --easeOutQuad:cubic-bezier(0.23, 1, 0.32, 1);
  --easeOutQuint:cubic-bezier(.25, .46, .45, .94);
  --easeOutSine:cubic-bezier(0.39, 0.575, 0.565, 1);
  --easeOutCubic:cubic-bezier(0.215, 0.61, 0.355, 1);
  --easeInOutQuad:cubic-bezier(0.45, 0, 0.55, 1);
  --easeInOutCubic:cubic-bezier(0.65, 0, 0.35, 1);
  --easePopUp:cubic-bezier(0.17, 0.88, 0.30, 1.28);
  --easeInCirc:cubic-bezier(0.55, 0, 1, 0.45);
  --theme-color:#f55b96;
  --base-text-color:#333;
  --base-color-blue:#4bc3e5;
  --base-color-blue02:#00aae2;
  --base-color-green:#2bb063;
  --base-color-perple:#6367b0;
  --base-color-orange:#fb9b00;
  --base-color-yellow:#ffcf19;
  --base-color-beige:#f5f4ef;
  --base-color-gray:#a4a4a4;
  --base-color-gray02:#aeaaaf;
  --base-color-gray03:#b3b3b3;
  --base-color-gray04:#848484;
  --base-color-gray05:#c4c4c4;
  --base-color-gray06:#7e7e7e;
  --base-color-gray07:#666;
  --base-color-gray08:#bebebe;
  --base-color-gray09:#dfdfdf;
  --base-color-gray10:#676767;
  --base-color-tv:#22f2f2;
  --base-border-color:#cdc4c5;
  --base-border-color02:#d3d3d3;
  --base-border-color03:#a1a1a1;
  --base-border-color04:#bbb;
  --base-border-color05:#999;
  --hanten:scale(-1, -1);
  --hantenX:scale(-1, 1);
  --hantenY:scaleY(-1);
  --transition-scale:transform 0.8s var(--easeOutCubic); }

@media screen and (min-width: 801px) {
  :root {
    --vwPC: calc(100vw / 1500);
    --fz8: max(.8rem, 8px);
    --fz9: max(.9rem, 9px);
    --fz10: max(1rem, 9px);
    --fz11: max(1.1rem, 10px);
    --fz12: max(1.2rem, 11px);
    --fz13: max(1.3rem, 12px);
    --fz14: max(1.4rem, 12px);
    --fz15: max(1.5rem, 13px);
    --fz16: max(1.6rem, 14px);
    --fz17: max(1.7rem, 15px);
    --fz18: max(1.8rem, 16px);
    --fz19: max(1.9rem, 17px);
    --fz20: max(2.0rem, 18px);
    --fz21: max(2.1rem, 18px);
    --fz22: max(2.2rem, 18px);
    --fz23: max(2.3rem, 20px);
    --fz24: max(2.4rem, 20px);
    --fz25: max(2.5rem, 21px);
    --fz26: max(2.6rem, 22px);
    --fz27: max(2.7rem, 23px);
    --fz28: max(2.8rem, 24px);
    --fz29: max(2.9rem, 25px);
    --fz30: max(3rem, 26px);
    --fz32: max(3.2rem, 28px);
    --fz33: max(3.3rem, 29px);
    --fz34: max(3.4rem, 30px);
    --fz35: max(3.5rem, 31px);
    --fz36: max(3.6rem, 32px);
    --fz37: max(3.7rem, 33px);
    --fz38: max(3.8rem, 34px);
    --fz39: max(3.9rem, 35px);
    --fz40: max(4rem, 36px);
    --fz41: max(4.1rem, 37px);
    --fz42: max(4.2rem, 38px);
    --fz44: max(4.4rem, 40px);
    --fz45: max(4.5rem, 41px);
    --fz46: max(4.6rem, 42px);
    --fz48: max(4.8rem, 44px);
    --fz50: max(5rem, 48px);
    --fz52: max(5.2rem, 48px);
    --fz54: max(5.4rem, 50px);
    --fz55: max(5.5rem, 51px);
    --fz56: max(5.6rem, 52px);
    --fz58: max(5.8rem, 54px);
    --fz59: max(5.9rem, 55px);
    --fz60: max(6rem, 56px);
    --fz64: max(6.4rem, 60px);
    --fz72: max(7.2rem, 68px);
    --fz78: max(7.8rem, 74px);
    --fz96: max(9.6rem, 90px); } }
@media screen and (max-width: 800px) {
  :root {
    --vwSP: calc(100vw / 400);
    --fz7: clamp(7px, calc(7 * var(--vwSP)), 9px);
    --fz8: clamp(8px, calc(8 * var(--vwSP)), 10px);
    --fz9: clamp(9px, calc(9 * var(--vwSP)), 11px);
    --fz10: clamp(10px, calc(10 * var(--vwSP)), 12px);
    --fz11: clamp(11px, calc(11 * var(--vwSP)), 13px);
    --fz12: clamp(12px, calc(12 * var(--vwSP)), 14px);
    --fz13: clamp(13px, calc(13 * var(--vwSP)), 14px);
    --fz14: clamp(14px, calc(14 * var(--vwSP)), 16px);
    --fz15: clamp(15px, calc(15 * var(--vwSP)), 17px);
    --fz16: clamp(16px, calc(16 * var(--vwSP)), 18px);
    --fz17: clamp(17px, calc(17 * var(--vwSP)), 19px);
    --fz18: clamp(18px, calc(18 * var(--vwSP)), 20px);
    --fz19: clamp(19px, calc(19 * var(--vwSP)), 21px);
    --fz20: clamp(20px, calc(20 * var(--vwSP)), 22px);
    --fz21: clamp(21px, calc(21 * var(--vwSP)), 23px);
    --fz22: clamp(22px, calc(22 * var(--vwSP)), 24px);
    --fz23: clamp(23px, calc(23 * var(--vwSP)), 25px);
    --fz24: clamp(24px, calc(24 * var(--vwSP)), 26px);
    --fz25: clamp(25px, calc(25 * var(--vwSP)), 27px);
    --fz26: clamp(26px, calc(26 * var(--vwSP)), 28px);
    --fz27: clamp(27px, calc(27 * var(--vwSP)), 29px);
    --fz28: clamp(28px, calc(28 * var(--vwSP)), 30px);
    --fz30: clamp(30px, calc(30 * var(--vwSP)), 32px);
    --fz31: clamp(31px, calc(31 * var(--vwSP)), 33px);
    --fz32: clamp(32px, calc(32 * var(--vwSP)), 35px);
    --fz33: clamp(33px, calc(33 * var(--vwSP)), 35px);
    --fz34: clamp(34px, calc(34 * var(--vwSP)), 37px);
    --fz35: clamp(35px, calc(35 * var(--vwSP)), 39px);
    --fz37: clamp(37px, calc(37 * var(--vwSP)), 41px);
    --fz36: clamp(36px, calc(36 * var(--vwSP)), 40px);
    --fz38: clamp(38px, calc(38 * var(--vwSP)), 42px);
    --fz40: clamp(40px, calc(40 * var(--vwSP)), 44px);
    --fz42: clamp(42px, calc(42 * var(--vwSP)), 46px);
    --fz44: clamp(44px, calc(44 * var(--vwSP)), 48px);
    --fz45: clamp(45px, calc(45 * var(--vwSP)), 49px);
    --fz47: clamp(47px, calc(47 * var(--vwSP)), 51px);
    --fz48: clamp(48px, calc(48 * var(--vwSP)), 52px);
    --fz49: clamp(49px, calc(49 * var(--vwSP)), 53px);
    --fz51: clamp(51px, calc(51 * var(--vwSP)), 56px);
    --fz56: clamp(56px, calc(56 * var(--vwSP)), 60px);
    --fz64: clamp(64px, calc(64 * var(--vwSP)), 68px); } }
body {
  background: var(--base-color-beige); }

/* ==========================================================================
	fv
========================================================================== */
#h_fv h1 span:after {
  width: 40px;
  height: 40px;
  top: 13px;
  right: -30px;
  background: url(../img/facility/fv-tit_icon.svg);
  z-index: -1; }

@media screen and (max-width: 800px) {
  #h_fv h1 span:after {
    width: 26px;
    height: 26px;
    top: 8px;
    right: -16px; } }
/* ==========================================================================
	intro
========================================================================== */
.intro {
  position: relative;
  width: 100%;
  padding-top: 7rem;
  padding-bottom: 4.5rem; }
  .intro .tit {
    text-align: center;
    margin-bottom: 7rem; }
    .intro .tit h2 {
      font-size: var(--fz36);
      letter-spacing: 0.04em;
      margin-bottom: 2rem;
      font-weight: 700; }
      .intro .tit h2 img {
        display: inline-block;
        width: 193px;
        margin-right: 1.1rem; }
    .intro .tit .en {
      font-size: var(--fz20);
      font-weight: 600;
      color: var(--theme-color); }
  .intro .img-list_wrap {
    position: relative; }
    .intro .img-list_wrap .badge {
      display: block;
      position: absolute;
      width: 126px;
      right: 6.5359477124%;
      bottom: calc(100% - 38px);
      z-index: 20;
      opacity: 0;
      -webkit-transform: translateY(30px);
              transform: translateY(30px); }
    .intro .img-list_wrap.move .badge {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0);
      -webkit-transition: opacity 0.2s ease, -webkit-transform 0.4s var(--easePopUp);
      transition: opacity 0.2s ease, -webkit-transform 0.4s var(--easePopUp);
      transition: opacity 0.2s ease, transform 0.4s var(--easePopUp);
      transition: opacity 0.2s ease, transform 0.4s var(--easePopUp), -webkit-transform 0.4s var(--easePopUp);
      -webkit-transition-delay: 1s;
              transition-delay: 1s; }
  .intro .img-list .swiper-slide {
    text-align: center;
    width: 32.3636363636%; }
    .intro .img-list .swiper-slide .img {
      margin-bottom: 1.5rem; }
    .intro .img-list .swiper-slide img {
      border-radius: 3.3rem; }
    .intro .img-list .swiper-slide p {
      font-size: var(--fz13);
      font-weight: 600; }

@media screen and (min-width: 801px) {
  .img-list .swiper-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .img-list .swiper-slide {
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
    opacity: 0;
    -webkit-transition: opacity 1.3s var(--easeOutQuad), -webkit-transform 1.3s var(--easeOutQuad);
    transition: opacity 1.3s var(--easeOutQuad), -webkit-transform 1.3s var(--easeOutQuad);
    transition: opacity 1.3s var(--easeOutQuad), transform 1.3s var(--easeOutQuad);
    transition: opacity 1.3s var(--easeOutQuad), transform 1.3s var(--easeOutQuad), -webkit-transform 1.3s var(--easeOutQuad); }
    .img-list .swiper-slide:nth-child(2) {
      -webkit-transition-delay: .2s;
              transition-delay: .2s; }
    .img-list .swiper-slide:nth-child(3) {
      -webkit-transition-delay: .4s;
              transition-delay: .4s; }
    .img-list .swiper-slide:nth-child(n+4) {
      display: none; }
  .img-list.move .swiper-slide {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; } }
@media (max-width: 800px) {
  .img-list {
    overflow: visible; }

  .swiper-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }

  .swiper-slide {
    width: auto;
    -ms-flex-negative: 0;
        flex-shrink: 0; } }
@media screen and (max-width: 800px) {
  .intro {
    padding-top: clamp(30px, 12.5vw, 64px);
    padding-bottom: clamp(39px, 16.25vw, 83.2px); }
    .intro .tit {
      margin-bottom: 6.5rem; }
      .intro .tit h2 {
        font-size: var(--fz24);
        margin-bottom: 1.5rem; }
        .intro .tit h2 img {
          width: 130px;
          margin-right: .6rem; }
      .intro .tit .en {
        font-size: var(--fz13); }
    .intro .img-list_wrap .badge {
      width: 85px;
      right: 7vw;
      bottom: calc(100% - 28px); }
    .intro .img-list .swiper-slide p {
      font-size: var(--fz12); } }
/* ==========================================================================
	floor
========================================================================== */
.floor {
  position: relative;
  width: 100%;
  padding-top: 7rem;
  margin-bottom: 10.5rem; }
  .floor .inr {
    position: relative;
    width: 90%;
    max-width: 860px;
    margin: 0 auto; }
  .floor .tit {
    text-align: center;
    margin-bottom: 5rem; }
    .floor .tit h2 {
      font-size: var(--fz36);
      letter-spacing: 0.04em;
      margin-bottom: 2rem;
      font-weight: 700; }
      .floor .tit h2 img {
        display: inline-block;
        width: 193px;
        margin-right: 1.1rem; }
    .floor .tit .en {
      font-size: var(--fz20);
      font-weight: 600;
      color: var(--theme-color); }
  .floor .map_area {
    position: relative;
    width: 100%;
    max-width: 833px;
    aspect-ratio: 833/544;
    --W:1665;
    --H:1087;
    margin-bottom: 2rem; }
    .floor .map_area .floor-map {
      position: relative;
      z-index: 10;
      opacity: 0;
      -webkit-transition: opacity .4s ease-out;
      transition: opacity .4s ease-out; }
    .floor .map_area .illust {
      position: absolute;
      width: calc((var(--c_W)/var(--W))*100%);
      top: calc((var(--c_T)/var(--H))*100%);
      left: calc((var(--c_L)/var(--W))*100%);
      z-index: 5;
      opacity: 0;
      -webkit-transition: opacity 0.2s ease, -webkit-transform 0.4s var(--easePopUp);
      transition: opacity 0.2s ease, -webkit-transform 0.4s var(--easePopUp);
      transition: opacity 0.2s ease, transform 0.4s var(--easePopUp);
      transition: opacity 0.2s ease, transform 0.4s var(--easePopUp), -webkit-transform 0.4s var(--easePopUp);
      -webkit-transition-delay: .3s;
              transition-delay: .3s; }
    .floor .map_area .-bubble {
      --c_W:459;
      --c_T:103;
      --c_L:260;
      z-index: 15;
      -webkit-transition: opacity .4s ease,-webkit-transform .4s ease-out;
      transition: opacity .4s ease,-webkit-transform .4s ease-out;
      transition: opacity .4s ease,transform .4s ease-out;
      transition: opacity .4s ease,transform .4s ease-out,-webkit-transform .4s ease-out;
      -webkit-transform: translateY(20px);
              transform: translateY(20px);
      -webkit-transition-delay: .8s;
              transition-delay: .8s; }
    .floor .map_area .-R {
      --c_W:313;
      --c_T:-119;
      --c_L:-105;
      -webkit-transform: translate(100px, 100px);
              transform: translate(100px, 100px); }
    .floor .map_area .-G {
      --c_W:184;
      --c_T:-160;
      --c_L:1340;
      -webkit-transform: translateY(100px);
              transform: translateY(100px); }
    .floor .map_area .-P {
      --c_W:123;
      --c_T:726;
      --c_L:-36;
      -webkit-transform: translateX(100px) scale(-1, 1);
              transform: translateX(100px) scale(-1, 1); }
    .floor .map_area .-O {
      --c_W:177;
      --c_T:755;
      --c_L:1567;
      z-index: 15;
      -webkit-transform: translateY(100px);
              transform: translateY(100px); }
    .floor .map_area .mask-area {
      --c_W:158;
      --c_H:152;
      aspect-ratio: 160/152;
      --c_T:411;
      --c_L:324;
      z-index: 15;
      -webkit-mask-position: center center;
      mask-position: center center;
      -webkit-mask-size: cover;
      mask-size: cover;
      -webkit-mask-image: url(../img/facility/floor-mask.png);
              mask-image: url(../img/facility/floor-mask.png);
      opacity: 1; }
      .floor .map_area .mask-area .mask-illust {
        position: absolute;
        width: calc((var(--m_W)/var(--c_W))*100%);
        top: calc((var(--m_T)/var(--c_H))*100%);
        left: calc((var(--m_L)/var(--c_W))*100%);
        --m_W:91;
        --m_T:81;
        --m_L:79;
        opacity: 0;
        -webkit-transform: translateX(20px);
                transform: translateX(20px);
        -webkit-transition: opacity .4s ease,-webkit-transform .4s ease-out;
        transition: opacity .4s ease,-webkit-transform .4s ease-out;
        transition: opacity .4s ease,transform .4s ease-out;
        transition: opacity .4s ease,transform .4s ease-out,-webkit-transform .4s ease-out;
        -webkit-transition-delay: .8s;
                transition-delay: .8s; }
    .floor .map_area.move .floor-map {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
    .floor .map_area.move .illust {
      opacity: 1; }
    .floor .map_area.move .-bubble {
      -webkit-transform: translate(0);
              transform: translate(0); }
    .floor .map_area.move .-R {
      -webkit-transform: translate(0);
              transform: translate(0); }
    .floor .map_area.move .-G {
      -webkit-transform: translate(0);
              transform: translate(0); }
    .floor .map_area.move .-P {
      -webkit-transform: translateX(0) scale(-1, 1);
              transform: translateX(0) scale(-1, 1); }
    .floor .map_area.move .-O {
      -webkit-transform: translate(0);
              transform: translate(0); }
    .floor .map_area.move .mask-area .mask-illust {
      opacity: 1;
      -webkit-transform: translateX(0);
              transform: translateX(0); }
  .floor .b_txt {
    font-size: var(--fz17);
    line-height: calc(24/17);
    font-weight: 600;
    color: var(--base-color-gray06);
    margin-left: 3.2rem; }

@media screen and (max-width: 800px) {
  .floor {
    padding-top: 0;
    margin-bottom: 0;
    padding-bottom: clamp(39px, 16.25vw, 83.2px); }
    .floor .inr {
      width: 100%; }
    .floor .tit {
      margin-bottom: 2.8rem; }
      .floor .tit h2 {
        font-size: var(--fz24);
        margin-bottom: 1.5rem; }
        .floor .tit h2 img {
          width: 130px;
          margin-right: .6rem; }
      .floor .tit .en {
        font-size: var(--fz13); }
    .floor .map_area {
      position: relative;
      width: 100%;
      aspect-ratio: 800/600;
      --W:800;
      --H:600;
      margin-bottom: 1.5rem; }
      .floor .map_area .floor-map {
        position: relative;
        width: 114.75%;
        margin-left: 6.5%; }
      .floor .map_area .-bubble {
        --c_W:250;
        --c_T:57;
        --c_L:200; }
      .floor .map_area .-R {
        --c_W:165;
        --c_T:-60;
        --c_L:6; }
      .floor .map_area .-G {
        --c_W:97;
        --c_T:-80;
        --c_L:646; }
      .floor .map_area .-P {
        --c_W:65;
        --c_T:418;
        --c_L:36; }
      .floor .map_area .-O {
        --c_W:112;
        --c_T:502;
        --c_L:672; }
      .floor .map_area .mask-area {
        --c_W:86;
        --c_H:82;
        --c_T:229;
        --c_L:232; }
        .floor .map_area .mask-area .mask-illust {
          --m_W:50;
          --m_T:44;
          --m_L:42; }
    .floor .b_txt {
      font-size: var(--fz12);
      line-height: calc(17/12);
      margin-left: 13.25vw; } }

/*# sourceMappingURL=facility.css.map */