@charset "UTF-8";/* CSS Document *//* top.css */h2 span {  color: #fff;  display: inline-block;  transition: transform 1.6s cubic-bezier(0.65, 0.02, 0.23, 1);  transform: translate(20%, 100%);  position: relative;  z-index: 1;}h2 span:before {  content: "";  position: absolute;  z-index: 1;  bottom: 0;  left: 0;  width: 100%;  height: 100%;  transform: translateY(-40%);  transition: transform 1.6s cubic-bezier(0.65, 0.02, 0.23, 1);}h2 span.row {  overflow: hidden;  padding: 0 10px;  line-height: 1.18;  display: block;  transform: none;}h2 span.row:before {  display: none;}h2 .animate {  transform: translate(0, 0);}h2 .animate:before {  transform: translateY(100%);}.line {  width: 0;  height: 1px;  background-color: #ccc;  transition: width 0.8s ease-out;}.line.active {  width: 100%;}@media only print, only screen and (min-width: 18.75em){/* mainVisual */#mainVisual a{  width: 100%;  height: 150vh;  display: block;  position: relative;}#mvBgWrap{  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;  overflow: hidden;  z-index: -1;}#mvBg{  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;}#mvBg{  background: url("../img/bg_mainvisual_sp.jpg") bottom no-repeat;  background-size: cover;}#mainVisualTtl{  width: 100%;  color: #fff;  font-size: 17vw;  line-height: 0.9;  letter-spacing: -0.05em;  position: sticky;  top: 60px;  padding-bottom: 80px;  text-align: center;}#mainVisualTtl h2{  padding: 0 0.3em;  display: block;}#btnScroll{  width: 100%;  color: #fff;  position: sticky;  top: auto;  padding-bottom: 40px;  text-align: center;}#btnScroll span{  position: relative;}#btnScroll span::after{  content: "";  width: 0;  height: 1px;  background: #fff;  position: absolute;  bottom: -2px;  left: 0;  animation: bdAnimaiton 2s linear infinite;}@keyframes bdAnimaiton {  0% {    width: 0%;  }    33% {    width: 100%;  }  66% {    width: 0%;    left: auto;    right: 0;  }    100% {    width: 0%;  }}#ttlMou{  margin-top: -20px;}#date{  width: 100%;  height: 100vh;  position: sticky;  top: 0;}#dateInner{  position: relative;  top: 50%;  left: 50%;  transform: translate(-50%, -50%);}/* movie */#movie{  width: 100%;  height: calc(100vh - 1px);  position: relative;}#movieInner{  width: calc(100% - 30px);  position: relative;  top: 50%;  left: 50%;  transform: translate(-50%, -50%);}#dateTtl{  margin-bottom: 40px;  font-size: 15px;  line-height: 1.5;  text-align: center;}#dateTtl span{  color: #bbb;}/* look */#look{  padding: 58px 0 100px;}#lookList li{  width: 100%;  font-size: 13px;  line-height: 1.2;  position: relative;}.lookImg{  width: 100%;  margin: 0 auto;  padding-bottom: 0;  transform: scale(0.92);  transition: all 800ms cubic-bezier(0.230, 1.000, 0.320, 1.000);}#lookList li.active .lookImg{  width: 100%;  padding-bottom: 15px;  transform: scale(1.0);  transition: all 800ms cubic-bezier(0.230, 1.000, 0.320, 1.000);}.lookCredit{  width: calc(100% - 30px);  height: 40px;  position: relative;  top: auto;  left: 15px;  margin-bottom: 20px;}.lookNum{  width: 50px;  position: absolute;  bottom: 15px;  right: 0;  white-space: nowrap;  text-align: right !important;  opacity: 1;  transition-duration: 0.5s;}.lookImg{  position: relative;  overflow: hidden;  display: block;}#lookList a img{  transition-duration: 0.5s;  transform: scale(1);}#lookList a:hover img{  transform: scale(1.1);  transition-duration: 0.5s;}.lookImg a{  overflow: hidden;}#lookList .lookImg a::after{  content: '';  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;  background: rgba(255,255,255,0);  transition: background 0.5s;  z-index: 5;  pointer-events: none;}#lookList .lookImg:hover a::after{  background: rgba(255,255,255,0.7); }.lookImgTxt{  position: absolute;  top: 48%;  left: 50%;  transform: translate(-50%, -50%);  z-index: 1111;  font-size: 15px;  color: #000;  opacity: 0;  visibility: hidden;  transition-duration: 0.5s;  pointer-events: none;}.lookImg:hover .lookImgTxt{  opacity: 1;  visibility: visible;  transition-duration: 0.5s;}.lookImgTxt::after{  content: '';  width: 0;  height: 1px;  background: #000;  position: absolute;  bottom: 0;  left: 0;  transition-duration: 0.5s;}.lookImg:hover .lookImgTxt::after{  width: 100%;  transition-duration: 0.5s;}/* item */#item{  padding: 140px 0;}#itemList{  width: calc(100% - 30px);  margin: 0 auto;  overflow: hidden;}#itemList ul{  width: calc(100% + 10px);}#itemList li{  width: calc(100% / 2 - 10px);  float: left;  margin: 0 10px 20px 0;}#itemList li .itemImg {  aspect-ratio: 2/3;  display: block;  overflow: hidden;}.itemCredit{  padding-top: 10px;  font-size: 13px;  line-height: 1.4;}.itemCredit span{  color: #bbb;  font-size: 11px;}.itemImg{  position: relative;  overflow: hidden;  display: block;}#itemList a img{  transition-duration: 0.5s;  transform: scale(1);}#itemList a:hover img{  transform: scale(1.1);  transition-duration: 0.5s;}#itemList a .itemImg::after{  content: '';  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;  background: rgba(255,255,255,0);  transition: background 0.5s;  z-index: 5;  pointer-events: none;}#itemList a:hover .itemImg::after{  background: rgba(255,255,255,0.7); }.itemImgTxt{  position: absolute;  top: 48%;  left: 50%;  transform: translate(-50%, -50%);  z-index: 1111;  font-size: 13px;  color: #000;  opacity: 0;  visibility: hidden;  transition-duration: 0.5s;  pointer-events: none;}.itemImg:hover .itemImgTxt{  opacity: 1;  visibility: visible;  transition-duration: 0.5s;}.itemImgTxt::after{  content: '';  width: 0;  height: 1px;  background: #000;  position: absolute;  bottom: 0;  left: 0;  transition-duration: 0.5s;}.itemImg:hover .itemImgTxt::after{  width: 100%;  transition-duration: 0.5s;}}@media only print, only screen and (min-width: 1000px){/* mainVisual */#mainVisual a{  width: 100%;  height: 200vh;  display: block;  position: relative;}#mvBgWrap{  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;  overflow: hidden;  z-index: -1;}#mvBg{  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;}#mvBg{  background: url("../img/bg_mainvisual.jpg") top no-repeat;  background-size: cover;}#mainVisualTtl{  width: 100%;  color: #fff;  font-size: 9.74vw;  letter-spacing: -0.05em;  position: sticky;  top: 70px;  text-align: center;}#mainVisualTtl h2{  padding: 0 0.3em;  display: inline-block;}#btnScroll{  width: 100%;  color: #fff;  position: sticky;  top: calc(100vh - 60px);  padding-bottom: 40px;  text-align: center;}/* movie */#date{  width: 100%;  height: 100vh;  position: sticky;  top: 0;}#dateInner{  position: relative;  top: 50%;  left: 50%;  transform: translate(-50%, -50%);  opacity: 1;  transition-duration: 0.5s;}#dateInner.hide{  opacity: 0;  transition-duration: 0.5s;}#movie{  width: 100%;  height: 100vh;  position: relative;}#movieInner{  width: 42.09vw;  position: relative;  top: 50%;  left: 50%;  transform: translate(-50%, -50%);}#dateTtl{  margin-bottom: 100px;  margin-left: -25px;  font-size: 16px;  line-height: 1.5;  text-align: center;  white-space: nowrap;}#date span{  color: #bbb;  display: inline-block;}/* look */#look{  margin-bottom: 140px;  padding-top: 140px;}#lookList li{  width: 100%;  margin-bottom: -2.5vw;  font-size: 20px;  line-height: 1.2;}.lookImg{  width: 42.45vw;  margin: 0 auto;  padding-bottom: 0;  transform: scale(0.88);  transition: all 800ms cubic-bezier(0.230, 1.000, 0.320, 1.000);}#lookList li.active .lookImg{  width: 42.45vw;  padding-bottom: 0;  transform: scale(1.0);  transition: all 800ms cubic-bezier(0.230, 1.000, 0.320, 1.000);}.lookCredit{  width: auto;  height: 48px;  position: fixed;  top: 50%;  left: 20px;  margin: -10px 0 0;  opacity: 0;  transition-duration: 0.5s;}.lookNum{  width: 50px;  position: fixed;  top: 50%;  margin-top: 24px;  bottom: auto;  right: 20px;  white-space: nowrap;  text-align: right !important;  opacity: 0;  transition-duration: 0.5s;}.swiper-pagination{  text-align: right !important;}#lookList li.active .lookCredit,#lookList li.active .lookNum{  opacity: 1;}.lookImg{  position: relative;  overflow: hidden;  display: block;}#lookList a img{  transition-duration: 0.5s;  transform: scale(1);}#lookList a:hover img{  transform: scale(1.1);  transition-duration: 0.5s;}.lookImg a{  overflow: hidden;}#lookList .lookImg a::after{  content: '';  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;  background: rgba(255,255,255,0);  transition: background 0.5s;  z-index: 5;  pointer-events: none;}#lookList .lookImg:hover a::after{  background: rgba(255,255,255,0.7); }.lookImgTxt{  position: absolute;  top: 48%;  left: 50%;  transform: translate(-50%, -50%);  z-index: 1111;  font-size: 15px;  color: #000;  opacity: 0;  visibility: hidden;  transition-duration: 0.5s;  pointer-events: none;}.lookImg:hover .lookImgTxt{  opacity: 1;  visibility: visible;  transition-duration: 0.5s;}.lookImgTxt::after{  content: '';  width: 0;  height: 1px;  background: #000;  position: absolute;  bottom: 0;  left: 0;  transition-duration: 0.5s;}.lookImg:hover .lookImgTxt::after{  width: 100%;  transition-duration: 0.5s;}/* item */#item{  padding-top: 140px;}#itemList{  width: calc(100% - 360px);  margin: 0 auto;  overflow: hidden;}#itemList ul{  width: calc(100% + 16px);}#itemList li{  width: calc(100% / 3 - 16px);  float: left;  margin: 0 16px 20px 0;}#itemList li .itemImg {  aspect-ratio: 2/3;  display: block;  overflow: hidden;}.itemCredit{  padding-top: 10px;  font-size: 13px;  line-height: 1.4;}.itemCredit span{  color: #bbb;  font-size: 12px;}.itemImg{  position: relative;  overflow: hidden;  display: block;}#itemList a img{  transition-duration: 0.5s;  transform: scale(1);}#itemList a:hover img{  transform: scale(1.1);  transition-duration: 0.5s;}#itemList a .itemImg::after{  content: '';  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;  background: rgba(255,255,255,0);  transition: background 0.5s;  z-index: 5;  pointer-events: none;}#itemList a:hover .itemImg::after{  background: rgba(255,255,255,0.7); }.itemImgTxt{  position: absolute;  top: 48%;  left: 50%;  transform: translate(-50%, -50%);  z-index: 1111;  font-size: 13px;  color: #000;  opacity: 0;  visibility: hidden;  transition-duration: 0.5s;  pointer-events: none;}.itemImg:hover .itemImgTxt{  opacity: 1;  visibility: visible;  transition-duration: 0.5s;}.itemImgTxt::after{  content: '';  width: 0;  height: 1px;  background: #000;  position: absolute;  bottom: 0;  left: 0;  transition-duration: 0.5s;}.itemImg:hover .itemImgTxt::after{  width: 100%;  transition-duration: 0.5s;}}@media only print, only screen and (min-width: 1800px){#itemList li{  width: calc(100% / 4 - 16px);  float: left;  margin: 0 16px 20px 0;}}