@charset "UTF-8";
/* =========================================================
home
========================================================= */
body.page-home .wrapper {
  transition: transform 0.5s;
}
@media (min-width: 1025px) {
  body.page-home .wrapper {
    transform: none !important;
  }
}
body.page-home .wrapper.is-slide {
  transition: none;
}
body.page-home .c-hd-page__logo {
  display: none;
}

@media (max-width: 768px) {
  .home-sec {
    padding-top: 64px;
  }
}
@media (min-width: 769px) {
  .home-sec {
    padding-top: 104px;
  }
}
@media (max-width: 768px) {
  .home-sec .c-ttl01 {
    margin: 0 auto 40px;
  }
}
@media (min-width: 769px) {
  .home-sec .c-ttl01 {
    margin: 0 auto 49px;
  }
}
@media (max-width: 768px) {
  .home-sec .c-btn01 {
    margin: 40px auto 0;
  }
}
@media (min-width: 769px) {
  .home-sec .c-btn01 {
    margin: 56px auto 0;
  }
}

/*------------------------------------------
splash
------------------------------------------*/
.splash {
  width: 100vw;
  height: 100vh;
  height: 100lvh;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
}
.splash__logo {
  width: clamp(10px, 53.8666666667vw, 202px);
  opacity: 0;
}
.splash.is-active {
  opacity: 0;
  transition: opacity 1s ease 2s;
}
.splash.is-active .splash__logo {
  opacity: 1;
  transition: opacity 1s ease 1s;
}

.home-scroll {
  padding: 0 0 0 4px;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HiraMinProN-W3", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Noto Serif JP", serif;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.05em;
  writing-mode: vertical-lr;
  white-space: nowrap;
  position: fixed;
  z-index: 1;
}
@media (max-width: 768px) {
  .home-scroll {
    right: 8px;
    bottom: 8px;
  }
}
@media (min-width: 769px) {
  .home-scroll {
    right: 24px;
    bottom: 24px;
  }
}
.home-scroll::before {
  content: "";
  width: 1px;
  height: 30px;
  background: #000;
  position: absolute;
  top: 0;
  left: 0;
  animation: pathmove 1.4s ease-in-out infinite;
  opacity: 0;
}

/*------------------------------------------
main visual
------------------------------------------*/
.home-hd-mv {
  position: relative;
}
.home-hd-mv a,
.home-hd-mv span {
  display: block;
}
.home-hd-mv img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.home-hd-mv video {
  width: 100%;
  height: 100%;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
}
.home-hd-mv__sp {
  aspect-ratio: 9/16;
  position: relative;
}
@media (min-width: 769px) {
  .home-hd-mv__sp {
    display: none;
  }
}
.home-hd-mv__pc {
  aspect-ratio: 16/9;
  position: relative;
}
@media (max-width: 768px) {
  .home-hd-mv__pc {
    display: none;
  }
}

@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }
  30% {
    height: 30px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 50px;
    opacity: 0;
  }
}
/*------------------------------------------
main banner
------------------------------------------*/
.home-main-bnr {
  overflow: hidden;
}
@media (max-width: 768px) {
  .home-main-bnr {
    padding: 64px 0 0;
  }
}
@media (min-width: 769px) {
  .home-main-bnr {
    padding: 88px 0 0;
  }
}
.home-main-bnr__slider {
  margin: 0 auto;
}
@media (max-width: 768px) {
  .home-main-bnr__slider {
    width: 64vw;
  }
}
@media (min-width: 769px) {
  .home-main-bnr__slider {
    width: 27.1875vw;
  }
}
@media (max-width: 768px) {
  .home-main-bnr__item {
    padding: 0 16px;
  }
}
@media (min-width: 769px) {
  .home-main-bnr__item {
    padding: 0 12px;
  }
}
.home-main-bnr__item a {
  display: block;
}
.home-main-bnr__in {
  aspect-ratio: 1/1;
  width: 100%;
  height: 100%;
  position: relative;
}
.home-main-bnr__in img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.home-main-bnr__in iframe {
  width: 100%;
  height: 100%;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
}
.home-main-bnr .slick-list {
  overflow: visible;
}
.home-main-bnr .slick-track {
  display: flex;
  justify-content: center;
  align-items: center;
}
.home-main-bnr .slick-slide {
  clear: both;
}
@media (max-width: 768px) {
  .home-main-bnr .slick-active .home-main-bnr__item {
    padding: 0;
  }
}
.home-main-bnr .slick-dots {
  margin: 32px auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.home-main-bnr .slick-dots button {
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #CED1D8;
  white-space: nowrap;
  text-indent: 100%;
  overflow: hidden;
}
.home-main-bnr .slick-dots .slick-active button {
  width: 12px;
  height: 12px;
  background: #6A6B6F;
}

/*------------------------------------------
feature
------------------------------------------*/
.home-feature__list {
  display: grid;
}
@media (max-width: 768px) {
  .home-feature__list {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, max-content);
    grid-template-areas: "first first" "second third" "fourth fifth";
    gap: 32px 20px;
  }
}
@media (min-width: 769px) {
  .home-feature__list {
    grid-template-columns: 47.8% repeat(2, 1fr);
    grid-template-rows: repeat(2, max-content);
    grid-template-areas: "first second third" "first fourth fifth";
    gap: 48px clamp(10px, 3.75vw, 48px);
  }
}
@media (min-width: 769px) {
  .home-feature__list.item-1 {
    width: 47.8%;
    margin: 0 auto;
    grid-template-columns: 1fr;
    grid-template-rows: max-content;
    grid-template-areas: "first";
  }
}
.home-feature__list .c-card01:nth-child(1) {
  grid-area: first;
}
@media (max-width: 768px) {
  .home-feature__list .c-card01:nth-child(1) {
    padding: 0 0 30px;
  }
}
@media (max-width: 768px) {
  .home-feature__list .c-card01:nth-child(1) .c-card01__img {
    width: 70.4vw;
    transform: translateX(-20px);
  }
}
.home-feature__list .c-card01:nth-child(1) .c-card01__detail {
  background: #fff;
}
@media (max-width: 768px) {
  .home-feature__list .c-card01:nth-child(1) .c-card01__detail {
    width: 75.7333333333vw;
    margin: -50px 0 0 auto;
    padding: 0;
    transform: translateX(20px);
  }
}
@media (min-width: 769px) {
  .home-feature__list .c-card01:nth-child(1) .c-card01__detail {
    width: 81.6%;
    margin: -65px 0 0 auto;
    padding: 0;
  }
}
.home-feature__list .c-card01:nth-child(1) .c-card01__detail > * {
  width: calc(100% - 48px);
}
.home-feature__list .c-card01:nth-child(1) .c-card01__ctg {
  width: 100%;
  position: relative;
}
.home-feature__list .c-card01:nth-child(1) .c-card01__tag {
  margin: 16px auto 0;
}
.home-feature__list .c-card01:nth-child(1) .c-card01__txt01 {
  font-size: 20px;
  line-height: 1.4;
}
.home-feature__list .c-card01:nth-child(2) {
  grid-area: second;
}
.home-feature__list .c-card01:nth-child(3) {
  grid-area: third;
}
.home-feature__list .c-card01:nth-child(4) {
  grid-area: fourth;
}
.home-feature__list .c-card01:nth-child(5) {
  grid-area: fifth;
}

/*------------------------------------------
event
------------------------------------------*/
@media (max-width: 768px) {
  .home-event .c-card02 {
    display: none;
  }
}
@media (max-width: 768px) {
  .home-event .c-card02:nth-child(-n+5) {
    display: block;
  }
}
@media (max-width: 768px) {
  .home-event .c-card02 a {
    display: flex;
    align-items: center;
    gap: 16px;
  }
}
.home-event .c-card02__top {
  position: relative;
}
@media (max-width: 768px) {
  .home-event .c-card02__top {
    width: 37.3%;
  }
}
@media (max-width: 768px) {
  .home-event .c-card02__bottom {
    margin: 0;
    flex: 1;
  }
}

/*------------------------------------------
PARCO news
------------------------------------------*/
@media (min-width: 769px) {
  .home-pnews .c-card05 a {
    display: block;
  }
}
@media (min-width: 769px) {
  .home-pnews .c-card05__img {
    width: 100%;
  }
}
@media (min-width: 769px) {
  .home-pnews .c-card05__detail {
    margin: 16px auto 0;
    display: block;
  }
}
@media (min-width: 769px) {
  .home-pnews .c-card05__status {
    min-height: 12px;
  }
}
@media (min-width: 769px) {
  .home-pnews .c-card05__txt02 {
    font-size: 10px;
  }
}

/*------------------------------------------
banner
------------------------------------------*/
@media (max-width: 768px) {
  .home-bnr {
    padding-left: 0;
    padding-right: 0;
  }
}
.home-bnr__list {
  display: grid;
  gap: 8px;
}
@media (min-width: 769px) {
  .home-bnr__list.col2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .home-bnr__item {
    width: calc(100% - 20px);
  }
}
.home-bnr__item a {
  display: block;
  position: relative;
}
.home-bnr__item a::before {
  content: "";
  background: #fff;
  position: absolute;
}
@media (max-width: 768px) {
  .home-bnr__item a::before {
    width: 77px;
    height: 87px;
  }
}
@media (min-width: 769px) {
  .home-bnr__item a::before {
    aspect-ratio: 1/1;
    width: clamp(10px, 8.28125vw, 106px);
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
    right: -1px;
    bottom: -1px;
    transition: width 0.3s;
  }
}
@media (hover: hover) {
  .home-bnr__item a:hover::before {
    width: clamp(10px, 2.578125vw, 33px);
  }
}
@media (max-width: 768px) {
  .home-bnr__item:nth-child(odd) a::before {
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
    right: -1px;
    bottom: -1px;
  }
}
@media (max-width: 768px) {
  .home-bnr__item:nth-child(even) {
    margin: 0 0 0 auto;
  }
}
@media (max-width: 768px) {
  .home-bnr__item:nth-child(even) a::before {
    clip-path: polygon(0 0, 0 100%, 100% 0);
    left: -1px;
    top: -1px;
  }
}
.home-bnr__item img {
  width: 100%;
}

/*------------------------------------------
Instagram
------------------------------------------*/
@media (max-width: 768px) {
  .home-ig {
    padding-left: 0;
    padding-right: 0;
  }
}
@media (min-width: 769px) {
  .home-ig .sec-in {
    display: grid;
    grid-template-columns: 32% 1fr;
    grid-template-areas: repeat(2, 1fr);
    gap: 0 clamp(10px, 4.6875vw, 60px);
    grid-template-areas: "title list" "button list";
    padding: 0 0 0 8.6%;
  }
}
@media (min-width: 769px) {
  .home-ig .c-ttl01 {
    grid-area: title;
    align-self: end;
    margin: 0;
    text-align: left;
  }
}
@media (min-width: 769px) {
  .home-ig .c-ttl01__en::before {
    left: 0;
    transform: none;
  }
}
.home-ig .c-ttl01__ja {
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "游ゴシック体", "Yu Gothic", YuGothic, Meiryo, メイリオ, "Noto Sans JP", sans-serif;
}
@media (min-width: 769px) {
  .home-ig .c-btn01 {
    grid-area: button;
    margin: 48px 0 0;
  }
}
.home-ig__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  background: #fff;
  position: relative;
}
@media (min-width: 769px) {
  .home-ig__list {
    width: 40.625vw;
    grid-area: list;
  }
}
.home-ig__list::before {
  width: 100%;
  height: 100%;
  border: 2px solid #000;
  position: absolute;
  bottom: -24px;
  right: -24px;
  z-index: -1;
}
@media (min-width: 769px) {
  .home-ig__list::before {
    content: "";
  }
}
.home-ig__item a {
  aspect-ratio: 1/1;
  display: block;
}
.home-ig__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*------------------------------------------
sub banner
------------------------------------------*/
.home-sub-bnr {
  overflow: hidden;
}
@media (max-width: 768px) {
  .home-sub-bnr {
    padding-top: 96px;
  }
}
@media (min-width: 769px) {
  .home-sub-bnr {
    padding-top: 156px;
  }
}
.home-sub-bnr__slider {
  margin: 0 auto;
}
@media (max-width: 768px) {
  .home-sub-bnr__slider {
    width: 33.3vw;
  }
}
@media (min-width: 769px) {
  .home-sub-bnr__slider {
    width: 13.3vw;
  }
}
@media (max-width: 768px) {
  .home-sub-bnr__slider.slick-initialized {
    width: calc(66.6vw + 12px);
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .home-sub-bnr__slider.slick-initialized {
    width: 80%;
  }
}
@media (min-width: 1025px) {
  .home-sub-bnr__slider.slick-initialized {
    width: calc(53.2vw + 24px);
  }
}
.home-sub-bnr__item {
  aspect-ratio: 1/1;
}
.home-sub-bnr__item a {
  display: block;
  height: 100%;
}
.home-sub-bnr__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 768px) {
  .home-sub-bnr .slick-list {
    overflow: visible;
  }
}
.home-sub-bnr .slick-track {
  display: flex;
}
@media (max-width: 768px) {
  .home-sub-bnr .slick-track {
    gap: 6px;
  }
}
@media (min-width: 769px) {
  .home-sub-bnr .slick-track {
    gap: 12px;
  }
}
/*# sourceMappingURL=../css/maps/home.css.map */
