:root{--ink:#14251f;--muted:#607269;--green:#198754;--mint:#e9f5ef;--cream:#f7f8f3;--line:#dce7df;--accent:#e86b3e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP",sans-serif;line-height:1.7}.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,6vw,96px);background:rgba(247,248,243,.9);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;backdrop-filter:blur(10px)}.brand{font-weight:800;letter-spacing:-.04em;color:var(--ink);text-decoration:none;font-size:20px}.brand span{font-size:12px;color:var(--green);letter-spacing:.08em;margin-left:7px}nav{display:flex;align-items:center;gap:26px;font-size:13px}nav a{color:var(--muted);text-decoration:none}.nav-cta,.button{background:var(--ink);color:#fff!important;padding:10px 18px;border-radius:999px}.hero{padding:clamp(88px,13vw,180px) clamp(20px,12vw,190px) clamp(90px,12vw,160px);background:linear-gradient(120deg,#eaf5ee,#f7f8f3 55%,#f9ede8)}.eyebrow{margin:0 0 16px;color:var(--green);font:700 11px/1.2 ui-monospace,monospace;letter-spacing:.2em}.hero h1{font-size:clamp(42px,7vw,88px);line-height:1.15;letter-spacing:-.06em;margin:0 0 28px}.hero h1 em{color:var(--green);font-style:normal}.lead{color:var(--muted);font-size:17px;margin-bottom:34px}.button{display:inline-block;text-decoration:none;font-size:14px;font-weight:700;padding:13px 23px}.section{padding:clamp(72px,10vw,140px) clamp(20px,8vw,120px)}.section-heading{margin-bottom:45px}.section-heading h2,.contact h2,.about h2{font-size:clamp(30px,4vw,50px);line-height:1.25;letter-spacing:-.05em;margin:0 0 10px}.section-heading>p:last-child,.contact>p{color:var(--muted)}.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.work-card{display:block;color:inherit;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .2s,box-shadow .2s}.work-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px #173f2920}.work-visual{height:190px;padding:24px;display:flex;align-items:flex-end;font-size:24px;font-weight:800;letter-spacing:-.04em}.green{background:linear-gradient(135deg,#d7efdf,#76bd93);color:#12613b}.purple{background:linear-gradient(135deg,#e4dcff,#7770d8);color:#fff}.cafe{background:linear-gradient(135deg,#f5ead8,#b78d62);color:#fff}.coral{background:linear-gradient(135deg,#ffe0d3,#e86b3e);color:#fff}.film{background:linear-gradient(135deg,#202a3a,#77839b);color:#fff}.navy{background:linear-gradient(135deg,#d9e9f5,#1c4968);color:#fff}.blue{background:linear-gradient(135deg,#dce5ff,#3d5af1);color:#fff}.work-meta{padding:20px}.work-meta strong{display:block;font-size:17px}.work-meta span{display:block;color:var(--green);font:11px ui-monospace,monospace;margin:5px 0 10px}.work-meta p{font-size:13px;color:var(--muted);margin:0}.services{background:var(--mint)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-grid article{background:#fff;padding:28px;border:1px solid var(--line);border-radius:12px}.service-grid b{color:var(--green);font:12px ui-monospace,monospace}.service-grid h3{margin:28px 0 8px;font-size:21px}.service-grid p,.about>p{color:var(--muted);font-size:14px}.about{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end}.about>p{max-width:480px;font-size:16px}.contact{text-align:center;background:var(--ink);color:#fff}.contact .eyebrow{color:#8ed2a9}.contact>p{color:#bdd0c3}.contact .button{background:#fff;color:var(--ink)!important;margin-top:20px}footer{padding:24px clamp(20px,8vw,120px);display:flex;justify-content:space-between;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}footer a{color:var(--green);text-decoration:none}@media(max-width:800px){nav a:not(.nav-cta){display:none}.works-grid,.service-grid,.about{grid-template-columns:1fr}.work-visual{height:160px}.about{gap:25px}}
:root{--ink:#14251f;--muted:#607269;--green:#198754;--mint:#e9f5ef;--cream:#f7f8f3;--line:#dce7df;--accent:#e86b3e}
.hero-note{margin:0 0 14px;color:var(--muted);font-size:14px}.button-primary{background:var(--green);border-radius:8px;min-width:220px;height:52px;display:inline-flex;align-items:center;justify-content:center;font-size:16px}.response-note{display:block;margin-top:9px;color:var(--muted);font-size:13px}.work-visual{position:relative}.badge{position:absolute;z-index:3;top:10px;left:10px;height:20px;padding:0 8px;border-radius:4px;color:#fff;font-size:11px;line-height:20px;font-weight:700}.badge.live{background:var(--green)}.badge.self{background:#68756f}.work-meta small{display:block;color:var(--muted);font-size:13px;line-height:1.5;margin-top:9px}.brand-mark{width:120px;height:120px;border-radius:50%;display:block;object-fit:cover;background:var(--green);flex:none}.about-copy{display:flex;gap:24px;align-items:flex-start}.about-copy p{margin:0}.qualifications li b{display:block;color:var(--ink);font-size:14px}.qualifications li small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.faq{max-width:720px;margin:36px auto 0;text-align:left}.faq h3{font-size:20px;margin:0 0 14px}.faq details{border-top:1px solid #486255;padding:18px 0}.faq details:last-child{border-bottom:1px solid #486255}.faq summary{cursor:pointer;font-weight:700}.faq p{color:#bdd0c3;margin:10px 0 0;font-size:14px}.contact-cta-note{margin:38px 0 0!important;color:#fff!important}.button-contact{background:var(--green);color:#fff!important;border-radius:8px;min-width:220px;height:52px;margin-top:12px}.contact .response-note{color:#bdd0c3}@media(max-width:800px){.hero h1{font-size:clamp(34px,10vw,52px)}.button-primary,.button-contact{width:100%}.about-copy{flex-direction:column}.brand-mark{width:80px;height:80px}.faq{margin-top:28px}}
:root{--ink:#14251f;--muted:#607269;--green:#198754;--mint:#e9f5ef;--cream:#f7f8f3;--line:#dce7df;--accent:#e86b3e}
.contact-cta-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
@media(max-width:800px){.contact-cta-links{flex-direction:column;align-items:stretch;max-width:360px;margin:0 auto}}
