@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@500;600&family=Plus+Jakarta+Sans:wght@500;600&display=swap');
.snu-lp{--c-ink:#1d1d2c;--c-muted:#5f5f75;--c-paper:#fbfbfd;--c-paper2:#f0f0f6;--c-tint:#e3e3f0;--c-acc:#3f3f78;--c-acc-soft:#9a9ac6;--c-dark:#1f1f3a;--c-dark2:#151528;--c-line:#dcdce8;
--tommy-header-bg:#1f1f3a;--tommy-header-color:#eeeef6;--tommy-header-accent:#9a9ac6;
--tommy-cta-bg:#e3e3f0;--tommy-cta-color:#1d1d2c;--tommy-cta-accent:#3f3f78;--tommy-cta-btn-bg:#3f3f78;--tommy-cta-btn-color:#fff;
--tommy-footer-bg:#151528;--tommy-footer-color:#b6b6ca;--tommy-footer-accent:#9a9ac6;
--tommy-market-accent:#3f3f78;--tommy-market-line:#dcdce8;--tommy-market-head-bg:#e3e3f0;
font-family:'Noto Sans JP',sans-serif;color:var(--c-ink);background:var(--c-paper);line-height:1.9}
.snu-lp h1,.snu-lp h2,.snu-lp h3{font-family:'Noto Serif JP',serif;font-weight:600;line-height:1.45}
.snu-wrap{width:min(1060px,88vw);margin:0 auto}
.snu-lp .eyebrow{font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;letter-spacing:.18em;color:var(--c-acc);margin:0 0 14px;font-weight:600}
.snu-sec{padding:96px 0}
.js-reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}
.js-reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js-reveal{opacity:1;transform:none;transition:none}}
.snu-hero{background:var(--c-paper2);padding:104px 0 90px}
.snu-hero__grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:52px;align-items:end}
.snu-hero h1{font-size:clamp(23px,3.2vw,35px);letter-spacing:.06em;margin:0 0 22px}
.snu-hero__copy{font-family:'Noto Serif JP',serif;font-size:clamp(16px,2vw,21px);line-height:1.85;color:var(--c-acc);margin:0}
.snu-hero__text{font-size:14.5px;color:var(--c-muted);margin:0;padding-top:22px;border-top:3px solid var(--c-acc)}
.snu-heading{max-width:40em;margin:0 0 46px}
.snu-heading h2{font-size:clamp(21px,2.9vw,31px);letter-spacing:.03em}
.snu-lead{margin-top:20px;font-size:14.5px;color:var(--c-muted)}
.snu-three{background:var(--c-tint)}
.snu-three__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.snu-three__i{background:var(--c-paper);padding:34px 30px}
.snu-three__k{font-family:'Noto Serif JP',serif;font-size:28px;color:var(--c-acc);margin:0 0 4px;line-height:1.2}
.snu-three__e{font-family:'Plus Jakarta Sans',sans-serif;font-size:10.5px;letter-spacing:.16em;color:var(--c-muted);margin:0 0 18px}
.snu-three__i p{font-size:13.8px;color:var(--c-muted);margin:0}
.snu-easy{background:var(--c-dark);color:#e7e7f2;padding:92px 0}
.snu-easy .eyebrow{color:var(--c-acc-soft)}
.snu-easy h2{color:#fff;font-size:clamp(20px,2.7vw,29px);margin:0 0 32px}
.snu-easy__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.snu-easy p{font-size:14.5px;color:#9494ab;margin:0 0 1.1em}
.snu-easy p:last-child{margin-bottom:0}
.snu-fac{background:var(--c-paper)}
.snu-fac__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.snu-fac__i{padding:0 22px;border-left:1px solid var(--c-line)}
.snu-fac__i:first-child{padding-left:0;border-left:0}
.snu-fac__i h3{font-size:15.5px;margin:0 0 10px;color:var(--c-acc)}
.snu-fac__i p{font-size:13.2px;color:var(--c-muted);margin:0}
.snu-life{background:var(--c-paper2)}
.snu-rows{margin:0;padding:0;list-style:none}
.snu-rows li{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.8fr);gap:36px;padding:28px 0;border-top:1px solid var(--c-line)}
.snu-rows li:last-child{border-bottom:1px solid var(--c-line)}
.snu-rows h3{font-size:17px;margin:0;color:var(--c-acc)}
.snu-rows p{font-size:13.8px;color:var(--c-muted);margin:0}
.snu-access{background:var(--c-paper)}
.snu-split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:52px;align-items:start}
.snu-split__head h2{font-size:clamp(20px,2.7vw,29px)}
.snu-access__list{margin:0}
.snu-access__list>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;padding:20px 0;border-bottom:1px solid var(--c-line)}
.snu-access__list>div:first-child{border-top:1px solid var(--c-line)}
.snu-access__list dt{font-size:13px;color:var(--c-acc);margin:0}
.snu-access__list dd{font-size:14px;margin:0}
.snu-market{background:var(--c-tint)}
.snu-final{background:var(--c-dark2);color:#e7e7f2;text-align:center}
.snu-final .eyebrow{color:var(--c-acc-soft)}
.snu-final h2{color:#fff;font-size:clamp(19px,2.5vw,27px);margin:0 0 20px}
.snu-final p{font-size:14.5px;color:#9494ab;max-width:36em;margin:0 auto 32px}
@media (max-width:860px){
.snu-sec{padding:64px 0}
.snu-hero{padding:76px 0 60px}
.snu-hero__grid{grid-template-columns:1fr;gap:26px}
.snu-three__grid{grid-template-columns:1fr}
.snu-easy{padding:60px 0}
.snu-easy__grid{grid-template-columns:1fr;gap:22px}
.snu-fac__grid{grid-template-columns:1fr;gap:24px}
.snu-fac__i{padding:0 0 0 18px;border-left:1px solid var(--c-line)}
.snu-fac__i:first-child{padding-left:18px;border-left:1px solid var(--c-line)}
.snu-rows li{grid-template-columns:1fr;gap:10px}
.snu-split{grid-template-columns:1fr;gap:28px}
.snu-access__list>div{grid-template-columns:96px minmax(0,1fr);gap:14px}
}
.snu-lp > .tommy-cta-buttons{padding:44px max(24px,calc((100% - 1030px)/2));background:var(--c-paper2)}
@media(max-width:860px){.snu-lp > .tommy-cta-buttons{padding:32px 18px}}
