:root{--color-text: #000;--color-text-strong: #000;--color-muted: #8c8c8c;--color-faint: #c8c8c8;--color-bg: #f5f5f5;--color-bg-panel: #fff;--color-border: #e2e2e2;--color-line: #06c755;--font-sans: "Inter", "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;--font-display: "Manrope", "Inter", "Noto Sans JP", sans-serif;--width-content: 1200px;--width-prose: 760px;--ls-tight: .02em;--ls-normal: .06em;--ls-wide: .14em}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{font-family:var(--font-sans);font-weight:500;color:var(--color-text);background:var(--color-bg);line-height:1.95;letter-spacing:var(--ls-normal);font-size:14px;font-feature-settings:"palt"}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}.container{max-width:var(--width-content);margin:0 auto;padding:0 40px}.prose-width{max-width:var(--width-prose);margin:0 auto;padding:0 40px}section{padding:140px 0}@media(max-width:840px){section{padding:88px 0}.container,.prose-width{padding:0 24px}}h1,h2,h3{font-weight:500;color:var(--color-text-strong);letter-spacing:var(--ls-normal)}h1{font-size:clamp(26px,3.4vw,38px);line-height:1.75;letter-spacing:.1em}h2{font-size:clamp(21px,2.4vw,27px);line-height:1.7;letter-spacing:.08em}h3{font-size:17px;line-height:1.7;letter-spacing:var(--ls-normal)}.section-label{font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--color-text-strong);display:flex;align-items:center;gap:12px;margin-bottom:40px}.section-label:before{content:"";width:28px;height:1px;background:var(--color-text-strong)}.lead{max-width:640px;color:var(--color-text);line-height:2.1}.muted-note{font-size:11px;color:var(--color-muted);line-height:1.9;letter-spacing:var(--ls-tight)}.site-header{position:sticky;top:0;z-index:100;background:#f5f5f5d1;backdrop-filter:blur(12px)}.site-header .inner{max-width:1360px;margin:0 auto;padding:22px 40px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:baseline;gap:8px}.brand .brand-name{font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:.02em;color:var(--color-text-strong)}.brand .brand-reg{font-size:10px;color:var(--color-muted)}.global-nav{display:flex;align-items:center;gap:30px;font-size:12.5px;letter-spacing:var(--ls-tight)}.global-nav a{position:relative;padding:4px 0;transition:opacity .2s}.global-nav a:hover{opacity:.5}.cta-line{background:var(--color-line);color:#fff!important;padding:11px 22px;border-radius:999px;font-weight:600;font-size:12px;letter-spacing:var(--ls-normal);transition:opacity .2s}.cta-line:hover{opacity:.82}@media(max-width:900px){.site-header .inner{flex-wrap:wrap;padding:16px 24px}.global-nav{flex-wrap:wrap;gap:16px;width:100%}}.hero{padding:180px 0 150px}.hero h1{max-width:20em}.hero .lead{margin-top:40px}@media(max-width:840px){.hero{padding:100px 0 80px}}.btn{display:inline-flex;align-items:center;gap:10px;margin-top:44px;background:var(--color-text-strong);color:#fff;padding:15px 34px;border-radius:999px;font-size:12.5px;font-weight:600;letter-spacing:var(--ls-normal);border:1px solid var(--color-text-strong);cursor:pointer;font-family:inherit;transition:background .25s,color .25s}.btn:hover,.btn.btn-ghost{background:transparent;color:var(--color-text-strong)}.btn.btn-ghost:hover{background:var(--color-text-strong);color:#fff}.btn:after{content:"→";font-family:var(--font-display)}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;border-top:1px solid var(--color-border);border-left:1px solid var(--color-border)}.card-grid.cols-2{grid-template-columns:repeat(2,1fr)}@media(max-width:840px){.card-grid,.card-grid.cols-2{grid-template-columns:1fr}}.card{background:var(--color-bg);padding:34px 30px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:14px;height:100%;transition:background .25s}a.card:hover{background:var(--color-bg-panel)}.card-tag{align-self:flex-start;font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--color-muted);border:1px solid var(--color-border);padding:3px 12px;border-radius:999px}.card .card-title{font-size:15px;font-weight:500;line-height:1.7;letter-spacing:var(--ls-tight)}.work-thumb{position:relative;overflow:hidden;border-radius:2px;aspect-ratio:16 / 9;background:var(--color-bg-subtle)}.work-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.work-thumb .work-mockup{opacity:0;transition:opacity .45s ease,transform .5s ease}a.card:hover .work-thumb .work-mockup{opacity:1}a.card:hover .work-thumb img{transform:scale(1.04)}.work-thumb .work-badge{position:absolute;top:10px;left:10px;z-index:2;font-family:var(--font-display);font-size:9px;font-weight:600;letter-spacing:.12em;background:#000000b8;color:#fff;padding:3px 8px;border-radius:999px;opacity:0;transition:opacity .3s}a.card:hover .work-thumb .work-badge{opacity:1}.spot{position:relative;aspect-ratio:16 / 9;overflow:hidden;border-radius:2px;background:var(--color-bg-subtle)}.spot .under{position:absolute;inset:0;background:#efede6;display:flex;align-items:center;justify-content:center}.spot .under img{width:44%;height:44%;object-fit:contain}.spot .over{position:absolute;inset:0;--mx: 50%;--my: 50%;--r: 0px;--soft: 2px;-webkit-mask-image:radial-gradient(circle at var(--mx) var(--my),transparent 0,transparent calc(var(--r) - var(--soft)),#000 var(--r));mask-image:radial-gradient(circle at var(--mx) var(--my),transparent 0,transparent calc(var(--r) - var(--soft)),#000 var(--r))}.spot .over img{display:block;width:100%;height:100%;object-fit:cover}@media(hover:none){.spot .over{-webkit-mask-image:none!important;mask-image:none!important}}.works-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:40px 0}@media(max-width:640px){.works-gallery{grid-template-columns:1fr}}.works-gallery img{width:100%;border-radius:2px;border:1px solid var(--color-border)}.card time,.card .card-meta{font-family:var(--font-display);font-size:11px;color:var(--color-muted);letter-spacing:.06em}.article-body{max-width:var(--width-prose)}.article-body>h2{margin:72px 0 26px;padding-bottom:0;font-size:22px;letter-spacing:.06em;display:flex;align-items:baseline;gap:14px}.article-body>h2:before{content:"";flex:0 0 auto;width:24px;height:1px;background:var(--color-text-strong);position:relative;top:-.4em}.article-body>h3{margin:48px 0 18px;font-size:16px;letter-spacing:var(--ls-normal)}.article-body p{margin:0 0 1.6em;line-height:2.15}.article-body ul,.article-body ol{margin:0 0 1.6em;padding-left:1.4em;line-height:2.05}.article-body li{margin-bottom:.4em}.article-body strong{font-weight:600}.article-body a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--color-faint)}.article-body a:hover{text-decoration-color:var(--color-text-strong)}.article-meta{font-family:var(--font-display);font-size:12px;color:var(--color-muted);margin:18px 0 52px;letter-spacing:.04em}.article-meta a{text-decoration:underline;text-underline-offset:3px}.table-wrap{overflow-x:auto}table.def{width:100%;border-collapse:collapse;font-size:13.5px;line-height:1.8}table.def th,table.def td{border-bottom:1px solid var(--color-border);padding:20px;text-align:left;vertical-align:top}table.def thead th{border-bottom:1px solid var(--color-text-strong);font-weight:600}table.def tbody th{background:transparent;font-weight:600;white-space:nowrap;color:var(--color-text);width:1%}.form-grid{display:grid;gap:24px;max-width:560px}.form-grid label{font-size:12px;font-weight:600;display:block;margin-bottom:10px;letter-spacing:var(--ls-tight)}.form-grid label .req{color:var(--color-text);margin-left:4px}.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:14px 16px;font:inherit;font-size:14px;border:1px solid var(--color-border);border-radius:2px;background:var(--color-bg-panel);color:var(--color-text)}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:none;border-color:var(--color-text-strong)}.form-grid textarea{min-height:170px;resize:vertical}.cta-panel{margin-top:88px;padding:56px 48px;background:var(--color-text-strong);color:#f5f5f5;border-radius:4px}.cta-panel h3{color:#fff}.cta-panel p{margin-top:16px;line-height:2.1;color:#ffffffd1}.cta-panel .btn{background:#fff;color:#000;border-color:#fff}.cta-panel .btn:hover{background:transparent;color:#fff}.site-footer{border-top:1px solid var(--color-border);padding:72px 0 56px;margin-top:40px;font-size:12.5px}.site-footer .inner{max-width:var(--width-content);margin:0 auto;padding:0 40px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px}.site-footer .footer-brand{font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:.02em}.site-footer nav{display:flex;flex-wrap:wrap;gap:22px}.site-footer nav a:hover{opacity:.5}.site-footer .copyright{font-family:var(--font-display);color:var(--color-muted);width:100%;font-size:11px;letter-spacing:.06em;margin-top:8px}@media(max-width:840px){.site-footer .inner{padding:0 24px}}.bg-panel{background:var(--color-bg-panel)}.mt-0{margin-top:0}.center{text-align:center}.divider{height:1px;background:var(--color-border);border:0}
