@keyframes sweep{to{transform:scaleX(0)}}@keyframes bounce-dot{0%,50%,70%,to{transform:translateY(0)}30%{transform:translateY(-8px)}60%{transform:translateY(-3px)}}@keyframes wiggle{to{background-position-x:20px}}@keyframes ch-pop{0%{opacity:0;transform:translateY(46px) scale(.5) rotate(10deg)}60%{opacity:1;transform:translateY(-10px) scale(1.08) rotate(-3deg)}to{opacity:1;transform:none}}@keyframes ch-jump{0%,to{transform:none}40%{transform:translateY(-14px) rotate(-6deg) scale(1.1)}}@keyframes pop-in{0%{opacity:0;transform:translateY(20px) scale(.8)}to{opacity:1;transform:none}}@keyframes roll{0%,18%{transform:translateY(0)}25%,43%{transform:translateY(-1.6em)}50%,68%{transform:translateY(-3.2em)}75%,93%{transform:translateY(-4.8em)}to{transform:translateY(-6.4em)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes nudge{0%,to{transform:translateY(-3px)}50%{transform:translateY(5px)}}@keyframes floaty{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(9deg)}}@keyframes floaty-r{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-16px) rotate(-14deg)}}@keyframes slide{to{transform:translateX(-50%)}}@keyframes morph{0%,to{border-radius:56% 44% 58% 42%/46% 56% 44% 54%}33%{border-radius:44% 56% 42% 58%/58% 42% 60% 40%}66%{border-radius:60% 40% 52% 48%/42% 58% 46% 54%}}@keyframes whirl{to{transform:rotate(360deg)}}@keyframes blink{0%,44%,50%,to{transform:scaleY(1)}47%{transform:scaleY(.08)}}@keyframes hop{0%,to{transform:none}40%{transform:translateY(-20px) rotate(-8deg)}70%{transform:translateY(0)}85%{transform:translateY(-6px)}}@keyframes seesaw{0%,to{transform:rotate(0)}30%{transform:rotate(14deg)}70%{transform:rotate(-10deg)}}@keyframes fly{0%,to{transform:none}45%,55%{transform:translate(18px,-14px) rotate(12deg)}}@keyframes pill-wobble{0%,to{transform:none}30%{transform:rotate(-4deg) scale(1.08)}60%{transform:rotate(3deg)}}:root{--white:#FFFEFB;--ink:#1F1F1F;--blue:#3D7BFF;--water:#d4e8ff;--pink:#FF6E9C;--yellow:#FFC531;--green:#35C08E;--font-main:"Zen Maru Gothic", sans-serif;--font-mono:"Space Mono", monospace;--pop:cubic-bezier(.34, 1.56, .64, 1);--swipe:cubic-bezier(.77, 0, .18, 1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{background:var(--white);color:var(--ink);font-family:var(--font-main);font-size:16px;font-weight:500;line-height:1.95;overflow-x:hidden;-webkit-font-smoothing:antialiased}::selection{background:var(--yellow)}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:4px;border-radius:6px}button{font:inherit;color:inherit;background:0 0;border:0;cursor:pointer}.curtain{position:fixed;inset:0;z-index:100;pointer-events:none}.curtain i{position:absolute;inset:0;display:block;transform:scaleX(1);transform-origin:right center;animation:sweep .8s var(--swipe) forwards}.curtain i:nth-child(1){background:var(--blue);animation-delay:.55s}.curtain i:nth-child(2){background:var(--pink);animation-delay:.4s}.curtain i:nth-child(3){background:var(--yellow);animation-delay:.25s}.curtain i:nth-child(4){background:var(--green);animation-delay:.1s}header{position:fixed;top:0;left:0;right:0;z-index:60;justify-content:space-between;align-items:center;gap:6px 16px;padding:16px clamp(20px,4vw,48px);background:linear-gradient(to bottom,rgba(255,254,251,.96) 70%,rgba(255,254,251,0))}.logo{font-weight:900;font-size:20px;letter-spacing:.04em;display:inline-flex;align-items:baseline}.logo .dot{width:10px;height:10px;border-radius:50%;background:var(--pink);margin-left:6px;animation:bounce-dot 1.6s ease-in-out infinite}.gnav,header{display:flex;flex-wrap:wrap}.gnav{gap:clamp(12px,2.6vw,30px)}.gnav a,.hero{position:relative}.gnav a{font-size:12px;letter-spacing:.08em;padding-bottom:6px}.gnav a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:6px;opacity:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='6'%3E%3Cpath d='M0 3 Q5 0 10 3 T20 3' fill='none' stroke='%231F1F1F' stroke-width='2'/%3E%3C/svg%3E")repeat-x;background-size:20px 6px;transition:opacity .2s}.gnav a:hover::after{opacity:1;animation:wiggle .5s linear infinite}.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:130px clamp(20px,6vw,80px) 80px;max-width:1200px;margin:0 auto}.gnav a,.hero-hello{font-family:var(--font-mono);font-weight:700}.hero-hello{font-size:13px;letter-spacing:.24em;background:var(--ink);color:var(--white);padding:6px 14px;border-radius:999px;margin-bottom:26px;opacity:0;animation:pop-in .6s var(--pop) 1.15s forwards}.cat-head h3,.hero-title{font-weight:900;letter-spacing:.04em}.hero-title{font-size:clamp(40px,8.6vw,96px);line-height:1.32}.hero-title .ch{display:inline-block;opacity:0;animation:ch-pop .65s var(--pop) forwards;animation-delay:calc(1.25s + var(--i)*.055s)}.hero-title .ch.done{animation:none;opacity:1}.hero-title .ch.done:hover{animation:ch-jump .5s var(--pop)}.fact-list li:hover .k,.hero-title .c-pink{color:var(--pink)}.hero-title .c-blue{color:var(--blue)}.hero-sub{margin-top:30px;font-size:clamp(16px,2.2vw,22px);font-weight:700;opacity:0;animation:pop-in .7s var(--pop) 2.3s forwards}.roller{display:inline-block;height:1.6em;overflow:hidden;vertical-align:-.5rem;clip-path:inset(1px 0)}.roller-track{display:flex;flex-direction:column;animation:roll 10s var(--swipe) infinite}.roller-track span{height:1.6em;line-height:1.6em;font-weight:900;padding:0 .15em;background:linear-gradient(transparent 62%,var(--w-color, var(--yellow)) 62%)}.b-yt{--bc:#FF0000}.b-x{--bc:#0F1419}.b-nico{--bc:#252525}.b-note{--bc:#41C9B4}.b-gh{--bc:#181717}.b-zenn{--bc:#3EA8FF}.b-ig{--bc:#D6249F}.sns-row{display:flex;gap:clamp(12px,2vw,22px);flex-wrap:wrap;align-items:flex-start;margin-top:38px}.sns{display:flex;flex-direction:column;align-items:center;gap:7px;opacity:0;animation:pop-in .55s var(--pop) forwards;animation-delay:calc(2.6s + var(--i)*.09s)}.sns .ico,.spin-badge::after{display:grid;place-items:center}.sns .ico{width:54px;height:54px;border:3px solid var(--ink);border-radius:50%;background:#fff;color:var(--ink);box-shadow:4px 4px 0 var(--ink);transition:background .25s,color .25s,transform .25s var(--pop),box-shadow .25s var(--pop)}.sns svg{width:23px;height:23px}.sns .lbl,.spin-badge text{font-family:var(--font-mono);font-weight:700}.sns .lbl{font-size:10px;letter-spacing:.06em;color:#8a8a85}.sns:hover .ico{animation:pill-wobble .5s var(--pop);background:var(--bc, var(--ink));color:#fff}.sns.b-ig:hover .ico{background:radial-gradient(circle at 30% 110%,#fdf497 0,#fd5949 45%,#d6249f 60%,#285aeb 90%)}.sns:hover .lbl{color:var(--ink)}.sns-row.mini{margin:34px auto 0;justify-content:center}.sns-row.mini .sns{opacity:1;animation:none}.sns-row.mini .ico{width:42px;height:42px;box-shadow:3px 3px 0 var(--ink)}.sns-row.mini svg{width:18px;height:18px}.sns-row.mini .lbl{display:none}.spin-badge{position:absolute;right:clamp(20px,7vw,90px);bottom:clamp(70px,12vh,120px);width:clamp(96px,12vw,140px);height:clamp(96px,12vw,140px);opacity:0;animation:pop-in .7s var(--pop) 2.9s forwards}.spin-badge svg{width:100%;height:100%;animation:spin 14s linear infinite;overflow:visible}.spin-badge text{font-size:11.5px;letter-spacing:.28em;fill:var(--ink)}.spin-badge::after{content:"↓";position:absolute;inset:0;font-weight:900;font-size:26px;animation:nudge 1.6s ease-in-out infinite}.shape{position:absolute;pointer-events:none}.sh-circle{width:26px;height:26px;border-radius:50%;background:var(--pink);top:22%;left:8%;animation:floaty 5.2s ease-in-out infinite}.sh-donut{width:44px;height:44px;border-radius:50%;border:9px solid var(--blue);top:16%;right:14%;animation:floaty 6.5s ease-in-out .6s infinite}.sh-tri{width:0;height:0;border-left:19px solid transparent;border-right:19px solid transparent;border-bottom:32px solid var(--yellow);bottom:24%;left:16%;animation:floaty-r 7s ease-in-out .3s infinite}.sh-cross{width:34px;height:34px;top:56%;right:8%;animation:spin 11s linear infinite}.sh-cross::after,.sh-cross::before{content:"";position:absolute;background:var(--green);border-radius:4px}.sh-cross::before{left:50%;top:0;bottom:0;width:9px;transform:translateX(-50%)}.sh-cross::after{top:50%;left:0;right:0;height:9px;transform:translateY(-50%)}.marquee{background:var(--yellow);border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);padding:12px 0;overflow:hidden;white-space:nowrap;margin-left:-3vw;transform:rotate(-1.4deg)}.marquee.rev{background:var(--pink);transform:rotate(1.4deg)}.marquee-track{display:inline-block;font-weight:900;font-size:18px;letter-spacing:.14em;animation:slide 22s linear infinite;will-change:transform}.marquee.rev .marquee-track{animation-direction:reverse}[id]{scroll-margin-top:96px}.section{max-width:1100px;margin:0 auto;padding:clamp(90px,13vh,150px) clamp(20px,5vw,48px)}.sec-label{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.24em;display:inline-block;border:2px solid var(--ink);border-radius:999px;padding:4px 16px;margin-bottom:18px;background:#fff}.sec-title{font-weight:900;font-size:clamp(30px,5vw,52px);letter-spacing:.05em;line-height:1.4;margin-bottom:clamp(36px,6vh,60px)}.sec-title em{font-style:normal;background:linear-gradient(transparent 60%,var(--hl, var(--yellow)) 60%);padding:0 .08em}.reveal{opacity:0;transform:translateY(28px) scale(.97)}.reveal.in{opacity:1;transform:none;transition:opacity .7s ease,transform .7s var(--pop);transition-delay:var(--d, 0s)}.about-grid{display:grid;grid-template-columns:minmax(240px,300px) 1fr;gap:clamp(36px,6vw,72px);align-items:center}.blob,.blob img{width:100%;display:block}.blob{position:relative;aspect-ratio:1;background:var(--water);animation:morph 9s ease-in-out infinite;cursor:pointer;border:0;transition:transform .4s var(--pop);overflow:hidden}.blob:hover{transform:scale(1.04) rotate(-2deg)}.blob.spin-once{animation:morph 7s ease-in-out infinite,whirl .8s var(--pop)}.blob img{height:100%;object-fit:cover;pointer-events:none}.about-name{font-weight:900;font-size:clamp(20px,2.6vw,26px);margin-bottom:6px}.about-name small,.cat-head h3 small,.fact-list .k{font-family:var(--font-mono);font-weight:700;color:#8a8a85}.about-name small{font-size:12px;letter-spacing:.16em;margin-left:12px}.about-text{margin-bottom:26px}.fact-list{list-style:none;display:flex;flex-direction:column;gap:4px}.fact-list li{display:grid;grid-template-columns:96px 1fr;gap:14px;padding:10px 0;border-bottom:2px dotted #d9d6cc;font-size:14px}.cat-head h3 small,.fact-list .k{font-size:11px}.fact-list .k{letter-spacing:.18em;padding-top:5px}.cat-nav{display:flex;gap:10px;flex-wrap:wrap;margin:-14px 0 12px}.works-cat{padding-top:clamp(44px,7vh,64px)}.cat-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:28px}.cat-ico{width:50px;height:50px;flex:none;border:3px solid var(--ink);border-radius:16px;display:grid;place-items:center;background:var(--c, var(--blue));color:#fff;box-shadow:4px 4px 0 var(--ink)}.cat-ico svg{width:26px;height:26px}.cat-head h3{font-size:clamp(24px,3.4vw,34px)}.cat-head h3 small{letter-spacing:.16em;margin-left:12px}.cat-divider{height:6px;margin-top:clamp(48px,8vh,76px);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='6'%3E%3Cpath d='M0 3 Q5 0 10 3 T20 3' fill='none' stroke='%23D9D6CC' stroke-width='2'/%3E%3C/svg%3E")repeat-x;background-size:20px 6px}.works-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(24px,4vw,40px)}.card{background:#fff;border:3px solid var(--ink);border-radius:20px;overflow:hidden;box-shadow:7px 7px 0 var(--ink);transition:transform .35s var(--pop),box-shadow .35s var(--pop);display:block}.card:nth-child(odd){transform:rotate(-.6deg)}.card:nth-child(even){transform:rotate(.6deg)}.card:hover{transform:translate(-4px,-6px) rotate(0deg);box-shadow:12px 13px 0 var(--ink)}.card-visual,.rule-box h3{border-bottom:3px solid var(--ink)}.card-visual{aspect-ratio:16/9;display:grid;place-items:center;background:var(--c, var(--blue));color:#fff;overflow:hidden}.card-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s var(--pop)}.card:hover .card-visual img{transform:scale(1.06)}.card-visual svg{width:clamp(64px,18%,88px);height:auto;aspect-ratio:1}.card-body{padding:20px 24px 24px}.card h4{font-weight:900;font-size:20px;margin-bottom:6px}.card p{font-size:14px;line-height:1.9;margin-bottom:14px}.card-go{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.06em;color:#8a8a85;transition:color .25s}.card-go .arw{display:inline-block;transition:transform .3s var(--pop)}.card-go svg{flex:none}.card:hover .card-go{color:var(--ink)}.card:hover .card-go .arw{transform:translateX(6px)}.s-donut{width:60px;height:60px;border-radius:50%;border:13px solid #fff}.s-cross{position:relative;width:56px;height:56px}.s-cross::after,.s-cross::before{content:"";position:absolute;background:#fff;border-radius:6px}.s-cross::before{left:50%;top:0;bottom:0;width:14px;transform:translateX(-50%)}.s-cross::after{top:50%;left:0;right:0;height:14px;transform:translateY(-50%)}.s-half{width:68px;height:34px;background:#fff;border-radius:0 0 68px 68px}.s-tri{width:0;height:0;border-left:32px solid transparent;border-right:32px solid transparent;border-bottom:54px solid #fff}.card:hover .an-spin{animation:spin 1.1s var(--pop)}.card:hover .an-hop{animation:hop .6s var(--pop)}.card:hover .an-seesaw{animation:seesaw .8s var(--pop)}.card:hover .an-fly{animation:fly .8s var(--pop)}.chip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;border:2px solid var(--ink);border-radius:999px;padding:4px 14px;background:#fff;color:var(--ink);transition:background .22s,color .22s,transform .22s var(--pop)}.card-go svg,.chip svg{width:14px;height:14px}.chip:hover{background:var(--bc, var(--ink));color:#fff;transform:translateY(-3px) rotate(-1deg)}.chip.b-ig:hover{background:radial-gradient(circle at 30% 110%,#fdf497 0,#fd5949 45%,#d6249f 60%,#285aeb 90%)}.guide-lead{max-width:640px;margin:-16px 0 40px;font-size:15px}.rule-box li,.rule-grid{display:grid;align-items:start}.rule-grid{grid-template-columns:repeat(2,1fr);gap:clamp(24px,4vw,40px)}.rule-box{background:#fff;border:3px solid var(--ink);border-radius:20px;overflow:hidden;box-shadow:7px 7px 0 var(--ink)}.rule-box h3{font-weight:900;font-size:19px;padding:14px 22px;display:flex;align-items:center;gap:10px}.rule-box.ok h3{background:var(--green);color:#fff}.rule-box.ng h3{background:var(--pink);color:#fff}.rule-box ul{list-style:none;padding:20px 22px 24px;display:flex;flex-direction:column;gap:14px}.rule-box li{grid-template-columns:26px 1fr;gap:12px;font-size:14px;line-height:1.85;transition:transform .25s var(--pop)}.rule-box li:hover{transform:translateX(5px)}.rule-box .mk{width:22px;height:22px;margin-top:4px;display:block;flex-shrink:0}.rule-box .mk svg{width:100%;height:100%;stroke-width:3.2}.rule-box.ok .mk{color:var(--green)}.rule-box.ng .mk{color:var(--pink)}.guide-note{margin-top:36px;align-items:center;font-size:14px;font-weight:700}.guide-note,.pill-cloud{display:flex;flex-wrap:wrap;gap:14px}.pill{font-weight:700;font-size:15px;border:3px solid var(--ink);border-radius:999px;padding:8px 22px;background:#fff;transition:background .25s,color .25s,transform .25s var(--pop);display:inline-flex;align-items:center;gap:8px}.pill svg{width:18px;height:18px;stroke-width:2.5}.pill:hover{background:var(--c, var(--yellow));color:var(--tc, var(--ink));animation:pill-wobble .5s var(--pop)}.contact{text-align:center;position:relative}.c-circle{width:22px;height:22px;border-radius:50%;background:var(--yellow);left:12%;top:18%;animation:floaty 5s ease-in-out infinite}.c-donut{width:36px;height:36px;border-radius:50%;border:8px solid var(--pink);right:12%;top:26%;animation:floaty-r 6s ease-in-out infinite}.c-tri{width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-bottom:26px solid var(--green);left:22%;bottom:16%;animation:floaty 6.6s ease-in-out .4s infinite}.big-btn{display:inline-flex;align-items:center;gap:18px;font-weight:900;font-size:clamp(24px,4.6vw,48px);letter-spacing:.04em;border:3px solid var(--ink);border-radius:999px;background:#fff;padding:.55em 1em;box-shadow:9px 9px 0 var(--ink);transition:transform .3s var(--pop),box-shadow .3s var(--pop),background .3s}.big-btn:hover{transform:translate(5px,5px);box-shadow:2px 2px 0 var(--ink);background:var(--yellow)}.big-btn .arrow{display:inline-block;transition:transform .3s var(--pop)}.big-btn:hover .arrow{transform:translateX(10px) rotate(-8deg)}.contact-mail{display:inline-block;margin-top:30px;font-family:var(--font-mono);font-size:14px;font-weight:700;letter-spacing:.1em;color:#8a8a85;transition:color .25s}.contact-mail:hover{color:var(--ink)}.contact-note{margin-top:22px;display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;color:#8a8a85}footer{margin-top:60px}.foot-inner,.to-top{font-family:var(--font-mono);font-weight:700}.foot-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;max-width:1100px;margin:0 auto;padding:20px clamp(20px,5vw,48px) 40px;font-size:11px;letter-spacing:.14em;color:#8a8a85}.to-top{font-size:12px;letter-spacing:.12em;border:2px solid var(--ink);border-radius:999px;padding:8px 18px;background:#fff;color:var(--ink);transition:transform .3s var(--pop),background .3s}.to-top:hover{transform:translateY(-5px) rotate(-2deg);background:var(--green)}@media (max-width:820px){.about-grid,.rule-grid,.works-grid{grid-template-columns:1fr}.blob{max-width:260px;margin:0 auto}.spin-badge{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,::after,::before{animation:none!important;transition:none!important}.curtain{display:none}.hero-hello,.hero-sub,.hero-title .ch,.sns,.spin-badge{opacity:1!important;transform:none!important}.reveal{opacity:1;transform:none}}