@charset "UTF-8";
/* CSS Document */

/* top.css */

html.page-reveal,
html.page-reveal body{
  overflow: hidden !important;
}

html.page-reveal::after{
  content: '';
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: #fff;
  opacity: 1;
  transition: opacity 1.6s ease;
}

html.page-reveal.page-reveal-fading::after{
  opacity: 0;
}

@media only print, only screen and (min-width: 18.75em){

/* look */

#look{
  overflow: clip;
  padding-top: 300px;
}

#lookList .lookMask{
  position: relative;
  width: 100%;
  overflow: hidden;
  isolation: isolate;
}

#lookList .lookSliderFrame{
  position: relative;
}

#lookList .lookSwiperPagination{
  width: auto;
  top: calc(100% + 15px);
  bottom: auto;
  left: 0;
  text-align: left;
  font-size: 10px;
}

#lookList li img{
  display: block;
  width: 100%;
  height: auto;
  transform-origin: center center;
  transition: opacity 0.4s ease;
}

#lookList .lookViewMore,
#bgImg .lookViewMore{
  position: absolute;
  z-index: 20;
  top: 50%;
  left: 50%;
  color: #000;
  font-size: 1.3vw;
  white-space: nowrap;
  transform: translate(-50%, -50%);
  pointer-events: none;
  padding-top: 20px;
  transition-duration: 0.5s;
}

#lookList .lookViewMoreText,
#lookList .lookViewMoreBracket,
#bgImg .lookViewMoreText,
#bgImg .lookViewMoreBracket{
  display: inline-block;
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

#lookList .lookViewMoreBracketLeft,
#bgImg .lookViewMoreBracketLeft{
  margin-right: 0.25em;
  transform: translateX(8px);
}

#lookList .lookViewMoreBracketRight,
#bgImg .lookViewMoreBracketRight{
  margin-left: 0.25em;
  transform: translateX(-8px);
}

#bgImg .lookViewMore{
  display: none;
  padding-top: 0;
}

@media (prefers-reduced-motion: no-preference){

#lookList li img{
  transform: scale(1.05);
}

#btnScroll{
  animation: btnScrollFloat 1.8s ease-in-out infinite;
  will-change: opacity, transform;
}

}

@keyframes btnScrollFloat{
  0%, 100%{
    transform: translate3d(0, 0, 0);
  }
  50%{
    transform: translate3d(0, -10px, 0);
  }
}

#mainContents{
  width: 100%;
  position: relative;
}

#bg{
  width: calc(100% - 20px);
  height: auto;
  aspect-ratio: 1093 / 1457;
  background: url("../img/bg.jpg") center no-repeat;
  background-size: cover;
  position: fixed;
  z-index: 0;
  top: 50dvh;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* mainVisual */

#mainVisual{
  width: 100%;
  height: 100vh;
  position: relative;
  margin-bottom: 100vh;
}

#mainVisualImg{
  width: calc(100% - 20px);
  aspect-ratio: 1093 / 1457;
  position: fixed;
  top: 50dvh;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  z-index: 2;
  overflow: hidden;
  isolation: isolate;
  will-change: opacity;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

#mainVisualImg img{
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

#kvLogo{
  box-sizing: border-box;
  width: 226px;
  max-width: none;
  padding: 15px;
  position: fixed;
  bottom: calc(50dvh - 50vw + 25px);
  left: 10px;
  z-index: 222;
}

#kvLogo .path{
  fill: var(--kv-logo-color, #fff);
}

#btnScroll{
  width: 100%;
  height: 50px;
  position: fixed;
  z-index: 111;
  bottom: 0;
  color: #000;
  background: url("../../_common/img/icon_arrow.svg") center no-repeat;
  -webkit-background-size: 16px;
  background-size: 16px;
  font-size: 13px;
  text-align: center;
  will-change: opacity;
}

/* movie */

#movie{
  width: 100%;
  height: 100vh;
}

#movieInner{
  width: calc(100% - 20px);
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 111;
}

#movieImg{
  background: transparent;
  overflow: hidden;
  clip-path: inset(0 0 2px 0);
}

#movieImg div{
  mix-blend-mode: multiply;
  overflow: hidden;
}

#movieImg iframe{
  top: -2px !important;
  left: -2px !important;
  width: calc(100% + 4px) !important;
  height: calc(100% + 4px) !important;
}

/* date */

#date{
  width: 100%;
  height: 150vh;
  position: relative;
}

#dateInner{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  z-index: 111;
}

#date h3{
  margin-bottom: 30px;
  font-size: 21px;
  line-height: 1.4;
  color: #fff;
  text-align: center;
}

#date h3 span{
  position: relative;
}

#date h3 span::after{
  content: '';
  width: 0;
  height: 1px;
  position: absolute;
  bottom: 2px;
  left: 0;
  background: #fff;
  transition-duration: 0.5s;
}

#date.active h3 span::after{
  width: 100%;
  transition-duration: 0.5s;
}

/* look */

#lookList li{
  position: relative;
  height: auto;
  padding-top: 0;
  margin-bottom: 50px;
}

#lookList li::after{
  content: "";
  display: block;
  height: 20vh;
}

#lookList li:last-child{
  margin-bottom: 0;
}

#lookList .lookImg{
  position: sticky;
  top: 0;
  height: auto;
  transform: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

#look1{
  width: 73.33vw;
  margin-left: 10px;
}

#look2{
  width: 41.33vw;
  margin-left: auto;
  margin-right: 10px;
}

#look3{
  width: 36.00vw;
  margin-left: 10px;
}

#look4{
  width: calc(100% - 20px);
  margin: 0 auto;
}

#look5{
  width: 62.40vw;
  margin-left: 10px;
}

#look6{
  width: 73.33vw;
  margin-left: auto;
  margin-right: 10px;
}

#look7{
  width: 58.67vw;
  margin-left: 10px;
}

#look8{
  width: 40vw;
  margin-left: auto;
  margin-right: 10px;
}

#look9{
  width: calc(100% - 20px);
  margin: 0 auto;
}

#look10{
  width: 56vw;
  margin-left: auto;
  margin-right: 10px;
}

#look11{
  width: 54.13vw;
  margin-left: 10px;
}

#look12{
  width: calc(100% - 20px);
  margin: 0 auto;
}

#look13{
  width: 37.87vw;
  margin-left: 10px;
}

#look14{
  width: 49.07vw;
  margin-left: auto;
  margin-right: 10px;
}

#look15{
  width: 65.60vw;
  margin-left: 10px;
}

#look16{
  width: 36vw;
  margin-left: auto;
  margin-right: 10px;
}

#lookList li#look16{
  height: auto;
  margin-bottom: 50px;
}

/* item */

#itemList{
  width: 85.33vw;
  margin: 0 auto;
  overflow: hidden;
}

#itemList ul{
  width: 85.33vw;
}

#itemList li{
  width: calc(100% / 2);
  float: left;
  margin: 0 0 40px 0;
  text-align: center;
}

#itemList .itemImg{
  position: relative;
  overflow: hidden;
}

#itemList .itemImg img{
  display: block;
  width: 100%;
  height: auto;
  transition: opacity 0.4s ease;
}

#itemList .itemViewMore{
  position: absolute;
  z-index: 20;
  top: 50%;
  left: 50%;
  color: #000;
  font-size: 1.2vw;
  white-space: nowrap;
  transform: translate(-50%, -50%);
  pointer-events: none;
  padding-top: 20px;
  transition-duration: 0.5s;
}

#itemList .itemViewMoreText,
#itemList .itemViewMoreBracket{
  display: inline-block;
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

#itemList .itemViewMoreBracketLeft{
  margin-right: 0.25em;
  transform: translateX(8px);
}

#itemList .itemViewMoreBracketRight{
  margin-left: 0.25em;
  transform: translateX(-8px);
}

#itemList h5{
  margin-top: -20px;
  position: relative;
  z-index: 2;
  display: block;
  opacity: 1;
  visibility: visible;
  font-size: 11px;
  line-height: 1.3;
}

#itemList h5 small{
  font-size: 9px;
}

#itemList h5 small .active{
  text-decoration: underline;
}

#bgImg{
  --bg-parallax-y: 0px;
  --bg-parallax-scale: 1.03;
  position: relative;
  width: 100%;
  height: 300px;
  margin-bottom: 100px;
  overflow: hidden;
  background: #d5cdc3;
}

#bgImg::before{
  content: "";
  position: absolute;
  z-index: 0;
  top: -6vh;
  right: 0;
  bottom: -6vh;
  left: 0;
  background: url("../img/img_look17.jpg") 90% bottom / cover no-repeat;
  transform: translate3d(0, var(--bg-parallax-y), 0) scale(var(--bg-parallax-scale));
  transform-origin: center;
  will-change: transform;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

#bgImg a{
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
}

#bgImg a::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.3);
  opacity: 0;
  transition: opacity 0.4s ease;
}

#itemList .itemSwiperPagination{
  bottom: 30px;
  z-index: 21;
  line-height: 5px;
  pointer-events: none;
}

#itemList .itemSwiperPagination .swiper-pagination-bullet{
  box-sizing: border-box;
  width: 5px;
  height: 5px;
  border: 1px solid #000;
  border-radius: 0;
  background: transparent;
  opacity: 1;
}

#itemList .itemSwiperPagination .swiper-pagination-bullet-active{
  background: #000;
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{
  margin: 0 3px;
}

/* Hold the movie and release-date copy once at the vertical center. */

#movie{
  height: 150vh;
  margin-bottom: 50vh;
  position: relative;
}

#movieInner,
#dateInner{
  position: sticky;
  top: 50vh;
  right: 0;
  left: 0;
  margin-right: auto;
  margin-left: auto;
  transform: translateY(-50%);
}

#dateInner{
  width: max-content;
  will-change: transform;
}

}

@media only print, only screen and (min-width: 1000px){

#look{
  padding-top: 0;
}

#lookList .lookSwiperPagination{
  width: auto;
  top: calc(100% + 15px);
  bottom: auto;
  left: 0;
  text-align: left;
  font-size: 14px;
}

/* look hover */

#lookList .lookMask:hover img{
  opacity: 0.3;
}

#lookList .lookMask:hover .lookViewMore{
  padding-top: 0;
  transition-duration: 0.5s;
}

#lookList .lookMask:hover .lookViewMoreText{
  opacity: 1;
}

#lookList .lookMask:hover .lookViewMoreBracket{
  opacity: 1;
  transform: translateX(0);
  transition-delay: 0.2s;
}

#bgImg .lookViewMore{
  padding-top: 20px;
}

@media (hover: hover){
  #bgImg .lookViewMore{
    display: block;
  }
}

#bgImg .lookViewMoreText,
#bgImg .lookViewMoreBracket{
  opacity: 0;
}

#bgImg .lookViewMoreBracketLeft{
  transform: translateX(8px);
}

#bgImg .lookViewMoreBracketRight{
  transform: translateX(-8px);
}

#bgImg a:hover .lookViewMore{
  padding-top: 0;
}

#bgImg a:hover .lookViewMoreText,
#bgImg a:hover .lookViewMoreBracket{
  opacity: 1;
  transform: translateX(0);
}

#mainContents{
  width: 100%;
  position: relative;
}

#bg{
  width: auto;
  height: calc(100vh - 40px);
  background: url("../img/bg.jpg") center no-repeat;
  background-size: cover;
  position: fixed;
  z-index: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* mainVisual */

#mainVisual{
  width: 100%;
  height: 100vh;
  position: relative;
  margin-bottom: 100vh;
}

#mainVisualImg{
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  z-index: 2;
  overflow: hidden;
  isolation: isolate;
  will-change: opacity;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

#mainVisualImg img{
  width: auto;
  height: calc(100vh - 40px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

#kvLogo{
  box-sizing: border-box;
  width: 33.96vw;
  max-width: none;
  padding: 15px;
  position: fixed;
  bottom: 30px;
  left: calc(50% - 50vh + 40px);
  z-index: 222;
}

#btnScroll{
  width: 100%;
  height: 80px;
  position: fixed;
  z-index: 111;
  bottom: 0;
  color: #fff;
  background: url("../../_common/img/icon_arrow_wh.svg") center no-repeat;
  -webkit-background-size: 10px;
  background-size: 20px;
  font-size: 18px;
  text-align: center;
  will-change: opacity;
}

/* movie */

#movie{
  width: 100%;
  height: 100vh;
}

#movieInner{
  width: 680px;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 111;
}

#movieImg{
  background: #f7f7f7;
}

#movieImg div{
  mix-blend-mode: multiply;
}

/* date */

#date{
  width: 100%;
  height: 150vh;
  position: relative;
}

#dateInner{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  z-index: 111;
}

#date h3{
  margin-bottom: 10px;
  font-size: 1.90vw;
  color: #fff;
  text-align: center;
}

#date h3 span{
  position: relative;
}

#date h3 span::after{
  content: '';
  width: 0;
  height: 1px;
  position: absolute;
  bottom: 2px;
  left: 0;
  background: #fff;
  transition-duration: 0.5s;
}

#date.active h3 span::after{
  width: 100%;
  transition-duration: 0.5s;
}

#date .pc{
  display: inline !important;
}

/* look */

#lookList li{
  position: relative;
  height: 200vh;
  margin-bottom: -100vh;
  padding-top: 0;
}

#lookList li::after{
  content: none;
}

#lookList li:last-child{
  margin-bottom: 0;
}

#lookList .lookImg{
  position: sticky;
  top: 0;
  height: 100vh;
  transform: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

#look1{
  width: 38vw;
  margin-left: 14.34vw;
}

#look2{
  width: 22.69vw;
  margin-left: auto;
  margin-right: 4.61vw;
}

#look3{
  width: 19.77vw;
  margin-left: 20px;
}

#look4{
  width: 56.88vw;
  margin-left: auto;
  margin-right: 20px;
}

#look5{
  width: 34.26vw;
  margin-left: 20px;
}

#look6{
  width: 40.26vw;
  margin-left: auto;
  margin-right: 4.61vw;
}

#look7{
  width: 32.36vw;
  margin-left: 10.68vw;
}

#look8{
  width: 24.89vw;
  margin-left: auto;
  margin-right: 20px;
}

#look9{
  width: 51.24vw;
  margin-left: 20px;
}

#look10{
  width: 29.87vw;
  margin-left: auto;
  margin-right: 20px;
}

#look11{
  width: 29.72vw;
  margin-left: 6.22vw;
}

#look12{
  width: 51.24vw;
  margin-left: auto;
  margin-right: 20px;
}

#look13{
  width: 20.86vw;
  margin-left: 20px;
}

#look14{
  width: 27.09vw;
  margin-left: auto;
  margin-right: 4.53vw;
}

#look15{
  width: 36.02vw;
  margin-left: 12.95vw;
}

#look16{
  width: 15.67vw;
  margin-left: auto;
  margin-right: 20px;
}

#lookList li#look16{
  height: auto;
  margin-bottom: 0;
}

/* item */

#itemList{
  width: 84.91vw;
  margin: 0 auto;
  overflow: hidden;
}

#itemList ul{
  width: calc(84.91vw + 40px);
}

#itemList li{
  width: calc(100% / 4 - 40px);
  float: left;
  margin: 0 40px 40px 0;
  text-align: center;
}

#itemList .itemImg{
  position: relative;
  overflow: hidden;
}

#itemList .itemImg img{
  transition: opacity 0.4s ease;
}

#itemList .itemViewMore{
  position: absolute;
  z-index: 20;
  top: 50%;
  left: 50%;
  color: #000;
  font-size: 1.2vw;
  white-space: nowrap;
  transform: translate(-50%, -50%);
  pointer-events: none;
  padding-top: 20px;
  transition-duration: 0.5s;
}

#itemList .itemViewMoreText,
#itemList .itemViewMoreBracket{
  display: inline-block;
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

#itemList .itemViewMoreBracketLeft{
  margin-right: 0.25em;
  transform: translateX(8px);
}

#itemList .itemViewMoreBracketRight{
  margin-left: 0.25em;
  transform: translateX(-8px);
}

#itemList .itemImg:hover img{
  opacity: 0.3;
}

#itemList .itemImg:hover .itemViewMore{
  padding-top: 0;
}

#itemList .itemImg:hover .itemViewMoreText{
  opacity: 1;
}

#itemList .itemImg:hover .itemViewMoreBracket{
  opacity: 1;
  transform: translateX(0);
  transition-delay: 0.2s;
}

#itemList h5{
  margin-top: -40px;
  position: relative;
  z-index: 2;
  display: block;
  opacity: 1;
  visibility: visible;
  font-size: 16px;
  line-height: 1.3;
}

#itemList h5 small{
  font-size: 12px;
}

#itemList h5 small .active{
  text-decoration: underline;
}

#bgImg{
  --bg-parallax-y: 0px;
  --bg-parallax-scale: 1.03;
  position: relative;
  width: 100%;
  height: 700px;
  margin-bottom: 200px;
  overflow: hidden;
  background: #d5cdc3;
}

#bgImg::before{
  content: "";
  position: absolute;
  z-index: 0;
  top: -20vh;
  right: 0;
  bottom: -20vh;
  left: 0;
  background: url("../img/img_look17.jpg") bottom center / cover no-repeat;
  transform: translate3d(0, var(--bg-parallax-y), 0) scale(var(--bg-parallax-scale));
  transform-origin: center;
  will-change: transform;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

#bgImg a{
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
}

#bgImg a::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.3);
  opacity: 0;
  transition: opacity 0.4s ease;
}

#bgImg a:hover::before{
  opacity: 1;
}

@media (hover: none){
  #bgImg .lookViewMore{
    display: none;
  }

  #bgImg a:hover::before{
    opacity: 0;
  }
}

#itemList .itemSwiperPagination{
  bottom: 56px;
  z-index: 21;
  line-height: 5px;
  pointer-events: none;
}

#itemList .itemSwiperPagination .swiper-pagination-bullet{
  box-sizing: border-box;
  width: 5px;
  height: 5px;
  border: 1px solid #000;
  border-radius: 0;
  background: transparent;
  opacity: 1;
}

#itemList .itemSwiperPagination .swiper-pagination-bullet-active{
  background: #000;
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{
  margin: 0 3px;
}

/* Hold the movie and release-date copy once at the vertical center. */

#movie{
  height: 150vh;
  margin-bottom: 50vh;
  position: relative;
}

#movieInner,
#dateInner{
  position: sticky;
  top: 50vh;
  right: 0;
  left: 0;
  margin-right: auto;
  margin-left: auto;
  transform: translateY(-50%);
}

#dateInner{
  width: max-content;
  will-change: transform;
}

}

@media only print, only screen and (min-width: 1800px){


#itemList li{
  width: calc(100% / 5 - 40px);
  float: left;
  margin: 0 40px 40px 0;
  text-align: center;
}

}
