@charset "utf-8";
#romanticRibbon {
  box-sizing: border-box;
  width: 100%;
  font-family: "Yu Gothic", "游ゴシック",  YuGothic, "Yu Gothic Medium", "游ゴシック体", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
  font-size: 10px;
}
#romanticRibbon img{
  max-width: 100%;
  height: auto;
  vertical-align: top;
}
#romanticRibbon p, h3{
  margin: 0;
  padding: 0;
  line-height: 1.5;
  font-weight: 400;
  text-align: center;
  color: #6f515b;
}
#romanticRibbon p {
  font-size: 3.8vw;
}
#romanticRibbon span {
  line-height: 1.5;
}
#romanticRibbon i{
  font-style: inherit;;
}
#romanticRibbon small, sub, sup{
  font-size: .8em;
}
#romanticRibbon a{
  text-decoration: none;
  transition: .6s;
}
#romanticRibbon .flex_rvs{
  flex-direction: row-reverse;
}
#romanticRibbon .forpc{
  display: none;
}
#romanticRibbon .forsp{
  display: block;
}
#romanticRibbon * {
  box-sizing: border-box;
}
#romanticRibbon>span {
  display: block;
  text-align: center;
}
/* contents */
/* Intro Video */
#intro {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 1s ease;
}
#intro video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#intro.hide {
  opacity: 0;
  pointer-events: none;
}

/* END Intro Video */
/* slider */
#romanticRibbon .slider {
  opacity: 0;
  transition: opacity .1s linear;
}
#romanticRibbon .slider.slick-initialized {
  opacity: 1;
}
#romanticRibbon .slick-slide {
  width: 100%;
}
#romanticRibbon .slider .slick-dots {
  bottom: -4%;
  z-index: 5;
  text-align: center;
}
#romanticRibbon .slick-dots li {
  margin: 0 1%;
  text-align: center;
  line-height: 1;
  border: none;
  width: 4px;
  height: 4px;
}
#romanticRibbon .slick-dots li button {
  width: 7px;
  height: 7px;
  margin: auto;
}
#romanticRibbon .slick-dots li button:hover:before,
#romanticRibbon .slick-dots li button:focus:before {
  opacity: 1;
}
#romanticRibbon .slick-dots li button:before {
  content: "";
  width: 6px;
  height: 6px;
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 50%;
  background: #eedfde;
  opacity: 1;
}
@media screen and (min-width:721px) {
  #romanticRibbon .slick-dots li button {
    width: 8px;
    height: 8px;
  }
  #romanticRibbon .slick-dots li button:before {
    width: 8px;
    height: 8px;
  }
  #romanticRibbon .slick-arrow {
    width: min(15px, 1.26vw);
  }
}
/* END slider */
#romanticRibbon {
  font-size: 3.8vw;
  overflow: hidden;
  background: url("/img/interior/romantic_ribbon/bg01.jpg") 50% 50%/ 100% repeat-y;
}
#romanticRibbon span {
  display: block;
}
#romanticRibbon .kanban {
  position: relative;
}
#romanticRibbon .kanbanTxt {
  position: relative;
  width: 85%;
  margin: 10% auto;
  text-align: center;
  aspect-ratio: 635/505;
  line-height: 2;
  background: url("/img/interior/romantic_ribbon/kanban_txt_bg.png") 50% 50%/ contain no-repeat;
}
#romanticRibbon .kanbanTxt::before,
#romanticRibbon .kanbanTxt::after {
  position: absolute;
  content: "";
}
#romanticRibbon .kanbanTxt::before {
  background: url("/img/interior/romantic_ribbon/icon_ribon.png") 50% 50%/ contain no-repeat;
  width: 23%;
  aspect-ratio: 170 / 178;
  top: -14%;
  left: 0;
}
#romanticRibbon .kanbanTxt::after {
  background: url("/img/interior/romantic_ribbon/icon_wavyribbon01.png") 50% 50%/ contain no-repeat;
  width: 52%;
  aspect-ratio: 361 / 233;
  top: -31%;
  transform: translateX(19%);
}
#romanticRibbon .kanbanTxt p {
  padding: 12% 0 0;
  color: #a57070;
  line-height: 2;
}
#romanticRibbon .kanbanTxt p b {
  font-size: 129%;
  font-family: "Yu Mincho", "游明朝", "YuMincho", serif;
}
#romanticRibbon .cupBagwrap {
  margin: 55% auto 0;
  padding-bottom: 30%;
  position: relative;
  background: url("/img/interior/romantic_ribbon/icon_spoon02.png") 5% 100%/40% no-repeat, url("/img/interior/romantic_ribbon/flower01.png") 89% 90%/24% no-repeat;
}

#romanticRibbon .cupBag {
  position: relative;
  width: 100%;
}
#romanticRibbon .img-cup {
  position: relative;
  z-index: 1;
  width: 80%;
  left: 50%;
  transform: translateX(-50%);
}
#romanticRibbon .float-item,
#romanticRibbon .img-smoke {
  position: absolute;
  opacity: 0;
}
#romanticRibbon .img-smoke {
  top: -112%;
  left: 0%;
  width: 100%;
  z-index: 2;
}
#romanticRibbon .item02 {
  top: -90%;
  left: 5%;
  width: 30%;
  z-index: 3;
}
#romanticRibbon .item03 {
  top: -56%;
  left: 35%;
  width: 30%;
  z-index: 3;
}
#romanticRibbon .item04 {
  top: -86%;
  right: 7%;
  width: 28%;
  z-index: 3;
}
#romanticRibbon h2 {
  margin: 8% auto 0;
  text-align: center;
}
#romanticRibbon .lineUp h2 img {
  width: 45%;
}
/* slider */
#romanticRibbon #slider01 {
  position: relative;
  margin-top: 35%;
}

/* arw */
#romanticRibbon .slider-arrows {
  position: absolute;
  top: 58%;
  left: 0%;
  width: 100%;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  padding: 0 6%;
  z-index: 10;
  pointer-events: none;
}
#romanticRibbon #slider01 .slider-arrows {
  top: 0;
  padding: 0 4%;
}
#romanticRibbon .slider-arrows .btn-prev,
#romanticRibbon .slider-arrows .btn-next {
  pointer-events: auto;
}
/* Dots */
#romanticRibbon .slider-controls {
  margin-top: -30%;
  display: flex;
  align-items: center;
  justify-content: center;
}
#romanticRibbon .btn-prev,
#romanticRibbon .btn-next {
  background: none;
  border: none;
  cursor: pointer;
  transition: 0.3s ease-in-out;
}
#romanticRibbon .btn-prev img,
#romanticRibbon .btn-next img {
  width: 57%;
  margin: 0 auto;
}
#romanticRibbon .dots {
  position: relative;
  display: flex;
  align-items: center;
  gap: 6px;
  z-index: 100;
  user-select: none;
  -webkit-user-select: none;
  outline: none;
  caret-color: transparent;
}
#romanticRibbon .dot {
  width: 7px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #ffffff;
  cursor: pointer;
  transition: background 0.3s;
}
#romanticRibbon .dot.active {
  background: #da9f9b;
}
#romanticRibbon .sliderName02 {
  aspect-ratio: 750 / 200;
  text-align: center;
}
#romanticRibbon .sliderName02 img {
  width: 69%;
  margin: 0 auto;
}

#romanticRibbon .sliderName {
  position: relative;
  width: 90%;
  margin: 0 auto;
  aspect-ratio: 690/396;
  display: flex;
  align-items: center;
  font-size: 6vw;
}
#romanticRibbon .sliderName a {
  aspect-ratio: 690/396;
  background: url("/img/interior/romantic_ribbon/nav_btn.png") 50% 50%/contain no-repeat;
}
#romanticRibbon .sliderName span {
  font-size: 87.5%;
}
#romanticRibbon #slider01 .sliderName::after {
  background: url("/img/interior/romantic_ribbon/icon_fork01.png") 50% 50% / contain no-repeat;
  aspect-ratio: 104/353;
  width: 14%;
  bottom: -27%;
  left: 3%;
}
#romanticRibbon #slider01 .sliderName::before {
  background: url("/img/interior/romantic_ribbon/icon_knife01.png") 50% 50% / contain no-repeat;
  aspect-ratio: 148/350;
  width: 20%;
  right: 1%;
  bottom: -1%;
  z-index: 10;
}
#romanticRibbon .lace-link {
  display: inline-block;
  width: 658px;
  height: 352px;

  clip-path: url(#laceClip);
  -webkit-clip-path: url(#laceClip);
}
#romanticRibbon .lace-link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#romanticRibbon .slide-name {
  position: absolute;
  width: 100%;
  opacity: 0;
  transition: opacity 0.6s ease;
  pointer-events: none;
}
#romanticRibbon .sliderName .slide-name {
  top: 0;
  left: 0;
  bottom: 0;
}
#romanticRibbon .slide-name a {
  height: 100%;
  width: 100%;
  display: block;
  border-radius: 50%;
  clip-path: ellipse(48% 45% at 50% 50%);
}
#romanticRibbon .sliderName .slide-name a{
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 690 / 396;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
#romanticRibbon .sliderName .slide-name a::after {
  content: "";
  position: absolute;
  background: url("/img/interior/romantic_ribbon/pink_arw.png") 50% 50%/contain no-repeat;
  aspect-ratio: 42/26;
  width: 6%;
  left: 50%;
  bottom: 26%;
  transform: translateX(-50%);
  transition: 0.3s ease-in-out;
}
#romanticRibbon .slide-name .btn {
  width: 67%;
  margin-top: 3%;
}
#romanticRibbon .slide-name p {
  color: #b66983;
  font-size: 5vw;
  font-weight: bold;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
}
#romanticRibbon .slide-name.active {
  opacity: 1;
  pointer-events: auto;
}
#romanticRibbon #slider01 .slider-items {
  position: relative;
  width: 100%;
  height: 260px;
}
#romanticRibbon #slider01 .slide-arch {
  position: absolute;
  display: block;
  width: 90%;
  opacity: 1;
  transition: left 0.6s ease, top 0.6s ease, transform 0.6s ease, opacity 0.6s ease;
  z-index: 1;
}
#romanticRibbon #slider01 .slide-arch img {
  transition: opacity 0.4s ease;
  width: 70%;
  margin: 0 auto;
  display: block;
}
/* Right Slide */
#romanticRibbon #slider01 .slide-arch.next {
  opacity: 0.8;
  transform: translateX(50%) scale(0.8);
  z-index: 2;
  right: 0;
}
#romanticRibbon #slider01 .slide-arch:not(.active):not(.prev):not(.next) {
  pointer-events: none;
}
#romanticRibbon #slider01 .sliderName::after {
  content: none;
}
/* contents */

/* Zoom img */
#romanticRibbon .zoomSection {
  margin: 20% auto 20%;
  height: 50vh;
}
#romanticRibbon .zoomInner {
  position: relative;
  width: 100%;
  aspect-ratio: 750 / 850;
  height: 60vh;
  overflow: hidden;
}
#romanticRibbon .zoomMask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: relative;
}
#romanticRibbon .zoomMask img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 95%;
  object-fit: cover;
}
#romanticRibbon .icon {
  position: absolute;
  pointer-events: none;
  z-index: 15;
  will-change: transform;
}
#romanticRibbon .icon01 {
  width: 25%;
  top: 92%;
  left: 39%;
}
#romanticRibbon .icon02 {
  width: 25%;
  top: 10%;
  right: 32%;
}
#romanticRibbon .pin-spacer {
  margin-bottom: 30% !important;
}
#romanticRibbon #heartBag {
  position: relative;
  z-index: 1;
  isolation: isolate;
  padding-top: 2em;
}
#romanticRibbon .pdName,
#romanticRibbon .heartBagGif {
  position: relative;
  z-index: 2;
}
#romanticRibbon .heartBagGif {
  position: relative;
  aspect-ratio: 750/1040;
  background-image: url("/img/interior/romantic_ribbon/icon_wavyribbon02.png");
  background-position: -18% 10%;
  background-size: 43%;
  background-repeat: no-repeat;
  text-align: center;
}
#romanticRibbon .heartBagGif span {
  position: absolute;
}
#romanticRibbon .heartBagGif span:first-child {
  width: 44%;
  padding: 0 0 8%;
  top: 10%;
  right: 6%;
  background: url("/img/interior/romantic_ribbon/bag_move_shadow.png") 50% 100%/ 65% no-repeat;
}
#romanticRibbon .heartBagGif span:last-child {
  width: 83%;
  left: 3%;
  bottom: 0;
}


#romanticRibbon .bagIntro {
  padding: 30% 0 5%;
}
#romanticRibbon .bagIntro01 {
  background-image: url("/img/interior/romantic_ribbon/icon_ribon02.png"), url("/img/interior/romantic_ribbon/icon_wavyribbon05.png");
  background-position: 10% 0, 117% 100%;
  background-size: 20%, 34%;
  background-repeat: no-repeat;
}
#romanticRibbon .introImg {
  width: 95%;
  position: relative;
  margin: 0 auto;
  z-index: 2;
}
#romanticRibbon .introImg::before {
  content: "";
  position: absolute;
  top: -10%;
  background: url("/img/interior/romantic_ribbon/sub_ttl.png") 50% 50%/contain no-repeat;
  aspect-ratio: 749/268;
  width: 100%;
}
#romanticRibbon .textFrame {
  position: relative;
  width: 100%;
  margin: -23% 0 0 -8%;
  background-image: url("/img/interior/romantic_ribbon/race.png");
  background-position: 50% 50%;
  background-size: 100%;
  background-repeat: no-repeat;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
#romanticRibbon .textFrame p {
  text-align: center;
  line-height: 1.8;
}
#romanticRibbon .sliderWrapper {
  position: relative;
  z-index: 10;
  padding: 7% 0 3%;
}
#romanticRibbon .slider {
  position: relative;
  z-index: 1;
}
#romanticRibbon .sliderWrapper::before,
#romanticRibbon .sliderWrapper::after {
  content: "";
  position: absolute;
  z-index: 10;
  pointer-events: none;
}
#romanticRibbon #heartBag .sliderWrapper::before {
  background: url("/img/interior/romantic_ribbon/slider_top.png") 0 0/100% no-repeat;
  aspect-ratio: 750/337;
  width: 100%;
  top: 0;
}
#romanticRibbon #heartBag .sliderWrapper::after {
  background: url("/img/interior/romantic_ribbon/slider_bottom.png") 0 100%/100% no-repeat;
  aspect-ratio: 750/212;
  left: 0;
  width: 100%;
  bottom: 0;
}
#romanticRibbon .slider .slick-dots {
  position: absolute;
  display: flex;
  justify-content: flex-end;
  right: 2%;
  bottom: 19%;
  width: 100%;
  z-index: 1000;
  pointer-events: auto;
}
#romanticRibbon .slick-dots li button {
  font-size: 0;
  width: 8px;
  height: 8px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #ffffff;
  cursor: pointer;
}
#romanticRibbon .slick-dots li button::before {
  display: none;
}
#romanticRibbon .slick-dots li.slick-active button {
  background: #da9f9b;
}
#romanticRibbon .slick-prev,
#romanticRibbon .slick-next {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  z-index: 1000 !important;
  background: none;
  border: none;
  cursor: pointer;
  width: 10%;
  padding: 0;
  pointer-events: auto;
  background-size: contain;
  background-repeat: no-repeat;
}
#romanticRibbon .slick-prev {
  left: 3%;
}
#romanticRibbon .slick-next {
  right: 3%;
}
#romanticRibbon .slick-prev img,
#romanticRibbon .slick-next img {
  width: 100%;
}
#romanticRibbon .slick-prev::before,
#romanticRibbon .slick-next::before {
  display: none;
}
#romanticRibbon .sliderFrame::before,
#romanticRibbon .sliderFrame::after {
  pointer-events: none;
}

#romanticRibbon .pdName {
  position: relative;
}
#romanticRibbon .pdName a {
  position: relative;
  width: 90%;
  margin: 3% auto 0;
  aspect-ratio: 690 / 396;
  background: url("/img/interior/romantic_ribbon/pd01_bg.png") 50% 50% / contain no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  clip-path: ellipse(50% 49% at 50% 50%);
}
#romanticRibbon .pdName p {
  color: #b66983;
  font-size: 5vw;
  font-weight: bold;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
}
#romanticRibbon .pdName span {
  font-size: 87.5%;
}
#romanticRibbon #slider01 .sliderName::before,
#romanticRibbon #slider01 .sliderName::after,
#romanticRibbon .sliderWrapper01 +.pdName::before,
#romanticRibbon .sliderWrapper01 +.pdName::after,
#romanticRibbon .bagIntro02 .textFrame::before,
#romanticRibbon .bagIntro02 .textFrame::after,
#romanticRibbon .sliderWrapper03 +.pdName::after,
#romanticRibbon .mainImg04::before,
#romanticRibbon .mainImg04::after,
#romanticRibbon .sliderWrapper04::before,
#romanticRibbon .sliderWrapper04::after,
#romanticRibbon .bagIntro03::before,
#romanticRibbon .logoBrand .textFrame::before,
#romanticRibbon .logoBrand .textFrame::after{
  content: "";
  position: absolute;
}
#romanticRibbon .sliderWrapper01 +.pdName::before {
  background: url("/img/interior/romantic_ribbon/icon_minicake.png") 0 0/100% no-repeat;
  aspect-ratio: 115/123;
  width: 15%;
  left: 3%;
  top: -15%;
}
#romanticRibbon .sliderWrapper01 +.pdName::after {
  background: url("/img/interior/romantic_ribbon/icon_fork01.png") 0 0/100% no-repeat;
  aspect-ratio: 104/353;
  width: 14%;
  right: 13%;
  bottom: -10%;
  cursor: pointer;
}
#romanticRibbon .mainImg {
  margin: 0 auto;
}
#romanticRibbon .mainImg02 {
  margin-top: 9%;
  width: 95%;
}
#romanticRibbon .bagIntro02 {
  padding: 5% 0 15%;
  background-image: url("/img/interior/romantic_ribbon/icon_minicup.png"), url("/img/interior/romantic_ribbon/icon_wavyribbon06.png");
  background-position: 90% 0, -22% 116%;
  background-size: 26%, 33%;
  background-repeat: no-repeat;
}
#romanticRibbon .introImg02 {
  width: 91%;
}
#romanticRibbon .introImg02::before {
  content: unset;
}
#romanticRibbon .bagIntro02 .textFrame {
  margin: -25% -8% 0 auto;
  background-size: 106%;
}
#romanticRibbon .bagIntro02 .textFrame p {
  padding-top: 6%;
}
#romanticRibbon .bagIntro02 .textFrame::before{
  background: url("/img/interior/romantic_ribbon/icon_knife02.png") 0 0/100% no-repeat;
  aspect-ratio: 167/420;
  width: 24%;
  left: 3%;
  bottom: -6%;
}
#romanticRibbon .bagIntro02 .textFrame::after{
  background: url("/img/interior/romantic_ribbon/icon_rose.png") 0 0/100% no-repeat;
  aspect-ratio: 94/93;
  width: 14%;
  right: 10%;
  top: 54%;
}

#romanticRibbon .sliderWrapper02 {
  width: 83%;
  position: relative;
  margin: 0 auto;
}
#romanticRibbon .sliderWrapper02::after {
  position: absolute;
  content: "";
  background: url("/img/interior/romantic_ribbon/sub_ttl01.png") 0 0/100% no-repeat;
  width: 91%;
  aspect-ratio: 678/183;
  left: 5%;
  top: -3%;
}
#romanticRibbon .sliderFrame {
  position: relative;
  width: 100%;
  text-align: center;
}
#romanticRibbon .sliderWrapper02 .slider{
  position: absolute;
  width: 83%;
  top: 51%;
  left: 50%;
  transform: translate(-50%,-50%);
}
#romanticRibbon .sliderWrapper02 .slider .slick-dots,
#romanticRibbon .sliderWrapper04 .slider .slick-dots {
  justify-content: center;
  bottom: -12%;
  right: 0;
  left: 0;
}
#romanticRibbon .sliderWrapper02 .slick-dots li {
  margin: 0 1.5%;
}
#romanticRibbon #bostonBag {
  background-image: url("/img/interior/romantic_ribbon/icon_minicake02.png"), url("/img/interior/romantic_ribbon/icon_minicake03.png"),url("/img/interior/romantic_ribbon/icon_spoon04.png");
  background-position: 5% 63%, 24% 67%, 95% 62%;
  background-size: 24%, 21%, 32%;
  background-repeat: no-repeat;
}

#romanticRibbon #bostonBag .sliderWrapper03 {
  margin-top: 60%;
}
#romanticRibbon #bostonBag .sliderWrapper03::before {
  background: url("/img/interior/romantic_ribbon/slider_top02.png") 0 0 / 100% no-repeat;
  aspect-ratio: 750 / 337;
  width: 100%;
  top: 0;
}
#romanticRibbon #bostonBag .sliderWrapper03::after {
  background: url("/img/interior/romantic_ribbon/slider_bottom02.png") 0 100% / 100% no-repeat;
  aspect-ratio: 750 / 162;
  width: 100%;
  bottom: 0;
}
#romanticRibbon .sliderWrapper03 +.pdName::after {
  background: url("/img/interior/romantic_ribbon/icon_knife01.png") 0 0 / 100% no-repeat;
  aspect-ratio: 148/350;
  width: 20%;
  right: 7%;
  bottom: -1%;
}

#romanticRibbon .mainImg03 {
  width: 99%;
  margin: 5% auto 0;
  padding-bottom: 10%;
  background: url("/img/interior/romantic_ribbon/icon_ribon03.png") 5% 100% / 16% no-repeat;
}
#romanticRibbon .mainImg04 {
  position: relative;
  width: 83%;
  margin: 15% 2% 0 auto;
}
#romanticRibbon .mainImg04::before {
  background: url("/img/interior/romantic_ribbon/sub_ttl02.png") 50% 50%/contain no-repeat;
  width: 83%;
  aspect-ratio: 617/223;
  top: -21%;
  right: 15%;
}
#romanticRibbon .mainImg04::after {
  background: url("/img/interior/romantic_ribbon/icon_fork02.png") 50% 50%/contain no-repeat;
  width: 33%;
  aspect-ratio: 243/376;
  bottom: -13%;
  right: 2%;
}
#romanticRibbon .bagIntro03 {
  position: relative;
  padding: 0;
}
#romanticRibbon .bagIntro03::before {
  background: url("/img/interior/romantic_ribbon/flower01.png") 0 0/100% no-repeat;
  aspect-ratio: 242/475;
  width: 17%;
  left: 3%;
  bottom: -15%;
}
#romanticRibbon .bagIntroImg {
  position: relative;
  aspect-ratio: 1;
}
#romanticRibbon .bagIntroImg span {
  position: absolute;
}
#romanticRibbon .bagIntroImg .miniBag01 {
  width: 70%;
  top: -10%;
  left: -12%;
}
#romanticRibbon .bagIntroImg .miniBag02 {
  width: 21%;
  right: 15%;
  top: 20%;
}
#romanticRibbon .bagIntroImg .miniBag03 {
  width: 37%;
  bottom: 16%;
  right: 10%;
}
#romanticRibbon .bagIntro03 .textFrame {
  width: 96%;
  margin: -8% auto 0;
}
#romanticRibbon .bagIntro03 .textFrame p {
  padding-top: 4%;
  letter-spacing: -0.05em;
}
#romanticRibbon .sliderWrapper04 {
  width: 96%;
  margin: 0 auto;
}
#romanticRibbon .sliderWrapper04::before {
  background: url("/img/interior/romantic_ribbon/icon_spoon05.png") 0 0/100% no-repeat;
  aspect-ratio: 242/475;
  width: 32%;
  left: 3%;
  bottom: -15%;
}
#romanticRibbon .sliderWrapper04::after {
  background: url("/img/interior/romantic_ribbon/icon_cake.png") 0 0/100% no-repeat;
  aspect-ratio: 242/475;
  width: 21%;
  right: 6%;
  bottom: -28%;
}
#romanticRibbon .sliderWrapper04 .slider {
  width: 88%;
  position: absolute;
  top: 51%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
#romanticRibbon .sliderWrapper04 .slider .slick-dots {
  bottom: -9%;
}
#romanticRibbon .sliderWrapper04 .slick-dots li button {
  width: 6px;
  height: 6px;
}
#romanticRibbon .logoBrand {
  margin-top: 44%;
}
#romanticRibbon .curtainSection {
  position: relative;
  aspect-ratio: 750 / 930;
  height: auto;
}
#romanticRibbon .curtainSection::before {
  content: "";
  position: absolute;
  background: url("/img/interior/bag/curtaint.png") 0 0/100% no-repeat;
  width: 100%;
  aspect-ratio: 1020/299;
  top: 0;
  left: 0;
  z-index: 100;
  transition: transform 1.2s cubic-bezier(0.65, 0, 0.35, 1),
              opacity 1.2s ease;
  transition-delay: 0.1s;
}
#romanticRibbon .curtainSection.open::before {
  opacity: 0;
}
#romanticRibbon .curtainWrap{
  position:sticky;
  top:0;
  aspect-ratio: 750 / 930;
  height: auto;
  overflow:hidden;
  perspective: 930px;
}
#romanticRibbon .curtainWrap img{
  width:100%;
  object-fit:cover;
}
#romanticRibbon .curtain{
  position:absolute;
  top:0;
  width:50%;
  height: 100%;
  z-index:2;

  background-size: cover;
  background-position: center;

  transform-origin: center;
  backface-visibility: hidden;
  transform-style: preserve-3d;

  will-change: transform, opacity;
  transition:
    transform 1.2s cubic-bezier(0.65, 0, 0.35, 1),
    opacity 1.2s ease;
}
#romanticRibbon .curtain.left{
  left:0;
  background-image: url("/img/interior/romantic_ribbon/curtainl.jpg");
  -webkit-mask-image: linear-gradient(
    to right,
    black 99%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    black 99%,
    transparent 100%
  );
}
#romanticRibbon .curtain.right{
  right:0;
  background-image: url("/img/interior/romantic_ribbon/curtainr.jpg");

  -webkit-mask-image: linear-gradient(
    to left,
    black 99%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to left,
    black 99%,
    transparent 100%
  );
}
#romanticRibbon .icon {
  position: absolute;
  pointer-events: none;
  z-index: 15;
  will-change: transform;
}
#romanticRibbon .icon01 {
  width: 25%;
  top: 92%;
  left: 39%
}
#romanticRibbon .icon02 {
  width: 25%;
  top: 10%;
  right: 32%;
}
#romanticRibbon .logoList {
  margin: 12% auto 0;
  padding: 18% 6% 0;
  display: flex;
  flex-direction: column;
  gap: 15px;
  background-image: url("/img/interior/romantic_ribbon/icon_ribon04.png"),url("/img/interior/romantic_ribbon/icon_wavyribbon07.png"),url("/img/interior/romantic_ribbon/teapot.png");
  background-position: 5% 0, 122% 40%, 6% 71%;
  background-size: 14%, 33%, 22%;
  background-repeat: no-repeat;
}
#romanticRibbon .logo {
  width: 87%;
  margin: 0 auto;
}
#romanticRibbon .logo01 {
  position: relative;
}
#romanticRibbon .logo01::before {
  content: "";
  position: absolute;
  background: url("/img/interior/romantic_ribbon/sub_ttl03.png") 0 0/100% no-repeat;
  aspect-ratio: 584/147;
  width: 78%;
  left: 11%;
  top: -12%;
}
#romanticRibbon .logoBrand .textFrame {
  position: relative;
  margin: 5% auto 0;
  background: url("/img/interior/romantic_ribbon/race02.png") 50% 50% / 106% no-repeat;
  aspect-ratio: 750/826;
}
#romanticRibbon .logoBrand .textFrame p {
  letter-spacing: -0.05em;
  padding-top: 5%;
}
#romanticRibbon .logoBrand .textFrame::before {
  background: url("/img/interior/romantic_ribbon/icon_fork01.png") 0 0/100% no-repeat;
  aspect-ratio: 104/353;
  width: 17%;
  left: 7%;
  top: -4%;
}
#romanticRibbon .logoBrand .textFrame::after {
  background: url("/img/interior/romantic_ribbon/icon_knife01.png") 0 0/100% no-repeat;
  aspect-ratio: 148/350;
  width: 25%;
  right: 8%;
  bottom: 1%;
}
#romanticRibbon .lastBtn {
  margin: 12% auto 0;
  padding-top: 13%;
  background: url("/img/interior/romantic_ribbon/blurcup.png") 50% 50%/100% no-repeat;
  aspect-ratio: 750/441;
}
#romanticRibbon .lastBtn a {
  width: 64%;
  margin: 0 auto;
  display: block;
  height: auto;
  aspect-ratio: 986/270;
  border-radius: 30px;
  overflow: hidden;
}
#romanticRibbon .lastBtn a img {
  width: 100%;
}

/* contents */
@media screen and (min-width: 768px){
#romanticRibbon {
  max-width: 1500px;
}
#romanticRibbon p {
  font-size: min(24px,2vw);
}
#romanticRibbon .kanbanTxt p {
  font-size: min(22px,1.8vw);
}
#romanticRibbon .forsp {
  display: none;
}
#romanticRibbon .forpc {
  display: block;
}
#romanticRibbon .kanbanTxt {
  width: 61%;
  margin: 5% auto 0;
  background: url("/img/interior/romantic_ribbon/kanban_txt_bg_pc.png") 50% 50% / contain no-repeat;
  aspect-ratio: 620/300;
}
#romanticRibbon .kanbanTxt p {
  padding: 7% 0 0;
}
#romanticRibbon .kanbanTxt::before {
  width: 27%;
  top: -19%;
  left: -10%;
}
#romanticRibbon .kanbanTxt::after {
  width: 55%;
  top: -39%;
  transform: translateX(58%);
}
#romanticRibbon .cupBagwrap {
  margin-top: 30%;
  padding-bottom: 7%;
  background: url("/img/interior/romantic_ribbon/icon_spoon02_pc.png") 19% 100%/23% no-repeat, url("/img/interior/romantic_ribbon/flower01_pc.png") 83% 76%/11% no-repeat;
}
#romanticRibbon .img-cup {
  width: 39%;
}
#romanticRibbon .img-smoke {
  width: 49%;
  left: 50%;
  transform: translateX(-50%);
}
#romanticRibbon .item02 {
  width: 14%;
  left: 30%;
}
#romanticRibbon .item03 {
  width: 15%;
  left: 45%;
}
#romanticRibbon .item04 {
  width: 14%;
  right: 26%;
}
#romanticRibbon .lineUp h2 img {
  width: 33%;
}
#romanticRibbon #slider01 .slide-arch {
  width: 76%;
}
#romanticRibbon #slider01 {
  margin-top: 32%;
}
#romanticRibbon .btn-prev img,
#romanticRibbon .btn-next img {
  width: 75%;
}
#romanticRibbon #slider01 .slider-arrows {
  top: 0;
  padding: 0 17%;
}
#romanticRibbon .slider-controls {
  margin-top: 7%;
}
#romanticRibbon .sliderName02 img {
  width: 52%;
}
#romanticRibbon .sliderName02 {
  aspect-ratio: 750 / 115;
}
#romanticRibbon .slide-name p {
  font-size: min(42px,4vw);
}
#romanticRibbon .sliderName {
  width: 64%;
}

#romanticRibbon .zoomInner {
  aspect-ratio: 1020/800;
  height: 785px;
}
#romanticRibbon .zoomSection {
  height: 785px;
  margin-bottom: 10%;
}
#romanticRibbon .zoomMask {
  overflow: hidden;
}
#romanticRibbon .zoomMask img {
  width: 56%;
  object-fit: cover;
}
#romanticRibbon .icon01 {
  width: 15%;
  top: 74%;
  left: 40%;
}
#romanticRibbon .icon02 {
  width: 11%;
  top: 17%;
  right: 37%;
}
#romanticRibbon .pin-spacer {
  margin-bottom: 0 !important;
}
#romanticRibbon .heartBagGif {
  aspect-ratio: 750 / 650;
  background-position: -5% 0%;
  background-size: 35%;
}
#romanticRibbon .heartBagGif span:first-child {
  width: 32%;
  top: 3%;
  right: 18%;
}
#romanticRibbon .heartBagGif span:last-child {
  width: 56%;
  left: 15%;
  bottom: 0;
}
#romanticRibbon .bagIntro {
  padding: 18% 0 0;
}
#romanticRibbon .bagIntro01 {
  background-position: 14% 0, 106% 100%;
  background-size: 12%, 26%;
}
#romanticRibbon .introImg {
  width: 52%;
}
#romanticRibbon .introImg::before {
  top: -12%;
}
#romanticRibbon .textFrame {
  width: 64%;
  margin: -20% 0 0 5%;
}
#romanticRibbon .textFrame p {
  padding-top: 8%;
}
#romanticRibbon #heartBag .sliderWrapper::before {
  background: url("/img/interior/romantic_ribbon/slider_top_pc.png") 0 0 / 100% no-repeat;
  aspect-ratio: 1020/337;
  top: 1%;
}
#romanticRibbon #heartBag .sliderWrapper::after {
  background: url("/img/interior/romantic_ribbon/slider_bottom_pc.png") 0 0 / 100% no-repeat;
  aspect-ratio: 1020/218;
}
#romanticRibbon .slick-prev,
#romanticRibbon .slick-next {
  width: 7%;
}
#romanticRibbon .pdName p {
  font-size: min(42px, 4vw);
  line-height: 1;
}
#romanticRibbon .pdName a {
  width: 64%;
  transition: 0.3s ease-in-out;
}
#romanticRibbon .pdName a:hover {
  transform: scale(0.95);
}
#romanticRibbon .sliderName .slide-name a::after {
  width: 4%;
}
#romanticRibbon .sliderName .slide-name a:hover::after {
  bottom: 23%;
}
#romanticRibbon .sliderWrapper01 +.pdName::after {
  width: 9%;
  right: 24%;
  bottom: 1%;
}
#romanticRibbon .sliderWrapper01 +.pdName::before {
  width: 12%;
  left: 5%;
  top: -10%;
}

#romanticRibbon .sliderWrapper01,
#romanticRibbon .sliderWrapper03 {
  position: relative;
}
#romanticRibbon .sliderWrapper01 .slick-prev,
#romanticRibbon .sliderWrapper01 .slick-next,
#romanticRibbon .sliderWrapper03 .slick-prev,
#romanticRibbon .sliderWrapper03 .slick-next {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  z-index: 100;
  pointer-events: auto;
}
#romanticRibbon .sliderWrapper01 .slick-dots,
#romanticRibbon .sliderWrapper03 .slick-dots {
  pointer-events: auto;
}
#romanticRibbon .slick-dots li {
  margin: 0;
  width: 16px;
}
#romanticRibbon .slider .slick-dots {
  bottom: 21%;
}
#romanticRibbon .mainImg02 {
  width: 60%;
}
#romanticRibbon .bagIntro02 {
  padding: 0;
  background-position: 90% 0, -7% 104%;
  background-size: 18%, 25%;
}
#romanticRibbon .bagIntro02 .textFrame {
  width: 62%;
  margin: -15% 4% 0 auto;
}
#romanticRibbon .bagIntro02 .textFrame p {
  padding-top: 5%;
}
#romanticRibbon .bagIntro02 .textFrame::before {
  width: 20%;
  left: 0;
  bottom: 4%;
}
#romanticRibbon .bagIntro02 .textFrame::after {
  width: 14%;
  right: 4%;
  top: 43%;
}
#romanticRibbon .sliderWrapper02 {
  width: 79%;
  margin: 8% auto 0;
}
#romanticRibbon .sliderWrapper02::after {
  width: 78%;
  left: 10%;
  top: -1%;
}
#romanticRibbon .sliderWrapper02 .slider {
  width: 65%;
  top: 52%;
}
#romanticRibbon .sliderWrapper02 .slider .slick-dots,
#romanticRibbon .sliderWrapper04 .slider .slick-dots {
  justify-content: center;
  bottom: -6%;
  right: 0;
  left: 0;
}
#romanticRibbon .sliderWrapper02 .slick-dots li {
  margin: 0;
}
#romanticRibbon #bostonBag .sliderWrapper03 {
  margin-top: 20%;
}
#romanticRibbon #bostonBag {
  background-position: 5% 60%, 24% 64%, 88% 59%;
  background-size: 20%, 14%, 24%;
}
#romanticRibbon #bostonBag .sliderWrapper03::before {
  background: url("/img/interior/romantic_ribbon/slider_top02_pc.png") 0 0 / 100% no-repeat;
  aspect-ratio: 1020/328;
  top: 2%;
}
#romanticRibbon #bostonBag .sliderWrapper03::after {
  background: url("/img/interior/romantic_ribbon/slider_bottom02_pc.png") 0 0 / 100% no-repeat;
  aspect-ratio: 1020/218;
}
#romanticRibbon .sliderWrapper03 .slick-dots {
  justify-content: flex-start;
  right: unset;
  left: 2%;
}
#romanticRibbon .mainImg03 {
  width: 60%;
  background: url("/img/interior/romantic_ribbon/icon_ribon03.png") 2% 100% / 19% no-repeat;
}
#romanticRibbon .mainImg04 {
  width: 66%;
  margin: 6% 4% 0 auto;
}
#romanticRibbon .mainImg04::before {
  width: 70%;
  top: -20%;
  right: 20%;
}
#romanticRibbon .bagIntro03 {
  padding: 10% 0 0;
}
#romanticRibbon .sliderWrapper03 +.pdName::after {
  width: 16%;
  right: 17%;
}
#romanticRibbon .bagIntroImg {
  aspect-ratio: 1020 / 700;
}
#romanticRibbon .bagIntroImg .miniBag01 {
  width: 46%;
  top: -11%;
  left: 10%;
}
#romanticRibbon .bagIntroImg .miniBag02 {
  width: 14%;
  right: 24%;
  top: 13%;
}
#romanticRibbon .mainImg04::after {
  width: 34%;
  bottom: -19%;
  right: 5%;
}
#romanticRibbon .bagIntro03::before {
  width: 15%;
  left: 12%;
  bottom: -20%;
}
#romanticRibbon .bagIntroImg .miniBag03 {
  width: 23%;
  bottom: 26%;
  right: 22%;
}
#romanticRibbon .bagIntro03 .textFrame {
  width: 62%;
  margin: -13% auto 0;
}
#romanticRibbon .sliderWrapper04 {
  width: 60%;
}
#romanticRibbon .sliderWrapper04::after {
  width: 20%;
  right: -8%;
  bottom: -20%;
}
#romanticRibbon .sliderWrapper04::before {
  width: 27%;
  left: 4%;
  bottom: -14%;
}
#romanticRibbon .logoBrand {
  margin-top: 22%;
}
#romanticRibbon .logoList {
  flex-direction: row;
  margin: 4% auto 0;
  padding: 14% 2% 8%;
  background-position: 5% 0, 118% 168%, 28% 100%;
  background-size: 13%, 20%, 12%;
}
#romanticRibbon .logo01 {
  order: 2;
}
#romanticRibbon .logo02 {
  order: 1;
}
#romanticRibbon .logo03 {
  order: 3;
}
#romanticRibbon .logo01::before {
  width: 86%;
  left: 6%;
  top: -13%;
}
#romanticRibbon .logoBrand .textFrame {
  width: 65%;
  background-size: 100%;
}
#romanticRibbon .logoBrand .textFrame::before {
  width: 14%;
  left: 7%;
  top: 1%;
}
#romanticRibbon .logoBrand .textFrame::after {
  width: 22%;
  right: 6%;
  bottom: 15%;
}
#romanticRibbon .lastBtn {
  margin: 3% auto 0;
  background: url("/img/interior/romantic_ribbon/blurcup_pc.png") 50% 50%/100% no-repeat;
  aspect-ratio: 1020 / 504;
}
#romanticRibbon .lastBtn a {
  width: 42%;
  border-radius: 60px;
}
#romanticRibbon .lastBtn a img {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
#romanticRibbon .lastBtn a:hover img {
  transform: scale(0.95);
  filter: brightness(0.95);
}
#romanticRibbon .lastBtn a:active img {
  transform: scale(0.91);
  filter: brightness(0.9);
}

}
/*///// 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(0px);
  }
}
.at-anmt2.animated{
  animation: mainshow2 .8s ease-in-out .5s forwards;
}
@keyframes mainshow2{
  40%{
    opacity: 0;
    transform: translateY(100px);
  }
  100%{
    opacity: 1;
    transform: translateY(0px);
  }
}
.anmt.animated, .anmt.animated > div{
  animation: boxshow .5s ease-in-out 0s forwards;
}
@keyframes boxshow{
  0%{
    opacity: 0;
    transform: translateY(70px);
  }
  100%{
    opacity: 1;
    transform: translateY(0px);
  }
}