:root{--sl-yellow:#f3ea3f;--sl-dark:#10130f;--sl-black:#060806;--sl-white:#fff;--sl-gray:#f2f3ef;--sl-line:rgba(255,255,255,.15);--sl-radius:2px;--sl-shadow:0 18px 60px rgba(0,0,0,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Noto Sans JP',sans-serif;color:#171a16;background:#fff;line-height:1.8}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin-top:0}.container-wide{width:min(1420px,calc(100% - 80px));margin:auto}.container-narrow{width:min(920px,calc(100% - 40px));margin:auto}.section{padding:120px 0}.section-dark{padding:130px 0;background:var(--sl-dark);color:#fff}.section-kicker{display:inline-flex;align-items:center;gap:12px;font:700 12px/1 'Montserrat',sans-serif;letter-spacing:.2em;color:#777}.section-kicker:before{content:"";width:35px;height:2px;background:var(--sl-yellow)}h1,h2,h3{font-weight:800;line-height:1.25}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:65px}.section-heading h2,.intro h2{font-size:clamp(34px,4vw,62px);margin:22px 0}.section-heading>p{max-width:500px;color:#b9bdb6}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-width:220px;padding:18px 24px;font-weight:800;font-size:14px;letter-spacing:.04em;transition:.25s}.button-yellow{background:var(--sl-yellow);color:#111}.button-yellow:hover{transform:translateY(-3px);box-shadow:0 14px 35px rgba(243,234,63,.25)}.button-dark{background:#111;color:#fff}.button-outline{border:1px solid rgba(255,255,255,.5);color:#fff}.text-link{display:inline-flex;gap:20px;align-items:center;font-weight:800;border-bottom:1px solid #222;padding-bottom:7px}.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;color:#fff;transition:.3s}.site-header.scrolled{background:rgba(7,9,7,.95);backdrop-filter:blur(16px);box-shadow:0 5px 25px rgba(0,0,0,.2)}.header-inner{height:92px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:14px}.custom-logo{max-height:54px;width:auto}.brand-mark{width:50px;height:50px;display:grid;place-items:center;background:var(--sl-yellow);color:#111;font:900 18px 'Montserrat'}.brand-text{display:flex;flex-direction:column}.brand-text strong{font-size:16px}.brand-text small{font:600 9px 'Montserrat';letter-spacing:.16em;color:#cdd0ca}.main-nav{display:flex;align-items:center;gap:38px}.main-nav ul{display:flex;list-style:none;gap:34px;margin:0;padding:0}.main-nav a{font-size:13px;font-weight:700}.header-contact{background:var(--sl-yellow);color:#111;padding:35px 32px}.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle span{display:block;width:28px;height:2px;margin:6px;background:#fff}.hero{min-height:850px;height:100vh;position:relative;background-color:#20251e;background-size:cover;background-position:center;display:flex;align-items:center;color:#fff;overflow:hidden}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,5,.96) 0%,rgba(5,7,5,.84) 38%,rgba(5,7,5,.18) 72%,rgba(5,7,5,.05) 100%)}.hero-lines{position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.9%,rgba(255,255,255,.08) 50%,transparent 50.1%),linear-gradient(0deg,transparent 49.9%,rgba(255,255,255,.05) 50%,transparent 50.1%);background-size:260px 260px;opacity:.4}.hero-content{position:relative;z-index:2;padding-top:80px}.hero-eyebrow{font:700 12px 'Montserrat';letter-spacing:.32em;color:var(--sl-yellow);margin-bottom:32px}.hero h1{font-size:clamp(52px,7vw,104px);letter-spacing:-.04em;margin-bottom:30px;max-width:900px}.hero-copy{max-width:600px;font-size:17px;color:#d4d7d1;margin-bottom:45px}.hero-scroll{position:absolute;right:45px;bottom:44px;writing-mode:vertical-rl;font:600 10px 'Montserrat';letter-spacing:.2em;z-index:2;display:flex;gap:15px;align-items:center}.hero-scroll i{width:1px;height:65px;background:var(--sl-yellow)}.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}.intro p{font-size:16px;color:#62675f;margin-bottom:35px}.intro-image{min-height:570px;background-size:cover;background-position:center;position:relative;box-shadow:var(--sl-shadow)}.placeholder-image,.card-placeholder,.news-placeholder{background:linear-gradient(135deg,#242a23,#4c5549)}.intro-image span{position:absolute;right:-25px;bottom:30px;writing-mode:vertical-rl;font:800 13px 'Montserrat';letter-spacing:.25em}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{background:#181c17;overflow:hidden}.service-card img,.card-placeholder{width:100%;aspect-ratio:1.45;object-fit:cover;filter:saturate(.7);transition:.4s}.service-card:hover img{transform:scale(1.04);filter:saturate(1)}.service-card-body{position:relative;padding:32px}.card-number{font:700 11px 'Montserrat';color:var(--sl-yellow);letter-spacing:.15em}.service-card h3{font-size:24px;margin:15px 0}.service-card p{color:#aeb2ac;font-size:14px;padding-right:40px}.circle-arrow{position:absolute;right:26px;bottom:28px;width:42px;height:42px;border:1px solid #52564f;border-radius:50%;display:grid;place-items:center}.stats{background:var(--sl-yellow)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat{padding:25px 30px;border-right:1px solid rgba(0,0,0,.18);text-align:center}.stat strong{display:block;font:900 clamp(42px,5vw,75px) 'Montserrat';line-height:1}.stat span{font:700 11px 'Montserrat';letter-spacing:.18em}.news{background:#f6f7f3}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.news-card img,.news-placeholder{aspect-ratio:1.5;width:100%;object-fit:cover}.news-meta{display:flex;gap:20px;margin:20px 0 10px;font:600 11px 'Montserrat';letter-spacing:.08em}.news-meta span{color:#6a6f67}.news-card h3{font-size:18px}.recruit-banner{background:linear-gradient(100deg,rgba(5,7,5,.95),rgba(5,7,5,.6)),linear-gradient(135deg,#252c24,#697460);color:#fff;padding:110px 0}.recruit-inner{display:flex;justify-content:space-between;align-items:center}.recruit-inner h2{font-size:clamp(40px,5vw,72px);margin:20px 0}.recruit-inner p{color:#c7cbc4}.footer-cta{background:var(--sl-yellow);padding:75px 0}.footer-cta-inner{display:flex;align-items:center;justify-content:space-between}.footer-cta h2{font-size:clamp(27px,3.3vw,48px);margin:15px 0 0}.site-footer{background:#080a08;color:#fff}.footer-main{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:60px;padding:80px 0}.footer-brand h3{font-size:28px;margin-bottom:5px}.footer-brand p{font:600 11px 'Montserrat';letter-spacing:.15em;color:#8e938c}.footer-info{color:#b6bab3;font-size:14px}.footer-nav ul{list-style:none;margin:0;padding:0;columns:2}.footer-nav li{margin-bottom:12px}.footer-bottom{border-top:1px solid #252825;padding:22px 0 35px;display:flex;justify-content:space-between;color:#777;font:600 10px 'Montserrat';letter-spacing:.08em}.page-hero{padding:190px 0 95px;background:linear-gradient(135deg,#0b0e0b,#2a3028);color:#fff}.page-hero.compact{padding-bottom:65px}.page-hero span{font:700 11px 'Montserrat';letter-spacing:.25em;color:var(--sl-yellow)}.page-hero h1{font-size:clamp(42px,6vw,80px);margin:20px 0 0}.page-hero time{display:block;margin-top:20px;color:#aaa}.page-content{padding:90px 0 120px}.page-featured{width:100%;margin-bottom:50px}.entry-content{font-size:16px}.entry-content h2{font-size:32px;margin-top:60px;border-left:5px solid var(--sl-yellow);padding-left:20px}.entry-content h3{font-size:23px;margin-top:40px}.entry-content a{text-decoration:underline}.content-wrap{padding:100px 0}.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.post-card{border:1px solid #e2e5df}.post-card img{aspect-ratio:1.5;object-fit:cover}.post-card-body{padding:25px}.post-card time{font:600 11px 'Montserrat';color:#777}.post-card h2{font-size:20px;margin-top:12px}.not-found{text-align:center;padding:220px 0 140px}.not-found>p{font:900 120px 'Montserrat';margin:0;color:var(--sl-yellow)}
@media(max-width:980px){.container-wide{width:min(100% - 40px,1420px)}.main-nav{position:fixed;inset:0;background:#090b09;display:flex;flex-direction:column;justify-content:center;transform:translateX(100%);transition:.3s}.main-nav.open{transform:none}.main-nav ul{flex-direction:column;text-align:center}.header-contact{padding:16px 28px}.menu-toggle{display:block;z-index:3}.intro-grid{grid-template-columns:1fr;gap:50px}.service-grid,.news-grid,.posts-grid{grid-template-columns:1fr 1fr}.stats-grid{grid-template-columns:1fr 1fr}.recruit-inner,.footer-cta-inner{align-items:flex-start;flex-direction:column;gap:40px}.footer-main{grid-template-columns:1fr 1fr}.section{padding:85px 0}.section-dark{padding:90px 0}}
@media(max-width:640px){.container-wide{width:calc(100% - 32px)}.header-inner{height:72px}.hero{min-height:720px}.hero-content{padding-top:40px}.hero h1{font-size:52px}.hero-copy{font-size:14px}.hero-scroll{display:none}.section-heading{align-items:flex-start;flex-direction:column;margin-bottom:40px}.service-grid,.news-grid,.posts-grid,.stats-grid,.footer-main{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid rgba(0,0,0,.18)}.intro-image{min-height:360px}.footer-nav ul{columns:1}.footer-bottom{gap:20px;flex-direction:column}.page-hero{padding:140px 0 70px}}
/* Ver.1.3 additions */
.hero{background-position:var(--sl-hero-position);background-size:cover}.hero-bg-filter{position:absolute;inset:-8%;background:inherit;background-image:inherit;background-position:var(--sl-hero-position);background-size:cover;filter:brightness(var(--sl-hero-brightness)) contrast(var(--sl-hero-contrast)) saturate(var(--sl-hero-saturation));transform:scale(var(--sl-hero-zoom));z-index:0}.hero-overlay{background:var(--sl-hero-overlay);z-index:1}.hero-lines{z-index:1}.hero-buttons{display:flex;flex-wrap:wrap;gap:14px}.button-white{background:#fff;color:#111}.button-white:hover,.button-dark:hover,.button-outline:hover{transform:translateY(-3px)}.hero-button{min-width:200px}.footer-main{grid-template-columns:1.4fr 1fr}.footer-offices{border-top:1px solid #252825;padding:48px 0 58px}.footer-offices-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.footer-offices-list{display:grid;grid-template-columns:1fr;gap:0}.footer-office{padding:25px;border:1px solid #252825;background:#0d100d}.footer-offices-list .footer-office{border-width:0 0 1px;padding:28px 0}.footer-office h4{font-size:17px;margin:0 0 14px}.footer-office h4 small{display:block;color:var(--sl-yellow);font:700 9px 'Montserrat';letter-spacing:.18em;margin-bottom:7px}.footer-office p{margin:3px 0;color:#aeb3ac;font-size:13px}.footer-office .office-hours{margin-top:12px;color:#858a83}.office-map{display:inline-block;margin-top:14px;color:var(--sl-yellow);font-size:12px;font-weight:800}
@media(max-width:980px){.footer-offices-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.hero-buttons{flex-direction:column;align-items:stretch}.hero-button{width:100%}.footer-offices-grid{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr}}

/* Ver.1.4 typography, header and mobile controls */
body{color:var(--sl-body-color);font-size:var(--sl-body-size);line-height:var(--sl-line-height)}
h1,h2,h3,h4,h5,h6{color:var(--sl-heading-color)}
a{color:var(--sl-link-color)}
.hero,.section-dark,.site-footer,.recruit-banner,.page-hero{--sl-heading-color:#fff;--sl-link-color:#fff}
.header-inner{height:var(--sl-header-height);transition:height .3s ease}
.site-header.scrolled .header-inner{height:calc(var(--sl-header-height) - 16px)}
.custom-logo{max-height:var(--sl-logo-height)}
.hero{background-image:var(--sl-hero-pc)}
.hero-bg-filter{background-image:var(--sl-hero-pc)}
.hero h1{font-size:clamp(52px,7vw,var(--sl-h1-size))}
.section-heading h2,.intro h2{font-size:clamp(34px,4vw,var(--sl-h2-size))}
.header-sticky-scroll .site-header{position:absolute}
.header-sticky-scroll .site-header.scrolled{position:fixed;animation:slHeaderIn .25s ease}
@keyframes slHeaderIn{from{transform:translateY(-100%)}to{transform:translateY(0)}}
.mobile-menu-panel{position:fixed;inset:0;z-index:90;background:var(--sl-mobile-menu-bg);color:var(--sl-mobile-menu-text);transform:translateX(100%);transition:transform .35s ease;display:none}
.mobile-menu-panel.open{transform:translateX(0)}
.mobile-menu-inner{min-height:100%;padding:110px 32px 42px;display:flex;flex-direction:column;justify-content:center}
.mobile-menu-title{font:700 10px 'Montserrat',sans-serif;letter-spacing:.22em;color:var(--sl-yellow);margin-bottom:32px}
.mobile-nav ul{list-style:none;margin:0;padding:0}.mobile-nav li{border-bottom:1px solid rgba(255,255,255,.14)}.mobile-nav a{display:flex;padding:16px 0;color:var(--sl-mobile-menu-text);font-size:22px;font-weight:800}
.mobile-contact-button{display:flex;justify-content:space-between;align-items:center;background:var(--sl-yellow);color:#111;margin-top:32px;padding:18px 20px;font-weight:800}
body.mobile-menu-drawer .mobile-menu-panel{left:auto;width:min(88vw,420px);box-shadow:-18px 0 60px rgba(0,0,0,.35)}
body.menu-open{overflow:hidden}.menu-toggle{position:relative}.menu-toggle span{transition:.25s}.menu-toggle.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
@media(max-width:980px){.desktop-nav{display:none}.mobile-menu-panel{display:block}.menu-toggle{display:block}.hero{background-image:var(--sl-hero-mobile)}.hero-bg-filter{background-image:var(--sl-hero-mobile)}}
@media(max-width:640px){body{font-size:var(--sl-body-size-mobile)}.hero h1{font-size:var(--sl-h1-size-mobile)}}


/* Ver.1.5.0 section design controls */
.hero{background-color:var(--sl-hero-bg);min-height:var(--sl-hero-height)}
.hero-content{text-align:var(--sl-hero-align)}
.hero-content[style],.hero-content{ }
.hero-eyebrow{color:var(--sl-hero-eyebrow-color);font-size:var(--sl-hero-eyebrow-size)}
.hero h1{color:var(--sl-hero-title-color);font-size:clamp(36px,7vw,var(--sl-hero-title-size))}
.hero-copy{color:var(--sl-hero-text-color);font-size:var(--sl-hero-text-size)}
.hero-content[style="text-align:center"],.hero-content{text-align:var(--sl-hero-align)}
.hero-content{text-align:var(--sl-hero-align)}
.hero-content .hero-copy{margin-left:0;margin-right:0}
.hero-content{text-align:var(--sl-hero-align)}
.hero-content:where([style]){}
.hero-content{ }
.hero-content .hero-buttons{justify-content:flex-start}
.hero-content{text-align:var(--sl-hero-align)}
body .hero-content{ }
.intro{background:var(--sl-about-bg);padding-top:var(--sl-about-pt);padding-bottom:var(--sl-about-pb)}
.intro .section-kicker{color:var(--sl-about-kicker)}
.intro h2{color:var(--sl-about-title);font-size:clamp(28px,4vw,var(--sl-about-title-size))}
.intro p{color:var(--sl-about-text);font-size:var(--sl-about-text-size)}
.services{background:var(--sl-services-bg);padding-top:var(--sl-services-pt);padding-bottom:var(--sl-services-pb)}
.services .section-heading h2{color:var(--sl-services-title);font-size:clamp(28px,4vw,var(--sl-services-title-size))}
.services .section-heading>p{color:var(--sl-services-text);font-size:var(--sl-services-text-size)}
.services .service-card{background:var(--sl-service-card-bg)}
.services .service-card h3{color:var(--sl-service-card-title)}
.services .service-card p{color:var(--sl-service-card-text)}
.news{background:var(--sl-news-bg);padding-top:var(--sl-news-pt);padding-bottom:var(--sl-news-pb)}
.news .section-heading h2{color:var(--sl-news-title);font-size:clamp(28px,4vw,var(--sl-news-title-size))}
.news .news-meta time{color:var(--sl-news-date)}
.news .news-meta span{color:var(--sl-news-category)}
.news .news-card h3{color:var(--sl-news-card-title);font-size:var(--sl-news-card-title-size)}
.recruit-banner{background-color:var(--sl-recruit-bg);padding-top:var(--sl-recruit-pt);padding-bottom:var(--sl-recruit-pb)}
.recruit-inner h2{color:var(--sl-recruit-title);font-size:clamp(30px,5vw,var(--sl-recruit-title-size))}
.recruit-inner p{color:var(--sl-recruit-text)}
.page-hero{background-color:var(--sl-page-hero-bg)}
.page-hero h1{color:var(--sl-page-hero-title);font-size:clamp(32px,6vw,var(--sl-page-hero-title-size))}
.entry-content{color:var(--sl-page-body);font-size:var(--sl-page-body-size)}
.entry-content h2{color:var(--sl-page-h2);font-size:var(--sl-page-h2-size)}
@media(max-width:640px){.hero{min-height:var(--sl-hero-height-mobile)}.hero h1{font-size:var(--sl-hero-title-size-mobile)}.hero-copy{font-size:var(--sl-hero-text-size-mobile)}}


/* Ver.1.5.1 HERO position controls */
.hero{display:block}
.hero-content{position:absolute;z-index:2;left:50%;top:50%;width:min(1420px,calc(100% - 80px));padding-top:0;transform:translate(-50%,-50%);pointer-events:none}
.hero-content-inner{width:min(100%,var(--sl-hero-content-max));pointer-events:auto;transform:translate(var(--sl-hero-content-x),var(--sl-hero-content-y))}
.hero-content-inner{margin-left:0;margin-right:auto}
:root[style] .hero-content-inner{ }
.hero-content-inner .hero-copy{max-width:100%}
.hero-buttons{gap:var(--sl-hero-button-gap);transform:translate(var(--sl-hero-button-x),var(--sl-hero-button-y))}
.hero-content-inner,.hero-buttons{transition:transform .2s ease}
.hero-content-inner{margin-left:0;margin-right:auto}
body .hero-content-inner{ }
.hero-content-inner{--hero-auto-left:0;--hero-auto-right:auto}
.hero-content-inner{margin-left:var(--hero-auto-left);margin-right:var(--hero-auto-right)}
.hero-buttons{justify-content:flex-start}

/* Horizontal preset values are emitted as data-like CSS variables. */
.hero-content-inner{ }
@supports(selector(:has(*))){ }

.hero.hero-v-top .hero-content{top:24%}
.hero.hero-v-center .hero-content{top:50%}
.hero.hero-v-bottom .hero-content{top:78%}
.hero.hero-h-left .hero-content-inner{margin-left:0;margin-right:auto}
.hero.hero-h-center .hero-content-inner{margin-left:auto;margin-right:auto}
.hero.hero-h-right .hero-content-inner{margin-left:auto;margin-right:0}
.hero.hero-buttons-left .hero-buttons{justify-content:flex-start}
.hero.hero-buttons-center .hero-buttons{justify-content:center}
.hero.hero-buttons-right .hero-buttons{justify-content:flex-end}

@media(max-width:640px){
 .hero-content{width:calc(100% - 32px)}
 .hero-content-inner{width:min(100%,var(--sl-hero-content-max-mobile));transform:translate(var(--sl-hero-content-x-mobile),var(--sl-hero-content-y-mobile))}
 .hero.hero-v-mobile-top .hero-content{top:22%}
 .hero.hero-v-mobile-center .hero-content{top:50%}
 .hero.hero-v-mobile-bottom .hero-content{top:76%}
 .hero.hero-h-mobile-left .hero-content-inner{margin-left:0;margin-right:auto}
 .hero.hero-h-mobile-center .hero-content-inner{margin-left:auto;margin-right:auto}
 .hero.hero-h-mobile-right .hero-content-inner{margin-left:auto;margin-right:0}
 .hero-buttons{gap:var(--sl-hero-button-gap-mobile);transform:translate(var(--sl-hero-button-x-mobile),var(--sl-hero-button-y-mobile))}
 .hero.hero-buttons-mobile-left .hero-buttons{align-items:flex-start;justify-content:flex-start}
 .hero.hero-buttons-mobile-center .hero-buttons{align-items:center;justify-content:center}
 .hero.hero-buttons-mobile-right .hero-buttons{align-items:flex-end;justify-content:flex-end}
 .hero.hero-buttons-mobile-stretch .hero-buttons{align-items:stretch;justify-content:stretch}
 .hero.hero-buttons-mobile-left .hero-button,.hero.hero-buttons-mobile-center .hero-button,.hero.hero-buttons-mobile-right .hero-button{width:auto;max-width:100%}
 .hero.hero-buttons-mobile-stretch .hero-button{width:100%}
}


/* Ver.1.5.2: Header colors and configurable actions */
.site-header{background:rgba(var(--sl-header-bg-rgb),var(--sl-header-bg-opacity));color:var(--sl-header-text)}
.site-header .brand,.site-header .main-nav a{color:var(--sl-header-text)}
.site-header .main-nav>ul>li>a:hover{color:var(--sl-header-hover)}
.site-header.scrolled{background:var(--sl-header-scrolled-bg);color:var(--sl-header-scrolled-text)}
.site-header.scrolled .brand,.site-header.scrolled .main-nav a{color:var(--sl-header-scrolled-text)}
.header-actions{display:flex;align-items:center;gap:10px;margin-left:10px}
.header-action,.mobile-header-action{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;padding:12px 21px;font-size:13px;font-weight:800;white-space:nowrap;border:1px solid transparent;transition:.25s}
.header-action span,.mobile-header-action span{font-family:'Montserrat';font-size:15px}
.header-action-yellow{background:var(--sl-yellow);color:#111!important}
.header-action-outline{background:transparent;color:inherit!important;border-color:currentColor}
.header-action-dark{background:#111;color:#fff!important}
.header-action-white{background:#fff;color:#111!important}
.header-action:hover,.mobile-header-action:hover{transform:translateY(-2px)}
.mobile-header-actions{display:grid;gap:10px;margin:24px 0}
.mobile-header-action{width:100%}
@media(max-width:1180px){.header-actions{gap:6px}.header-action{padding:10px 14px;min-height:44px}}
@media(max-width:980px){.desktop-nav .header-actions{display:none}}

/* Ver.2.2 additions */
.intro-media-wrap{position:relative;min-width:0}.intro-sub-image{position:absolute;right:-24px;bottom:-28px;width:min(42%,260px);aspect-ratio:4/3;object-fit:cover;border:8px solid #fff;box-shadow:0 18px 45px rgba(0,0,0,.18)}.intro.image_left .intro-grid>div:first-child{order:2}.intro.image_left .intro-media-wrap{order:1}.services-section-image{display:block;width:100%;max-height:420px;object-fit:cover;margin:0 0 36px;border-radius:2px}.service-card-media{position:relative;overflow:hidden}.service-card-media img{transition:opacity .35s ease,transform .5s ease}.service-card-hover-image{position:absolute;inset:0;opacity:0}.service-card:hover .service-card-image{transform:scale(1.04)}.service-card:hover .service-card-hover-image{opacity:1;transform:scale(1.04)}.service-card-icon{width:54px!important;height:54px!important;aspect-ratio:1!important;object-fit:contain!important;margin:0 0 12px}.site-header .brand{position:relative;z-index:2}
@media(max-width:700px){.intro.image_left .intro-grid>div:first-child,.intro.image_left .intro-media-wrap{order:initial}.intro-sub-image{right:8px;bottom:-18px;border-width:5px}.services-section-image{margin-bottom:24px}}

/* -------------------------------------------------
   SEIRYO 3.0 Lower Page Builder
-------------------------------------------------- */
.page-hero-builder{position:relative;display:flex;align-items:flex-end;min-height:var(--seiryo-page-hero-height,420px);padding:150px 0 70px;background:#171c16 center/cover no-repeat;color:#fff;overflow:hidden}
.page-hero-builder .page-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,9,6,var(--seiryo-page-hero-overlay,.58)),rgba(6,9,6,calc(var(--seiryo-page-hero-overlay,.58) * .45)))}
.page-hero-builder .page-hero-inner{position:relative;z-index:1}
.page-hero-eyebrow{display:block;margin-bottom:18px;color:var(--sl-yellow);font:700 12px/1.2 'Montserrat',sans-serif;letter-spacing:.24em}
.page-hero-builder h1{max-width:1100px;margin:0;font-size:clamp(38px,6vw,76px);letter-spacing:-.035em}
.seiryo-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:28px;color:rgba(255,255,255,.7);font-size:11px;font-weight:700;letter-spacing:.08em}
.seiryo-breadcrumb a{color:#fff}
.page-builder-content{padding:110px 0 130px;background:#fff}
.page-featured-wrap{margin-bottom:65px}.page-featured{width:100%;max-height:680px;object-fit:cover}
.page-builder-content .entry-content{font-size:var(--sl-page-body-size,16px);color:var(--sl-page-body,#333)}
.page-builder-content .entry-content::after{content:"";display:block;clear:both}
.page-builder-content.layout-narrow .entry-content>*:not(.alignwide):not(.alignfull){width:min(820px,calc(100% - 40px));margin-left:auto;margin-right:auto}
.page-builder-content.layout-wide .entry-content>*:not(.alignwide):not(.alignfull){width:min(1120px,calc(100% - 80px));margin-left:auto;margin-right:auto}
.page-builder-content.layout-full .entry-content>*:not(.alignwide):not(.alignfull){width:min(1420px,calc(100% - 80px));margin-left:auto;margin-right:auto}
.page-builder-content .entry-content>.alignwide{width:min(1420px,calc(100% - 80px));max-width:none;margin-left:auto;margin-right:auto}
.page-builder-content .entry-content>.alignfull{width:100%;max-width:none;margin-left:0;margin-right:0}
.page-builder-content .entry-content>*+*{margin-top:28px}
.page-builder-content .entry-content h2{margin-top:85px;margin-bottom:28px;font-size:clamp(30px,4vw,52px);line-height:1.35}
.page-builder-content .entry-content h3{margin-top:55px;margin-bottom:20px;font-size:clamp(23px,3vw,32px)}
.page-builder-content .entry-content p{margin-bottom:1.5em}
.page-builder-content .wp-block-group{padding-top:70px;padding-bottom:70px}
.page-builder-content .wp-block-columns{gap:clamp(30px,6vw,90px)}
.page-builder-content .wp-block-image img{width:100%;object-fit:cover}
.page-builder-content .wp-block-table table{border-collapse:collapse;width:100%}
.page-builder-content .wp-block-table th,.page-builder-content .wp-block-table td{padding:22px 24px;border:0;border-bottom:1px solid #dfe2dc;text-align:left}
.page-builder-content .wp-block-table th{width:28%;background:#f5f6f2;font-weight:800}
.seiryo-pattern{margin-top:0!important;margin-bottom:0!important}
.seiryo-pattern-intro .wp-block-image img{min-height:420px}
.seiryo-pattern-cards{background:#f5f6f2}
.seiryo-card-block{height:100%;padding:38px!important;background:#fff;border-top:4px solid var(--sl-yellow);box-shadow:0 12px 45px rgba(18,24,17,.07)}
.seiryo-card-block h3{margin-top:0!important}
.seiryo-pattern-policy .wp-block-quote{padding:34px 40px;border-left:5px solid var(--sl-yellow);background:#f5f6f2;font-size:clamp(20px,2.6vw,30px);font-weight:700}
.seiryo-pattern-contact{padding:80px 30px!important;background:var(--sl-yellow);color:#111}
.seiryo-pattern-contact h2{margin-top:0!important}
.seiryo-pattern-contact .wp-block-button__link{border-radius:0;background:#111;color:#fff;padding:18px 36px;font-weight:800}
@media(max-width:782px){
  .page-hero-builder{min-height:min(var(--seiryo-page-hero-height,420px),520px);padding:120px 0 55px}
  .page-builder-content{padding:75px 0 95px}
  .page-builder-content.layout-wide .entry-content>*:not(.alignwide):not(.alignfull),.page-builder-content.layout-full .entry-content>*:not(.alignwide):not(.alignfull),.page-builder-content .entry-content>.alignwide{width:calc(100% - 40px)}
  .page-builder-content .entry-content h2{margin-top:60px}
  .page-builder-content .wp-block-group{padding-top:45px;padding-bottom:45px}
  .page-builder-content .wp-block-table th,.page-builder-content .wp-block-table td{display:block;width:100%;padding:14px 16px}
  .page-builder-content .wp-block-table td{padding-bottom:22px}
  .seiryo-pattern-intro .wp-block-image img{min-height:280px}
}

.circle-arrow{display:none!important;}


/* Improvement3 hide top stats */
.home-stats,
.top-stats,
.stats-section,
.section-stats,
.home-achievements{
 display:none!important;
}
