/* ShakeHands v27 / corporate company & contact CG art direction,
   editorial and mobile-first; live WordPress forms remain untouched. */
.ss-site{
 --ss-ink:#181a28;--ss-green:#1d2088;--ss-accent:#1d2088;
 --ss-muted:#5b5c69;--ss-line:#dfe0e9;--ss-light:#f5f4f0;
 font-family:"Noto Sans JP",sans-serif!important;
}
.ss-site .ss-header{
 height:82px!important;
 position:sticky!important;top:0;z-index:110;
 background:#f6f5f1!important;
 border-bottom:1px solid #d6d7e0!important;
}
.ss-site .ss-header nav a{
 color:#2b2d42;
 font-size:11px;font-weight:800;
 letter-spacing:.02em;
}
.ss-site .ss-header nav .ss-nav-cta{
 background:#1d2088!important;
 border-radius:0;
 padding:13px 16px;
 color:#fff!important;
}
.ss-site .ss-hero.ss27-cg-hero{
 isolation:isolate;
 display:flex;
 align-items:flex-end;
 min-height:clamp(620px,calc(100svh - 82px),950px);
 height:clamp(620px,calc(100svh - 82px),950px);
 padding:70px 0 65px;
 position:relative;
 overflow:hidden;
 background:#111830!important;
 color:#fff;
}
.ss-site .ss-hero.ss27-cg-hero:before{
 content:"";position:absolute;z-index:0;inset:0;
 background-image:var(--ss27-hero-bg);
 background-position:57% center;
 background-size:cover;
 background-repeat:no-repeat;
 filter:saturate(.92) contrast(1.045);
 animation:ss27-drift-in 1.6s ease both;
}
.ss-site .ss-hero.ss27-cg-hero:after{
 content:"";position:absolute;z-index:1;inset:0;
 background:
  linear-gradient(0deg,rgba(7,11,34,.87),rgba(7,11,34,.09) 85%),
  linear-gradient(90deg,rgba(7,11,34,.42),rgba(7,11,34,0) 80%);
 border:0;width:auto;height:auto;border-radius:0;pointer-events:none;
}
.ss-site .ss-hero.ss27-cg-hero .ss-wrap{
 position:relative;z-index:2;
 width:calc(100% - 42px)!important;
 max-width:1380px!important;
 margin:0 auto!important;
}
.ss-site .ss-hero.ss27-cg-hero .ss-kicker{
 color:#f1f2ff!important;
 font:850 11px/1.5 "Space Grotesk","Arial",sans-serif!important;
 letter-spacing:.16em!important;
 margin-bottom:20px!important;
 display:flex;align-items:center;gap:13px;
}
.ss-site .ss-hero.ss27-cg-hero .ss-kicker:before{
 content:"";display:inline-block;height:2px;width:40px;background:#fff;
}
.ss-site .ss-hero.ss27-cg-hero h1{
 color:#fff!important;
 font:900 clamp(45px,7.5vw,118px)/1.17 "Noto Sans JP",sans-serif!important;
 letter-spacing:-.077em!important;
 text-shadow:0 3px 26px rgba(0,0,0,.13);
}
.ss-site .ss-hero.ss27-cg-hero .ss-wrap>p:not(.ss-kicker){
 margin-top:25px!important;
 color:#eeeefa!important;
 font-size:clamp(12px,1.65vw,16px)!important;
 line-height:1.95!important;
 font-weight:650!important;
 max-width:720px;
}
.ss-site .ss27-hero-index{
 display:block;
 width:100%;
 margin-top:45px;
 padding-top:18px;border-top:1px solid rgba(255,255,255,.46);
 color:rgba(255,255,255,.75);
 font:850 10px/1.4 "Space Grotesk","Arial",sans-serif;
 letter-spacing:.14em;
}
.ss-site .ss-section h2,.ss-site .ss-section-title{
 font-family:"Noto Sans JP",sans-serif!important;
 font-size:clamp(36px,4.7vw,77px)!important;
 font-weight:900!important;
 letter-spacing:-.065em!important;
 line-height:1.32!important;
 color:#1a1b27!important;
}
.ss-site .ss-kicker{
 font-family:"Space Grotesk","Arial",sans-serif!important;
 color:#343fa3!important;
 font-weight:850!important;
 font-size:10px!important;
 letter-spacing:.16em!important;
}
.ss-site .ss-section{padding:clamp(90px,9vw,136px) 0!important;}
.ss-site .ss-surface{background:#f5f4f0!important;}
.ss-site .ss-prose p{color:#575969!important;line-height:1.95!important;}
.ss-site .ss-profile>div{border-color:#d6d8df!important;}
.ss-site .ss-profile dt{color:#787a89!important;}
.ss-site .ss-profile dd{color:#1d1e2c!important;}
.ss-site .ss-contact-grid .ss-form-panel{
 background:#f5f5f7!important;border-color:#d8dae8!important;
}
.ss-site .ss-form :is(button[type="submit"],.fusion-button){
 background:#1d2088!important;
 color:#fff!important;
}
.ss-site .ss-footer{background:#11152a!important;color:#fff!important;}
.ss-site .ss-footer nav a{color:#fff!important;}
@keyframes ss27-drift-in{from{transform:scale(1.06);opacity:.8;}to{transform:scale(1);opacity:1;}}
@media(max-width:760px){
 .ss-site .ss-header{
  height:74px!important;
  padding:0 21px!important;
 }
 .ss-site .ss-hero.ss27-cg-hero{
  height:calc(100svh - 74px)!important;
  min-height:600px;
  padding:80px 0 47px!important;
 }
 .ss-site .ss-hero.ss27-cg-hero:before{background-position:62% center;}
 .ss-site .ss-hero.ss27-cg-hero h1{
  font-size:clamp(41px,10.7vw,56px)!important;
  line-height:1.21!important;
  letter-spacing:-.075em!important;
 }
 .ss-site .ss-hero.ss27-cg-hero .ss-wrap>p:not(.ss-kicker){
  font-size:12px!important;
 }
 .ss-site .ss27-hero-index{margin-top:27px;}
 .ss-site .ss-section{padding:77px 0!important;}
 .ss-site .ss-section h2,.ss-site .ss-section-title{font-size:clamp(33px,8.2vw,45px)!important;}
 .ss-site .ss-prose p{font-size:13px!important;}
}
@media(prefers-reduced-motion:reduce){.ss-site .ss-hero.ss27-cg-hero:before{animation:none!important;}}
/* Real estate / isolated custom template; respects its own navigation JS */
.rv-site .rv-head{
 position:sticky!important;
 top:0;
 z-index:110!important;
 border-bottom:1px solid #d8d9e3!important;
 background:#f6f5f1!important;
 box-shadow:none!important;
}
.rv-site .rv-head .rv-brand{color:#1d2088!important;}
.rv-site .rv-head .rv-nav a{
 color:#2a2c3d!important;
 font-weight:750!important;
 font-size:11px!important;
}
.rv-site .rv-head .rv-hamburger{border-color:#d2d5e2!important;}
.rv-site .rv-hero.rv27-brand-hero{
 min-height:clamp(650px,calc(100svh - 74px),1050px)!important;
 height:clamp(650px,calc(100svh - 74px),1050px)!important;
 color:white;
 background:#12182e!important;
}
.rv-site .rv-hero.rv27-brand-hero .rv-hero-photo{
 background-position:56% center!important;
 background-size:cover!important;
 background-repeat:no-repeat!important;
 filter:saturate(.91) contrast(1.05);
}
.rv-site .rv-hero.rv27-brand-hero .rv-hero-overlay{
 background:
  linear-gradient(0deg,rgba(7,12,33,.91),rgba(7,12,33,.08) 85%),
  linear-gradient(90deg,rgba(7,12,33,.40),rgba(7,12,33,0) 90%)!important;
}
.rv-site .rv-hero.rv27-brand-hero .rv-hero-inner{
 position:relative;z-index:2;
}
.rv-site .rv-hero.rv27-brand-hero h1{
 color:#fff!important;
 font-family:"Noto Sans JP",sans-serif!important;
 font-size:clamp(44px,7.55vw,116px)!important;
 font-weight:900!important;
 letter-spacing:-.08em!important;
 line-height:1.2!important;
 text-shadow:0 3px 18px rgba(0,0,0,.16);
}
.rv-site .rv-hero.rv27-brand-hero h1 em{color:#fff!important;font-style:normal!important;}
.rv-site .rv-hero.rv27-brand-hero .rv-hero-lead{
 color:#fff!important;
 font-size:clamp(12px,1.5vw,16px)!important;
 line-height:1.95!important;
}
.rv-site .rv-route .rv-title,
.rv-site .rv-about .rv-title{
 font-size:clamp(43px,5vw,80px)!important;
 line-height:1.25!important;
 font-weight:900!important;
 letter-spacing:-.075em!important;
}
@media(max-width:699px){
 .rv-site .rv-hero.rv27-brand-hero{
  height:calc(100svh - 74px)!important;min-height:620px!important;
 }
 .rv-site .rv-hero.rv27-brand-hero h1{
  font-size:clamp(40px,10.2vw,57px)!important;
  line-height:1.21!important;
 }
 .rv-site .rv-hero.rv27-brand-hero .rv-hero-photo{background-position:61% center!important;}
 .rv-site .rv-route .rv-title,.rv-site .rv-about .rv-title{font-size:clamp(34px,8.8vw,49px)!important;}
}
