@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@500;600;700;800&family=Noto+Sans+JP:wght@400;500;600;700&family=Jost:wght@400;500;600&display=swap");

/* =========================================================
   Invest -インベスト-  green theme design system
   Tone variants switched via  <html data-tone="forest|sage|teal">
========================================================= */
:root,
[data-tone="forest"]{
  --bg:#eef3ee;
  --surface:#ffffff;
  --surface-2:#f4f7f3;
  --ink:#19271d;
  --ink-soft:#48564c;
  --ink-mute:#7c8a80;
  --line:#dde5df;
  --dark:#15271b;
  --dark-2:#21402c;
  --dark-3:#2c5238;
  --accent:#4a8b5c;
  --accent-deep:#357a48;
  --accent-soft:#7cb389;
  --accent-tint:rgba(74,139,92,.10);
  --on-dark:#eef3ee;
  --on-dark-mute:rgba(238,243,238,.66);
  --danger:#bf5246;
  --gold:#cda968;
  --gold-soft:#e6cf9b;
  --grid-line:rgba(255,255,255,.05);
}
[data-tone="sage"]{
  --bg:#f2f5f0;
  --surface:#ffffff;
  --surface-2:#f5f8f3;
  --ink:#28332a;
  --ink-soft:#56625a;
  --ink-mute:#8a968c;
  --line:#e0e6df;
  --dark:#2b3a2f;
  --dark-2:#3a5341;
  --dark-3:#4a6a52;
  --accent:#6f9e74;
  --accent-deep:#5a8a60;
  --accent-soft:#9bc0a0;
  --accent-tint:rgba(111,158,116,.12);
  --on-dark:#f1f5ef;
  --on-dark-mute:rgba(241,245,239,.68);
  --danger:#c06b5e;
  --gold:#c9a86c;
  --gold-soft:#e3cd97;
  --grid-line:rgba(255,255,255,.055);
}
[data-tone="teal"]{
  --bg:#ecf3f0;
  --surface:#ffffff;
  --surface-2:#f1f6f3;
  --ink:#102420;
  --ink-soft:#3f524c;
  --ink-mute:#74867f;
  --line:#d6e2dd;
  --dark:#0d231d;
  --dark-2:#103b32;
  --dark-3:#16544590;
  --accent:#1f9e84;
  --accent-deep:#13836c;
  --accent-soft:#5fc3ad;
  --accent-tint:rgba(31,158,132,.10);
  --on-dark:#e9f4f0;
  --on-dark-mute:rgba(233,244,240,.66);
  --danger:#c75d4f;
  --gold:#cBa86a;
  --gold-soft:#e6cf95;
  --grid-line:rgba(255,255,255,.05);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:"Noto Sans JP","メイリオ",Meiryo,sans-serif;
  font-size:1rem;font-weight:400;line-height:1.85;
  color:var(--ink);background:var(--bg);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
ul,ol{list-style:none}
a{color:inherit;text-decoration:none;transition:color .2s ease,opacity .2s ease}
img{display:block;max-width:100%;height:auto}
button{cursor:pointer;border:none;background:none;font-family:inherit}
h1,h2,h3,h4{font-weight:700;line-height:1.4}

/* ---------- layout ---------- */
.l-inner{max-width:1240px;margin-inline:auto;padding-inline:40px}
@media(max-width:768px){.l-inner{padding-inline:20px}}
.l-main{padding-top:84px}
@media(max-width:768px){.l-main{padding-top:60px}}

/* serif display + eyebrow helpers */
.disp{font-family:"Shippori Mincho",serif;font-weight:700;letter-spacing:.04em}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:"Jost",sans-serif;font-weight:500;
  font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;
  color:var(--accent);
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--gold);opacity:.95}

.sec-head{margin-bottom:48px}
.sec-head .eyebrow{margin-bottom:12px}
.sec-title{
  font-family:"Shippori Mincho",serif;font-weight:700;
  font-size:clamp(1.6rem,3.2vw,2.4rem);color:var(--ink);
  letter-spacing:.04em;line-height:1.35;
}
.sec-title--light{color:var(--on-dark)}
.sec-lead{margin-top:18px;color:var(--ink-soft);font-size:.96rem;max-width:68ch;line-height:1.9}
.text-keep{display:inline-block}

/* =========================================================
   Header
========================================================= */
.hd{
  position:fixed;inset:0 0 auto 0;height:84px;z-index:900;
  background:color-mix(in srgb,var(--surface) 88%, transparent);
  backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid var(--line);
  transition:box-shadow .3s ease,background .3s ease;
}
.hd.is-scrolled{box-shadow:0 6px 30px rgba(21,39,27,.10)}
@media(max-width:768px){.hd{height:60px}}
.hd__inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand__mark{
  width:38px;height:38px;border-radius:9px;flex-shrink:0;
  background:linear-gradient(150deg,var(--dark-2),var(--dark));
  display:grid;place-items:center;position:relative;overflow:hidden;
  box-shadow:0 4px 14px rgba(21,39,27,.22);
}
.brand__mark svg{width:24px;height:24px}
.brand__mark--image{background:#fff}
.brand__mark--image img{width:100%;height:100%;object-fit:contain;display:block}
.brand__name{font-family:"Jost",sans-serif;font-weight:600;font-size:1.34rem;letter-spacing:.02em;color:var(--ink);line-height:1}
.brand__name b{color:var(--accent);font-weight:600}
.brand__sub{display:block;font-family:"Noto Sans JP";font-size:.6rem;letter-spacing:.42em;color:var(--ink-mute);margin-top:3px;font-weight:500}
.hd .brand,
.ft__brand .brand{
  display:block;
  width:180px;
  height:76px;
  background:url("logo-invest-c.png") left center / contain no-repeat;
}
.hd .brand > *,
.ft__brand .brand > *{
  display:none;
}
.ft__brand .brand{
  width:190px;
  height:80px;
  background-image:url("logo-invest-c-footer.png");
}
@media(max-width:768px){.brand__mark{width:32px;height:32px}.brand__name{font-size:1.1rem}.brand__sub{font-size:.52rem;letter-spacing:.34em}}
@media(max-width:768px){.hd .brand{width:140px;height:56px}.ft__brand .brand{width:170px;height:72px}}

.gnav{flex:1}
@media(max-width:1024px){.gnav{display:none}}
.gnav__list{display:flex;align-items:center;justify-content:center;gap:4px}
.gnav__list a{position:relative;display:flex;align-items:center;height:84px;padding:0 18px;font-size:.88rem;font-weight:500;letter-spacing:.04em;color:var(--ink)}
.gnav__list a::after{content:"";position:absolute;left:18px;right:18px;bottom:26px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.gnav__list a:hover::after,.gnav__list li.is-active a::after{transform:scaleX(1)}
.gnav__list li.is-active a{color:var(--accent-deep);font-weight:600}

.hd__cta{display:flex;align-items:center;gap:14px;flex-shrink:0}
@media(max-width:1024px){.hd__cta .btn{display:none}}
.member-chip{display:flex;align-items:center;gap:10px;padding:7px 8px 7px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}
.member-chip__txt{text-align:right;line-height:1.2}
.member-chip__id{display:block;font-size:.6rem;color:var(--ink-mute);font-family:"Jost"}
.member-chip__name{display:block;font-size:.82rem;font-weight:600;color:var(--ink)}
.member-chip__av{width:30px;height:30px;border-radius:50%;background:linear-gradient(150deg,var(--accent),var(--accent-deep));display:grid;place-items:center;color:#fff;font-size:.8rem;font-weight:700}
.member-chip__av{display:none!important}
@media(max-width:768px){.member-chip__txt{display:none}}
.front-mail-link{position:relative;width:42px;height:42px;border-radius:999px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;color:var(--accent-deep);transition:background .2s,color .2s,border-color .2s,transform .15s}
.front-mail-link svg{width:21px;height:21px}
.front-mail-link:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-1px)}
.front-mail-link__count{position:absolute;right:-3px;top:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--gold);color:#1b211c;font-family:"Jost";font-size:.68rem;font-weight:700;line-height:18px;text-align:center}
.member-menu{position:relative;display:flex;align-items:center}
.member-chip--button{padding:7px 14px;text-align:right;transition:border-color .2s,box-shadow .2s,transform .15s}
.member-chip--button:hover,.member-menu.is-open .member-chip--button{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 10px 24px -18px rgba(21,39,27,.48);transform:translateY(-1px)}
.member-menu__dropdown{position:absolute;right:0;top:calc(100% + 10px);z-index:920;min-width:150px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 36px -22px rgba(21,39,27,.6)}
.member-menu__dropdown::before{content:"";position:absolute;right:24px;top:-6px;width:10px;height:10px;background:var(--surface);border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}
.member-menu__item{display:block;width:100%;padding:10px 12px;border-radius:7px;text-align:left;font-size:.86rem;font-weight:700;color:var(--ink);background:transparent;text-decoration:none}
.member-menu__item:hover{background:var(--accent-tint);color:var(--accent-deep)}
@media(max-width:768px){.front-mail-link{width:38px;height:38px}.member-chip--button{display:none}}

.burger{display:none}
@media(max-width:1024px){
  .burger{display:flex;flex-direction:column;justify-content:space-between;width:26px;height:18px;flex-shrink:0}
  .burger span{height:2px;width:100%;background:var(--ink);border-radius:2px;transition:transform .3s,opacity .3s}
  .burger.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .burger.is-open span:nth-child(2){opacity:0}
  .burger.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
}
.drawer{position:fixed;top:0;right:0;width:300px;max-width:84vw;height:100dvh;background:var(--dark);color:var(--on-dark);z-index:950;transform:translateX(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);padding:84px 26px 32px;overflow-y:auto}
.drawer.is-open{transform:translateX(0)}
.drawer__nav a{display:block;padding:15px 6px;font-size:.95rem;color:var(--on-dark);border-bottom:1px solid rgba(255,255,255,.08);transition:padding-left .2s,color .2s}
.drawer__nav a:hover{padding-left:14px;color:var(--accent-soft)}
.drawer__member{background:rgba(255,255,255,.05);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:10px;padding:16px;margin-bottom:22px}
.drawer__member .id{font-size:.66rem;color:var(--accent-soft);font-family:"Jost"}
.drawer__member .nm{font-size:1rem;font-weight:600;margin-top:2px}
.scrim{position:fixed;inset:0;background:rgba(8,16,11,.5);z-index:940;opacity:0;pointer-events:none;transition:opacity .4s}
.scrim.is-open{opacity:1;pointer-events:auto}

/* =========================================================
   Buttons
========================================================= */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 34px;border-radius:8px;font-weight:600;font-size:.94rem;letter-spacing:.04em;
  transition:transform .15s,box-shadow .3s,background .3s,color .25s,border-color .25s;white-space:nowrap;
}
.btn .ar{transition:transform .25s}
.btn:hover .ar{transform:translateX(4px)}
.btn:active{transform:translateY(1px)}
.btn:disabled,.btn[aria-disabled="true"],form[aria-busy="true"] .btn{opacity:.68;cursor:not-allowed;box-shadow:none;transform:none}
.btn:disabled .ar,form[aria-busy="true"] .btn .ar{transform:none}
.btn--primary{background:var(--accent);color:#fff;box-shadow:0 8px 24px -8px color-mix(in srgb,var(--accent) 70%,transparent)}
.btn--primary:hover{background:var(--accent-deep);box-shadow:0 12px 30px -8px color-mix(in srgb,var(--accent) 75%,transparent);transform:translateY(-2px)}
.btn--lg{padding:19px 46px;font-size:1.04rem;border-radius:9px}
.btn--ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn--ghost:hover{border-color:var(--accent);color:var(--accent-deep)}
.btn--on-dark{background:var(--accent);color:#fff;border:1.5px solid var(--accent)}
.btn--on-dark:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.btn--text{padding:8px 0;color:var(--ink);font-weight:600;position:relative}
.btn--text::after{content:"";position:absolute;left:0;bottom:4px;width:100%;height:1.5px;background:var(--accent);transform:scaleX(.35);transform-origin:left;transition:transform .3s}
.btn--text:hover{color:var(--accent-deep)}.btn--text:hover::after{transform:scaleX(1)}
.btn--red{background:var(--danger);color:#fff;box-shadow:0 8px 22px -8px color-mix(in srgb,var(--danger) 65%,transparent)}
.btn--red:hover{filter:brightness(.94);transform:translateY(-2px)}
.btn--full{width:100%}
@media(max-width:768px){.btn{width:100%;max-width:360px;margin-inline:auto;text-align:center}.btn--text{width:auto;max-width:none}}

.badge{display:inline-flex;align-items:center;gap:7px;padding:7px 16px;border-radius:999px;font-size:.78rem;font-weight:600;letter-spacing:.06em;white-space:nowrap;background:var(--accent-tint);color:var(--accent-deep);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}
.badge--free{background:var(--accent);color:#fff;border-color:transparent}

/* =========================================================
   Decorative chart / data geometry
========================================================= */
.deco-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 90% 80% at 70% 30%,#000 40%,transparent 78%)}
.deco-chart{position:absolute;pointer-events:none;opacity:.6}
.deco-chart line,.deco-chart polyline,.deco-chart path{vector-effect:non-scaling-stroke}
.section-bg-uptrend{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(110deg,rgba(8,16,11,.74) 0%,rgba(8,16,11,.5) 46%,rgba(8,16,11,.18) 100%),url("bg-uptrend-soft.png");background-size:cover;background-position:center;opacity:1;filter:brightness(1.18) saturate(1.08)}
.section-bg-uptrend--consult{background-image:linear-gradient(110deg,rgba(8,16,11,.68) 0%,rgba(8,16,11,.44) 46%,rgba(8,16,11,.14) 100%),url("bg-uptrend-soft.png");filter:brightness(1.24) saturate(1.1)}

/* =========================================================
   Hero  (login-before)
========================================================= */
.hero{position:relative;overflow:hidden;color:var(--on-dark);background:var(--dark)}
.hero__bgimg{position:absolute;inset:0;background-size:cover;background-position:center right;opacity:1}
.hero__veil{position:absolute;inset:0;background:linear-gradient(95deg,rgba(8,16,11,.95) 0%,rgba(10,22,15,.86) 34%,rgba(10,22,15,.55) 62%,rgba(12,28,18,.22) 100%)}
.hero__veil::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 80% 10%,color-mix(in srgb,var(--gold) 16%,transparent) 0%,transparent 60%)}
.hero__inner{position:relative;z-index:2;padding:96px 0 110px}
@media(max-width:768px){.hero{ text-align:center }.hero__inner{padding:64px 0 70px;display:flex;flex-direction:column;align-items:center}.hero__bgimg{background-position:center top}.hero__veil{background:linear-gradient(180deg,rgba(8,16,11,.88) 0%,rgba(8,16,11,.76) 52%,rgba(8,16,11,.94) 100%)}}
.hero__catch{font-family:"Shippori Mincho",serif;font-size:clamp(1.16rem,2.8vw,1.68rem);color:var(--accent);letter-spacing:.08em;margin-bottom:18px;font-weight:700;text-shadow:0 0 18px color-mix(in srgb,var(--accent) 58%,transparent),0 1px 12px rgba(0,0,0,.42)}
.hero__badge{margin-bottom:26px}
.hero__title{font-family:"Shippori Mincho",serif;font-weight:800;font-size:clamp(2.4rem,6.6vw,4.6rem);line-height:1.18;letter-spacing:.04em;color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.3)}
.hero__title .amp{color:var(--accent-soft);font-weight:600;margin:0 .12em}
.hero__sub{margin-top:26px;font-size:1.02rem;line-height:1.95;color:rgba(248,255,251,.86);max-width:36em;text-shadow:0 1px 12px rgba(0,0,0,.38)}
.hero__sub span{display:block}
@media(max-width:768px){.hero__catch{font-size:clamp(1.08rem,4.2vw,1.22rem);letter-spacing:.05em;line-height:1.55;max-width:calc(100vw - 40px)}.hero__sub{margin-inline:auto;font-size:.96rem;max-width:calc(100vw - 44px);line-height:1.9}}
.hero__actions{margin-top:42px;display:flex;flex-wrap:wrap;gap:16px;align-items:center}
@media(max-width:768px){.hero__actions{justify-content:center;width:100%}}
.hero__note{font-size:.76rem;color:rgba(248,255,251,.82);letter-spacing:.03em}
.hero__stats{margin-top:64px;display:flex;flex-wrap:wrap;gap:14px 56px;padding-top:34px;border-top:1px solid rgba(255,255,255,.12)}
.hero__stat .n{font-family:"Shippori Mincho",serif;font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:700;color:#fff;line-height:1}
.hero__stat .n i{font-style:normal;font-size:.5em;color:var(--accent-soft);margin-left:3px}
.hero__stat .l{font-size:.74rem;color:rgba(248,255,251,.82);letter-spacing:.12em;margin-top:8px}
.member-visual{position:relative;overflow:hidden;background:var(--dark)}
.member-visual::before{content:"";position:absolute;inset:0;z-index:0;background-image:url("hero-member-continuous.png");background-size:cover;background-position:center top;opacity:1}
.member-visual::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,16,11,.08) 0%,rgba(8,16,11,.34) 46%,rgba(8,16,11,.84) 100%),linear-gradient(95deg,rgba(8,16,11,.94) 0%,rgba(8,16,11,.74) 34%,rgba(8,16,11,.36) 68%,rgba(8,16,11,.2) 100%)}
.member-visual .hero,.member-visual .bannerhero{position:relative;z-index:2;background:transparent}
.member-visual .hero__bgimg,.member-visual .hero__veil{display:none}
.member-visual .hero__inner,.member-visual .bannerhero__inner{position:relative;z-index:2}
.member-visual .bannerhero--hero-bg::before{content:none}
.member-visual .bannerhero__inner{padding-top:26px;padding-bottom:58px}
@media(max-width:768px){.member-visual::before{background-position:center top}.member-visual::after{background:linear-gradient(180deg,rgba(8,16,11,.56) 0%,rgba(8,16,11,.5) 44%,rgba(8,16,11,.88) 100%)}.member-visual .bannerhero__inner{padding-top:12px;padding-bottom:38px}}

/* =========================================================
   Notice ticker
========================================================= */
.ticker{background:var(--dark);color:var(--on-dark);border-bottom:1px solid rgba(255,255,255,.07)}
.ticker__inner{display:flex;align-items:center;gap:18px;height:46px;overflow:hidden}
.ticker__tag{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:700;letter-spacing:.14em;color:var(--accent-soft)}
.ticker__tag::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent-soft);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 30%,transparent)}
.ticker__track{display:flex;gap:48px;white-space:nowrap;animation:ticker 26s linear infinite}
.ticker__track span{font-size:.82rem;color:var(--on-dark-mute)}
.ticker__track b{color:var(--on-dark);font-weight:600}
.ticker__track .up{color:#7fd1a0}.ticker__track .dn{color:#e69b8f}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* =========================================================
   Mail alert
========================================================= */
.mailalert{padding:40px 0 18px}
.mailalert__link{display:flex;align-items:center;gap:14px;justify-content:center;background:var(--surface);border:1.5px solid color-mix(in srgb,var(--danger) 55%,transparent);border-radius:12px;padding:18px 34px;font-size:clamp(.92rem,2vw,1.15rem);box-shadow:0 6px 22px -14px rgba(21,39,27,.5);transition:box-shadow .3s,transform .2s}
.mailalert__link:hover{transform:translateY(-1px);box-shadow:0 12px 30px -16px rgba(21,39,27,.55)}
.mailalert__tag{flex-shrink:0;background:var(--danger);color:#fff;font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:5px;letter-spacing:.06em}
.mailalert em{color:var(--danger);font-style:normal;font-weight:700}
.mailalert .ar{color:var(--danger);flex-shrink:0}
@media(max-width:768px){.mailalert__link{gap:8px;padding:14px 16px;flex-wrap:wrap;justify-content:flex-start;text-align:left}.mailalert__link span:nth-child(2){min-width:0;flex:1 1 190px;line-height:1.7;overflow-wrap:anywhere}.mailalert .ar{margin-left:auto}}

/* =========================================================
   Section shells
========================================================= */
.sec{padding:104px 0;position:relative}
@media(max-width:768px){.sec{padding:64px 0}}
.sec--dark{background:linear-gradient(135deg,var(--dark) 0%,var(--dark-2) 55%,var(--dark) 100%);color:var(--on-dark);overflow:hidden}
.sec--dark > .l-inner{position:relative;z-index:2}
.sec--alt{background:var(--surface-2)}

.split{display:grid;grid-template-columns:1.05fr 1fr;gap:72px;align-items:center}
.split--rev .split__media{order:2}
@media(max-width:1024px){.split{grid-template-columns:1fr;gap:36px}.split--rev .split__media{order:0}}
@media(max-width:768px){.split__body{text-align:center;display:flex;flex-direction:column;align-items:center}.split__body .eyebrow{justify-content:center}.split__body .badge{margin-left:auto!important;margin-right:auto!important}.split__body .split__text{max-width:34rem}.split__body .btn{align-self:center}}
.split__body .sec-lead,.split__body .split__text{color:var(--ink-soft)}
.sec--dark .split__body .sec-title{color:var(--on-dark)}
.sec--dark .split__body .split__lead{color:var(--on-dark)}
.sec--dark .split__body .split__lead b{color:var(--accent-soft);font-weight:800}
.sec--dark .split__body .split__text{color:var(--on-dark-mute)}
.consult-form-label{display:flex;align-items:center;width:max-content;margin:2px 0 16px;padding:6px 13px;border-radius:6px;border:1px solid color-mix(in srgb,var(--accent-soft) 56%,transparent);background:rgba(255,255,255,.08);color:var(--accent-soft);font-size:.82rem;font-weight:800;letter-spacing:.08em}
.split__lead{margin:18px 0 10px;font-size:1.05rem;line-height:1.9;font-weight:700}
.split__text{margin:18px 0 36px;font-size:.98rem;line-height:1.95}
.split__media{position:relative}
.split__media img{width:100%;height:100%;object-fit:cover;border-radius:14px;aspect-ratio:3/2}
.split__media .frame-tag{position:absolute;left:-14px;top:-14px;background:var(--gold);color:#1a1408;font-family:"Jost";font-size:.72rem;font-weight:600;letter-spacing:.18em;padding:8px 16px;border-radius:7px;box-shadow:0 10px 24px -10px color-mix(in srgb,var(--gold) 70%,transparent)}
.split__media::after{content:"";position:absolute;right:-18px;bottom:-18px;width:60%;height:60%;border:1.5px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:14px;z-index:-1}

/* =========================================================
   Track record cards
========================================================= */
.track-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:1024px){.track-rail{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.track-rail{grid-template-columns:1fr}}
.tcard{background:var(--surface);border:1px solid var(--line);border-radius:13px;overflow:hidden;box-shadow:0 14px 34px -22px rgba(21,39,27,.4);transition:transform .3s,box-shadow .3s}
.tcard:hover{transform:translateY(-5px);box-shadow:0 22px 44px -22px rgba(21,39,27,.5)}
.tcard__hd{background:linear-gradient(120deg,var(--dark-2),var(--dark));padding:13px 16px;display:flex;align-items:center;gap:9px}
.tcard__code{background:var(--accent);color:#fff;font-family:"Jost";font-size:.72rem;font-weight:600;padding:3px 9px;border-radius:5px;letter-spacing:.04em}
.tcard__name{font-family:"Shippori Mincho",serif;font-size:.96rem;font-weight:700;color:#fff}
.tcard__chart{background:#fff;padding:6px 6px 0;border-bottom:1px solid var(--line)}
.tcard__chart img{width:100%;aspect-ratio:1200/440;object-fit:cover;object-position:right center}
.tcard__bd{padding:16px}
.tcard__row{display:flex;align-items:center;gap:10px;font-size:.86rem;margin-bottom:9px}
.tcard__lab{flex-shrink:0;min-width:74px;text-align:center;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-soft);font-size:.68rem;font-weight:700;padding:4px 8px;border-radius:5px;letter-spacing:.02em}
.tcard__val{font-weight:600;color:var(--ink)}
.tcard__rate{display:flex;align-items:center;justify-content:space-between;margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}
.tcard__rate .lab{font-size:.72rem;font-weight:700;color:var(--ink-mute);letter-spacing:.04em}
.tcard__rate .v{font-family:"Shippori Mincho",serif;font-size:1.5rem;font-weight:800;color:#d6443d}
.performance-split{background:var(--surface-2)}
.performance-split__panel{background:linear-gradient(135deg,rgba(255,255,255,.9) 0%,rgba(244,247,243,.88) 52%,rgba(255,255,255,.92) 100%),url("bg-uptrend-soft.png");background-size:cover;background-position:center;border:1px solid var(--line);border-radius:16px;padding:58px;box-shadow:0 20px 54px -34px rgba(21,39,27,.45)}
.performance-split__grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:60px;align-items:center}
.performance-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.performance-split__body{display:flex;flex-direction:column;align-items:flex-start}
.performance-split__en{font-family:"Jost";font-size:.76rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.performance-split__title{font-family:"Shippori Mincho",serif;font-size:clamp(1.55rem,3.2vw,2.18rem);font-weight:700;line-height:1.45;color:var(--ink);letter-spacing:.04em;margin-bottom:22px}
.performance-split__text{font-size:.98rem;color:var(--ink-soft);line-height:2;margin-bottom:34px}
.performance-split__note{margin-top:24px;font-size:.76rem;color:var(--ink-mute);line-height:1.8}
@media(max-width:1040px){.performance-split__panel{padding:42px 34px}.performance-split__grid{grid-template-columns:1fr;gap:40px}.performance-split__body{order:-1;align-items:center;text-align:center}.performance-split__text{max-width:34rem}}
@media(max-width:640px){.performance-split__panel{padding:30px 18px;border-radius:12px}.performance-track{grid-template-columns:1fr}.performance-split__body .btn{width:100%;max-width:320px}}
.performance-page{background:linear-gradient(180deg,var(--surface-2) 0%,var(--surface) 100%)}
.performance-list{max-width:1060px;margin-inline:auto;display:grid;gap:36px}
.perf-record{display:grid;grid-template-columns:minmax(0,1fr) 148px;align-items:stretch;filter:drop-shadow(0 14px 26px rgba(21,39,27,.08))}
.perf-record__content{background:var(--surface);border:1px solid var(--line);border-right:0}
.perf-record__top{display:grid;grid-template-columns:360px minmax(0,1fr);border-bottom:1px solid var(--line)}
.perf-record__meta{border-right:1px solid var(--line);background:#fff}
.perf-record__name{display:flex;align-items:center;gap:12px;background:var(--dark);color:#fff;font-family:"Shippori Mincho",serif;font-weight:700;letter-spacing:.04em;font-size:1.02rem;padding:14px 18px}
.perf-record__code{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:28px;border-radius:3px;background:var(--gold);color:#1b211c;font-family:"Jost";font-size:.76rem;font-weight:700;letter-spacing:.06em}
.perf-record__stats{display:grid;gap:10px;padding:22px 24px}
.perf-record__stat{display:flex;align-items:center;gap:12px;font-size:.94rem;font-weight:700;color:var(--ink)}
.perf-record__label{display:inline-flex;align-items:center;justify-content:center;min-width:86px;border-radius:4px;background:var(--dark-2);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:5px 9px}
.perf-record__label--rate{background:var(--danger)}
.perf-record__chart{display:flex;align-items:center;justify-content:center;background:#fff;padding:18px}
.perf-record__chart img{width:100%;height:198px;object-fit:cover;border:1px solid #edf0ec;background:#fff}
.perf-record__voice{padding:24px 30px 28px;color:var(--ink-soft);font-size:.93rem;line-height:2}
.perf-record__person{font-weight:700;color:var(--ink-mute);margin-bottom:10px}
.perf-record__profit{background:var(--dark);color:#fff;padding:16px;display:flex;align-items:stretch}
.perf-record__profit-inner{width:100%;border:1px solid color-mix(in srgb,var(--gold) 70%,transparent);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px 10px}
.perf-record__profit-num{font-family:"Shippori Mincho",serif;font-size:2.45rem;font-weight:800;line-height:1;color:#fff}
.perf-record__profit-unit{font-size:.94rem;color:var(--on-dark-mute);margin-top:6px}
.perf-record__profit-label{font-family:"Shippori Mincho",serif;font-size:1.05rem;color:var(--gold);font-weight:700;letter-spacing:.08em;margin-top:6px}
@media(max-width:980px){.perf-record{grid-template-columns:1fr}.perf-record__content{border-right:1px solid var(--line)}.perf-record__top{grid-template-columns:1fr}.perf-record__meta{border-right:0;border-bottom:1px solid var(--line)}.perf-record__profit{min-height:150px}.perf-record__profit-inner{min-height:130px}}
@media(max-width:640px){.performance-list{gap:28px}.perf-record__name{font-size:.94rem;flex-wrap:wrap}.perf-record__stats{padding:18px}.perf-record__stat{align-items:flex-start;flex-direction:column;gap:6px}.perf-record__chart{padding:12px}.perf-record__chart img{height:auto;aspect-ratio:518/198}.perf-record__voice{padding:20px;font-size:.88rem}.perf-record__profit-num{font-size:2.2rem}}

/* =========================================================
   News list
========================================================= */
.newslist{border-top:1px solid var(--line)}
.newslist__item{border-bottom:1px solid var(--line)}
.newslist__link{display:flex;align-items:center;gap:20px;padding:18px 6px;transition:padding-left .25s,background .25s}
.newslist__link:hover{padding-left:18px;background:var(--accent-tint)}
.newslist__date{flex-shrink:0;font-family:"Jost";font-size:.82rem;color:var(--ink-mute);min-width:118px}
.newslist__cat{flex-shrink:0;font-size:.68rem;font-weight:700;letter-spacing:.06em;padding:3px 10px;border-radius:5px}
.newslist__cat--pick{background:var(--accent-tint);color:var(--accent-deep)}
.newslist__cat--view{background:var(--surface-2);color:var(--ink-soft);border:1px solid var(--line)}
.newslist__ttl{flex:1;font-size:.94rem;color:var(--ink);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.newslist__ar{flex-shrink:0;color:var(--ink-mute);transition:transform .25s,color .25s}
.newslist__link:hover .newslist__ar{transform:translateX(4px);color:var(--accent)}
.mailbox-message{width:100%}
.mailbox-message__summary{list-style:none}
.mailbox-message__summary::-webkit-details-marker{display:none}
.mailbox-message__body{border-top:1px solid var(--line);color:var(--ink-soft);line-height:1.9;padding:18px 24px 22px;background:var(--surface-2)}
.mailbox-reply{border-top:1px solid var(--line);padding:20px 24px 24px;background:#fff}
.mailbox-reply__textarea{min-height:112px;resize:vertical}
.mailbox-reply__actions{display:flex;justify-content:flex-end;margin-top:14px}
.mailbox-reply__status{margin-top:12px}
.mailbox-list__item .newslist__link{cursor:pointer}
.mailbox-list__item.is-unread .newslist__ttl{font-weight:700;color:var(--ink)}
.mailbox-list__item.is-read .newslist__ttl{color:var(--ink-soft)}
@media(max-width:680px){.newslist__link{flex-wrap:wrap;gap:8px 12px}.newslist__ttl{white-space:normal;flex-basis:100%;order:3}.newslist__ar{display:none}.mailbox-message__body,.mailbox-reply{padding-inline:16px}.mailbox-reply__actions .btn{width:100%;justify-content:center}}

/* =========================================================
   Banner swiper (login-after)
========================================================= */
.bannerhero{background:linear-gradient(135deg,var(--dark) 0%,var(--dark-2) 55%,var(--dark) 100%);position:relative;overflow:hidden}
.bannerhero--hero-bg{background:var(--dark)}
.bannerhero--hero-bg::before{content:"";position:absolute;inset:-40px 0 0;background:linear-gradient(180deg,rgba(8,16,11,.08) 0%,rgba(8,16,11,.72) 72%,rgba(8,16,11,.94) 100%),url("hero-bg.png");background-size:cover;background-position:center right;opacity:.82}
.bannerhero__inner{position:relative;z-index:2;max-width:1184px;margin-inline:auto;padding:34px 40px 14px}
@media(max-width:768px){.bannerhero__inner{padding:18px 16px 10px}}
.bnslot{display:block;position:relative;width:100%;aspect-ratio:1184/490;border-radius:14px;overflow:hidden;background:rgba(255,255,255,.04);box-shadow:0 24px 50px -26px rgba(0,0,0,.6);color:inherit;text-decoration:none}
.bnslot img{width:100%;height:100%;object-fit:cover;display:block}
.bnslot__flag{position:absolute;left:14px;top:14px;z-index:3;white-space:nowrap;background:rgba(21,39,27,.72);backdrop-filter:blur(4px);color:var(--accent-soft);font-family:"Jost";font-size:.62rem;letter-spacing:.16em;padding:5px 11px;border-radius:6px;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}
.bnhero__track{display:flex;transition:transform .6s cubic-bezier(.4,0,.2,1)}
.bnhero__slide{min-width:100%;padding:0 4px}
.bnhero__nav{position:absolute;top:calc(50% );transform:translateY(-50%);z-index:4;width:46px;height:46px;border-radius:50%;background:rgba(21,39,27,.6);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent-soft);display:grid;place-items:center;backdrop-filter:blur(6px);transition:background .25s}
.bnhero__nav:hover{background:var(--accent);color:#fff}
.bnhero__nav--prev{left:46px}.bnhero__nav--next{right:46px}
@media(max-width:768px){.bnhero__nav{width:36px;height:36px}.bnhero__nav--prev{left:18px}.bnhero__nav--next{right:18px}}
.bnhero__dots{display:flex;justify-content:center;gap:9px;padding:16px 0 4px}
.bnhero__dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.28);transition:transform .25s,background .25s}
.bnhero__dot.is-active{background:var(--accent-soft);transform:scale(1.3)}

/* =========================================================
   Breadcrumb + page header (lower pages)
========================================================= */
.pagehead{background:linear-gradient(135deg,var(--dark) 0%,var(--dark-2) 60%,var(--dark) 100%);color:var(--on-dark);position:relative;overflow:hidden}
.pagehead__inner{position:relative;z-index:2;padding:64px 0 56px;text-align:center}
.pagehead .eyebrow{justify-content:center;color:var(--accent-soft)}
.pagehead__title{font-family:"Shippori Mincho",serif;font-weight:700;font-size:clamp(1.7rem,3.6vw,2.5rem);color:#fff;letter-spacing:.08em;margin-top:12px}
.pagehead__lead{margin:18px auto 0;color:var(--on-dark-mute);font-size:.94rem;line-height:1.9;max-width:62ch}
.crumb{background:var(--surface-2);border-bottom:1px solid var(--line)}
.crumb__list{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0;font-size:.78rem;color:var(--ink-mute)}
.crumb__list a{color:var(--ink-soft);font-weight:500}.crumb__list a:hover{color:var(--accent-deep)}
.crumb__list li:not(:last-child)::after{content:"›";margin-left:8px;color:var(--ink-mute)}

/* =========================================================
   Shop / product cards (商品購入)
========================================================= */
.shoplist{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:stretch}
@media(max-width:980px){.shoplist{grid-template-columns:1fr;max-width:560px;margin-inline:auto}}
.product{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 14px 34px -24px rgba(21,39,27,.4);transition:transform .3s,box-shadow .3s}
.product:hover{transform:translateY(-4px);box-shadow:0 22px 44px -24px rgba(21,39,27,.5)}
.product__media{position:relative;width:100%;aspect-ratio:1184/490;background:linear-gradient(150deg,var(--dark-2),var(--dark));display:grid;place-items:center;overflow:hidden}
.product__media .ph{color:var(--on-dark-mute);font-family:"Jost";font-size:.74rem;letter-spacing:.18em}
.product__media img{width:100%;height:100%;object-fit:cover;display:block}
.product__rank{position:absolute;left:0;top:18px;background:linear-gradient(135deg,var(--gold-soft),var(--gold));color:#1a1408;font-family:"Jost";font-size:.72rem;font-weight:700;letter-spacing:.06em;padding:6px 14px 6px 12px;border-radius:0 6px 6px 0;z-index:3}
.product__bd{padding:26px 24px;display:flex;flex-direction:column;gap:13px;flex:1}
@media(max-width:768px){.product__bd{padding:22px 18px}}
.product__name{font-family:"Shippori Mincho",serf;font-family:"Shippori Mincho",serif;font-size:clamp(1.15rem,2.2vw,1.42rem);font-weight:700;color:var(--ink);padding-bottom:12px;border-bottom:2px solid var(--accent)}
.product__detail{color:var(--ink-soft);font-size:.9rem;line-height:1.9;white-space:pre-line}
.product__specs{display:flex;flex-direction:column;gap:7px;font-size:.86rem;color:var(--ink-soft)}
.product__spec{display:flex;gap:10px}
.product__spec .k{flex-shrink:0;min-width:96px;font-weight:600;color:var(--ink)}
.product__price{margin-top:auto;font-family:"Shippori Mincho",serif;font-size:clamp(1.3rem,2.6vw,1.6rem);font-weight:800;color:var(--danger)}
.product__price small{font-size:.56em;font-weight:600;color:var(--ink-mute);margin-left:6px}
.product__foot{display:flex;padding-top:8px}
.product__foot .btn{width:100%}
.product__foot .btn:disabled{opacity:.72;cursor:not-allowed;transform:none;box-shadow:none}
.product-empty{grid-column:1/-1;margin:0;padding:26px 24px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--ink-soft);line-height:1.8}
.shoplist.is-detail{display:block;max-width:none;margin-inline:0}
.shop-detail{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);box-shadow:0 18px 44px -30px rgba(21,39,27,.46);padding:0 0 30px}
.shop-detail__back{display:inline-flex;align-items:center;gap:8px;margin:22px 30px 0;color:var(--accent-deep);font-size:.9rem;font-weight:700}
.shop-detail__back::before{content:"";width:8px;height:8px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
.shop-detail__title{margin:20px 30px 0;padding-bottom:14px;border-bottom:2px solid var(--gold);font-family:"Shippori Mincho",serif;font-size:clamp(1.35rem,3vw,1.9rem);font-weight:800;letter-spacing:.05em;color:var(--ink)}
.shop-detail__summary{display:grid;grid-template-columns:minmax(230px,310px) minmax(0,1fr);gap:34px;align-items:start;margin:22px 30px 0}
.shop-detail__image{background:var(--dark);border:1px solid var(--line);overflow:hidden}
.shop-detail__image img{width:100%;aspect-ratio:1/1;object-fit:cover}
.shop-detail__copy{min-width:0;color:var(--ink-soft);font-size:.95rem;line-height:1.9}
.shop-detail__copy p:first-child{white-space:normal}
.shop-detail__price{margin-top:46px!important;font-family:"Shippori Mincho",serif;font-size:clamp(1.55rem,3vw,2rem);font-weight:800;color:var(--danger);line-height:1.35}
.shop-detail__section-title{margin:58px 30px 18px;padding-bottom:12px;border-bottom:2px solid var(--gold);font-size:1rem;font-weight:800;color:var(--ink)}
.shop-detail__bank{width:calc(100% - 60px);margin:0 30px;border-collapse:collapse;font-size:.94rem}
.shop-detail__bank th{width:150px;padding:17px 20px;background:var(--dark);border-bottom:1px solid rgba(255,255,255,.16);color:#fff;text-align:left;font-weight:800}
.shop-detail__bank td{padding:17px 24px;background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--ink);font-weight:600}
.shop-detail__schedule{margin:54px 30px 0;padding:34px 38px;border-left:4px solid var(--gold);background:var(--surface-2)}
.shop-detail__schedule h3{font-size:1.08rem;font-weight:800;color:var(--ink);margin-bottom:12px}
.shop-detail__schedule p{max-width:78ch;color:var(--ink-soft);font-size:.9rem;line-height:1.9}
.shop-detail__select{width:min(360px,100%);margin-top:22px;background:var(--surface)}
.shop-detail__status{margin-top:16px;font-weight:700;color:var(--ink)}
.shop-detail__actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin:54px 30px 0}
.shop-detail__actions .btn{min-width:min(300px,100%)}
.shop-detail__submit{background:var(--danger);box-shadow:0 14px 30px -14px color-mix(in srgb,var(--danger) 72%,transparent)}
.shop-detail__submit:hover{background:color-mix(in srgb,var(--danger) 88%,#000);box-shadow:0 18px 36px -16px color-mix(in srgb,var(--danger) 78%,transparent)}
.shop-detail__submit:disabled,.shop-detail__complete:disabled{opacity:.72;cursor:not-allowed;transform:none;box-shadow:none}
@media(max-width:768px){
  .shop-detail{border-radius:12px}
  .shop-detail__back{margin:18px 20px 0}
  .shop-detail__title{margin:18px 20px 0}
  .shop-detail__summary{grid-template-columns:1fr;gap:22px;margin:22px 20px 0}
  .shop-detail__image{max-width:360px;width:100%;margin-inline:auto}
  .shop-detail__price{margin-top:26px!important;text-align:left}
  .shop-detail__section-title{margin:42px 20px 16px}
  .shop-detail__bank{width:calc(100% - 40px);margin:0 20px}
  .shop-detail__bank th,.shop-detail__bank td{display:block;width:100%;padding:13px 16px}
  .shop-detail__bank th{border-bottom:0}
  .shop-detail__schedule{margin:38px 20px 0;padding:26px 20px}
  .shop-detail__actions{margin:40px 20px 0}
  .shop-detail__actions .btn{width:100%;max-width:360px}
}

/* =========================================================
   Forms (会員情報 / お問い合わせ)
========================================================= */
.card{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:14px;box-shadow:0 16px 40px -28px rgba(21,39,27,.45);padding:54px}
@media(max-width:768px){.card{padding:26px 20px}}
.fg{display:flex;flex-direction:column;gap:9px;margin-bottom:26px}
[data-stock-consult-field].is-hidden{display:none!important}
.fg__label{font-size:.88rem;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:8px}
.req{font-size:.62rem;font-weight:700;color:#fff;background:var(--danger);padding:2px 7px;border-radius:4px}
.opt{font-size:.62rem;font-weight:600;color:var(--ink-mute);background:var(--surface-2);border:1px solid var(--line);padding:2px 7px;border-radius:4px}
.input,.textarea,.select{width:100%;padding:13px 16px;background:var(--surface);border:1.5px solid var(--line);border-radius:9px;font-size:1rem;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-tint)}
.textarea{min-height:150px;resize:vertical;line-height:1.7}
.select-wrap{position:relative}
.select-wrap::after{content:"";position:absolute;right:16px;top:50%;width:8px;height:8px;border-right:2px solid var(--ink-soft);border-bottom:2px solid var(--ink-soft);transform:translateY(-65%) rotate(45deg);pointer-events:none}
.select{appearance:none;padding-right:42px;cursor:pointer}
.fg__help{font-size:.78rem;color:var(--ink-mute)}
.form-status{display:none;margin:8px 0 0;padding:13px 16px;border-radius:9px;font-size:.9rem;line-height:1.7}
.form-status.is-show{display:block}
.form-status.is-success{border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:var(--accent-tint);color:var(--accent-deep)}
.form-status.is-error{border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);background:#fff0f0;color:var(--danger)}
.form-foot{display:flex;justify-content:center;margin-top:38px}
@media(max-width:768px){.form-foot .btn{min-width:0!important}}
.info-table{width:100%;border-collapse:collapse;font-size:.92rem}
.info-table tr{border-bottom:1px solid var(--line)}
.info-table tr:first-child{border-top:1px solid var(--line)}
.info-table th{width:200px;text-align:left;vertical-align:top;padding:16px 22px;background:var(--surface-2);font-weight:600;color:var(--ink)}
.info-table td{padding:16px 22px;color:var(--ink-soft)}
@media(max-width:680px){.info-table th{width:120px;padding:10px 14px;font-size:.82rem}.info-table td{padding:10px 14px}}
.company-profile{background:linear-gradient(180deg,var(--surface) 0%,var(--surface-2) 100%)}
.company-profile__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:54px;align-items:start}
.company-profile__lead{position:sticky;top:110px}
.company-profile__card{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:14px;box-shadow:0 18px 44px -30px rgba(21,39,27,.46);padding:28px}
.company-profile__table th{background:var(--dark);color:#fff}
.company-profile__table td{font-weight:600;color:var(--ink)}
.company-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.company-service{position:relative;min-height:210px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:34px 28px;box-shadow:0 16px 40px -30px rgba(21,39,27,.45);overflow:hidden}
.company-service::after{content:"";position:absolute;right:-30px;bottom:-36px;width:120px;height:120px;border-radius:50%;background:var(--accent-tint)}
.company-service__no{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:var(--dark);color:var(--accent-soft);font-family:"Jost";font-weight:700;margin-bottom:22px}
.company-service h3{font-family:"Shippori Mincho",serif;font-size:1.2rem;color:var(--ink);margin-bottom:10px}
.company-service p{position:relative;z-index:1;color:var(--ink-soft);font-size:.92rem;line-height:1.9}
.company-policy{max-width:920px;margin-inline:auto;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:14px;padding:44px 48px;box-shadow:0 16px 42px -30px rgba(21,39,27,.42)}
.company-policy p:not(.eyebrow){margin-top:20px;color:var(--ink-soft);line-height:2}
@media(max-width:980px){.company-profile__grid{grid-template-columns:1fr;gap:30px}.company-profile__lead{position:static}.company-services{grid-template-columns:1fr}}
@media(max-width:680px){.company-profile__card{padding:18px}.company-policy{padding:30px 22px}}
.pagehead--company .pagehead__inner{padding:52px 0 46px}
.pagehead--company .eyebrow{letter-spacing:.34em}
.pagehead--company .pagehead__title::after{content:"";display:block;width:62px;height:2px;background:var(--gold);margin:18px auto 0}
.company-table-page{background:linear-gradient(90deg,#f4f5f7 0%,#f4f5f7 calc((100% - 1240px)/2),var(--surface) calc((100% - 1240px)/2),var(--surface) calc(100% - (100% - 1240px)/2),#f4f5f7 calc(100% - (100% - 1240px)/2),#f4f5f7 100%);padding-top:70px;padding-bottom:118px}
.company-table-wrap{background:var(--surface);padding:0 36px}
.company-overview-table{width:100%;border-collapse:collapse;border-top:1px solid var(--line);font-size:.95rem;color:var(--ink)}
.company-overview-table tr{border-bottom:1px solid var(--line)}
.company-overview-table th{width:220px;padding:22px 26px;background:#f2f4f7;color:var(--ink);text-align:left;vertical-align:top;font-weight:800}
.company-overview-table td{padding:22px 28px;background:#fff;color:var(--ink);line-height:2;font-weight:500}
@media(max-width:768px){
  .company-table-page{background:var(--surface);padding-top:46px;padding-bottom:76px}
  .company-table-wrap{padding:0}
  .company-overview-table{font-size:.9rem}
  .company-overview-table th,.company-overview-table td{display:block;width:100%;padding:14px 18px}
  .company-overview-table th{border-bottom:1px solid var(--line)}
  .company-overview-table td{padding-bottom:20px}
}

/* =========================================================
   Footer
========================================================= */
.ft{background:var(--dark);color:var(--on-dark-mute);position:relative;overflow:hidden}
.ft__top-line{height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}
.ft__disc{padding:40px 0;border-bottom:1px solid rgba(255,255,255,.08);position:relative;z-index:2}
.ft__disc .t{display:inline-block;font-size:.78rem;font-weight:600;color:var(--accent-soft);letter-spacing:.08em;margin-bottom:8px}
.ft__disc .t::before{content:"【"}.ft__disc .t::after{content:"】"}
.ft__disc p{font-size:.74rem;line-height:1.9;color:rgba(255,255,255,.5)}
.ft__disc em{font-style:normal;color:rgba(255,255,255,.78)}
.ft__main{padding:60px 0;border-bottom:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:40px;position:relative;z-index:2}
@media(max-width:1024px){.ft__main{grid-template-columns:1fr 1fr;gap:30px}}
@media(max-width:560px){.ft__main{grid-template-columns:1fr}}
.ft__brand .brand__name{color:#fff}.ft__brand .brand__sub{color:var(--on-dark-mute)}
.ft__brand p{font-size:.8rem;line-height:1.9;color:rgba(255,255,255,.5);margin-top:18px}
.ft__col .h{font-family:"Jost";font-size:.78rem;font-weight:600;color:var(--accent-soft);letter-spacing:.12em;text-transform:uppercase;padding-bottom:9px;margin-bottom:9px;border-bottom:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}
.ft__col ul{display:flex;flex-direction:column;gap:3px}
.ft__col a{display:block;padding:6px 0;font-size:.82rem;color:rgba(255,255,255,.62);transition:color .2s,padding-left .2s}
.ft__col a:hover{color:var(--accent-soft);padding-left:6px}
.ft__copy{padding:22px 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;position:relative;z-index:2}
.ft__copy p{font-size:.72rem;color:rgba(255,255,255,.4)}

/* =========================================================
   Centered section head
========================================================= */
.sec-head--center{text-align:center;max-width:760px;margin-inline:auto}
.sec-head--center .eyebrow{justify-content:center}
.sec-head--center .sec-lead{margin-inline:auto}
.sec-title--line::after{content:"";display:block;width:64px;height:2px;margin:18px auto 0;background:linear-gradient(90deg,var(--accent),var(--gold))}
.sec--dark .sec-title--line::after{background:linear-gradient(90deg,transparent,var(--accent-soft),transparent)}

/* =========================================================
   WHY cards  (巷の銘柄推奨に…)
========================================================= */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:880px){.why-grid{grid-template-columns:1fr}}
.why-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:34px 32px;box-shadow:0 14px 34px -26px rgba(21,39,27,.4);transition:transform .3s,box-shadow .3s}
.why-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -26px rgba(21,39,27,.5)}
.why-card__ic{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:var(--accent-tint);color:var(--accent-deep);margin-bottom:20px}
.why-card__ic svg{width:26px;height:26px}
.why-card__t{font-family:"Shippori Mincho",serif;font-size:1.18rem;font-weight:700;color:var(--ink);margin-bottom:10px}
.why-card__d{font-size:.9rem;color:var(--ink-soft);line-height:1.9}
.why-card__em,.why-card__mark{color:var(--accent-deep);font-weight:800}
.why-card__em{font:inherit;line-height:inherit;font-weight:800}
@media(max-width:640px){.mailalert{padding:28px 0 8px}.mailalert + .sec{padding-top:56px}.mailalert__link,.why-card,.split__body{width:100%;max-width:100%;min-width:0}.why-card{padding:28px 24px}.why-card__d{overflow-wrap:anywhere}.consult-form-label{max-width:100%;white-space:normal;justify-content:center;text-align:center}.split__lead,.split__text{max-width:100%;overflow-wrap:anywhere}}
@media(min-width:641px){.mailalert + .sec{padding-top:72px}}
/* =========================================================
   Market centered list (市況情報/注目銘柄)
========================================================= */
.mktlist{max-width:980px;margin:0 auto;border-top:1px solid var(--line)}
.mktlist__item{border-bottom:1px solid var(--line)}
.mktlist__link{display:flex;align-items:center;gap:18px;padding:18px 8px;transition:padding-left .25s,background .25s}
.mktlist__link:hover{padding-left:16px;background:var(--accent-tint)}
.mktlist__no{flex-shrink:0;width:34px;height:34px;border-radius:8px;display:grid;place-items:center;font-family:"Jost";font-weight:600;font-size:.82rem;background:var(--dark);color:var(--accent-soft)}
.mktlist__date{flex-shrink:0;font-family:"Jost";font-size:.82rem;color:var(--ink-mute);min-width:96px}
.mktlist__cat{flex-shrink:0;font-size:.66rem;font-weight:700;letter-spacing:.05em;padding:3px 9px;border-radius:5px;background:var(--accent-tint);color:var(--accent-deep)}
.mktlist__cat--view{background:var(--surface-2);color:var(--ink-soft);border:1px solid var(--line)}
.mktlist__ttl{flex:1;font-size:.94rem;color:var(--ink);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mktlist__read{flex-shrink:0;font-family:"Jost";font-size:.74rem;letter-spacing:.1em;color:var(--accent-deep);font-weight:600}
@media(max-width:680px){.mktlist__link{flex-wrap:wrap;gap:8px 12px}.mktlist__ttl{white-space:normal;flex-basis:100%;order:5}.mktlist__read{display:none}}

/* =========================================================
   About split (Invest について)
========================================================= */
.about{position:relative;background:var(--surface-2);overflow:hidden}
.about__grid{display:grid;grid-template-columns:440px 1fr;gap:72px;align-items:center}
@media(max-width:980px){.about__grid{grid-template-columns:1fr;gap:36px}}
.about__media{position:relative}
.about__media .ph,.about__media img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:4px;display:block}
.about__media .ph{background:linear-gradient(150deg,var(--dark) 0%,var(--dark-2) 100%);display:grid;place-items:center;color:var(--on-dark-mute);font-family:"Jost";font-size:.76rem;letter-spacing:.18em;text-align:center}
.about__media::before{content:"";position:absolute;left:-26px;top:-26px;width:62%;height:62%;background:var(--accent-tint);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:4px;z-index:0}
.about__media .ph,.about__media img{position:relative;z-index:1}
.about__catch{font-family:"Shippori Mincho",serif;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:700;color:var(--ink);line-height:1.5;letter-spacing:.04em;margin:14px 0 22px}
.about__text{font-size:.95rem;color:var(--ink-soft);line-height:2;margin-bottom:32px}
@media(max-width:768px){.about__body .btn{display:flex;margin-inline:auto}}

/* =========================================================
   Sector report (empty state)
========================================================= */
.sector-empty{max-width:760px;margin:8px auto 0;text-align:center;color:var(--ink-mute);font-size:.95rem;border:1px dashed var(--line);border-radius:12px;padding:48px 24px;background:var(--surface)}
.sector-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:34px}
.sector-report-card{display:flex;flex-direction:column;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 16px 38px -30px rgba(21,39,27,.45)}
.sector-report-card__thumb{aspect-ratio:16/9;background:linear-gradient(135deg,var(--dark),var(--dark-2));overflow:hidden;display:grid;place-items:center;color:var(--accent-soft);font-family:"Jost";font-size:.75rem;letter-spacing:.18em;text-transform:uppercase}
.sector-report-card__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.sector-report-card__body{display:flex;flex-direction:column;gap:12px;min-height:250px;padding:22px}
.sector-report-card__meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ink-mute);font-size:.74rem;line-height:1.5}
.sector-report-card__meta span{font-weight:700;color:var(--accent-deep)}
.sector-report-card__title{font-family:"Shippori Mincho",serif;color:var(--ink);font-size:1.08rem;line-height:1.55;font-weight:700}
.sector-report-card__summary{color:var(--ink-soft);font-size:.88rem;line-height:1.85;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sector-report-card__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
.sector-report-card__badges{display:flex;flex-wrap:wrap;gap:6px}
.sector-report-card__badge{display:inline-flex;align-items:center;min-height:24px;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:5px;padding:2px 8px;background:var(--accent-tint);color:var(--accent-deep);font-family:"Jost";font-size:.68rem;font-weight:700;letter-spacing:.08em}
.sector-report-card__link{flex-shrink:0;color:var(--accent-deep);font-size:.82rem;font-weight:700}
.sector-detail{max-width:920px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:clamp(28px,5vw,56px);box-shadow:0 18px 48px -34px rgba(21,39,27,.42)}
.sector-detail__status{text-align:center;color:var(--ink-mute);line-height:1.8}
.sector-detail__meta{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;color:var(--ink-mute);font-size:.82rem;margin-bottom:12px}
.sector-detail__meta span{font-weight:700;color:var(--accent-deep)}
.sector-detail__title{font-family:"Shippori Mincho",serif;font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.45;color:var(--ink);font-weight:700;margin-bottom:18px}
.sector-detail__summary{color:var(--ink-soft);font-size:1rem;line-height:1.9;border-left:3px solid var(--accent);padding-left:18px;margin-bottom:32px}
.sector-detail__body{color:var(--ink);font-size:.98rem;line-height:2}
.sector-detail__body h2,.sector-detail__body h3{font-family:"Shippori Mincho",serif;color:var(--ink);line-height:1.45;margin:34px 0 14px}
.sector-detail__body h2{font-size:1.35rem}
.sector-detail__body h3{font-size:1.15rem}
.sector-detail__body p,.sector-detail__body ul,.sector-detail__body ol{margin-bottom:18px}
.sector-detail__body ul,.sector-detail__body ol{padding-left:1.4em}
.sector-detail__body table{width:100%;border-collapse:collapse;margin:24px 0;font-size:.9rem}
.sector-detail__body th,.sector-detail__body td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.sector-detail__body th{background:var(--surface-2);color:var(--ink)}
.sector-detail__actions{margin-top:34px;display:flex;justify-content:flex-start}
@media(max-width:980px){.sector-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.sector-report-grid{grid-template-columns:1fr}.sector-report-card__body{min-height:0;padding:20px}.sector-report-card__foot{align-items:flex-start;flex-direction:column}.sector-detail__actions .btn{width:100%}}

/* =========================================================
   Voices (お客様の声)
========================================================= */
.voices{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:880px){.voices{grid-template-columns:1fr}}
.vcard{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px 30px;box-shadow:0 14px 34px -28px rgba(21,39,27,.4)}
.vcard__q{position:absolute;right:22px;top:18px;font-family:"Shippori Mincho",serif;font-size:2.6rem;color:var(--gold);opacity:.5;line-height:1}
.vcard__hd{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.vcard__av{width:46px;height:46px;border-radius:50%;flex-shrink:0;background:linear-gradient(150deg,var(--accent),var(--accent-deep));display:grid;place-items:center;overflow:hidden;color:#fff;font-family:"Jost";font-weight:600}
.vcard__av img{width:100%;height:100%;display:block;object-fit:cover}
.vcard__nm{font-weight:700;color:var(--ink);font-size:.98rem}
.vcard__meta{font-size:.74rem;color:var(--ink-mute)}
.vcard__badge{display:inline-block;font-size:.72rem;font-weight:700;color:#fff;background:var(--accent);padding:4px 12px;border-radius:6px;margin-bottom:14px}
.vcard__cm{font-size:.9rem;color:var(--ink-soft);line-height:1.95}
.voices-note{text-align:center;margin-top:28px;font-size:.76rem;color:var(--ink-mute)}

/* =========================================================
   Support band (お電話でのご相談)
========================================================= */
.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:920px;margin:44px auto 0}
@media(max-width:768px){.support-grid{grid-template-columns:1fr}}
.support-box{border:1px solid color-mix(in srgb,var(--accent) 38%,transparent);border-radius:12px;padding:34px 24px;text-align:center;background:rgba(255,255,255,.03)}
.support-box__ic{display:grid;place-items:center;width:40px;height:40px;margin:0 auto 12px;color:var(--accent-soft)}
.support-box__ic svg{width:100%;height:100%;display:block}
.support-box__big{font-family:"Jost";font-size:clamp(1.6rem,3.2vw,2.1rem);font-weight:600;color:#fff;letter-spacing:.02em}
.support-box__big--mail{font-size:clamp(1.1rem,2.4vw,1.5rem)}
.support-box__sub{font-size:.78rem;color:var(--on-dark-mute);margin-top:8px;display:flex;align-items:center;justify-content:center;gap:6px}

/* =========================================================
   Final CTA
========================================================= */
.cta-final{background:var(--surface-2);text-align:center}
.cta-final .sec-lead{color:var(--ink-soft)}

/* =========================================================
   Company profile page (会社概要)
========================================================= */
.cp-stats{display:flex;flex-direction:column;gap:0;max-width:880px;margin:0 auto}
.cp-stat{display:grid;grid-template-columns:120px 1fr;gap:30px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line)}
.cp-stat:first-child{border-top:1px solid var(--line)}
@media(max-width:680px){.cp-stat{grid-template-columns:80px 1fr;gap:18px}}
.cp-stat__n{width:96px;height:96px;border-radius:50%;background:linear-gradient(150deg,var(--dark-2),var(--dark));color:#fff;display:grid;place-items:center;font-family:"Shippori Mincho",serif;font-size:1.7rem;font-weight:700;font-style:italic;justify-self:center}
@media(max-width:680px){.cp-stat__n{width:68px;height:68px;font-size:1.2rem}}
.cp-stats--plain{max-width:820px}
.cp-stats--plain .cp-stat{grid-template-columns:1fr;gap:0;padding:26px 0}
.cp-stat__t{font-family:"Shippori Mincho",serif;font-size:1.12rem;font-weight:700;color:var(--ink);margin-bottom:8px}
.cp-stat__d{font-size:.9rem;color:var(--ink-soft);line-height:1.9}
.round-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 24px}
@media(max-width:880px){.round-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.round-grid{grid-template-columns:1fr}}
.round-card{text-align:center}
.round-card__c{width:170px;height:170px;border-radius:50%;margin:0 auto 16px;background:linear-gradient(150deg,var(--dark) 0%,var(--dark-2) 100%);position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}
.round-card__c img{width:112%;height:112%;object-fit:cover;display:block;margin:-6%;max-width:none}
.round-card__c .deco-grid{opacity:.5}
.round-card__lab{display:block;font-size:.96rem;font-weight:700;color:var(--ink);line-height:1.6}
.network-map{max-width:760px;margin:0 auto;aspect-ratio:16/10;border-radius:16px;overflow:hidden;background:linear-gradient(150deg,var(--surface-2),var(--surface));border:1px solid var(--line);position:relative}
.network-map img{width:100%;height:100%;object-fit:cover;display:block}

/* =========================================================
   Article (news detail)
========================================================= */
.article{max-width:840px;margin:0 auto}
.article__head{padding-bottom:28px;margin-bottom:36px;border-bottom:1px solid var(--line)}
.article__meta{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.article__date{font-family:"Jost";font-size:.84rem;color:var(--ink-mute);letter-spacing:.04em}
.article__cat{font-size:.68rem;font-weight:700;letter-spacing:.06em;padding:4px 11px;border-radius:5px;background:var(--accent-tint);color:var(--accent-deep)}
.article__title{font-family:"Shippori Mincho",serif;font-size:clamp(1.4rem,3vw,2rem);font-weight:700;color:var(--ink);line-height:1.5;letter-spacing:.03em}
.article__lead{margin-top:18px;font-size:1rem;color:var(--ink-soft);line-height:1.95;border-left:3px solid var(--gold);padding:6px 0 6px 18px;background:var(--accent-tint)}
.article__body{font-size:.98rem;line-height:2.05;color:var(--ink)}
.article__image{margin:0 0 28px}
.article__image img{display:block;width:100%;max-height:420px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.article__body h2{font-family:"Shippori Mincho",serif;font-size:1.25rem;color:var(--ink);margin:48px 0 16px;padding-left:16px;border-left:4px solid var(--accent)}
.article__body p{margin-bottom:22px}
.article__stock{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0;padding:20px 24px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px}
.article__stock .code{background:var(--accent);color:#fff;font-family:"Jost";font-weight:600;padding:4px 12px;border-radius:6px}
.article__stock .nm{font-family:"Shippori Mincho",serif;font-weight:700;color:var(--ink);font-size:1.1rem}
.article__note{margin-top:18px;font-size:.8rem;color:var(--ink-mute);line-height:1.8;background:var(--surface-2);border-radius:10px;padding:16px 20px}
.article__foot{margin-top:48px;padding-top:28px;border-top:1px solid var(--line);display:flex;justify-content:center}

/* =========================================================
   Campaign LP detail
========================================================= */
.is-campaign-lp-main{background:#07101a}
.campaign-detail--custom{padding:0;background:#07101a}
.campaign-detail--custom>.l-inner{max-width:none;padding:0}
.article--campaign-lp{max-width:none;margin:0}
.article--campaign-lp>.article__image{display:none!important}
.article--campaign-lp .article__body{font-size:1rem;line-height:1.85;color:#f8f6ed}
.article--campaign-lp .article__body p{margin-bottom:0}
.campaign-lp01{background:#07101a;color:#f8f6ed;overflow:hidden}
.campaign-lp01 *{min-width:0}
.campaign-lp01 img{display:block;max-width:100%}
.campaign-lp01__inner{width:min(1120px,100%);margin:0 auto;padding:0 clamp(18px,4vw,36px)}
.campaign-lp01__hero{position:relative;padding:clamp(24px,5vw,52px) 0 36px;background:linear-gradient(180deg,#030609 0%,#08111d 52%,#0e1722 100%)}
.campaign-lp01__hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#c9a84c,transparent);opacity:.72}
.campaign-lp01__hero-frame{position:relative;width:min(920px,calc(100% - 28px));margin:0 auto}
.campaign-lp01__hero-frame img{width:100%;border:1px solid rgba(201,168,76,.52);border-radius:8px;box-shadow:0 28px 70px -38px rgba(201,168,76,.8)}
.campaign-lp01__hero-copy{width:min(920px,calc(100% - 28px));margin:24px auto 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}
.campaign-lp01__kicker{font-family:"Jost",sans-serif;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:#c9a84c;font-weight:700}
.campaign-lp01__lead{margin-top:8px;color:#d8dfeb;line-height:1.85;font-size:.95rem}
.campaign-lp01__cta{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 30px;border-radius:8px;background:linear-gradient(180deg,#fff9dd 0%,#d8b95b 100%);color:#10131a!important;font-weight:800;letter-spacing:.04em;box-shadow:0 18px 34px -24px rgba(255,230,137,.9);white-space:nowrap}
.campaign-lp01__cta:hover{filter:brightness(1.04);transform:translateY(-1px)}
.campaign-lp01__cta--red{background:linear-gradient(180deg,#d83939 0%,#9e1118 100%);color:#fff!important;box-shadow:0 18px 34px -24px rgba(216,57,57,.8)}
.campaign-lp01__band{padding:clamp(58px,8vw,92px) 0;border-top:1px solid rgba(255,255,255,.08)}
.campaign-lp01__band--light{background:#f6f4ed;color:#18202c}
.campaign-lp01__band--deep{background:linear-gradient(180deg,#0f1a27 0%,#070e17 100%)}
.campaign-lp01__head{margin-bottom:30px}
.campaign-lp01__label{display:inline-flex;align-items:center;min-height:24px;padding:3px 10px;border-radius:5px;background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.34);color:#c9a84c;font-family:"Jost",sans-serif;font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.campaign-lp01__title{margin-top:12px;font-family:"Shippori Mincho",serif;font-size:clamp(1.45rem,3.4vw,2.35rem);line-height:1.48;font-weight:700;letter-spacing:0;color:inherit}
.campaign-lp01__text{margin-top:14px;color:currentColor;opacity:.82;line-height:1.95;max-width:68ch}
.campaign-lp01__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:30px}
.campaign-lp01__stat{border:1px solid rgba(201,168,76,.32);border-radius:8px;padding:18px;background:rgba(255,255,255,.05)}
.campaign-lp01__stat strong{display:block;font-family:"Jost",sans-serif;font-size:clamp(1.25rem,3vw,2.05rem);line-height:1;color:#ffd978}
.campaign-lp01__stat span{display:block;margin-top:8px;color:#dce3ee;font-size:.82rem}
.campaign-lp01__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.campaign-lp01__merit{background:#fff;border:1px solid rgba(17,24,39,.12);border-radius:8px;overflow:hidden;box-shadow:0 18px 42px -36px rgba(9,16,25,.45)}
.campaign-lp01__merit img{width:100%;aspect-ratio:3/2;object-fit:cover}
.campaign-lp01__merit-body{padding:18px}
.campaign-lp01__merit-body h3{font-size:1rem;line-height:1.6;color:#111827;font-weight:800}
.campaign-lp01__merit-body p{margin-top:8px;color:#4a5568;font-size:.86rem;line-height:1.8}
.campaign-lp01__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.campaign-lp01__step{display:grid;grid-template-rows:auto 1fr;gap:14px;padding:20px;border:1px solid rgba(201,168,76,.28);border-radius:8px;background:rgba(255,255,255,.055)}
.campaign-lp01__step img{width:100%;height:160px;object-fit:contain;background:#fff;border-radius:8px;padding:14px}
.campaign-lp01__step h3{color:#ffd978;font-size:1.02rem;line-height:1.5;font-weight:800}
.campaign-lp01__step p{margin-top:8px;color:#d7deea;font-size:.88rem;line-height:1.8}
.campaign-lp01__voice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.campaign-lp01__voice{background:#fff;color:#172033;border-radius:8px;overflow:hidden;border:1px solid rgba(17,24,39,.1);box-shadow:0 18px 46px -36px rgba(0,0,0,.5)}
.campaign-lp01__voice-head{display:grid;grid-template-columns:100px 1fr;gap:14px;align-items:center;padding:16px}
.campaign-lp01__voice-face{width:100px;height:126px;object-fit:cover;border-radius:6px}
.campaign-lp01__voice h3{font-size:1rem;line-height:1.55;font-weight:800}
.campaign-lp01__voice p{margin-top:8px;color:#536073;font-size:.86rem;line-height:1.75}
.campaign-lp01__voice-proof{width:100%;aspect-ratio:23/14;object-fit:cover;border-top:1px solid rgba(17,24,39,.1)}
.campaign-lp01__final{text-align:center;padding:clamp(56px,8vw,88px) 0;background:linear-gradient(180deg,#101b29 0%,#050910 100%)}
.campaign-lp01__final .campaign-lp01__text{margin-left:auto;margin-right:auto}
.campaign-lp01__final-actions{display:flex;justify-content:center;margin-top:28px}
@media(max-width:960px){
  .campaign-lp01__hero-copy{grid-template-columns:1fr;text-align:center}
  .campaign-lp01__cta{width:min(100%,360px);margin-inline:auto}
  .campaign-lp01__grid,.campaign-lp01__voice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .campaign-detail--custom,.article--campaign-lp,.campaign-lp01{width:100%;max-width:100%;overflow-x:hidden}
  .campaign-lp01__hero{padding-top:18px}
  .campaign-lp01__hero-frame,.campaign-lp01__hero-copy{width:calc(100% - 28px);max-width:100%}
  .campaign-lp01__title,.campaign-lp01__lead,.campaign-lp01__text{max-width:100%;overflow-wrap:anywhere;word-break:break-word;line-break:anywhere}
  .campaign-lp01__title{font-size:clamp(1.35rem,7vw,1.75rem)}
  .campaign-lp01__cta{box-sizing:border-box;width:100%;max-width:360px;padding-inline:16px;white-space:normal;text-align:center}
  .campaign-lp01__stats,.campaign-lp01__grid,.campaign-lp01__steps,.campaign-lp01__voice-grid{grid-template-columns:1fr}
  .campaign-lp01__voice-head{grid-template-columns:86px 1fr}
  .campaign-lp01__voice-face{width:86px;height:110px}
  .campaign-lp01__band{padding:52px 0}
}

/* =========================================================
   Login required gate
========================================================= */
.gate{min-height:calc(100vh - 84px);display:grid;place-items:center;padding:80px 20px;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--dark) 0%,var(--dark-2) 60%,var(--dark) 100%);color:var(--on-dark)}
.gate__card{position:relative;z-index:2;max-width:520px;width:100%;text-align:center;background:rgba(255,255,255,.04);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:18px;padding:54px 40px;backdrop-filter:blur(6px)}
@media(max-width:768px){.gate__card{padding:38px 22px}}
.gate__ic{width:64px;height:64px;margin:0 auto 22px;display:grid;place-items:center;border-radius:50%;background:var(--accent-tint);color:var(--accent-soft)}
.gate__ic svg{width:30px;height:30px}
.gate__title{font-family:"Shippori Mincho",serif;font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:14px}
.gate__msg{font-size:.94rem;color:var(--on-dark-mute);line-height:1.95;margin-bottom:32px}
.gate__actions{display:flex;flex-direction:column;gap:14px;align-items:center}
.gate__actions .btn{min-width:240px}
.gate-login{display:grid;gap:14px;margin:8px auto 0;max-width:360px;text-align:left}
.gate-login[hidden]{display:none}
.gate-login .fg{gap:7px}
.gate-login .fg__label{color:var(--on-dark);font-size:.82rem}
.gate-login .input{background:rgba(255,255,255,.94);border-color:rgba(255,255,255,.22)}
.gate-login__error{min-height:1.5em;text-align:center;color:#ffd3d3;font-size:.84rem;line-height:1.6}

/* pre-login header login link */
.hd__login{display:inline-flex;align-items:center;gap:7px;padding:10px 22px;border-radius:8px;font-weight:600;font-size:.9rem;letter-spacing:.04em;border:1.5px solid color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent-deep);background:var(--surface);transition:background .25s,color .25s,border-color .25s}
.hd__login:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
@media(max-width:1024px){.hd__login{display:none}}

/* =========================================================
   Reveal animation
========================================================= */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}
.reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* page-top */
.pagetop{position:fixed;right:24px;bottom:28px;z-index:120;width:48px;height:48px;border-radius:50%;background:var(--dark);border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);color:var(--accent-soft);display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .35s,transform .35s,background .25s,color .25s}
.pagetop.is-vis{opacity:1;visibility:visible;transform:none}
.pagetop:hover{background:var(--accent);color:#fff}
@media(max-width:768px){.pagetop{right:16px;bottom:18px;width:42px;height:42px}}
