/* Hallmark · genre: modern-minimal · theme: studied-DNA (source: six supplied landing-page references) · macrostructure: Six-panel reference composite · design-system: design.md · nav: N1b · footer: Ft1 · contrast: pass (40–41) · mobile: pass (34,49–57) · honest: pass (46) · chrome: pass (47) · icons: pass (30) · pre-emit critique: P5 H5 E5 S5 R5 V5 */
/* ============================================================
   RISE Lending — site.css (LP / 公開ページ)
   Mobile-first. Breakpoints: 768px (tablet), 1024px (desktop).
   ============================================================ */

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.site-header-inner{
  max-width:var(--lp-max);
  margin:0 auto;
  height:var(--header-h);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 16px;
}
.brand{display:flex;align-items:baseline;gap:8px;white-space:nowrap}
.brand-name{font-size:1.8rem;font-weight:700;letter-spacing:.02em;color:var(--primary-deep);white-space:nowrap}
.gnav{display:none}
.header-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.header-login{display:none;font-size:var(--fs-sm);font-weight:500;color:var(--ink2);padding:8px 10px;white-space:nowrap}
.header-cta{padding:9px 16px;font-size:var(--fs-sm);white-space:nowrap}
.menu-btn{
  display:flex;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:44px;padding:10px;
}
.menu-btn span{display:block;height:2px;background:var(--ink);border-radius:2px;transition:.2s}
.menu-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn.open span:nth-child(2){opacity:0}
.menu-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Mobile sheet menu */
.sheet-menu{
  position:fixed;inset:var(--header-h) 0 0 0;
  background:#fff;z-index:99;
  padding:24px 20px;
  display:none;
  overflow-y:auto;
}
.sheet-menu.open{display:block}
.sheet-menu a{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 4px;
  border-bottom:1px solid var(--line);
  font-weight:500;font-size:var(--fs-md);
}
.sheet-menu a::after{content:"›";color:var(--primary);font-weight:700}
.sheet-menu .btn{margin-top:22px}
.sheet-menu .btn.btn-block{
  justify-content:center;
  padding-left:24px;padding-right:24px;
  border-bottom:0;
}
.sheet-menu .btn.btn-block::after{position:absolute;right:24px}
.sheet-menu .btn.btn-block.sheet-login{margin-top:22px;border:1.5px solid var(--primary)}
.sheet-menu .sheet-login + .btn{margin-top:10px}

/* Notice bar */
.notice-bar{
  display:block;
  background:var(--primary-soft);
  color:var(--primary-deep);
  font-size:var(--fs-xs);
  font-weight:500;
  padding:9px 16px;
  text-align:center;
  letter-spacing:.03em;
}
.notice-bar strong{margin-left:6px;text-decoration:underline;text-underline-offset:3px}

/* ---------- Hero ---------- */
.hero{
  background:
    radial-gradient(circle at 78% 14%,rgba(250,194,205,.52),transparent 30%),
    radial-gradient(circle at 8% 88%,rgba(49,208,201,.24),transparent 36%),
    linear-gradient(135deg,#1D2126 0%,#383F49 46%,#F6839A 100%);
  color:#fff;
  overflow:hidden;
  position:relative;
}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 90%);
  animation:heroGrid 16s linear infinite;
}
.hero::after{ /* ghost text */
  content:"RISE Lending";
  position:absolute;left:0;right:0;bottom:-6px;
  font-size:clamp(6rem,14vw,15rem);
  font-weight:700;letter-spacing:.02em;
  color:rgba(255,255,255,.07);
  white-space:nowrap;
  pointer-events:none;
  line-height:1;
}
.hero-inner{
  max-width:var(--lp-max);
  margin:0 auto;
  padding:48px 20px 64px;
  position:relative;z-index:2;
}
.hero-motion{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.hero-glow{position:absolute;border-radius:50%;filter:blur(2px);will-change:transform,opacity}
.hero-glow.g1{width:340px;height:340px;right:-90px;top:-120px;background:radial-gradient(circle,rgba(112,225,255,.34),rgba(248,167,183,.08) 58%,transparent 72%);animation:glowDrift 10s ease-in-out infinite}
.hero-glow.g2{width:260px;height:260px;left:-100px;bottom:-70px;background:radial-gradient(circle,rgba(74,255,198,.22),rgba(43,196,224,.05) 62%,transparent 74%);animation:glowDrift 13s ease-in-out -4s infinite reverse}
.hero-orbit{position:absolute;border:1px solid rgba(251,200,210,.18);border-radius:50%;will-change:transform}
.hero-orbit::after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:#8EF5D4;box-shadow:0 0 18px rgba(142,245,212,.9)}
.hero-orbit.o1{width:520px;height:220px;right:-120px;top:80px;transform:rotate(-18deg);animation:orbitDrift 18s ease-in-out infinite}
.hero-orbit.o1::after{left:18%;top:3%}
.hero-orbit.o2{width:420px;height:170px;left:-180px;bottom:70px;transform:rotate(22deg);animation:orbitDriftReverse 22s ease-in-out infinite}
.hero-orbit.o2::after{right:12%;bottom:10%}
.hero-kicker{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 12px;border:1px solid rgba(255,255,255,.32);border-radius:999px;
  background:rgba(255,255,255,.09);backdrop-filter:blur(8px);
  font-size:1.2rem;font-weight:500;letter-spacing:.05em;margin-bottom:14px;
}
.hero-kicker span{width:7px;height:7px;border-radius:50%;background:#6AF0C0;box-shadow:0 0 0 5px rgba(106,240,192,.14)}
.hero-copy h1{
  font-size:clamp(3.0rem,7.5vw,4.6rem);
  font-weight:700;
  line-height:1.4;
  letter-spacing:.04em;
}
.hero-sub{
  margin-top:14px;
  font-size:clamp(1.4rem,3.4vw,1.7rem);
  font-weight:500;
  opacity:.95;
}
.hero-rate{
  margin-top:26px;
  display:flex;align-items:flex-end;gap:10px;
  line-height:1;
}
.hero-rate .lead{font-size:var(--fs-lg);font-weight:700;padding-bottom:10px}
.hero-rate .value{
  font-size:clamp(6.4rem,16vw,9.6rem);
  font-weight:700;
  color:var(--accent);
  letter-spacing:-.01em;
  text-shadow:0 4px 24px rgba(0,0,0,.10);
}
.hero-rate .unit{font-size:clamp(2.6rem,6vw,4rem);font-weight:700;color:var(--accent);padding-bottom:6px}
.hero-badges{
  margin-top:22px;
  display:flex;flex-wrap:wrap;gap:8px;
}
.hero-badges span{
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.45);
  border-radius:999px;
  font-size:var(--fs-xs);
  font-weight:500;
  padding:7px 14px;
  letter-spacing:.03em;
}
.hero-cta{margin-top:28px;display:flex;flex-direction:column;gap:12px}
.hero-cta .sub-link{
  color:#fff;font-size:var(--fs-sm);font-weight:500;
  text-decoration:underline;text-underline-offset:4px;
  text-align:center;opacity:.9;
}
.hero-proof{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  margin-top:28px;border:1px solid rgba(255,255,255,.2);border-radius:14px;
  background:rgba(255,255,255,.12);backdrop-filter:blur(10px);overflow:hidden;
}
.hero-proof div{padding:11px 6px;text-align:center;background:rgba(24,27,31,.12)}
.hero-proof strong{display:block;font-size:1.35rem;line-height:1.35;color:#fff}
.hero-proof span{display:block;font-size:1rem;opacity:.72;margin-top:2px}

/* Hero phone mockup */
.hero-visual{display:none}
.phone{
  width:270px;
  border-radius:38px;
  background:#1A1D22;
  padding:10px;
  box-shadow:var(--shadow-lg);
}
.phone-screen{
  border-radius:30px;
  background:#F5F6F8;
  overflow:hidden;
  font-size:1.2rem;
}
.phone-appbar{height:38px;padding:0 11px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:#fff;border-bottom:1px solid var(--line)}
.phone-appbar strong{text-align:center;font-size:1.2rem}
.phone-appbar i{justify-self:end;width:18px;height:18px;border:1.5px solid var(--primary);border-radius:50%;display:grid;place-items:center;color:var(--primary);font-size:.9rem;font-weight:700;font-style:normal}
.phone-body{padding:10px 10px 14px;display:flex;flex-direction:column;gap:9px}
.phone-user{display:flex;justify-content:space-between;align-items:flex-end;padding:0 2px;color:var(--ink)}
.phone-user strong{font-size:1.2rem}
.phone-user small{font-size:.72rem;color:var(--ink3)}
.phone-balance{background:var(--primary-grad);color:#fff;border-radius:13px;padding:12px 12px 10px;box-shadow:0 7px 16px rgba(241,74,108,.18)}
.phone-balance > span{display:block;font-size:.85rem;opacity:.82}
.phone-balance > strong{display:block;font-size:1.85rem;letter-spacing:.01em;line-height:1.25}
.phone-balance > em{display:inline-block;font-style:normal;font-size:.75rem;margin-top:6px;color:#C5FFDC}
.phone-balance-split{display:grid;grid-template-columns:1fr 1fr;margin-top:9px;padding-top:8px;border-top:1px solid rgba(255,255,255,.22)}
.phone-balance-split > span{font-size:.68rem;opacity:.85}
.phone-balance-split > span + span{padding-left:9px;border-left:1px solid rgba(255,255,255,.22)}
.phone-balance-split strong{display:block;margin-top:2px;font-size:.88rem;color:#fff}
.phone-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.phone-actions div{display:grid;justify-items:center;gap:5px;padding:9px 3px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink2);box-shadow:0 3px 8px rgba(41,46,53,.05)}
.phone-actions i{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:var(--primary-soft);color:var(--primary);font-size:1.3rem;font-weight:700;font-style:normal}
.phone-actions span{font-size:.72rem;font-weight:700}
.phone-banner{position:relative;overflow:hidden;background:linear-gradient(120deg,#1A1D22,#F33758);color:#fff;border-radius:11px;padding:9px 10px}
.phone-banner::after{content:"+50%";position:absolute;right:-5px;bottom:-8px;font-size:2.6rem;font-weight:800;color:rgba(255,255,255,.1)}
.phone-banner small,.phone-banner strong,.phone-banner span{position:relative;z-index:1;display:block}
.phone-banner small{font-size:.64rem;letter-spacing:.1em;color:#A6F7CE}
.phone-banner strong{font-size:.9rem;margin-top:2px}
.phone-banner span{font-size:.74rem;margin-top:2px;opacity:.86}

/* ---------- Entrance / scroll animations ---------- */
@keyframes fadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes heroGrid{from{background-position:0 0,0 0}to{background-position:32px 32px,32px 32px}}
@keyframes glowDrift{0%,100%{transform:translate3d(0,0,0) scale(1);opacity:.72}50%{transform:translate3d(-34px,26px,0) scale(1.14);opacity:1}}
@keyframes orbitDrift{0%,100%{transform:rotate(-18deg) translate3d(0,0,0)}50%{transform:rotate(-10deg) translate3d(-28px,18px,0)}}
@keyframes orbitDriftReverse{0%,100%{transform:rotate(22deg) translate3d(0,0,0)}50%{transform:rotate(14deg) translate3d(34px,-16px,0)}}
@keyframes phoneHover{0%,100%{transform:translateY(0) rotate(.001deg)}50%{transform:translateY(-10px) rotate(.001deg)}}
.hero-copy > *{animation:fadeUp .7s cubic-bezier(.22,.8,.35,1) both}
.hero-copy > *:nth-child(1){animation-delay:.05s}
.hero-copy > *:nth-child(2){animation-delay:.15s}
.hero-copy > *:nth-child(3){animation-delay:.25s}
.hero-copy > *:nth-child(4){animation-delay:.33s}
.hero-copy > *:nth-child(5){animation-delay:.41s}
.hero-copy > *:nth-child(6){animation-delay:.5s}
.hero-visual{animation:fadeUp .8s cubic-bezier(.22,.8,.35,1) .3s both}
.hero-visual .phone{animation:phoneHover 6s ease-in-out 1.2s infinite}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.22,.8,.35,1),transform .7s cubic-bezier(.22,.8,.35,1)}
.reveal.in{opacity:1;transform:none}
.hero-coins{position:absolute;inset:0;pointer-events:none;z-index:0}
.hero-coin{
  position:absolute;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  box-shadow:0 10px 26px rgba(26,29,34,.22);
  animation:floatY 5.2s ease-in-out infinite;
  overflow:hidden;
}
.hero-coin img{width:68%;height:68%;object-fit:contain}
.hero-coin.c1{width:52px;height:52px;top:12%;left:4%;animation-delay:.2s}
.hero-coin.c2{width:38px;height:38px;top:56%;left:9%;animation-delay:1.4s}
.hero-coin.c3{width:44px;height:44px;top:26%;right:5%;animation-delay:.8s}
.hero-coin.c4{width:34px;height:34px;top:68%;right:10%;animation-delay:2s}
@media (max-width:767px){
  .hero-inner{padding-top:38px}
  .hero-coin{opacity:.55;filter:saturate(.9)}
  .hero-coin.c1{width:34px;height:34px;top:7%;left:auto;right:8%}
  .hero-coin.c2{display:none}
  .hero-coin.c3{width:30px;height:30px;top:45%;right:4%}
  .hero-coin.c4{display:none}
  .hero-visual{display:block;width:230px;margin:32px auto -20px;transform:perspective(700px) rotateX(3deg)}
  .phone{width:230px;border-radius:32px;padding:8px;box-shadow:0 26px 55px rgba(22,25,29,.35)}
  .phone-screen{border-radius:25px}
  .phone-body{padding-bottom:14px}
  .hero::after{bottom:-2px}
  .hero-orbit.o1{width:330px;height:150px;right:-170px;top:150px}
  .hero-orbit.o2{width:300px;height:130px;left:-210px;bottom:210px}
  .hero-glow.g1{width:250px;height:250px;right:-120px;top:-70px}
  .hero-glow.g2{width:210px;height:210px;left:-110px;bottom:110px}
}
@media (min-width:1024px){
  .hero-coin.c1{left:53%;top:9%}
  .hero-coin.c2{left:56%;top:72%}
}
@media (prefers-reduced-motion:reduce){
  .hero-copy > *,.hero-visual{animation:none}
  .hero-coin,.hero-visual .phone,.hero::before,.hero-glow,.hero-orbit{animation:none}
  .reveal{opacity:1;transform:none;transition:none}
}

/* card hover (desktop) */
@media (hover:hover) and (pointer:fine){
  .plan-card,.rate-card,.reason-card{transition:transform .25s ease,box-shadow .25s ease}
  .plan-card:hover,.rate-card:hover,.reason-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
}

/* ---------- Sections ---------- */
.section{padding:64px 20px}
.section-inner{max-width:var(--lp-max);margin:0 auto}
.section-mint{background:var(--bg-mint)}
.section-soft{background:var(--bg-soft)}
.section-head{margin-bottom:36px;position:relative}
.section-head .ghost{
  position:absolute;left:50%;top:-14px;transform:translateX(-50%);
  font-size:clamp(4.6rem,10vw,9rem);
  font-weight:700;letter-spacing:.04em;
  color:var(--primary);opacity:.05;
  white-space:nowrap;pointer-events:none;line-height:1;
  z-index:0;
}

/* ---------- About (とは) ---------- */
.about-diagram{
  background:#fff;border:1px solid var(--line);border-radius:24px;
  box-shadow:0 18px 48px rgba(40,45,53,.1);padding:18px;
}
.explain-summary{
  padding:20px 18px;border-radius:18px;text-align:center;
  background:linear-gradient(135deg,#FEF0F3,#E6F8F4);border:1px solid #E3E6EA;
}
.explain-summary span{display:inline-block;padding:5px 10px;border-radius:999px;background:#fff;color:var(--primary);font-size:1rem;font-weight:700}
.explain-summary strong{display:block;margin-top:9px;font-size:clamp(1.8rem,5vw,2.5rem);line-height:1.5}
.explain-flow{display:grid;grid-template-columns:1fr;gap:8px;margin-top:14px}
.explain-step{
  position:relative;text-align:center;padding:18px 15px;border:1px solid var(--line);
  border-radius:18px;background:var(--bg-soft);min-width:0;
}
.explain-step.is-operator{background:#F5F6F8;border-color:#FBCAD4}
.explain-step.is-return{background:#EAF9F5;border-color:#C5EBE1}
.explain-no{
  position:absolute;left:12px;top:12px;width:26px;height:26px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;font-size:1.2rem;font-weight:700;
}
.explain-icon{
  width:54px;height:54px;margin:0 auto 9px;border-radius:16px;display:flex;align-items:center;justify-content:center;
  background:#fff;color:var(--primary-deep);box-shadow:0 6px 16px rgba(52,59,68,.1);
}
.explain-icon svg{width:28px;height:28px}
.explain-step h3{font-size:1.2rem;color:var(--primary);font-weight:700}
.explain-step > strong{display:block;margin-top:3px;font-size:1.6rem;line-height:1.45}
.explain-step p{margin-top:4px;font-size:1.2rem;color:var(--ink2)}
.explain-allocation{display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;margin-top:8px}
.explain-allocation span{padding:5px 8px;border-radius:8px;background:#fff;border:1px solid var(--line);font-size:1rem;font-weight:700;color:var(--ink2)}
.explain-allocation i{font-style:normal;color:var(--primary);font-weight:700}
.explain-arrow{height:24px;display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:2.2rem;font-weight:700}
.explain-arrow span{display:block;transform:rotate(90deg)}
.explain-contract{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:14px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.explain-contract div{background:#fff;padding:11px 5px;text-align:center}
.explain-contract span{display:block;font-size:.95rem;color:var(--ink3)}
.explain-contract strong{display:block;margin-top:2px;font-size:1.2rem;line-height:1.4}
.about-points{
  margin-top:28px;
  display:grid;grid-template-columns:1fr;gap:14px;
}
.point-card{
  background:#fff;border-radius:var(--r);border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
  padding:22px 20px;
}
.point-card .no{
  font-size:var(--fs-xs);font-weight:700;color:var(--primary);
  letter-spacing:.12em;
}
.point-card h3{font-size:var(--fs-lg);font-weight:700;margin:6px 0 8px;line-height:1.5}
.point-card p{font-size:var(--fs-sm);color:var(--ink2)}

/* ---------- Plans ---------- */
.plans{display:grid;grid-template-columns:1fr;gap:18px}
.plan-card{
  background:#fff;
  border-radius:var(--r-lg);
  border:1.5px solid var(--line);
  box-shadow:var(--shadow-sm);
  position:relative;
}
.plan-card.recommended{border-color:var(--accent)}
.plan-head{
  padding:16px 20px;
  border-radius:calc(var(--r-lg) - 2px) calc(var(--r-lg) - 2px) 0 0;
  background:var(--bg-mint);
  font-weight:700;font-size:var(--fs-lg);
  text-align:center;letter-spacing:.04em;
}
.plan-card.recommended .plan-head{background:#FFF6D8}
.plan-badge{
  position:absolute;top:-10px;right:14px;
  background:var(--danger);color:#fff;
  font-size:var(--fs-xs);font-weight:700;
  border-radius:999px;padding:6px 14px;
  box-shadow:var(--shadow-sm);
}
.plan-body{padding:24px 20px 26px;text-align:center}
.plan-rate{line-height:1;color:var(--ink)}
.plan-rate .v{font-size:5.6rem;font-weight:700;letter-spacing:-.02em}
.plan-rate .u{font-size:2.2rem;font-weight:700;margin-left:.3em}
.plan-rate-label{font-size:var(--fs-xs);color:var(--ink3);margin-top:8px}
.plan-lock{
  margin-top:16px;
  display:inline-flex;align-items:center;gap:6px;
  background:var(--bg-soft);
  border:1px solid var(--line);
  border-radius:999px;
  padding:7px 16px;
  font-size:var(--fs-sm);font-weight:500;color:var(--ink2);
}
.plan-desc{margin-top:14px;font-size:var(--fs-sm);color:var(--ink2)}

.campaign-card{
  background:linear-gradient(135deg,#202429 0%,#2E343C 100%);
  color:#fff;
  border-radius:var(--r-lg);
  box-shadow:var(--shadow);
  padding:28px 22px;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.campaign-card::before{
  content:"CAMPAIGN";
  position:absolute;top:10px;left:0;right:0;
  font-size:1rem;font-weight:700;letter-spacing:.4em;
  color:rgba(255,255,255,.35);
}
.campaign-card h3{font-size:var(--fs-xl);font-weight:700;margin-top:10px}
.campaign-rate{margin-top:8px;line-height:1}
.campaign-rate .v{font-size:6rem;font-weight:700;color:var(--accent)}
.campaign-rate .u{font-size:2.4rem;font-weight:700;color:var(--accent);margin-left:.3em}
.campaign-targets{
  margin-top:16px;
  display:flex;justify-content:center;flex-wrap:wrap;gap:8px;
}
.campaign-targets > span{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;padding:6px 12px;
  font-size:var(--fs-xs);font-weight:700;
}
.campaign-targets .coin-ic{width:18px;height:18px}
.campaign-note{margin-top:14px;font-size:var(--fs-xs);opacity:.75;line-height:1.7}

/* ---------- Rates (年利表) ---------- */
.rate-table-wrap{display:none}
.rate-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rate-card{
  background:#fff;border-radius:var(--r);border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
  padding:16px 14px;
  text-align:center;
  position:relative;
}
.rate-card-head{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px;min-height:68px}
.rate-card .coin-ic{margin:0}
.rate-card .sym{font-weight:700;font-size:var(--fs-md);margin-top:8px;line-height:1.3}
.rate-card .nm{font-size:var(--fs-xs);color:var(--ink3);line-height:1.4}
.rate-card .apy{margin-top:10px;line-height:1}
.rate-card .apy .v{font-size:3.2rem;font-weight:700;color:var(--ink)}
.rate-card .apy .u{font-size:1.5rem;font-weight:700;color:var(--ink);margin-left:.26em}
.rate-card .apy-label{font-size:var(--fs-xs);color:var(--ink3);margin-top:5px}
.rate-card .bonus-tag{
  background:var(--danger);color:#fff;
  font-size:1.2rem;font-weight:700;
  padding:4px 9px;border-radius:999px;
  white-space:nowrap;
  box-shadow:0 5px 12px rgba(217,58,85,.2);
}
.rate-note{margin-top:18px;font-size:var(--fs-xs);color:var(--ink3);line-height:1.8}

/* desktop table */
.rate-table{
  width:100%;
  border-collapse:separate;border-spacing:0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  font-size:var(--fs-sm);
}
.rate-table th,.rate-table td{
  padding:14px 16px;
  text-align:center;
  border-bottom:1px solid var(--line);
}
.rate-table thead th{
  background:var(--bg-mint);
  font-weight:700;color:var(--ink2);
  font-size:var(--fs-xs);
  letter-spacing:.04em;
}
.rate-table tbody tr:last-child td{border-bottom:none}
.rate-table .coin-cell{display:flex;align-items:center;gap:10px;text-align:left}
.rate-table .coin-cell .sym{font-weight:700}
.rate-table .coin-cell .nm{font-size:var(--fs-xs);color:var(--ink3)}
.rate-table .premium-col{font-weight:700;font-size:var(--fs-md)}
.rate-table .bonus-col{color:var(--danger);font-weight:700}

/* ---------- Simulator ---------- */
.sim-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.sim-grid > *{min-width:0}
.sim-form{
  background:#fff;border-radius:var(--r-lg);border:1px solid var(--line);
  box-shadow:var(--shadow-sm);padding:24px 20px;
}
.sim-result{
  background:#fff;border-radius:var(--r-lg);border:1px solid var(--line);
  box-shadow:var(--shadow-sm);padding:24px 20px;
}
.sim-plan-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sim-plan-toggle button{
  border:1.5px solid var(--line2);
  border-radius:var(--r-sm);
  padding:12px 8px;
  font-size:var(--fs-sm);font-weight:700;
  color:var(--ink2);
  background:#fff;
  transition:.15s;
  line-height:1.4;
}
.sim-plan-toggle button small{display:block;font-size:1.2rem;font-weight:500;color:var(--ink3)}
.sim-plan-toggle button.active{
  border-color:var(--primary);
  background:var(--primary-soft);
  color:var(--primary-deep);
}
.sim-plan-toggle button.active small{color:var(--primary-deep)}
.sim-bonus-note{
  margin-top:8px;
  font-size:var(--fs-xs);color:var(--danger);font-weight:700;
  display:none;
}
.sim-bonus-note.show{display:block}
.sim-coin-select .select{padding-left:58px}
.sim-coin-icon{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);z-index:1;
  width:30px;height:30px;border-radius:50%;overflow:hidden;
  display:flex;align-items:center;justify-content:center;background:#fff;
  box-shadow:0 2px 7px rgba(31,35,40,.12);
}
.sim-coin-icon img{width:100%;height:100%;object-fit:contain}
.sim-amount-control{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:8px;align-items:stretch}
.sim-step{
  border:1.5px solid var(--line2);border-radius:12px;background:#fff;
  color:var(--primary-deep);font-size:2.2rem;font-weight:500;min-height:54px;
  box-shadow:var(--shadow-sm);transition:.15s;
}
.sim-step:active{transform:scale(.95);background:var(--primary-soft)}
.sim-amount-input{position:relative}
.sim-amount-input .input{height:100%;min-height:54px;padding-right:68px;font-size:1.8rem;font-weight:700}
.sim-amount-input span{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:var(--fs-xs);font-weight:700;color:var(--ink3)}
.sim-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}
.sim-presets button{
  border:1px solid var(--line2);border-radius:999px;background:var(--bg-soft);
  padding:8px 4px;font-size:1.2rem;font-weight:500;color:var(--ink2);white-space:nowrap;
}
.sim-presets button:active{background:var(--primary-soft);color:var(--primary-deep)}
.sim-presets button.active{
  border-color:var(--primary);background:var(--primary);color:#fff;font-weight:700;
  box-shadow:0 5px 12px rgba(243,55,88,.18);
}
.sim-input-help{margin-top:8px;font-size:var(--fs-xs);color:var(--ink3)}
.sim-headline{font-size:var(--fs-sm);font-weight:700;color:var(--ink2)}
.sim-value{margin-top:6px;line-height:1.15}
.sim-value .v{font-size:clamp(3.4rem,9vw,4.4rem);font-weight:700;color:var(--primary-deep)}
.sim-value .u{font-size:1.8rem;font-weight:700;color:var(--primary-deep)}
.sim-sub{margin-top:6px;font-size:var(--fs-sm);color:var(--ink2)}
.sim-rows{margin-top:18px;border-top:1px solid var(--line)}
.sim-row{
  display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding:12px 2px;border-bottom:1px solid var(--line);
  font-size:var(--fs-sm);
}
.sim-row .k{color:var(--ink2);flex:0 0 auto;white-space:nowrap}
.sim-row .v{font-weight:700;text-align:right;line-height:1.6}
.sim-chart{min-width:0;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);overflow:hidden}
.sim-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:var(--fs-xs);color:var(--ink2)}
.sim-chart-head > span{font-weight:700;color:var(--ink)}
.sim-chart-head small{font-size:1rem;text-align:right;color:var(--ink3)}
.sim-chart-rule{margin:-2px 0 10px;padding:7px 10px;border-radius:8px;background:#F5F6F8;color:var(--primary-deep);font-size:1rem;font-weight:700;text-align:center}
.sim-chart-compare{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.sim-chart-compare > div{padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--bg-soft);min-width:0}
.sim-chart-compare span{display:flex;align-items:center;gap:6px;font-size:1rem;color:var(--ink2);white-space:nowrap}
.sim-chart-compare span i{width:9px;height:9px;border-radius:50%;background:#F33758;flex:0 0 auto}
.sim-chart-compare .hold span i{background:#828D9C}
.sim-chart-compare strong{display:block;margin-top:4px;font-size:1.25rem;color:var(--primary-deep);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sim-chart-compare .hold strong{color:#586271}
.sim-chart svg{width:100%;height:220px;max-width:100%;display:block;overflow:hidden}
.sim-note{margin-top:14px;font-size:var(--fs-xs);color:var(--ink3);line-height:1.8}

/* ---------- Reasons ---------- */
.reasons{display:grid;grid-template-columns:1fr;gap:16px}
.reason-card{
  display:flex;flex-direction:column;background:#fff;border-radius:20px;border:1px solid var(--line);
  box-shadow:0 12px 32px rgba(41,46,53,.08);padding:20px;
}
.reason-head{display:flex;align-items:center;gap:10px}
.reason-head > span{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;font-size:1.2rem;font-weight:700;flex:0 0 auto}
.reason-head h3{font-size:var(--fs-lg);font-weight:700;line-height:1.4}
.reason-card > p{margin-top:14px;font-size:var(--fs-sm);color:var(--ink2)}
.reason-visual{margin-top:16px;min-height:138px;border-radius:16px;background:var(--bg-soft);border:1px solid var(--line);padding:14px}
.quantity-visual{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:5px;align-items:center}
.quantity-box{padding:10px 6px;border-radius:12px;background:#fff;text-align:center;min-width:0}
.quantity-box span,.quantity-box small{display:block;font-size:.95rem;color:var(--ink3)}
.quantity-box strong{display:block;font-size:2.2rem;line-height:1.3;margin:4px 0;color:#586271}
.quantity-box strong em{font-style:normal;font-size:1.2rem;color:var(--primary);margin-left:2px}
.quantity-box.after{background:#FEF0F3;border:1px solid #FBCCD6}
.quantity-box.after strong{color:var(--primary-deep)}
.quantity-arrow{text-align:center;color:var(--primary);font-size:1.8rem;font-weight:700}
.allocation-visual{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);gap:5px;align-items:stretch}
.allocation-visual > div{display:flex;flex-direction:column;justify-content:center;padding:12px 7px;border-radius:12px;background:#FEF0F3;text-align:center}
.allocation-visual > div:last-child{background:#E8F8F3}
.allocation-visual span{font-size:.95rem;color:var(--ink3)}
.allocation-visual strong{font-size:1.25rem;line-height:1.45;margin-top:5px}
.allocation-visual > i{align-self:center;text-align:center;font-style:normal;font-size:1.8rem;font-weight:700;color:var(--primary)}
.timing-visual{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;align-items:start;padding-top:20px}
.timing-visual::before{content:"";position:absolute;left:17%;right:17%;top:27px;height:2px;background:#C9CFD7}
.timing-visual > div{position:relative;text-align:center;z-index:1}
.timing-visual i{display:block;width:16px;height:16px;border:4px solid #FCDFE5;border-radius:50%;background:var(--primary);margin:0 auto 10px}
.timing-visual span{display:block;font-size:.95rem;color:var(--ink3)}
.timing-visual strong{display:block;margin-top:3px;font-size:1.2rem;line-height:1.4}

/* ---------- Steps ---------- */
.steps{
  display:grid;grid-template-columns:1fr;gap:0;
  counter-reset:step;
}
.step{
  position:relative;
  padding:0 0 28px 56px;
}
.step::before{
  counter-increment:step;
  content:"0" counter(step);
  position:absolute;left:0;top:0;
  width:40px;height:40px;border-radius:50%;
  background:var(--primary);color:#fff;
  font-weight:700;font-size:var(--fs-sm);
  display:flex;align-items:center;justify-content:center;
}
.step:not(:last-child)::after{
  content:"";
  position:absolute;left:19px;top:44px;bottom:4px;
  width:2px;background:var(--line2);
}
.step h3{font-size:var(--fs-lg);font-weight:700;line-height:1.4;padding-top:7px}
.step p{margin-top:6px;font-size:var(--fs-sm);color:var(--ink2)}
.step .chip{margin-top:8px}

/* ---------- FAQ ---------- */
.faq-list{display:flex;flex-direction:column;gap:12px;max-width:820px;margin:0 auto}
.faq-item{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--shadow-sm);
  overflow:hidden;
}
.faq-q{
  width:100%;
  display:flex;align-items:center;gap:12px;
  padding:18px 18px;
  font-weight:500;font-size:var(--fs-sm);
  text-align:left;
  line-height:1.6;
}
.faq-q .qmark{
  flex:0 0 auto;
  width:28px;height:28px;border-radius:50%;
  background:var(--primary-soft);color:var(--primary-deep);
  font-weight:700;
  display:flex;align-items:center;justify-content:center;
}
.faq-q .tgl{
  margin-left:auto;flex:0 0 auto;
  color:var(--primary);font-size:2rem;font-weight:400;
  transition:transform .2s;
  line-height:1;
}
.faq-item.open .tgl{transform:rotate(45deg)}
.faq-a{
  display:none;
  padding:0 18px 18px 58px;
  font-size:var(--fs-sm);color:var(--ink2);
  line-height:1.9;
}
.faq-item.open .faq-a{display:block}

/* ---------- News ---------- */
.news-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column}
.news-item{
  display:flex;flex-direction:column;gap:6px;
  padding:18px 4px;
  border-bottom:1px solid var(--line);
}
.news-item:first-child{border-top:1px solid var(--line)}
.news-meta{display:flex;align-items:center;gap:10px}
.news-date{font-size:var(--fs-xs);color:var(--ink3)}
.news-title{font-size:var(--fs-sm);font-weight:500;line-height:1.7}

/* ---------- CTA band ---------- */
.cta-band{
  background:var(--primary-grad);
  color:#fff;
  text-align:center;
  padding:64px 20px;
}
.cta-band h2{font-size:clamp(2.2rem,5.5vw,3.2rem);font-weight:700;line-height:1.5}
.cta-band p{margin-top:12px;font-size:var(--fs-sm);opacity:.95}
.cta-band .btn{margin-top:26px}
.cta-band .cta-sub{margin-top:14px;font-size:var(--fs-xs);opacity:.85}
.line-support-link{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  margin-top:18px;padding:11px 18px;border-radius:999px;
  background:#06C755;color:#fff;
  font-size:var(--fs-sm);font-weight:700;
  box-shadow:0 8px 22px rgba(6,199,85,.24);
  transition:transform .15s ease,filter .15s ease;
}
.line-support-link:active{transform:scale(.98)}
.line-mark{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:38px;height:24px;padding:0 7px;border-radius:999px;
  background:#fff;color:#06A94A;font-size:1rem;font-weight:900;letter-spacing:.04em;
}

/* ---------- Footer ---------- */
.site-footer{background:#1A1D22;color:#C4C9D1;padding:48px 20px 32px}
.footer-inner{max-width:var(--lp-max);margin:0 auto}
.footer-top{display:flex;flex-direction:column}
.footer-brand .brand-name{color:#fff}
.footer-tag{margin-top:8px;font-size:var(--fs-sm);color:#9DA6B2}
.footer-nav{
  margin-top:28px;
  display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;
}
.footer-nav-col{display:flex;flex-direction:column;align-items:flex-start}
.footer-nav a{
  font-size:var(--fs-sm);
  padding:7px 0;
  display:block;
  transition:color .18s ease,transform .18s ease;
}
.footer-risk{
  margin-top:28px;padding-top:20px;
  border-top:1px solid rgba(255,255,255,.12);
  font-size:1.2rem;line-height:1.9;color:#8993A2;
  text-align:center;
  max-width:920px;
  margin-left:auto;margin-right:auto;
}
.footer-copy{margin-top:20px;font-size:var(--fs-xs);color:#778495;text-align:center}

/* ---------- Auth pages (login/register) ---------- */
.auth-page{
  min-height:100vh;
  background:var(--bg-mint);
  display:flex;flex-direction:column;
}
.auth-main{
  flex:1;
  display:flex;align-items:flex-start;justify-content:center;
  padding:40px 20px 60px;
}
.auth-card{
  width:100%;max-width:440px;
  background:#fff;
  border-radius:var(--r-lg);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  padding:32px 24px;
}
.auth-title{font-size:2.2rem;font-weight:700;text-align:center;line-height:1.35;letter-spacing:.01em}
.auth-lead{margin-top:10px;text-align:center;font-size:var(--fs-md);line-height:1.7;color:var(--ink2)}
.auth-divider{
  display:flex;align-items:center;gap:12px;
  margin:22px 0;
  color:var(--ink3);font-size:var(--fs-sm);
}
.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:var(--line)}
.auth-foot{margin-top:16px;text-align:center;font-size:var(--fs-md);line-height:1.6;color:var(--ink2)}
.auth-foot a{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:0 12px;
  color:var(--color-accent-hover);font-size:var(--fs-md);font-weight:700;text-decoration:underline;text-underline-offset:3px;
}
.auth-consent a{color:var(--color-accent-hover);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.auth-card .input.is-error{border-color:var(--danger);box-shadow:0 0 0 3px rgba(217,72,43,.14)}
.auth-card .otp-inputs.is-error input,.auth-card .otp-single.is-error{border-color:var(--danger)}
.field-error{display:none;font-size:var(--fs-sm);line-height:1.6;color:var(--danger);margin-top:7px;font-weight:500}
.field-error.show{display:block}
/* 認証ページのラベルは 15px/700（入力欄の上） */
.auth-card .field-label{font-size:var(--fs-md);font-weight:700;color:var(--ink);margin-bottom:8px}
.auth-steps{
  display:flex;justify-content:center;gap:0;
  margin:24px 0 8px;
}
.auth-step{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  flex:1 1 0;max-width:110px;width:auto;position:relative;
  font-size:var(--fs-sm);line-height:1.35;text-align:center;color:var(--ink3);font-weight:700;
}
.auth-step .dot{
  width:36px;height:36px;border-radius:50%;
  background:var(--line);color:var(--ink3);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-latin),var(--font);font-size:1.4rem;font-weight:700;position:relative;z-index:1;
}
.auth-step.active{color:var(--primary-deep)}
.auth-step.active .dot{background:var(--primary);color:#fff}
/* 通過済み */
.auth-step.done{color:var(--ink2)}
.auth-step.done .dot{background:var(--success);color:transparent}
.auth-step.done .dot::after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:1.6rem;line-height:1}
.auth-step:not(:first-child)::before{
  content:"";position:absolute;
  top:18px;right:calc(50% + 18px);left:calc(-50% + 18px);
  height:2px;background:var(--line);
}
.auth-step.done + .auth-step::before{background:var(--success)}
.auth-channel{margin:20px 0 4px;padding:14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg-soft);text-align:center}
.auth-channel span{display:block;font-size:var(--fs-sm);color:var(--ink3)}
.auth-channel strong{display:block;margin-top:4px;font-size:var(--fs-md);color:var(--ink);overflow-wrap:anywhere}
.auth-first-field{margin-top:24px}
.auth-steps + .auth-first-field{margin-top:24px}
.referral-input{text-transform:uppercase}
.otp-inputs{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-top:20px}
.otp-inputs input{width:100%;min-width:0;height:54px;border:1.5px solid var(--line2);border-radius:10px;background:#fff;text-align:center;font-family:var(--font-latin),var(--font);font-size:2rem;font-weight:700;color:var(--ink);outline:none}
.otp-inputs input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(243,55,88,.1)}

/* （旧: 420px 以下でステッパーを 10px に縮める指定は撤去。12px 未満は作らない） */

/* ============================================================
   Tablet (>=768px)
   ============================================================ */
@media (min-width:768px){
  .section{padding:88px 32px}
  .about-diagram{padding:24px}
  .explain-summary strong br{display:none}
  .explain-flow{grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr) 48px minmax(0,1fr);align-items:stretch}
  .explain-step{display:flex;flex-direction:column;justify-content:center;min-height:224px;padding:20px 14px}
  .explain-arrow{height:auto}
  .explain-arrow span{transform:none}
  .explain-contract div{padding:13px 8px}
  .about-points{grid-template-columns:repeat(3,1fr)}
  .plans{grid-template-columns:1fr 1fr;align-items:stretch}
  .campaign-full{grid-column:1 / -1}
  .rate-cards{grid-template-columns:repeat(3,1fr)}
  .reasons{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:repeat(3,1fr);gap:28px 20px}
  .step{padding:64px 0 0}
  .step::before{left:0;top:0;width:44px;height:44px}
  .step:not(:last-child)::after{display:none}
  .sim-grid{grid-template-columns:5fr 6fr;align-items:start}
  .sim-chart svg{height:270px}
  .footer-top{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:64px}
  .footer-brand{flex:0 0 300px;padding-top:4px}
  .footer-brand .brand-name{font-size:2.2rem}
  .footer-nav{margin-top:0;grid-template-columns:repeat(2,minmax(190px,auto));justify-content:end;gap:6px 56px}
  .hero-cta{flex-direction:row;align-items:center;gap:20px}
  .hero-proof{max-width:520px}
}

/* ============================================================
   Desktop (>=1024px)
   ============================================================ */
@media (min-width:1024px){
  .menu-btn{display:none}
  .sheet-menu{display:none !important}
  .header-login{display:inline-block}
  .gnav{display:flex;align-items:center;gap:0}
  .gnav a{
    font-size:1.25rem;font-weight:500;color:var(--ink2);
    padding:10px 9px;border-radius:8px;
    white-space:nowrap;
  }
  .gnav a:nth-child(n+5){display:none}
  .header-login{padding:8px 14px}
  .hero-inner{
    display:flex;align-items:center;justify-content:space-between;gap:40px;
    padding:84px 32px 96px;
  }
  .hero-copy{max-width:600px}
  .hero-visual{display:block;flex:0 0 auto}
  .rate-cards{display:none}
  .rate-table-wrap{display:block;overflow-x:auto}
}

@media (min-width:1240px){
  .gnav a{font-size:var(--fs-sm);padding:10px 12px}
  .gnav a:nth-child(n+5){display:inline-block}
}

/* ============================================================
   2026 visual system — public / auth surfaces
   ============================================================ */

.site-header{background:rgba(255,255,255,.97);backdrop-filter:saturate(150%) blur(12px)}
.site-header-inner{height:68px;padding:0 20px}
.site-header a,.sheet-menu a,.footer-nav a{white-space:nowrap}
.brand{align-items:center;gap:9px}
.brand-mark{width:22px;height:28px;flex:0 0 auto}
.brand .bi{width:24px;height:24px;flex:0 0 auto}
.brand .bw{height:12px;width:auto;display:block}
.brand .bs{font-size:1.5rem;font-weight:700;color:var(--primary-deep);letter-spacing:.02em}
.brand-name{font-size:1.55rem;color:var(--primary-deep);letter-spacing:.01em}
.gnav a{border-radius:6px;color:#586271}
.header-login{display:none;border:1px solid var(--line2);border-radius:6px;color:var(--primary-deep);padding:9px 16px}
.header-cta{padding:9px 18px}
.notice-bar{background:var(--color-navy-800);color:#fff;padding:8px 16px;font-size:1.2rem}
.notice-bar strong{color:#FAC2CD;text-decoration:none}
.sheet-menu{top:68px;padding:16px 20px 40px}
.sheet-menu a{min-height:52px;padding:12px 4px;font-weight:500}
.sheet-menu .btn.btn-block{border-radius:6px}
.menu-btn span{border-radius:0;background:var(--primary-deep)}

.hero{position:relative;min-height:620px;background:linear-gradient(135deg,#F6F7F9 0%,#EFF1F3 100%);color:var(--ink);isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(128deg,transparent 0 58%,rgba(255,255,255,.72) 58.1% 72%,transparent 72.1%);opacity:.65;pointer-events:none}
.hero::after{display:none}
.hero-inner{display:grid;gap:40px;max-width:1120px;padding:64px 20px 72px}
.hero-copy{position:relative;z-index:2}
.hero-copy h1{font-size:clamp(3.4rem,10vw,5.8rem);line-height:1.35;letter-spacing:.02em;color:var(--primary-deep)}
.hero-sub{margin-top:20px;color:var(--ink2);font-size:1.45rem;line-height:1.9;font-weight:400}
.hero-rate{margin-top:28px;gap:8px;border-left:1px solid var(--blue-100,#FDDCE3);padding-left:16px}
.hero-rate .lead{padding-bottom:8px;color:var(--primary);font-size:1.35rem;line-height:1.45}
.hero-rate .value{font-family:var(--font-latin);font-size:clamp(6.8rem,20vw,10rem);font-weight:600;color:var(--primary-deep);letter-spacing:-.055em;text-shadow:none}
.hero-rate .unit{padding:0 0 10px 5px;font-family:var(--font-latin);font-size:3rem;color:var(--primary-deep)}
.hero-cta{margin-top:28px;display:grid;grid-template-columns:1fr;gap:12px;max-width:390px}
.hero-cta .btn{width:100%;font-size:1.4rem}
.hero-proof{max-width:460px;margin-top:24px;border:0;border-top:1px solid var(--line2);border-radius:0;background:transparent;backdrop-filter:none;gap:0}
.hero-proof div{padding:14px 8px;background:transparent;border-right:1px solid var(--line)}
.hero-proof div:last-child{border-right:0}
.hero-proof strong{font-family:var(--font-latin),var(--font);font-size:1.35rem;color:var(--primary-deep)}
.hero-proof span{font-size:1rem;color:var(--ink3);opacity:1}
.hero-architecture{position:absolute;right:0;bottom:0;width:62%;height:52%;z-index:-1;background:linear-gradient(160deg,#FAF7F8 0%,#F1EDEF 100%) center right/cover no-repeat;mask-image:linear-gradient(to right,transparent 0,#000 45%);opacity:.52}
.hero-visual{display:none;position:relative;z-index:2}
.dashboard-mock{display:grid;grid-template-columns:112px 1fr;width:min(100%,540px);min-height:420px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);overflow:hidden;font-size:1.2rem}
.mock-side{padding:24px 12px;background:#FAFAFB;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px;color:#677383}
.mock-side strong{color:var(--primary-deep);font-size:1.2rem;margin-bottom:10px}
.mock-side span{padding:8px 9px;border-radius:5px;white-space:nowrap}
.mock-side .active{background:var(--primary);color:#fff;font-weight:600}
.mock-main{padding:24px;display:flex;flex-direction:column;gap:14px;min-width:0}
.mock-title{display:flex;justify-content:space-between;gap:12px;color:var(--primary-deep)}
.mock-title small{font-size:.85rem;color:var(--ink3)}
.mock-metrics{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.mock-metrics span{padding:14px;color:var(--ink3);font-size:.9rem}
.mock-metrics span+span{border-left:1px solid var(--line)}
.mock-metrics strong{display:block;margin-top:5px;font-family:var(--font-latin);font-size:1.8rem;color:var(--primary-deep)}
.mock-panel{padding:14px;border:1px solid var(--line);border-radius:8px;color:var(--ink2)}
.mock-allocation{display:grid;grid-template-columns:140px 1fr;align-items:center;gap:24px;margin-top:12px}
.mock-donut{width:124px;height:124px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#E62F50 0 52%,#F9A3B4 52% 75%,#F5A623 75% 90%,#FDDCE3 90%);position:relative}
.mock-donut::after{content:"";position:absolute;inset:22px;border-radius:50%;background:#fff}
.mock-donut span{position:relative;z-index:1;text-align:center;font-size:.8rem;color:var(--ink3)}
.mock-donut b{font-family:var(--font-latin);font-size:1.2rem;color:var(--primary-deep)}
.mock-allocation ul{display:grid;gap:7px}
.mock-allocation li{display:grid;grid-template-columns:8px 1fr auto;gap:7px;align-items:center;font-size:.9rem}
.mock-allocation li i{width:7px;height:7px;background:#E62F50}.mock-allocation li i.usdt{background:#F9A3B4}.mock-allocation li i.jpyc{background:#F5A623}.mock-allocation li i.eth{background:#FDDCE3}
.mock-growth{height:116px;overflow:hidden}.mock-growth svg{width:100%;height:82px;margin-top:-2px}.mock-growth path{vector-effect:non-scaling-stroke}
.security-badge{position:absolute;right:-34px;top:-38px;width:158px;filter:drop-shadow(0 10px 18px rgba(31,35,40,.22))}

.section{padding:64px 20px}
.section-inner{max-width:1120px;margin:0 auto}
.section-soft,.section-mint{background:#F6F7F9}
.section-head{position:relative;margin-bottom:40px}
.section-head .ghost{display:none}
.section-head:not(.section-head-left) .section-label{display:none}
.section-title{font-size:clamp(2.4rem,7vw,3.6rem);line-height:1.5;color:var(--primary-deep)}
.section-lead{margin-top:16px;line-height:1.9}
.section-head-left{text-align:left;max-width:780px}
.about-section{background:#fff}
.trust-grid{display:grid;gap:0;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#272C33,#39404A);color:#fff}
.trust-feature,.trust-item{display:grid;align-items:center;gap:20px;padding:28px 24px}
.trust-feature{border-bottom:1px solid rgba(255,255,255,.18)}
.trust-feature>img{width:150px;justify-self:center}.trust-item>img{width:100px;justify-self:center}
.trust-feature span,.trust-item span{font-family:var(--font-latin);font-size:1rem;font-weight:600;letter-spacing:.16em;color:#C8CED6}
.trust-feature h3,.trust-item h3{margin-top:5px;font-size:1.8rem;line-height:1.5}
.trust-feature p,.trust-item p{margin-top:8px;font-size:1.3rem;line-height:1.9;color:rgba(255,255,255,.75)}
.trust-feature ul{display:grid;gap:6px;margin-top:14px;font-size:1.2rem;color:rgba(255,255,255,.86)}
.trust-feature li::before{content:"✓";margin-right:8px;color:#FAC2CD}
.trust-feature small{display:block;margin-top:12px;color:rgba(255,255,255,.55);font-size:1rem}
.trust-item+ .trust-item{border-top:1px solid rgba(255,255,255,.18)}

.plans{gap:16px}
.plan-card{border:1px solid var(--line2);border-radius:10px;box-shadow:none;overflow:visible}
.plan-card.recommended{border:2px solid var(--primary)}
.plan-head{padding:18px;background:#fff;border-bottom:1px solid var(--line);border-radius:10px 10px 0 0;color:var(--primary-deep)}
.plan-card.recommended .plan-head{background:var(--primary);color:#fff}
.plan-badge{top:-10px;right:12px;left:auto;transform:none;background:#F5B93D;color:#1F252D;border-radius:2px;padding:4px 10px;box-shadow:none}
.plan-body{padding:26px 20px}
.plan-rate .v{font-family:var(--font-latin);font-weight:600;color:var(--primary-deep)}
.plan-rate .u{margin-left:.28em;color:var(--primary-deep)}
.plan-lock{border-radius:4px;background:#F6F7F9}
.campaign-card{border-radius:10px;background:linear-gradient(135deg,#272C33,#39404A);box-shadow:none}
.campaign-card::before{display:none}
.campaign-targets>span{border-radius:4px;background:rgba(255,255,255,.08)}

.rate-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.rate-card{border-radius:8px;box-shadow:none;padding:16px 10px}
.rate-card .bonus-tag{background:var(--primary);border-radius:3px;box-shadow:none;padding:3px 7px;font-size:.95rem}
.rate-card .apy .v{font-family:var(--font-latin);font-weight:600;color:var(--primary-deep)}
.rate-table{border-radius:10px;box-shadow:none}

.sim-grid{gap:0;border:1px solid var(--line2);border-radius:12px;background:#fff;overflow:hidden}
.sim-form,.sim-result{border:0;border-radius:0;box-shadow:none;padding:24px 20px}
.sim-result{border-top:1px solid var(--line)}
.sim-plan-toggle button,.sim-step,.sim-presets button{border-radius:6px;box-shadow:none}
.sim-presets button{border-radius:4px}
.sim-presets button.active{box-shadow:none}
.sim-chart-rule{border-radius:4px;background:#F6F7F9}
.sim-chart-compare>div{border-radius:6px;background:#fff}
.sim-value .v,.sim-value .u{font-family:var(--font-latin);font-weight:600}

#reasons{background:linear-gradient(135deg,#272C33,#39404A);color:#fff}
#reasons .section-label{color:#C8CED6}
#reasons .section-title{color:#fff}
#reasons .section-lead{color:rgba(255,255,255,.7)}
.reasons{gap:0;border-top:1px solid rgba(255,255,255,.2)}
.reason-card{border:0;border-radius:0;box-shadow:none;background:transparent;padding:28px 20px;color:#fff}
.reason-card+.reason-card{border-top:1px solid rgba(255,255,255,.2)}
.reason-head{align-items:flex-start}
.reason-head>span{width:auto;height:auto;background:transparent;border-radius:0;color:#F9A3B4;font-family:var(--font-latin);font-size:4.8rem;font-weight:400;line-height:1}
.reason-head h3{padding-top:10px}
.reason-visual{border:0;border-radius:6px;background:rgba(255,255,255,.08)}
.reason-card>p{color:rgba(255,255,255,.72);line-height:1.9}
.quantity-box{border-radius:4px}.quantity-box.after{border-radius:4px}
.allocation-visual>div{border-radius:4px}

.steps{position:relative}
.step{padding-left:68px}
.step-art{width:84px;height:84px;object-fit:contain;margin:0 0 12px}
.step::before{width:44px;height:44px;border:1px solid var(--blue-300,#F9A3B4);background:#fff;color:var(--primary-deep);font-family:var(--font-latin);font-weight:600}
.step:not(:last-child)::after{left:21px;background:var(--blue-100,#FDDCE3)}
.step h3{color:var(--primary-deep)}

.faq-list{gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.faq-item{border:0;border-radius:0;box-shadow:none}
.faq-item+.faq-item{border-top:1px solid var(--line)}
.faq-q{min-height:56px;padding:14px 18px}
.faq-q .qmark{width:auto;height:auto;background:transparent;color:var(--primary);font-family:var(--font-latin)}
.news-list{border-top:1px solid var(--line)}
.news-item{padding:18px 4px}
.news-item:first-child{border-top:0}
.news-date{font-family:var(--font-latin);font-variant-numeric:tabular-nums}
.chip{border-radius:3px}

.cta-band{position:relative;isolation:isolate;overflow:hidden;text-align:left;padding:72px max(20px,calc((100vw - 1120px)/2));background:#1A1F26}
.cta-band::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(160deg,#FAF7F8 0%,#F1EDEF 100%) center/cover no-repeat}
.cta-band::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(31,35,40,.97) 0%,rgba(31,35,40,.88) 42%,rgba(31,35,40,.2) 80%)}
.cta-band h2{max-width:600px;font-size:clamp(2.8rem,7vw,4.4rem)}
.cta-band p{font-size:1.4rem;color:rgba(255,255,255,.78)}
.cta-band .btn{background:#FFC53D;color:#1F252D;border:0;border-radius:6px;min-width:260px}
.line-support-link{border-radius:6px;box-shadow:none}
.line-mark{border-radius:3px}

.site-footer{background:#fff;color:var(--ink2);padding:56px 20px 28px;border-top:1px solid var(--line)}
.footer-brand .brand-name{color:var(--primary-deep)}
.footer-tag{color:var(--ink3)}
.footer-risk{border-top-color:var(--line);color:var(--ink3);text-align:left}
.footer-copy{color:var(--ink3)}

.auth-page{background:linear-gradient(180deg,#F6F7F9 0%,#ECEEF1 100%)}
.auth-main{padding-top:48px}
.auth-card{border-radius:22px;box-shadow:none;padding:32px 24px}
.auth-title{color:var(--primary-deep)}
.auth-channel{background:#F6F7F9}
.auth-step .dot{border-radius:50%}
.otp-inputs input{border-radius:12px}

.reveal{transform:translateY(12px);transition:opacity .42s cubic-bezier(.16,1,.3,1),transform .42s cubic-bezier(.16,1,.3,1)}
.reveal.in{transform:none}

@media (min-width:768px){
  .section{padding:80px 32px}
  .hero-inner{padding:80px 32px 88px}
  .hero-cta{grid-template-columns:1fr 1fr;max-width:520px}
  .trust-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
  .trust-feature{grid-row:span 2;border-right:1px solid rgba(255,255,255,.18);border-bottom:0;padding:40px 32px}
  .trust-feature>img{width:180px}.trust-item{grid-template-columns:110px 1fr;padding:28px}
  .trust-item+ .trust-item{border-top:1px solid rgba(255,255,255,.18)}
  .sim-form,.sim-result{padding:32px}.sim-result{border-top:0;border-left:1px solid var(--line)}
  .reason-card+.reason-card{border-top:0;border-left:1px solid rgba(255,255,255,.2)}
  .steps{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rate-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .step{padding:64px 12px 0}
  .step-art{width:96px;height:96px;margin:0 0 12px}
  .step::before{left:12px}
  .cta-band{padding-top:88px;padding-bottom:88px}
}

@media (min-width:1024px){
  .header-login{display:inline-flex}
  .gnav{gap:4px}
  .gnav a{font-size:1.2rem;padding:9px 8px}
  .hero{min-height:690px}
  .hero-inner{grid-template-columns:minmax(0,.92fr) minmax(520px,1.08fr);align-items:center;gap:56px;padding-top:88px;padding-bottom:116px}
  .hero-copy h1{font-size:5.4rem}
  .hero-copy h1{white-space:nowrap}
  .hero-visual{display:block}
  .hero-architecture{height:62%;width:68%}
  .section{padding:112px 32px}
  .section-head{margin-bottom:48px}
  .plans{max-width:840px;margin:0 auto}
  .reasons{grid-template-columns:repeat(3,1fr)}
  .reason-card{padding:32px 28px 40px}
  .site-footer{padding-top:64px}
}

@media (max-width:374px){
  .brand-name{font-size:1.38rem}
  .header-cta{padding:8px 11px;font-size:1.2rem}
  .hero-copy h1{font-size:3.1rem}
  .hero-proof strong{font-size:1.2rem}
  .rate-cards{grid-template-columns:1fr 1fr}
  .sim-presets{grid-template-columns:1fr 1fr}
}

/* August 2026 refinement: concise authentication flow
   同意チェックの見た目は base.css の .auth-consent（label 全体 48px・checkbox 24px）に一本化 */

/* ============================================================
   Reference-led landing page v3
   Rebuilds proportion, density and section order around the supplied comps.
   ============================================================ */
.landing-page{background:#fff;color:var(--ink)}
.landing-page .notice-bar{display:none}
.landing-page .site-header{height:68px;background:#fff;border-bottom:0;box-shadow:0 2px 16px rgba(45,51,58,.05)}
.landing-page .site-header-inner{max-width:1200px;height:68px;padding-inline:28px}
.landing-page .brand-name{font-size:1.55rem;letter-spacing:.01em}
.landing-page .gnav{gap:25px}
.landing-page .gnav a{font-size:1.2rem;color:#3A424C}
.landing-page .header-login,.landing-page .header-cta{height:38px;min-height:38px;padding-inline:18px;font-size:1.2rem;border-radius:5px;white-space:nowrap}

.landing-page .hero{min-height:660px;background:linear-gradient(112deg,#FFFFFF 0%,var(--color-soft-surface) 58%,#FEF1F3 100%);border-bottom:1px solid #E5E8EC}
.landing-page .hero-inner{max-width:1200px;min-height:660px;margin:0 auto;padding:70px 28px 82px;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:56px;align-items:center}
.landing-page .hero-copy{position:relative;z-index:2;max-width:470px}
.landing-page .hero-copy h1{font-size:clamp(4.2rem,4.3vw,6.1rem);line-height:1.36;letter-spacing:.035em;color:#2D333B}
.landing-page .hero-sub{margin-top:23px;max-width:42ch;font-size:1.38rem;line-height:2;color:#3A424C}
.landing-page .hero-rate{justify-content:flex-start;margin-top:28px;padding-left:15px;border-left:1px solid #FBD0D8}
.landing-page .hero-rate .lead{font-size:1.2rem;line-height:1.5;color:#3D454F}
.landing-page .hero-rate .value{font-size:8.2rem;line-height:.95;color:#2D333B;letter-spacing:-.055em}
.landing-page .hero-rate .unit{font-size:3.2rem;color:#2D333B}
.landing-page .hero-cta{display:grid;grid-template-columns:1fr;gap:11px;width:330px;margin-top:25px}
.landing-page .hero-cta .btn{height:54px;border-radius:5px;font-size:1.22rem}
.landing-page .hero-proof{display:none}
.landing-page .hero-visual{display:block;position:relative;z-index:2;min-width:0}
.landing-page .dashboard-mock{width:100%;min-height:500px;grid-template-columns:132px minmax(0,1fr);border:1px solid #DFE2E6;border-radius:10px;background:#FBFBFC;box-shadow:0 18px 44px rgba(49,55,64,.14);transform:none}
.landing-page .mock-side{padding:26px 13px;background:#FCFCFD;border-right:1px solid #E4E6EA}
.landing-page .mock-side strong{font-size:1.2rem;color:#31373F}
.landing-page .mock-side span{padding:9px 8px;font-size:.94rem;border-radius:4px}
.landing-page .mock-side .active{background:#F33758;color:#fff}
.landing-page .mock-main{padding:26px 24px}
.landing-page .mock-title strong{font-size:1.35rem;color:#31373F}
.landing-page .mock-title small{font-size:.82rem}
.landing-page .mock-metrics{gap:12px;margin-top:19px}
.landing-page .mock-metrics span,.landing-page .mock-panel{border-radius:6px;border:1px solid #E6E8EC;background:#fff;box-shadow:0 5px 14px rgba(49,55,64,.045)}
.landing-page .mock-metrics span{padding:13px 14px;font-size:.9rem}
.landing-page .mock-metrics strong{font-size:1.75rem;color:#D92A49}
.landing-page .mock-panel{margin-top:13px;padding:16px}
.landing-page .mock-allocation{gap:20px}
.landing-page .mock-donut{width:118px;height:118px}
.landing-page .mock-growth svg{height:84px}
.landing-page .security-badge{width:150px;height:150px;right:-24px;top:-34px;filter:drop-shadow(0 10px 18px rgba(37,41,48,.22))}
.landing-page .hero-architecture{display:none}

.landing-page .section{padding:74px 24px}
.landing-page .section-inner{max-width:1120px}
.landing-page .section-head{margin-bottom:30px}
.landing-page .section-label{font-size:.9rem;letter-spacing:.18em;color:#F25675}
.landing-page .section-title{margin-top:6px;font-size:3.05rem;line-height:1.48;color:#2D333B;letter-spacing:.025em}
.landing-page .section-lead{margin-top:11px;font-size:1.2rem;line-height:1.9;color:#596372}
.landing-page .ghost{display:none}

.landing-page .about-section{padding-top:66px;padding-bottom:70px;background:#fff}
.landing-page .about-section .section-head{text-align:center;max-width:760px;margin-inline:auto}
.landing-page .trust-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:0;max-width:100%;overflow:hidden;border:1px solid #39404A;border-radius:8px;background:linear-gradient(135deg,#2A2F36,#3B424C);box-shadow:0 14px 34px rgba(43,48,56,.15)}
.landing-page .trust-scene{position:relative;min-height:360px;margin:0;border-right:1px solid rgba(255,255,255,.22);overflow:hidden;background:#252A30}
.landing-page .trust-scene img{width:100%;height:100%;object-fit:cover;object-position:center}
.landing-page .trust-scene::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(26,29,33,.82) 100%)}
.landing-page .trust-scene figcaption{position:absolute;left:26px;right:26px;bottom:22px;z-index:1;display:flex;flex-direction:column;color:#fff}
.landing-page .trust-scene figcaption strong{font-size:1.55rem}.landing-page .trust-scene figcaption span{margin-top:3px;font-size:.88rem;color:#D8DCE2}
.landing-page .trust-points{display:grid;grid-template-rows:repeat(3,minmax(0,1fr))}
.landing-page .trust-point{display:grid;grid-template-columns:38px minmax(0,1fr);gap:14px;align-items:center;padding:23px 25px;color:#fff;border-bottom:1px solid rgba(255,255,255,.18)}
.landing-page .trust-point:last-child{border-bottom:0}
.landing-page .trust-point>span{font-family:var(--font-latin);font-size:1.2rem;color:#FBCDD7}
.landing-page .trust-point h3{font-size:1.43rem;line-height:1.5}
.landing-page .trust-point p{margin-top:5px;font-size:1.2rem;line-height:1.7;color:#E5E7EB}

.landing-page .product-overview{max-width:1120px;margin:0 auto;padding:0 24px 72px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:22px;align-items:start;background:#fff}
.landing-page .product-overview>.section{padding:0;background:transparent}
.landing-page .product-overview>.section>.section-inner{padding:28px 26px 24px;border:1px solid #DFE2E7;border-radius:8px;background:#fff;box-shadow:0 7px 24px rgba(50,56,65,.05)}
.landing-page .product-overview .section-head{text-align:left;margin-bottom:20px}
.landing-page .product-overview .section-title{font-size:2.25rem}
.landing-page .product-overview .section-lead{font-size:1.2rem}
.landing-page .plans{gap:12px}
.landing-page .plan-card{border-radius:7px;border-color:#DFE2E7;box-shadow:none}
.landing-page .plan-head{padding:14px 10px;font-size:1.28rem;background:#FAFAFB;color:#383F49}
.landing-page .recommended .plan-head{background:#F33758;color:#fff}
.landing-page .plan-body{padding:18px 10px}
.landing-page .plan-rate .v{font-size:4.8rem;color:#2D333B}
.landing-page .plan-rate .u{font-size:2rem;margin-left:6px}
.landing-page .campaign-full{margin-top:2px;border-radius:7px;padding:19px 18px;background:linear-gradient(110deg,#2D333B,#3A424D);box-shadow:none}
.landing-page .campaign-rate .v{font-size:4.5rem}
.landing-page .campaign-targets{gap:7px}.landing-page .campaign-targets>span{font-size:.88rem}
.landing-page .rate-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.landing-page .rate-card{min-height:126px;padding:13px 10px;border-radius:6px;box-shadow:none}
.landing-page .rate-card .apy .v{font-size:2.35rem}
.landing-page .rate-note{font-size:.82rem;line-height:1.65}

.landing-page #simulator{max-width:1120px;margin:0 auto 72px;padding:0 24px;background:#fff}
.landing-page #simulator>.section-inner{padding:30px 30px 24px;border:1px solid #DFE2E7;border-radius:8px;background:#fff;box-shadow:none}
.landing-page #simulator .section-head{text-align:center;margin-bottom:22px}
.landing-page #simulator .section-title{font-size:2.55rem}
.landing-page .sim-grid{display:grid;grid-template-columns:310px minmax(0,1fr);border:1px solid #DFE2E7;border-radius:7px;box-shadow:none;background:#fff}
.landing-page .sim-form{padding:22px;border-right:1px solid #E4E6EA;background:var(--color-soft-surface)}
.landing-page .sim-result{padding:22px 25px}
.landing-page .sim-value .v{font-size:4rem}
.landing-page .sim-chart{margin-top:15px;border-radius:6px;background:#FBFBFC}

.landing-page #reasons{padding:58px 24px 62px;background:linear-gradient(115deg,#272C33,#3C444E)}
.landing-page #reasons .section-title{color:#fff;font-size:2.55rem}
.landing-page #reasons .section-lead{color:#DBDEE3}
.landing-page .reasons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid rgba(255,255,255,.25)}
.landing-page .reason-card{border:0;border-right:1px solid rgba(255,255,255,.22);border-radius:0;background:transparent;padding:27px 23px 8px;color:#fff;box-shadow:none}
.landing-page .reason-card:last-child{border-right:0}
.landing-page .reason-head>span{font-size:4rem;color:#FAC2CE}.landing-page .reason-head h3{font-size:1.35rem;color:#fff}
.landing-page .reason-visual{min-height:125px;margin:18px 0 14px;border-radius:5px;background:rgba(255,255,255,.09)}
.landing-page .reason-card>p{font-size:1rem;line-height:1.75;color:#E2E5EA}

.landing-page #flow{padding:68px 24px;background:#fff}
.landing-page #flow .section-head{margin-bottom:30px}
.landing-page .steps{position:relative;max-width:700px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:0}
.landing-page .steps::before{content:"";position:absolute;left:31px;top:25px;bottom:25px;width:3px;background:linear-gradient(#F33758,#FBD0D8)}
.landing-page .step{position:relative;display:grid;grid-template-columns:62px 76px minmax(0,1fr);align-items:center;gap:17px;min-height:92px;padding:8px 0;text-align:left}
.landing-page .step::before{position:relative;left:auto;top:auto;transform:none;width:42px;height:42px;margin-left:11px;border:0;background:#F33758;color:#fff;box-shadow:0 5px 14px rgba(243,55,88,.2)}
.landing-page .step:not(:last-child)::after{display:none}
.landing-page .step-art{grid-column:2;width:68px;height:68px;margin:0;object-fit:contain}
.landing-page .step h3,.landing-page .step p{grid-column:3;margin:0}
.landing-page .step h3{align-self:end;font-size:1.35rem;color:#D92A49}.landing-page .step p{align-self:start;margin-top:-25px;padding-top:31px;font-size:1.2rem;line-height:1.65;color:#5A6473}

.landing-page .support-overview{max-width:1120px;margin:0 auto;padding:0 24px 70px;display:block}
.landing-page .support-overview>.section{padding:0;background:#fff;border:0;border-radius:0}
.landing-page .support-overview>.section+.section{margin-top:42px}
.landing-page .support-overview .section-head{text-align:center;margin-bottom:20px}
.landing-page .support-overview .section-title{font-size:2.35rem}
.landing-page .faq-list,.landing-page .news-list{border:1px solid #DFE2E7;border-radius:6px;background:#fff}
.landing-page .faq-item:nth-child(n+6){display:none}
.landing-page .faq-q{min-height:52px;padding:11px 17px;font-size:1.2rem}
.landing-page .news-list{padding:0 18px}.landing-page .news-item{grid-template-columns:120px 92px minmax(0,1fr);padding:14px 0}

.landing-page .cta-band{min-height:320px;padding:58px max(24px,calc((100vw - 1120px)/2));background:#FEF0F3;color:#2D333B}
.landing-page .cta-band::after{background:linear-gradient(90deg,rgba(254,241,243,.98) 0%,rgba(254,241,243,.9) 45%,rgba(254,241,243,.15) 78%)}
.landing-page .cta-band h2{font-size:3.25rem;line-height:1.45;color:#2D333B}
.landing-page .cta-band p{color:#56606E;opacity:1}
.landing-page .cta-band .btn{background:#F33758;color:#fff;min-width:300px}
.landing-page .site-footer{padding-top:34px;background:#fff}

@media (max-width:1023px){
  .landing-page .hero{min-height:auto}
  .landing-page .hero-inner{min-height:auto;grid-template-columns:1fr;padding-top:60px;padding-bottom:64px}
  .landing-page .hero-copy{max-width:620px}
  .landing-page .hero-visual{display:block;max-width:720px;margin:10px auto 0}
  .landing-page .product-overview{grid-template-columns:1fr}
  .landing-page .trust-grid{grid-template-columns:1fr}
  .landing-page .trust-scene{border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}
}

@media (max-width:767px){
  .landing-page .site-header-inner{padding-inline:18px}
  .landing-page .hero-inner{display:block;padding:48px 20px 54px}
  .landing-page .hero-copy h1{font-size:3.7rem;line-height:1.42}
  .landing-page .hero-sub{font-size:1.22rem}
  .landing-page .hero-rate .value{font-size:7.2rem}
  .landing-page .hero-cta{width:100%}
  .landing-page .hero-visual{margin-top:42px}
  .landing-page .dashboard-mock{min-height:340px;grid-template-columns:78px minmax(0,1fr)}
  .landing-page .mock-side{padding:18px 7px}.landing-page .mock-side strong{font-size:.82rem}.landing-page .mock-side span{font-size:.75rem;padding:7px 5px}
  .landing-page .mock-main{padding:17px 12px}.landing-page .mock-metrics strong{font-size:1.25rem}.landing-page .mock-donut{width:86px;height:86px}.landing-page .security-badge{width:94px;height:94px;right:-7px;top:-23px}
  .landing-page .section{padding:58px 18px}
  .landing-page .section-title{font-size:2.55rem}
  .landing-page .about-section .section-head{text-align:left}
  .landing-page .trust-scene{min-height:260px}
  .landing-page .trust-point{padding:19px 18px}.landing-page .trust-point p{font-size:.98rem}
  .landing-page .product-overview{padding-inline:16px;padding-bottom:56px;gap:16px}
  .landing-page .product-overview>.section>.section-inner{padding:24px 17px}
  .landing-page .plans{grid-template-columns:1fr 1fr}
  .landing-page #simulator{padding-inline:16px;margin-bottom:56px}
  .landing-page #simulator>.section-inner{padding:25px 17px}
  .landing-page .sim-grid{grid-template-columns:1fr}.landing-page .sim-form{border-right:0;border-bottom:1px solid #E4E6EA}
  .landing-page .reasons{grid-template-columns:1fr}.landing-page .reason-card{border-right:0;border-bottom:1px solid rgba(255,255,255,.22)}
  .landing-page .step{grid-template-columns:52px 56px minmax(0,1fr);gap:11px;min-height:90px}.landing-page .steps::before{left:25px}.landing-page .step::before{width:36px;height:36px;margin-left:7px}.landing-page .step-art{width:52px;height:52px}
  .landing-page .support-overview{padding-inline:16px}
  .landing-page .news-item{grid-template-columns:92px minmax(0,1fr);gap:5px 8px}.landing-page .news-title{grid-column:1/-1}
  .landing-page .cta-band h2{font-size:2.55rem;line-height:1.45}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition-duration:.12s!important}
  .reveal{transform:none}
}

/* ============================================================
   2026 reference-faithful rebuild — Workbench landing
   ============================================================ */
.landing-page{background:var(--color-soft-surface)}
.landing-page .site-header{position:sticky;background:rgba(255,255,255,.97);box-shadow:0 8px 30px rgba(52,58,67,.045)}
.landing-page .site-header-inner{max-width:1240px}
.landing-page .brand-name{font-size:1.65rem;letter-spacing:.01em}
.landing-page .gnav{gap:12px}
.landing-page .gnav a{font-size:1.2rem;color:#3A424C;padding:8px 4px}
.landing-page .header-login{border:1px solid #D5D9DF;border-radius:6px;padding:8px 18px;color:var(--primary-deep)}
.landing-page .notice-bar{background:var(--primary-deep);font-size:1.2rem;padding:7px 16px}

.landing-page .hero{min-height:0;background:linear-gradient(135deg,#FFFFFF 0%,var(--color-soft-canvas) 58%,#FEEEF1 100%);border-bottom:1px solid var(--line)}
.landing-page .hero::before{background:linear-gradient(132deg,transparent 0 62%,rgba(255,255,255,.92) 62.1% 76%,transparent 76.1%);opacity:.8}
.landing-page .hero-inner{max-width:1240px;padding:74px 24px 84px;gap:44px}
.landing-page .hero-copy h1{font-size:clamp(3.7rem,5vw,6.2rem);line-height:1.38;letter-spacing:.015em}
.landing-page .hero-sub{font-size:1.4rem;line-height:1.9;margin-top:18px;max-width:39rem}
.landing-page .hero-rate{margin-top:24px;padding-left:20px}
.landing-page .hero-rate .lead{font-size:1.2rem}
.landing-page .hero-rate .value{font-size:clamp(7.2rem,9vw,10.4rem)}
.landing-page .hero-rate .unit{font-size:3.2rem}
.landing-page .hero-cta{margin-top:24px;max-width:410px;gap:10px}
.landing-page .hero-cta .btn{min-height:50px;font-size:1.28rem;box-shadow:0 8px 20px rgba(243,55,88,.12)}
.landing-page .hero-proof{margin-top:20px;max-width:410px}
.landing-page .hero-proof div{padding:11px 8px}
.landing-page .hero-architecture{width:46%;height:100%;opacity:.2;mask-image:linear-gradient(to right,transparent 0,#000 70%)}
.landing-page .hero-visual{display:block}
.landing-page .dashboard-mock{width:min(100%,590px);min-height:470px;border-radius:12px;border-color:#DFE2E7;box-shadow:0 24px 58px rgba(55,62,72,.15);transform:perspective(1400px) rotateY(-1.5deg)}
.landing-page .mock-side{grid-column:auto;background:#FBFBFC;padding:26px 14px}
.landing-page .mock-main{padding:26px}
.landing-page .mock-metrics{background:var(--color-soft-surface)}
.landing-page .mock-panel{background:#fff;box-shadow:0 5px 18px rgba(58,65,75,.045)}
.landing-page .security-badge{right:-24px;top:-46px;width:168px}

.landing-page .section{padding:80px 24px}
.landing-page .section-inner{max-width:1180px}
.landing-page .section-head{margin-bottom:34px}
.landing-page .section-title{font-size:clamp(2.5rem,3.6vw,3.8rem);line-height:1.48}
.landing-page .section-lead{font-size:1.34rem;line-height:1.85}

.landing-page .about-section{padding-top:68px;padding-bottom:76px}
.landing-page .about-section .section-head{max-width:880px;margin-inline:auto;text-align:center}
.landing-page .about-section .section-label{display:block}
.landing-page .trust-grid{max-width:1000px;margin-inline:auto;border-radius:11px;box-shadow:0 14px 36px rgba(39,44,51,.14)}
.landing-page .trust-feature,.landing-page .trust-item{padding:24px}
.landing-page .trust-feature>img{width:128px}
.landing-page .trust-item>img{width:82px}
.landing-page .trust-feature h3,.landing-page .trust-item h3{font-size:1.55rem}
.landing-page .trust-feature p,.landing-page .trust-item p{font-size:1.2rem}

.landing-page .product-overview{max-width:1180px;margin:0 auto 80px;padding:0 24px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:20px;align-items:start}
.landing-page .product-overview>.section{padding:32px;background:#fff;border:1px solid var(--line);border-radius:12px}
.landing-page .product-overview>.section>.section-inner{max-width:none}
.landing-page .product-overview>#plans{grid-column:1}
.landing-page .product-overview>#rates{grid-column:2}
.landing-page .product-overview .section-head{text-align:left;margin-bottom:24px}
.landing-page .product-overview .section-head.tc{text-align:left}
.landing-page .product-overview .section-title{font-size:2.25rem;line-height:1.4}
.landing-page .product-overview .section-lead{font-size:1.2rem;margin-top:8px}
.landing-page .product-overview .section-lead br{display:none}
.landing-page .plans{max-width:none;grid-template-columns:1fr 1fr;gap:12px;margin:0}
.landing-page .plan-head{padding:13px 10px;font-size:1.35rem}
.landing-page .plan-body{padding:18px 12px}
.landing-page .plan-rate .v{font-size:4.5rem}
.landing-page .plan-rate .u{font-size:1.7rem}
.landing-page .plan-rate-label,.landing-page .plan-lock,.landing-page .plan-desc{font-size:1rem}
.landing-page .campaign-full{grid-column:1/-1;padding:20px 18px}
.landing-page .campaign-card h3{font-size:1.45rem}
.landing-page .campaign-rate .v{font-size:5.5rem}
.landing-page .campaign-targets{gap:6px}
.landing-page .campaign-targets>span{padding:6px 9px;font-size:.95rem}
.landing-page .campaign-note{font-size:.9rem}
.landing-page .rate-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.landing-page .rate-card{padding:12px 8px;border-color:#EBEDF0;background:var(--color-soft-surface)}
.landing-page .rate-card-head{min-height:52px}
.landing-page .rate-card .coin-ic{width:31px;height:31px}
.landing-page .rate-card .sym{font-size:1.25rem;margin-top:6px}
.landing-page .rate-card .nm{font-size:.95rem}
.landing-page .rate-card .apy{margin-top:7px}
.landing-page .rate-card .apy .v{font-size:2.7rem}
.landing-page .rate-card .apy-label{font-size:.9rem}
.landing-page .rate-note{font-size:.88rem;line-height:1.7;margin-top:14px}
.landing-page .rate-table-wrap{display:none}

.landing-page #simulator{margin:0 auto 80px;max-width:1180px;padding:0 24px;background:transparent}
.landing-page #simulator>.section-inner{padding:40px;background:#fff;border:1px solid var(--line);border-radius:12px}
.landing-page #simulator .section-head{text-align:center;margin-bottom:30px}
.landing-page .sim-grid{border-color:#E1E4E9;box-shadow:0 10px 30px rgba(58,65,75,.06)}
.landing-page .sim-form,.landing-page .sim-result{padding:28px}

.landing-page #reasons{padding:58px 24px;background:linear-gradient(135deg,#272C33,#F14164)}
.landing-page #reasons .section-head{margin-bottom:28px}
.landing-page #reasons .section-title{font-size:2.8rem}
.landing-page .reason-card{padding:26px 24px}
.landing-page .reason-head>span{font-size:4rem;color:#FBC9D3}
.landing-page .reason-head h3{font-size:1.6rem}
.landing-page .reason-card>p{font-size:1.2rem;line-height:1.8}

.landing-page #flow{background:#fff}
.landing-page #flow .section-head{margin-bottom:26px}
.landing-page .steps{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.landing-page .step{padding:58px 8px 0;text-align:center}
.landing-page .step-art{width:74px;height:74px;margin:0 auto 10px}
.landing-page .step::before{left:50%;transform:translateX(-50%);width:38px;height:38px}
.landing-page .step:not(:last-child)::after{left:calc(50% + 20px);right:calc(-50% + 20px);top:18px;width:auto;height:1px}
.landing-page .step h3{font-size:1.25rem}
.landing-page .step p{font-size:1rem;line-height:1.65}

.landing-page .support-overview{max-width:1180px;margin:0 auto;padding:0 24px 80px;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:20px;align-items:stretch}
.landing-page .support-overview>.section{padding:32px;background:#fff;border:1px solid var(--line);border-radius:12px}
.landing-page .support-overview>.section>.section-inner{max-width:none}
.landing-page .support-overview .section-head{text-align:left;margin-bottom:22px}
.landing-page .support-overview .section-title{font-size:2.3rem}
.landing-page .faq-list{border-radius:8px}
.landing-page .faq-item:nth-child(n+6){display:none}
.landing-page .faq-q{font-size:1.2rem;min-height:48px;padding:10px 12px}
.landing-page .faq-a{font-size:1.2rem;padding:0 12px 14px}
.landing-page .news-list{border-top:0}
.landing-page .news-item{padding:14px 0}
.landing-page .news-title{font-size:1.2rem;line-height:1.6}

.landing-page .cta-band{min-height:320px;display:flex;flex-direction:column;justify-content:center;padding-top:54px;padding-bottom:54px}
.landing-page .cta-band h2{font-size:3.4rem}
.landing-page .site-footer{padding-top:42px}
.landing-page .footer-top{align-items:flex-start}
.landing-page .footer-risk{font-size:.96rem;line-height:1.75}

.auth-page{min-height:100vh;display:flex;flex-direction:column;background:var(--auth-bg)}
.auth-card{border-radius:22px;border-color:#E5E8EC;box-shadow:var(--shadow-float);padding:34px 26px}
.auth-card .input,.auth-card .select{border-radius:var(--radius-panel);background:var(--color-soft-surface)}
.auth-card .btn{border-radius:var(--radius-app-control)}
/* 影はローズ塗りの主ボタンだけ。高さ・文字・角丸は base.css の .btn-block（52px / 16px / 700 / 12）に従う */
.auth-card .btn-primary{box-shadow:0 8px 20px rgba(243,55,88,.12)}
.auth-card .btn-ghost,.auth-card .btn-outline{box-shadow:none}
.auth-channel{border-radius:14px;background:var(--color-soft-canvas)}
.otp-inputs input{border-radius:12px}

@media (max-width:1023px){
  .landing-page .hero-visual{display:none}
  .landing-page .product-overview,.landing-page .support-overview{grid-template-columns:1fr}
  .landing-page .product-overview>#plans,.landing-page .product-overview>#rates{grid-column:1}
  .landing-page .steps{grid-template-columns:repeat(3,minmax(0,1fr))}
  .landing-page .step:not(:last-child)::after{display:none}
}

@media (max-width:767px){
  .landing-page .hero-visual{display:none}
  .landing-page .hero-inner{padding:56px 20px 68px}
  .landing-page .hero-copy h1{font-size:3.55rem;line-height:1.42}
  .landing-page .hero-sub{font-size:1.32rem}
  .landing-page .hero-rate .value{font-size:8rem}
  .landing-page .hero-architecture{width:82%;height:44%;opacity:.25}
  .landing-page .section{padding:64px 20px}
  .landing-page .about-section .section-head{text-align:left}
  .landing-page .product-overview,.landing-page .support-overview{padding-inline:16px;margin-bottom:56px;gap:14px}
  .landing-page .product-overview>.section,.landing-page .support-overview>.section{padding:24px 18px}
  .landing-page .plans{grid-template-columns:1fr 1fr}
  .landing-page .plan-desc{display:none}
  .landing-page .campaign-targets{grid-template-columns:1fr 1fr}
  .landing-page #simulator{padding-inline:16px;margin-bottom:56px}
  .landing-page #simulator>.section-inner{padding:26px 18px}
  .landing-page .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 10px}
  .landing-page .step{padding:52px 6px 0}
  .landing-page .cta-band h2{font-size:2.6rem;line-height:1.45;overflow-wrap:normal}
  .auth-main{padding:28px 16px 48px}
  .auth-card{padding:28px 20px;border-radius:20px}
}

@media (max-width:374px){
  .landing-page .hero-copy h1{font-size:3.05rem}
  .landing-page .product-overview>.section{padding:20px 14px}
  .landing-page .plan-head{font-size:1.2rem}
  .landing-page .plan-rate .v{font-size:3.8rem}
}

/* v3 cascade lock — must remain last */
.landing-page .hero-copy h1{font-size:clamp(4.2rem,4vw,5.2rem);line-height:1.36}
.landing-page .steps{position:relative;max-width:700px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:0}
.landing-page .steps::before{content:"";position:absolute;left:31px;top:25px;bottom:25px;width:3px;background:linear-gradient(#F33758,#FBD0D8)}
.landing-page .step{display:grid;grid-template-columns:62px 76px minmax(0,1fr);grid-template-rows:auto auto;grid-template-areas:"num art title" "num art desc";align-items:center;gap:2px 17px;min-height:92px;padding:8px 0;text-align:left}
.landing-page .step::before{grid-area:num;position:relative;left:auto;top:auto;transform:none;width:42px;height:42px;margin-left:11px;border:0;background:#F33758;color:#fff;box-shadow:0 5px 14px rgba(243,55,88,.2)}
.landing-page .step:not(:last-child)::after{display:none}
.landing-page .step-art{grid-area:art;width:68px;height:68px;margin:0;object-fit:contain}
.landing-page .step h3{grid-area:title;align-self:end;margin:0;font-size:1.35rem;color:#D92A49}
.landing-page .step p{grid-area:desc;align-self:start;margin:0;font-size:1.2rem;line-height:1.65;color:#5A6473}
.landing-page .support-overview{max-width:1120px;margin:0 auto;padding:0 24px 70px;display:block}
.landing-page .support-overview>.section{padding:0;background:#fff;border:0;border-radius:0}
.landing-page .support-overview>.section+.section{margin-top:42px}
.landing-page .support-overview .section-head{text-align:center;margin-bottom:20px}
.landing-page .support-overview .section-title{font-size:2.35rem}
.landing-page .faq-list,.landing-page .news-list{border:1px solid #DFE2E7;border-radius:6px;background:#fff}
.landing-page .news-list{padding:0 18px}.landing-page .news-item{grid-template-columns:120px 92px minmax(0,1fr);padding:14px 0}

@media (max-width:1023px){
  .landing-page .hero-visual{display:block;height:300px;overflow:hidden;margin-top:36px}
  .landing-page .dashboard-mock{min-height:300px;height:300px}
  .landing-page .security-badge{width:78px;height:78px;right:2px;top:-12px}
  .landing-page .steps{grid-template-columns:1fr}
}
@media (max-width:767px){
  .landing-page .hero-visual{display:block}
  .landing-page .hero-copy h1{font-size:3.45rem;line-height:1.42}
  .landing-page .steps{grid-template-columns:1fr;gap:0}
  .landing-page .step{grid-template-columns:52px 56px minmax(0,1fr);grid-template-areas:"num art title" "num art desc";gap:2px 11px;min-height:90px;padding:8px 0;text-align:left}
  .landing-page .steps::before{left:25px}
  .landing-page .step::before{width:36px;height:36px;margin-left:7px;transform:none}
  .landing-page .step-art{width:52px;height:52px;margin:0}
  .landing-page .support-overview{display:block;padding-inline:16px;margin-bottom:0}
  .landing-page .support-overview>.section{padding:0}
  .landing-page .news-item{grid-template-columns:92px minmax(0,1fr);gap:5px 8px}.landing-page .news-title{grid-column:1/-1}
}

/* Keep core landing content immediately readable while scrolling and in captures. */
.landing-page .reveal{
  opacity:1;
  transform:none;
  transition:none;
}

/* ============================================================
   v4 · six-panel reference composite
   Desktop composition follows the supplied 2026 landing captures.
   Mobile is intentionally recomposed rather than proportionally shrunk.
   Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V5
   ============================================================ */
.landing-page{
  background:var(--color-paper);
  color:var(--color-ink);
}
.landing-page .section-label,
.landing-page .ghost,
.landing-page .notice-bar{display:none}
.landing-page .section-inner{max-width:1280px}
.landing-page .section-title{
  color:var(--color-accent);
  font-size:3.6rem;
  line-height:1.45;
  letter-spacing:.06em;
  overflow-wrap:anywhere;
}
.landing-page .section-lead{color:var(--color-neutral);font-size:1.6rem;line-height:2}

/* Header — quiet, wide and flat like the reference. */
.landing-page .site-header{
  position:sticky;
  top:0;
  height:76px;
  border-bottom:var(--rule-hair) solid var(--color-rule);
  background:var(--color-paper);
  box-shadow:none;
}
.landing-page .site-header-inner{max-width:1360px;height:76px;padding:0 32px}
.landing-page .brand{gap:12px}
.landing-page .brand-mark{width:38px;height:38px}
.landing-page .brand-name{font-size:2rem;letter-spacing:.05em;color:var(--color-accent)}
.landing-page .gnav{gap:34px;margin-left:auto;margin-right:36px}
.landing-page .gnav a{font-size:1.25rem;font-weight:600;color:var(--color-neutral)}
.landing-page .header-actions{gap:12px}
.landing-page .header-login,
.landing-page .header-cta{min-width:112px;min-height:48px;padding:11px 20px;border-radius:var(--radius-input);font-size:1.35rem}
.landing-page .header-login{display:inline-flex;align-items:center;justify-content:center;border:var(--rule-hair) solid var(--color-rule-2);color:var(--color-accent);background:var(--color-paper)}

/* 01 — hero */
.landing-page .hero{
  min-height:820px;
  border-bottom:var(--rule-hair) solid var(--color-rule-2);
  background:var(--color-paper);
}
.landing-page .hero-inner{
  max-width:1360px;
  min-height:820px;
  padding:72px 36px 56px;
  grid-template-columns:minmax(0,.95fr) minmax(590px,1.05fr);
  gap:56px;
  align-items:center;
}
.landing-page .hero-copy{min-width:0;max-width:none;padding-left:26px}
.landing-page .hero-copy h1{
  max-width:600px;
  margin:0;
  color:var(--color-accent);
  font-size:clamp(4.8rem,3.75vw,5.4rem);
  font-weight:700;
  line-height:1.42;
  letter-spacing:.07em;
  white-space:normal;
}
.landing-page .hero-sub{margin-top:30px;color:var(--color-neutral);font-size:1.65rem;font-weight:500;line-height:2.1}
.landing-page .hero-rate{justify-content:flex-start;align-items:flex-end;gap:12px;margin:42px 0 28px;padding-left:22px;border-left:var(--rule-fine) solid var(--color-blue-100)}
.landing-page .hero-rate .lead{padding-bottom:16px;color:var(--color-accent);font-size:1.55rem;font-weight:600;line-height:1.55}
.landing-page .hero-rate .value{color:var(--color-accent);font-size:12.2rem;font-weight:700;line-height:.78;letter-spacing:-.055em}
.landing-page .hero-rate .unit{padding-bottom:3px;color:var(--color-accent);font-size:4.6rem;font-weight:600}
.landing-page .hero-cta{display:grid;grid-template-columns:1fr;gap:14px;max-width:390px}
.landing-page .hero-cta .btn{width:100%;height:62px;border-radius:var(--radius-input);font-size:1.6rem;font-weight:600}
.landing-page .hero-proof{display:none}
.landing-page .hero-visual{display:block;height:700px;align-self:center;overflow:visible}
.landing-page .dashboard-mock{
  position:absolute;
  inset:20px 0 0;
  min-height:650px;
  height:650px;
  border:var(--rule-hair) solid var(--color-rule-2);
  border-radius:16px;
  background:var(--color-soft-surface);
  box-shadow:var(--shadow-product);
  overflow:hidden;
  grid-template-columns:150px minmax(0,1fr);
}
.landing-page .mock-side{width:auto;padding:34px 16px;background:var(--color-paper)}
.landing-page .mock-side>strong{margin-bottom:30px;font-size:1.75rem;color:var(--color-ink)}
.landing-page .mock-side>strong{font-size:1.5rem;white-space:nowrap}
.landing-page .mock-side span{padding:14px 16px;font-size:1.25rem;color:var(--color-neutral)}
.landing-page .mock-side span.active{border-radius:var(--radius-input);background:var(--color-accent);color:var(--color-paper)}
.landing-page .mock-main{padding:82px 24px 24px}
.landing-page .mock-title strong{font-size:2rem;color:var(--color-accent)}
.landing-page .mock-title small{font-size:1.2rem;color:var(--color-muted)}
.landing-page .mock-metrics{gap:12px;margin-top:22px}
.landing-page .mock-metrics span{padding:22px;border:var(--rule-hair) solid var(--color-rule);background:var(--color-paper);font-size:1.2rem}
.landing-page .mock-metrics strong{margin-top:7px;font-size:2rem;color:var(--color-accent)}
.landing-page .mock-panel{margin-top:16px;padding:22px;border:var(--rule-hair) solid var(--color-rule);background:var(--color-paper)}
.landing-page .mock-panel>strong{font-size:1.55rem;color:var(--color-accent)}
.landing-page .mock-allocation{grid-template-columns:190px minmax(0,1fr);gap:28px;margin-top:18px}
.landing-page .mock-donut{width:180px;height:180px}
.landing-page .mock-allocation li{padding:9px 0;font-size:1.2rem}
.landing-page .mock-growth{height:145px}
.landing-page .security-badge{top:-18px;right:-4px;width:172px;height:172px;filter:drop-shadow(var(--shadow-soft))}
.landing-page .hero-architecture{width:52%;height:48%;opacity:.24}

/* 02 — service explanation */
.landing-page .about-section{padding:0;border-bottom:var(--rule-hair) solid var(--color-rule-2);background:var(--color-soft-surface)}
.landing-page .about-section .section-inner{
  display:grid;
  grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);
  grid-template-rows:auto 1fr;
  min-height:580px;
  padding:76px 46px 64px;
  column-gap:70px;
}
.landing-page .about-section .section-head{
  grid-column:1;
  grid-row:1;
  max-width:610px;
  margin:0;
  text-align:left;
}
.landing-page .about-section .section-title{font-size:3.7rem}
.landing-page .about-section .section-lead{margin-top:26px;max-width:590px}
.landing-page .trust-grid{display:contents}
.landing-page .trust-scene{
  grid-column:2;
  grid-row:1 / 3;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:450px;
  border:0;
  border-radius:0;
  background:linear-gradient(145deg,var(--color-soft-surface),var(--color-soft-blue-2));
  box-shadow:none;
  overflow:hidden;
}
.landing-page .trust-scene::before,
.landing-page .trust-scene::after{content:"";position:absolute;border:var(--rule-fine) solid var(--color-blue-100);border-radius:50%;background:transparent;box-shadow:none}
.landing-page .trust-scene::before{width:380px;height:150px;bottom:122px}
.landing-page .trust-scene::after{width:270px;height:105px;bottom:145px}
.landing-page .trust-scene img{position:relative;z-index:2;width:250px;height:250px;object-fit:contain;filter:drop-shadow(var(--shadow-product));transform:translateY(-24px)}
.landing-page .trust-scene figcaption{position:absolute;z-index:3;left:28px;right:28px;bottom:24px;display:flex;justify-content:space-between;gap:16px;padding-top:14px;border-top:var(--rule-hair) solid var(--color-rule-2);color:var(--color-accent)}
.landing-page .trust-scene figcaption strong{font-size:1.35rem}
.landing-page .trust-scene figcaption span{font-size:1.2rem;color:var(--color-muted)}
.landing-page .trust-points{
  grid-column:1;
  grid-row:2;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:auto;
  align-self:end;
  gap:24px;
  margin-top:42px;
}
.landing-page .trust-point{display:block;padding:0;border:0;background:transparent;color:var(--color-ink)}
.landing-page .trust-point>span{display:flex;width:54px;height:54px;align-items:center;justify-content:center;margin-bottom:18px;border-radius:var(--radius-card);background:var(--color-paper-3);color:var(--color-accent);font-family:var(--font-outlier);font-size:1.45rem;font-weight:600}
.landing-page .trust-point h3{font-size:1.45rem;color:var(--color-accent)}
.landing-page .trust-point p{margin-top:10px;font-size:1.2rem;line-height:1.8;color:var(--color-neutral)}

/* 03 — two plans, followed by a single asset shelf. */
.landing-page .product-overview{display:block;max-width:none;margin:0;padding:0;background:var(--color-paper)}
.landing-page .product-overview>.section{max-width:none;padding:68px 24px;border:0;border-radius:0;background:var(--color-paper)}
.landing-page .product-overview>#plans{border-bottom:var(--rule-hair) solid var(--color-rule)}
.landing-page .product-overview>#rates{padding-top:46px;padding-bottom:54px;background:var(--color-soft-surface)}
.landing-page .product-overview .section-head{max-width:1280px;margin:0 auto 34px;text-align:center}
.landing-page .product-overview .section-head.tc{text-align:center}
.landing-page .product-overview .section-title{font-size:3.6rem}
.landing-page .product-overview .section-lead{font-size:1.35rem}
.landing-page .plans{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;max-width:900px;margin:0 auto}
.landing-page .plan-card{position:relative;border:var(--rule-fine) solid var(--color-blue-300);border-radius:var(--radius-card);overflow:visible;background:var(--color-paper)}
.landing-page .plan-card.recommended{border:var(--rule-fine) solid var(--color-accent)}
.landing-page .plan-head{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:94px;padding:18px;color:var(--color-accent);background:var(--color-paper);font-size:2rem;line-height:1.4}
.landing-page .plan-head span{display:block;margin-top:5px;font-size:1.2rem;font-weight:500;color:var(--color-muted)}
.landing-page .plan-card.recommended .plan-head{border-radius:8px 8px 0 0;background:var(--color-accent);color:var(--color-paper)}
.landing-page .plan-card.recommended .plan-head span{color:var(--color-blue-100)}
.landing-page .plan-badge{top:-12px;right:-14px;z-index:3;width:88px;height:88px;padding:15px 4px 0;border-radius:0;background:var(--color-gold);clip-path:polygon(0 0,100% 0,100% 100%);color:var(--color-accent);font-size:1.2rem;transform:none}
.landing-page .plan-body{padding:24px 34px 28px}
.landing-page .plan-rate{margin-top:22px}
.landing-page .plan-rate .v{font-size:7.5rem;color:var(--color-accent)}
.landing-page .plan-rate .u{font-size:3.2rem;color:var(--color-accent)}
.landing-page .plan-rate-label{order:-1;font-size:1.25rem;color:var(--color-neutral)}
.landing-page .plan-lock,.landing-page .plan-desc{display:none}
.landing-page .plan-features{display:grid;gap:10px;margin:24px 0;font-size:1.35rem;color:var(--color-neutral)}
.landing-page .plan-features li{position:relative;padding-left:26px}
.landing-page .plan-features li::before{content:"✓";position:absolute;left:0;color:var(--color-accent);font-weight:700}
.landing-page .plan-action{display:flex;align-items:center;justify-content:center;min-height:52px;border:var(--rule-hair) solid var(--color-blue-300);border-radius:var(--radius-input);color:var(--color-accent);font-size:1.35rem;font-weight:600}
.landing-page .recommended .plan-action{border-color:var(--color-focus);background:var(--color-focus);color:var(--color-paper)}
.landing-page .campaign-full{display:none}
.landing-page #rates .section-inner{position:relative}
.landing-page #rates .section-head{margin-bottom:26px;text-align:left}
.landing-page #rates .section-title{font-size:3rem}
.landing-page .rates-more{position:absolute;top:8px;right:0;display:inline-flex;align-items:center;gap:8px;color:var(--color-accent);font-size:1.25rem;font-weight:600}
.landing-page .rate-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.landing-page .rate-card{min-height:205px;padding:24px 10px;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-paper);box-shadow:var(--shadow-soft)}
.landing-page .rate-card:nth-child(n+7){display:none}
.landing-page .rate-card-head{min-height:58px}
.landing-page .rate-card .coin-ic{width:52px;height:52px}
.landing-page .rate-card .sym{font-size:1.9rem;color:var(--color-ink)}
.landing-page .rate-card .nm{font-size:1.2rem}
.landing-page .rate-card .apy{margin-top:12px}
.landing-page .rate-card .apy .v{font-size:2.7rem;color:var(--color-accent)}
.landing-page .rate-card .apy .u{font-size:1.5rem;color:var(--color-accent)}
.landing-page .rate-card .apy-label{font-size:.95rem}
.landing-page .rate-table-wrap{display:none}
.landing-page .rate-note{max-width:1280px;margin:22px auto 0;font-size:1rem;line-height:1.75;color:var(--color-muted)}

/* 04 — simulator as one bordered application panel. */
.landing-page #simulator{max-width:none;margin:0;padding:68px 24px 78px;border-top:var(--rule-hair) solid var(--color-rule);border-bottom:var(--rule-hair) solid var(--color-rule);background:var(--color-paper)}
.landing-page #simulator>.section-inner{max-width:1280px;padding:0;border:0;background:transparent}
.landing-page #simulator .section-head{margin-bottom:28px;text-align:center}
.landing-page #simulator .section-title{font-size:3.5rem}
.landing-page #simulator .section-lead{margin-top:6px;font-size:1.3rem}
.landing-page .sim-grid{grid-template-columns:360px minmax(0,1fr);gap:0;border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-card);background:var(--color-paper);box-shadow:none;overflow:hidden}
.landing-page .sim-form{padding:32px 30px;border-right:var(--rule-hair) solid var(--color-rule-2);background:var(--color-soft-surface)}
.landing-page .field-label{font-size:1.3rem;color:var(--color-ink);font-weight:600}
.landing-page .sim-coin-select .select,.landing-page .sim-amount-input,.landing-page .sim-plan-toggle button{border-radius:var(--radius-input);background:var(--color-paper)}
.landing-page .sim-plan-toggle button.active{background:var(--color-accent);color:var(--color-paper)}
.landing-page .sim-presets{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.landing-page .sim-presets button{min-width:0;padding:9px 4px;white-space:nowrap}
.landing-page .sim-result{position:relative;min-height:600px;padding:30px 34px}
.landing-page .sim-headline{font-size:1.6rem;color:var(--color-accent)}
.landing-page .sim-value{position:absolute;top:28px;right:34px;margin:0;text-align:right}
.landing-page .sim-value .v{font-size:3.5rem;color:var(--color-focus)}
.landing-page .sim-sub{position:absolute;top:82px;right:34px;font-size:1.45rem}
.landing-page .sim-rows{display:none}
.landing-page .sim-chart{margin-top:66px;padding:0;border:0;background:transparent}
.landing-page .sim-chart-head span{font-size:1.45rem;color:var(--color-accent)}
.landing-page .sim-chart-compare{margin:15px 0}
.landing-page #simChart{height:390px}
.landing-page .sim-note{font-size:1rem}

/* Reference has no additional dark feature panel; its content lives in About. */
.landing-page #reasons{display:none}

/* 05 — five horizontal steps. */
.landing-page #flow{padding:64px 24px 78px;border-bottom:var(--rule-hair) solid var(--color-rule-2);background:var(--color-soft-surface)}
.landing-page #flow .section-head{margin-bottom:28px;text-align:left}
.landing-page #flow .section-title{font-size:3.4rem}
.landing-page .steps{counter-reset:flow;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:38px;max-width:1280px;margin:0 auto}
.landing-page .steps::before{display:none}
.landing-page .step{counter-increment:flow;position:relative;display:flex;flex-direction:column;align-items:center;min-height:250px;padding:26px 18px;text-align:center;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper);box-shadow:var(--shadow-soft)}
.landing-page .step:nth-child(2){display:none}
.landing-page .step::before{content:"0" counter(flow);position:static;order:2;display:block;width:auto;height:auto;margin:2px 0 0;border:0;background:transparent;color:var(--color-accent);font-family:var(--font-outlier);font-size:1.7rem;box-shadow:none;transform:none}
.landing-page .step:not(:last-child)::after{content:"›";display:block;position:absolute;z-index:2;left:auto;right:-27px;top:97px;width:auto;height:auto;background:transparent;color:var(--color-focus);font-size:4rem;font-weight:300}
.landing-page .step-art{order:1;width:68px;height:68px;margin:0 0 2px;object-fit:contain}
.landing-page .step h3{order:3;margin:0;padding:0;font-size:1.6rem;color:var(--color-accent)}
.landing-page .step p{order:4;margin-top:14px;font-size:1.2rem;line-height:1.8;color:var(--color-neutral)}

/* 06 — FAQ and news are flat lists, followed by an architectural CTA. */
.landing-page .support-overview{display:block;max-width:1280px;margin:0 auto;padding:68px 24px 72px}
.landing-page .support-overview>.section{padding:0;border:0;background:transparent}
.landing-page .support-overview>.section+.section{margin-top:46px}
.landing-page .support-overview .section-head{margin-bottom:20px;text-align:center}
.landing-page .support-overview .section-title{font-size:3rem}
.landing-page .faq-list,.landing-page .news-list{max-width:1120px;margin:0 auto;border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-input);background:var(--color-paper);overflow:hidden}
.landing-page .faq-item{border-bottom:var(--rule-hair) solid var(--color-rule)}
.landing-page .faq-item:nth-child(n+6){display:none}
.landing-page .faq-q{min-height:62px;padding:14px 24px;font-size:1.35rem}
.landing-page .faq-a{padding:0 24px 18px 64px;font-size:1.25rem}
.landing-page .faq-q .tgl{font-size:0}
.landing-page .faq-q .tgl::before{content:"⌄";font-size:2rem;color:var(--color-accent)}
.landing-page .news-list{padding:0 22px}
.landing-page .news-item{grid-template-columns:130px 100px minmax(0,1fr);min-height:56px;padding:12px 0;border-bottom:var(--rule-hair) solid var(--color-rule)}
.landing-page .news-date,.landing-page .news-title{font-size:1.25rem}
.landing-page .cta-band{min-height:350px;padding:64px max(32px,calc((100vw - 1180px)/2));background:var(--color-soft-blue);color:var(--color-accent)}
.landing-page .cta-band::before{background-image:linear-gradient(160deg,#FAF7F8 0%,#F1EDEF 100%);background-position:center right;background-size:cover}
.landing-page .cta-band::after{background:linear-gradient(90deg,var(--color-soft-blue) 0%,var(--color-soft-blue) 47%,transparent 85%)}
.landing-page .cta-band h2{max-width:760px;font-size:4.4rem;line-height:1.45;color:var(--color-accent);letter-spacing:.05em}
.landing-page .cta-band p{font-size:1.5rem;color:var(--color-neutral)}
.landing-page .cta-band .btn{min-width:360px;margin-top:26px;background:var(--color-accent);color:var(--color-paper)}
.landing-page .line-support-link{display:none}
.landing-page .site-footer{padding-top:46px}

/* Tablet */
@media (max-width:1100px){
  .landing-page .gnav{display:none}
  .landing-page .menu-btn{display:flex}
  .landing-page .hero-inner{grid-template-columns:minmax(0,.82fr) minmax(500px,1.18fr);gap:28px;padding-inline:24px}
  .landing-page .hero-copy{padding-left:0}
  .landing-page .hero-copy h1{font-size:5rem}
  .landing-page .dashboard-mock{transform:scale(.88);transform-origin:center right}
  .landing-page .about-section .section-inner{column-gap:36px;padding-inline:28px}
  .landing-page .rate-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .landing-page .rate-card:nth-child(n+7){display:none}
  .landing-page .steps{gap:20px}
  .landing-page .step:not(:last-child)::after{right:-17px}
}

/* Mobile — a deliberate single-column composition. */
@media (max-width:900px){
  .landing-page .section-title{font-size:2.6rem;line-height:1.5}
  .landing-page .section-lead{font-size:1.35rem;line-height:1.85}
  .landing-page .site-header,.landing-page .site-header-inner{height:64px}
  .landing-page .site-header-inner{padding-inline:16px}
  .landing-page .brand-mark{width:30px;height:30px}
  .landing-page .brand-name{font-size:1.55rem}
  .landing-page .header-login,.landing-page .header-cta{display:none}
  .landing-page .hero{min-height:auto}
  .landing-page .hero-inner{display:block;min-height:auto;padding:48px 20px 56px}
  .landing-page .hero-copy{padding:0}
  .landing-page .hero-copy h1{max-width:430px;font-size:clamp(3.45rem,10.7vw,4.5rem);line-height:1.42;letter-spacing:.05em}
  .landing-page .hero-sub{margin-top:22px;font-size:1.35rem;line-height:1.9}
  .landing-page .hero-rate{margin:32px 0 24px;padding-left:16px}
  .landing-page .hero-rate .lead{font-size:1.25rem}
  .landing-page .hero-rate .value{font-size:8.5rem}
  .landing-page .hero-rate .unit{font-size:3.2rem}
  .landing-page .hero-cta{max-width:none}
  .landing-page .hero-cta .btn{height:54px;font-size:1.4rem}
  .landing-page .hero-visual{display:none}
  .landing-page .hero-architecture{width:100%;height:45%;opacity:.2}

  .landing-page .about-section .section-inner{display:block;min-height:0;padding:56px 20px}
  .landing-page .about-section .section-head{max-width:none}
  .landing-page .about-section .section-title{font-size:2.75rem}
  .landing-page .about-section .section-lead{margin-top:18px}
  .landing-page .trust-grid{display:block}
  .landing-page .trust-scene{min-height:290px;margin-top:32px;border-radius:var(--radius-card)}
  .landing-page .trust-scene::before{width:250px;height:100px;bottom:88px}
  .landing-page .trust-scene::after{width:180px;height:70px;bottom:103px}
  .landing-page .trust-scene img{width:160px;height:160px;transform:translateY(-18px)}
  .landing-page .trust-scene figcaption{left:16px;right:16px;bottom:14px;display:block}
  .landing-page .trust-scene figcaption strong{font-size:1.2rem}
  .landing-page .trust-scene figcaption span{display:block;margin-top:3px;font-size:.95rem}
  .landing-page .trust-points{grid-template-columns:1fr;gap:22px;margin-top:30px}
  .landing-page .trust-point{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px}
  .landing-page .trust-point>span{grid-row:1 / 3;width:48px;height:48px;margin:0}
  .landing-page .trust-point h3{font-size:1.4rem}
  .landing-page .trust-point p{margin-top:5px;font-size:1.2rem}

  .landing-page .product-overview>.section{padding:54px 16px}
  .landing-page .product-overview .section-head{margin-bottom:26px}
  .landing-page .product-overview .section-title{font-size:2.7rem}
  .landing-page .plans{grid-template-columns:1fr;gap:18px}
  .landing-page .plan-head{min-height:78px;font-size:1.7rem}
  .landing-page .plan-body{padding:20px 24px 24px}
  .landing-page .plan-rate .v{font-size:6.2rem}
  .landing-page .plan-features{font-size:1.25rem}
  .landing-page #rates{padding-inline:20px}
  .landing-page #rates .section-head{text-align:left}
  .landing-page #rates .section-title{font-size:2.6rem}
  .landing-page .rates-more{top:4px;font-size:1.2rem}
  .landing-page .rate-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .landing-page .rate-card{min-height:180px;padding:18px 8px}
  .landing-page .rate-card .coin-ic{width:44px;height:44px}
  .landing-page .rate-card .sym{font-size:1.6rem}
  .landing-page .rate-note{font-size:.95rem}

  .landing-page #simulator{padding:54px 16px 60px}
  .landing-page #simulator .section-title{font-size:2.7rem}
  .landing-page .sim-grid{grid-template-columns:1fr}
  .landing-page .sim-form{padding:24px 20px;border-right:0;border-bottom:var(--rule-hair) solid var(--color-rule-2)}
  .landing-page .sim-result{min-height:510px;padding:24px 18px}
  .landing-page .sim-headline{font-size:1.35rem}
  .landing-page .sim-value{position:static;margin-top:12px;text-align:left}
  .landing-page .sim-value .v{font-size:2.8rem}
  .landing-page .sim-sub{position:static;margin-top:3px;text-align:left}
  .landing-page .sim-chart{margin-top:24px}
  .landing-page #simChart{height:260px}
  .landing-page .sim-chart-head{display:block}
  .landing-page .sim-chart-head small{display:block;margin-top:2px}
  .landing-page .sim-chart-compare{grid-template-columns:1fr;gap:7px}

  .landing-page #flow{padding:54px 20px}
  .landing-page #flow .section-head{text-align:center}
  .landing-page #flow .section-title{font-size:2.7rem}
  .landing-page .steps{grid-template-columns:1fr;gap:12px}
  .landing-page .step{display:grid;grid-template-columns:58px minmax(0,1fr);grid-template-rows:auto auto auto;min-height:0;padding:18px;text-align:left}
  .landing-page .step::before{grid-column:1;grid-row:2;align-self:start;margin:0;font-size:1.35rem;text-align:center}
  .landing-page .step:not(:last-child)::after{display:none}
  .landing-page .step-art{grid-column:1;grid-row:1;width:48px;height:48px;margin:0 auto}
  .landing-page .step h3{grid-column:2;grid-row:1 / 3;align-self:center;padding-left:8px;font-size:1.55rem}
  .landing-page .step p{grid-column:1 / -1;grid-row:3;margin-top:12px;font-size:1.2rem}

  .landing-page .support-overview{padding:54px 16px 60px}
  .landing-page .support-overview .section-title{font-size:2.65rem}
  .landing-page .faq-q{min-height:56px;padding:12px 14px;font-size:1.2rem}
  .landing-page .faq-a{padding:0 14px 16px;font-size:1.2rem}
  .landing-page .news-list{padding:0 14px}
  .landing-page .news-item{grid-template-columns:92px minmax(0,1fr);gap:4px 8px;padding:12px 0}
  .landing-page .news-title{grid-column:1 / -1;font-size:1.2rem}
  .landing-page .cta-band{min-height:330px;padding:52px 20px;background:var(--color-soft-blue)}
  .landing-page .cta-band::before{background-position:66% center;opacity:.55}
  .landing-page .cta-band::after{background:linear-gradient(90deg,var(--color-soft-blue) 0%,var(--color-soft-blue) 74%,transparent 100%)}
  .landing-page .cta-band h2{max-width:330px;font-size:3rem;line-height:1.5}
  .landing-page .cta-band p{max-width:270px;font-size:1.25rem}
  .landing-page .cta-band .btn{min-width:0;width:100%;max-width:330px}
}

@media (max-width:374px){
  .landing-page .hero-copy h1{font-size:3.25rem}
  .landing-page .hero-rate .value{font-size:7.5rem}
  .landing-page .rates-more{position:static;margin-top:10px}
  .landing-page .rate-cards{margin-top:20px}
  .landing-page .sim-presets{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (prefers-reduced-motion:reduce){
  .landing-page *{scroll-behavior:auto;animation-duration:1ms;transition-duration:1ms}
}


/* Official RISE logo — exact artwork supplied by the brand owner */
.brand .rise-logo{
  display:block;
  width:auto;
  height:34px;
  max-width:139px;
  object-fit:contain;
}
@media (max-width:1023px){
  .site-header .brand .rise-logo{height:32px;max-width:123px}
}
@media (max-width:767px){
  .brand .rise-logo{height:32px;max-width:123px}
}


/* Header brand interaction — same optical line as the landing header */
.site-header .brand{
  display:inline-flex;
  min-height:44px;
  align-items:center;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  box-shadow:none;
  filter:none;
  border-radius:0;
  transition:opacity var(--dur-micro) var(--ease-out);
}
.site-header .brand .rise-logo{
  /* LP（.lp-brand）と同じ寸法に揃える。登録まわりだけロゴが大きく見える状態を防ぐ */
  height:34px;
  max-width:132px;
}
@media (hover:hover) and (pointer:fine){
  .site-header .brand:hover{opacity:.78}
}
.site-header .brand:active{
  opacity:.68;
  transform:none;
  box-shadow:none;
}
.site-header .brand:focus:not(:focus-visible){
  outline:none;
  box-shadow:none;
}
.site-header .brand:focus-visible{
  outline:2px solid var(--color-focus);
  outline-offset:2px;
  box-shadow:none;
}
@media (max-width:1023px){
  .site-header .brand .rise-logo{height:34px;max-width:132px}
}

/* Header box includes its divider line: 68px total, matching landing and app */
.site-header{height:var(--header-h);box-sizing:border-box}

@media (hover:hover) and (pointer:fine){
  .notice-bar:hover{background:#FDE4E9}
  .line-support-link:hover{filter:brightness(.96)}
  .footer-nav a:hover{color:var(--primary);transform:none}
  .gnav a:hover{color:var(--primary-deep);background:var(--primary-soft)}
}

/* Hallmark · component: sheet-menu chevrons · genre: modern-minimal · design-system: design.md
 * Fixed geometry keeps every menu arrow on the label's visual centerline.
 * mobile: pass (320 / 375 / 414 / 768) · pre-emit critique: P5 H5 E5 S5 R5 V5
 */
.sheet-menu a::after{
  content:"";
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-block-start:1.5px solid currentColor;
  border-inline-end:1.5px solid currentColor;
  transform:rotate(45deg);
  transform-origin:center;
}

@media (min-width:901px){
  .landing-page .step:not(:last-child)::after{
    content:"";
    top:50%;
    width:12px;
    height:12px;
    border-block-start:2px solid currentColor;
    border-inline-end:2px solid currentColor;
    transform:translateY(-50%) rotate(45deg);
    transform-origin:center;
  }
}

/* Hallmark · component: auth header actions · genre: modern-minimal · design-system: design.md
 * Mirrors the landing header action geometry; fill alone communicates primary vs secondary.
 * mobile: pass (320 / 375 / 414 / 768) · pre-emit critique: P5 H5 E5 S5 R5 V5
 */
.auth-page .header-cta{
  width:auto;
  height:auto;
  min-height:44px;
  padding:9px 18px;
  border-radius:var(--radius-app-control);
  box-shadow:none;
  font-size:1.4rem;
  line-height:1.6;
  -webkit-tap-highlight-color:transparent;
}
.auth-page .header-cta.btn-primary{
  border:0;
}
.auth-page .header-cta.btn-outline{
  border:1.5px solid var(--primary);
}
.auth-page .header-cta:active{
  transform:none;
  box-shadow:none;
}
.auth-page .header-cta:focus:not(:focus-visible){
  outline:none;
  box-shadow:none;
}
.auth-page .header-cta:focus-visible{
  outline:2px solid var(--color-focus);
  outline-offset:2px;
  box-shadow:none;
}



/* ============================================================
   認証ページの補足（2026-09-16 高齢者対応）
   ============================================================ */
/* トースト: 認証ページにはタブバーが無い。欄下エラーに置き換える前提で位置だけ整える */
.auth-page .toast{bottom:24px}
/* 認証カード内の全幅ボタンの間隔 */
.auth-card .btn-block + .btn-block{margin-top:12px}
/* 単一の 6 桁入力欄 */
.auth-card .otp-single{margin-top:20px}
/* 契約書ページ（PC）: 広いカードでは契約書枠も広げる */
@media (min-width:768px){
  .auth-card.auth-card-wide .agreement-box{height:min(52vh,520px)}
}
/* 認証ページの注記 */
.auth-card .note{margin-top:16px}

/* ============================================================
   認証ページ（口座開設〜ログイン）の部品 · 2026-09-16 U-AUTH
   すべて .auth-* / .auth-card 配下。色・角丸は tokens の変数のみ。
   ============================================================ */
/* 5段ステッパー: 390px で「メール認証」5文字が折り返さないよう間隔を詰める */
.auth-card .stepper{margin-bottom:22px}
/* 長い文言の全幅ボタンは折り返す（はみ出さない） */
.auth-card .btn-block{white-space:normal}
.auth-card .stepper-track{gap:4px}
.auth-card .stepper-track li{letter-spacing:-.01em}
.auth-card .stepper + .auth-title{margin-top:0}
/* 同意する書面へのリンク（チェック行とは分ける・44px） */
.auth-doc-link{margin:18px 0 -8px;text-align:center}
.auth-doc-link a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 12px;color:var(--color-accent-hover);font-size:var(--fs-md);font-weight:700;text-decoration:underline;text-underline-offset:3px}
/* 口座開設の流れ（register）: 必要なものを 1 行 */
.auth-flow-note{margin:2px 0 0;font-size:var(--fs-sm);line-height:1.7;color:var(--ink2)}
/* 入力欄の中の 6 桁欄はラベルの直下 */
.auth-card .field .otp-single{margin-top:0}
/* 処理中のボタン（app.css の .btn.is-busy は認証ページでは読まれない） */
.auth-card .btn.is-busy{opacity:.6;pointer-events:none;cursor:progress}
/* 押せない主ボタンは灰色にする（薄いピンク＋白文字にしない） */
.auth-card .btn-primary[disabled]{background:var(--color-paper-3);color:var(--ink3);opacity:1;box-shadow:none}
/* 同意チェック: 契約書を読み終わるまでは灰色（label の中に input がある構造） */
.auth-card .agreement-consent label:has(> input:disabled){color:var(--ink3);cursor:not-allowed}
/* 送信先ブロックの「番号を変更する」（44px） */
.auth-channel-change{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;margin-top:2px;padding:0 12px;
  color:var(--color-accent-hover);font-size:var(--fs-sm);font-weight:700;text-decoration:underline;text-underline-offset:3px;
}
/* 完了・受付のアイコン（チェック／時計）。1 画面に 1 つ */
.auth-done-icon{
  width:76px;height:76px;border-radius:50%;
  background:var(--success-soft);color:var(--success);
  display:flex;align-items:center;justify-content:center;
  margin:8px auto 16px;
}
.auth-done-icon.is-wait{background:var(--bg-soft);color:var(--primary-deep)}
.auth-done-icon svg{width:38px;height:38px}
/* 進捗の状態リスト（kyc-submitted）: 名前 → chip */
.auth-status-list{
  margin:20px 0 0;padding:0;list-style:none;
  border:1px solid var(--line);border-radius:var(--radius-panel);
  text-align:left;
}
.auth-status-list li{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  min-height:54px;padding:12px 16px;
  font-size:var(--fs-md);font-weight:500;color:var(--ink);
}
.auth-status-list li + li{border-top:1px solid var(--line)}
/* 締結内容のリスト（complete）: ラベル → 値 */
.auth-meta-list{
  margin:20px 0 0;padding:0;
  border:1px solid var(--line);border-radius:var(--radius-panel);
  text-align:left;
}
.auth-meta-list div{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  min-height:54px;padding:12px 16px;
}
.auth-meta-list div + div{border-top:1px solid var(--line)}
.auth-meta-list dt{margin:0;font-size:var(--fs-sm);font-weight:500;color:var(--ink2)}
.auth-meta-list dd{margin:0;font-size:var(--fs-md);font-weight:700;color:var(--ink);text-align:right;overflow-wrap:anywhere}
/* 本人確認が先、のゲート（agreement） */
.auth-gate .btn-block + .btn-block{margin-top:12px}
/* ページ内セクション（本人確認の 1・2・3） */
.auth-section{margin-top:26px}
.auth-section .step-head{margin-bottom:12px}
.auth-section-lead{margin:-4px 0 14px;font-size:var(--fs-md);line-height:1.7;color:var(--ink2)}
/* 撮影のコツ（3 つまで） */
.auth-tips{margin:0 0 14px;padding-left:1.3em;list-style:disc}
.auth-tips li{margin:2px 0;font-size:var(--fs-sm);line-height:1.7;color:var(--ink2)}
/* 契約の要点（agreement）: 契約書の前に 3 行 */
.auth-summary{margin:16px 0 0;padding:14px 16px 14px 34px;list-style:disc;background:var(--bg-soft);border-radius:var(--radius-panel)}
.auth-summary li{margin:2px 0;font-size:var(--fs-md);line-height:1.7;color:var(--ink2)}
/* 主ボタンの真上の一文（次に何が起きるか）は中央寄せ */
.auth-card .irreversible-note{margin-top:20px}
.auth-card .btn-block + .auth-foot{margin-top:20px}
.auth-card .btn-block + .agreement-note{margin-top:12px}
/* 主ボタンの直下に置く注記（届かない場合の案内） */
.auth-card .resend-line + .field-note{margin-top:4px;text-align:center}
/* 見出し・リード文の 2 行折返しで 1 文字だけ孤立させない（対応ブラウザのみ） */
.auth-card .auth-title,.auth-card .auth-lead,.auth-card .ss-title{text-wrap:balance}
/* 日本語を語の途中で折り返さない（「パスワ／ード」「マイナンバーカー／ド」「説明書を読／む」を作らない）。
   word-break:auto-phrase は対応ブラウザだけで効き、非対応ブラウザは従来どおりに折り返す（見た目が戻るだけ）。 */
.auth-card .auth-title,.auth-card .auth-lead,.auth-card .auth-flow-note,.auth-card .auth-section-lead,
.auth-card .auth-tips li,.auth-card .auth-summary li,.auth-card .field-label,.auth-card .field-note,
.auth-card .field-error,.auth-card .irreversible-note,.auth-card .agreement-note,.auth-card .agreement-hint,
.auth-card .stepper-head,.auth-card .auth-status-list li,.auth-card .auth-meta-list dt,
.auth-card .agreement-consent label,.auth-card .auth-consent label,.auth-card .auth-doc-link a,
.auth-card .btn,.auth-card .ss-title,.auth-card .ss-text,.auth-card .auth-foot{
  line-break:strict;word-break:auto-phrase;
}
/* 途中で切れると読み取りにくい語は、どの環境でも 1 語のまま折り返す */
.auth-card .nw{white-space:nowrap}
/* hidden 属性をクラスの display に負けさせない（認証ページは app.css を読まないので、ここで担保） */
.auth-page [hidden]{display:none!important}

/* ============================================================
   ヘッダーを LP（index.html / legal.html / news.html ＝ lp.css）と同じ寸法に固定
   （2026-09-16 オーナー指示「LP と登録画面で左上のロゴ位置がずれる。LP は変えずに固定」）
   LP → 口座開設・ログインへ移っても、ロゴとログインボタンが動かず、見た目も変わらないようにする。
   基準（lp.css の .header-bar / .wrap / .brand / .header-login）:
     高さ 56px（下線 1px 込み）／内側の幅 min(1040px, 100% − 余白×2)／余白 20px（768px 以上は 40px）
     ロゴ 高さ 34px・上下中央／ログインは 44px・枠 1.5px ローズ・角丸 12px・14px/500
   値を変えるときは lp.css の同じ箇所と必ず一緒に変える。
   ============================================================ */
.auth-page{
  --lp-header-h:56px;
  --lp-wrap:1040px;
  --lp-gutter:20px;
  --lp-header-line:#E8DDE0;   /* lp.css の --line と同じ値（ヘッダー下線の色） */
  --lp-focus:#B7122F;         /* lp.css の --rose-dark と同じ値（ロゴのフォーカス枠） */
}
:root{--header-h:56px}   /* site.css は認証9ページだけが読む。scroll-padding も LP と同じになる */
@media (min-width:768px){.auth-page{--lp-gutter:40px}}
.auth-page .site-header{
  position:sticky;top:0;
  height:var(--lp-header-h);
  box-sizing:border-box;
  background:var(--color-paper);
  -webkit-backdrop-filter:none;backdrop-filter:none;
  box-shadow:none;
  border-bottom:1px solid var(--lp-header-line);
}
.auth-page .site-header-inner{
  width:min(var(--lp-wrap),100% - var(--lp-gutter)*2);
  max-width:none;
  height:100%;
  margin-inline:auto;
  padding:1px 0 0;   /* lp.css .header-inner と同じ。ロゴの上端 11px・ボタンの上端 6px（整数位置） */
  gap:20px;
}
/* ロゴのリンクと img は lp.css の .brand / .brand img と1つ残らず同じ値（画素単位で一致させる）。
   object-fit は fill（contain だと描画域が丸め直され、LP より約1px小さく描かれていた）。
   ホバー・押下で薄くする演出も LP に無いので付けない。 */
.auth-page .site-header .brand{
  flex:none;display:flex;align-items:center;
  min-height:44px;padding:0 4px;margin-left:-4px;
  border-radius:0;opacity:1;transform:none;transition:none;
}
.auth-page .site-header .brand .rise-logo{
  display:block;flex:none;
  width:auto;height:34px;max-width:none;
  object-fit:fill;
}
.auth-page .site-header .brand:hover,.auth-page .site-header .brand:active{opacity:1}
.auth-page .site-header .brand:focus-visible{outline:2px solid var(--lp-focus);outline-offset:3px}
/* ログインボタン: base.css の .btn に頼らず全部の値をここで固定（LP の .header-login と同じ値） */
.auth-page .header-actions{gap:6px}
.auth-page .header-cta{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:9px 18px;
  border-radius:12px;
  font-family:var(--font);font-size:1.4rem;font-weight:500;line-height:22px;letter-spacing:.04em;   /* lp.css .header-login と同じ */
  font-feature-settings:normal;
  white-space:nowrap;
}
.auth-page .header-cta.btn-outline{
  background:var(--color-paper);
  color:var(--color-navy-800);
  border:1.5px solid var(--color-accent);
}
@media (max-width:359px){
  .auth-page .header-cta{padding-inline:12px}   /* lp.css の 359px 以下と同じ */
}

/* ============================================================
   同じ行の揃い（2026-09-16 · LP・認証の揃い点検）
   ============================================================ */
/* 「ステップ 1/5 メール認証」「契約番号 MA-…」: 同じ大きさの行に Inter が混ざると番号だけ浮くため、番号も Noto Sans JP にする */
.auth-card .stepper-head .num,
.auth-card .ss-meta .num{font-family:var(--font);letter-spacing:0}
/* 締結内容のリスト: ラベル 13px と値 15px の中心線を揃える（行の高さを整数 px に） */
.auth-meta-list dt{line-height:20px}
.auth-meta-list dd{line-height:24px}
/* 契約番号・書面バージョンの値も、ほかの値（締結日時）と同じ Noto Sans JP にする（Inter だと字面の中心が 0.5px 上にずれる） */
.auth-meta-list dd.num{font-family:var(--font);letter-spacing:0}
/* 同意チェック: チェックボックスの左端を、入力欄・ラベルの左端に揃える（label の左 4px の余白をなくす。右と上下の余白・48px のタップ領域はそのまま） */
.auth-card .auth-consent label,.auth-card .agreement-consent label{padding-left:0}
