
.gns-lp{--c-ink:#241f2e;--c-main:#553d74;--c-deep:#2c2140;--c-acc:#b09355;--c-lav:#9b86bb;--c-paper:#fcfbfd;--c-cream:#efebf3;--c-line:#ddd6e4;
background:var(--c-paper);color:var(--c-ink);font-family:"Noto Sans JP",sans-serif;line-height:1.95;overflow-x:hidden}
.gns-lp .gns-wrap{max-width:1030px;margin:0 auto;padding:0 max(24px,calc((100% - 1030px)/2))}
.gns-lp .gns-sec{padding:98px 0}
@media(max-width:860px){.gns-lp .gns-sec{padding:62px 0}}
.gns-lp .gns-eyebrow{font-family:"Plus Jakarta Sans",sans-serif;font-size:11.5px;letter-spacing:.24em;font-weight:600;color:var(--c-acc);margin:0 0 18px}
.gns-lp h2{font-family:"Noto Serif JP",serif;font-weight:400;font-size:clamp(21px,3.1vw,33px);line-height:1.5;letter-spacing:.04em;margin:0 0 26px}
.gns-lp h3{font-family:"Noto Serif JP",serif;font-weight:500;font-size:clamp(16px,2vw,19px);letter-spacing:.04em;margin:0 0 12px}
.gns-lp p{font-size:15px;letter-spacing:.02em;margin:0 0 18px}
.gns-lp p:last-child{margin-bottom:0}

.gns-lp .gns-hero{background:linear-gradient(130deg,#fbf9fc 0%,#ece5f1 100%);padding:122px 0 92px;border-bottom:1px solid var(--c-line)}
@media(max-width:860px){.gns-lp .gns-hero{padding:82px 0 62px}}
.gns-lp .gns-hero__t{font-family:"Noto Serif JP",serif;font-weight:300;font-size:clamp(22px,4.2vw,46px);line-height:1.42;letter-spacing:.06em;margin:0 0 10px;color:var(--c-deep)}
.gns-lp .gns-hero__sub{font-size:12.5px;letter-spacing:.14em;color:#756b80;margin:0 0 26px}
.gns-lp .gns-hero__lead{max-width:620px;font-size:15.5px;line-height:2.15;color:#453d50}
.gns-lp .gns-big{display:flex;align-items:flex-end;flex-wrap:wrap;gap:16px 44px;margin-top:46px;padding-top:30px;border-top:1px solid var(--c-line)}
.gns-lp .gns-big__n{font-family:"Plus Jakarta Sans",sans-serif;font-weight:200;font-size:clamp(48px,9vw,96px);line-height:.9;color:var(--c-main);letter-spacing:-.01em;margin:0}
.gns-lp .gns-big__u{font-size:.26em;letter-spacing:.12em;margin-left:8px;color:var(--c-acc)}
.gns-lp .gns-big__side{display:flex;flex-wrap:wrap;gap:10px 30px;padding-bottom:8px}
.gns-lp .gns-big__side span{font-size:12.5px;letter-spacing:.08em;color:#6c6277}
.gns-lp .gns-big__side b{font-family:"Plus Jakarta Sans",sans-serif;font-weight:600;color:var(--c-main);margin-right:6px;font-size:14px}

.gns-lp .gns-alt{background:var(--c-paper)}
.gns-lp .gns-row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:38px 0}
.gns-lp .gns-row + .gns-row{border-top:1px solid var(--c-line)}
@media(max-width:860px){.gns-lp .gns-row{grid-template-columns:1fr;gap:18px;padding:28px 0}}
.gns-lp .gns-row:nth-child(even) .gns-row__t{order:2}
@media(max-width:860px){.gns-lp .gns-row:nth-child(even) .gns-row__t{order:0}}
.gns-lp .gns-row__k{font-family:"Plus Jakarta Sans",sans-serif;font-size:11px;letter-spacing:.18em;color:var(--c-acc);font-weight:600;margin:0 0 10px}
.gns-lp .gns-row h3{font-size:clamp(18px,2.5vw,24px);font-weight:400}
.gns-lp .gns-row p{font-size:14.8px;line-height:2.1}

.gns-lp .gns-nines{background:var(--c-cream)}
.gns-lp .gns-n3{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
@media(max-width:860px){.gns-lp .gns-n3{grid-template-columns:1fr}}
.gns-lp .gns-n3__c{padding:0 30px;border-left:1px solid var(--c-line)}
.gns-lp .gns-n3__c:first-child{padding-left:0;border-left:none}
.gns-lp .gns-n3__c:last-child{padding-right:0}
@media(max-width:860px){.gns-lp .gns-n3__c{padding:26px 0 0;border-left:none;border-top:1px solid var(--c-line)}.gns-lp .gns-n3__c:first-child{border-top:none;padding-top:0}}
.gns-lp .gns-n3__y{font-family:"Plus Jakarta Sans",sans-serif;font-size:12px;letter-spacing:.16em;color:var(--c-acc);font-weight:600;margin:0 0 8px}
.gns-lp .gns-n3__c p{font-size:14.5px;line-height:2}

.gns-lp .gns-resort{background:var(--c-deep);color:#fff}
.gns-lp .gns-resort h2{color:#fff}
.gns-lp .gns-resort .gns-eyebrow{color:#d5bb80}
.gns-lp .gns-c2{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
@media(max-width:860px){.gns-lp .gns-c2{grid-template-columns:1fr;gap:30px}}
.gns-lp .gns-c2 p{color:#e4ddee;font-size:14.5px;line-height:2.05}
.gns-lp .gns-quote{font-family:"Noto Serif JP",serif;font-weight:300;font-size:clamp(17px,2.4vw,22px);line-height:1.95;letter-spacing:.05em;color:#efe4d5;border-left:2px solid var(--c-acc);padding-left:24px;margin:0}

.gns-lp .gns-access{background:var(--c-paper)}
.gns-lp .gns-q4{display:grid;grid-template-columns:1fr 1fr;gap:0}
@media(max-width:860px){.gns-lp .gns-q4{grid-template-columns:1fr}}
.gns-lp .gns-q4__i{padding:30px 34px;border-top:1px solid var(--c-line);border-left:1px solid var(--c-line)}
.gns-lp .gns-q4__i:nth-child(2n+1){border-left:none;padding-left:0}
@media(max-width:860px){.gns-lp .gns-q4__i{padding:24px 0;border-left:none}}
.gns-lp .gns-q4__t{font-size:12px;letter-spacing:.14em;color:var(--c-main);font-weight:600;margin:0 0 8px}
.gns-lp .gns-q4__i p{font-size:14.5px;line-height:1.95;margin:0}

.gns-lp .gns-mk{background:var(--c-cream);--tommy-market-line:#ddd6e4;--tommy-market-card-border:#ddd6e4;--tommy-market-card-bg:#ffffff;--tommy-market-heading:#553d74;--tommy-market-body:#241f2e;--tommy-market-map-bg:#e5dfec}
.gns-lp .gns-mk__lead{max-width:760px;font-size:14px;color:#615a6c;margin:0 0 34px}

.gns-lp > .tommy-cta-buttons{padding:44px max(24px,calc((100% - 1030px)/2));background:var(--c-paper)}
@media(max-width:860px){.gns-lp > .tommy-cta-buttons{padding:32px 18px}}
.tommy-global-header--grandy-nasu{--tommy-header-bg:#2c2140;--tommy-header-panel-bg:#3d2e59;--tommy-header-text:#ffffff;--tommy-header-muted:#c3b2da;--tommy-header-line:rgba(255,255,255,.2);--tommy-header-accent:#b09355;--tommy-header-phone-bg:#553d74;--tommy-header-contact-bg:#b09355}
.tommy-cta--grandy-nasu{--tommy-cta-surface:#ffffff;--tommy-cta-text:#241f2e;--tommy-cta-border:#ddd6e4;--tommy-cta-buy:linear-gradient(135deg,#553d74,#7d60a0);--tommy-cta-sell:linear-gradient(135deg,#2c2140,#553d74);--tommy-cta-consult:linear-gradient(135deg,#b09355,#c9ae74)}
.tommy-footer--grandy-nasu{--tommy-footer-bg:#241f2e;--tommy-footer-text:#f3f0f7;--tommy-footer-muted:#b8a7cf;--tommy-footer-accent:#b09355;--tommy-footer-line:rgba(255,255,255,.16)}
.gns-lp .gns-rv{opacity:0;transform:translateY(16px);transition:opacity .8s ease,transform .8s ease}
.gns-lp .gns-rv.is-on{opacity:1;transform:none}
