@charset "utf-8";

#romaDresser{
  box-sizing: border-box;
  width: 100%;
  font-family: "Hiragino Kaku Gothic ProN","游ゴシック",YuGothic,"Yu Gothic Medium","游ゴシック体","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",sans-serif;
  font-size: 10px;
  color: #333333;
}
#romaDresser img{
  max-width: 100%;
  height: auto;
  vertical-align: top;
}
#romaDresser h2{
  margin: 0 auto;
  text-align: center;
}
#romaDresser p, h3{
  margin: 0;
  padding: 0;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
}
#romaDresser p{
  font-size: min(3.8vw,28px);
}
#romaDresser span{
  line-height: 1.5;
}
#romaDresser i{
  font-style: inherit;
}
#romaDresser small, sub, sup{
  font-size: .8em;
}
#romaDresser a{
  text-decoration: none;
  transition: .6s;
}
#romaDresser .flex_rvs{
  flex-direction: row-reverse;
}
#romaDresser .forpc{
  display: none;
}
#romaDresser .forsp{
  display: block;
}
#romaDresser *{
  box-sizing: border-box;
}
#romaDresser > span{
  display: block;
  text-align: center;
}
#romaDresser .sp{
  display: block;
}
#romaDresser .pc{
  display: none;
}

/* contents */

/* slider */
#romaDresser .slider{
  opacity: 0;
  transition: opacity .1s linear;
}
#romaDresser .slider.slick-initialized{
  opacity: 1;
}
#romaDresser .slick-slide{
  width: 100%;
}
#romaDresser .slider .slick-dots{
  bottom: 2%;
  z-index: 5;
  padding-right: 5%;
  text-align: right;
}
#romaDresser .slick-dots li{
  width: 4px;
  height: 4px;
  margin: 0 2%;
  line-height: 1;
  text-align: center;
  border: none;
}
#romaDresser .slick-dots li button{
  width: 7px;
  height: 7px;
  margin: auto;
}
#romaDresser .slick-dots li button:hover:before, #romaDresser .slick-dots li button:focus:before{
  opacity: 1;
}
#romaDresser .slick-dots li button:before{
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #bf96a4;
}
#romaDresser .slick-dots li.slick-active button:before{
  background: #ffffff;
}
#romaDresser .slick-dotted.slick-slider{
  margin-bottom: 0;
}

@media screen and (min-width:721px){
  #romaDresser .sp{
    display: none;
  }
  #romaDresser .pc{
    display: block;
  }
  #romaDresser .slick-dots li{
    width: 4px;
    height: 4px;
  }
  #romaDresser .slick-dots li button{
    width: 4px;
    height: 4px;
  }
  #romaDresser .slick-dots li button:before{
    width: 10px;
    height: 10px;
  }
}
/* END slider */

html.no-scroll, body.no-scroll{
  overflow: hidden;
  height: 100%;
}
body.no-scroll{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
}

#romaDresser{
  overflow-x: clip;
  overflow-y: visible;
  padding-top: 5%;
  font-size: 3.8vw;
  color: #7d7d7d;
  background: url("/img/interior/roma_dresser/bg01.jpg") 50%/100% repeat-y;
}
#romaDresser.no-scroll{
  overflow: hidden;
  height: 100%;
}

/* Intro Video */
#romaDresser .video-intro{
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  opacity: 1;
  width: 100%;
  height: 100vh;
  transition: opacity .5s ease;
  pointer-events: auto;
}
#romaDresser .video-intro.hidden{
  opacity: 0;
}
#romaDresser .video-intro video{
  width: 100%;
  height: 100%;

  object-fit: cover;
}
#romaDresser .scrollIndicator{
  position: absolute;
  bottom: 10vh;
  left: 50%;
  z-index: 10;
  text-align: center;
  cursor: pointer;
  transform: translateX(-50%);
  animation: bounceScroll 2s infinite;
  pointer-events: auto;
}
@keyframes bounceScroll{
  0%, 100%{
    transform: translateX(-50%) translateY(0);
  }
  50%{
    transform: translateX(-50%) translateY(-20px);
  }
}
#romaDresser .scrollIndicator img{
  width: 50%;
}
/* Intro Video */

#romaDresser #introVideo{
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  width: 100%;
  height: 100%;
  height: 100dvh;
  background: #ffffff;
  transition: opacity .6s ease;
}
#romaDresser #introVideo picture{
  display: block;
  width: 100%;
  height: 100%;
}
#romaDresser #introImg{
  display: block;
  width: 100%;
  height: 100%;
  transform-origin: center center;
  animation: introZoom 3.1s ease-out forwards;

  object-fit: cover;
}

@keyframes introZoom{
  0%{
    transform: scale(1);
  }
  100%{
    transform: scale(1.15);
  }
}

#romaDresser span{
  display: block;
}
#romaDresser h2{
  width: 94%;
  margin: 0 auto;
}

#romaDresser .kanban{
  position: relative;
  width: 89%;
  margin: 0 auto;

  aspect-ratio: 680 / 1070;
}
#romaDresser .kanbanImg{
  position: absolute;
  top: 9%;
  left: 20%;
  width: 64%;
}
#romaDresser .kanbanTtl{
  position: absolute;
  bottom: 2%;
  left: 50%;
  z-index: 2;
  width: 90%;
  transform: translateX(-50%);
}
#romaDresser .kanbanBgTxt svg{
  position: absolute;
  top: 3%;
  left: 2.8%;
}

/* marquee txt */
#romaDresser .marquee{
  overflow: hidden;
  font-family: sans-serif;
  font-size: 180%;
  font-size: clamp(22px,2.9vw,28px);
  letter-spacing: 2px;
}
#romaDresser .marquee{
  display: block;
  overflow: visible;
  width: 100%;
  height: auto;
}
#romaDresser .marqueePath{
  fill: none;
  stroke: none;
}
#romaDresser .marqueeText{
  font-family: serif;
  font-size: 100%;
  font-weight: bold;
  letter-spacing: 2px;

  fill: #d1b98f;
}
#romaDresser .marqueeTextPath{
  fill: inherit;
}
/* marquee txt END */

#romaDresser .kanbanBgTxt, #romaDresser .kanbanImg, #romaDresser .kanbanTtl{
  opacity: 0;
  transition: opacity .9s cubic-bezier(.22,.61,.36,1),transform .9s cubic-bezier(.22,.61,.36,1);
}
#romaDresser .kanbanBgTxt{
  transform: translateY(40px);
}
#romaDresser .kanbanImg{
  transform: translateY(40px);
}
#romaDresser .kanbanTtl{
  transform: translateX(-50%) translateY(40px);
}

#romaDresser.is-loaded .kanbanBgTxt{
  opacity: 1;
  transform: translateY(0);
}
#romaDresser.is-loaded .kanbanImg{
  opacity: 1;
  transition-delay: .4s;
  transform: translateY(0);
}
#romaDresser.is-loaded .kanbanTtl{
  opacity: 1;
  filter: drop-shadow(-3px -2px 4px white);
  filter: drop-shadow(-2px -2px 2px white) drop-shadow(2px 2px 2px white) drop-shadow(-2px -1px 6px white);
  transition-delay: .6s;
  transform: translateX(-50%) translateY(0);
}

/* 手書きテキスト */
#romaDresser #mask-path{
  animation: draw 8s ease forwards;
  animation-play-state: paused;

  fill: none;
  stroke: #ffffff;
  stroke-width: 12;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 5000;
  stroke-dashoffset: 5000;
}
#romaDresser.is-loaded #mask-path{
  animation-play-state: running;
}
#romaDresser .handwritePath{
  animation: draw 8s ease forwards;
  animation-play-state: paused;

  fill: none;
  stroke: #ffffff;
  stroke-width: 12;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 5000;
  stroke-dashoffset: 5000;
}
#romaDresser.is-loaded .kanbanTtl{
  animation-play-state: running;
}
#romaDresser .pdIntroTtl .handwritePath{
  animation: draw 8s ease forwards;
  animation-play-state: paused;
}
#romaDresser .pdIntroTtl.is-inview .handwritePath{
  animation-play-state: running;
}

.pdIntro{
  margin-bottom: 2em;
}

@keyframes draw{
  to{
    stroke-dashoffset: 0;
  }
}
/* 手書きテキスト END */

#romaDresser .rYumin{
  font-family: "Yu Mincho","游明朝","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","MS Mincho",serif;
}
#romaDresser .kanbanTxt{
  display: flex;
  position: relative;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  margin-top: -8%;
  font-size: 114%;
  line-height: 2;
  background: url("/img/interior/roma_dresser/kanbantxtbg.png") 50% 50%/100% 100% no-repeat;

  aspect-ratio: 656 / 600;
}
#romaDresser .kanbanTxt::after{
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  background: url("/img/interior/roma_dresser/kanban_underline.png") 50% 100%/74% auto no-repeat;
  pointer-events: none;

  aspect-ratio: 556 / 37;
}
#romaDresser .kanbanTxt span{
  position: relative;
  z-index: 1;
  margin-bottom: 2%;
  font-size: 120%;
  font-weight: bold;
  line-height: 1.8;
  color: #503b43;
}
#romaDresser .pdIntroImgArea{
  position: relative;
  overflow: visible;
  width: 78%;
  margin: 10% auto 0;
  padding-top: 12%;
}
#romaDresser .pdIntroImgArea::after{
  content: "";
  position: absolute;
  right: -7%;
  bottom: 2%;
  z-index: 3;
  width: 12%;
  background: url("/img/interior/roma_dresser/charms_pearl01.png") center/contain no-repeat;
  pointer-events: none;

  aspect-ratio: 73 / 70;
}
#romaDresser .pdIntroImg{
  position: absolute;
  bottom: 2%;
  left: 51%;
  z-index: 2;
  width: 96%;
  transform: translateX(-50%);
}
#romaDresser .pdIntroBg, #romaDresser .pdIntroImg{
  opacity: 0;
  transition: opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1);
}
#romaDresser .pdIntroImg{
  position: absolute;
  transform: translate(-50%,40px);
}
#romaDresser .pdIntroImgArea.is-inview .pdIntroBg{
  opacity: 1;
}
#romaDresser .pdIntroImgArea.is-inview .pdIntroImg{
  opacity: 1;
  transition-delay: .6s;
  transform: translate(-50%,0);
}
#romaDresser .pdIntroTtl{
  display: block;
  width: 90%;
  margin: 8% auto 0;
}
#romaDresser .pdIntroTxt{
  position: relative;
  margin-top: 7%;
  font-size: 100%;
  font-weight: bold;
  line-height: 2;
  color: #333333;
}
#romaDresser .pdIntroTxt::after{
  content: "";
  position: absolute;
  top: 32%;
  left: 8%;
  z-index: 2;
  width: 3%;
  background: url("/img/interior/roma_dresser/charms_pearl02.png") center/contain no-repeat;
  pointer-events: none;

  aspect-ratio: 1 / 1;
}
#romaDresser .pdIntroTxt.anmt{
  transition-delay: .6s;
}
#romaDresser .pdIntroTxt span{
  margin-bottom: 2%;
  padding-bottom: 4%;
  font-size: 150%;
  line-height: 1;
  color: #503b43;
  background: url("/img/interior/roma_dresser/ttl_underline.png") 50% 100%/80% no-repeat;
}

#romaDresser .nPinkSection{
  position: relative;
  margin: 12% auto 0;
  padding: 0 0 12%;
  background: none;
}
#romaDresser .nPinkSection::before{
  content: "";
  position: absolute;
  top: -5em;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  background: url("/img/interior/roma_dresser/bg02.jpg") 50% 0/100% repeat-y;
  pointer-events: none;

  -webkit-mask-image: linear-gradient(to bottom,transparent 0%,#000000 2%,#000000 100%);
  mask-image: linear-gradient(to bottom,transparent 0%,#000000 2%,#000000 100%);
}
#romaDresser .nPinkSection > *{
  position: relative;
  z-index: 1;
}
#romaDresser .rTtl{
  width: 91%;
  margin: 0 auto;
}
#romaDresser .pdFeature{
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-top: 12%;

  gap: 70px;
}
#romaDresser .pdFeature li{
  position: relative;
  margin-bottom: 5%;
}
#romaDresser .pdFeature li:first-child .pdFeatureChair{
  display: none;
}
#romaDresser .pdFeature li:nth-child(2) .pdFeatureChair{
  display: block;
  position: absolute;
  top: 85%;
  right: 7%;
  z-index: 5;
  width: 22%;
  height: auto;
  margin: 0;
  animation: pdFeatureChairFloat 3.5s ease-in-out infinite;
  pointer-events: none;
}
@keyframes pdFeatureChairFloat{
  0%, 100%{
    transform: translateY(0);
  }
  50%{
    transform: translateY(-18px);
  }
}
#romaDresser .marquee:has(#marqueePath-1,#marqueePath-3){
  position: absolute;
  left: -16%;
  width: 97%;
  transform: rotate(90deg) translateX(-17%);
}
#romaDresser .marquee:has(#marqueePath-2,#marqueePath-4){
  position: absolute;
  right: -16%;
  width: 97%;
  transform: rotate(-90deg) translateX(43%);
}
#romaDresser .marquee:has(#marqueePath-1,#marqueePath-2,#marqueePath-3,#marqueePath-4) .marqueeText{
  fill: #bf96a4 !important;
}
#romaDresser li .pdFeatureImg{
  width: 88%;
  margin: 0 auto 0 0;
}
#romaDresser li:nth-child(even) .pdFeatureImg{
  margin: 0 0 0 auto;
}
#romaDresser li .pdFeatureImg img{
  border-radius: 0 50vh 50vh 0;
}
#romaDresser li:nth-child(even) .pdFeatureImg img{
  border-radius: 50vh 0 0 50vh;
}
#romaDresser li .pdFeatureIntro{
  width: 78%;
  margin: 10% 3% 0 auto;
  line-height: 1.8;
  text-align: left;
}
#romaDresser li:nth-child(even) .pdFeatureIntro{
  margin: 10% auto 0 3%;
  text-align: left;
}
#romaDresser .pdFeatureIntro p{
  padding-left: 2%;
  font-family: serif;
  font-size: calc(13.5px * var(--fs-scale));
  line-height: 1.8;
  text-align: left;
  color: #333333;
}
#romaDresser .pdFeatureIntro span{
  margin-bottom: 2%;
  padding: 0 0 4% 2%;
  font-size: 150%;
  font-weight: bold;
  line-height: 1.4;
  color: #503b43;
  background: url("/img/interior/roma_dresser/txt_underline.png") 50% 100%/contain no-repeat;
}

/* contents */
@media screen and (min-width:768px){
  #romaDresser{
    width: 100%;
    font-size: 100%;
  }
  #romaDresser p{
    font-size: 100%;
  }
  #romaDresser .forsp{
    display: none;
  }
  #romaDresser .forpc{
    display: block;
  }
  #romaDresser .kanban{
    width: 45%;
  }
  #romaDresser .pdIntro{
    width: 50%;
    margin: 2% auto 0;
  }
  #romaDresser .kanbanTxt{
    margin-top: 2%;
    padding-bottom: 6%;
    font-size: 110%;
    background-size: 45%;
  }
  #romaDresser .kanbanTxt span{
    margin-bottom: 2%;
  }
  #romaDresser .rTtl{
    width: 55%;
  }
  #romaDresser .nPinkSection{
    margin-top: 0;
    padding: 14% 0 6%;
  }
  #romaDresser .FunctionScroll + .nPinkSection{
    padding-top: 8%;
  }
  #romaDresser .pdFeature{
    width: 65%;
    margin: 6% auto 0;

    gap: 110px;
  }
  #romaDresser .pdFeature .marqueeTextPath{
    font-size: 50% !important;
  }
  #romaDresser li .pdFeatureIntro{
    width: 70%;
  }
  #romaDresser .pdFeatureIntro span{
    font-size: 125%;
  }
  #romaDresser .pdFeature li{
    margin-bottom: 0;
  }
  #romaDresser .pdFeature li:nth-child(2) .pdFeatureChair{
    top: 87%;
    right: 18%;
    width: 18%;
  }
  #romaDresser .kanbanTxt{
    width: 45%;
    margin: -7% auto 0;
    padding-bottom: 0;
    font-size: 110%;
    background-size: 100% 100%;
  }
  #romaDresser .kanbanTxt span{
    margin-bottom: 2%;
  }
}

#romaDresser .Chapter{
  width: 85%;
  margin: 10% auto 15%;
  text-align: center;
}

/* function */
#romaDresser .FunctionScroll{
  position: relative;
  overflow: visible;
  height: 220vh;
  z-index: 2;
  --fs-scale: 1;
}
#romaDresser .FunctionScroll_Inner{
  position: sticky;
  top: var(--header-height,0px);
  overflow: hidden;
  box-sizing: border-box;
  width: 100%;
  height: calc(100vh - var(--header-height,0px));
  margin: 0;
}

#romaDresser .FunctionScroll_Inner{
  pointer-events: none;
}

#romaDresser .FunctionScroll_Nav{
  display: flex;
  position: absolute;
  top: calc(16px * var(--fs-scale));
  left: 50%;
  z-index: 10;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  width: calc(300px * var(--fs-scale));
  height: calc(36px * var(--fs-scale));
  padding: 0 calc(12px * var(--fs-scale));
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(242,241,241,.9);
  transform: translateX(-50%);
}
#romaDresser .FunctionScroll_NavItem{
  font-family: serif;
  font-size: calc(16.5px * var(--fs-scale));
  font-weight: bold;
  line-height: 1;
  white-space: nowrap;
  color: #c9a4ac;
  transition: color .4s ease;
}
#romaDresser .FunctionScroll_NavItem.Active{
  color: #a14062;
}
#romaDresser .FunctionScroll_Step{
  display: flex;
  position: absolute;
  top: calc(60px * var(--fs-scale));
  left: 50%;
  z-index: 10;
  align-items: center;
  width: calc(252px * var(--fs-scale));
  height: calc(37px * var(--fs-scale));
  transform: translateX(-50%);
}
#romaDresser .FunctionScroll_Number{
  flex-shrink: 0;
  opacity: .5;
  width: calc(20px * var(--fs-scale));
  height: auto;
  transition: opacity .4s ease;

  aspect-ratio: 43 / 29;
  object-fit: contain;
}
#romaDresser .FunctionScroll_Number.Active{
  opacity: 1;
}
#romaDresser .FunctionScroll_Icons{
  position: relative;
  flex: 1;
  height: 100%;
  margin: 0 calc(6px * var(--fs-scale));
}
#romaDresser .FunctionScroll_Icons::before{
  content: "";
  position: absolute;
  top: 50%;
  right: calc(18px * var(--fs-scale));
  left: calc(18px * var(--fs-scale));
  height: 1px;
  background: #d1b98f;
  transform: translateY(-50%);
}
#romaDresser .FunctionScroll_Icon{
  position: absolute;
  top: 50%;
  z-index: 2;
  opacity: 1;
  width: calc(35px * var(--fs-scale));
  height: auto;
  filter: drop-shadow(0 0 0 transparent);
  transition: filter .6s ease;
  transform: translateY(-50%);

  object-fit: contain;
}
#romaDresser .FunctionScroll_IconMoon{
  left: 0;
}
#romaDresser .FunctionScroll_IconSun{
  right: 0;
}
#romaDresser .FunctionScroll_Icon.Active{
  filter: drop-shadow(0 0 .1rem #ffeb9b) drop-shadow(0 0 .1rem #ffeb9b) drop-shadow(0 0 .1rem rgba(255,235,155,.85));
}
#romaDresser .FunctionScroll_Visual{
  position: absolute;
  top: calc(98px * var(--fs-scale));
  left: 50%;
  width: calc(300px * var(--fs-scale));
  transform: translateX(-50%);
}
#romaDresser .FunctionScroll_Image{
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  width: 100%;
  transition: opacity .6s ease;
}
#romaDresser .FunctionScroll_Image:first-child{
  position: relative;
}
#romaDresser .FunctionScroll_Image.Active{
  opacity: 1;
}
#romaDresser .FunctionScroll_Image img{
  display: block;
  width: 100%;
  height: auto;
}
#romaDresser .FunctionScroll_Copy{
  position: absolute;
  top: var(--copy-top,0px);
  left: 50%;
  z-index: 1;
  box-sizing: border-box;
  width: calc(300px * var(--fs-scale));
  padding: 0 calc(12px * var(--fs-scale));
  transform: translateX(-50%);
}
#romaDresser .FunctionScroll_CopyItem{
  position: absolute;
  top: calc(-3px * var(--fs-scale));
  right: 0;
  left: 0;
  opacity: 0;
  text-align: center;
  transition: opacity .5s ease;
}
#romaDresser .FunctionScroll_CopyItem.Active{
  opacity: 1;
}
#romaDresser .FunctionScroll_CopyItem h3{
  font-family: serif;
  font-size: calc(17px * var(--fs-scale));
  font-weight: bold;
  line-height: 1.2;
  color: #503b43;
}
#romaDresser .FunctionScroll_CopyItem h3::after{
  content: "";
  display: block;
  width: 100%;
  margin: 0 auto;
  background: url("/img/interior/roma_dresser/line_functions.png") no-repeat;
  background-position: center;
  background-size: contain;

  aspect-ratio: 604 / 37;
}
#romaDresser .FunctionScroll_CopyLine{
  position: relative;
  width: 44%;
  height: 1px;
  margin: 0 auto calc(8px * var(--fs-scale));
  background: #d4a66d;
}
#romaDresser .FunctionScroll_CopyLine::before, #romaDresser .FunctionScroll_CopyLine::after{
  content: "";
  position: absolute;
  top: 50%;
  width: calc(6px * var(--fs-scale));
  height: calc(6px * var(--fs-scale));
  border-radius: 50%;
  background: #d4a66d;
  transform: translateY(-50%);
}
#romaDresser .FunctionScroll_CopyLine::before{
  left: 0;
}
#romaDresser .FunctionScroll_CopyLine::after{
  right: 0;
}
#romaDresser .FunctionScroll_CopyItem p{
  margin: 0;
  font-family: serif;
  font-size: calc(13.5px * var(--fs-scale));
  line-height: 1.9;
  color: #333333;
}

/*Button*/
#romaDresser .Button{
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 65%;
  height: 3.6em;
  margin: 0 auto;
  text-decoration: none;
  color: #fcedf3;
  border-radius: 999px;
  border: 2px solid #fcedf3;
  background: linear-gradient(90deg,#c6748e 0%,#dc8da5 100%);
  box-shadow: 0 0 3px #fcedf3,0 0 7px #fcedf3,0 0 14px rgba(252,237,243,.9),0 0 26px rgba(255,255,255,.65);
  transition: .3s;
}
#romaDresser .Button::before{
  content: "";
  position: absolute;
  top: 1px;
  right: 1px;
  bottom: 1px;
  left: 1px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.85);
  box-shadow: inset 0 0 3px rgba(255,255,255,.35);
  pointer-events: none;
}
#romaDresser .Button::after{
  content: "";
  position: absolute;
  top: 50%;
  right: 8%;
  z-index: 1;
  width: .8em;
  background: url("/img/interior/roma_dresser/arrow_star.png") center/contain no-repeat;
  transform: translateY(-50%);
  pointer-events: none;

  aspect-ratio: 23 / 25;
}
#romaDresser .Button span:first-child{
  position: relative;
  z-index: 1;
  font-size: 102%;
  font-weight: bold;
  line-height: 0 !important;
}
#romaDresser .More .Button{
  height: 4.5em;
  text-align: center;
  background-image: url("/img/interior/roma_dresser/arrow_star.png"),linear-gradient(90deg,#c6748e 0%,#dc8da5 100%);
  background-position: right 8% center,center;
  background-size: clamp(12px,1.8vw,14px) auto,auto;
  background-repeat: no-repeat,no-repeat;
}
#romaDresser .More .Button span:first-child{
  line-height: 1.2 !important;
}
#romaDresser .More .Button::after{
  content: "";
  position: absolute;
  top: auto;
  right: auto;
  bottom: -31%;
  left: -11%;
  z-index: 2;
  width: 15%;
  height: auto;
  background: url("/img/interior/roma_dresser/other_pearl.png") center/contain no-repeat;
  transform: none;
  pointer-events: none;

  aspect-ratio: 70 / 64;
}

/* movie review */
#romaDresser .MovieReview{
  overflow: hidden;
  width: 100%;
  margin: 14% auto 0;
}
#romaDresser .MovieReview_Slider{
  width: 100%;
  margin: 2rem auto 0;
}
#romaDresser .MovieReview_Item{
  display: flex;
  align-items: center;
  flex-direction: column;
  width: 65vw;
  margin: 0 4vw;
}
#romaDresser .MovieReview .video{
  width: 100%;
}
#romaDresser .MovieReview .videoframeWrap{
  position: relative;
  width: 100%;
}
#romaDresser .MovieReview .videoframe{
  position: relative;
  width: 100%;

  aspect-ratio: 369/568;
}
#romaDresser .MovieReview .videoframe .hacobune-univideo{
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;

  mask: url("/img/interior/roma_dresser/slider_base2.png") center/100% 100% no-repeat;
  -webkit-mask: url("/img/interior/roma_dresser/slider_base2.png") center/100% 100% no-repeat;
}
#romaDresser .MovieReview .videoframe .hacobune-container{
  width: 100%;
  height: 100%;
}
#romaDresser .MovieReview .frameVideo{
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
#romaDresser .MovieReview_Review{
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  width: 100%;
  margin-top: 8%;
  padding: .6em 1em;
  border-radius: .5em;
  border: 0;
  background: #eed2d8;
}
#romaDresser .MovieReview_Head{
  display: flex;
  align-items: center;
  margin-bottom: .5em;
}
#romaDresser .MovieReview_Icon{
  overflow: hidden;
  width: 4.5em;
  height: 4.5em;
  border-radius: 50%;
}
#romaDresser .MovieReview_Icon img{
  display: block;
  width: 100%;
  height: 100%;

  object-fit: cover;
}
#romaDresser .MovieReview_User{
  flex: 1;
  padding-left: 1em;
}
#romaDresser .MovieReview_User p{
  text-align: left;
}
#romaDresser .MovieReview_User p:last-child{
  display: inline-block;
  padding: .3em .5em;
  line-height: 1;
  border-radius: 99px;
  background: #f9ebef;
}
#romaDresser .MovieReview_Name{
  margin: 0;
  font-size: 100%;
  line-height: 1.4;
  color: #6f515b;
}
#romaDresser .MovieReview_Id{
  margin: .2em 0 0;
  font-size: 85%;
  line-height: 1.4;
  color: #9d858b;
}
#romaDresser .MovieReview_Text{
  margin: .2em 0 0;
  padding-top: .4em;
  font-size: 90%;
  line-height: 1.6;
  text-align: left;
  color: #6f515b;
  border-top: solid #ddb9c5 1px;
}
#romaDresser .MovieReview_Slider .slick-list{
  overflow: hidden;
}
#romaDresser .MovieReview_Slider .slick-track{
  display: flex;
  align-items: flex-start;
}
#romaDresser .MovieReview_Slider .slick-slide{
  height: auto;
}
#romaDresser .MovieReview_Slider .slick-slide > div{
  height: auto;
}
#romaDresser .MovieReview_Slider .slick-dots{
  list-style: none;
  display: flex;
  position: static;
  justify-content: center;
  margin: .8em 0 0;
  padding: 0;

  gap: .5em;
}
#romaDresser .MovieReview_Slider .slick-dots li{
  width: .5em;
  height: .5em;
  margin: 0;
  padding: 0;
}
#romaDresser .MovieReview_Slider .slick-dots button{
  display: block;
  width: .5em;
  height: .5em;
  padding: 0;
  font-size: 0;
  border-radius: 50%;
  border: 0;
  background: #d8c8cb;
  cursor: pointer;
}
#romaDresser .MovieReview_Slider .hacobune-app-container[data-v-324570e2]{
  width: 105% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
#romaDresser .MovieReview_Slider .hacobune-unit-video[data-v-03f8cf45]{
  margin: 0 !important;
}
#romaDresser #group01 .Button{
  margin: 5% auto 0 !important;
}

#romaDresser .MovieReview_more{
  width: 92%;
  margin: 10% auto 15%;
  text-align: center;
}
#romaDresser .MovieReview_more p{
  margin: 1rem auto 1.5rem;
  font-size: 150%;
  font-weight: bold;
  color: #663448;
}

#romaDresser .Movie{
  margin: 14% auto 0;
}
#romaDresser .Movie .video{
  position: relative;
  width: 70%;
  margin: 0 auto;
}
#romaDresser .Movie .videoframe{
  position: relative;
  width: 100%;

  aspect-ratio: 505/846;
}
#romaDresser .Movie .videoframe .hacobune-univideo{
  position: absolute;
  top: 5%;
  left: 8.32%;
  overflow: hidden;
  width: 83.37%;
  height: 90.43%;

  mask: url("/img/interior/roma_dresser/movie_base.png") center/100% 100% no-repeat;
  -webkit-mask: url("/img/interior/roma_dresser/movie_base.png") center/100% 100% no-repeat;
}
#romaDresser .Movie .videoframe .hacobune-container{
  width: 100%;
  height: 100%;
}
#romaDresser .Movie .frameVideo{
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 99%;
  pointer-events: none;
}
#romaDresser .Movie .hacobune-app-container[data-v-324570e2]{
  width: 105% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
#romaDresser .Movie .hacobune-unit-video[data-v-03f8cf45]{
  margin: 0 !important;
}

#romaDresser .Other .FlexBox{
  display: flex;
  flex-wrap: wrap;
  width: 95%;
  margin: 6% auto 0;
}
#romaDresser .Other .FlexBox div{
  width: calc(100% / 2);
  margin-bottom: 2.5em;
  text-align: center;
}
#romaDresser .Other .FlexBox .Button{
  position: relative;
  width: 80%;
  height: 3em;
  margin-top: .5em;
  letter-spacing: .1em;
  background: linear-gradient(270deg,#c6748e 0%,#dc8da5 100%);
}
#romaDresser .Other .FlexBox .Button span:first-child{
  font-size: 132%;
}
#romaDresser .Other .FlexBox h3{
  font-size: 105%;
  font-weight: bold;
  line-height: 1.4;
  color: #503b43;
}
#romaDresser .Button::after{
  content: "";
  position: absolute;
  top: 50%;
  right: 8%;
  z-index: 1;
  width: .8em;
  background: url("/img/interior/roma_dresser/arrow_star.png") center/contain no-repeat;
  transform: translateY(-50%);
  pointer-events: none;

  aspect-ratio: 23 / 25;
}
#romaDresser .Other .FlexBox .Button::after{
  width: .7em;
}
#romaDresser .More .Button{
  height: 4.5em;
  text-align: center;
  background-image: url("/img/interior/roma_dresser/arrow_star.png"),linear-gradient(90deg,#c6748e 0%,#dc8da5 100%);
  background-position: right 8% center,center;
  background-size: clamp(12px,1.8vw,14px) auto,auto;
  background-repeat: no-repeat,no-repeat;
}
#romaDresser .More .Button span:first-child{
  line-height: 1.2 !important;
}
#romaDresser .More .Button::after{
  content: "";
  position: absolute;
  top: auto;
  right: auto;
  bottom: -31%;
  left: -11%;
  z-index: 2;
  width: 15%;
  height: auto;
  background: url("/img/interior/roma_dresser/other_pearl.png") center/contain no-repeat;
  transform: none;
  pointer-events: none;

  aspect-ratio: 70 / 64;
}
#romaDresser .MovieReview .frameVideo{
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  transform: translateZ(0);
  pointer-events: none;

  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  -webkit-transform: translateZ(0);
}



@media screen and (min-width:768px){
  #romaDresser{
    font-size: 1rem;
  }
  #romaDresser a:hover{
    opacity: .8;
  }
  #romaDresser .Button{
    width: 35%;
  }
  #romaDresser .FunctionScroll_Visual{
    width: calc(450px * var(--fs-scale));
  }

  #romaDresser .Button{
    margin: 3% auto 0;
  }

  #romaDresser .MovieReview .video{
    width: min(55%,420px);
  }
  #romaDresser .MovieReview_Review{
    width: min(55%,430px);
    margin-top: 2rem;
  }
  #romaDresser .MovieReview_Slider{
    width: 92%;
    margin: 2rem auto 0;
  }
  #romaDresser .MovieReview_Slider .slick-list{
    overflow: hidden;
    margin: 0;
  }
  #romaDresser .MovieReview_Slider .slick-track{
    display: flex;
    align-items: flex-start;
    margin: 0;
  }
  #romaDresser .MovieReview_Slider .slick-slide{
    box-sizing: border-box;
    height: auto;
    margin: 0 1%;
  }
  #romaDresser .MovieReview_Slider .slick-slide > div{
    height: auto;
  }
  #romaDresser .MovieReview_Item{
    display: flex;
    align-items: center;
    flex-direction: column;
    width: 100%;
    margin: 0;
  }
  #romaDresser .MovieReview .video{
    width: 100%;
  }
  #romaDresser .MovieReview_Review{
    width: 100%;
    margin-top: 8%;
  }
  #romaDresser .MovieReview_Slider .slick-dots{
    display: none;
  }

  #romaDresser .Movie{
    margin: 7% auto 0;
  }
  #romaDresser .MovieReview{
    margin: 7% auto 0;
  }
  #romaDresser .MovieReview_more{
    margin: 7% auto 10%;
  }

  #romaDresser .Chapter{
    width: 50%;
    margin: 5% auto 10%;
  }

  #romaDresser .Movie .video{
    width: 40%;
  }

  #romaDresser .Other .FlexBox{
    width: 60%;
    margin: 3% auto 0;
  }
  #romaDresser .Other .FlexBox .Button{
    margin: 5% auto 0;
  }
  #romaDresser .More .Button{
    width: 43%;
    height: 3.6em;
  }

  #romaDresser .More .Button::after{
    width: 10%;
  }
  #romaDresser .MovieReview .frameVideo{
    transform: none;

    -webkit-transform: none;
  }

  #romaDresser .MovieReview_Slider.is-single .MovieReview_Item{
    width: min(55%,380px);
    margin: 0;
  }
  #romaDresser .FunctionScroll_Inner{
    top: var(--header-height,0px);
    height: calc(100vh - var(--header-height,0px));
    padding-top: 0;
  }
}

/*///// animation /////*/
.anmt, .at-anmt1, .at-anmt2{
  position: relative;
  height: 100%;
}
.anmt, .anmt > div, .at-anmt1, .at-anmt2{
  opacity: 0;
}
.at-anmt1.animated{
  animation: mainshow1 .8s ease-in-out 0s forwards;
}

@keyframes mainshow1{
  10%{
    opacity: 0;
    transform: translateY(100px);
  }
  100%{
    opacity: 1;
    transform: translateY(0);
  }
}

.at-anmt2.animated{
  animation: mainshow2 .8s ease-in-out .5s forwards;
}

@keyframes mainshow2{
  40%{
    opacity: 0;
    transform: translateY(100px);
  }
  100%{
    opacity: 1;
    transform: translateY(0);
  }
}

.anmt.animated, .anmt.animated > div{
  animation: boxshow 1s ease-in-out 0s forwards;
}

@keyframes boxshow{
  0%{
    opacity: 0;
    transform: translateY(70px);
  }
  100%{
    opacity: 1;
    transform: translateY(0);
  }
}