
.ksg-lp{--c-ink:#402c26;--c-deep:#2e1d18;--c-terra:#9d4b35;--c-accent:#c98b6f;--c-paper:#fbf8f6;--c-paper2:#f0e7e1;--c-muted:#7a6259;--c-line:rgba(64,44,38,.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}
.ksg-lp *{box-sizing:border-box}
.ksg-sec{padding:clamp(60px,8vw,116px) max(24px,calc((100% - 1030px)/2))}
.ksg-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-terra);margin:0 0 16px}
.ksg-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}
.ksg-lp p{margin:0 0 18px}
.ksg-lp p:last-child{margin-bottom:0}

.ksg-hero{background:var(--c-paper2);padding:clamp(78px,10vw,138px) max(24px,calc((100% - 1030px)/2)) clamp(56px,7vw,92px);border-bottom:1px solid var(--c-line)}
.ksg-hero__in{max-width:1030px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,30%);gap:clamp(28px,4vw,58px);align-items:end}
.ksg-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}
.ksg-hero__sub{font-size:clamp(13px,1.35vw,14.6px);color:var(--c-muted);margin:0;max-width:560px}
.ksg-hero__spec{margin:0;border-top:2px solid var(--c-terra)}
.ksg-hero__r{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;border-bottom:1px solid var(--c-line)}
.ksg-hero__l{font-family:"Plus Jakarta Sans",sans-serif;font-size:10px;letter-spacing:.2em;color:var(--c-muted)}
.ksg-hero .ksg-hero__n{font-family:"Noto Serif JP",serif;font-weight:400;font-size:clamp(16px,1.9vw,20px);letter-spacing:.03em}
.ksg-hero__u{font-size:11.5px;color:var(--c-muted);margin-left:3px}

.ksg-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 0 34px;max-width:840px}
.ksg-body{columns:2;column-gap:clamp(32px,4vw,64px);font-size:clamp(13.8px,1.4vw,15px);color:#4f3a33}
.ksg-body p{break-inside:avoid}
.ksg-figs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2.4vw,32px);margin-top:clamp(34px,4.5vw,54px);border-top:1px solid var(--c-line);padding-top:26px}
.ksg-figs__c b{display:block;font-family:"Noto Serif JP",serif;font-weight:400;font-size:clamp(18px,2.3vw,25px);letter-spacing:.02em;margin-bottom:6px}
.ksg-figs__c span{font-size:12.2px;color:var(--c-muted);line-height:1.8;display:block}

.ksg-vw{background:var(--c-deep);color:#f3ece8}
.ksg-vw .ksg-h2{color:#fff}
.ksg-vw .ksg-eb{color:var(--c-accent)}
.ksg-vw__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,40%);gap:clamp(28px,4vw,60px);align-items:start}
.ksg-vw__tx{font-size:clamp(13.6px,1.4vw,15px);color:rgba(255,255,255,.78)}
.ksg-vw__l{margin:0;padding:0;list-style:none}
.ksg-vw__l li{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.22);font-size:13.3px;color:rgba(255,255,255,.76)}
.ksg-vw__l li:first-child{border-top:1px solid rgba(255,255,255,.22)}
.ksg-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}

.ksg-cl{background:var(--c-paper2)}
.ksg-cl__wrap{margin-top:clamp(24px,3.4vw,44px)}
.ksg-cl__r{display:grid;grid-template-columns:minmax(0,30%) minmax(0,1fr);gap:clamp(18px,3vw,48px);padding:clamp(20px,2.8vw,32px) 0;border-bottom:1px solid var(--c-line);align-items:start}
.ksg-cl__r:first-of-type{border-top:1px solid var(--c-line)}
.ksg-cl__r h3{font-family:"Noto Serif JP",serif;font-weight:400;font-size:clamp(15.5px,1.8vw,19px);letter-spacing:.05em;margin:0;line-height:1.7}
.ksg-cl__r p{font-size:13.6px;color:#4f3a33;line-height:1.95}

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

.ksg-mk{background:var(--c-paper2);--tommy-market-line:rgba(64,44,38,.16);--tommy-market-card-border:rgba(64,44,38,.18);--tommy-market-card-bg:#fff;--tommy-market-heading:#402c26;--tommy-market-body:#5a453d;--tommy-market-map-bg:#e6d7cf}
.ksg-mk .ksg-note{font-size:12.4px;color:var(--c-muted);line-height:1.9;max-width:760px;margin:0 0 34px}

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

.tommy-global-header--kushigata-gc{--tommy-header-bg:rgba(251,248,246,.96);--tommy-header-panel-bg:#fdfbf9;--tommy-header-text:#402c26;--tommy-header-muted:#7a6259;--tommy-header-line:rgba(64,44,38,.16);--tommy-header-accent:#9d4b35;--tommy-header-phone-bg:#9d4b35;--tommy-header-contact-bg:#402c26}
.tommy-cta--kushigata-gc{--tommy-cta-surface:#402c26;--tommy-cta-text:#fff;--tommy-cta-border:rgba(255,255,255,.5);--tommy-cta-buy:linear-gradient(135deg,#b25539 0%,#823a27 100%);--tommy-cta-sell:linear-gradient(135deg,#8a6d62 0%,#5c4841 100%);--tommy-cta-consult:linear-gradient(135deg,#a3897a 0%,#736055 100%)}
.tommy-footer--kushigata-gc{--tommy-footer-bg:#2e1d18;--tommy-footer-text:#fff;--tommy-footer-muted:rgba(255,255,255,.72);--tommy-footer-accent:#c98b6f;--tommy-footer-line:rgba(201,139,111,.5)}

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

@media(max-width:860px){
.ksg-hero__in,.ksg-vw__grid,.ksg-ac__grid{grid-template-columns:1fr;gap:26px}
.ksg-body{columns:1}
.ksg-figs{grid-template-columns:1fr 1fr;gap:18px}
.ksg-cl__r{grid-template-columns:1fr;gap:8px}
.ksg-lp > .tommy-cta-buttons{padding:32px 18px}
.ksg-dl__r{grid-template-columns:1fr;gap:4px;padding:14px 2px}
}
