@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;700&display=swap');
:root{--ink:#111;--muted:#727272;--line:#deded8;--paper:#f5f5f0;--accent:#c9ff54;--dark:#151515}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Inter,'Noto Sans JP',sans-serif;background:var(--paper);line-height:1.8}a{color:inherit;text-decoration:none}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:relative;z-index:10;background:rgba(245,245,240,.9);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.05)}.logo{display:flex;align-items:baseline;gap:8px;font-weight:700;letter-spacing:.08em}.logo span{font-size:21px}.logo small{font-size:9px;letter-spacing:.2em}.site-header nav{display:flex;align-items:center;gap:34px;font-size:12px;letter-spacing:.12em;font-weight:600}.site-header nav a{opacity:.55}.site-header nav a:hover,.site-header nav a.on{opacity:1}.contact-nav{background:#111;color:#fff!important;padding:12px 17px;opacity:1!important;border-radius:99px}.contact-nav span{margin-left:10px}.menu{display:none;border:0;background:none;font-weight:700}.hero{min-height:calc(100vh - 88px);display:flex;align-items:center;padding:8vw 7vw;position:relative;overflow:hidden}.hero:before{content:'';position:absolute;width:45vw;height:45vw;border-radius:50%;background:var(--accent);right:-13vw;top:8vw;filter:blur(1px)}.hero-content{max-width:1000px;position:relative;z-index:1}.eyebrow{font-size:11px;letter-spacing:.22em;font-weight:700;margin-bottom:30px}.hero h1{font-size:clamp(52px,9vw,125px);line-height:.95;letter-spacing:-.065em;margin:0 0 35px;max-width:1000px}.hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px #111}.hero p{max-width:560px;color:#555;font-size:16px}.scroll{position:absolute;bottom:40px;left:7vw;font-size:10px;letter-spacing:.2em}.section{padding:120px 7vw}.section.dark{background:var(--dark);color:#fff}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:55px}.section-head h2{font-size:clamp(36px,5vw,70px);line-height:1;margin:0;letter-spacing:-.05em}.section-head p{color:var(--muted);max-width:430px;margin:0}.dark .section-head p{color:#aaa}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{padding:34px;border:1px solid var(--line);min-height:250px;background:rgba(255,255,255,.3);transition:.3s}.card:hover{transform:translateY(-5px);background:#fff}.dark .card{border-color:#333;background:#1b1b1b}.num{font-size:11px;color:#888;letter-spacing:.12em}.card h3{font-size:22px;margin:50px 0 12px}.card p{color:#666;font-size:14px}.dark .card p{color:#aaa}.arrow-link{display:inline-flex;align-items:center;gap:12px;margin-top:30px;font-weight:600;font-size:13px}.arrow-link span{display:grid;place-items:center;width:35px;height:35px;border:1px solid currentColor;border-radius:50%}.cta{margin:0 7vw 120px;background:var(--accent);padding:70px;display:flex;justify-content:space-between;align-items:center}.cta h2{font-size:clamp(35px,5vw,65px);line-height:1;margin:0;letter-spacing:-.05em}.cta a{background:#111;color:#fff;padding:17px 25px;border-radius:99px}.page-hero{padding:100px 7vw 70px;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(55px,9vw,110px);line-height:.9;letter-spacing:-.06em;margin:20px 0}.page-hero p{max-width:580px;color:#666}.info-grid{display:grid;grid-template-columns:1fr 2fr;border-top:1px solid var(--line)}.info-grid>div{padding:24px 0;border-bottom:1px solid var(--line)}.info-grid .label{font-size:12px;color:#777;letter-spacing:.12em}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.service{background:var(--paper);padding:45px;min-height:280px}.service h2{font-size:32px;margin:45px 0 10px}.service p{color:#666}.works{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.work{min-height:390px;background:#ddd;position:relative;overflow:hidden;display:flex;align-items:flex-end}.work:nth-child(2){margin-top:80px}.work:nth-child(3){margin-top:-30px}.work-visual{position:absolute;inset:0;background:linear-gradient(135deg,#d6d6cf,#777)}.work:nth-child(2) .work-visual{background:linear-gradient(135deg,#222,#aaa)}.work:nth-child(3) .work-visual{background:linear-gradient(135deg,#c9ff54,#e8eee1)}.work-info{position:relative;z-index:1;background:rgba(255,255,255,.92);padding:25px;width:100%;margin:20px}.work-info small{letter-spacing:.15em;color:#777}.work-info h3{margin:8px 0 0;font-size:22px}.news-list{border-top:1px solid var(--line)}.news{display:grid;grid-template-columns:130px 1fr;padding:22px 0;border-bottom:1px solid var(--line)}.news time{font-size:12px;color:#888}.form{max-width:820px}.field{margin-bottom:25px}.field label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}.field input,.field textarea,.field select{width:100%;border:1px solid #ccc;background:#fff;padding:16px;font:inherit;border-radius:2px}.field textarea{min-height:190px}.submit{border:0;background:#111;color:#fff;padding:17px 32px;border-radius:99px;font-weight:700;cursor:pointer}.notice{padding:20px;background:#fff;border-left:4px solid var(--accent);margin-bottom:25px}footer{background:#111;color:#fff;padding:70px 7vw 30px}.footer-top{display:flex;justify-content:space-between}.footer-links{display:grid;grid-template-columns:repeat(2,100px);gap:10px;font-size:13px}.footer-links a{color:#bbb}.light{color:#fff}.copyright{border-top:1px solid #333;margin-top:70px;padding-top:20px;color:#777;font-size:11px}@media(max-width:760px){.site-header{height:72px;padding:0 5vw}.site-header nav{display:none}.menu{display:block}.hero{min-height:calc(100vh - 72px);padding:70px 6vw}.hero h1{font-size:17vw}.hero:before{width:70vw;height:70vw;right:-30vw;top:20vw}.section{padding:80px 6vw}.section-head{display:block}.section-head p{margin-top:20px}.cards,.service-list,.works{grid-template-columns:1fr}.work:nth-child(2),.work:nth-child(3){margin-top:0}.cta{margin:0 6vw 80px;padding:45px 30px;display:block}.cta a{display:inline-block;margin-top:30px}.page-hero{padding:75px 6vw 50px}.info-grid{grid-template-columns:1fr}.info-grid .label{padding-bottom:5px;border:0}.service{padding:35px}.news{grid-template-columns:100px 1fr}.footer-top{display:block}.footer-links{margin-top:40px}.scroll{left:6vw}}
