@charset "utf-8";
/* ======
page-name #frontPage
======*/
/* --- p-front-top -------------------- */
.p-front-top {
  width: 100%;
  position: relative;
  /* aspect-ratio: 1440 / 810; */
}
.p-front-top .l-inner {
  height: 100vh;
  /* min-height: 810px; */
  min-height: 600px;
  display: flex;
  align-items: flex-end;
  padding: 100px 0 145px;
}
.p-front-top .contents {
  width: 100%;
  color: #fff;
  position: relative;
  z-index: 2;
}
.p-front-top .copy {
  font-size: 4.8rem;
  font-weight: 500;
  margin: 16px 0 0;
}
.p-front-top .textBox {
  margin: 24px 0 0;
}
.p-front-top .btnWrap {
  display: flex;
  gap: 16px;
  margin: 16px 0 0;
}
.p-front-top .mvSlider {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.p-front-top .mvSlider::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.p-front-top .mvSlider .swiper-wrapper {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.p-front-top .mvSlider__slide {
  width: 100%;
  height: 100%;
  position: relative;
}
.p-front-top .mvSlider__slideItem {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 0;
  left: 0;
}
.p-front-top .swiper-slide-active .mvSlider__slideItem,
.p-front-top .swiper-slide-duplicate-active .mvSlider__slideItem,
.p-front-top .swiper-slide-prev .mvSlider__slideItem {
  animation: zoomUpSlide 8s linear 0s normal both;
}
@keyframes zoomUpSlide {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}
@media screen and (max-width: 767px) {
  .p-front-top {
    height: 100svh;
    height: 100vh;
    min-height: 718px;
  }
  .p-front-top .l-inner {
    padding: 100px 0;
    align-items: center;
  }
  .p-front-top .subCopy {
    width: 300px;
  }
  .p-front-top .copy {
    font-size: 3.2rem;
  }
  .p-front-top .btnWrap .c-btn {
    width: 50%;
  }
  .p-front-top .btnWrap .c-btn__item {
    min-width: auto;
    width: 100%;
    padding: 18px 18px 18px 24px;
  }
}

/* --- loading animation --- */
.loading-on .p-front-top .copy {
  overflow: hidden;
}
/* .p-front-top .copy .char {
  transition-delay: 0s !important;
} */
.loading-on .p-front-top .copy .char {
  display: inline-block;
  white-space: pre;
  /* transform: translateY(120%); */
  transform: scale(1.1);
  opacity: 0;
  filter: blur(12px);
  transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1), opacity 1s ease, filter 1.2s ease, box-shadow 0.5s ease;
}
.loading-on .p-front-top .contentsBox {
  opacity: 0;
  transform: translateY(48px);
  filter: blur(16px);
  transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1), opacity 1s ease, filter 1.2s ease, box-shadow 0.5s ease;
  will-change: transform;
}
/* -- */
.loading-on.anime-start .p-front-top .copy .char {
  /* transform: translateY(0); */
  transform: scale(1); 
  opacity: 1;
  filter: blur(0);
}
.loading-on.anime-start-1 .p-front-top .contentsBox {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}


/* --- p-front-studio -------------------- */
.p-front-studio {
  padding: 90px 0;
}
@media screen and (max-width: 767px) {
  .p-front-studio {
    padding: 80px 0;
  }
}

/* --- p-front-floor -------------------- */
.p-front-floor {
  padding: 120px 0 180px;
}
.p-front-floor .map {
  background: #fff;
  padding: 35px;
}
.p-front-floor .mapItem {
  position: relative;
}
.p-front-floor .mapItem img {
  width: 100%;
  height: auto;
}
.p-front-floor .mapLink {
  position: absolute;
  height: auto;
  /* filter: drop-shadow(0px 0px 8px rgba(0, 54, 183, 0.4)); */
  filter: drop-shadow(2px 2px 8px rgba(147, 118, 72, 0.4));
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.4s;
}
.p-front-floor .mapLink img {
  display: block;
}
@media (hover: hover) {
  .p-front-floor .mapLink:hover {
    opacity: 1;
  }
}
  .p-front-floor .mapLink.is-current {
    opacity: 1;
  }
/* w:1050 h:474 */
.p-front-floor .mapLink--st1 {
  /* width: 465px; */
  width: 44.29%;
  top: 0;
  left: 0;
}
.p-front-floor .mapLink--st2 {
  /* width: 382px; */
  width: 36.38%;
  bottom: 0;
  left: 0;
}
.p-front-floor .mapLink--st3 {
  /* width: 258px; */
  width: 24.57%;
  bottom: 0;
  right: 0;
}
.p-front-floor .mapLink--room1 {
  /* width: 68px; */
  /* left: 378px; */
  width: 6.48%;
  bottom: 0;
  left: 36%;
}
.p-front-floor .mapLink--room2 {
  /* width: 68px; */
  /* left: 442px; */
  width: 6.48%;
  bottom: 0;
  left: 42.1%;
}
.p-front-floor .mapLink--room3 {
  /* width: 68px; */
  /* left: 505px; */
  width: 6.48%;
  bottom: 0;
  left: 48.1%;
}
.p-front-floor .mapLink--room4 {
  /* width: 65px; */
  /* left: 568px; */
  width: 6.19%;
  bottom: 0;
  left: 54.1%;
}
.p-front-floor .mapLink--room5 {
  /* width: 102px; */
  /* bottom: 126px; */
  /* left: 408px; */
  width: 9.71%;
  bottom: 26.9%;
  left: 38.86%;
}
.p-front-floor .mapLink--room6 {
  /* width: 90px; */
  /* bottom: 126px; */
  /* left: 543px; */
  width: 8.57%;
  bottom: 26.9%;
  left: 51.71%;
}
.p-front-floor .mapLink--room7 {
  /* width: 129px; */
  /* bottom: 84px; */
  /* right: 254px; */
  width: 12.29%;
  bottom: 17.72%;
  right: 24.19%;
}
.p-front-floor .mapLink--room8 {
  /* width: 129px; */
  /* right: 254px; */
  width: 12.29%;
  bottom: 0;
  right: 24.19%;
}
.p-front-floor .mapLink--room9 {
  /* width: 86px; */
  /* left: 462px; */
  width: 8.19%;
  top: 0;
  left: 44%;
}
.p-front-floor .mapLink--room10 {
  /* width: 62px; */
  /* top: 90px; */
  /* left: 484px; */
  width: 5.9%;
  top: 18.99%;
  left: 46.1%;
}
.p-front-floor .mapLink--other1 {
  /* width: 109px; */
  /* top: 144px; */
  /* right: 119px; */
  width: 10.38%;
  top: 30.38%;
  right: 11.33%;
}
.p-front-floor .mapLink--other2 {
  /* width: 189px; */
  /* top: 194px; */
  /* right: 119px; */
  width: 18%;
  top: 40.93%;
  right: 11.33%;
}
.p-front-floor .mapLink--other3 {
  /* width: 209px; */
  /* top: 194px; */
  /* left: 407px; */
  width: 19.9%;
  top: 40.93%;
  left: 38.76%;
}
.p-front-floor .mapLink--other4 {
  /* width: 105px; */
  /* top: 194px; */
  /* left: 283px; */
  width: 10%;
  top: 40.93%;
  left: 26.95%;
}
.p-front-floor .mapLink--adjust1 {
  /* width: 130px; */
  /* height: 32px; */
  /* bottom: 162px; */
  /* right: 129px; */
  width: 12.38%;
  height: 6.75%;
  bottom: 34.18%;
  right: 12.29%;
  z-index: 2;
  cursor: default;
}
.p-front-floor .flrSlider {
  width: 90%;
  /* max-width: 1120px; */
  max-width: 1160px;
  padding: 40px 0;
  margin: 0 auto;
  position: relative;
}
.p-front-floor .flrSlider__slide {
  color: var(--color-black);
}
.p-front-floor .flrSlider__slideItem {
  display: flex;
  width: 90%;
  max-width: 920px;
  min-height: 320px;
  background: var(--color-white);
  box-shadow: 0px 16px 24px rgba(26, 26, 30, 0.16);
  margin: auto;
}
.p-front-floor .flrSlider__slideImg {
  width: 320px;
  position: relative;
}
.p-front-floor .flrSlider__slideImg .swiper-wrapper {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.p-front-floor .flrSlider__slideImg__item {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.p-front-floor .flrSlider__slideDetail {
  flex: 1;
  padding: 24px;
}
.p-front-floor .flrSlider__slideDetail .slideDetail__head {
  display: flex;
  align-items: center;
}
.p-front-floor .flrSlider__slideDetail .slideDetail__icon {
  max-width: 110px;
  flex-shrink: 0;
  /* padding: 0 40px 0 0; */
}
.p-front-floor .flrSlider__slideDetail .slideDetail__meta {
  flex: 1;
  padding: 0 0 0 40px;
}
.p-front-floor .flrSlider__slideDetail .slideDetail__title {
  font-size: 3.2rem;
  letter-spacing: 0.04em;
}
.p-front-floor .flrSlider__slideDetail .slideDetail__info {
  font-size: 1.6rem;
  letter-spacing: 0.04em;
}
.p-front-floor .flrSlider__slideDetail .slideDetail__text {
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  margin: 24px 0 0;
}
.p-front-floor .flrSlider__slideDetail .slideDetail__link {
  text-align: right;
  margin: 24px 0 0;
}
.p-front-floor .flrSlider__slideDetail .slideDetail__linkItem {
  display: inline-block;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  font-weight: 500;
  color: var(--color-primary);
  -webkit-appearance: none;
  appearance: none;
  border: 0;
  background: transparent;
  cursor: pointer;
  white-space: nowrap;
}
.p-front-floor .flrSlider__slideDetail .slideDetail__linkText {
  display: block;
  background-image: url('data:image/svg+xml;utf8,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M24.5165 16.0004L17.729 22.7879L17.0493 22.1098L16.3711 21.4316L20.8321 16.9691H7.48364V15.0488H20.8493L16.3711 10.5691L17.0493 9.89102L17.729 9.21289L24.5165 16.0004Z" fill="%23937648"/></svg>');
  background-position: right center;
  background-repeat: no-repeat;
  background-size: 20px auto;
  padding: 0 20px 0 0;
}
.p-front-floor .slideDetail__link--modal .slideDetail__linkText {
  background-image: url('data:image/svg+xml;utf8,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M24.5 7.5V19.5H12.5L12.5 7.5H24.5ZM14.4203 17.5797H22.5797V9.42031H14.4203V17.5797Z" fill="%23937648"/><path d="M10.5811 14.4199H9.41992V22.5801H17.5801V21.4189H19.5V24.5H7.5V12.5H10.5811V14.4199ZM19.5 19.499H17.5801V14.4199H12.501V12.5H19.5V19.499Z" fill="%23937648"/></svg>');
}
.p-front-floor .c-sliderCtrl {
  width: 100%;
  max-width: 1120px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 1;
}
.p-front-floor .c-sliderCtrl__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
.p-front-floor .c-sliderCtrl__arrow--prev {
  left: 0;
  transform: translateY(-50%) scale(-1, 1);
}
.p-front-floor .c-sliderCtrl__arrow--next {
  right: 0;
}
@media screen and (max-width: 767px) {
  .p-front-floor {
    padding: 80px 0;
  }
  .p-front-floor .map {
    padding: 12px;
  }
  .p-front-floor .flrSlider {
    width: 100%;
  }
  .p-front-floor .flrSlider__slide {
    padding: 0 4%;
  }
  .p-front-floor .flrSlider__slideItem {
    display: block;
    width: 100%;
    background: transparent;
    box-shadow: none;
  }
  .p-front-floor .flrSlider__slideImg {
    width: 100%;
    width: 50%;
    margin: 0;
  }
  .p-front-floor .flrSlider__slideImg::before {
    content: '';
    display: block;
    width: 100%;
    padding-top: 55%;
  }
  .p-front-floor .flrSlider__slideDetail {
    background: #fff;
    box-shadow: 0px 16px 24px rgba(26, 26, 30, 0.16);
    padding: 16px 24px 32px;
    margin: 8px 0 0;
  }
  .p-front-floor .flrSlider__slideDetail .slideDetail__icon {
    max-width: 80px;
  }
  .p-front-floor .flrSlider__slideDetail .slideDetail__meta {
    padding: 0 0 0 24px;
  }
  .p-front-floor .flrSlider__slideDetail .slideDetail__title {
    font-size: 2rem;
  }
  .p-front-floor .flrSlider__slideDetail .slideDetail__info {
    font-size: 1.4rem;
  }
  .p-front-floor .flrSlider__slideDetail .slideDetail__text {
    font-size: 1.4rem;
  }
  .p-front-floor .c-sliderCtrl {
    top: 40px;
    width: 46.15%;
    left: auto;
    right: 4%;
    transform: translate(0, 0);
    padding: 0 0 0 10px;
  }
  .p-front-floor .c-sliderCtrl::before {
    content: '';
    display: block;
    width: 100%;
    padding-top: 55%;
  }
  .p-front-floor .c-sliderCtrl__arrow--prev {
    left: auto;
    right: 90px;
  }
}

/* --- p-front-room -------------------- */
.p-front-room {
  padding: 100px 0 90px;
}
@media screen and (max-width: 767px) {
  .p-front-room {
    padding: 80px 0;
  }
}

/* --- p-front-feature -------------------- */
.p-front-feature {
  padding: 0 0 90px;
}
.p-front-feature .cardList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.p-front-feature .c-card {
  width: 48.93%;
  margin: 0 0 24px;
} 
.p-front-feature .c-card__item {
  align-items: flex-start;
}
.p-front-feature .c-card__img {
  margin: 14px 0;
}
@media screen and (max-width: 767px) {
  .p-front-feature .cardList {
    display: block;
  }
  .p-front-feature .c-card {
    width: 100%;
  }
  .p-front-feature .c-card__item {
    padding: 24px;
    align-items: center;
    flex-wrap: wrap;
  }
  .p-front-feature .c-card__img {
    margin: 0;
  }
  .p-front-feature .c-card__text {
    width: 100%;
    margin: 16px 0 0;
  }
}

/* --- p-front-case -------------------- */
.p-front-case {
  padding: 0 0 90px;
}
.p-front-case .titleArea {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.p-front-case .titleArea .c-heading {
  width: 40%;
  max-width: 400px;
}
.p-front-case .titleArea .textLead {
  flex: 1;
  max-width: 640px;
  padding: 40px;
}
.p-front-case .c-sliderCtrl {
  margin: 16px 0 40px;
  justify-content: flex-end;
}
.p-front-case .c-articleCardSlide {
  margin: 40px 0;
}
@media screen and (max-width: 767px) {
  .p-front-case .titleArea {
    display: block;
  }
  .p-front-case .titleArea .c-heading {
    width: 100%;
  }
  .p-front-case .titleArea .textLead {
    padding: 0;
    margin: 16px 0;
  }
}

/* --- p-front-faq -------------------- */
.p-front-faq {
  padding: 120px 0;
}
.p-front-faq .c-btn {
  margin-top: 38px;
}
@media screen and (max-width: 767px) {
  .p-front-faq {
    padding: 80px 0;
  }
  .p-front-faq .c-btn {
    margin-top: 16px;
  }
}

/* --- p-front-access -------------------- */
.p-front-access {
  padding: 90px 0 0;
}
.p-front-access .contents {
  display: flex;
  justify-content: space-between;
}
.p-front-access .contents .map {
  flex: 1;
  padding: 0 24px 0 0;
}
.p-front-access .contents .map iframe {
  width: 100%;
  height: 100%;
}
.p-front-access .contents .infoWrap {
  width: 376px;
  flex-shrink: 0;
}
.p-front-access .contents .info {
  padding: 16px 24px 24px;
}
.p-front-access .contents .info + .info {
  margin-top: 16px;
}
.p-front-access .contents .info__title {
  display: flex;
  align-items: center;
  margin: 0 0 16px;
}
.p-front-access .contents .info__titleIcon {
  width: 32px;
  flex-shrink: 0;
}
.p-front-access .contents .info__titleText {
  flex: 1;
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  padding: 4px;
}
.p-front-access .contents .info__detail {
  font-size: 1.6rem;
  letter-spacing: 0.04em;
}
.p-front-access .contents .info__stationList__item {
  display: flex;
  justify-content: space-between;
}
.p-front-access .contents .info__stationList__item + .info__stationList__item {
  margin-top: 16px;
}
.p-front-access .contents .info__stationList__icon {
  width: 40px;
  flex-shrink: 0;
}
.p-front-access .contents .info__stationList__detail {
  flex: 1;
  padding: 0 0 0 14px;
}
.p-front-access .contents .info__stationList__name {
  display: flex;
  align-items: baseline;
  font-size: 2rem;
  letter-spacing: 0.04em;
  margin: 0 0 4px;
}
.p-front-access .contents .info__stationList__nameSub {
  font-size: 1.6rem;
  padding: 0 0 0 14px;
}
@media screen and (max-width: 767px) {
  .p-front-access .contents {
    display: block;
  }
  .p-front-access .contents .map {
    height: 338px;
    padding: 0;
    margin: 0 0 24px;
  }
  .p-front-access .contents .infoWrap {
    width: 100%;
  }
}

/* --- p-front-news -------------------- */
.p-front-news {
  padding: 90px 0;
}
.p-front-news .contents {
  display: flex;
  justify-content: space-between;
}
.p-front-news .titleArea {
  width: 280px;
  flex-shrink: 0;
}
.p-front-news .titleArea .c-btn {
  margin-top: 20px;
}
.p-front-news .c-articleList {
  max-width: 760px;
  flex: 1;
  padding: 0 0 0 20px;
}
@media screen and (max-width: 767px) {
  .p-front-news {
    padding: 80px 0;
  }
  .p-front-news .contents {
    display: block;
  }
  .p-front-news .titleArea {
    width: 100%;
  }
  .p-front-news .c-articleList {
    padding: 0;
    margin: 24px 0 0;
  }
}

/* --- p-front-note -------------------- */
.p-front-note {
  padding: 0px 0 90px;
}
.p-front-note .titleArea {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.p-front-note .c-heading {
  width: 280px;
}
@media screen and (max-width: 767px) {
  .p-front-note .titleArea {
    display: block;
  }
  .p-front-note .c-heading {
    width: 100%;
    margin: 0 0 20px;
  }
}


/* --- p-[ページ名]-[セクション名] -------------------- */
@media screen and (min-width: 768px) { }
@media screen and (max-width: 1170px) { }
@media screen and (max-width: 767px) { }
@media (hover: hover) { }
