:root{--ink:#18211f;--muted:#66716c;--paper:#f3f2ec;--white:#fff;--line:#d9ddd5;--green:#315f4d;--lime:#d1e267;--rust:#bd613f;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;line-height:1.75}a{color:inherit;text-decoration:none}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.04em}.mark{width:36px;height:36px;background:var(--green);color:white;display:grid;place-items:center;font-size:12px}.brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:.18em;line-height:1.4}.nav{display:flex;gap:22px;align-items:center;font-size:12px;font-weight:700}.nav a:hover{color:var(--green)}.nav .nav-cta{background:var(--green);color:white;padding:12px 18px}.hero{min-height:520px;background:var(--ink);color:white;position:relative;overflow:hidden;display:flex;align-items:center}.hero:before{content:"";position:absolute;inset:0 0 0 40%;background:repeating-linear-gradient(90deg,transparent 0 75px,rgba(255,255,255,.08) 76px 77px),repeating-linear-gradient(0deg,transparent 0 75px,rgba(255,255,255,.07) 76px 77px);opacity:.6}.hero:after{content:"";position:absolute;width:370px;height:370px;border:1px solid rgba(209,226,103,.45);border-radius:50%;right:10%;top:14%;box-shadow:0 0 0 34px rgba(209,226,103,.04),0 0 0 86px rgba(209,226,103,.035)}.hero-inner{position:relative;z-index:1;padding:84px 0;max-width:710px}.eyebrow{font-size:10px;letter-spacing:.22em;color:var(--lime);font-weight:800}.hero h1{font-size:clamp(38px,5.4vw,66px);line-height:1.3;letter-spacing:.035em;margin:22px 0}.hero p{font-size:15px;color:#c7cfca;max-width:600px}.actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:14px 20px;background:var(--lime);color:var(--ink);font-size:12px;font-weight:800}.button.outline{border:1px solid #74817a;background:transparent;color:white}.section{padding:84px 0}.section-head{display:grid;grid-template-columns:170px 1fr;gap:34px;margin-bottom:38px}.section-id{font-size:11px;color:var(--rust);font-weight:800;letter-spacing:.16em;padding-top:10px}.section h2{font-size:clamp(30px,4vw,44px);line-height:1.4;margin:0;letter-spacing:.02em}.lead{max-width:740px;color:var(--muted);margin:18px 0 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.card{background:#fff;padding:28px;min-height:250px;display:flex;flex-direction:column}.card .num{font-size:11px;color:var(--rust);font-weight:800;letter-spacing:.15em}.card h3{font-size:21px;margin:18px 0 8px;line-height:1.45}.card p{color:var(--muted);font-size:13px;margin:0}.more{margin-top:auto;padding-top:24px;font-size:11px;font-weight:800;color:var(--green)}.band{background:#e7e9df}.green{background:var(--green);color:white}.green .section-id{color:var(--lime)}.green .lead{color:#d6e1da}.rows{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.row{padding:20px 0;border-top:1px solid var(--line)}.row h3{margin:0 0 7px;font-size:18px}.row p{margin:0;color:var(--muted);font-size:13px}.panel{border:1px solid rgba(255,255,255,.4);padding:26px;margin-top:28px}.badge{display:inline-block;background:var(--lime);color:var(--ink);padding:5px 10px;font-size:10px;font-weight:800}.profile{display:grid;grid-template-columns:1fr 1fr;gap:54px}.profile dl{display:grid;grid-template-columns:120px 1fr;margin:0;font-size:13px}.profile dt,.profile dd{padding:12px 0;border-bottom:1px solid var(--line);margin:0}.profile dt{color:var(--muted)}.contact{background:var(--ink);color:white;padding:66px 0}.contact-in{display:flex;align-items:center;justify-content:space-between;gap:24px}.contact h2{font-size:clamp(27px,4vw,40px);margin:8px 0}.contact p{font-size:13px;color:#b7c1bb;margin:0}.footer{background:#111917;color:#b5beb8;padding:26px 0;font-size:10px}.footer-in{display:flex;justify-content:space-between;gap:20px;align-items:center}.draft{background:#fff4cf;color:#624600;text-align:center;padding:6px 12px;font-size:10px;border-bottom:1px solid #e6cc70}.crumb{font-size:11px;color:var(--muted);padding:20px 0}.page-hero{background:var(--ink);color:white;padding:64px 0 70px}.page-hero h1{font-size:clamp(34px,5vw,56px);line-height:1.3;margin:12px 0}.page-hero p{color:#c7cfca;max-width:720px;margin:0}.list{padding-left:20px;color:var(--muted);font-size:14px}.notice{background:#e7e9df;border-left:4px solid var(--green);padding:18px 22px;font-size:13px}.newsrow{padding:18px 0;border-top:1px solid var(--line);display:flex;gap:26px;font-size:13px}.newsrow time{color:var(--muted);font-size:11px}.small{font-size:12px;color:var(--muted)}
@media(max-width:850px){.nav{gap:14px}}@media(max-width:650px){.wrap{width:min(100% - 32px,var(--max))}.topbar{height:68px}.hero{min-height:500px}.hero:before{inset:0 0 0 15%;opacity:.4}.hero:after{right:-24%;top:30%;width:310px;height:310px}.hero-inner{padding:65px 0}.section{padding:64px 0}.section-head{grid-template-columns:1fr;gap:6px;margin-bottom:28px}.cards,.rows,.profile{grid-template-columns:1fr}.card{min-height:210px}.profile{gap:22px}.profile dl{grid-template-columns:95px 1fr}.contact-in,.footer-in{align-items:flex-start;flex-direction:column}.newsrow{gap:12px}}

@media(max-width:650px){.topbar{height:auto;min-height:68px;flex-wrap:wrap;padding:12px 0}.nav{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.nav a:not(.nav-cta){display:inline-flex;font-size:10px}.nav .nav-cta{padding:8px 10px;font-size:10px}}


/* Recruitment page */
.recruit-teaser{display:flex;align-items:center;justify-content:space-between;gap:30px}.recruit-teaser h2{font-size:clamp(24px,3.4vw,38px);line-height:1.45;margin:8px 0}.recruit-teaser .button{flex-shrink:0}.job-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:28px 0 42px}.job-summary div{background:#fff;padding:20px}.job-summary small{display:block;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em}.job-summary strong{display:block;font-size:17px;margin-top:5px}.job-block{background:#fff;padding:26px 30px;margin:0 0 18px;border:1px solid var(--line)}.job-block h2{font-size:21px;margin:0 0 15px}.job-dl{display:grid;grid-template-columns:190px 1fr;margin:0;font-size:14px}.job-dl dt,.job-dl dd{margin:0;padding:12px 0;border-top:1px solid var(--line)}.job-dl dt{color:var(--muted);font-weight:700;padding-right:18px}.job-list{margin:0;padding-left:20px;color:var(--muted);font-size:14px}.job-apply{background:var(--green);color:white;padding:34px}.job-apply h2{margin:0 0 8px;font-size:24px}.job-apply p{color:#d6e1da;margin:0 0 20px;font-size:14px}.job-note{font-size:12px;color:var(--muted)}@media(max-width:650px){.recruit-teaser{align-items:flex-start;flex-direction:column}.job-summary{grid-template-columns:1fr}.job-summary div{padding:14px 18px}.job-block{padding:20px 18px}.job-dl{grid-template-columns:1fr}.job-dl dt{padding-bottom:2px;border-bottom:0}.job-dl dd{padding-top:2px}.job-apply{padding:24px 20px}}

.brand-logo{display:block;width:230px;height:auto;mix-blend-mode:multiply}@media(max-width:650px){.brand-logo{width:190px}}

@media(max-width:650px){.hero,.page-hero{background-position:68% center;background-image:linear-gradient(90deg,rgba(18,29,25,.84),rgba(18,29,25,.52)),url("assets/construction-team.jpg")}}

.services-hero{background-image:linear-gradient(90deg,rgba(18,29,25,.20) 0%,rgba(18,29,25,.07) 52%,rgba(18,29,25,0) 100%),url("/assets/hero-services.jpg?v=20261109-3");background-position:center}.recruitment-hero{background-image:linear-gradient(90deg,rgba(18,29,25,.48) 0%,rgba(18,29,25,.16) 52%,rgba(18,29,25,.03) 100%),url("/assets/hero-recruitment-site.jpg?v=20261109-5");background-position:center 70%;background-size:cover}@media(max-width:650px){.services-hero{background-image:linear-gradient(90deg,rgba(18,29,25,.26),rgba(18,29,25,.08)),url("/assets/hero-services.jpg?v=20261109-3");background-position:68% center}.recruitment-hero{background-image:linear-gradient(90deg,rgba(18,29,25,.52) 0%,rgba(18,29,25,.22) 57%,rgba(18,29,25,.04) 100%),url("/assets/hero-recruitment-site.jpg?v=20261109-5");background-position:64% center;background-size:cover}}
