:root{--green:#0b5a34;--leaf:#87c85d;--mint:#e9f5ee;--ink:#10231a;--gold:#b9a35d}*{box-sizing:border-box}body{margin:0;font-family:'Noto Sans CJK JP','Yu Gothic','Meiryo',system-ui,sans-serif;color:var(--ink);background:#fbfdf9;line-height:1.75}.nav{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:14px 34px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);box-shadow:0 4px 24px rgba(0,0,0,.06)}.brand{display:flex;align-items:center;gap:14px;font-weight:900;letter-spacing:.06em}.brand img{width:86px;height:48px;object-fit:cover;border-radius:8px}.brand small{font-size:11px;color:var(--green)}nav{display:flex;gap:20px;align-items:center}a{color:inherit;text-decoration:none}.btn,.cta a,.largebtn{background:var(--green);color:#fff;padding:10px 18px;border-radius:999px;font-weight:700}.hero{min-height:760px;position:relative;display:flex;align-items:center;padding:80px 7vw;overflow:hidden}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,30,18,.82),rgba(5,40,20,.35),rgba(255,255,255,.05)),url('tree_planting.jpg') center/cover no-repeat;transform:scale(1.03)}.hero-card{position:relative;max-width:720px;color:#fff}.eyebrow{color:var(--gold);font-weight:900;letter-spacing:.16em;font-size:13px}.hero h1{font-size:82px;line-height:1.05;margin:8px 0 22px;letter-spacing:.02em}.hero p{font-size:20px}.cta{display:flex;gap:16px;margin-top:30px}.cta .ghost{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.45)}main section{padding:86px 7vw}.intro{text-align:center;background:#fff}.intro h2,.section h2,.split h2,.recruit h2,.steps h2,.company h2,.contact h2,.irpage h1{font-size:42px;line-height:1.25;margin:.2em 0}.intro p{max-width:880px;margin:auto}.numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}.numbers div{background:var(--mint);border-radius:22px;padding:24px}.numbers b{display:block;font-size:24px;color:var(--green)}.section{background:#f7fbf5}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:32px}.cards article{background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 12px 34px rgba(13,58,37,.1)}.cards img{width:100%;height:185px;object-fit:cover}.cards h3,.cards p{padding:0 22px}.cards p{padding-bottom:22px}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;background:#0e3826;color:#fff}.split ul{padding-left:20px}.photo-stack{display:grid;gap:18px}.photo-stack img{width:100%;height:270px;object-fit:cover;border-radius:30px;box-shadow:0 20px 50px rgba(0,0,0,.28)}.green{background:linear-gradient(135deg,#eaf6e7,#fff)}.program{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:30px}.program div{background:#fff;border:1px solid #dbeadc;border-radius:18px;padding:18px;text-align:center;font-weight:700;color:var(--green)}.recruit{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center;background:#fff}.recruit img{width:100%;border-radius:34px;box-shadow:0 20px 40px rgba(0,0,0,.14)}.largebtn{display:inline-block;margin-top:24px;padding:14px 24px}.steps{background:#f3f8f0}.stepgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stepgrid div{background:#fff;border-radius:22px;padding:24px;border-top:6px solid var(--leaf)}.stepgrid b{color:var(--green)}.company{background:#fff}.company table,.irbox table{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.08)}th,td{padding:16px;border-bottom:1px solid #e4ece2;text-align:left}th{width:220px;background:#e7f2e4;color:var(--green)}.contact{text-align:center;background:linear-gradient(135deg,var(--green),#143e2b);color:#fff}.tel{font-size:36px;font-weight:900;margin:10px}footer{padding:28px 7vw;background:#071a12;color:#fff;display:flex;justify-content:space-between}.irpage{padding:90px 7vw}.irbox{background:#fff;border-radius:28px;margin:30px 0;padding:34px;box-shadow:0 12px 34px rgba(0,0,0,.08)}.irlist{display:grid;gap:12px}.irlist a{display:block;background:#f2f8ef;padding:16px 20px;border-radius:14px;font-weight:700}.note{color:#65756c}@media(max-width:900px){.nav{display:block}.brand{margin-bottom:10px}nav{overflow:auto;font-size:14px}.hero h1{font-size:52px}.numbers,.cards,.program,.stepgrid{grid-template-columns:1fr 1fr}.split,.recruit{grid-template-columns:1fr}}@media(max-width:560px){.numbers,.cards,.program,.stepgrid{grid-template-columns:1fr}.hero{min-height:680px}.hero h1{font-size:42px}}
