/* ------------------------------------- */
/* mv
/* ------------------------------------- */
.mv {
  position: relative;
  width: 100%;
  height: 100vh;
  background: url(/img/top/bg-mv.jpg) no-repeat center center/cover;
}
.mv-title {
  -ms-writing-mode: tb-rl;
  position: absolute;
  right: 32px;
  bottom: 32px;
  color: #fff;
  font-size: 2.4rem;
  line-height: 2;
  letter-spacing: 1.2px;
  text-orientation: upright;
  writing-mode: vertical-rl;
}
.mv-side {
  -ms-writing-mode: tb-rl;
  display: flex;
  position: absolute;
  bottom: 20px;
  left: 47px;
  color: #fff;
  writing-mode: vertical-rl;
}
.mv-side .copyright {
  font-size: 1rem;
  font-family: trajan-pro-3, serif;
  letter-spacing: 1px;
}
.mv-side .scroll {
  position: relative;
  margin-top: 90px;
  padding-bottom: 80px;
  font-size: 1rem;
  font-family: trajan-pro-3, serif;
  letter-spacing: 1px;
}
.mv-side .scroll::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 70px;
  transform: translateX(-50%);
  background-color: #fff;
  content: "";
  animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}

@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
@media screen and (max-width: 600px) {
  .mv-title {
    right: 20px;
    bottom: 20px;
    font-size: 2rem;
    letter-spacing: 1px;
  }
  .mv-side {
    left: 20px;
  }
}
/* ------------------------------------- */
/* intro
/* ------------------------------------- */
.intro {
  margin-top: 167px;
}
.intro-inner {
  max-width: 1000px;
}
.intro-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.intro-wrapper figure {
  width: 40%;
}
.intro-box {
  width: 46%;
}
.intro-title {
  font-weight: 500;
  font-size: 4rem;
  line-height: 1.9;
  letter-spacing: 2px;
}
.intro-text {
  margin-top: 40px;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.8px;
}

@media screen and (max-width: 600px) {
  .intro {
    margin-top: 102px;
  }
  .intro-inner {
    max-width: 100%;
  }
  .intro-wrapper {
    flex-direction: column-reverse;
  }
  .intro-wrapper figure {
    width: 100%;
    margin-top: 50px;
  }
  .intro-box {
    width: 100%;
  }
  .intro-title {
    font-size: 2.8rem;
    letter-spacing: 2.8px;
  }
}
/* ------------------------------------- */
/* onlineshop
/* ------------------------------------- */
.onlineshop {
  margin-top: 188px;
  padding: 163px 0 173px;
  background-color: #e8eced;
}
.onlineshop-inner {
  max-width: 1000px;
}
.onlineshop-wrapper {
  display: flex;
  justify-content: space-between;
}
.onlineshop-info {
  width: 44%;
}
.onlineshop-info-title {
  font-weight: 500;
  font-size: 4rem;
  line-height: 1.9;
  letter-spacing: 4px;
}
.onlineshop-info-text {
  margin-top: 37px;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 1.6px;
}
.onlineshop-info-button {
  width: 180px;
  margin-top: 50px;
}
.onlineshop figure {
  width: 40%;
}

@media screen and (max-width: 600px) {
  .onlineshop {
    margin-top: 98px;
    padding: 100px 0;
  }
  .onlineshop-inner {
    max-width: 100%;
  }
  .onlineshop-wrapper {
    flex-direction: column;
  }
  .onlineshop-info {
    width: 100%;
  }
  .onlineshop-info-title {
    font-size: 2.8rem;
    letter-spacing: 2.8px;
  }
  .onlineshop-info-button {
    width: 100%;
    margin: 50px auto 0;
  }
  .onlineshop figure {
    width: 100%;
    margin-top: 50px;
  }
}
/* ------------------------------------- */
/* instagram
/* ------------------------------------- */
.instagram {
  margin-top: 120px;
}
.instagram-inner {
  max-width: 1000px;
}
.instagram-title {
  font-size: 2rem;
  font-family: futura-pt, sans-serif;
  letter-spacing: 2px;
}
.instagram-title span {
  position: relative;
  padding-left: 33px;
}
.instagram-title span::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  background: url(/img/common/icon_instagram.svg) no-repeat center center/contain;
  content: "";
}
.instagram-list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;
  gap: 20px;
}
.instagram-item {
  width: 235px;
  height: 235px;
}
.instagram-item img {
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 600px) {
  .instagram {
    margin-top: 76px;
  }
  .instagram-list {
    justify-content: center;
    gap: 15px;
  }
  .instagram-item {
    width: 160px;
    height: 160px;
  }
}
/* ------------------------------------- */
/* map
/* ------------------------------------- */
.map {
  margin-top: 124px;
}
.map-iframe {
  position: relative;
  width: 100%;
  padding-top: 30%;
}
.map-iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  filter: grayscale(1);
}

@media screen and (max-width: 600px) {
  .map {
    margin-top: 80px;
  }
  .map-iframe {
    padding-top: 100%;
  }
}