
.ngn-lp{--c-main:#503a72;--c-deep:#2f2145;--c-accent:#a88bc4;--c-paper:#f7f5f9;--c-ink:#241c31;--c-sub:#6b6478;--c-line:#ddd6e4;
 color:var(--c-ink);background:var(--c-paper);font-family:"Noto Sans JP",sans-serif;line-height:1.95;font-size:15.5px;letter-spacing:.03em;
 --tommy-header-bg:#2f2145;--tommy-header-color:#f7f5f9;--tommy-header-border:rgba(247,245,249,.22);--tommy-header-hover:#a88bc4;
 --tommy-cta-bg:#2f2145;--tommy-cta-color:#f7f5f9;--tommy-cta-accent:#a88bc4;--tommy-cta-btn-bg:#a88bc4;--tommy-cta-btn-color:#2f2145;
 --tommy-cta-buttons-primary-bg:#503a72;--tommy-cta-buttons-primary-color:#fff;--tommy-cta-buttons-secondary-bg:#fff;--tommy-cta-buttons-secondary-color:#503a72;--tommy-cta-buttons-secondary-border:#503a72;
 --tommy-footer-bg:#241c31;--tommy-footer-color:#e6e1ec;--tommy-footer-border:rgba(230,225,236,.2);--tommy-footer-link:#c9b6dd;
 --tommy-market-accent:#503a72;--tommy-market-head-bg:#2f2145;--tommy-market-head-color:#fff;--tommy-market-border:#ddd6e4;--tommy-market-link:#503a72}
.ngn-lp *{box-sizing:border-box}
.ngn-lp p{margin:0 0 1.35em}
.ngn-lp h1,.ngn-lp h2,.ngn-lp h3{font-family:"Noto Serif JP",serif;font-weight:300;letter-spacing:.05em;margin:0}
.ngn-eb{font-family:"Plus Jakarta Sans",sans-serif;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--c-accent);margin:0 0 18px;font-weight:500}
.ngn-sec{padding:clamp(60px,8vw,116px) max(24px,calc((100% - 1030px)/2))}
.ngn-lp > .tommy-cta-buttons{padding:44px max(24px,calc((100% - 1030px)/2));background:var(--c-paper)}
@media(max-width:860px){.ngn-lp > .tommy-cta-buttons{padding:32px 18px}}

/* hero : 左右2カラム */
.ngn-hero{background:var(--c-deep);color:#fff;display:grid;grid-template-columns:1.35fr .85fr;gap:clamp(28px,5vw,74px);align-items:center}
.ngn-hero .ngn-eb{color:var(--c-accent)}
.ngn-hero h1{font-size:clamp(23.5px,4.4vw,48px);line-height:1.34;letter-spacing:.045em;color:#fff}
.ngn-hero .ngn-kana{font-family:"Plus Jakarta Sans",sans-serif;font-size:11.5px;letter-spacing:.24em;color:rgba(255,255,255,.5);margin:14px 0 0}
.ngn-hero p.ngn-lead{margin:26px 0 0;color:rgba(255,255,255,.86);font-size:15px;max-width:34em}
.ngn-hspec{border-left:1px solid rgba(255,255,255,.22);padding-left:clamp(18px,3vw,34px)}
.ngn-hspec dl{margin:0;display:grid;gap:15px}
.ngn-hspec dt{font-family:"Plus Jakarta Sans",sans-serif;font-size:10px;letter-spacing:.22em;color:var(--c-accent);text-transform:uppercase}
.ngn-hspec dd{margin:3px 0 0;font-family:"Noto Serif JP",serif;font-weight:300;font-size:19px;color:#fff;line-height:1.5}
@media(max-width:860px){.ngn-hero{grid-template-columns:1fr;gap:32px}.ngn-hspec{border-left:0;border-top:1px solid rgba(255,255,255,.22);padding-left:0;padding-top:26px}.ngn-hspec dl{grid-template-columns:1fr 1fr;gap:14px 20px}}

.ngn-h2{font-size:clamp(21px,2.9vw,31px);line-height:1.5}
.ngn-note{color:var(--c-sub);font-size:13.5px;margin-top:22px}

/* sec1 : 全幅リード + 3カラム縦罫 */
.ngn-lead2{font-size:clamp(16px,1.9vw,20px);line-height:2;margin:26px 0 0;max-width:44em;font-family:"Noto Serif JP",serif;font-weight:300}
.ngn-cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:clamp(38px,5vw,58px) 0 0;border-top:1px solid var(--c-line)}
.ngn-cols3 > div{padding:30px clamp(16px,2.4vw,30px);border-left:1px solid var(--c-line)}
.ngn-cols3 > div:first-child{border-left:0;padding-left:0}
.ngn-cols3 h3{font-size:20px;color:var(--c-main);margin-bottom:6px}
.ngn-cols3 .ngn-y{font-family:"Plus Jakarta Sans",sans-serif;font-size:12px;letter-spacing:.16em;color:var(--c-sub);margin-bottom:14px}
.ngn-cols3 p{font-size:14.5px;margin:0}
@media(max-width:860px){.ngn-cols3{grid-template-columns:1fr}.ngn-cols3 > div{border-left:0;border-bottom:1px solid var(--c-line);padding:24px 0}.ngn-cols3 > div:last-child{border-bottom:0}}

/* sec2 : 年表 timeline */
.ngn-tl{margin:clamp(36px,5vw,54px) 0 0;position:relative;padding-left:26px}
.ngn-tl:before{content:"";position:absolute;left:4px;top:8px;bottom:8px;width:1px;background:var(--c-line)}
.ngn-tl > li{list-style:none;position:relative;padding:0 0 30px}
.ngn-tl > li:last-child{padding-bottom:0}
.ngn-tl > li:before{content:"";position:absolute;left:-26px;top:10px;width:9px;height:9px;border-radius:50%;background:var(--c-main)}
.ngn-tl .ngn-ty{font-family:"Plus Jakarta Sans",sans-serif;font-size:12.5px;letter-spacing:.16em;color:var(--c-main);font-weight:600}
.ngn-tl .ngn-tt{font-family:"Noto Serif JP",serif;font-weight:300;font-size:18px;margin:4px 0 6px}
.ngn-tl p{margin:0;font-size:14.5px}
.ngn-tlwrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,60px);align-items:start}
@media(max-width:860px){.ngn-tlwrap{grid-template-columns:1fr;gap:8px}}

/* sec3 : 濃色3カラム */
.ngn-dark{background:var(--c-deep);color:#fff}
.ngn-dark .ngn-h2{color:#fff}
.ngn-dark .ngn-eb{color:var(--c-accent)}
.ngn-d3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3.4vw,46px);margin:clamp(34px,4.6vw,52px) 0 0}
.ngn-d3 h3{font-size:17px;color:var(--c-accent);margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.2)}
.ngn-d3 p{font-size:14.5px;color:rgba(255,255,255,.84);margin:0}
@media(max-width:860px){.ngn-d3{grid-template-columns:1fr;gap:26px}}

/* sec4 : 2×2 割線 */
.ngn-q4{display:grid;grid-template-columns:1fr 1fr;margin:clamp(34px,4.6vw,52px) 0 0}
.ngn-q4 > div{padding:clamp(22px,3vw,34px);border-top:1px solid var(--c-line);border-left:1px solid var(--c-line)}
.ngn-q4 > div:nth-child(2n+1){border-left:0;padding-left:0}
.ngn-q4 h3{font-size:17.5px;color:var(--c-main);margin-bottom:10px}
.ngn-q4 p{font-size:14.5px;margin:0}
.ngn-q4 ul{margin:0;padding-left:1.1em;font-size:14.5px}
.ngn-q4 li{margin-bottom:6px}
@media(max-width:620px){.ngn-q4{grid-template-columns:1fr}.ngn-q4 > div{border-left:0;padding-left:0}}

.ngn-figs{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:clamp(34px,4.6vw,50px) 0 0;border-top:1px solid var(--c-line);padding-top:26px}
.ngn-figs dt{font-family:"Plus Jakarta Sans",sans-serif;font-size:10px;letter-spacing:.2em;color:var(--c-sub);text-transform:uppercase}
.ngn-figs dd{margin:6px 0 0;font-family:"Noto Serif JP",serif;font-weight:300;font-size:clamp(19px,2.4vw,26px);color:var(--c-main);line-height:1.4}
@media(max-width:620px){.ngn-figs{grid-template-columns:1fr 1fr;gap:16px}}

/* market */
.ngn-mk{background:#fff;border-top:1px solid var(--c-line)}
.ngn-mk .ngn-lead2{font-family:"Noto Sans JP",sans-serif;font-size:15px;line-height:1.95}
.ngn-mk table{width:100%}
