
html{
  scroll-behavior: smooth;
  background-color: var(--color-gray);
}
body,
.main-area{
  overflow: inherit!important;
  overflow-x: inherit!important;
}
/*================================
  variables
=================================*/
#em25129SS1st{
  --zindex-behind: -1;
  --zindex-middle: 0;
  --zindex-front: 1;
  --zindex-top: 2;
  --zindex-over: 10;
  --zindex-cursor: 100;
  --zindex-top: 200;
  --pointer-none: none;
  --color-txt: #fff;
  --color-bg: #fff;
  --color-color01: #5c1c10;
  --color-color02: #f0eeea;
}
#em25129SS1st img,
#em25129SS1st picture,
#em25129SS1st video,
#em25129SS1st a{
  display: inline-block;
  width: 100%;
  height: auto;
}
#em25129SS1st video{
  object-fit: cover;
}
#em25129SS1st a:hover{
  transition: .5s;
  opacity: .7;
}
#em25129SS1st span{
  display: inline-block;
}
#em25129SS1st li{
  list-style: none;
}
#em25129SS1st .imgWrap{
  background-color: var(--color-bg);
  position: relative;
  transition: opacity 1.5s;
}
#em25129SS1st .noBgCont.imgWrap{
  background: none;
}
/*--------------------------------
  variables for mobile
--------------------------------*/
@media screen and (max-width: 767px) {
  #em25129SS1st .pcOnly {
    display: none!important;
  }
  #em25129SS1st {
    --lpSetSize: (100vw / 750);
  }
}
/*--------------------------------
  variables for desktop
--------------------------------*/
@media only screen and (min-width: 768px) {
  #em25129SS1st .spOnly {
    display: none!important;
  }
  #em25129SS1st .pcOnly {
    display: block;
  }
  #em25129SS1st {
    --lpSetSize: calc(1px * var(--ratio));
    --ratio: calc(525 / 750);
    --variable: 1px;
  }
}
@media screen and (min-width:768px) and (max-width:1400px) {
  #em25129SS1st {
    --lpSetSize: calc(var(--variable) * var(--ratio));
    --ratio: calc(525 / 750);
    --variable: calc(100vw / 1400);
  }
}
/* end variables */

/*================================
  font
=================================*/
#em25129SS1st .font-en-serif{
  font-family: "garamond-premier-pro", serif;
  font-weight: 400;
  font-style: normal;
  font-feature-settings: "palt";
}
#em25129SS1st .font-en-sans{
  font-family: "classico-urw", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-feature-settings: "palt";
}
#em25129SS1st .font-ja{
  font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic', 'メイリオ', sans-serif;
  font-weight: 400;
  font-style: normal;
  font-feature-settings: "palt";
}
#em25129SS1st .font-credit{
  font-family: "pragmatica", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-feature-settings: "palt";
}
/*================================
  font-size
=================================*/
#em25129SS1st [data-txt]{
  color: var(--color-txt);
  letter-spacing: 0;
}
#em25129SS1st [data-txt="leadWrap-period"]{
  font-size: calc(28 * var(--lpSetSize));
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  margin-bottom: calc(62 * var(--lpSetSize));
}
#em25129SS1st [data-txt="leadWrap"]{
  font-size: calc(25 * var(--lpSetSize));
  line-height: 2;
  text-align: center;
  letter-spacing: 0.1em;
}
#em25129SS1st [data-txt="sliderWrap-ttl"]{
  font-size: calc(50 * var(--lpSetSize));
  line-height: 1;
  text-align: center;
  letter-spacing: -0.015em;
  color: var(--color-color01);
  margin-bottom: calc(40 * var(--lpSetSize));
}
#em25129SS1st [data-txt="sliderWrap-txt"]{
  position: relative;
  font-size: calc(28 * var(--lpSetSize));
  line-height: 2.4642857143;
  text-align: center;
  letter-spacing: 0;
  color: var(--color-color01);
  margin-bottom: calc(108 * var(--lpSetSize));
}
#em25129SS1st [data-txt="sliderWrap-txt"]::before,
#em25129SS1st [data-txt="sliderWrap-txt"]::after{
  content: "";
  display: block;
  position: absolute;
  top: auto;
  bottom: calc(6 * var(--lpSetSize));
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--color-color01);
  height: 1px;
}
#em25129SS1st [data-txt="sliderWrap-txt"]::before{
  top: calc(52 * var(--lpSetSize));
  width: calc(472 * var(--lpSetSize));
}
#em25129SS1st [data-txt="sliderWrap-txt"]::after{
  bottom: calc(18 * var(--lpSetSize));
  width: calc(220 * var(--lpSetSize));
}
#em25129SS1st [data-txt="sliderWrap-txt"] span:nth-child(1){
  margin-right: calc(5 * var(--lpSetSize));
  letter-spacing: 0.05em;
}
#em25129SS1st [data-txt="sliderWrap-txt"] span:nth-child(3){
  margin: 0 calc(-5 * var(--lpSetSize)) 0 calc(2 * var(--lpSetSize));
  letter-spacing: 0.05em;
}
#em25129SS1st [data-txt="credit"]{
  font-size: calc(22 * var(--lpSetSize));
  line-height: 1.9090909091;
  letter-spacing: 0.05em;
}
#em25129SS1st [data-txt="credit"] a{
  width: fit-content;
}
#em25129SS1st [data-txt="linkWrap-ttl"]{
  font-size: calc(68 * var(--lpSetSize));
  line-height: 1;
  letter-spacing: -0.01em;
  text-align: center;
  color: var(--color-color01);
  margin-bottom: calc(10 * var(--lpSetSize));
}
#em25129SS1st [data-txt="linkWrap-sub"]{
  font-size: calc(30 * var(--lpSetSize));
  line-height: 1;
  letter-spacing: 0.025em;
  text-align: center;
  color: var(--color-color01);
  margin-bottom: calc(66 * var(--lpSetSize));
}
#em25129SS1st [data-txt="linkWrap-button"]{
  position: relative;
  font-size: calc(45 * var(--lpSetSize));
  line-height: 1;
  letter-spacing: 0.005em;
  text-align: center;
  color: var(--color-txt);
  background-color: var(--color-color01);
}
#em25129SS1st [data-txt="linkWrap-button"] a{
  width: 100%;
  height: 100%;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: calc(5 * var(--lpSetSize));
}
#em25129SS1st [data-txt="linkWrap-button"]::before{
  content: "";
  display: block;
  background-image: url(../img/arrow.svg);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: calc(30 * var(--lpSetSize));
  left: auto;
  right: calc(36 * var(--lpSetSize));
  width: calc(14 * var(--lpSetSize));
  height: calc(32 * var(--lpSetSize));
}
#em25129SS1st [data-txt="linkWrap-txt"]{
  font-size: calc(30 * var(--lpSetSize));
  line-height: 1.5;
  letter-spacing: 0.025em;
  text-align: center;
  color: var(--color-color01);
  margin-bottom: calc(135 * var(--lpSetSize));
}
#em25129SS1st [data-txt="lastWrap-ttl"]{
  font-size: calc(42 * var(--lpSetSize));
  line-height: 1;
  letter-spacing: 0.005em;
  text-align: center;
  color: var(--color-color01);
  margin-bottom: calc(45 * var(--lpSetSize));
}
#em25129SS1st [data-txt="lastWrap-txt"]{
  font-size: calc(22 * var(--lpSetSize));
  line-height: 2.1818181818;
  letter-spacing: 0.05em;
  text-align: center;
  color: #000;
}
/*--------------------------------
  layout for desktop
--------------------------------*/
@media only screen and (min-width: 768px) {
  #em25129SS1st [data-txt="sliderWrap-txt"]{
    line-height: 2.4285714286;
  }
}
/* end font-size */


/*================================
  layout
=================================*/
#em25129SS1st{
  background-color: var(--color-color02);
  overflow: clip;
}
#footer_emmi{
  padding-top: 0px;
}
#em25129SS1st [data-credit]{
  display: flex;
  flex-direction: column;
  justify-content: end;
  position: absolute;
  top: auto;
  bottom: 0;
  width: 100%;
  height: fit-content;
  z-index: var(--zindex-front);
}
#em25129SS1st [data-credit="left"]{
  text-align: left;
  padding-bottom: calc(15* var(--lpSetSize));
  left: calc(22* var(--lpSetSize));
}
#em25129SS1st [data-credit="right"]{
  text-align: right;
  padding-bottom: calc(17* var(--lpSetSize));
  right: calc(23* var(--lpSetSize));
}
#em25129SS1st [data-img],
#em25129SS1st [data-modal_target]{
  position: relative;
}
#em25129SS1st [data-deco]{
  position: absolute;
  display: block;
  pointer-events: var(--pointer-none);
  z-index: var(--zindex-front);
}
/*========== mvWrap ==========*/
#em25129SS1st .mvWrap__img{
  width: calc(630 * var(--lpSetSize));
  margin: 0 auto calc(100 * var(--lpSetSize));
}
/*========== leadWrap ==========*/
#em25129SS1st .leadWrap{
  position: relative;
  background-color: var(--color-color01);
  padding: calc(65 * var(--lpSetSize)) 0 calc(70 * var(--lpSetSize));
  margin-bottom: calc(128 * var(--lpSetSize));
}
#em25129SS1st .leadWrap::before,
#em25129SS1st .leadWrap::after{
  content: "";
  position: absolute;
  display: block;
  background-color: var(--color-txt);
  width: 100%;
  height: calc(2 * var(--lpSetSize));
  pointer-events: var(--pointer-none);
  z-index: var(--zindex-front);
}
#em25129SS1st .leadWrap::before{
  top: calc(10 * var(--lpSetSize));
}
#em25129SS1st .leadWrap::after{
  top: auto;
  bottom: calc(10 * var(--lpSetSize));
}
#em25129SS1st [data-txt="leadWrap-date"]{
  width: calc(644.5 * var(--lpSetSize));
  margin: 0 auto calc(65 * var(--lpSetSize));
}
#em25129SS1st [data-txt="allBtn"]{
  width: calc(530 * var(--lpSetSize));
  margin: 0 auto calc(140 * var(--lpSetSize));
}
/*========== gridWrap ==========*/
#em25129SS1st .gridWrap{
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-bottom: calc(100 * var(--lpSetSize));
}
#em25129SS1st [data-modal_target]::after{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-bg);
  z-index: var(--zindex-behind);
}
#em25129SS1st [data-modal_target="modal01"]::after{
  top: calc(115 * var(--lpSetSize));
  height: calc(100% - calc(115 * var(--lpSetSize)));
}
/*========== sliderWrap ==========*/
#em25129SS1st .sliderWrap__inner{
  margin-bottom: calc(82 * var(--lpSetSize));
}
#em25129SS1st .sliderWrap .imgWrap{
  width: calc(360 * var(--lpSetSize));
}
/*========== linkWrap ==========*/
#em25129SS1st .linkWrap__inner{
  display: grid;
  grid-template-columns: calc(350 * var(--lpSetSize)) calc(350 * var(--lpSetSize));
  grid-template-rows: calc(90 * var(--lpSetSize)) calc(90 * var(--lpSetSize)) calc(95 * var(--lpSetSize));
  gap: calc(10 * var(--lpSetSize));
  width: calc(710 * var(--lpSetSize));
  margin: 0 auto calc(100 * var(--lpSetSize));
}
#em25129SS1st [data-txt="linkWrap-button"]:last-child{
  grid-column: 1/3;
}
#em25129SS1st .linkWrap__icon{
  display: block;
  width: calc(154 * var(--lpSetSize));
  margin: 0 auto calc(10 * var(--lpSetSize));
}
/*========== lastWrap ==========*/
#em25129SS1st .lastWrap iframe{
  width: 100%;
  max-width: calc(690 * var(--lpSetSize));
  margin: 0 auto calc(130* var(--lpSetSize)) !important;
}
#em25129SS1st .lastWrap{
  padding-bottom: calc(100 * var(--lpSetSize));
}

/*--------------------------------
  layout for desktop
--------------------------------*/
@media only screen and (min-width: 768px) {
  /*========== fixedArea ==========*/
  #em25129SS1st{
    position: relative;
  }
  #em25129SS1st .contWrap{
    position: relative;
    background-color: var(--color-color02);
    width: calc(750 * var(--variable) * var(--ratio));
    margin: 0 auto;
    z-index: 2;
    overflow: clip;
  }
  #em25129SS1st .fixedArea{
    position: absolute;
    top: 0;
    left: 0;
    background-color: var(--color-color01);
    width: 100vw;
    height: 100%;
    z-index: 2;
  }
  #em25129SS1st .fixedArea__inner{
    position: relative;
    display: flex;
    justify-content: space-between;
    width: 100%;
    height: calc(100% + 144px);
    margin-top: -144px;
    z-index: 1;
  }
  #em25129SS1st [data-fixed]{
    position: sticky;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: baseline;
    width: calc((100% - calc(750 * var(--variable) * var(--ratio))) / 2);
    height: 100vh;
  }
  #em25129SS1st [data-img="fixed-left"]{
    width: 272px;
    padding-top: calc(144px + 6.5vh);
  }
  #em25129SS1st [data-fixed="right"]{
    align-items: end;
  }
  #em25129SS1st [data-img="fixed-right"]{
    width: 265px;
    padding-bottom: 5vh;
  }
  @media screen and (min-width:1400px) {
    #em25129SS1st [data-img="fixed-left"]{
      width: calc(272 * (100vw / 1400));
    }
    #em25129SS1st [data-img="fixed-right"]{
      width: calc(265 * (100vw / 1400));
    }
  }
  #em25129SS1st .mvWrap{
    padding-top: calc(56 * var(--lpSetSize));
  }
}



/*================================
  fadeIn
=================================*/
#em25129SS1st .js-fadeIn{
  opacity: 0;
  /* -webkit-transform: translateY(3rem);
  transform: translateY(3rem); */
}
#em25129SS1st .js-fadeIn.js-scrollIn{
  -webkit-animation: fadeup 1.5s forwards;
  animation: fadeup 1.5s forwards;
}
@keyframes fadeup{
  0% {
    opacity: 0;
    /* -webkit-transform: translateY(3rem);
    transform: translateY(3rem); */
  }
  100% {
    opacity: 1;
    /* -webkit-transform: translateY(0);
    transform: translateY(0); */
  } 
}
/* end fadeIn */


/*================================
  modal
=================================*/
#em25129SS1st .modalWrap{
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgb(92, 28, 16, 40%);
  overflow-y: auto;
  overflow-x: hidden;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s;
  box-sizing: border-box;
  z-index: -1;
}
#em25129SS1st .modalWrap.active{
  opacity: 1;
  display: block;
  visibility: visible;
  transition: 0.5s;
  z-index: 2;
}
#em25129SS1st .modalBody{
  position: relative;
  display: inline-block;
  vertical-align: middle;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: auto;
  height: 100%;
  min-height: 100%;
  margin: 0;
}
#em25129SS1st .modalCont{  
  position: relative;
  width: calc(585 * var(--lpSetSize));
  margin: 0 auto;
}
#em25129SS1st [data-modal_target="modal01"]{
  padding-top: calc(115 * var(--lpSetSize));
}
#em25129SS1st [data-modal_target="modal23"]{
  margin-bottom: calc(115 * var(--lpSetSize));
}
/*====== CloseBtn ======*/
#em25129SS1st .modalClose{
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  top: calc(70 * var(--lpSetSize));
  right: calc(30 * var(--lpSetSize));
  width: calc(50 * var(--lpSetSize));
  height: calc(50 * var(--lpSetSize));
  cursor: pointer;
  z-index: 1;
  transition: 0.5s;
}
#em25129SS1st .modalClose::before,
#em25129SS1st .modalClose::after{
  content: "";
  display: block;
  background: var(--color-txt);
  width: calc(50 * var(--lpSetSize));
  height: calc(2 * var(--lpSetSize));
  position: absolute;
  top: calc(24 * var(--lpSetSize));
  left: calc(24 * var(--lpSetSize));
}
#em25129SS1st .modalClose::before{
  transform: translate(-50%, -50%) rotate(45deg);
}
#em25129SS1st .modalClose::after{
  transform: translate(-50%, -50%) rotate(-45deg);
}
/*====== unOpen ======*/
#em25129SS1st .modalOpen:hover{
  cursor: pointer;
  transition: 1s;
  opacity: 0.5;
}
/* end modal */


/*================================
  swiper
=================================*/
#em25129SS1st .swiper-container{
  position: relative;
  margin-inline: auto;
}
#em25129SS1st .swiper-container.imgWrap:hover{
  transition: .5s;
  opacity: .7;
}
#em25129SS1st .swiper-slide img {
  width: auto;
  height: 100%!important;
  align-items: end;
  vertical-align: bottom;
}
#em25129SS1st .swiper-slide img:hover,
#em25129SS1st .swiper-slide a:hover{
  opacity: 1;
}
#em25129SS1st .swiper-notification{
  display: none!important;
}
#em25129SS1st .swiper-slide img{
  height: auto;
  width: 100%;
}
#em25129SS1st .swiper-notification{
  display: none!important;
}
/* end swiper */


/*================================
  movie sound
=================================*/
#em25129SS1st .leadWrap video{
  margin: calc(-67 * var(--lpSetSize)) auto calc(-70 * var(--lpSetSize));
}
#em25129SS1st .leadWrap__soundBtnWrap{
  position: absolute;
  top: auto;
  bottom: calc(22 * var(--lpSetSize));
  left: auto;
  right: calc(20 * var(--lpSetSize));
  z-index: var(--zindex-front);
  cursor: pointer;
}
#em25129SS1st .soundBtnWrap-inner{
  position: relative;
  display: inline-block;
}
#em25129SS1st .js-button-off{
  width: calc(36 * var(--lpSetSize));
}
#em25129SS1st .js-button-on{
  width: calc(36 * var(--lpSetSize));
}
#em25129SS1st .js-button{
  display: none;
}
#em25129SS1st .js-button.js-sound_active{
  display: block;
}
/* end movie sound */