@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;600;700&family=Noto+Sans+JP:wght@300;400;500;700&family=Plus+Jakarta+Sans:wght@500;600&display=swap');
.twn-lp{--c-ink:#241f33;--c-muted:#6a6480;--c-paper:#fbfaff;--c-paper2:#f2f0f9;--c-tint:#ebe7f6;--c-acc:#6b5fa8;--c-acc-soft:#9d93cc;--c-dark:#2a2440;--c-dark2:#38305a;--c-line:#ded9ee;
--tommy-header-bg:#fbfaff;--tommy-header-color:#241f33;--tommy-header-accent:#6b5fa8;--tommy-header-border:#ded9ee;
--tommy-cta-bg:#2a2440;--tommy-cta-color:#fbfaff;--tommy-cta-accent:#9d93cc;--tommy-cta-btn-bg:#6b5fa8;--tommy-cta-btn-color:#ffffff;
--tommy-footer-bg:#241f33;--tommy-footer-color:#e6e2f2;--tommy-footer-accent:#9d93cc;
--tommy-market-accent:#6b5fa8;--tommy-market-head-bg:#ebe7f6;--tommy-market-border:#ded9ee;
font-family:'Noto Sans JP',sans-serif;color:var(--c-ink);background:var(--c-paper);line-height:1.9;font-weight:300;-webkit-font-smoothing:antialiased}
.twn-lp *{box-sizing:border-box}
.twn-lp img{max-width:100%}
.twn-wrap{max-width:1080px;margin:0 auto;padding:0 24px}
.twn-lp h1,.twn-lp h2,.twn-lp h3{font-family:'Noto Serif JP',serif;font-weight:600;line-height:1.5;letter-spacing:.02em;margin:0}
.twn-lp p{margin:0 0 1.1em}
.twn-lp p:last-child{margin-bottom:0}
.twn-eyebrow{font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--c-acc);font-weight:600;display:block;margin-bottom:14px}
.js-reveal{opacity:0;transform:translateY(20px);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}}
.twn-hero{background:var(--c-paper);border-bottom:1px solid var(--c-line);padding:72px 0 60px;position:relative;overflow:hidden}
.twn-hero::before{content:"";position:absolute;right:-140px;top:-120px;width:420px;height:420px;border-radius:50%;background:var(--c-tint);opacity:.75}
.twn-hero::after{content:"";position:absolute;right:60px;top:180px;width:260px;height:260px;border-radius:50%;background:var(--c-paper2);opacity:.9}
.twn-hero__in{position:relative;z-index:1}
.twn-hero__rule{width:52px;height:3px;background:var(--c-acc);margin-bottom:22px}
.twn-hero h1{font-size:clamp(19px,2.4vw,28px);margin-bottom:22px;max-width:24em}
.twn-hero__lead{max-width:38em;font-size:15px;color:var(--c-muted)}
.twn-hero__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--c-line);border:1px solid var(--c-line);margin-top:44px}
.twn-hero__c{background:var(--c-paper);padding:20px 16px}
.twn-hero__k{font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;letter-spacing:.16em;color:var(--c-acc);text-transform:uppercase;display:block;margin-bottom:6px}
.twn-hero__v{font-family:'Noto Serif JP',serif;font-size:17px;font-weight:600;line-height:1.4}
.twn-sec{padding:76px 0}
.twn-sec--tint{background:var(--c-paper2)}
.twn-sec--dark{background:var(--c-dark);color:#e6e2f2}
.twn-sec--dark h2,.twn-sec--dark h3{color:#fff}
.twn-sec--dark .twn-eyebrow{color:var(--c-acc-soft)}
.twn-h2{font-size:clamp(19px,2.2vw,26px);margin-bottom:26px}
.twn-body{font-size:15px;max-width:44em}
.twn-sec--dark .twn-body{color:#cdc7de}
.twn-two{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.twn-big{border-left:3px solid var(--c-acc);padding-left:22px;margin:8px 0 26px}
.twn-big .twn-big__n{font-family:'Plus Jakarta Sans',sans-serif;font-size:52px;font-weight:600;line-height:1;color:var(--c-acc);display:block}
.twn-big__u{font-size:13px;color:var(--c-muted);letter-spacing:.08em}
.twn-tl{list-style:none;margin:0;padding:0;border-left:1px solid rgba(255,255,255,.22)}
.twn-tl li{position:relative;padding:0 0 26px 26px}
.twn-tl li:last-child{padding-bottom:0}
.twn-tl li::before{content:"";position:absolute;left:-5px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--c-acc-soft)}
.twn-tl__y{font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;letter-spacing:.14em;color:var(--c-acc-soft);display:block;margin-bottom:4px}
.twn-tl__t{font-family:'Noto Serif JP',serif;font-size:16px;color:#fff;display:block;margin-bottom:4px}
.twn-tl__d{font-size:13.5px;color:#c3bcd6}
.twn-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}
.twn-card{background:var(--c-paper);border:1px solid var(--c-line);padding:22px 18px}
.twn-card__h{font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;letter-spacing:.16em;color:var(--c-acc);margin-bottom:8px}
.twn-card__n{font-family:'Noto Serif JP',serif;font-size:15.5px;font-weight:600;margin-bottom:6px}
.twn-card p{font-size:13.5px;color:var(--c-muted);margin:0}
.twn-rows{border-top:1px solid var(--c-line);margin-top:24px}
.twn-row{display:grid;grid-template-columns:190px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--c-line);align-items:baseline}
.twn-row__k{font-family:'Noto Serif JP',serif;font-size:14.5px;font-weight:600;color:var(--c-acc)}
.twn-row__v{font-size:14.5px}
.twn-tbl{width:100%;border-collapse:collapse;margin-top:22px;font-size:14.5px}
.twn-tbl th,.twn-tbl td{border:1px solid var(--c-line);padding:13px 16px;text-align:left;vertical-align:top}
.twn-tbl th{background:var(--c-tint);width:210px;font-family:'Noto Serif JP',serif;font-weight:600}
.twn-note{font-size:12.5px;color:var(--c-muted);margin-top:16px}
.twn-mk{padding:76px 0}
.twn-mk .twn-h2{margin-bottom:8px}
@media(max-width:860px){
.twn-wrap{padding:0 18px}
.twn-hero{padding:52px 0 44px}
.twn-hero::before{width:260px;height:260px;right:-100px;top:-90px}
.twn-hero::after{display:none}
.twn-hero__grid{grid-template-columns:1fr 1fr;margin-top:32px}
.twn-sec,.twn-mk{padding:54px 0}
.twn-two{grid-template-columns:1fr;gap:30px}
.twn-grid4{grid-template-columns:1fr 1fr;gap:12px}
.twn-row{grid-template-columns:1fr;gap:4px;padding:14px 0}
.twn-tbl th,.twn-tbl td{display:block;width:auto;border-bottom:none}
.twn-tbl tr{display:block;border-bottom:1px solid var(--c-line)}
.twn-tbl td{border:none}
.twn-tbl th{border:none}
.twn-big .twn-big__n{font-size:34px}
}
.twn-lp > .tommy-cta-buttons{padding:44px max(24px,calc((100% - 1030px)/2));background:var(--c-paper2)}
@media(max-width:860px){.twn-lp > .tommy-cta-buttons{padding:32px 18px}}
