@charset "UTF-8";
/* -----------------------------------------------
common
----------------------------------------------- */
.maincontain :is(.mv, .banner) picture {
  display: block;
}
.maincontain :is(.mv, .banner) img {
  width: 100%;
}
.maincontain .banner {
  position: relative;
  background: #efefef;
  padding: 70rem 138rem 69rem;
}
.maincontain .banner--white {
  background: #fff;
}
.section-heading {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 10rem;
  font-weight: bold;
  font-size: 42rem;
  letter-spacing: 0.1em;
  text-align: left;
  color: #000;
  z-index: 1;
  margin-bottom: 34rem;
}
.section-heading__sub {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-weight: normal;
  font-size: 15rem;
  letter-spacing: 0.1em;
  text-align: left;
  color: #000;
}
.section-heading::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 17rem;
  background: white;
  z-index: -1;
  top: 39rem;
}
.section-lead {
  font-size: 20rem;
  line-height: 2.2;
  margin-bottom: 82rem;
}
.page-title {
  margin-bottom: 67rem;
}
.page-title__heading {
  font-weight: bold;
  font-size: 36rem;
  letter-spacing: 0.1em;
  margin-bottom: 15rem;
}
.page-title__lead {
  font-size: 21rem;
}
.maincontain .banner .feature .viewmore {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  margin-top: 63.5rem;
  width: 428rem;
  height: 48rem;
  font-weight: normal;
  font-size: 20rem;
  letter-spacing: 0.1em;
  text-align: center;
  color: #000;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}
.line__link {
  position: absolute;
  width: 223rem;
  bottom: 60rem;
  right: 58rem;
}

@media (max-width: 600px) {
  .pc__only {
    display: none;
  }
  .maincontain .banner {
    display: block!important;
    padding: 24rem 25rem 41rem;
    margin-top: 0rem;
  }
  .section-heading {
    font-size: 26rem;
    margin-bottom: 11rem;
  }
  .section-heading__sub {
    display: none;
  }
  .section-heading::before {
    top: 20rem;
    width: 100%;
    height: 10rem;
  }
  .section-lead {
    font-size: 10rem;
    line-height: 2;
    margin-bottom: 14rem;
  }
  .page-title {
    margin-bottom: 27rem;
  }
  .page-title__heading {
    font-size: 13.5rem;
    margin-bottom: 7rem;
  }
  .page-title__lead {
    font-size: 10rem;
    line-height: 1.7;
  }
  .maincontain .banner .feature .viewmore {
    margin-top: 40rem;
    width: 256rem;
    height: 37rem;
    font-size: 12rem;
  }
  .line__link {
    width: 118rem;
    bottom: 28rem;
    right: 25rem;
  }
}

@media (min-width: 601px) {
  .sp__only {
    display: none;
  }
}

/* -----------------------------------------------
mv
----------------------------------------------- */
.mv {
  position: relative;
}
.mv__video {
  width: 100%;
}

@media (max-width: 600px) {
  
}

/* -----------------------------------------------
about
----------------------------------------------- */
.about .section-heading {
  margin-bottom: 64rem;
}
.about__lead--ja {
  font-weight: bold;
  font-size: 48rem;
  letter-spacing: 0.1em;
  margin-bottom: 13rem;
}
.about__lead--en {
  font-weight: bold;
  font-size: 20rem;
  letter-spacing: 0.1em;
  margin-bottom: 30rem;
}
.about__content--primary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0 47rem;
  margin-bottom: 48rem;
}
.about__content--primary .about__image {
  width: 915rem;
}
.about__content--primary .about__body {
  background: #fff;
  width: 915rem;
  min-height: 482rem;
  padding: 30rem 42rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.about__content--primary .about__title {
  font-weight: bold;
  font-size: 35rem;
  margin-bottom: 34rem;
}
.about__content--primary .about__text {
  font-size: 20rem;
  line-height: 1.95;
}
.about__content--secondary .swiper-wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 47rem;
}
.about__content--secondary .about__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
}
.about__content--secondary .about__body {
  background: #fff;
  padding: 27rem 61rem 29rem;
}
.about__content--secondary .about__title {
  font-weight: bold;
  font-size: 21rem;
  line-height: 1.524;
  letter-spacing: .075em;
  margin-bottom: 8rem;
}
.about__content--secondary .about__text {
  font-size: 16rem;
  line-height: 1.8125;
  letter-spacing: .04em;
}

@media (max-width: 600px) {
  .about .section-heading {
    margin-bottom: 18rem;
  }
  .about__lead--ja {
    font-size: 15rem;
    margin-bottom: 4rem;
  }
  .about__lead--en {
    font-size: 10rem;
    margin-bottom: 28rem;
  }
  .about__content--primary {
    display: block;
    margin-bottom: 37rem;
  }
  .about__content--primary .about__image {
    width: 100%;
    margin-bottom: 13rem;
  }
  .about__content--primary .about__body {
    width: 100%;
    min-height: auto;
    padding: 20rem 18rem;
    display: block;
  }
  .about__content--primary .about__title {
    font-weight: bold;
    font-size: 17rem;
    margin-bottom: 8rem;
  }
  .about__content--primary .about__text {
    font-size: 10rem;
    line-height: 2;
  }
  .about__content--secondary {
    width: 100vw;
    margin-inline: calc(50% - 50vw);
  }
  .about__content--secondary .swiper-wrapper {
    display: flex;
    gap: 0;
  }
  .about__content--secondary .about__body {
    padding: 14rem 34rem;
  }
  .about__content--secondary .about__title {
    font-size: 13rem;
    line-height: 1.54;
    letter-spacing: 0;
    margin-bottom: 6rem;
  }
  .about__content--secondary .about__text {
    font-size: 10rem;
    line-height: 1.8;
  }
  .about__content--secondary :is(.swiper-button-prev, .swiper-button-next) {
    width: 14rem;
    aspect-ratio: 14/30;
    height: auto;
    margin: 0;
    position: absolute;
    top: 50%;
    translate: 0 -50%;
  }
  .about__content--secondary .swiper-button-prev {
    left: 25rem;
    background: url(../img/shop_detail/slider_prev_sp.svg) center / contain no-repeat;
  }
  .about__content--secondary .swiper-button-next {
    right: 25rem;
    background: url(../img/shop_detail/slider_next_sp.svg) center / contain no-repeat;
  }
  .about__content--secondary :is(.swiper-button-prev, .swiper-button-next)::after {
    content: none;
  }
}

/* -----------------------------------------------
floor
----------------------------------------------- */
.floor__content {
  display: flex;
  align-items: center;
  gap: 0 158rem;
}
.floor__item--map {
  width: 1068rem;
}
.floor__image {
  margin-bottom: 40rem;
  display: block;
}
.floor__att-text {
  font-size: 15rem;
  margin-left: 162rem;
}
.floor__item--gallery {
  position: relative;
  width: 418rem;
  padding: 74rem 0;
}
.floor__item--gallery .swiper {
  width: 100%;
  height: 872rem;
}
.floor__item--gallery .floor__image {
  margin-bottom: 43rem;
}
.floor__item--gallery :is(.swiper-button-prev, .swiper-button-next) {
  width: 46rem;
  aspect-ratio: 1/1;
  height: auto;
  margin: 0;
  position: absolute;
  left: 50%;
  translate: -50% 0;
}
.floor__item--gallery .swiper-button-prev {
  top: 0;
  background: url(../img/shop_detail/slider_prev_pc.svg) center / contain no-repeat;
}
.floor__item--gallery .swiper-button-next {
  bottom: 0;
  top: auto;
  right: auto;
  background: url(../img/shop_detail/slider_next_pc.svg) center / contain no-repeat;
}
.floor__item--gallery :is(.swiper-button-prev, .swiper-button-next)::after {
  content: none;
}


@media (max-width: 600px) {
  .floor__content {
    display: block;
  }
  .floor__item--map {
    width: 100%;
    margin-bottom: 28rem;
  }
  .floor__image {
    margin-bottom: 12rem;
  }
  .floor__att-text {
    font-size: 8rem;
    margin-left: 0;
  }
  .floor__item--gallery {
    width: 100vw;
    padding: 0;
    margin-inline: calc(50% - 50vw);
  }
  .floor__item--gallery .swiper {
    height: auto;
  }
  .floor__item--gallery .floor__image {
    margin-bottom: 0;
  }
  .floor__item--gallery :is(.swiper-button-prev, .swiper-button-next) {
    width: 14rem;
    aspect-ratio: 14/30;
    height: auto;
    margin: 0;
    position: absolute;
    top: 50%;
    translate: 0 -50%;
  }
  .floor__item--gallery .swiper-button-prev {
    left: 38rem;
    background: url(../img/shop_detail/slider_prev_sp.svg) center / contain no-repeat;
  }
  .floor__item--gallery .swiper-button-next {
    bottom: auto;
    left: auto;
    right: 38rem;
    background: url(../img/shop_detail/slider_next_sp.svg) center / contain no-repeat;
  }
  .floor__item--gallery :is(.swiper-button-prev, .swiper-button-next)::after {
    content: none;
  }
}

@media (min-width: 601px) {
  
}

/* -----------------------------------------------
feature
----------------------------------------------- */
.maincontain .banner .feature .firstbox {
  margin-top: 45rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 33rem;
}
.maincontain .banner .feature .firstbox .subbox {
  width: 804rem;
  height: 365rem;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 50rem;
  background: white;
}
.maincontain .banner .feature .firstbox .subbox:hover {
  animation: opa 0.3s linear forwards;
}
.maincontain .banner .feature .firstbox .subbox_imag img {
  width: 365rem;
  height: 365rem;
}
.maincontain .banner .feature .firstbox .subbox_con {
  display: flex;
  align-items: flex-start;
  justify-content: space-evenly;
  flex-direction: column;
  height: 365rem;
}
.maincontain .banner .feature .firstbox .subbox_con_ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-weight: normal;
  font-size: 15rem;
  letter-spacing: 0.1em;
  text-align: left;
  color: #000;
}
.maincontain .banner .feature .firstbox .subbox_con_ttl::after {
  content: "";
  width: 99rem;
  background: transparent;
  border: 1px solid #000;
}
.maincontain .banner .feature .firstbox .subbox_con_ttx {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-weight: normal;
  font-size: 22rem;
  line-height: 35rem;
  text-align: left;
  color: #4478a3;
  width: 341rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}
.maincontain .banner .feature .firstbox .subbox_con_exp {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-weight: normal;
  font-size: 14rem;
  line-height: 24rem;
  text-align: left;
  color: #000;
  width: 341rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.maincontain .banner .feature .firstbox .subbox_con_add {
  width: 341rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.maincontain .banner .feature .firstbox .subbox_con_add .date {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7rem;
  font-family: "Helvetica";
  font-weight: normal;
  font-size: 17rem;
  line-height: 29rem;
  text-align: left;
  color: #000;
}
.maincontain .banner .feature .firstbox .subbox_con_add .date img {
  width: 20rem;
}
.maincontain .banner .feature .firstbox .subbox_con_add .readmore {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7rem;
  font-family: "Helvetica";
  font-weight: bold;
  font-size: 17rem;
  text-align: left;
  color: #000;
}
.maincontain .banner .feature .firstbox .subbox_con_add .readmore img {
  width: 20rem;
}

@media (max-width: 600px) {
  .maincontain .banner .feature .firstbox {
    margin-top: 24rem;
    grid-template-columns: 1fr;
    grid-gap: 15rem;
  }
  .maincontain .banner .feature .firstbox .subbox {
    width: 335rem;
    height: 152rem;
    gap: 13rem;
  }
  .maincontain .banner .feature .firstbox .subbox_imag img {
    width: 152rem;
    height: 152rem;
  }
  .maincontain .banner .feature .firstbox .subbox_con {
    height: 152rem;
  }
  .maincontain .banner .feature .firstbox .subbox_con_ttl {
    font-size: 8rem;
  }
  .maincontain .banner .feature .firstbox .subbox_con_ttl::after {
    width: 47rem;
  }
  .maincontain .banner .feature .firstbox .subbox_con_ttx {
    font-size: 12rem;
    line-height: 17rem;
    width: 158rem;
    -webkit-line-clamp: 2;
  }
  .maincontain .banner .feature .firstbox .subbox_con_exp {
    width: 158rem;
    font-size: 10rem;
    line-height: 16rem;
  }
  .maincontain .banner .feature .firstbox .subbox_con_add {
    width: 158rem;
  }
  .maincontain .banner .feature .firstbox .subbox_con_add .date {
    font-size: 8rem;
    line-height: 12rem;
  }
  .maincontain .banner .feature .firstbox .subbox_con_add .date img {
    width: 8.12rem;
    height: 8.12rem;
  }
  .maincontain .banner .feature .firstbox .subbox_con_add .readmore {
    font-size: 8rem;
  }
  .maincontain .banner .feature .firstbox .subbox_con_add .readmore img {
    width: 8.12rem;
  }
}

/* -----------------------------------------------
brand
----------------------------------------------- */
.brand__list {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 82rem 61.4rem;
  list-style-type: none;
}

@media (max-width: 600px) {
  .brand__list {
    grid-template-columns: repeat(4, 1fr);
    gap: 31rem 18.2em;
  }
}

/* -----------------------------------------------
information
----------------------------------------------- */
.information__content {
  display: grid; 
  grid-template-columns: 1032rem 553rem; 
  grid-template-rows: 1fr auto; 
  gap: 49rem 59rem; 
  grid-template-areas: 
    "information__image information__body"
    "information__map information__map"; 
}
.information__image {
  grid-area: information__image;
}
.information__body {
  grid-area: information__body;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 30rem 46rem;
}
.information__detail {
  margin-bottom: 40rem;
}
.information__detail dt {
  font-size: 23rem;
  margin-bottom: 28rem;
  font-weight: bold;
}
.information__detail dd {
  font-size: 20rem;
  line-height: 1.75;
}
.information__sns-list {
  display: flex;
  gap: 0 24rem;
  list-style-type: none;
}
.information__sns-item {
  width: 30rem;
}
.information__map {
  grid-area: information__map;
  aspect-ratio: 1644/430;
}
.information__map iframe {
  width: 100%;
  height: 100%;
}

@media (max-width: 600px) {
  .information__content {
    display: block;
  }
  .information__body {
    display: block;
    padding: 18rem 18rem 21rem;
    margin-bottom: 22rem;
  }
  .information__detail {
    margin-bottom: 13rem;
  }
  .information__detail dt {
    font-size: 13rem;
    margin-bottom: 8rem;
  }
  .information__detail dd {
    font-size: 10rem;
    line-height: 1.8;
  }
  .information__sns-list {
    gap: 0 13rem;
  }
  .information__sns-item {
    width: 16rem;
  }
  .information__map {
    aspect-ratio: 325/128;
  }
  .information__map iframe {
    width: 100%;
    height: 100%;
  }
}
