@charset "utf-8";
#right-visible{
  margin-top: -80px;
  padding-bottom: 80px;
}

/* アンカーボタンアニメ */
@keyframes float {
  to {
    transform: translate(var(--x), var(--y));
    opacity: 0;
  }
}
@keyframes floatSpin {
  to {
    transform: translate(var(--x), var(--y)) rotate(120deg);
    opacity: 0;
  }
}
@keyframes sparkle {
  0% { transform: scale(0.5); opacity: 1; }
  100% { transform: scale(2); opacity: 0; }
}
@keyframes ripple {
  to {
    transform: scale(3);
    opacity: 0;
  }
}

/* フローティングナビアニメ */
@keyframes trail {
  to {
    transform: translate(var(--x), var(--y));
    opacity: 0;
  }
}
@keyframes sparkle2 {
  0% {
    transform: scale(0.5) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(1.5) rotate(45deg);
    opacity: 0;
  }
}

/*
 ecm-floating-navi-container
====================================== */
.ecm-floating-navi-container[data-layout="frozen"]{
  background-color: #cae9f6;
}
.ecm-floating-navi-container[data-layout="frozen"][data-static=false]{
  top: 50px;
}
.ecm-floating-navi-container[data-layout="frozen"] .ecm-floating-navi{
  padding: 12px 0;
  width: 960px;
  margin: 0 auto;
  gap:20px;
}
.ecm-floating-navi-container[data-layout="frozen"] .ecm-floating-navi-item{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 40px;
  font-size: 16px;
  font-weight: 700;
  padding: 0;
  border:none!important;
  color: #0c677b!important;
  position: relative;
  z-index:1;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  transition: transform 0.12s ease;
}
.ecm-floating-navi-container[data-layout="frozen"] .ecm-floating-navi-item::before{
  content: '';
  top: 0;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  inset:0;
  z-index:-1;
  --cut:6px;
  background-color: #fff;
  -webkit-mask:
    radial-gradient(circle at top left,
      transparent var(--cut),
      #000 calc(var(--cut) + 1px)
    ) top left,
    radial-gradient(circle at top right,
      transparent var(--cut),
      #000 calc(var(--cut) + 1px)
    ) top right,
    radial-gradient(circle at bottom left,
      transparent var(--cut),
      #000 calc(var(--cut) + 1px)
    ) bottom left,
    radial-gradient(circle at bottom right,
      transparent var(--cut),
      #000 calc(var(--cut) + 1px)
    ) bottom right;
  -webkit-mask-size:50.5% 50.5%;
  -webkit-mask-repeat:no-repeat;
  mask:
    radial-gradient(circle at top left,
      transparent var(--cut),
      #000 calc(var(--cut) + 1px)
    ) top left,
    radial-gradient(circle at top right,
      transparent var(--cut),
      #000 calc(var(--cut) + 1px)
    ) top right,
    radial-gradient(circle at bottom left,
      transparent var(--cut),
      #000 calc(var(--cut) + 1px)
    ) bottom left,
    radial-gradient(circle at bottom right,
      transparent var(--cut),
      #000 calc(var(--cut) + 1px)
    ) bottom right;
  mask-size:50.5% 50.5%;
  mask-repeat:no-repeat;
  top: 0!important;
  left: 0!important;
}
.ecm-floating-navi-container[data-layout="frozen"] .ecm-floating-navi-item::after{
  content: '';
  top: 1px;
  left: 1px;
  position: absolute;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  inset:0;
  z-index:-1;
  --cut:6px;
  -webkit-mask:
    radial-gradient(circle at top left,
      transparent var(--cut),
      #000 calc(var(--cut) + 1px)
    ) top left,
    radial-gradient(circle at top right,
      transparent var(--cut),
      #000 calc(var(--cut) + 1px)
    ) top right,
    radial-gradient(circle at bottom left,
      transparent var(--cut),
      #000 calc(var(--cut) + 1px)
    ) bottom left,
    radial-gradient(circle at bottom right,
      transparent var(--cut),
      #000 calc(var(--cut) + 1px)
    ) bottom right;
  -webkit-mask-size:50.5% 50.5%;
  -webkit-mask-repeat:no-repeat;
  mask:
    radial-gradient(circle at top left,
      transparent var(--cut),
      #000 calc(var(--cut) + 1px)
    ) top left,
    radial-gradient(circle at top right,
      transparent var(--cut),
      #000 calc(var(--cut) + 1px)
    ) top right,
    radial-gradient(circle at bottom left,
      transparent var(--cut),
      #000 calc(var(--cut) + 1px)
    ) bottom left,
    radial-gradient(circle at bottom right,
      transparent var(--cut),
      #000 calc(var(--cut) + 1px)
    ) bottom right;
  mask-size:50.5% 50.5%;
  mask-repeat:no-repeat;
  top: 1px!important;
  left: 1px!important;
}
.ecm-floating-navi-container[data-layout="frozen"] .ecm-floating-navi-item:nth-child(1)::after{
  background: linear-gradient(90deg,rgba(203, 196, 255, 1) 0%, rgba(204, 202, 255, 1) 50%, rgba(203, 196, 255, 1) 100%);
}
.ecm-floating-navi-container[data-layout="frozen"] .ecm-floating-navi-item:nth-child(2)::after{
  background: linear-gradient(90deg,rgba(191, 215, 247, 1) 0%, rgba(198, 212, 250, 1) 50%, rgba(191, 215, 247, 1) 100%);
}
.ecm-floating-navi-container[data-layout="frozen"] .ecm-floating-navi-item:nth-child(3)::after{
  background: linear-gradient(90deg,rgba(220, 207, 221, 1) 0%, rgba(211, 206, 237, 1) 50%, rgba(220, 207, 221, 1) 100%);
}
.ecm-floating-navi-container[data-layout="frozen"] .ecm-floating-navi-item:nth-child(4)::after{
  background: linear-gradient(90deg,rgba(201, 218, 254, 1) 0%, rgba(204, 213, 255, 1) 50%, rgba(201, 218, 254, 1) 100%);
}

.ecm-floating-navi-container[data-layout="frozen"] .ecm-floating-navi-item.ecm-floating-navi-item-anchor[data-in-viewport=true]{
  border:none!important;
}
.ecm-floating-navi-container[data-layout="frozen"] .ecm-floating-navi-item.ecm-floating-navi-item-anchor[data-in-viewport=true]:nth-child(1)::after,
.ecm-floating-navi-container[data-layout="frozen"] .ecm-floating-navi-item.ecm-floating-navi-item-anchor:nth-child(1):hover::after{
  background: #c4a1ff!important;
}
.ecm-floating-navi-container[data-layout="frozen"] .ecm-floating-navi-item.ecm-floating-navi-item-anchor[data-in-viewport=true]:nth-child(2)::after,
.ecm-floating-navi-container[data-layout="frozen"] .ecm-floating-navi-item.ecm-floating-navi-item-anchor:nth-child(2):hover::after{
  background: #47c7f1!important;
}
.ecm-floating-navi-container[data-layout="frozen"] .ecm-floating-navi-item.ecm-floating-navi-item-anchor[data-in-viewport=true]:nth-child(3)::after,
.ecm-floating-navi-container[data-layout="frozen"] .ecm-floating-navi-item.ecm-floating-navi-item-anchor:nth-child(3):hover::after{
  background: #ffc887!important;
}
.ecm-floating-navi-container[data-layout="frozen"] .ecm-floating-navi-item.ecm-floating-navi-item-anchor[data-in-viewport=true]:nth-child(4)::after,
.ecm-floating-navi-container[data-layout="frozen"] .ecm-floating-navi-item.ecm-floating-navi-item-anchor:nth-child(4):hover::after{
  background: #b3e5fc!important;
}

/* キラ */
.ecm-floating-navi-container[data-layout="frozen"] .ecm-floating-navi-item .spark {
  position: absolute;
  width: 8px;
  height: 8px;
  background: white;
  transform: rotate(45deg);
  clip-path: polygon(
    50% 0%,
    60% 40%,
    100% 50%,
    60% 60%,
    50% 100%,
    40% 60%,
    0% 50%,
    40% 40%
  );
  pointer-events: none;
  animation: sparkle2 0.5s ease-out forwards;
}

/* 粒 */
.ecm-floating-navi-container[data-layout="frozen"] .particle {
  position: absolute;
  width: 4px;
  height: 4px;
  background: white;
  border-radius: 50%;
  pointer-events: none;
  animation: trail 0.6s ease-out forwards;
}

/*
 anchor-area
====================================== */
.anchor-area{
  padding-top: 76px;
  height: 731px;
  background: url(https://r.r10s.jp/evt/event/disney/character/frozen/_pc/img/20260612/anchor_area_bg.png) no-repeat center top;
}
.anchor-area__title{
  font-size: 36px;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  filter:drop-shadow(0 0 12px #fff);
  text-shadow :8px 8px 12px #fff,
  -8px 8px 12px #fff,
  8px -8px 12px #fff,
  -8px -8px 12px #fff;
  margin-bottom: 36px;
}
.anchor-area__titleCatch{
  display: block;
  font-size: 24px;
  margin-bottom: 16px;
}
.anchor-area__titleColor{
  color: #0c677b;
}
.anchor__wrap{
  margin:0 auto 20px;
  display: flex;
  flex-wrap:wrap;
  width: 686px;
  gap:26px;
}
.anchor__wrap > .coupon__anchorLink{
  position: relative;
  display: inline-block;
  text-decoration: none;
  width: 330px;
  height: 228px;
  filter:drop-shadow(0 0 10px rgba(0,0,0,.4));
  transform:translateY(0px);
  transition: all 0.3s;
}
.anchor__wrap > .coupon__anchorLink:hover{
  transform:translateY(-4px);
  filter:drop-shadow(0 0 10px rgba(0,0,0,.7));
}
.anchor__wrap > .coupon__anchorLink::before{
  content: '';
  position: absolute;
  width: 330px;
  height: 228px;
  border-radius: 40px;
  border:solid 4px rgba(255,255,255,0)!important;
  top: 0;
  left: 0;
}
.anchor__wrap > .coupon__anchorLink:hover::before{
  border:solid 4px rgba(255,255,255,.4)!important;
}
.anchor__wrap > .coupon__anchorLink:nth-child(1) .coupon__anchorLinkImg{
  content: '';
  width: 366px;
  height: 228px;
  position: absolute;
  top: 0;
  left: -18px;
}
.anchor__wrap > .coupon__anchorLink:nth-child(2) .coupon__anchorLinkImg{
  content: '';
  width: 352px;
  height: 228px;
  position: absolute;
  top: 0;
  left: -13px;
}
.anchor__wrap > .coupon__anchorLink::after{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.25s ease;
}
.anchor__wrap > .coupon__anchorLink:hover::after{
  opacity: 1;
  background: radial-gradient(
    ellipse at bottom,
    rgba(255,255,255,.12),
    rgba(255,255,255,.08) 30%,
    transparent 70%
  );
}


/* 粒子 */
.coupon__anchorLink .particle,
.coupon__anchorLink .sparkle,
.coupon__anchorLink .snowflake,
.coupon__anchorLink .ripple {
  position: absolute;
  pointer-events: none;
}

/* 白粒（ベース） */
.coupon__anchorLink .particle {
  width: 24px;
  height: 24px;
  background: white;
  border-radius: 50%;
  opacity: 0.7;
  animation: float 0.7s ease-out forwards;
}

/* キラ */
.coupon__anchorLink .sparkle {
  width: 40px;
  height: 40px;
  background: radial-gradient(white, transparent);
  animation: sparkle 0.6s ease-out forwards;
}

/* 雪結晶 */
.coupon__anchorLink .snowflake {
  width: 48px;
  height: 48px;
  background: rgba(255,255,255,0.8);
  clip-path: polygon(
    50% 0%, 60% 40%, 100% 50%, 60% 60%, 
    50% 100%, 40% 60%, 0% 50%, 40% 40%
  );
  animation: floatSpin 0.9s ease-out forwards;
}

/* 光リング（やや青寄り） */
.coupon__anchorLink .ripple {
  border-radius: 50%;
  border: 8px solid rgba(200, 230, 255, 0.7);
  width: 80px;
  height: 80px;
  animation: ripple 0.7s ease-out forwards;
}

.anchor__notice{
  font-size: 14px;
  line-height: 1.75;
  letter-spacing: 0.01em;
  text-align: center;
}

/*
 disney-article-default
====================================== */
.disney-article-default{
  position: relative;
  width: 100%;
  overflow-x:hidden;
}
.disney-article-default[data-layout="contents01"],
.disney-article-default[data-layout="contents02"]{
  padding-top: 120px;
}
.disney-article-default[data-layout="contents01"]{
  padding-bottom: 80px;
}
#anc02{margin-bottom: 120px;}
.disney-article-default[data-layout="contents02"]{
  padding-bottom: 0;
}
.disney-article-default[data-layout="contents03"],
.disney-article-default[data-layout="contents04"],
.disney-article-default[data-layout="contents05"],
.disney-article-default[data-layout="contents06"]{
  padding-top: 72px;
  padding-bottom: 80px;
}
.disney-article-default[data-layout="contents01"]::before{
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url(https://r.r10s.jp/evt/event/disney/character/frozen/_pc/img/20260612/coupon01_area_bg.png) center top no-repeat;
  z-index:-2;
}
.disney-article-default[data-layout="contents02"]::before{
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url(https://r.r10s.jp/evt/event/disney/character/frozen/_pc/img/20260612/coupon02_area_bg.png) center top no-repeat;
  z-index:-2;
}
.disney-article-default[data-layout="contents03"]::before{
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: linear-gradient(-20deg,rgba(207, 234, 248, 1) 0%, rgba(196, 161, 255, 1) 100%);
  z-index:-2;
}
.disney-article-default[data-layout="contents04"]::before{
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: linear-gradient(-15deg,rgba(207, 234, 248, 1) 0%, rgba(142, 224, 224, 1) 100%);
  z-index:-2;
}
.disney-article-default[data-layout="contents05"]::before{
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: linear-gradient(-15deg,rgba(207, 234, 248, 1) 0%, rgba(255, 200, 135, 1) 100%);
  z-index:-2;
}
.disney-article-default[data-layout="contents06"]::before{
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: linear-gradient(-19deg,rgba(207, 234, 248, 1) 0%, rgba(179, 229, 252, 1) 100%);
  z-index:-2;
}
.snowfreak{
  position: absolute;
  z-index:-1;
  top: -21px;
  left: 50%;
  mix-blend-mode: screen;
  opacity: 0;
  transition: all 1s;
}
.disney-article-default[data-layout="contents03"] .snowfreak,
.disney-article-default[data-layout="contents05"] .snowfreak{
  width: 1096px;
  margin-left: -548px;
  transform: translateX(-50px);
}
.disney-article-default[data-layout="contents04"] .snowfreak,
.disney-article-default[data-layout="contents06"] .snowfreak{
  width: 1077px;
  margin-left: -538.5px;
  transform: translateX(50px);
}
.js-scroll-anime.is-animated.snowfreak{
  opacity: 1;
  transform: translate(0);
}
.category__description{
  width: 600px;
  margin-right: auto;
  margin-left: auto;
  font-size: 16px;
  text-align: center;
  color: #444;
  line-height: 1.7;
  padding: 16px;
  background-color: rgba(255,255,255,.7);
  border-radius: 16px;
}

/*
 coupon-shop
====================================== */
[data-layout="contents01"] .coupon-shop__logo{
  width: 481px;
  margin: 0 auto 22px;
}
[data-layout="contents02"] .coupon-shop__logo{
  width: 480px;
  margin: 0 auto 18px;
}
.coupon-shop__name{
  font-size: 22px;
  text-align: center;
  margin-bottom: 20px;
}
.coupon-shop__description{
  font-size: 16px;
  text-align: center;
  line-height: 1.75;
}
[data-layout="coupon"] .ecm-coupon{
  width: 400px;
  margin-right: auto;
  margin-left: auto;
}
.ecm-coupon-link {
  padding-top: 0;
  position: relative;
  overflow:hidden;
}
.cnt-coupon-body__ffc857::before {
  background-image: radial-gradient(circle at center left, transparent 0px, transparent 10px, #ffc857 11px), radial-gradient(circle at center right, transparent 0px, transparent 10px, #ffc857 11px);
}
.cnt-coupon-body__ffc857 .ecm-coupon-link::before {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: radial-gradient(circle at center left, transparent 0, transparent 11px, #ffffff 12px), radial-gradient(circle at center right, transparent 0, transparent 11px, #ffffff 12px);
}
.cnt-coupon-body__ff3b7a::before {
  background-image: radial-gradient(circle at center left, transparent 0px, transparent 10px, #ff3b7a 11px), radial-gradient(circle at center right, transparent 0px, transparent 10px, #ff3b7a 11px);
}
.cnt-coupon-body__ff3b7a .ecm-coupon-link::before {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: radial-gradient(circle at center left, transparent 0, transparent 11px, #ffffff 12px), radial-gradient(circle at center right, transparent 0, transparent 11px, #ffffff 12px);
}
.cnt-coupon-body__ffc857 .ecm-coupon-discount {
  color: #ffc857 !important;
  font-size: 48px !important;
  margin-bottom: 12px!important;
}
.cnt-coupon-body__ffc857 .ecm-coupon-text {
  width: 100%;
  font-size: 22px !important;
  border-color: #ffc857;
  background-color: #ffc857;
  color: #fff !important;
  font-weight: 300 !important;
  padding: 20px 0!important;
}
.cnt-coupon-body__ffc857 .ecm-icon-coupon-filled {
  color: #fff !important;
  font-size: 22px!important;
}
.cnt-coupon-body__ff3b7a .ecm-coupon-discount {
  color: #ff3b7a !important;
  font-size: 48px !important;
  margin-bottom: 12px!important;}
.cnt-coupon-body__ff3b7a .ecm-coupon-text {
  width: 100%;
  font-size: 22px !important;
  border-color: #ff3b7a;
  background-color: #ff3b7a;
  color: #fff !important;
  font-weight: 300 !important;
  padding: 20px 0!important;
}
.ecm-coupon-discount > em{font-size: 96px!important;}
.cnt-coupon-body__ff3b7a .ecm-icon-coupon-filled {
  color: #fff !important;
}
.coupon__notice {
  font-size: 14px;
  text-align: center;
  line-height: 1.5;
}
.coupon__period {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin: 40px 0 0;
  line-height: 1.5;
}
.coupon__anchorlink{
  font-size: 16px;
  text-align: center;
  line-height: 1.5;
}
.coupon__anchorlink > a{
  color: #0783c2 !important;
}
.coupon__anchorlink > a:hover{
  text-decoration:underline!important;
}
.coupon_item_ttl{
  font-size: 40px;
  color:#333333;
  font-weight: bold;
  text-align: center;
  margin-bottom: 32px;
  margin-top: 52px;
}
.page-notice{
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  margin-top: 44px;
}


/*
 disneyConTtl
======================================= */
.disneyConTtl.con-headline{
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  color: #3c3654;
  filter:drop-shadow(0 0 10px #fff);
  text-shadow :4px 4px 10px #fff,
  -4px 4px 10px #fff,
  4px -4px 10px #fff,
  -4px -4px 10px #fff;
  margin-bottom: 98px;
}

/*
 heading_sub
======================================= */
.heading_sub{
  width: 583px;
  height: 97px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 32px;
  background: url(https://r.r10s.jp/evt/event/disney/character/frozen/_pc/img/20260612/h3_bg.png) no-repeat;
  background-size: 100% auto;
  font-size: 28px;
  font-weight: bold;
  text-align: center;
}

/*
 disney-contents-button
======================================= */
.disney-article-default[data-layout="contents01"] .disney-contents-button{
  background-color: #ffc857;
}
.disney-article-default[data-layout="contents02"] .disney-contents-button{
  background-color: #ff4d6d;
}
.disney-article-default[data-layout="contents03"] .disney-contents-button{
  background-color: #6f59a8;
}
.disney-article-default[data-layout="contents04"] .disney-contents-button{
  background-color: #4a9e9e;
}
.disney-article-default[data-layout="contents05"] .disney-contents-button{
  background-color: #c98538;
}
.disney-article-default[data-layout="contents06"] .disney-contents-button{
  background-color: #5d97b5;
}

@media screen and (min-width: 768px) {
  .frozen-more-btn .disney-contents-button::after{
    right: 24px !important;
  }
}


/*
 floating__rightButton
====================================== */
.floating__rightButton{
  position: relative;
  width: 325px;
  height: 154px;
  padding: 0;
  background: inherit!important;
  border-radius: 0!important;
  cursor:pointer;
  outline: none!important;
  filter:drop-shadow(0 0 4px rgba(0,0,0,.4));
  transform:translateY(0px);
  transition: all 0.3s;
  overflow:hidden;
}
[aria-hidden="true"] .floating__rightButton{
  transition:none!important;
}
.floating__rightButton:hover{
  filter:drop-shadow(0 0 4px rgba(0,0,0,.7));
  transform:translateY(-4px);
}
.floating__rightButton::before{
  content: '';
  position: absolute;
  inset: 0;
  border:solid 2px #fff!important;
  border-right:none!important;
  width: 325px;
  height: 148px;
  top:6px;
  left:0;
}
.floating__rightButton:hover::before,
.floating__rightButton[data-in-viewport="true"]::before{
  background-color: rgba(255,255,255,.1);
}
.floating__rightButton._coupon01[data-in-viewport="true"]::after{
  content: '';
  position: absolute;
  inset:0;
  width: 325px;
  height: 148px;
  top: 6px;
  left: 0;
  border-style:solid!important;
  border-width:4px!important;
  border-image: conic-gradient(rgba(255, 255, 255, 1), rgba(255, 200, 87, 1), rgba(255, 200, 87, 1), rgba(255, 255, 255, 1), rgba(255, 200, 87, 1), rgba(255, 200, 87, 1), rgba(255, 255, 255, 1), rgba(255, 200, 87, 1), rgba(255, 200, 87, 1),rgba(255, 255, 255, 1), rgba(255, 200, 87, 1), rgba(255, 200, 87, 1), rgba(255, 255, 255, 1)) 1!important;
  border-color:rgba(255,255,255,0)!Important;
  border-right:none!important;
  opacity:0;
  animation: coupon_border 1.2s forwards;
}
.floating__rightButton._coupon02[data-in-viewport="true"]::after{
  content: '';
  position: absolute;
  inset:0;
  width: 325px;
  height: 148px;
  top: 6px;
  left: 0;
  border-style:solid!important;
  border-width:4px!important;
  border-image: conic-gradient(rgba(255, 255, 255, 1), rgba(255, 77, 109, 1), rgba(255, 77, 109, 1), rgba(255, 255, 255, 1), rgba(255, 77, 109, 1), rgba(255, 77, 109, 1), rgba(255, 255, 255, 1), rgba(255, 77, 109, 1), rgba(255, 77, 109, 1),rgba(255, 255, 255, 1), rgba(255, 77, 109, 1), rgba(255, 77, 109, 1), rgba(255, 255, 255, 1)) 1!important;
  border-color:rgba(255,255,255,0)!Important;
  border-right:none!important;
  opacity:0;
  animation: coupon_border 1.2s forwards;
}


/* ライン共通 */
.floating__rightButton .line {
  position: absolute;
}

/* 3辺 */
.floating__rightButton .line.top {
  height: 4px;
  width: 325px;
  top: 6px;
  left: 0;
  clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
}
.floating__rightButton .line.left {
  width: 4px;
  height: 148px;
  top: 6px;
  left: 0;
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}
.floating__rightButton .line.bottom {
  height: 4px;
  width: 325px;
  bottom: 0;
  left: 0;
  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}

.floating__rightButton._coupon01 .line.top{
  background: linear-gradient(90deg,rgba(255, 200, 87, 1) 0%, rgba(255, 200, 87, 1) 38%, rgba(255, 255, 255, 1) 50%, rgba(255, 200, 87, 1) 62%, rgba(255, 200, 87, 1) 100%);
}
.floating__rightButton._coupon01 .line.bottom{
  background: linear-gradient(90deg,rgba(255, 200, 87, 1) 0%, rgba(255, 200, 87, 1) 38%, rgba(255, 255, 255, 1) 50%, rgba(255, 200, 87, 1) 62%, rgba(255, 200, 87, 1) 100%);
}
.floating__rightButton._coupon01 .line.left{
  background: linear-gradient(0deg,rgba(255, 200, 87, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 200, 87, 1) 100%);
}
.floating__rightButton._coupon02 .line.top{
  background: linear-gradient(90deg,rgba(255, 77, 109, 1) 0%, rgba(255, 77, 109, 1) 38%, rgba(255, 255, 255, 1) 50%, rgba(255, 77, 109, 1) 61%, rgba(255, 77, 109, 1) 100%);
}
.floating__rightButton._coupon02 .line.bottom{
  background: linear-gradient(90deg,rgba(255, 77, 109, 1) 0%, rgba(255, 77, 109, 1) 38%, rgba(255, 255, 255, 1) 50%, rgba(255, 77, 109, 1) 61%, rgba(255, 77, 109, 1) 100%);
}
.floating__rightButton._coupon02 .line.left{
  background: linear-gradient(0deg,rgba(255, 77, 109, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 77, 109, 1) 100%);
}

/* アニメ */
.floating__rightButton.active .line.top {
  animation: growRtoL 1.2s forwards;
}

.floating__rightButton.active .line.left {
  animation: growTtoB 1.2s forwards;
}

.floating__rightButton.active .line.bottom {
  animation: growLtoR 1.2s forwards;
}

@keyframes growRtoL {
  0% {clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);}
  10% {clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);}
  100% {clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);}
}
@keyframes growTtoB {
  0% {clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);}
  10% {clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);}
  20% {clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);}
  100% {clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);}
}
@keyframes growLtoR {
  0% {clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%); }
  20% {clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);}
  30% {clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);}
  100% {clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);}
}
@keyframes coupon_border {
  0% {
    opacity:0;
  }
  20% {
    opacity:0;
  }
  25% {
    opacity:1;
  }
  100% {
    opacity:1;
  }
}


/* ===== KV高さ調整（PC）===== */
@media screen and (min-width: 768px) {
  .ecm-kanban-image {
    width: 100% !important;
    height: 540px;
    object-fit: cover;
    margin-left: 0 !important;
    transform: none !important;
    display: block;
  }
}