
.ecg-lp{--c-ink:#1c2740;--c-deep:#131c30;--c-indigo:#2c4a7c;--c-accent:#8aa6cf;--c-paper:#f8fafd;--c-paper2:#e9eef6;--c-muted:#5d6a83;--c-line:rgba(28,39,64,.14);font-family:"Noto Sans JP",system-ui,sans-serif;color:var(--c-ink);background:var(--c-paper);line-height:1.95;letter-spacing:.02em;overflow-x:hidden}
.ecg-lp *{box-sizing:border-box}
.ecg-sec{padding:clamp(60px,8vw,116px) max(24px,calc((100% - 1030px)/2))}
.ecg-eb{font-family:"Plus Jakarta Sans","Noto Sans JP",sans-serif;font-size:11px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--c-indigo);margin:0 0 16px}
.ecg-h2{font-family:"Noto Serif JP",serif;font-weight:300;font-size:clamp(20px,2.9vw,31px);line-height:1.6;margin:0 0 24px;letter-spacing:.05em}
.ecg-lp p{margin:0 0 18px}
.ecg-lp p:last-child{margin-bottom:0}

.ecg-hero{background:var(--c-deep);color:#eef2f8;padding:clamp(84px,11vw,148px) max(24px,calc((100% - 1030px)/2)) clamp(54px,6vw,90px)}
.ecg-hero__in{max-width:1030px;margin:0 auto}
.ecg-hero .ecg-eb{color:var(--c-accent)}
.ecg-hero h1{font-family:"Noto Serif JP",serif;font-weight:300;font-size:clamp(23.5px,4.4vw,48px);line-height:1.34;letter-spacing:.05em;margin:0 0 20px;color:#fff}
.ecg-hero__sub{font-size:clamp(13px,1.35vw,14.6px);color:rgba(255,255,255,.74);max-width:600px;margin:0}
.ecg-hero__big{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:end;margin-top:clamp(40px,5vw,62px);padding-top:26px;border-top:1px solid rgba(255,255,255,.2)}
.ecg-hero .ecg-hero__y{font-family:"Noto Serif JP",serif;font-weight:300;font-size:clamp(40px,7vw,76px);line-height:1;letter-spacing:.02em;color:#fff;display:block}
.ecg-hero__yl{display:block;font-family:"Plus Jakarta Sans",sans-serif;font-size:10px;letter-spacing:.22em;color:rgba(255,255,255,.55);margin-bottom:10px}
.ecg-hero__mini{display:flex;flex-wrap:wrap;gap:0}
.ecg-hero__m{flex:1 1 33%;min-width:110px;padding:0 16px;border-left:1px solid rgba(255,255,255,.2)}
.ecg-hero__m span{display:block;font-family:"Plus Jakarta Sans",sans-serif;font-size:10px;letter-spacing:.2em;color:rgba(255,255,255,.55);margin-bottom:5px}
.ecg-hero .ecg-hero__n{font-family:"Noto Serif JP",serif;font-weight:400;font-size:clamp(17px,2.1vw,22px);color:#fff;letter-spacing:.03em}

.ecg-ab__grid{display:grid;grid-template-columns:minmax(0,34%) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start}
.ecg-ab__tx{font-size:clamp(14px,1.4vw,15.3px);color:#33405c}
.ecg-ab__mark{margin-top:26px;padding:20px 22px;background:var(--c-paper2);font-size:13.2px;color:#3a4763;line-height:1.9}

.ecg-hl{background:var(--c-paper2)}
.ecg-hl__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);margin-top:clamp(30px,4vw,50px)}
.ecg-hl__c{background:#fff;padding:clamp(24px,3vw,34px);border-top:3px solid var(--c-indigo)}
.ecg-hl .ecg-hl__no{display:block;font-family:"Noto Serif JP",serif;font-weight:300;font-size:clamp(30px,4vw,44px);line-height:1;color:var(--c-indigo);margin-bottom:14px;letter-spacing:.02em}
.ecg-hl__c h3{font-family:"Noto Serif JP",serif;font-weight:400;font-size:16px;letter-spacing:.05em;margin:0 0 10px;line-height:1.7}
.ecg-hl__c p{font-size:13.4px;color:#41506d;line-height:1.95}

.ecg-vw{background:var(--c-deep);color:#eef2f8}
.ecg-vw .ecg-h2{color:#fff}
.ecg-vw .ecg-eb{color:var(--c-accent)}
.ecg-vw__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,40%);gap:clamp(28px,4vw,60px);align-items:start}
.ecg-vw__tx{font-size:clamp(13.6px,1.4vw,15px);color:rgba(255,255,255,.78)}
.ecg-vw__l{margin:0;padding:0;list-style:none}
.ecg-vw__l li{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.22);font-size:13.3px;color:rgba(255,255,255,.78)}
.ecg-vw__l li:first-child{border-top:1px solid rgba(255,255,255,.22)}
.ecg-vw__l b{display:block;font-family:"Noto Serif JP",serif;font-weight:400;font-size:15px;color:#fff;margin-bottom:4px;letter-spacing:.05em}

.ecg-ac__grid{display:grid;grid-template-columns:minmax(0,32%) minmax(0,1fr);gap:clamp(28px,4vw,60px);align-items:start}
.ecg-dl{margin:0}
.ecg-dl__r{display:grid;grid-template-columns:minmax(104px,22%) 1fr;gap:14px;padding:15px 2px;border-bottom:1px solid var(--c-line)}
.ecg-dl__r:first-child{border-top:1px solid var(--c-line)}
.ecg-dl dt{font-size:12.5px;color:var(--c-muted);letter-spacing:.06em;margin:0}
.ecg-dl dd{margin:0;font-size:14px;line-height:1.85}

.ecg-mk{background:var(--c-paper2);--tommy-market-line:rgba(28,39,64,.16);--tommy-market-card-border:rgba(28,39,64,.18);--tommy-market-card-bg:#fff;--tommy-market-heading:#1c2740;--tommy-market-body:#44506a;--tommy-market-map-bg:#d9e2ef}
.ecg-mk .ecg-note{font-size:12.4px;color:var(--c-muted);line-height:1.9;max-width:760px;margin:0 0 34px}

.ecg-fin{text-align:center}
.ecg-fin .ecg-h2{margin-bottom:18px}
.ecg-fin p{font-size:13.8px;color:var(--c-muted);max-width:620px;margin:0 auto}
.ecg-lp > .tommy-cta-buttons{padding:44px max(24px,calc((100% - 1030px)/2));background:var(--c-paper)}

.tommy-global-header--echigo-gc{--tommy-header-bg:rgba(19,28,48,.95);--tommy-header-panel-bg:#182339;--tommy-header-text:#f1f5fa;--tommy-header-muted:rgba(255,255,255,.66);--tommy-header-line:rgba(255,255,255,.2);--tommy-header-accent:#8aa6cf;--tommy-header-phone-bg:#2c4a7c;--tommy-header-contact-bg:#4a6fa8}
.tommy-cta--echigo-gc{--tommy-cta-surface:#1c2740;--tommy-cta-text:#fff;--tommy-cta-border:rgba(255,255,255,.5);--tommy-cta-buy:linear-gradient(135deg,#37619e 0%,#22406e 100%);--tommy-cta-sell:linear-gradient(135deg,#5c7096 0%,#3c4d6c 100%);--tommy-cta-consult:linear-gradient(135deg,#8a94a8 0%,#5f6a80 100%)}
.tommy-footer--echigo-gc{--tommy-footer-bg:#131c30;--tommy-footer-text:#fff;--tommy-footer-muted:rgba(255,255,255,.72);--tommy-footer-accent:#8aa6cf;--tommy-footer-line:rgba(138,166,207,.5)}

.ecg-rv{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.ecg-rv.is-on{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.ecg-rv{opacity:1;transform:none;transition:none}}

@media(max-width:860px){
.ecg-hero__big{grid-template-columns:1fr;gap:24px;align-items:start}
.ecg-hero__m{flex:1 1 45%;border-left:0;border-top:1px solid rgba(255,255,255,.2);padding:12px 0 0}
.ecg-ab__grid,.ecg-vw__grid,.ecg-ac__grid{grid-template-columns:1fr;gap:24px}
.ecg-hl__row{grid-template-columns:1fr;gap:20px}
.ecg-lp > .tommy-cta-buttons{padding:32px 18px}
.ecg-dl__r{grid-template-columns:1fr;gap:4px;padding:14px 2px}
}
