/* =========================================================
home
========================================================= */
body.page-home .main-cont {
  padding-bottom: 0;
}

/*------------------------------------------
splash
------------------------------------------*/
.splash {
  width: 100vw;
  height: 100vh;
  height: 100lvh;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 1s ease 2s;
}

.splash__logo {
  width: clamp(1px, 38.66vw, 230px);
  opacity: 0;
  transition: opacity 1s ease 1s;
}

.splash.is-active {
  opacity: 0;
}

.splash.is-active .splash__logo {
  opacity: 1;
}

/*------------------------------------------
MV
------------------------------------------*/
.home-mv {
  aspect-ratio: 16/9;
}

.home-mv video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*------------------------------------------
PICK UP
------------------------------------------*/
.home-picup {
  position: relative;
  z-index: 1;
}

@media (width <= 768px) {
  .home-picup {
    padding-top: 74px;
    padding-bottom: 80px;
  }
}
@media (769px <= width) {
  .home-picup {
    padding-top: 100px;
    padding-bottom: 120px;
  }
}
.home-picup .c-sec01__in {
  position: relative;
}

@media (width <= 768px) {
  .home-picup .c-ttl01 {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
@media (width <= 768px) {
  .home-picup .c-ttl01__ja {
    margin: 0;
  }
}
@media (width <= 768px) {
  .home-picup__list {
    width: 72.8vw;
    margin: 30px 0 0;
  }
}
@media (769px <= width) {
  .home-picup__list {
    width: 100%;
    margin: 50px 0 0;
  }
}
.home-picup__list.no-initialized {
  width: 100%;
}

@media (769px <= width) {
  .home-picup__list.no-initialized .swiper-wrapper {
    display: flex;
    align-items: flex-start;
    gap: clamp(1px, 1.25vw, 16px);
  }
}
@media (769px <= width) {
  .home-picup__list.no-initialized .swiper-wrapper > * {
    flex: 1;
  }
}
@media (width <= 768px) {
  .home-picup__list .swiper {
    overflow: visible;
  }
}
.home-picup__list .no-item {
  aspect-ratio: 1/1;
  width: 100%;
  border: 1px solid #ddd;
  position: relative;
}

.home-picup__list .no-item::before {
  content: "";
  width: 141.4%;
  height: 1px;
  background: #ddd;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}

@media (width <= 768px) {
  .home-picup__pagination {
    width: 88.88vw;
    margin: 54px 0 0;
  }
}
@media (769px <= width) {
  .home-picup__pagination {
    width: calc(87.5vw - 127px);
    margin: 80px 0 0;
  }
}
.home-picup__pagination.is-hide {
  display: none;
}

.home-picup__pagination .swiper-scrollbar {
  width: 100%;
  height: 2px;
  border-radius: 0;
  background: #DBDBDB;
  position: relative;
  left: auto;
  bottom: auto;
}

.home-picup__pagination .swiper-scrollbar-drag {
  background: #2B2B2B;
  height: 2px;
  border-radius: 0;
}

@media (width <= 768px) {
  .home-picup__control {
    width: 88.88vw;
    margin: 16px auto 0;
  }
}
@media (769px <= width) {
  .home-picup__control {
    position: absolute;
    bottom: -8px;
    right: 0;
  }
}
.home-picup__control.is-hide {
  display: none;
}

.home-picup__control .scroll {
  font-family: nimbus-sans, sans-serif;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: #8C8C8C;
  font-size: 14px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

@media (769px <= width) {
  .home-picup__control .scroll {
    display: none;
  }
}
.home-picup__control .scroll .arrow {
  display: block;
  width: 12px;
  aspect-ratio: 5/2;
  display: block;
  overflow: hidden;
}

.home-picup__control .scroll .arrow::before {
  content: "";
  width: 100%;
  height: 100%;
  -webkit-mask: url(../images/common/ico_arrow02.svg) no-repeat center/contain;
          mask: url(../images/common/ico_arrow02.svg) no-repeat center/contain;
}

.home-picup__control .scroll .arrow::before {
  background: #8C8C8C;
}

.home-picup__control .arrow-list {
  width: 87px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}

@media (width <= 768px) {
  .home-picup__control .arrow-list {
    display: none;
  }
}
.home-picup__control .arrow-list::before {
  content: "";
  width: 1px;
  height: 22px;
  background: #DBDBDB;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.home-picup__control .arrow-list [class*=swiper-button-] {
  width: 22px;
  height: 22px;
  margin: 0;
  aspect-ratio: 5/2;
  display: block;
  overflow: hidden;
  aspect-ratio: 1/1;
  opacity: 1;
  position: relative;
  top: auto;
  left: auto;
  right: auto;
}

.home-picup__control .arrow-list [class*=swiper-button-]::before {
  content: "";
  width: 100%;
  height: 100%;
  -webkit-mask: url(../images/common/ico_arrow02.svg) no-repeat center/contain;
          mask: url(../images/common/ico_arrow02.svg) no-repeat center/contain;
}

.home-picup__control .arrow-list [class*=swiper-button-]::before {
  background: #2B2B2B;
}

.home-picup__control .arrow-list [class*=swiper-button-]::after {
  content: none;
}

.home-picup__control .arrow-list [class*=swiper-button-].swiper-button-disabled::before {
  background: #DBDBDB;
}

.home-picup__control .arrow-list .swiper-button-prev {
  transform: scale(-1, 1);
  z-index: 1;
}

/*------------------------------------------
ABOUT
------------------------------------------*/
.home-about {
  background: #2B2B2B;
  color: #fff;
  position: relative;
}

@media (width <= 768px) {
  .home-about {
    padding: 80px 0 90px;
  }
}
@media (769px <= width) {
  .home-about {
    padding: 136px 0 130px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 50px repeat(3, max-content);
    grid-template-areas: "title title" "text logo" "band band" "button button";
  }
}
.home-about__deco {
  position: absolute;
  top: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

@media (width <= 768px) {
  .home-about__deco {
    font-size: 11px;
    right: 29px;
  }
}
@media (769px <= width) {
  .home-about__deco {
    font-size: 15px;
    right: 42px;
  }
}
.home-about__deco::before {
  content: "";
  width: 2px;
  background: #6d6d6d;
}

@media (width <= 768px) {
  .home-about__deco::before {
    height: 56px;
  }
}
@media (769px <= width) {
  .home-about__deco::before {
    height: 34px;
  }
}
.home-about__deco::after {
  content: "PUBLIC MUSEUM";
  margin: 1em auto 0;
  font-family: nimbus-sans, sans-serif;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1;
  writing-mode: vertical-lr;
}

@media (width <= 768px) {
  .home-about__deco::after {
    font-size: 11px;
  }
}
@media (769px <= width) {
  .home-about__deco::after {
    font-size: 15px;
  }
}
@media (width <= 768px) {
  .home-about__ttl {
    width: 170px;
    margin: 0 0 0 10.66vw;
  }
}
@media (769px <= width) {
  .home-about__ttl {
    grid-area: title;
    width: 480px;
    margin: 0 0 0 6.25vw;
  }
}
@media (width <= 768px) {
  .home-about__logo {
    margin: 62px auto 0;
  }
}
@media (769px <= width) {
  .home-about__logo {
    grid-area: logo;
    width: clamp(1px, 44.53vw, 570px);
    margin: 59px 0 0;
    justify-self: end;
    align-self: center;
  }
}
.home-about__txt01 {
  letter-spacing: 0.1em;
}

@media (width <= 768px) {
  .home-about__txt01 {
    margin: 45px auto 0;
    padding: 0 0 0 10.66vw;
    font-size: clamp(1px, 3.46vw, 13px);
    line-height: 2;
  }
}
@media (769px <= width) {
  .home-about__txt01 {
    grid-area: text;
    margin: 59px 0 0;
    padding: 0 0 0 6.25vw;
    font-size: clamp(1px, 1.37vw, 16px);
    line-height: 2;
    align-self: center;
  }
}
.home-about__band {
  background: url(../images/common/bg_about.webp) repeat-x 0 0/auto 100%;
}

@media (width <= 768px) {
  .home-about__band {
    height: 125px;
    margin: 57px auto 0;
    animation: about-sp 60s linear infinite;
  }
}
@media (769px <= width) {
  .home-about__band {
    grid-area: band;
    width: 100%;
    height: 190px;
    margin: 83px auto 0;
    animation: about-pc 60s linear infinite;
  }
}
@media (width <= 768px) {
  .home-about .c-btn01 {
    margin: 61px auto 0;
  }
}
@media (769px <= width) {
  .home-about .c-btn01 {
    grid-area: button;
    margin: 93px auto 0;
  }
}
@keyframes about-sp {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: -1160px;
  }
}
@keyframes about-pc {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: -1763px;
  }
}
/*------------------------------------------
EVENT & NEWS
------------------------------------------*/
@media (width <= 768px) {
  .home-event {
    padding: 90px 0 90px;
  }
}
@media (769px <= width) {
  .home-event {
    padding-top: 140px;
    padding-bottom: 160px;
  }
}
.home-event__list {
  position: relative;
  display: grid;
}

@media (width <= 768px) {
  .home-event__list {
    margin: 74px auto 0;
    padding: 0 0 121px;
    background: linear-gradient(to left, #fff 0%, #fff 50%, #E5E5E5 calc(50% + 1px), #fff calc(50% + 1px), #fff 100%) no-repeat center/contain;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px 19px;
  }
}
@media (769px <= width) {
  .home-event__list {
    margin: 80px auto 0;
    padding: 0 0 40px;
    background: linear-gradient(to left, #fff 0%, #fff 22%, #E5E5E5 calc(22% + 1px), #fff calc(22% + 1px), #fff 50%, #fff 50%, #E5E5E5 calc(50% + 1px), #fff calc(50% + 1px), #fff 76%, #fff 76%, #E5E5E5 calc(76% + 1px), #fff calc(76% + 1px), #fff 100%) no-repeat center/contain;
    grid-template-columns: calc(50% - 2.5vw) repeat(2, calc(25% - 2.5vw));
    gap: 50px 5vw;
  }
}
.home-event__list::before {
  width: 1px;
  height: 100%;
  background: #E5E5E5;
}

@media (width <= 768px) {
  .home-event .c-card02:nth-child(1) {
    width: 77.77%;
    margin: 0 auto;
    grid-column: span 2;
  }
}
@media (769px <= width) {
  .home-event .c-card02:nth-child(1) {
    width: calc(100% - 38px);
    height: -moz-fit-content;
    height: fit-content;
    grid-column: 1;
    grid-row: 1/span 3;
    position: sticky;
    top: 20px;
    left: 6.25vw;
  }
}
@media (width <= 768px) {
  .home-event .c-card02:nth-child(1) .c-card02__detail {
    margin: 18px auto 0;
    padding: 0;
  }
}
@media (769px <= width) {
  .home-event .c-card02:nth-child(1) .c-card02__detail {
    margin: 35px auto 0;
  }
}
@media (width <= 768px) {
  .home-event .c-card02:nth-child(2n) {
    transform: translateY(80px);
  }
}
@media (width <= 768px) {
  .home-event .c-btn01 {
    margin: 40px auto 0;
  }
}
@media (769px <= width) {
  .home-event .c-btn01 {
    margin: 85px auto 0;
  }
}
@media (769px <= width) {
  .home-event__list.item-1 {
    display: block;
    position: relative;
  }
}
@media (769px <= width) {
  .home-event__list.item-1 .c-card02:first-child {
    width: 490px;
    margin: 0 auto;
  }
}
@media (769px <= width) {
  .home-event__list.item-2 .c-card02:nth-child(1), .home-event__list.item-3 .c-card02:nth-child(1) {
    grid-row: 1/span 1;
  }
}
@media (769px <= width) {
  .home-event__list.item-4 .c-card02:nth-child(1), .home-event__list.item-5 .c-card02:nth-child(1) {
    grid-row: 1/span 2;
  }
}
@media (769px <= width) {
  .home-event__list.item-6 .c-card02:nth-child(1), .home-event__list.item-7 .c-card02:nth-child(1) {
    grid-row: 1/span 3;
  }
}
/*------------------------------------------
RESTAURANT & CAFE
------------------------------------------*/
.home-restaurant {
  background: #EAEAEA;
  position: relative;
  z-index: 0;
}

@media (width <= 768px) {
  .home-restaurant {
    padding-top: 90px;
    padding-bottom: 90px;
  }
}
@media (769px <= width) {
  .home-restaurant {
    padding-top: 120px;
    padding-bottom: 120px;
  }
}
@media (width <= 768px) {
  .home-restaurant .c-col2-4 {
    margin: 49px auto 0;
  }
}
@media (769px <= width) {
  .home-restaurant .c-col2-4 {
    margin: 67px auto 0;
  }
}
.home-restaurant .c-card03__detail {
  padding: 0;
}

@media (769px <= width) {
  .home-restaurant .c-card03__txt01 {
    font-size: 16px;
  }
}
@media (width <= 768px) {
  .home-restaurant .c-card03__txt01 + * {
    margin: 4px auto 0;
  }
}
@media (769px <= width) {
  .home-restaurant .c-card03__txt02 {
    font-size: 14px;
  }
}
@media (width <= 768px) {
  .home-restaurant .c-btn01 {
    margin: 62px auto 0;
  }
}
@media (769px <= width) {
  .home-restaurant .c-btn01 {
    margin: 105px auto 0;
  }
}
/*------------------------------------------
INSTAGRAM
------------------------------------------*/
.home-ig {
  overflow: hidden;
}

@media (width <= 768px) {
  .home-ig {
    padding-top: 72px;
    padding-bottom: 80px;
  }
}
@media (769px <= width) {
  .home-ig {
    padding-top: 75px;
    padding-bottom: 100px;
  }
}
.home-ig .c-sec01__in {
  position: relative;
}

.home-ig__ttl {
  font-family: nimbus-sans, sans-serif;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1;
}

@media (width <= 768px) {
  .home-ig__ttl {
    font-size: clamp(1px, 6.93vw, 26px);
  }
}
@media (769px <= width) {
  .home-ig__ttl {
    font-size: clamp(1px, 3.12vw, 40px);
  }
}
.home-ig__btn {
  position: absolute;
  top: 0;
  right: 0;
}

@media (width <= 768px) {
  .home-ig__btn {
    width: 90px;
  }
}
@media (769px <= width) {
  .home-ig__btn {
    width: 152px;
  }
}
.home-ig__btn a {
  display: flex;
  align-items: center;
  border-radius: 34px;
  background: #00FF64;
  font-family: nimbus-sans, sans-serif;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1;
  letter-spacing: 0.025em;
}

@media (width <= 768px) {
  .home-ig__btn a {
    height: 20px;
    padding: 0 0 0 12px;
    font-size: 10px;
    gap: 6px;
  }
}
@media (769px <= width) {
  .home-ig__btn a {
    height: 34px;
    padding: 0 0 0 21px;
    font-size: 15px;
    gap: 20px;
  }
}
.home-ig__btn .arrow {
  aspect-ratio: 1/1;
  display: block;
  overflow: hidden;
  transform: translateY(-1px) rotate(-45deg);
}

.home-ig__btn .arrow::before {
  content: "";
  width: 100%;
  height: 100%;
  -webkit-mask: url(../images/common/ico_arrow03.svg) no-repeat center/contain;
          mask: url(../images/common/ico_arrow03.svg) no-repeat center/contain;
}

@media (width <= 768px) {
  .home-ig__btn .arrow {
    width: 7px;
  }
}
@media (769px <= width) {
  .home-ig__btn .arrow {
    width: 12px;
  }
}
.home-ig__btn .arrow::before {
  background: #2B2B2B;
}

@media (hover: hover) {
  .home-ig__btn a:hover .arrow::before {
    animation: c-arrow-1st 0.2s linear, c-arrow-2nd 0.2s linear 0.2s;
  }
}
.home-ig__list {
  overflow: visible;
}

@media (width <= 768px) {
  .home-ig__list {
    width: 164px;
    margin: 35px 0 0;
  }
}
@media (769px <= width) {
  .home-ig__list {
    width: 223px;
    margin: 40px 0 0;
  }
}
.home-ig__list .swiper-wrapper {
  transition-timing-function: linear !important;
}

.home-ig__item a {
  aspect-ratio: 227/280;
  display: block;
}

.home-ig__item img,
.home-ig__item video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}