@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@500;700;800;900&family=Noto+Sans+JP:wght@400;500;700&display=swap');
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:var(--body)/1.9 var(--font-body)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:4px dashed var(--red);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3,.pop,nav{font-family:var(--font-heading);font-weight:900}header{height:86px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:var(--border);background:var(--paper);position:relative;z-index:5}.brand{font-size:22px;letter-spacing:-1px}.brand small{display:block;font-size:11px;letter-spacing:3px;line-height:1}nav{display:flex;align-items:center;gap:30px;font-size:14px}nav a:hover{transform:rotate(-4deg);color:#b52a21}.contact-link,.button{display:inline-block;background:var(--yellow);border:var(--border);padding:10px 25px;box-shadow:4px 4px 0 var(--ink);font-weight:800}.button:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;z-index:99}.hero{position:relative;overflow:hidden;min-height:690px;background-color:var(--lime);background-image:radial-gradient(#6c8a46 1.3px,transparent 1.4px);background-size:14px 14px;border-bottom:var(--border);display:grid;place-items:center;padding:54px 20px 68px}.grid{background-color:var(--paper);background-image:linear-gradient(#28231f25 1px,transparent 1px),linear-gradient(90deg,#28231f25 1px,transparent 1px);background-size:64px 64px}.hero-board{position:relative;width:min(760px,70%);padding:30px 25px 38px;text-align:center;border:var(--border);z-index:2;transform:rotate(-2deg);box-shadow:9px 9px 0 #28231f}.eyebrow{font-size:12px;letter-spacing:3px;font-weight:700}.logo{display:block;width:330px;max-width:85%;height:155px;margin:8px auto 0;overflow:hidden;position:relative}.logo img{position:absolute;width:795px;max-width:none;left:-258px;top:-35px}.logo{background:var(--lime);border-radius:45%}.works-word{font-size:36px;letter-spacing:8px;margin-top:-8px;line-height:1.3}.hero h1{font-size:clamp(26px,3.9vw,48px);line-height:1.5;white-space:nowrap;margin:12px 0}.hero-copy{font-size:14px;line-height:1.9;margin-bottom:20px}.circle{position:absolute;border:4px solid var(--ink);border-radius:50%;width:360px;height:360px;background:var(--blue);right:-170px;top:-140px}.circle.red{background:var(--red);left:-190px;top:auto;bottom:-220px;width:420px;height:420px}.tape{position:absolute;background:repeating-linear-gradient(-35deg,var(--red) 0 22px,var(--ink) 22px 25px);width:330px;height:70px;border:var(--border);transform:rotate(-25deg);top:45px;left:-100px}.tape:after{content:'';position:absolute;inset:-25px 10px 36px;background:var(--yellow);border:var(--border)}.sticker{position:absolute;z-index:3;filter:drop-shadow(4px 6px 0 #28231f44);animation:float 7s ease-in-out infinite}.sticker img{width:100%;display:block}.s1{width:225px;left:1%;top:145px;transform:rotate(-12deg);clip-path:polygon(3% 35%,31% 7%,53% 3%,73% 10%,98% 30%,91% 58%,83% 55%,87% 94%,22% 100%,16% 61%,2% 54%)}.s2{width:115px;right:6%;bottom:95px;animation-duration:9s;transform:rotate(14deg)}.crop{overflow:hidden;position:relative}.s1 .crop{height:252px}.s1 img{position:absolute;width:620px;left:-37px;top:-201px}.s2 .crop{height:272px;clip-path:polygon(24% 0,68% 0,82% 9%,73% 29%,100% 34%,95% 96%,14% 100%,0 35%,28% 26%)}.s2 img{position:absolute;width:795px;left:-347px;top:-386px}.burst{position:absolute;right:3%;top:118px;background:var(--yellow);border:var(--border);border-radius:50%;width:137px;height:137px;display:grid;place-items:center;text-align:center;font:900 18px/1.6 var(--font-heading);transform:rotate(12deg);z-index:3}.scroll{position:absolute;bottom:18px;font-size:12px;letter-spacing:3px}.ribbon{background:var(--ink);color:var(--paper);padding:10px 0;white-space:nowrap;overflow:hidden;font:800 17px var(--font-heading);letter-spacing:3px;text-align:center}.ribbon span{color:var(--lime);padding:0 25px}section.content{padding:85px var(--space);max-width:1600px;margin:auto}.section-top{display:flex;align-items:end;gap:25px;margin-bottom:32px}.section-top h2{font-size:var(--heading);line-height:1;letter-spacing:-3px}.section-top p{font-weight:700}.section-top .number{background:var(--yellow);border:var(--border);font-size:18px;padding:0 12px;transform:rotate(-8deg)}.intro{max-width:650px}.about-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;align-items:center}.about-poster{border:var(--border);padding:20px;background:var(--blue);transform:rotate(-3deg);box-shadow:7px 7px 0 var(--ink)}.about-poster img{width:100%;display:block}.about-copy h3{font-size:28px;line-height:1.7;margin-bottom:20px}.about-copy p{margin:16px 0}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.chips span{border:2px solid;padding:3px 10px;font-size:13px;background:white}.works-section{background:var(--yellow);border-block:var(--border)}.services{display:grid;grid-template-columns:repeat(4,1fr);border:var(--border);margin:35px 0 45px;background:var(--paper)}.services div{padding:22px;border-right:var(--border)}.services div:last-child{border:0}.services h3{font-size:24px}.services p{font-size:13px;margin-top:10px}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:45px 36px}.work{display:block}.work .art{border:var(--border);height:300px;overflow:hidden;position:relative;background:var(--lime);transition:transform .2s}.work:nth-child(2n) .art{transform:rotate(2deg)}.work:nth-child(2n+1) .art{transform:rotate(-2deg)}.work:hover .art{transform:rotate(0) scale(1.02)}.art img{width:100%;height:100%;object-fit:cover}.work h3{font-size:23px;margin-top:16px}.meta{font-size:12px;letter-spacing:1px}.label{position:absolute;left:14px;top:14px;background:white;border:var(--border);padding:3px 12px;transform:rotate(-5deg);font-weight:900}.art.type{display:grid;place-items:center;background:var(--blue);font:900 clamp(28px,4vw,56px)/1.2 var(--font-heading);text-align:center}.art.type b{transform:rotate(-8deg);background:white;padding:15px;border:var(--border);box-shadow:8px 8px 0 var(--ink)}.art.movie{background:var(--red);color:white}.after-works{margin-top:45px;display:flex;align-items:center;justify-content:space-between;gap:20px}.lab-row{display:grid;grid-template-columns:170px 1fr 40px;gap:28px;align-items:center;padding:25px 0;border-bottom:var(--border)}.lab-row:first-of-type{border-top:var(--border)}.lab-row .thumb{height:125px;overflow:hidden;background:var(--lime);border:var(--border)}.thumb img{width:100%;height:100%;object-fit:cover}.lab-row h3{font-size:23px}.research{font-weight:800;color:#496400;font-size:13px}.arrow{font-size:32px}.follow{background:var(--blue);border-block:var(--border)}.follow-inner{display:flex;justify-content:space-between;gap:40px;align-items:center}.social-placeholder{background:var(--paper);border:var(--border);padding:22px 32px;min-width:260px;font:900 28px var(--font-heading);box-shadow:6px 6px 0 var(--ink)}.social-placeholder small{display:block;font:13px var(--font-body);margin-top:12px}.contact{text-align:center;position:relative;overflow:hidden}.contact h2{font-size:clamp(30px,5vw,58px);margin:20px 0}.contact p{margin:15px auto;max-width:620px}.contact-note{font-size:14px}footer{border-top:var(--border);padding:28px 5%;display:flex;justify-content:space-between;font-size:12px}.preview-note{background:var(--paper);font-size:12px;text-align:center;padding:7px;border-bottom:1px solid #aaa}.detail{max-width:1000px;margin:auto;padding:55px 25px 90px}.detail h1{font-size:clamp(30px,5vw,55px);line-height:1.4;margin:20px 0}.detail .detail-image{width:100%;max-height:650px;object-fit:contain;background:var(--lime);border:var(--border);margin:25px 0}.detail dl{display:grid;grid-template-columns:130px 1fr;border-top:var(--border)}dt,dd{margin:0;padding:12px;border-bottom:1px solid #aaa}dt{font-weight:bold}.detail h2{margin:30px 0 10px}.detail p{margin:15px 0}.detail .button{margin-top:25px}@keyframes float{50%{translate:0 -13px;rotate:3deg}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:760px){header{height:auto;min-height:92px;padding:14px 18px;flex-wrap:wrap;gap:14px}.brand{font-size:19px}nav{gap:17px;font-size:12px;width:100%;justify-content:space-between}nav .contact-link{padding:3px 8px;box-shadow:2px 2px}.hero{min-height:650px;padding:70px 15px}.hero-board{width:94%;padding:24px 12px 35px}.hero h1{font-size:clamp(24px,6vw,34px)}.hero-copy{font-size:13px}.logo{scale:.85;margin-block:-8px}.works-word{font-size:29px}.s1{width:112px;left:-28px;top:420px}.s1 .crop{height:140px}.s1 img{width:340px;left:-20px;top:-110px}.s2{right:-23px;bottom:10px;width:86px}.s2 .crop{height:210px}.s2 img{width:610px;left:-266px;top:-296px}.burst{width:92px;height:92px;font-size:13px;top:8px;right:10px}.hero .button{padding:8px 16px}.section-top{gap:14px;flex-wrap:wrap}.section-top h2{letter-spacing:-2px}.section-top p{font-size:14px}.about-layout{grid-template-columns:1fr;gap:40px}.about-poster{max-width:360px;margin:auto}.about-copy h3{font-size:24px}.services{grid-template-columns:1fr 1fr}.services div{border-bottom:var(--border);padding:16px}.services div:nth-child(2){border-right:0}.services div:nth-child(3){border-bottom:0}.gallery{grid-template-columns:1fr;gap:32px}.work .art{height:280px}.after-works,.follow-inner{flex-direction:column;align-items:start}.lab-row{grid-template-columns:85px 1fr 20px;gap:14px}.lab-row .thumb{height:100px}.lab-row h3{font-size:17px}.lab-row .meta{font-size:12px}.research{font-size:11px}.social-placeholder{width:100%}footer{gap:20px;flex-wrap:wrap}.detail dl{grid-template-columns:95px 1fr}section.content{padding-block:60px}}
/* Shared white-paper grid on all white site surfaces, including detail pages. */ body,header,footer,.grid,#about,.services,.social-placeholder,.art.type b{background-color:var(--paper);background-image:var(--grid-pattern);background-size:var(--grid-size) var(--grid-size)}
/* Plain white surfaces requested for SNS, LAB, work labels, and service categories. */ .social-placeholder,#lab,.art.type b,.services{background-color:var(--paper);background-image:none}#lab{max-width:none}
/* Plain white header and footer across all pages. */ header,footer{background-color:var(--paper);background-image:none}
