/* Reference homepage v1.6 — isolated styles, no legacy layout dependencies */
.ref-home{color:#11263c;background:#fff}.ref-home .nm-wrap{width:min(1180px,calc(100% - 44px))}.ref-hero{position:relative;min-height:555px;overflow:hidden;background:#fff}.ref-hero-scenery{position:absolute;inset:0 0 0 33%;background-image:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.9) 9%,rgba(255,255,255,.25) 37%,rgba(255,255,255,0) 65%),url('../img/hero-city.jpg');background-position:center,right center;background-size:cover,cover;background-repeat:no-repeat}.ref-hero-inner{position:relative;min-height:555px;display:flex;align-items:center}.ref-hero-copy{position:relative;z-index:2;max-width:570px;padding:42px 0}.ref-hero-copy h1{font-size:clamp(48px,5vw,72px);line-height:1.15;letter-spacing:-.055em;margin:0 0 14px;font-weight:900}.ref-hero-copy h1 span{color:#ff5a0a}.ref-hero-copy h2{font-size:22px;margin:0 0 10px;font-weight:800}.ref-hero-copy p{font-size:15px;line-height:1.9;margin:0}.ref-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.ref-btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:45px;padding:0 22px;border-radius:40px;background:#ff5a0a;color:#fff!important;font-weight:800;font-size:13px;box-shadow:0 5px 15px #ff5a0a22}.ref-outline{background:#fff;color:#f65a14!important;border:1px solid #ff9563;box-shadow:none}.ref-services{padding:22px 0 20px}.ref-service-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.ref-service-item{text-align:center;padding:20px 15px 15px;border-right:1px solid #ececec;display:flex;flex-direction:column;align-items:center}.ref-service-item:last-child{border-right:0}.ref-service-item img{height:43px;width:43px;object-fit:contain;margin:0 auto 8px}.ref-service-item h3{font-size:15px;line-height:1.5;margin:0 0 7px;font-weight:800}.ref-service-item p{font-size:11px;line-height:1.65;color:#5c6773;margin:0}.ref-reasons{padding:26px 0 38px}.ref-reasons>h2{font-size:22px;line-height:1.4;margin:0 0 23px;padding-left:12px;border-left:3px solid #ff5a0a}.ref-reason-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;text-align:center}.ref-reason-grid>div{padding:4px 8px}.ref-reason-icon{display:block;font-size:32px;color:#ff5a0a;line-height:1.2;margin-bottom:12px}.ref-reason-grid h3{font-size:14px;margin:0 0 6px}.ref-reason-grid p{font-size:11px;color:#647184;line-height:1.7;margin:0}.ref-business{padding:12px 0 30px}.ref-business-image{min-height:220px;border-radius:10px;overflow:hidden;background:linear-gradient(90deg,rgba(255,246,229,.97),rgba(255,245,225,.85) 36%,rgba(255,246,229,.12) 72%),url('../img/company-city.jpg') center center/cover no-repeat;display:flex;align-items:center}.ref-business-copy{padding:30px 40px;max-width:570px}.ref-business h2{font-size:23px;margin:0 0 5px}.ref-business p{font-size:13px;margin:0}.ref-business .ref-actions{margin-top:18px}.ref-news{padding:18px 0 38px;display:grid;grid-template-columns:160px 1fr auto;align-items:start;gap:28px}.ref-news h2{font-size:23px;margin:0}.ref-news-list>a{display:flex;gap:24px;padding:9px 0;border-bottom:1px solid #e7eaef;font-size:13px}.ref-news-list time{font-size:12px;color:#67788b;white-space:nowrap}.ref-news-list p{font-size:13px;color:#647184}.ref-news-more{font-size:12px;color:#f65a14;font-weight:800;margin-top:9px}.ref-other{font-size:11px;color:#8b9199;padding-bottom:14px}
@media(max-width:900px){.ref-hero,.ref-hero-inner{min-height:520px}.ref-hero-scenery{left:22%;opacity:.9}.ref-hero-copy{max-width:490px}.ref-service-grid{grid-template-columns:repeat(3,1fr)}.ref-service-item:nth-child(3){border-right:0}.ref-news{grid-template-columns:1fr}.ref-news-more{margin-top:0}}
@media(max-width:600px){.ref-home .nm-wrap{width:calc(100% - 30px)}.ref-hero{min-height:0}.ref-hero-inner{min-height:0;display:block;padding-top:25px;padding-bottom:220px}.ref-hero-copy{padding:0}.ref-hero-copy h1{font-size:clamp(38px,10vw,52px)}.ref-hero-copy h2{font-size:16px}.ref-hero-copy p{font-size:12px}.ref-desktop{display:none}.ref-hero-scenery{inset:auto 0 0 0;height:260px;background-image:linear-gradient(180deg,#fff 0%,rgba(255,255,255,0) 38%),url('../img/hero-city.jpg');background-position:center,bottom right;background-size:cover,auto 100%}.ref-actions{gap:8px}.ref-btn{font-size:11px;padding:0 13px;min-height:41px}.ref-services{padding:14px 0}.ref-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.ref-service-item{padding:15px 8px;border-bottom:1px solid #eee}.ref-service-item:nth-child(3){border-right:1px solid #eee}.ref-service-item:nth-child(2n){border-right:0}.ref-service-item h3{font-size:12px}.ref-service-item p{font-size:10px}.ref-reasons{padding:22px 0}.ref-reason-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ref-reasons>h2{font-size:18px}.ref-reason-grid h3{font-size:12px}.ref-reason-grid p{font-size:10px}.ref-business-image{min-height:220px;background-position:center,right center}.ref-business-copy{padding:24px 18px}.ref-business h2{font-size:18px}.ref-business p{font-size:11px}.ref-news{padding:10px 0 25px;gap:8px}.ref-news h2{font-size:20px}.ref-news-list>a{font-size:11px;gap:12px}.ref-news-list time{font-size:10px}}

/* v1.6.1: 画像を右側の領域だけでなくヒーロー全体に配置し、中央基準でトリミング */
@media (min-width:601px){.ref-hero-scenery{inset:0;background-image:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 17%,rgba(255,255,255,.83) 31%,rgba(255,255,255,.22) 51%,transparent 72%),url('../img/hero-city.jpg');background-size:100% 100%,cover;background-position:center center,center 54%;background-repeat:no-repeat}}

/* v1.6.2: Scenic, airy hero — reduce the opaque white wash.
   Text remains live HTML, not baked into an image. */
@media (min-width:601px){
 .ref-hero{background:#dff3ff}
 .ref-hero-scenery{
   inset:0;
   opacity:1;
   background-image:
     linear-gradient(90deg,rgba(231,246,255,.92) 0%,rgba(235,247,255,.79) 18%,rgba(238,248,255,.52) 33%,rgba(243,250,255,.12) 50%,rgba(255,255,255,0) 66%),
     url('../img/hero-city.jpg');
   background-size:100% 100%,cover;
   background-position:center,center 55%;
 }
 .ref-hero-copy{padding:42px 16px 42px 0;text-shadow:0 1px 1px rgba(255,255,255,.28)}
}
@media (max-width:600px){
 .ref-hero{background:linear-gradient(180deg,#eaf7ff 0%,#fff 73%)}
 .ref-hero-scenery{background-image:linear-gradient(180deg,rgba(234,247,255,.92) 0%,rgba(234,247,255,.15) 32%,transparent 68%),url('../img/hero-city.jpg')}
}

/* v1.6.3: hero artwork lettering removed; maintain existing scenic composition. */

/* v1.6.4: distinct, accessible reason icons and clean business scene */
.ref-reason-icon{display:flex;justify-content:center;align-items:center;min-height:42px;margin-bottom:12px}
.ref-reason-icon svg{width:37px;height:37px;display:block}
.ref-business-image{background-image:linear-gradient(90deg,rgba(255,250,241,.98) 0%,rgba(255,249,237,.94) 29%,rgba(255,249,237,.55) 52%,rgba(255,249,237,.05) 85%),url('../img/business-scenery.jpg');background-position:center,center center;background-size:cover,cover;background-repeat:no-repeat}
@media(max-width:600px){.ref-business-image{background-position:center,62% center;background-image:linear-gradient(90deg,rgba(255,250,241,.97),rgba(255,250,241,.8) 68%,rgba(255,250,241,.35)),url('../img/business-scenery.jpg')}}

/* v1.6.5: sharp wide skyline banner (text stays editable HTML) */
.ref-business-image{background-image:linear-gradient(90deg,rgba(246,250,251,.92) 0%,rgba(246,250,251,.67) 29%,rgba(246,250,251,.12) 55%,rgba(246,250,251,0) 78%),url('../img/business-scenery-hd.jpg')!important;background-position:center center!important;background-size:cover!important;background-repeat:no-repeat!important;min-height:235px}
@media(max-width:600px){.ref-business-image{background-position:58% center!important;background-image:linear-gradient(90deg,rgba(246,250,251,.95),rgba(246,250,251,.76) 65%,rgba(246,250,251,.4)),url('../img/business-scenery-hd.jpg')!important}}

/* v1.6.6: unique city/bridge illustration for business banner; no reuse of hero people */
.ref-business-image{background-image:linear-gradient(90deg,rgba(255,251,244,.97) 0%,rgba(255,251,244,.89) 27%,rgba(255,251,244,.37) 55%,rgba(255,251,244,0) 83%),url('../img/business-scenery-city-v2.jpg')!important;background-position:center center!important;background-size:cover!important;background-repeat:no-repeat!important}
@media(max-width:600px){.ref-business-image{background-image:linear-gradient(90deg,rgba(255,251,244,.96) 0%,rgba(255,251,244,.87) 54%,rgba(255,251,244,.35) 100%),url('../img/business-scenery-city-v2.jpg')!important;background-position:55% center!important}}
