.sj-preview-note{padding:10px 16px;background:#fff6eb;color:#653a12;text-align:center;font:13px/1.5 Meiryo,sans-serif}
#sj-home-facilities{background:#fff;color:#333;font-family:Meiryo,"Hiragino Kaku Gothic ProN",sans-serif;letter-spacing:normal;isolation:isolate}
#sj-home-facilities *{box-sizing:border-box}
/* Original HeroParallax root: 300vh, py-40, perspective 1000px, preserve-3d. Height now follows the content so row 3 is never cut on short screens (2026-11-14). */
#sj-home-facilities .sjp-root{height:auto;padding:160px 0 80px;overflow:hidden;position:relative;display:flex;flex-direction:column;perspective:1000px;transform-style:preserve-3d}
#sj-home-facilities .sjp-header{width:100%;max-width:1280px;position:relative;margin:0 auto;padding:160px 24px 40px;left:0;top:0;z-index:3;pointer-events:none}
#sj-home-facilities .sjp-kicker{font-size:17px;font-weight:700;color:#df5a06;letter-spacing:.08em;margin:0 0 18px}
#sj-home-facilities .sjp-kicker:after{content:"";display:block;width:44px;height:3px;background:#ef650c;margin-top:10px}
#sj-home-facilities h2{font-size:44px!important;line-height:1.35;color:#222;font-weight:700;margin:0 0 16px;letter-spacing:normal}
#sj-home-facilities .sjp-intro{font-size:18px;line-height:1.8;margin:0 0 28px}
#sj-home-facilities .sjp-filters{display:flex;flex-wrap:wrap;gap:8px;pointer-events:auto;max-width:1180px}
#sj-home-facilities button{font:14px/1.5 Meiryo,sans-serif;color:#333;border:1px solid #ddd;border-radius:30px;padding:8px 16px;background:#fff;cursor:pointer}
#sj-home-facilities button[aria-pressed=true]{border-color:#ef650c;color:#b84600;background:#fff2e7}
#sj-home-facilities .sjp-mode{pointer-events:auto;margin-top:16px;background:#fff;border-color:#ef650c;border-radius:4px}
#sj-home-facilities a:focus-visible,#sj-home-facilities button:focus-visible{outline:3px solid #176eb0;outline-offset:5px}
#sj-home-facilities .sjp-surface{position:relative;transform-origin:50% 50%;flex-shrink:0}
#sj-home-facilities .sjp-row{display:flex;flex-direction:row;gap:80px;margin-bottom:80px}
#sj-home-facilities .sjp-row:last-child{margin-bottom:0}
#sj-home-facilities .sjp-row.sjp-reverse{flex-direction:row-reverse}
/* Source card dimensions: h-96 (384px), w-[30rem] (480px). No skew and no scrollLeft. */
#sj-home-facilities .sjp-product{height:384px;width:480px;position:relative;flex-shrink:0}
#sj-home-facilities .sjp-link{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:hidden;border-radius:9px;background:#f1f0ec;color:white;box-shadow:0 7px 14px #0002;text-decoration:none}
#sj-home-facilities img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left top;max-width:none}
#sj-home-facilities .sjp-label{position:absolute;inset:auto 0 0;padding:34px 20px 16px;background:linear-gradient(transparent,#000e);display:flex;align-items:end;justify-content:space-between;gap:15px;color:white;font-size:20px;line-height:1.5;font-weight:700;pointer-events:none;text-shadow:0 1px 3px #000}
#sj-home-facilities .sjp-label>span:last-child:not(:first-child){font-size:25px}
#sj-home-facilities .sjp-footer{text-align:center;padding:20px 24px 48px;font-size:14px;line-height:1.8}
#sj-home-facilities .sjp-footer a{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;min-width:270px;border:1px solid #ef650c;border-radius:4px;padding:12px 24px;color:#333;background:white;font-size:16px;font-weight:700;text-decoration:none}
#sj-home-facilities .sjp-static.sjp-root{height:auto;padding:56px 0;perspective:none;overflow:visible;display:block}
#sj-home-facilities .sjp-static .sjp-header{padding:0 24px 28px;pointer-events:auto}
#sj-home-facilities .sjp-static-grid{width:min(1160px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
#sj-home-facilities .sjp-static-card{aspect-ratio:16/9;position:relative;min-width:0}
#sj-home-facilities .sjp-static-card img{object-fit:cover;object-position:center} /* fill the card instead of side bars (2026-11-14) */
@media(max-width:900px){#sj-home-facilities .sjp-static-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){#sj-home-facilities .sjp-header{padding:80px 18px}#sj-home-facilities h2{font-size:30px!important}#sj-home-facilities .sjp-intro{font-size:16px}#sj-home-facilities .sjp-filters{gap:7px}#sj-home-facilities button{font-size:13px;padding:7px 12px}}
@media(max-width:600px){#sj-home-facilities .sjp-static-grid{grid-template-columns:1fr;width:calc(100% - 36px)}}
@media(prefers-reduced-motion:reduce){#sj-home-facilities *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Keep the 3D surface and each card on their own compositor layers: avoids re-rasterising 17 photos every frame while tilting (2026-11-14). */
#sj-home-facilities .sjp-surface,#sj-home-facilities .sjp-product{will-change:transform}
