/* 日清ラ王 ラの民グッズが当たるキャンペーン LP
   基準：Figma「LP_640（html移植）」（幅640px）
   幅に依存する値は --w（=min(100vw,640px)）比で可変、本文系は固定px */

:root{
  --w: min(100vw, 640px);
  --red: #B30106;
  --red-deep: #8E1016;
  --red-link: #A8121A;
  --wine: #450609;
  --wine-light: #5A070C;
  --gold: #E8CE7A;
  --gold-line: #C9A227;
  --gold-text: #3A2603;
  --cream: #FDF4E3;
  --cream-bg: #FDFAF3;
  --cream-line: #E6DFCF;
  --ink: #1B1614;
  --paper: #FAF8F3;
  --gold-grad: linear-gradient(123deg, #E0AA3E 16%, #F9F295 52%, #E0AA3E 81%, #B88A44 116%);
  --gold-text-grad: linear-gradient(180deg, #FFF6D6 0%, #F3D98A 40%, #D6A93C 64%, #F7E4A6 100%);
  --font-gothic: 'Zen Kaku Gothic New', sans-serif;
  --font-mincho: 'Shippori Mincho B1', serif;
  --font-num: 'Noto Sans JP', 'Zen Kaku Gothic New', sans-serif;
}

*{box-sizing:border-box}
html{overflow-x:hidden}
body{margin:0;background:#000;font-family:var(--font-gothic);color:var(--ink);-webkit-text-size-adjust:100%;overflow-x:hidden}
a{color:var(--red-link)}
img{max-width:100%;display:block}
p{margin:0}
h1,h2,h3,h4{margin:0;font-weight:inherit}
figure{margin:0;padding:0;}

.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.lp{width:100%;max-width:640px;margin:0 auto;padding-top: 50px;background:#fff;overflow-x:hidden;}
@media (min-width: 768px) {
  .lp{padding-top: 60px}
}

html,
body {
  scroll-behavior: auto !important;
}

/* 背景 */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background: url("../assets/bg_body.jpg") no-repeat center top / cover;
  opacity: 0.7;
}
@media screen and (max-width: 640px) {
  body::before {
    content: none;
  }
}

/* pc sp display */
@media (min-width: 1200px) {
  .w-md-max {display: none;}
  .w-md-min {display: block;}
}
@media (max-width: 1200px) {
  .w-md-max {display: block;}
  .w-md-min {display: none;}
}

@media (max-width: 767px) {
    .rao-navi[aria-hidden=false] {
        padding: 45px calc(45vw - 150px) 120px;
    }
}


/* 共通：画像ブロック */
.media{position:relative;overflow:hidden}
.media img{width:100%;height:100%;object-fit:cover}

/* 共通：セクション見出し */
.sec-head{text-align:center}
.sec-head__en{font:700 20px/1 var(--font-gothic);letter-spacing:6px;padding-left:6px;color:var(--gold)}
.sec-head__ja{margin-top:28px;font:800 40px/1.06 var(--font-mincho);letter-spacing:1.36px;background:var(--gold-text-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.sec-head__bar{width:34px;height:2px;background:var(--gold-line);margin:17px auto 0}
.sec-head--dark .sec-head__en{color:var(--red-link)}
.sec-head--dark .sec-head__ja{background:none;color:var(--ink)}

/* 光のテクスチャ（背景固定） */
#campaign,#products,#movie{position:relative;isolation:isolate;clip-path:inset(0)}
#campaign>*:not(.fx-sparkle),#products>*:not(.fx-sparkle),#movie>*:not(.fx-sparkle){position:relative;z-index:1}
.fx-sparkle{position:fixed;inset:0;z-index:0;pointer-events:none;background:url(../assets/tex-sparkle.png) 120px 300px/560px 560px repeat}

/* ===== KV ===== */
.kv{aspect-ratio:1280/1804;background:var(--red)}

/* ===== キャンペーン ===== */
.campaign{background:var(--wine);background-image:radial-gradient(120% 75% at 50% 0%,rgba(168,18,26,.55) 0%,rgba(69,6,9,0) 70%)}
.campaign__inner{padding:0 20px}
.title{position:relative;margin:0 -20px;padding:calc(var(--w) * 0.055) 0 calc(var(--w) * 0.05);background:url(../assets/tex-velvet2.jpg) center/cover no-repeat #5A070C;display:flex;flex-direction:column;align-items:center;text-align:center}
.title__shade{position:absolute;inset:0;background:radial-gradient(70% 80% at 50% 45%,rgba(69,6,9,.25),rgba(69,6,9,.78) 100%)}
.title__line{position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,rgba(232,206,122,0),var(--gold) 30%,#FFF6D6 50%,var(--gold) 70%,rgba(232,206,122,0))}
.title__en{position:relative;font:900 20px/1 var(--font-gothic);letter-spacing:6px;padding-left:6px;color:var(--gold)}
.title__lead{position:relative;display:flex;align-items:center;gap:calc(var(--w) * 0.03);margin-top:calc(var(--w) * 0.075);font:700 calc(var(--w) * 0.051)/1 var(--font-mincho);letter-spacing:.08em;color:#FFF6D6}
.title__lead::before,.title__lead::after{content:"";display:block;width:2px;height:1.1em;background:#FFF6D6}
.title__lead::before{transform:rotate(-33deg)}
.title__lead::after{transform:rotate(33deg)}
.title__sub{position:relative;margin-top:calc(var(--w) * 0.045);font:800 calc(var(--w) * 0.057)/1.2 var(--font-mincho);letter-spacing:0;color:#FFF6D6;white-space:nowrap}
.title__main{position:relative;padding-right:.05em;margin-top:calc(var(--w) * 0.012);white-space:nowrap;font:900 calc(var(--w) * 0.088)/1.15 var(--font-mincho);letter-spacing:-.05em;background:linear-gradient(180deg,#FFF6D6 0%,#E8CE7A 45%,#C9A227 70%,#F4E3A8 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
/* Trim bracket side bearings; center the resulting heading on desktop and mobile. */
.title__bracket{display:inline-block;background:inherit;-webkit-background-clip:text;background-clip:text;color:transparent}
.title__bracket--open{margin-left:-.5em}
.title__bracket--close{margin-right:-.5em}
.title .orn{position:relative;margin-top:calc(var(--w) * 0.04)}
.title__board{position:relative;display:block;width:100%;height:auto;margin-top:calc(var(--w) * 0.04)}
.title__note{position:relative;display:block;align-self:flex-end;margin:8px 0 calc(var(--w) * 0.055);text-align:right;font:500 16px/1.6 var(--font-gothic);color:#FDF4E3}
.title::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,rgba(232,206,122,0),var(--gold) 30%,#FFF6D6 50%,var(--gold) 70%,rgba(232,206,122,0))}

.orn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}
.orn span:nth-child(1){width:56px;height:1px;background:linear-gradient(90deg,rgba(232,206,122,0),var(--gold))}
.orn span:nth-child(2){width:6px;height:6px;background:var(--gold);transform:rotate(45deg)}
.orn span:nth-child(3){width:56px;height:1px;background:linear-gradient(90deg,var(--gold),rgba(232,206,122,0))}
.nav{background: var(--red);margin-bottom: -1px;padding:calc(var(--w) * 0.055) 0 calc(var(--w) * 0.1);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(var(--w) * 0.025);padding-left:calc(var(--w) * 0.04);padding-right:calc(var(--w) * 0.04)}
@media screen and (min-width: 1200px) {
  .nav {
    display: none;
  }
}
.nav__btn{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:6px;min-height:calc(var(--w) * 0.14);padding:0 8px;border-radius:999px;border:1px solid var(--gold);background:var(--gold-grad);color:var(--gold-text);text-decoration:none;text-align:center;font:900 calc(var(--w) * 0.04375)/1 var(--font-gothic);letter-spacing:1px;white-space:nowrap}
.nav__btn::after{content:"";width:0;height:0;border-left:calc(var(--w) * 0.0086) solid transparent;border-right:calc(var(--w) * 0.0086) solid transparent;border-top:calc(var(--w) * 0.0117) solid var(--gold-text);margin-top:2px}

.info{margin-top:calc(var(--w) * 0.04);position:relative;display:flex;flex-direction:column;gap:calc(var(--w) * 0.04)}
.info__card{position:relative;background:#fff;border-radius:15px;min-height:calc(var(--w) * 0.195);padding:18px 16px 22px;display:flex;flex-direction:column;align-items:center;gap:calc(var(--w) * 0.02)}
.info__label{display:inline-flex;justify-content:center;align-items:center;width:calc(var(--w) * 0.5375);height:29px;border-radius:999px;background:var(--red);color:#fff;font:900 16px/1 var(--font-gothic);letter-spacing:.768px}
.info__value{font:900 calc(var(--w) * 0.0469)/1.33 var(--font-num);color:var(--red-deep);text-align:center;white-space:nowrap}

.info__card--cond{min-height:calc(var(--w) * 0.339);gap:calc(var(--w) * 0.028)}
.info__box{display:inline-flex;align-items:center;justify-content:center;min-width:calc(var(--w) * 0.436);height:calc(var(--w) * 0.094);padding:0 20px;border:3px solid var(--red-deep);border-radius:10px;font:900 calc(var(--w) * 0.0469)/1 var(--font-num);color:var(--red-deep);white-space:nowrap}
.period{margin-top:calc(var(--w) * 0.04);border:2px solid var(--gold);border-radius:14px;overflow:hidden;background:var(--red-deep)}
.period__row{display:grid;grid-template-columns:calc(var(--w) * 0.24) minmax(0,1fr)}
.period__row + .period__row{border-top:2px solid var(--gold)}
.period__label{display:grid;place-items:center;text-align:center;padding:14px 2px;font:900 16px/1.3 var(--font-gothic);color:var(--gold)}
.period__value{background:#fff;min-height:calc(var(--w) * 0.186);padding:14px 12px 14px 16px;display:flex;align-items:center}
.period__value span{display:inline-block;text-align:left;font:900 calc(var(--w) * 0.046)/1.55 var(--font-num);color:var(--red-deep);white-space:nowrap}

/* ===== 賞品 ===== */
.prizes{padding-top:calc(var(--w) * 0.14)}
.prizes .sec-head{padding:0 24px}
.prize{margin-top:47px}
.prize + .prize{margin-top:46px}
.prize__img{background:#5C080D}
.prize__img--a{aspect-ratio:640/455}
.prize__img--b{aspect-ratio:640/345}
.prize__note{position:absolute;right:3%;bottom:5%;font:700 16px/1 var(--font-gothic);color:#fff;text-shadow:0 0 2px rgba(0,0,0,.4)}
.prize__meta{display:flex;flex-direction:column;align-items:flex-end;gap:0;margin:5px 16px 0}
.prize__meta .prize__size{margin:0;white-space:nowrap;text-align:right}
.prize__size--l{color:#fff}
.prize__size{margin:5px 16px 0;text-align:right;font:500 16px/1.9 var(--font-gothic);color:#E9DCC8}

.prize-c{margin-top:51px;background:var(--cream);border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);padding:0 0 calc(var(--w) * 0.044)}
.prize-c__band{aspect-ratio:1605/283;background:#fff}
.prize-c__logos{margin:20px 36px 0;display:grid;grid-template-columns:1.5fr .8fr 1.1fr;gap:8px}
.prize-c__logo{background:#fff;border:1px solid var(--cream-line);border-radius:6px;height:58px;padding:10px;overflow:hidden}
.prize-c__logo img{width:100%;height:100%;object-fit:contain}
.prize-c__logo--edy{padding:6px}
.prize-c__lead{margin:18px 36px 0;font:900 16px/1.7 var(--font-gothic);color:var(--ink)}
.prize-c__notes{margin:10px 36px 0;border:1px solid var(--cream-line);padding:10px 8px;display:flex;flex-direction:column;gap:8px;font:500 16px/1.8 var(--font-gothic);color:var(--ink)}

/* ===== 応募フロー ===== */
.flow{background:#fff;padding-bottom:68px}
.flow__hero{aspect-ratio:640/890;background:#B8212B}
.flow__hero img{object-position:50% 100%}
.flow__head{position:absolute;left:0;right:0;bottom:0;padding:0 24px 24px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.flow__en{font:700 20px/1 var(--font-gothic);letter-spacing:6px;padding-left:6px;color:#FFF3C9;text-shadow:0 1px 3px rgba(90,0,6,.6)}
.flow__ja{font:800 calc(var(--w) * 0.115)/1.1 var(--font-mincho);letter-spacing:.02em;background:linear-gradient(100deg,rgba(255,255,255,0) 40%,rgba(255,255,255,.95) 50%,rgba(255,255,255,0) 60%),var(--gold-text-grad);background-size:250% 100%,100% 100%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent;animation:glintText 8s ease-in-out infinite;filter:drop-shadow(0 2px 6px rgba(70,0,4,.55))}

.steps{margin:30px 14px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.step{border:1px solid #EADFC6;border-radius:8px;background:var(--cream-bg);display:flex;flex-direction:column}
.step__num{border-radius:7px 7px 0 0;background:var(--gold-grad);color:var(--gold-text);text-align:center;height:28px;display:grid;place-items:center;font:900 14px/1 var(--font-gothic);letter-spacing:.28px}
.step__icon{padding:4px 6px 0}
.step__icon svg{display:block;width:100%;height:auto}
.step__text{padding:4px 2px 13px;text-align:center;font:900 15px/1.4 var(--font-gothic);letter-spacing:-.3px;color:var(--ink)}
.flow__notes{margin:27px 17px 0;display:flex;flex-direction:column;gap:0;font:500 16px/1.9 var(--font-gothic);color:var(--ink)}

/* ===== 対象商品 ===== */
.products{background:var(--wine);background-image:radial-gradient(120% 60% at 50% 0%,rgba(168,18,26,.55) 0%,rgba(69,6,9,0) 70%);border-top:1px solid rgba(201,162,39,.45);padding:53px 22px 50px}
.products__title{margin-top:26px;text-align:center;font:800 1px/1 var(--font-mincho);background:linear-gradient(100deg,rgba(255,255,255,0) 40%,rgba(255,255,255,.95) 50%,rgba(255,255,255,0) 60%),var(--gold-text-grad);background-size:250% 100%,100% 100%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent;animation:glintText 8s ease-in-out infinite}
.products__title span{display:block}
.products__title .l1{font-size:calc(var(--w) * 0.095);line-height:1.3;letter-spacing:1.216px}
.products__title .l2{font-size:calc(var(--w) * 0.06);line-height:1.3;letter-spacing:.02em}
.cards{margin-top:30px;display:grid;grid-template-columns:minmax(0,1fr);gap:30px}
.card{background:var(--cream-bg);border-radius:16px;padding:24px 24px 28px;display:flex;flex-direction:column;align-items:center;text-align:center}
.card__img{width:100%;aspect-ratio:1096/2269;border-radius:12px;overflow:hidden;background:#B8212B}
.card__name{margin:40px 0;font:700 calc(var(--w) * 0.05625)/1.09 var(--font-gothic);color:var(--ink);white-space:nowrap}
.card__btns{margin-top:auto;width:100%;display:flex;flex-direction:column;gap:12px}
.btn{display:flex;align-items:center;justify-content:center;min-height:calc(var(--w) * 0.1156);border-radius:999px;border:2px solid var(--red-link);background:#fff;color:var(--red-link);text-decoration:none;text-align:center;font:700 calc(var(--w) * 0.0406)/1 var(--font-gothic)}
.btn--fill{background:var(--red-link);color:var(--cream)}
.products__notes{margin:22px 2px 0;display:flex;flex-direction:column;gap:6px;font:500 16px/1.9 var(--font-gothic);color:#E9DCC8}

/* ===== 応募規約 ===== */
.terms{background:var(--paper);padding:52px 24px 62px}
.terms__box{margin-top:36px;height:440px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#fff;border:1px solid var(--cream-line);border-radius:8px;padding:21px 17px 24px}
.terms__title{margin-bottom:16px;font:900 16px/1.6 var(--font-gothic);color:var(--ink)}
.terms__box h4{margin:22px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--cream-line);font:900 16px/1.5 var(--font-gothic);color:var(--red-link)}
.terms__title + h4{margin-top:0}
.terms__box p{margin-bottom:6px;font:500 16px/1.9 var(--font-gothic);color:var(--ink)}

/* ===== WEB動画 ===== */
.movie{background:#6E0B11;padding:52px 24px 88px}
.movies{margin-top:22px;display:flex;flex-direction:column;gap:22px}
.movie-item__head{display:flex;align-items:baseline;gap:10px}
.movie-item__num{font:800 30px/.9 var(--font-mincho);color:var(--gold-line)}
.movie-item__title{font:700 16px/1.3 var(--font-gothic);color:#F6EFDD;padding-bottom:2px}
.movie-item__dur{margin-left:8px;font:700 12px/1 var(--font-gothic);color:var(--gold-line);border:1px solid var(--gold-line);border-radius:999px;padding:3px 8px;vertical-align:2px;white-space:nowrap}
.movie-item:last-child .movie-item__title{white-space:nowrap}
.movie-item:last-child .movie-item__dur{margin-left:4px}
.movie-item__thumb{position:relative;display:block;margin-top:10px;aspect-ratio:16/9;background:#000;overflow:hidden;text-decoration:none}
.movie-item__thumbnail{display:block;width:100%;height:100%;object-fit:cover}
.movie-item__thumb::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.2);pointer-events:none}
.movie-item__play{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);width:clamp(48px,14%,100px);height:auto;pointer-events:none}
.movie-item__thumb:focus-visible{outline:3px solid var(--gold);outline-offset:4px}

/* ===== TOPへ戻る／フッター ===== */
.totop{background:var(--cream-bg);padding:27px 20px 80px;display:flex;justify-content:center}
.totop__btn{display:inline-flex;align-items:center;gap:16px;min-height:calc(var(--w) * 0.1375);padding:0 calc(var(--w) * 0.075);border:2px solid var(--red-link);border-radius:999px;background:#fff;color:var(--red-link);text-decoration:none;font:700 calc(var(--w) * 0.0406)/1 var(--font-gothic);letter-spacing:.08em}
.totop__btn::before{content:"";display:inline-block;width:12px;height:12px;border-left:3px solid var(--red-link);border-top:3px solid var(--red-link);transform:translateY(3px) rotate(45deg)}
.footer{aspect-ratio:640/1087;background:#EDE8DE}

/* ===== 追従CTA ===== */
.cta-bar{position:fixed;left:0;right:0;bottom:0;z-index:100;display:flex;justify-content:center;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));pointer-events:none;transform:translateY(120%);transition:transform .28s ease}
.cta-bar.is-visible{transform:none}
.cta{position:relative;overflow:hidden;pointer-events:auto;width:100%;max-width:600px;text-align:center;padding:18px 0;border-radius:999px;text-decoration:none;box-shadow:0 6px 20px rgba(0,0,0,.3);background:var(--gold-grad);color:var(--gold-text);font:900 24px/1.2 var(--font-gothic);letter-spacing:.04em;-webkit-text-stroke:.4px currentColor}
.cta.is-pending{box-sizing:border-box;padding:5px 24px;background:#8c8276;color:#fff;box-shadow:none;pointer-events:none;font-size:22px;font-weight:700;letter-spacing:.01em;-webkit-text-stroke:0}
.cta-bar .topbtn {
  position:relative;
  overflow:hidden;
  pointer-events:auto;
  width:100%;
  max-width:600px;
  text-align:center;
  padding:18px 0;
  border-radius:999px;
  text-decoration:none;
  box-shadow:0 6px 20px rgba(0,0,0,.3);
  border: 2px solid var(--red-link);
  background: #fff;
  color: var(--red-link);
  text-decoration: none;
  font: 700 calc(var(--w) * 0.0406) / 1 var(--font-gothic);
  letter-spacing: .08em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.cta-bar .topbtn::before{
  content:"";
  display:inline-block;
  width:12px;
  height:12px;
  border-left:3px solid var(--red-link);
  border-top:3px solid var(--red-link);
  transform:translateY(6px) rotate(45deg);
}


/* ===== きらめき ===== */
@keyframes glintText{0%,62%{background-position:220% 0,0 0}88%,100%{background-position:-120% 0,0 0}}
@keyframes glintSweep{0%,62%{transform:translateX(-160%) skewX(-20deg)}88%,100%{transform:translateX(260%) skewX(-20deg)}}
.glint::after{content:"";position:absolute;top:-20%;bottom:-20%;left:0;width:45%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.85) 50%,rgba(255,255,255,0));transform:translateX(-160%) skewX(-20deg);animation:glintSweep 8s ease-in-out infinite;pointer-events:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important}}

.nav__btn::before{content:"";position:absolute;top:-20%;bottom:-20%;left:0;width:45%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.85) 50%,rgba(255,255,255,0));transform:translateX(-160%) skewX(-20deg);animation:glintSweep 8s ease-in-out infinite;pointer-events:none}
.nav__btn:nth-child(2)::before{animation-delay:.5s}
.nav__btn:nth-child(3)::before{animation-delay:1s}
.nav__btn:nth-child(4)::before{animation-delay:1.5s}


/* ===== PC menu ===== */
@media screen and (max-width: 1200px) {
  .aside-menu {
    display: none;
  }
}
.aside-menu {
  --aside-menu-cut: 16px;
  --aside-menu-line: 2px;
  filter: drop-shadow(0 0 15px rgba(204, 204, 204, 0.7));
  width: calc(((100vw - 640px) / 2) - 7vw);
  max-width: 400px;
  position: fixed;
  top: 50%;
  left: calc(53.5vw + 320px);
  transform: translateY(-50%);
}
.aside-menu__border {
  padding: var(--aside-menu-line);
  background: var(--gold);

  clip-path: polygon(
    var(--aside-menu-cut) 0,
    calc(100% - var(--aside-menu-cut)) 0,
    100% var(--aside-menu-cut),
    100% calc(100% - var(--aside-menu-cut)),
    calc(100% - var(--aside-menu-cut)) 100%,
    var(--aside-menu-cut) 100%,
    0 calc(100% - var(--aside-menu-cut)),
    0 var(--aside-menu-cut)
  );
}
.aside-menu__inner {
  --aside-menu-inner-cut: calc(var(--aside-menu-cut) - var(--aside-menu-line) * 0.586);

  background: var(--paper);

  clip-path: polygon(
    var(--aside-menu-inner-cut) 0,
    calc(100% - var(--aside-menu-inner-cut)) 0,
    100% var(--aside-menu-inner-cut),
    100% calc(100% - var(--aside-menu-inner-cut)),
    calc(100% - var(--aside-menu-inner-cut)) 100%,
    var(--aside-menu-inner-cut) 100%,
    0 calc(100% - var(--aside-menu-inner-cut)),
    0 var(--aside-menu-inner-cut)
  );
}
.aside-menu__head {
  background: var(--red-deep);
  border-bottom: var(--aside-menu-line) solid var(--gold);
  padding: 20px;
  width: 100%;
  height: 75px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.aside-menu__head .head-title {
  display: block;
  width: 65%;
  min-width: 115px;
  max-width: 152px;
  margin: 0 auto;
}
.aside-menu__content {
  padding: 35px clamp(15px, 1.5vw, 40px);
}
.aside-menu__nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.aside-menu__nav-list li {
  border-bottom: 1px solid var(--red-deep);
}
.aside-menu__nav-list li + li {
  margin-top: 1em;
}
.aside-menu__nav-list li a {
  text-decoration: none;
  padding: 0.5em;
  color: var(--red-deep);
  font-size: 20px;
  font-size: min(1.2vw, 20px);
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.3;
  display: block;
  position: relative;
  &::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 0.65em;
    height: 0.4em;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    background: var(--red-deep);
  }
}
.aside-menu__cta {
  margin-top: 45px;
}
.aside-menu__cta a {
  display: block;
  font-size: min(1.25vw, 24px);
  font-weight: 900;
  font-family: var(--font-gothic);
  box-shadow: none;
  padding: 1em 0.5em;
}

.h1803_footer_sp {
  max-width: 640px;
  margin: 0 auto;
}
.h1803_footer_sp .h1803_footer_inner {
  padding-top: 78px;
  padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))
}
.h1803_footer_sp .h1803_footer_bs_list_img img {
  margin: auto;
}
/* Match the global navigation font to the main site. */
.rao-header .rao-navi {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Full prize details replacing the campaign summary image. */
.campaign-prize-details{margin:0 -20px}
.campaign-prize-details > .prize:first-child{margin-top:calc(var(--w) * 0.04)}

/* SCREENSHOT TEMP START: remove this block to restore normal behavior. */

/*.rao-header{position:absolute !important;top:0;left:0}
/*#ctaBar{display:none !important}

/* SCREENSHOT TEMP END */

/* Ingredient notes above the product detail buttons. */
.card__ingredient-note{width:100%;box-sizing:border-box;margin:6px 0 14px;text-align:left;font:500 16px/1.7 var(--font-gothic);color:dimgray;overflow-wrap:anywhere}
@media (max-width:767px){
  .card__ingredient-detail{display:block}
}

/* SVG character follows the surrounding heading font size. */
.title__main .title__ra{display:inline-block;width:0.9em;height:auto;max-width:none;aspect-ratio:129.71 / 118.59;vertical-align:-0.04em;object-fit:contain}

/* Reuse the Ra SVG silhouette in the subtitle's text color. */
.title__sub .title__sub-ra{display:inline-block;width:0.9em;height:0.8228356em;vertical-align:-0.04em;background-color:currentColor;-webkit-mask:url('../assets/ra-no-tami-ra.svg') center / contain no-repeat;mask:url('../assets/ra-no-tami-ra.svg') center / contain no-repeat;mask-mode:alpha}

/* Original campaign goods label, matching the heading typography. */
.title__original{position:relative;display:block;margin-top:calc(var(--w) * 0.025);font:800 calc(var(--w) * 0.054)/1.2 var(--font-mincho);text-align:center;white-space:nowrap;background:linear-gradient(180deg,#FFF6D6 0%,#E8CE7A 45%,#C9A227 70%,#F4E3A8 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Preserve thumbnail layout when applying the shared image protection. */
.movie-item__thumb.protected-photo{margin-top:10px}
.movie-item__thumb .movie-item__thumbnail.protected-photo__image{height:100%}
