
.sny-lp{--c-ink:#28394a;--c-deep:#1b2734;--c-slate:#41617e;--c-accent:#dcc487;--c-paper:#f9fafb;--c-paper2:#e9edf1;--c-muted:#5f6f7e;--c-line:rgba(40,57,74,.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}
.sny-lp *{box-sizing:border-box}
.sny-sec{padding:clamp(60px,8vw,116px) max(24px,calc((100% - 1030px)/2))}
.sny-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-slate);margin:0 0 16px}
.sny-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}
.sny-lp p{margin:0 0 18px}
.sny-lp p:last-child{margin-bottom:0}

.sny-hero{background:var(--c-paper2);text-align:center;padding:clamp(80px,10vw,142px) max(24px,calc((100% - 1030px)/2)) clamp(50px,6vw,86px);border-bottom:1px solid var(--c-line)}
.sny-hero__in{max-width:1030px;margin:0 auto}
.sny-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 22px}
.sny-hero__sub{font-size:clamp(13px,1.35vw,14.6px);color:var(--c-muted);max-width:640px;margin:0 auto}
.sny-hero__spec{display:flex;flex-wrap:wrap;justify-content:center;margin-top:clamp(40px,5vw,60px);border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);padding:20px 0 16px}
.sny-hero__i{flex:0 1 190px;padding:4px 20px;border-right:1px solid var(--c-line)}
.sny-hero__i:last-child{border-right:0}
.sny-hero__l{display:block;font-family:"Plus Jakarta Sans",sans-serif;font-size:10px;letter-spacing:.22em;color:var(--c-muted);margin-bottom:6px}
.sny-hero .sny-hero__n{display:block;font-family:"Noto Serif JP",serif;font-weight:400;font-size:clamp(18px,2.3vw,25px);line-height:1.3;letter-spacing:.03em}

.sny-ab__grid{display:grid;grid-template-columns:1fr 1fr;margin-top:clamp(30px,4vw,50px);border-top:1px solid var(--c-line);border-left:1px solid var(--c-line)}
.sny-ab__c{padding:clamp(24px,3.2vw,40px);border-right:1px solid var(--c-line);border-bottom:1px solid var(--c-line)}
.sny-ab__n{font-family:"Plus Jakarta Sans",sans-serif;font-size:11px;letter-spacing:.2em;color:var(--c-slate);display:block;margin-bottom:10px}
.sny-ab__c h3{font-family:"Noto Serif JP",serif;font-weight:400;font-size:clamp(15.5px,1.8vw,18.5px);letter-spacing:.05em;margin:0 0 12px;line-height:1.7}
.sny-ab__c p{font-size:13.5px;color:#3a4c5e;line-height:1.95}
.sny-lead{font-family:"Noto Serif JP",serif;font-weight:300;font-size:clamp(17px,2.1vw,23px);line-height:1.9;letter-spacing:.05em;margin:0;max-width:840px}

.sny-tw{background:var(--c-paper2)}
.sny-tw__row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3.6vw,56px);margin-top:clamp(28px,3.6vw,46px)}
.sny-tw__c{border-top:2px solid var(--c-slate);padding-top:22px}
.sny-tw__c h3{font-family:"Noto Serif JP",serif;font-weight:400;font-size:clamp(16px,1.9vw,20px);letter-spacing:.05em;margin:0 0 14px;line-height:1.7}
.sny-tw__c p{font-size:13.7px;color:#3a4c5e;line-height:1.95}

.sny-cl{background:var(--c-deep);color:#eef2f6}
.sny-cl .sny-h2{color:#fff}
.sny-cl .sny-eb{color:var(--c-accent)}
.sny-cl__lead{max-width:760px;font-size:clamp(13.8px,1.45vw,15.4px);color:rgba(255,255,255,.8);line-height:2.05}
.sny-cl__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);margin-top:clamp(34px,4.5vw,56px)}
.sny-cl__c{padding-top:18px;border-top:1px solid rgba(255,255,255,.26)}
.sny-cl__c b{display:block;font-family:"Noto Serif JP",serif;font-weight:400;font-size:15.5px;color:#fff;margin-bottom:9px;letter-spacing:.05em}
.sny-cl__c span{font-size:13.2px;color:rgba(255,255,255,.72);line-height:1.95}

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

.sny-mk{background:var(--c-paper2);--tommy-market-line:rgba(40,57,74,.16);--tommy-market-card-border:rgba(40,57,74,.18);--tommy-market-card-bg:#fff;--tommy-market-heading:#28394a;--tommy-market-body:#465767;--tommy-market-map-bg:#dae1e8}
.sny-mk .sny-note{font-size:12.4px;color:var(--c-muted);line-height:1.9;max-width:760px;margin:0 0 34px}

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

.tommy-global-header--sunny-cc{--tommy-header-bg:rgba(249,250,251,.96);--tommy-header-panel-bg:#fbfcfd;--tommy-header-text:#28394a;--tommy-header-muted:#5f6f7e;--tommy-header-line:rgba(40,57,74,.16);--tommy-header-accent:#41617e;--tommy-header-phone-bg:#41617e;--tommy-header-contact-bg:#b39a55}
.tommy-cta--sunny-cc{--tommy-cta-surface:#28394a;--tommy-cta-text:#fff;--tommy-cta-border:rgba(255,255,255,.5);--tommy-cta-buy:linear-gradient(135deg,#4d7396 0%,#304c66 100%);--tommy-cta-sell:linear-gradient(135deg,#6c7a88 0%,#48525d 100%);--tommy-cta-consult:linear-gradient(135deg,#c8ab68 0%,#93793f 100%)}
.tommy-footer--sunny-cc{--tommy-footer-bg:#1b2734;--tommy-footer-text:#fff;--tommy-footer-muted:rgba(255,255,255,.72);--tommy-footer-accent:#dcc487;--tommy-footer-line:rgba(220,196,135,.5)}

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

@media(max-width:860px){
.sny-hero__i{flex:1 1 45%;border-right:0;border-bottom:1px solid var(--c-line);padding-bottom:12px;margin-bottom:8px}
.sny-ab__grid{grid-template-columns:1fr}
.sny-tw__row{grid-template-columns:1fr;gap:24px}
.sny-cl__row{grid-template-columns:1fr;gap:22px}
.sny-ac__grid{grid-template-columns:1fr;gap:24px}
.sny-lp > .tommy-cta-buttons{padding:32px 18px}
.sny-dl__r{grid-template-columns:1fr;gap:4px;padding:14px 2px}
}
