@charset "utf-8";
/* ---------------------------------------------------------------------------------
Copyright The Moon Under Water. All Rights Reserved.

HTML CSS Selectors top 

$Revision: 1.0 $
--------------------------------------------------------------------------------- */
#luxy {
  position: relative;
  z-index: 10;
}
.fv-space {
  width: 100%;
  min-width: var(--min-width);
  height: 100vh;
}
#contents-wrapper {
  min-width: var(--min-width);
  background: url("../img/common/bg-pc.jpg");
  background-size: auto 100%;
  /*min-height: 8339px;*/
}
.luxy-el.effect {
  transition : all 0ms 0ms ease-out;
  opacity: 1;
  transform: translate(0,0);
}
@media only screen and (max-width: 768px) {
  .fv-space {
    min-width: 100%;
  }
  #contents-wrapper {
    min-width: 100%;
    background: url("../img/common/bg-sp.jpg");
    background-size: 100% 100%;
    /*min-height: 9000px;*/
    overflow:hidden;
  }
  .luxy-el.effect {
    opacity : 0;
    transition : all 500ms 300ms ease-out;
    transform: translate(0,50px);
  }
  .luxy-el.effect.effect-on {
    opacity: 1.0;
    transform: translate(0,0px); 
  }
}


/*---------------------------------------------------------------------------------
fv
--------------------------------------------------------------------------------- */
.fv-area {
  width: 100%;
  height: 100vh;
  position: fixed;
  z-index: 1;
}
.fv-area-movie {
  width: 100%;
  height: 100%;
  position: relative;
}
.fv-area-movie::after {
  width: 100%;
  height: 100%;
  background-color: rgba(14,26,29,0.44);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  content:"";
}
.fv-header {
  width: 686px;
  height: 748px;
  padding-top: 312px;
  background: url("../img/top/mv_cover.png") no-repeat center bottom;
  background-size: 100% auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: 3;
  transition-delay:2300ms;
}
.fv-header-name {
  width: 575px;
  margin: 0 auto;
}
.fv-area-light01 {
  width: 529px;
  height: 520px;
  background-image: url("../img/top/mv_light_01.png");
  background-size: 100% auto;
  position: absolute;
  top: 0;
  left: 50%;
  bottom: 0;
  margin: auto;
  margin-left: -453px;
  z-index: 2;
  transform: translate(0,-40px);
  transition-delay:1700ms;
}
.fv-area-light02 {
  width: 345px;
  height: 342px;
  background-image: url("../img/top/mv_light_02.png");
  background-size: 100% auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  margin: auto;
  margin-left: 59px;
  z-index: 2;
  transition-delay:1900ms;
}
@media only screen and (max-width: 768px) {
  .fv-header {
    width: 411px;
    height: 411px;
    padding-top: 150px;
    background: url("../img/top/mv_cover.png") no-repeat center bottom;
    background-size: 100% auto;
    position: absolute;
    top: 45vw;
    left: 50%;
    right: auto;
    bottom: 0;
    margin: 0;
    margin-left: -205px;
    z-index: 3;
    transition-delay:2300ms;
  }
  .fv-header-name {
    width: min(89vw, 336px);
    margin: 0 auto;
  }
  .fv-area-light01 {
    width: 263px;
    height: 246px;
    background-image: url("../img/top/mv_light_01.png");
    background-size: 100% auto;
    position: absolute;
    top: 50vw;
    left: 50%;
    bottom: auto;
    margin: auto;
    margin-left: -320px;
    z-index: 2;
    transform: translate(0,0);
    transition-delay:1700ms;
  }
  .fv-area-light02 {
    width: 229px;
    height: 229px;
    background-image: url("../img/top/mv_light_02.png");
    background-size: 100% auto;
    position: absolute;
    top:69vw;
    bottom: auto;
    left: 50%;
    margin: auto;
    margin-left: 19px;
    z-index: 2;
    transition-delay:1900ms;
  }
}

/*------------------------------------------- --------------------------------------
CONCEPT
--------------------------------------------------------------------------------- */
.concept {
  padding: 436px 0 255px;
}

.concept .read-txt {
  width: 1046px;
  margin: 0 auto 293px;
  position: relative;
  line-height: 3.33;
}
.concept .read-txt::before {
  width: 41px;
  height: 49px;
  background: url("../img/top/moon.svg") no-repeat;
  background-size: 100% auto;
  position: absolute;
  bottom: -138px;
  left: 50%;
  margin-left: 292px;
  content:"";
  opacity: 0.54;
}
.concept .read-txt span {
  opacity: 0;
}
.concept .read-txt span.show {
  animation:text_anime_on 0.6s ease-out forwards;
}
.concept-inner {
  width: 1366px;
  height: 796px;
  margin: 0 auto;  
  position: relative;
}
.concept-inner .photo01 {
  width: 1014px;
  position: absolute;
  top: 0;
  right: 0;
}
.concept-inner .photo02 {
  width: 500px;
  position: absolute;
  top: 700px;
  left: 50%;
  margin-left: -605px;
  z-index: 2;
}
.concept-inner .txt {
  width: 500px;
  line-height: 3.33;
  position: absolute;
  top: 760px;
  left: 50%;
  margin-left: -29px;
  z-index: 3;
}

@keyframes text_anime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}

@media only screen and (max-width: 768px) {
  .concept {
    padding: 165px 0 180px;
    position: relative;
  }
  .concept .read-txt {
    width: 86%;
    margin: 0 auto 390px;
  }
  .concept .read-txt::before {
    width: 28px;
    height: 34px;
    background-size: 100% auto;
    position: absolute;
    bottom: -179px;
    left: auto;
    right: 0;
    margin-left: .0;
    content:"";
    opacity: 0.54;
  }
  .concept-inner {
    width: 100%;
    height: auto;
    margin: 0 auto;  
    position: relative;
  }
  .concept-inner .photo01 {
    width: 100%;
    position: static;
    margin-left: auto;
    margin-bottom: 48px;
  }
  .concept-inner .photo02 {
    width: 65%;
    position: static;
    margin-left: 7%;
    margin-bottom: 87px;
    opacity: 0;
  }
  .concept-inner .txt {
    width: 86%;
    position: static;
    margin: 0 auto;
    opacity: 0;
  }
}


/*---------------------------------------------------------------------------------

--------------------------------------------------------------------------------- */
@media only screen and (max-width: 768px) {
}

/*---------------------------------------------------------------------------------
menu
--------------------------------------------------------------------------------- */
.menu {
  padding: 164px 0 132px;
  position: relative;
  z-index: 2;
  opacity: 1;
}
.menu-bg {
  width: 0;
  height: 1052px;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -1189px;
  z-index: -1;
  transition : all 900ms 500ms ease-out;
  overflow:hidden;
}
.effect-on .menu-bg {
  width: 2378px;
}
.menu-bg::before {
  display: block;
  width: 2378px;
  height: 100%;
  background: url("../img/top/menu_bg-pc.svg") no-repeat;
  background-size: 100% auto;
  content:"";
}
.menu-ttl {
  width: 80px;
  padding-bottom: 10px;
  border-bottom: 1px solid #F4F5F6;
  margin: 0 auto 230px;
  font-family: var(--font-en);
  font-size: 20px;
  line-height: 1;
  font-weight: 300;
  text-align: center;
}
.menu-pickup li {
  position: relative;
}
.menu-pickup-photo {
  position: relative;
  z-index: 2;
}
.menu-pickup-txt {
  width: 300px;
  position: absolute;
  left: 50%;
  z-index: 3;
}
.menu-pickup-txt__desc {
  padding-bottom: 74px;
  font-size: 12px;
  line-height: 3.33;
}
.menu-pickup-txt__price {
  font-family: var(--font-en);
  line-height: 1;
  font-weight: 300;
}
.menu-pickup01 {
  width: 1046px;
  margin: 0 auto 470px;
}
.menu-pickup01 .menu-pickup-photo {
  width: 488px;
  margin-left: auto;
}
.menu-pickup01 .menu-pickup-txt {
  top: 60px;
  left: 153px;
}
.menu-pickup01 .menu-pickup-photo2 {
  width: 800px;
  position: absolute;
  top: 877px;
  left: 50%;
  margin-left: -683px;
  z-index: 1;
}

.menu-pickup02 {
  width: 906px;
  margin: 0 auto 146px;
}
.menu-pickup02 .menu-pickup-photo {
  width: 352px;
  margin-left: auto;
}
.menu-pickup02 .menu-pickup-txt {
  top: -205px;
  left: 174px;
}

.menu-pickup03 {
  width: 1366px;
  margin: 0 auto 0;
}
.menu-pickup03 .menu-pickup-photo {
  width: 622px;
}
.menu-pickup03 .menu-pickup-txt {
  top: -226px;
  left: 50%;
}

.menu-slider {
  margin-bottom: 75px;
}
.menu-slider-item {
  width: 398px!important;
  padding-right: 90px;
  font-size: 12px;
}
.menu-slider-item__name {
  height: 75px;
  padding-top: 23px;
}
.menu-slider-item__price {
  font-family: var(--font-en);
  line-height: 1;
  font-weight: 300;
}
.menu-slider-note {
  width: 1046px;
  margin: 0 auto 180px;
  line-height: 1;
  text-align: right;
}

.menu-inner {
  width: 884px;
  margin: 0 auto;
}
.menu-inner .grid-item {
  width: 50%;
  padding: 0 0 16px;
}
.menu-inner__ttl {
  padding: 0 44px 37px;
  font-family: var(--font-en);
  font-size: 20px;
  line-height: 1;
  font-weight: 300;
}
.menu-list {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
  line-height: 1;
  padding: 0 44px;
}
.menu-list dt {
  width: 215px;
  padding-bottom: 42px;
}
.menu-list dd {
  width: calc(100% - 215px);
  padding-bottom: 42px;
  font-family: var(--font-en);
  text-align: right;
  font-weight: 300;
}
.menu-more {
  margin-top: 60px;
  font-family: var(--font-en);
  font-size: 32px;
  line-height: 1;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  .menu {
    padding: 140px 0 174px;
  }
  .menu-bg {
    height: 317px;
    margin-left: -358px;
  }
  .effect-on .menu-bg {
    width: 716px;
  }
  .menu-bg::before {
    width: 716px;
    background: url("../img/top/menu_bg-sp.svg") no-repeat;
    background-size: 100% auto;
  }
  .menu-ttl {
    width: fit-content;
    margin: 0 auto 115px;
    font-family: var(--font-en);
    font-size: 16px;
  }
  .menu-pickup li {
    position: relative;
  }
  .menu-pickup-photo {
    position: relative;
    z-index: 2;
  }
  .menu-pickup-txt {
    width: 86%;
    margin: 68px auto 0;
    position: static;
    z-index: 3;
  }
  .menu-pickup-txt__desc {
    padding-bottom: 62px;
    font-size: 12px;
    line-height: 3.33;
  }
  .menu-pickup-txt__price {
    font-family: var(--font-en);
    line-height: 1;
    font-weight: 300;
  }
  .menu-pickup01 {
    width: 100%;
    margin: 0 auto 166px;
  }
  .menu-pickup01 .menu-pickup-photo {
    width: 76.5%;
    margin-bottom: 65px;
    margin-left: auto;
  }
  .menu-pickup01 .menu-pickup-photo2 {
    width: 100%;
    position: static;
    margin-top: 63px;
    margin-left: 0;
    z-index: 1;
  }

  .menu-pickup02 {
    width: 100%;
    margin: 0 auto 110px;
  }
  .menu-pickup02 .menu-pickup-photo {
    width: 86%;
    margin: 0 auto;
  }

  .menu-pickup03 {
    width: 100%;
    margin: 0 auto 136px;
  }
  .menu-pickup03 .menu-pickup-photo {
    width: 100%;
  }

  .menu-slider {
    margin-bottom: 90px;
  }
  .menu-slider-item {
    width: 324px!important;
    padding-right: 64px;
  }
  .menu-slider-item__name {
    height: 75px;
    padding-top: 23px;
  }
  .menu-slider-note {
    width: 86%;
    margin: 0 auto 128px;
  }

  .menu-inner {
    width: 70%;
    margin: 0 auto;
  }
  .menu-inner__ttl {
    padding: 0 0 37px;
  }
  .menu-inner .grid-item {
    width: 100%;
    padding: 0 0 16px;
  }
  .menu-list {
    padding: 0;
  }
  .menu-more {
    font-size: 24px;
  }
}

/*---------------------------------------------------------------------------------
shop info
--------------------------------------------------------------------------------- */
.shop-info {
  padding-bottom: 165px;
}
.shop-info-header {
  width: 100%;
  /*height: 340px;*/
}

.shop-info-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  align-content: flex-end;
  width: 906px;
  padding: 203px 531px 0 0;
  margin: 0 auto;
  position: relative;
}
.shop-info-inner__name {
  width: 288px;
}
.shop-info-inner__is {
  width: 21px;
  margin-left: 37px;
}
.shop-info-data {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-top: 65px;
}
.shop-info-data dt {
  width: 175px;
  margin-bottom: 60px;
}
.shop-info-data dd {
  width: calc(100% - 175px);
  margin-bottom: 60px;
}
.anc-map {
  text-decoration: underline;
}

.shop-info-contact {
  width: 200px;
  margin-left: auto;
}
.shop-info-contact a {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  width: 100%;
  height: 47px;
  border: 1px solid #fff;
  font-family: var(--font-en);
  font-size: 12px;
  line-height: 1;
  font-weight: 300;
}

@media only screen and (max-width: 768px) {
  .shop-info {
    padding-bottom: 180px;
  }
  .shop-info-header {
    height: 498px;
  }
  .shop-info-header__img {
    width: 100%;
    height: 100%;
  }
  .shop-info-inner {
    display: block;
    width: 86%;
    padding: 117px 0 0 0;
  }
  .shop-info-inner__name {
    width: 288px;
    margin-bottom: 24px;
  }
  .shop-info-inner__is {
    width: 21px;
    margin-left: 0;
  }
  .shop-info-data {
    display: block;
    margin-top: 20px;
  }
  .shop-info-data dt {
    width: 100%;
    margin-bottom: 15px;
  }
  .shop-info-data dd {
    width: 100%;
    margin-bottom: 40px;
  }

  .shop-info-contact {
    width: 53vw;
    margin: 0 auto;
  }
  .shop-info-contact a {
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    width: 100%;
    height: 47px;
    border: 1px solid #fff;
    font-family: var(--font-en);
    font-size: 12px;
    line-height: 1;
    font-weight: 300;
  }
}

