@keyframes zoom {
  0% {
    scale: 1.1;
  }
  100% {
    scale: 1;
  }
}
@keyframes scaleIn {
  0% {
    scale: 0;
  }
  50% {
    scale: 1.15;
  }
  100% {
    scale: 0;
  }
}
@keyframes written {
  0%, 5% {
    stroke-dashoffset: 2600px;
  }
  100% {
    stroke-dashoffset: 0px;
  }
}
@keyframes written-r {
  0% {
    stroke-dashoffset: 2600px;
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  60% {
    stroke-dashoffset: 0px;
  }
  70%, 100% {
    stroke-dashoffset: 0px;
    opacity: 0;
  }
}
@keyframes fadeIn {
  0%, 20% {
    opacity: 0;
    z-index: 1;
  }
  24% {
    opacity: 0;
    z-index: 3;
  }
  25% {
    opacity: 0;
    z-index: 3;
  }
  33%, 60% {
    opacity: 1;
    z-index: 3;
  }
  70%, 100% {
    opacity: 0;
    z-index: 3;
  }
}
.slick-slide {
  position: relative;
}

.slick-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  backdrop-filter: blur(10px);
  opacity: 1;
  transition: opacity 1.2s ease-out;
  pointer-events: none;
}

.slick-slide.slick-active::after {
  opacity: 0;
}

.js-parallax_img:has(video) {
  height: 100%;
  pointer-events: none;
}

.js-parallax_img video {
  transform: none;
}

.js-parallax_img figure {
  position: relative;
  width: 100%;
  height: 50%;
}
.js-parallax_img figure img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  inset: 0;
  transform: none;
  z-index: 1;
}
.js-parallax_img figure img:nth-of-type(1) {
  animation: fadeIn 18s linear 12s infinite;
  opacity: 1;
  z-index: 2;
}
.js-parallax_img figure img:nth-of-type(2) {
  animation: fadeIn 18s linear 0s infinite;
}
.js-parallax_img figure img:nth-of-type(3) {
  animation: fadeIn 18s linear 6s infinite;
}
.js-parallax_img figure.d1 img:nth-of-type(1) {
  animation: fadeIn 18s linear 14s infinite;
  opacity: 1;
  z-index: 2;
}
.js-parallax_img figure.d1 img:nth-of-type(2) {
  animation: fadeIn 18s linear 2s infinite;
}
.js-parallax_img figure.d1 img:nth-of-type(3) {
  animation: fadeIn 18s linear 8s infinite;
}
.js-parallax_img figure.d2 img:nth-of-type(1) {
  animation: fadeIn 18s linear 16s infinite;
  opacity: 1;
  z-index: 2;
}
.js-parallax_img figure.d2 img:nth-of-type(2) {
  animation: fadeIn 18s linear 4s infinite;
}
.js-parallax_img figure.d2 img:nth-of-type(3) {
  animation: fadeIn 18s linear 10s infinite;
}

.kv_slider {
  position: relative;
  margin: 0 auto;
  contain: paint;
}
@media (min-width: 769px) {
  .kv_slider {
    width: 86.667vw;
    height: 48.667vw;
    min-width: 860px;
  }
}
@media screen and (max-width: 768px) {
  .kv_slider {
    width: 86.667vw;
    height: calc(124vw + 7.6rem);
    padding-top: 7.6rem;
  }
}
.kv_slider .slick-slide {
  line-height: 0;
}
.kv_slider .slick-slide.slick-zoom .kv_slide_bg figure, .kv_slider .slick-slide.slick-zoom .kv_slide_effects {
  animation: zoom 20s linear 0s 1 forwards;
}
.kv_slider .slick-slide.slick-zoom .kv_slide_effects {
  opacity: 1;
}
.kv_slider .slick-slide.slick-zoom .kv_slide_effect.start1 {
  animation: scaleIn 3s linear 0.4s 1 forwards;
}
.kv_slider .slick-slide.slick-zoom .kv_slide_effect.start2 {
  animation: scaleIn 3s linear 1.3s 1 forwards;
}
.kv_slider .slick-slide.slick-zoom .kv_slide_effect.start3 {
  animation: scaleIn 3s linear 2.2s 1 forwards;
}
.kv_slider .slick-slide.slick-zoom .kv_slide_effect.start4 {
  animation: scaleIn 3s linear 3.1s 1 forwards;
}
.kv_slider .slick-slide.slick-zoom .kv_slide_img .mask_line {
  animation-name: written;
}
.kv_slider .slick-slide.slick-zoom .kv_slide_img.img3 .mask_line, .kv_slider .slick-slide.slick-zoom .kv_slide_img.img6 .mask_line {
  animation-name: written-r;
}
.kv_slider .slick-dots {
  display: flex;
  position: absolute;
}
@media (min-width: 769px) {
  .kv_slider .slick-dots {
    gap: 1.7rem;
    right: 2rem;
    bottom: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .kv_slider .slick-dots {
    gap: 2.5rem;
    right: 0;
    bottom: -3.6rem;
  }
}
.kv_slider .slick-dots > li {
  position: relative;
}
@media (min-width: 769px) {
  .kv_slider .slick-dots > li {
    width: 0.7rem;
    height: 0.7rem;
  }
}
@media screen and (max-width: 768px) {
  .kv_slider .slick-dots > li {
    width: 1.2rem;
    height: 1.2rem;
  }
}
.kv_slider .slick-dots > li button {
  position: absolute;
  background: transparent;
  border-radius: 50%;
  width: 100%;
  height: 100%;
  padding: 0;
  inset: 0;
  font-size: 1px;
  color: transparent;
  appearance: none;
  cursor: pointer;
}
@media (min-width: 769px) {
  .kv_slider .slick-dots > li button {
    border: 0.05rem solid #fff;
  }
}
@media screen and (max-width: 768px) {
  .kv_slider .slick-dots > li button {
    border: 0.08rem solid #323232;
  }
}
@media (min-width: 769px) {
  .kv_slider .slick-dots > li.slick-active button {
    background: #fff;
  }
}
@media screen and (max-width: 768px) {
  .kv_slider .slick-dots > li.slick-active button {
    background: #323232;
  }
}

.kv_slide {
  width: 100%;
}
@media (min-width: 769px) {
  .kv_slide {
    height: 48.667vw;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide {
    height: 124vw;
  }
}

.kv_slide_bg {
  position: relative;
  contain: paint;
}
.kv_slide_bg figure {
  position: relative;
  width: 100%;
  height: 100%;
  scale: 1.1;
}
.kv_slide_bg figure img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.kv_slide_img {
  position: absolute;
}
.kv_slide_img .mask_line {
  stroke-dasharray: 2600px;
  stroke-dashoffset: 2600px;
  stroke: #fff;
  animation-duration: 6s;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}
@media (min-width: 769px) {
  .kv_slide_img .mask_line {
    stroke-width: 5px;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide_img .mask_line {
    stroke-width: 10px;
  }
}
@media (min-width: 769px) {
  .kv_slide_img.img1 {
    width: 10.385%;
    height: 19.179%;
    left: 21.539%;
    top: 32.877%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide_img.img1 {
    width: 19.693%;
    height: 16.452%;
    left: 4.462%;
    bottom: 46.667%;
  }
}
.kv_slide_img.img1 #img1_fill_pc {
  mask: url(#img1_mask_pc);
}
.kv_slide_img.img1 #img1_fill_sp {
  mask: url(#img1_mask_sp);
}
@media (min-width: 769px) {
  .kv_slide_img.img2 {
    width: 11.924%;
    height: 13.014%;
    right: 24.462%;
    bottom: 42.466%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide_img.img2 {
    width: 22.154%;
    height: 10.431%;
    right: 1.847%;
    bottom: 44.839%;
  }
}
.kv_slide_img.img2 #img2_fill_pc {
  mask: url(#img2_mask_pc);
}
.kv_slide_img.img2 #img2_fill_sp {
  mask: url(#img2_mask_sp);
}
.kv_slide_img.img2 .mask_line {
  animation-delay: 1.5s;
}
@media (min-width: 769px) {
  .kv_slide_img.img3 {
    width: 21.924%;
    height: 7.809%;
    right: 9.693%;
    bottom: 28.357%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide_img.img3 {
    width: 40%;
    height: 14.947%;
    right: 3.077%;
    bottom: 14.087%;
  }
}
.kv_slide_img.img3 #img3_fill_pc {
  mask: url(#img3_mask_pc);
}
.kv_slide_img.img3 #img3_fill_sp {
  mask: url(#img3_mask_sp);
}
.kv_slide_img.img3 .mask_line {
  animation-duration: 5s;
  animation-delay: 3s;
}
@media (min-width: 769px) {
  .kv_slide_img.img4 {
    width: 7.847%;
    height: 19.453%;
    right: 16.231%;
    top: 17.946%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide_img.img4 {
    width: 11.385%;
    height: 15.699%;
    right: 7.693%;
    top: 24.624%;
  }
}
.kv_slide_img.img4 #img4_fill_pc {
  mask: url(#img4_mask_pc);
}
.kv_slide_img.img4 #img4_fill_sp {
  mask: url(#img4_mask_sp);
}
@media (min-width: 769px) {
  .kv_slide_img.img5 {
    width: 11.924%;
    height: 13.699%;
    right: 10.154%;
    top: 28.905%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide_img.img5 {
    width: 20.616%;
    height: 10.646%;
    right: 0.462%;
    top: 33.656%;
  }
}
.kv_slide_img.img5 #img5_fill_pc {
  mask: url(#img5_mask_pc);
}
.kv_slide_img.img5 #img5_fill_sp {
  mask: url(#img5_mask_sp);
}
.kv_slide_img.img5 .mask_line {
  animation-delay: 1.5s;
}
@media (min-width: 769px) {
  .kv_slide_img.img6 {
    width: 18%;
    height: 10%;
    left: 10.847%;
    bottom: 30.822%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide_img.img6 {
    width: 44%;
    height: 11.291%;
    right: 1.847%;
    bottom: 17.312%;
  }
}
.kv_slide_img.img6 #img6_fill_pc {
  mask: url(#img6_mask_pc);
}
.kv_slide_img.img6 #img6_fill_sp {
  mask: url(#img6_mask_sp);
}
.kv_slide_img.img6 .mask_line {
  animation-duration: 6s;
  animation-delay: 3s;
}

.kv_slide_effects {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  scale: 1.1;
}

.kv_slide_effect {
  position: absolute;
  scale: 0;
}
@media (min-width: 769px) {
  .kv_slide_effect:has([src*=kira1]) {
    width: 1.693%;
    height: 4.932%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide_effect:has([src*=kira1]) {
    width: 3.693%;
    height: 4.302%;
  }
}
@media (min-width: 769px) {
  .kv_slide_effect:has([src*=kira2]) {
    width: 2%;
    height: 4.932%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide_effect:has([src*=kira2]) {
    width: 4.308%;
    height: 4.302%;
  }
}
@media (min-width: 769px) {
  .kv_slide_effect:has([src*=kira3]) {
    width: 1.539%;
    height: 2.74%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide_effect:has([src*=kira3]) {
    width: 3.385%;
    height: 2.366%;
  }
}
@media (min-width: 769px) {
  .kv_slide_effect:has([src*=kira4]) {
    width: 0.462%;
    height: 0.822%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide_effect:has([src*=kira4]) {
    width: 1.231%;
    height: 0.861%;
  }
}
@media (min-width: 769px) {
  .kv_slide_effect:has([srcset*=kira1]) {
    width: 1.693%;
    height: 4.932%;
  }
}
@media (min-width: 769px) {
  .kv_slide_effect:has([srcset*=kira2]) {
    width: 2%;
    height: 4.932%;
  }
}
@media (min-width: 769px) {
  .kv_slide_effect:has([srcset*=kira3]) {
    width: 1.539%;
    height: 2.74%;
  }
}
@media (min-width: 769px) {
  .kv_slide_effect:has([srcset*=kira4]) {
    width: 0.462%;
    height: 0.822%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide2 .kv_slide_effect.effect1 {
    left: 29.308%;
    top: 35.891%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide2 .kv_slide_effect.effect1 {
    left: 13.077%;
    top: 31.183%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide2 .kv_slide_effect.effect2 {
    right: 33.693%;
    bottom: 46.987%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide2 .kv_slide_effect.effect2 {
    right: 20%;
    bottom: 46.99%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide2 .kv_slide_effect.effect3 {
    left: 49%;
    bottom: 10.137%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide2 .kv_slide_effect.effect3 {
    left: 8.77%;
    bottom: 41.828%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide2 .kv_slide_effect.effect4 {
    right: 45.154%;
    top: 25.48%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide2 .kv_slide_effect.effect4 {
    right: 36.154%;
    top: 35.592%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide2 .kv_slide_effect.effect5 {
    left: 31.154%;
    bottom: 36.439%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide2 .kv_slide_effect.effect5 {
    left: 26.308%;
    bottom: 30.323%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide2 .kv_slide_effect.effect6 {
    right: 23.616%;
    bottom: 27.946%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide2 .kv_slide_effect.effect6 {
    right: 36.77%;
    bottom: 12.044%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide2 .kv_slide_effect.effect7 {
    left: 42.847%;
    top: 15.617%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide2 .kv_slide_effect.effect7 {
    left: 60.154%;
    top: 25.699%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide2 .kv_slide_effect.effect8 {
    right: 21.231%;
    bottom: 54.11%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide2 .kv_slide_effect.effect8 {
    right: 12%;
    top: 23.334%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide2 .kv_slide_effect.effect9 {
    left: 45%;
    bottom: 22.74%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide2 .kv_slide_effect.effect9 {
    left: 42.77%;
    bottom: 18.173%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide2 .kv_slide_effect.effect10 {
    right: 37%;
    top: 40.548%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide2 .kv_slide_effect.effect10 {
    right: 5.385%;
    bottom: 34.194%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide2 .kv_slide_effect.effect11 {
    left: 29.847%;
    bottom: 10.137%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide2 .kv_slide_effect.effect11 {
    left: 12.308%;
    bottom: 12.689%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide2 .kv_slide_effect.effect12 {
    left: 23.231%;
    bottom: 38.631%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide2 .kv_slide_effect.effect12 {
    display: none;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide3 .kv_slide_effect.effect1 {
    right: 35.231%;
    bottom: 36.439%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide3 .kv_slide_effect.effect1 {
    right: 40.308%;
    top: 23.549%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide3 .kv_slide_effect.effect2 {
    left: 37.693%;
    bottom: 25.069%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide3 .kv_slide_effect.effect2 {
    left: 10.77%;
    bottom: 32.904%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide3 .kv_slide_effect.effect3 {
    left: 19.539%;
    bottom: 44.521%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide3 .kv_slide_effect.effect3 {
    right: 8.462%;
    top: 40.968%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide3 .kv_slide_effect.effect4 {
    left: 35.154%;
    top: 26.987%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide3 .kv_slide_effect.effect4 {
    left: 22.924%;
    top: 21.613%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide3 .kv_slide_effect.effect5 {
    right: 33.231%;
    top: 39.727%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide3 .kv_slide_effect.effect5 {
    right: 10.308%;
    top: 46.345%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide3 .kv_slide_effect.effect6 {
    left: 12.924%;
    bottom: 16.576%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide3 .kv_slide_effect.effect6 {
    left: 48.154%;
    bottom: 27.312%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide3 .kv_slide_effect.effect7 {
    right: 40.308%;
    top: 21.233%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide3 .kv_slide_effect.effect7 {
    left: 11.231%;
    top: 38.388%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide3 .kv_slide_effect.effect8 {
    left: 21.924%;
    top: 25.343%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide3 .kv_slide_effect.effect8 {
    right: 14.616%;
    top: 10.968%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide3 .kv_slide_effect.effect9 {
    right: 34.308%;
    bottom: 22.329%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide3 .kv_slide_effect.effect9 {
    left: 53.847%;
    bottom: 21.183%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide3 .kv_slide_effect.effect10 {
    left: 45.154%;
    top: 14.521%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide3 .kv_slide_effect.effect10 {
    left: 20.154%;
    bottom: 8.495%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide3 .kv_slide_effect.effect11 {
    right: 18.924%;
    top: 25.069%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide3 .kv_slide_effect.effect11 {
    right: 3.231%;
    bottom: 26.022%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide3 .kv_slide_effect.effect12 {
    left: 44%;
    bottom: 24.247%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide3 .kv_slide_effect.effect12 {
    display: none;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide4 .kv_slide_effect.effect1 {
    left: 37.231%;
    bottom: 26.85%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide4 .kv_slide_effect.effect1 {
    left: 16%;
    top: 26.667%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide4 .kv_slide_effect.effect2 {
    right: 45.539%;
    top: 29.864%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide4 .kv_slide_effect.effect2 {
    right: 15.231%;
    top: 39.033%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide4 .kv_slide_effect.effect3 {
    right: 30.308%;
    bottom: 37.946%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide4 .kv_slide_effect.effect3 {
    left: 19.077%;
    bottom: 35.807%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide4 .kv_slide_effect.effect4 {
    left: 34.539%;
    bottom: 54.11%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide4 .kv_slide_effect.effect4 {
    left: 11.847%;
    top: 41.398%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide4 .kv_slide_effect.effect5 {
    right: 28.693%;
    top: 42.603%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide4 .kv_slide_effect.effect5 {
    right: 21.231%;
    top: 19.463%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide4 .kv_slide_effect.effect6 {
    left: 50.308%;
    bottom: 13.562%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide4 .kv_slide_effect.effect6 {
    left: 50.462%;
    bottom: 21.183%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide4 .kv_slide_effect.effect7 {
    left: 50.154%;
    top: 21.37%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide4 .kv_slide_effect.effect7 {
    right: 6.616%;
    bottom: 46.882%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide4 .kv_slide_effect.effect8 {
    right: 19%;
    top: 32.603%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide4 .kv_slide_effect.effect8 {
    right: 39.385%;
    bottom: 22.689%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide4 .kv_slide_effect.effect9 {
    left: 38.693%;
    bottom: 40.959%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide4 .kv_slide_effect.effect9 {
    left: 6.308%;
    top: 40.538%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide4 .kv_slide_effect.effect10 {
    right: 42.462%;
    bottom: 21.096%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide4 .kv_slide_effect.effect10 {
    left: 10.462%;
    bottom: 16.99%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide4 .kv_slide_effect.effect11 {
    left: 11.077%;
    bottom: 28.494%;
  }
}
@media screen and (max-width: 768px) {
  .kv_slide.slide4 .kv_slide_effect.effect11 {
    right: 10.154%;
    bottom: 7.635%;
  }
}
@media (min-width: 769px) {
  .kv_slide.slide4 .kv_slide_effect.effect12 {
    left: 32.693%;
    top: 23.288%;
  }
}

.lead_section {
  position: relative;
}
@media (min-width: 769px) {
  .lead_section {
    padding-top: 10.8rem;
  }
}
@media screen and (max-width: 768px) {
  .lead_section {
    padding-top: 46.2rem;
  }
}
@media (min-width: 769px) {
  .lead_section .parallax1 .js-parallax_set {
    max-width: 150rem;
  }
}
@media screen and (max-width: 768px) {
  .lead_section .parallax1 .js-parallax_set {
    max-width: 75rem;
  }
}
@media (min-width: 769px) {
  .lead_section .parallax1 .js-parallax_box {
    width: 80rem;
    height: 50rem;
  }
}
@media screen and (max-width: 768px) {
  .lead_section .parallax1 .js-parallax_box {
    width: 64.8rem;
    height: 40.5rem;
  }
}
@media (min-width: 769px) {
  .lead_section .parallax2 {
    margin-top: -16.4rem;
  }
}
@media screen and (max-width: 768px) {
  .lead_section .parallax2 {
    margin-top: 8.5rem;
  }
}
@media (min-width: 769px) {
  .lead_section .parallax2 .js-parallax_set {
    max-width: 150rem;
  }
}
@media screen and (max-width: 768px) {
  .lead_section .parallax2 .js-parallax_set {
    max-width: 75rem;
  }
}
@media (min-width: 769px) {
  .lead_section .parallax2 .js-parallax_box {
    width: 35.5rem;
    height: 41rem;
    margin: 0 10rem 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .lead_section .parallax2 .js-parallax_box {
    width: 24.3rem;
    height: 28rem;
    margin: 0 5rem 0 auto;
  }
}

.lead_copy {
  position: absolute;
}
@media (min-width: 769px) {
  .lead_copy {
    width: 49.1rem;
    height: 9.9rem;
    right: 12.5rem;
    top: 15.9rem;
  }
}
@media screen and (max-width: 768px) {
  .lead_copy {
    width: 63.5rem;
    height: 12.804rem;
    left: 5.5rem;
    top: -28.7rem;
  }
}
.lead_copy p {
  position: absolute;
  inset: 0;
  opacity: 0;
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  transition: opacity 1.2s ease-out, clip-path 3.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.lead_copy p:nth-of-type(2) {
  transition-delay: 1.5s;
}
.js-parallax.parallax1.is-animated .lead_copy p {
  opacity: 1;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

@media (min-width: 769px) {
  .product_section {
    padding: 9rem 0 0.1rem;
  }
}
@media screen and (max-width: 768px) {
  .product_section {
    padding: 24rem 0 0;
  }
}

.product_inner {
  position: relative;
  margin: 0 auto;
}
@media (min-width: 769px) {
  .product_inner {
    max-width: 150rem;
  }
}
@media screen and (max-width: 768px) {
  .product_inner {
    max-width: 75rem;
  }
}

.product_h2 {
  position: absolute;
  z-index: 2;
}
@media (min-width: 769px) {
  .product_h2 {
    width: 3.9rem;
    top: -11.7rem;
    left: 36.9rem;
  }
}
@media screen and (max-width: 768px) {
  .product_h2 {
    width: 4.3rem;
    top: -25.2rem;
    left: 8.8rem;
  }
}
.product_h2::before {
  content: "";
  position: absolute;
  border-left: 1px solid #ff5b7d;
  width: 0;
  height: 0;
  left: 0;
  top: 0;
  transition: height 1s ease-out 0.2s;
  pointer-events: none;
}
.product_h2.is-animated::before {
  height: 100%;
}

.product_item {
  display: block;
  position: relative;
}
.product_item .js-parallax {
  width: 100%;
  height: 100%;
}
.product_item .js-parallax_img img {
  transition: 0.2s linear;
}
@media (min-width: 769px) {
  .product_item.product1 {
    width: 64rem;
    height: 40rem;
    margin-left: 49.3rem;
    margin-top: 11.7rem;
  }
}
@media screen and (max-width: 768px) {
  .product_item.product1 .js-parallax_box {
    width: 60rem;
    height: 37.5rem;
  }
}
@media (min-width: 769px) {
  .product_item.product1 .product_item_caption {
    left: 92.188%;
    bottom: 7.5%;
  }
}
@media screen and (max-width: 768px) {
  .product_item.product1 .product_item_caption {
    left: 48rem;
  }
}
@media (min-width: 769px) {
  .product_item.product2 {
    width: 40rem;
    height: 40rem;
    margin-left: 32.2rem;
    margin-top: 6.2rem;
  }
}
@media screen and (max-width: 768px) {
  .product_item.product2 {
    margin-left: 15rem;
    margin-top: 4.5rem;
  }
}
@media screen and (max-width: 768px) {
  .product_item.product2 .js-parallax_box {
    width: 60rem;
    height: 37.5rem;
  }
}
@media (min-width: 769px) {
  .product_item.product2 .product_item_caption {
    left: -17.5%;
    bottom: 6.75%;
  }
}
@media screen and (max-width: 768px) {
  .product_item.product2 .product_item_caption {
    left: -10rem;
  }
}
@media (min-width: 769px) {
  .product_item.product3 {
    width: 40rem;
    height: 40rem;
    margin-left: 78.4rem;
    margin-top: -33.8rem;
  }
}
@media screen and (max-width: 768px) {
  .product_item.product3 {
    margin-top: 4.5rem;
  }
}
@media screen and (max-width: 768px) {
  .product_item.product3 .js-parallax_box {
    width: 60rem;
    height: 37.5rem;
  }
}
@media (min-width: 769px) {
  .product_item.product3 .product_item_caption {
    left: 80%;
    bottom: 6.75%;
  }
}
@media screen and (max-width: 768px) {
  .product_item.product3 .product_item_caption {
    left: 48rem;
  }
}
.product_item:hover .js-parallax_img img {
  scale: 1.05;
}

.product_item_caption {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  position: absolute;
  gap: 3rem;
}
@media screen and (max-width: 768px) {
  .product_item_caption {
    bottom: 4rem;
  }
}
.product_item_caption p {
  letter-spacing: 0.23em;
  line-height: 1;
  font-family: "Josefin Sans", sans-serif;
}
@media (min-width: 769px) {
  .product_item_caption p {
    font-size: 2rem;
    white-space: nowrap;
  }
}
@media screen and (max-width: 768px) {
  .product_item_caption p {
    font-size: 3.2rem;
  }
}
@media (min-width: 769px) {
  .product_item_caption .lnk01 {
    font-size: 1.2rem;
    white-space: nowrap;
  }
}
@media screen and (max-width: 768px) {
  .product_item_caption .lnk01 {
    font-size: 2rem;
  }
}

.product_buttons {
  display: flex;
}
@media (min-width: 769px) {
  .product_buttons {
    justify-content: flex-end;
    padding: 6.5rem 25rem 0;
  }
}
@media screen and (max-width: 768px) {
  .product_buttons {
    justify-content: center;
    padding: 5rem 0 0;
  }
}

.product_button {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background: #fff;
  letter-spacing: 0.2em;
  line-height: 1;
  font-family: "Josefin Sans", sans-serif;
  stroke: #231815;
  color: #231815;
}
@media (min-width: 769px) {
  .product_button {
    border: 0.05rem solid;
    width: 23.1rem;
    height: 5.7rem;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .product_button {
    border: 0.083rem solid;
    width: 38.5rem;
    height: 9.5rem;
    font-size: 2.6rem;
  }
}
.product_button svg {
  position: absolute;
  stroke-width: 0.036em;
  width: 0.643em;
  height: 1em;
  right: 1.072em;
  translate: 0 0.1em;
}
.product_button span {
  translate: 0 0.2em;
}
.product_button:hover {
  background: #231815;
  border-color: #231815;
  stroke: #fff;
  color: #fff;
}

@media (min-width: 769px) {
  .style_section {
    padding: 20.5rem 0 11.7rem;
  }
}
@media screen and (max-width: 768px) {
  .style_section {
    padding: 18.5rem 0 0;
  }
}
@media (min-width: 769px) {
  .style_section .parallax1 .js-parallax_set {
    width: 150rem;
  }
}
@media screen and (max-width: 768px) {
  .style_section .parallax1 .js-parallax_set {
    width: 75rem;
  }
}
@media (min-width: 769px) {
  .style_section .parallax1 .js-parallax_box {
    width: 81rem;
    height: 68.5rem;
  }
}
@media screen and (max-width: 768px) {
  .style_section .parallax1 .js-parallax_box {
    width: 65rem;
    height: 55rem;
    margin: 0 auto;
  }
}
@media (min-width: 769px) {
  .style_section .parallax2 {
    margin-top: -14.3rem;
  }
}
@media screen and (max-width: 768px) {
  .style_section .parallax2 {
    margin-top: 6.6rem;
  }
}
@media (min-width: 769px) {
  .style_section .parallax2 .js-parallax_set {
    width: 150rem;
  }
}
@media screen and (max-width: 768px) {
  .style_section .parallax2 .js-parallax_set {
    width: 75rem;
  }
}
.style_section .parallax2 .js-parallax_box {
  margin: 0 0 0 auto;
}
@media (min-width: 769px) {
  .style_section .parallax2 .js-parallax_box {
    width: 59.5rem;
    height: 37.5rem;
  }
}
@media screen and (max-width: 768px) {
  .style_section .parallax2 .js-parallax_box {
    width: 41.3rem;
    height: 26.2rem;
  }
}
@media (min-width: 769px) {
  .style_section .parallax3 {
    margin-top: -2.3rem;
  }
}
@media screen and (max-width: 768px) {
  .style_section .parallax3 {
    margin-top: -8.1rem;
  }
}
@media (min-width: 769px) {
  .style_section .parallax3 .js-parallax_set {
    width: 130rem;
  }
}
@media screen and (max-width: 768px) {
  .style_section .parallax3 .js-parallax_set {
    width: 65rem;
  }
}
@media (min-width: 769px) {
  .style_section .parallax3 .js-parallax_box {
    width: 28rem;
    height: 33rem;
    margin-left: 21.3rem;
  }
}
@media screen and (max-width: 768px) {
  .style_section .parallax3 .js-parallax_box {
    width: 18.2rem;
    height: 21.6rem;
    margin-left: 4.3rem;
  }
}

.concept_section {
  display: flex;
  align-items: center;
  position: relative;
}
@media (min-width: 769px) {
  .concept_section {
    height: 100dvh;
    padding: 9.8rem 0 0;
  }
}
@media screen and (max-width: 768px) {
  .concept_section {
    min-height: calc(100dvh - 12rem);
    padding: 58.8rem 0 0;
  }
}

.concept_bg {
  position: relative;
  width: 100vw;
  pointer-events: none;
}
@media (min-width: 769px) {
  .concept_bg {
    height: 53.067vw;
    max-height: 100%;
  }
}
@media screen and (max-width: 768px) {
  .concept_bg {
    height: 94.667vw;
  }
}
.concept_bg video {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.concept_bg img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.concept_inner {
  display: flex;
  position: absolute;
  left: 0;
  right: 0;
  z-index: 2;
}
@media (min-width: 769px) {
  .concept_inner {
    justify-content: flex-end;
    align-items: flex-end;
    gap: 3.5rem;
    max-width: 150rem;
    height: 53.067vw;
    max-height: calc(100% - 9.8rem);
    top: 9.8rem;
    bottom: 0;
    margin: auto;
    padding-right: 20.5rem;
  }
}
@media screen and (max-width: 768px) {
  .concept_inner {
    align-items: flex-start;
    gap: 5rem;
    max-width: 75rem;
    top: 31.8rem;
    margin: 0 auto;
    padding-left: 21.6rem;
  }
}

.concept_h2 {
  position: absolute;
}
@media (min-width: 769px) {
  .concept_h2 {
    width: 4.1rem;
    left: calc(11rem - max(0px, (100vw - 150rem) / 2));
    top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .concept_h2 {
    width: 5.4rem;
    left: 7rem;
    top: -16.4rem;
  }
}
.concept_h2::before {
  content: "";
  position: absolute;
  border-left: 1px solid #ff5b7d;
  width: 0;
  height: 0;
  left: 0;
  top: 0;
  transition: height 1s ease-out 0.2s;
  pointer-events: none;
}
.concept_h2.is-animated::before {
  height: 100%;
}

.concept_caption {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media (min-width: 769px) {
  .concept_caption {
    gap: 4rem;
    padding-bottom: 11rem;
  }
}
@media screen and (max-width: 768px) {
  .concept_caption {
    gap: 3.7rem;
  }
}
.concept_caption .lnk01 {
  position: relative;
  color: #ff5b7d;
  opacity: 0;
  transform: translate(0, 8px);
}
@media (min-width: 769px) {
  .concept_caption .lnk01 {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .concept_caption .lnk01 {
    font-size: 2rem;
  }
}

.concept_copy {
  position: relative;
  opacity: 0;
  transform: translate(0, 8px);
}
@media (min-width: 769px) {
  .concept_copy {
    width: 20.9rem;
  }
}
@media screen and (max-width: 768px) {
  .concept_copy {
    width: 43.242rem;
  }
}

.concept_text {
  position: relative;
  letter-spacing: 0.07em;
  color: #ff5b7d;
  opacity: 0;
  transform: translate(0, 8px);
}
@media (min-width: 769px) {
  .concept_text {
    line-height: 2.4;
    font-size: 1.5rem;
  }
  .concept_text > p {
    font: inherit;
  }
  .concept_text > p:first-of-type {
    margin-top: -0.7em;
  }
  .concept_text > p:last-of-type {
    margin-bottom: -0.7em;
  }
}
@media screen and (max-width: 768px) {
  .concept_text {
    line-height: 2.108;
    font-size: 2.8rem;
  }
  .concept_text > p {
    font: inherit;
  }
  .concept_text > p:first-of-type {
    margin-top: -0.553em;
  }
  .concept_text > p:last-of-type {
    margin-bottom: -0.553em;
  }
}

.social_section {
  position: relative;
}
@media (min-width: 769px) {
  .social_section {
    padding: 19.6rem 0 0;
  }
}
@media screen and (max-width: 768px) {
  .social_section {
    padding: 15.7rem 0 0;
  }
}

.social_inner {
  position: relative;
  margin: 0 auto;
}
@media (min-width: 769px) {
  .social_inner {
    max-width: 150rem;
  }
}
@media screen and (max-width: 768px) {
  .social_inner {
    max-width: 75rem;
  }
}

.social_h2 {
  letter-spacing: 0.45em;
  line-height: 1;
  font-weight: 400;
  font-family: "Josefin Sans", sans-serif;
  text-align: center;
  color: #ff5b7d;
}
@media (min-width: 769px) {
  .social_h2 {
    font-size: 3.6rem;
  }
}
@media screen and (max-width: 768px) {
  .social_h2 {
    font-size: 3.8rem;
  }
}

.social_items {
  display: grid;
  margin: 0 auto;
}
@media (min-width: 769px) {
  .social_items {
    grid-template-columns: repeat(4, 1fr);
    gap: 3px;
    max-width: 100rem;
    padding-top: 9.6rem;
  }
}
@media screen and (max-width: 768px) {
  .social_items {
    grid-template-columns: repeat(2, 1fr);
    gap: 2px;
    max-width: 65rem;
    padding-top: 6.3rem;
  }
}

.social_item figure {
  aspect-ratio: 4/5;
  overflow: hidden;
}
.social_item figure img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: 0.2s linear;
}
.social_item figure:empty {
  background: #e3e3e3;
}
.social_item:hover img {
  scale: 1.05;
}

.social_links {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 769px) {
  .social_links {
    padding-top: 5.5rem;
  }
}
@media screen and (max-width: 768px) {
  .social_links {
    padding-top: 6.2rem;
  }
}

.social_link {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.715em;
  border: 0.036em solid;
  width: 15.429em;
  height: 4.072em;
  letter-spacing: 0.1em;
  line-height: 1;
  font-family: "Josefin Sans", sans-serif;
}
@media (min-width: 769px) {
  .social_link {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .social_link {
    font-size: 2.6rem;
  }
}
.social_link::before {
  content: "";
  background-image: url(../img/top/instagram.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 1.715em;
  height: 1.715em;
}
.social_link:hover {
  opacity: 0.7;
}

.topics_section {
  position: relative;
}
@media (min-width: 769px) {
  .topics_section {
    padding: 11.4rem 0;
  }
}
@media screen and (max-width: 768px) {
  .topics_section {
    padding: 15.4rem 0 13.2rem;
  }
}

.topics_inner {
  position: relative;
  margin: 0 auto;
}
@media (min-width: 769px) {
  .topics_inner {
    max-width: 150rem;
  }
}
@media screen and (max-width: 768px) {
  .topics_inner {
    max-width: 65rem;
  }
}

.topics_h2 {
  letter-spacing: 0.45em;
  line-height: 1;
  font-weight: 400;
  font-family: "Josefin Sans", sans-serif;
  text-align: center;
}
@media (min-width: 769px) {
  .topics_h2 {
    font-size: 3.6rem;
  }
}
@media screen and (max-width: 768px) {
  .topics_h2 {
    font-size: 3.8rem;
  }
}

.topics_list {
  display: flex;
  margin: 0 auto;
}
@media (min-width: 769px) {
  .topics_list {
    justify-content: space-between;
    gap: 1.9rem;
    max-width: 100rem;
    padding-top: 9.3rem;
  }
}
@media screen and (max-width: 768px) {
  .topics_list {
    flex-direction: column;
    gap: 2.8rem;
    max-width: 65rem;
    padding-top: 8.7rem;
  }
}

.topics_link {
  display: flex;
}
@media (min-width: 769px) {
  .topics_link {
    flex-direction: column;
    gap: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .topics_link {
    justify-content: space-between;
    align-items: stretch;
    gap: 2.7rem;
  }
}
.topics_link:hover img {
  scale: 1.05;
}

.topics_link_image {
  position: relative;
  line-height: 0;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .topics_link_image {
    flex-shrink: 0;
    width: 32.5rem;
    min-height: 23rem;
  }
}
.topics_link_image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: 0.2s linear;
}

.topics_link_caption {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .topics_link_caption {
    justify-content: center;
  }
}

.topics_link_category {
  line-height: 1;
  font-family: "Josefin Sans", sans-serif;
  color: #ff5b7d;
}
@media (min-width: 769px) {
  .topics_link_category {
    letter-spacing: 0.5em;
    font-size: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .topics_link_category {
    letter-spacing: 0.36em;
    font-size: 2.4rem;
  }
}

.topics_link_date {
  letter-spacing: 0.12em;
  line-height: 1;
}
@media (min-width: 769px) {
  .topics_link_date {
    padding-top: 1rem;
    font-size: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .topics_link_date {
    padding-top: 1.7rem;
    font-size: 2.4rem;
  }
}

.topics_link_text {
  letter-spacing: 0.04em;
}
@media (min-width: 769px) {
  .topics_link_text {
    padding-top: 1.5rem;
    line-height: 1.584;
    font-size: 1.2rem;
  }
  .topics_link_text > p {
    font: inherit;
  }
  .topics_link_text > p:first-of-type {
    margin-top: -0.291em;
  }
  .topics_link_text > p:last-of-type {
    margin-bottom: -0.291em;
  }
}
@media screen and (max-width: 768px) {
  .topics_link_text {
    padding-top: 2.3rem;
    line-height: 1.625;
    font-size: 2.4rem;
  }
  .topics_link_text > p {
    font: inherit;
  }
  .topics_link_text > p:first-of-type {
    margin-top: -0.312em;
  }
  .topics_link_text > p:last-of-type {
    margin-bottom: -0.312em;
  }
}