:root{--bg: #ffffff;--bg-alt: #f5f5f7;--ink: #0a0a0a;--ink-soft: #555;--ink-faint: #999;--grad: linear-gradient(90deg, #ff6ec4, #ffb86c, #f9f871, #7bed9f, #70a1ff, #a29bfe);--grad-conic: conic-gradient(#ff6ec4, #ffb86c, #f9f871, #7bed9f, #70a1ff, #a29bfe, #ff6ec4);--font-sans: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;--ease-out: cubic-bezier(.22, 1, .36, 1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:auto}html,body{background:var(--bg);color:var(--ink);font-family:var(--font-sans)}body{overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}ul,ol{list-style:none}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}@keyframes kaz-sweep{to{transform:rotate(360deg)}}@keyframes kaz-slide{to{background-position:-200% 0}}.rb{position:relative;overflow:hidden;display:inline-flex;padding:2px;border-radius:999px}.rb>.rb-ring{position:absolute;top:-100%;right:-100%;bottom:-100%;left:-100%;background:var(--grad-conic);animation:kaz-sweep 3.5s linear infinite}.rb-slow>.rb-ring{animation-duration:6s}.rb>.rb-in{position:relative;border-radius:999px}.arrow{display:inline-block;transition:transform .45s var(--ease-out)}a:hover .arrow{transform:translate(5px)}#webgl{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}#content{position:relative;z-index:1}.site-header{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:1.4rem 4vw;transition:background .4s var(--ease-out),backdrop-filter .4s var(--ease-out),padding .4s var(--ease-out)}.site-header.is-scrolled{background:#ffffffb8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:.9rem 4vw}.header-logo{font-weight:800;font-size:1.5rem;letter-spacing:-.02em;line-height:1}.header-logo span{display:block;font-size:.5rem;letter-spacing:.32em;font-weight:700;color:var(--ink-soft)}.header-nav{display:flex;gap:2.2rem}.header-nav a{font-size:.78rem;font-weight:700;letter-spacing:.18em;position:relative;padding:.2em 0}.header-nav a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--grad);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease-out)}.header-nav a:hover:after{transform:scaleX(1);transform-origin:left}.header-cta{font-size:.8rem;font-weight:700;box-shadow:0 4px 16px #a29bfe38;transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out)}.header-cta .rb-in{display:inline-flex;align-items:center;gap:.5em;background:#111;color:#fff;padding:.72em 1.5em;letter-spacing:.04em;transition:background .45s var(--ease-out)}.header-cta:hover{transform:translateY(-2px);box-shadow:0 10px 28px #a29bfe59}.header-cta:hover .rb-in{background:#000}.btn{font-size:.92rem;font-weight:700;transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out)}.btn .rb-in{display:inline-flex;align-items:center;gap:.6em;padding:1em 2.1em;letter-spacing:.04em;transition:background .45s var(--ease-out)}.btn:hover{transform:translateY(-2px)}.btn-dark{box-shadow:0 6px 20px #00000026}.btn-dark .rb-in{background:#111;color:#fff}.btn-dark:hover .rb-in{background:#000}.btn-light{box-shadow:0 6px 20px #a29bfe40}.btn-light .rb-in{background:#fff;color:var(--ink)}.btn-light:hover .rb-in{background:#fafafa}.section{padding:18vh 6vw;max-width:1280px;margin:0 auto}.section-label{font-size:.78rem;font-weight:700;letter-spacing:.3em;color:var(--ink-faint);margin-bottom:2.2rem}.section-label:before{content:"";display:inline-block;width:2.4em;height:2px;background:var(--grad);margin-right:1em;vertical-align:middle}.section-title{font-size:clamp(2.2rem,6vw,4.6rem);font-weight:800;line-height:1.25;letter-spacing:-.01em;margin-bottom:2.4rem}.section-body{font-size:clamp(.95rem,1.6vw,1.1rem);line-height:2.2;color:var(--ink-soft);max-width:40em}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:0 6vw;position:relative}.logo{font-weight:800;font-size:clamp(4.5rem,19vw,17rem);line-height:.88;letter-spacing:-.03em}.logo span{display:block;font-size:clamp(.85rem,3vw,2.2rem);letter-spacing:.38em;font-weight:700;color:var(--ink-soft);margin-top:.4em}.tagline{margin-top:2.4rem;font-size:clamp(1.7rem,4.6vw,3rem);font-weight:800}.hero-lead{margin-top:1.6rem;font-size:clamp(.95rem,1.8vw,1.15rem);line-height:2;color:var(--ink-soft)}.hero-actions{margin-top:2.8rem;display:flex;gap:1.2rem;flex-wrap:wrap}.scroll-hint{position:absolute;bottom:3.2rem;right:6vw;font-size:.68rem;font-weight:700;letter-spacing:.4em;color:var(--ink-faint);writing-mode:vertical-rl}.scroll-hint:after{content:"";display:block;width:2px;height:3.4em;margin-top:1em;background:linear-gradient(to bottom,var(--ink-faint),transparent);animation:scrollPulse 2s var(--ease-out) infinite}@keyframes scrollPulse{0%{transform:scaleY(0);transform-origin:top}55%{transform:scaleY(1);transform-origin:top}56%{transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}.about-motto{margin-top:3.2rem;font-size:clamp(1.15rem,2.6vw,1.7rem);font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;width:fit-content}.about-points{margin-top:2.2rem;display:flex;flex-direction:column;gap:1rem}.about-points li{font-size:.98rem;font-weight:700;color:var(--ink);padding-left:1.6em;position:relative}.about-points li:before{content:"";position:absolute;left:0;top:50%;translate:0 -50%;width:.55em;height:.55em;border-radius:50%;background:var(--grad)}.work-tile{display:block}.tile-media{position:relative;overflow:hidden;border-radius:14px;background:var(--bg-alt)}.media-placeholder{width:100%;aspect-ratio:16 / 9;transition:transform .8s var(--ease-out)}.media-placeholder--1{background:linear-gradient(135deg,#0a0a0a,#333 55%,#70a1ff 130%)}.media-placeholder--2{background:linear-gradient(135deg,#ff6ec4 -30%,#f5f5f7 60%)}.media-placeholder--3{background:linear-gradient(135deg,#7bed9f -30%,#f5f5f7 60%)}.media-placeholder--4{background:linear-gradient(135deg,#a29bfe -30%,#f5f5f7 60%)}.work-tile:hover .media-placeholder{transform:scale(1.045)}.tile-info{padding:1.6rem .2rem 0}.tile-info h3{font-size:1.3rem;font-weight:800;margin-bottom:.5rem}.tile-info p{font-size:.9rem;line-height:1.9;color:var(--ink-soft)}.tile-price{margin-top:.5rem;font-weight:700;color:var(--ink)!important}.work-tile--featured{margin-bottom:4.5rem}.work-tile--featured .tile-info h3{font-size:clamp(1.6rem,3.4vw,2.4rem)}.work-tile--featured .tile-info p{max-width:44em;font-size:.98rem}.tile-tags{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0 .2rem}.rb-tag{padding:1.5px}.rb-tag .rb-in{padding:.5em 1.15em;background:#fff;font-size:.72rem;font-weight:800;letter-spacing:.1em}.works-more{margin-top:3.6rem}.link-rainbow{display:inline-block;font-size:.95rem;font-weight:800;letter-spacing:.05em}.link-rainbow .link-label{display:inline-flex;align-items:center;gap:.5em}.link-rainbow .link-underline{display:block;height:3px;border-radius:3px;margin-top:6px;background:linear-gradient(90deg,#ff6ec4,#ffb86c,#f9f871,#7bed9f,#70a1ff,#a29bfe,#ff6ec4);background-size:200% 100%;animation:kaz-slide 3.5s linear infinite}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem}.process-list{display:flex;flex-direction:column}.process-list li{display:flex;align-items:baseline;gap:2.2rem;padding:2.1rem .4rem;border-bottom:1px solid #e6e6ea}.process-list li:first-child{border-top:1px solid #e6e6ea}.step-no{font-size:.9rem;font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.step-name{font-size:clamp(1.3rem,3vw,2rem);font-weight:800}.contact{text-align:left}.contact-status{display:inline-flex;align-items:center;gap:.6em;padding:.55em 1.2em;border-radius:999px;background:#fff;border:1px solid #e0e0e6;font-size:.74rem;font-weight:800;letter-spacing:.12em;margin-bottom:1.8rem}.contact-status:before{content:"";width:8px;height:8px;border-radius:999px;background:var(--grad-conic)}.contact-actions{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:1rem}.site-footer{margin-top:9rem;font-size:.78rem;color:var(--ink-faint);letter-spacing:.08em}@media (max-width: 820px){.header-nav{display:none}.section{padding:14vh 7vw}.work-grid{grid-template-columns:1fr;gap:3rem}.scroll-hint{right:7vw;bottom:2rem}}@media (prefers-reduced-motion: reduce){.rb>.rb-ring,.link-rainbow .link-underline{animation:none}}
