@charset "UTF-8";
:root{color-scheme:light;--bg:#eaf6ff;--ink:#10283d;--muted:#445c70;--cyan:#007eaf;--magenta:#cc237b;--lime:#caff49;--line:#8daabc55;--glass:#ffffffb8;--font:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px;overflow-x:clip}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.95 var(--font);overflow-x:clip}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.45}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--magenta);outline-offset:6px}::selection{background:var(--lime);color:var(--ink)}img{display:block;max-width:100%;height:auto}svg{display:block}main{position:relative} .skip-link{position:fixed;top:-100px;left:20px;z-index:100;padding:12px 24px;background:var(--ink);color:white}.skip-link:focus{top:12px}.site-header{height:94px;padding:0 4%;display:flex;align-items:center;gap:28px;position:relative;z-index:20;border-bottom:1px solid var(--line);background:#f7fcffc7;backdrop-filter:blur(20px)}.brand{display:flex;align-items:center;font-size:26px;font-weight:800;white-space:nowrap;line-height:1;letter-spacing:-1px}.brand>span:not(.brand-icon){font-size:19px}.brand b{color:var(--magenta);font-size:36px}.brand-icon{display:flex;gap:3px;align-items:center;margin-right:13px;transform:skewY(-18deg)}.brand-icon i{display:block;width:6px;height:24px;background:#008bbd}.brand-icon i:nth-child(2){height:31px;background:var(--magenta)}.brand-icon i:nth-child(3){height:38px;background:#8cb921}.site-header nav{display:flex;flex:1;justify-content:flex-end;gap:22px}.site-header nav a{font-size:12px;font-weight:700}.site-header nav a:hover{color:var(--magenta)}.header-cta{border:1px solid var(--ink);padding:11px 17px;font-size:12px;font-weight:700;white-space:nowrap;background:var(--lime);border-radius:4px}.header-cta span{margin-left:24px}.menu-button{display:none}.world{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden;background:radial-gradient(ellipse at 84% 16%,#ffdcf270,transparent 48%),radial-gradient(ellipse at 30% 60%,#a5efff70,transparent 60%),#eaf6ff}.world-grid{position:absolute;inset:0;background-image:linear-gradient(#368cba0e 1px,transparent 1px),linear-gradient(90deg,#368cba0e 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(transparent,#000 70%)}#scene,#scene canvas{position:absolute;inset:0;width:100%;height:100%}.hero{min-height:780px;height:calc(100svh - 94px);max-height:1050px;padding:30px 5.5%;position:relative;isolation:isolate}.hero-topline{display:flex;justify-content:space-between;font:11px/1.5 monospace;letter-spacing:.15em;color:var(--muted)}.hero-topline>span:first-child{display:flex;align-items:center;gap:12px}.status-dot{display:inline-block;width:7px;height:7px;background:#0088a4;border-radius:50%;box-shadow:0 0 0 4px #00bcdf18;flex-shrink:0;animation:status 2.4s ease-in-out infinite}.hero-copy{position:relative;z-index:2;margin-top:58px;max-width:54%;pointer-events:none}.hero-copy a{pointer-events:auto}.hero-title{font-size:clamp(60px,6.9vw,110px);font-weight:900;line-height:1.15;letter-spacing:-.08em;perspective:1000px}.hero-title>span{display:block;transform-origin:left center;animation:hero-in 1.1s cubic-bezier(.2,.8,.2,1) both}.hero-title>span:nth-child(2){animation-delay:.12s}.hero-title>span:last-child{color:var(--cyan);animation:hero-bounce 1.25s .24s both;text-shadow:3px 3px 0 #a2edff}.hero-copy>p{max-width:390px;margin:28px 0 26px;font-size:14px;line-height:2}.hero-actions{display:flex;gap:12px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:16px 22px;font-size:13px;font-weight:700;border:1px solid var(--ink);border-radius:4px;transition:box-shadow .2s,background .2s;will-change:transform}.button span{font-size:20px;line-height:1}.primary{background:var(--ink);color:white;box-shadow:4px 4px 0 #00bbdc}.primary:hover{background:#006984;box-shadow:7px 7px 0 var(--lime)}.secondary{background:#ffffffac}.secondary:hover{background:var(--lime)}.hero-art{position:absolute;left:49%;right:-2%;top:90px;bottom:85px;pointer-events:none}.container-fallback{width:100%;height:100%;object-fit:contain}.webgl-ready:not(.motion-paused) .container-fallback{visibility:hidden}.art-tag{position:absolute;display:flex;align-items:center;gap:12px;padding:10px 16px;border:1px solid #79abc28a;background:#ffffffbd;backdrop-filter:blur(12px);font:11px/1.6 monospace;box-shadow:5px 5px 0 #3ba5c313;border-radius:4px}.tag-top{top:14%;left:12%;transform:rotate(-5deg)}.tag-bottom{bottom:12%;right:14%;transform:rotate(4deg)}.tag-bottom span{color:var(--magenta);font-size:19px}.orbit{position:absolute;border:1px solid #00a6c72e;inset:13% 6%;border-radius:50%;transform:rotate(-26deg) scaleY(.55);z-index:-1}.orbit-two{inset:4% 12%;transform:rotate(32deg) scaleY(.6);border-color:#d2499229}.hero-bottom{position:absolute;bottom:24px;left:5.5%;right:5.5%;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:19px}.scroll-link{display:flex;align-items:center;gap:12px;font-size:12px}.scroll-link>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%}.motion-toggle{font-size:11px;background:#ffffffb3;border:1px solid var(--line);border-radius:20px;padding:7px 14px;display:flex;gap:20px;align-items:center}.motion-toggle:disabled{cursor:default}.stats-band{display:grid;grid-template-columns:repeat(3,1fr);padding:35px 5.5%;background:var(--ink);color:white;gap:36px}.stats-band>div{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-left:12%;border-left:1px solid #ffffff36}.stats-band>div:first-child{padding-left:0;border:0}.stats-band p{font-size:12px;color:#c8dfe9}.stats-band strong{font-weight:700;font-size:clamp(28px,4.5vw,66px);letter-spacing:-.06em;line-height:1.25;white-space:nowrap}.stats-band>div:first-child strong{color:var(--lime)}.stats-band>div:nth-child(2) strong{color:#75e8ff}.stats-band>div:nth-child(3) strong{color:#ff9ed4}.slot-value{position:relative;display:inline-block}.slot-source{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.slot-visual{display:inline-flex;align-items:baseline}.slot-digit{display:inline-block;height:1.15em;width:.6em;overflow:hidden;line-height:1.15;vertical-align:bottom;font-variant-numeric:tabular-nums}.slot-reel{display:block;transform:translateY(calc(var(--digit) * -1.15em))}.slot-reel i{display:block;font-style:normal;height:1.15em}.slot-visual>span:not(.slot-digit){font-size:.48em;margin-left:.06em}.is-spinning .slot-reel{animation:slot-spin 1.6s cubic-bezier(.12,.75,.18,1) both;animation-delay:calc(var(--order) * 75ms)}
.section{padding:100px 6%;position:relative}.section-heading{margin-bottom:45px;position:relative;z-index:2;perspective:900px;max-width:1100px}.eyebrow{display:flex;align-items:center;gap:15px;font:11px/1.5 monospace;letter-spacing:.16em;color:var(--cyan);margin-bottom:22px}.eyebrow>span{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:30px;height:30px;letter-spacing:0}.section-heading h2{font-size:clamp(36px,4.8vw,70px);font-weight:800;letter-spacing:-.06em;line-height:1.35;transform-origin:left center}.heading-glyph{display:inline-block;transform-origin:50% 85%}.problems{background:#ffffffd1}.problem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.problem{position:relative;border-top:1px solid var(--line);padding-top:28px}.problem svg{width:38px;height:42px;color:var(--cyan);margin-bottom:30px}.card-number{font:11px monospace;color:var(--muted)}.problem .card-number{position:absolute;right:0;top:28px}.problem h3{font-size:20px;margin-bottom:15px}.problem p,.solution-card p,.feature p,.service-body p,.case-body p,.flow-list p{color:var(--muted);font-size:14px;line-height:2}.problem-answer{border-top:1px solid var(--line);margin-top:42px;padding-top:28px;display:flex;align-items:center;justify-content:space-between;font-size:24px;font-weight:700}.problem-answer>span{font-size:42px;color:var(--magenta)}.mobile-only{display:none}
.showcase{height:170svh;min-height:1000px;margin:0 -6.82% 50px;position:relative}.space-stage{height:100svh;min-height:580px;position:sticky;top:0;overflow:hidden;pointer-events:none}.space-stage>img{height:86%;width:85%;margin:0 auto;object-fit:contain}.stage-label{position:absolute;left:6%;bottom:7%;right:6%;display:flex;justify-content:space-between;align-items:center;font:12px monospace;letter-spacing:.15em;color:var(--muted)}.stage-label>span:first-child{padding:10px 15px;border:1px solid var(--line);background:#ffffffb8;border-radius:24px}.stage-label>span:last-child{font-size:30px;color:var(--cyan)}.stage-track{position:absolute;left:6%;right:6%;bottom:4%;height:2px;background:#448fb028}.stage-track i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#00aac7,#dd4399,#a5d824);transform-origin:left;transform:scaleX(var(--progress,0))}.webgl-ready:not(.motion-paused) .space-stage>img{visibility:hidden}.reading{position:relative;z-index:2}.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.solution-card,.service-card,.case-card{position:relative;border:1px solid #ffffff;background:var(--glass);backdrop-filter:blur(14px);box-shadow:0 8px 35px #1c69940a;border-radius:12px;overflow:hidden}.solution-card{padding:30px}.solution-card svg{width:40px;height:43px;margin:25px 0;color:var(--cyan);transition:transform .4s}.solution-card h3{font-size:23px;margin-bottom:15px;letter-spacing:-.04em}.solution-card:nth-child(3n+2) svg{color:var(--magenta)}.solution-card:nth-child(3n) svg{color:#6c900b}.glow-card:before,.tilt-card:before{content:"";position:absolute;inset:0;background:radial-gradient(270px at var(--x,50%) var(--y,50%),#21d5ff33,transparent 70%);opacity:0;pointer-events:none}.glow-card:hover:before,.tilt-card:hover:before{opacity:1}.signal-line{height:3px;width:65px;margin-top:25px;background:linear-gradient(90deg,#00b7db,var(--magenta),var(--lime));background-size:200% 100%;transition:width .5s}.solution-card:hover .signal-line{width:100%;animation:signal 1.4s linear infinite}.solution-card:hover svg{transform:translateY(-8px) rotate(-12deg) scale(1.15)}.features-layout{display:grid;grid-template-columns:35% 65%;align-items:start;gap:0}.feature-art{position:sticky;top:60px}.blueprint{position:relative;padding:45px 10% 0 0}.blueprint img{width:100%;max-height:600px;object-fit:contain;transition:filter .3s}.blueprint:hover img{filter:drop-shadow(0 0 15px #00abc766)}.blueprint-label{font:11px monospace;color:var(--cyan);position:absolute;bottom:0;left:10%}.feature-list{border:1px solid white;background:var(--glass);backdrop-filter:blur(15px);padding:15px 35px;border-radius:12px}.feature{display:flex;gap:24px;padding:30px 0;border-bottom:1px solid var(--line)}.feature:last-child{border:0}.feature-num{font:12px monospace;color:var(--magenta);padding-top:8px}.feature h3{font-size:25px;margin-bottom:15px;letter-spacing:-.04em}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.service-visual{height:210px;position:relative;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 50% 100%,#83e6ff80,transparent 65%)}.service-visual svg{width:110px;height:120px;color:var(--cyan);z-index:1;transform:rotate(-12deg) skewY(-8deg);filter:drop-shadow(9px 12px 0 #00b1d526);transition:transform .5s}.visual-1{background:radial-gradient(ellipse at 50% 100%,#ffbce980,transparent 65%)}.visual-1 svg{color:var(--magenta);transform:rotate(12deg)}.visual-2{background:radial-gradient(ellipse at 50% 100%,#d3f88d80,transparent 65%)}.visual-2 svg{color:#698e0d}.service-card:hover svg{transform:rotate(0deg) translateY(-12px) scale(1.12)}.visual-ring{position:absolute;width:250px;height:200px;border:1px solid #00a2c344;border-radius:50%;transform:rotateX(50deg)}.visual-grid{position:absolute;inset:0;background-image:linear-gradient(#5b95b11b 1px,transparent 1px),linear-gradient(90deg,#5b95b11b 1px,transparent 1px);background-size:30px 30px}.service-visual>span{position:absolute;left:25px;bottom:18px;font:11px monospace}.service-body,.case-body{padding:32px}.service-body h3{font-size:27px;letter-spacing:-.035em;overflow-wrap:anywhere}.service-body h3 small{display:block;font:13px/1.6 var(--font);margin:10px 0 20px;color:var(--muted)}.service-body a{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:27px;font-size:13px;font-weight:700;color:var(--cyan)}.service-body a span{font-size:24px}.pricing{background:#f7fbfd;color:var(--ink);border-block:1px solid var(--line)}.price-panel{margin-bottom:32px;background:white;border:1px solid #bacbd7;border-top:3px solid var(--ink);border-radius:0 0 10px 10px;overflow:hidden}.price-panel:last-child{margin-bottom:0}.price-heading{display:flex;align-items:center;gap:22px;padding:28px 32px;border-bottom:1px solid var(--line)}.price-heading>span{font:11px monospace;align-self:flex-start;padding-top:5px;color:var(--cyan)}.price-heading h3{flex:1;font-size:26px;letter-spacing:-.02em}.price-heading h3 small{display:block;font:13px/1.7 var(--font);margin-top:5px;color:var(--muted)}.price-heading svg{width:33px;height:36px;color:var(--cyan)}.table-wrap{padding:0 32px}table{border-collapse:collapse;width:100%;text-align:left;table-layout:fixed}th,td{padding:23px 16px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}th:first-child,td:first-child{padding-left:0}th:last-child,td:last-child{text-align:right;padding-right:0}thead th{font-size:12px;font-weight:400;color:var(--muted)}tbody th{font-size:26px;font-weight:700;width:22%}.price{font-size:25px;font-weight:700;white-space:nowrap}.price-notes{padding:23px 32px;background:#f2f8fb}.price-notes p{font-size:12px;color:var(--muted)}.price-notes p+p{margin-top:10px}.construction-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:30px 32px}.construction-grid h4{font-size:23px;margin-bottom:13px}.construction-grid p{font-size:14px;color:var(--muted)}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.case-art{height:220px;overflow:hidden;border-bottom:1px solid var(--line);background:#e7f7ff}.case-art img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.case-card:hover .case-art img{transform:scale(1.08)}.case-body .eyebrow{font-size:11px;margin-bottom:15px;letter-spacing:.03em}.case-body h3{font-size:28px;margin-bottom:22px}.case-body p+p{margin-top:18px}.case-example{border-top:1px solid var(--line);padding-top:20px}.flow{background:#f7fbfdeb}.flow-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.flow-list li{border-top:1px solid var(--line);padding-top:24px;position:relative}.flow-list li>span{font:14px monospace;color:var(--magenta)}.flow-list h3{font-size:24px;margin:23px 0 14px}.flow-list li:not(:last-child):after{content:'↗';position:absolute;right:0;top:15px;font-size:25px;color:var(--cyan)}.history{display:grid;grid-template-columns:35% 1fr;gap:8%;background:#e4f1f9}.history h2{font-size:40px}.timeline{border-left:1px solid #8eafc2}.timeline-note{margin:0 0 35px 30px;color:var(--muted);font-size:13px}.timeline-item{display:grid;grid-template-columns:75px 1fr;gap:25px;padding:0 0 35px 30px;position:relative}.timeline-item:before{content:"";position:absolute;left:-4px;top:10px;width:7px;height:7px;background:var(--magenta);border-radius:50%}.timeline-item>span{font-size:24px;line-height:1.5;font-weight:700;color:var(--cyan)}.timeline-item p{font-size:13px;color:var(--muted)}.faq{background:#f7fbfdec}.faq-list{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:28px;padding:27px 0;font-size:18px;font-weight:700}.faq summary::-webkit-details-marker{display:none}.q-number{font:12px monospace;color:var(--cyan);flex-shrink:0}.plus{margin-left:auto;width:18px;height:18px;position:relative;flex-shrink:0}.plus:before,.plus:after{content:"";position:absolute;top:8px;width:18px;height:1px;background:var(--ink)}.plus:after{transform:rotate(90deg)}details[open] .plus:after{transform:rotate(0)}.faq-answer{padding:0 55px 30px 60px;color:var(--muted);font-size:14px}.contact{display:grid;grid-template-columns:35% 1fr;gap:8%;background:linear-gradient(125deg,#d6f7ff,#f4e4f7);border-block:1px solid var(--line)}.contact h2{font-size:43px}.contact-intro>p{font-size:14px;color:var(--muted)}.contact-arrow{display:block;font-size:140px;line-height:1.4;color:var(--cyan)}.contact-direct{display:inline-block;border-bottom:1px solid var(--ink);font-size:13px;margin-top:25px}.contact-form{height:860px;background:white;border:1px solid #a9c6d6;border-radius:10px;overflow:hidden}.contact-form iframe{width:100%;height:100%;border:0}.site-footer{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;padding:55px 6% 110px;background:#f7fbff}.site-footer p{font-size:11px;color:var(--muted);margin-top:27px}.footer-links{display:flex;gap:28px;font-size:12px;padding-top:10px}.privacy-page{background:#f2f8fc}.privacy-main{max-width:1060px;margin:auto;min-height:80vh}.privacy-main>h1{font-size:40px;margin-bottom:60px}.privacy-main h2{font-size:24px;margin:38px 0 14px}.privacy-main p,.privacy-main li{font-size:14px;color:var(--muted)}.privacy-main a{text-decoration:underline}.pending{font:9px var(--font);margin-left:5px;color:var(--muted)}
.pointer-effects{position:fixed;inset:0;z-index:30;pointer-events:none;overflow:hidden;contain:strict}.pointer-spark{position:absolute;width:9px;height:9px;background:var(--spark);box-shadow:0 0 14px var(--spark);border-radius:50%;animation:spark .65s ease-out forwards}.pointer-wave{position:absolute;border:2px solid #e02c91;border-radius:50%;width:50px;height:50px;box-shadow:0 0 20px #00c3ff55;animation:wave .75s ease-out forwards}.reveal.is-visible{animation:reveal .8s cubic-bezier(.2,.8,.2,1) backwards}.section-heading.is-visible{animation:none}.section-heading.is-visible h2{animation:heading-pop 1s cubic-bezier(.15,.85,.2,1) both}.solution .section-heading.is-visible h2{animation:heading-flip 1.1s cubic-bezier(.2,.9,.2,1) both}.features .section-heading.is-visible h2{animation:hero-bounce 1.15s both}.services .is-visible .heading-glyph{animation:reassemble .9s cubic-bezier(.15,.8,.2,1) both;animation-delay:calc(var(--glyph) * 45ms)}.cases .is-visible .heading-glyph{animation:fan-in .95s cubic-bezier(.15,.8,.2,1) both;animation-delay:calc(var(--glyph) * 70ms)}.services .section-heading.is-visible h2,.cases .section-heading.is-visible h2{animation:none}.pricing .section-heading.is-visible h2,.faq .section-heading.is-visible h2{animation:reveal .6s both}
@keyframes hero-in{from{opacity:0;transform:perspective(900px) translateZ(-650px) rotateY(18deg) translateX(-40px)}to{opacity:1;transform:none}}@keyframes hero-bounce{0%{opacity:0;transform:translateY(65px) scale(.7)}55%{opacity:1;transform:translateY(-15px) scale(1.04)}78%{transform:translateY(6px) scale(.99)}100%{transform:none}}@keyframes heading-pop{from{opacity:0;transform:perspective(900px) translateZ(-450px) rotateX(24deg)}to{opacity:1;transform:none}}@keyframes heading-flip{from{opacity:0;transform:rotateY(-80deg) translateX(-70px)}to{opacity:1;transform:none}}@keyframes reassemble{from{opacity:0;transform:translate(calc((var(--glyph) - 2) * 35px),-60px) rotate(35deg) scale(.3)}to{opacity:1;transform:none}}@keyframes fan-in{from{opacity:0;transform:rotate(-45deg) translateY(70px) scale(.5)}to{opacity:1;transform:none}}@keyframes reveal{from{opacity:.3;transform:translateY(30px)}to{opacity:1;transform:none}}@keyframes status{50%{box-shadow:0 0 0 7px #00bcdf10}}@keyframes signal{to{background-position:200% 0}}@keyframes slot-spin{from{transform:translateY(-21.85em)}to{transform:translateY(calc(var(--digit) * -1.15em))}}@keyframes spark{from{opacity:.9;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.1)}}@keyframes wave{from{opacity:.75;transform:translate(-50%,-50%) scale(.2)}to{opacity:0;transform:translate(-50%,-50%) scale(4)}}
@media(min-width:1600px){.section{padding-inline:max(6%,calc((100vw - 1400px)/2))}.showcase{margin-inline:calc(-1 * max(6.82vw, (100vw - 1400px)/2))}}
@media(max-width:1100px){.site-header{gap:20px}.site-header nav{gap:14px}.site-header nav a{font-size:11px}.header-cta{padding:10px 13px}.hero-title{font-size:7.5vw}.hero-copy>p{max-width:340px}.hero-actions{gap:10px}.button{padding:14px 17px;gap:20px}.solution-grid{grid-template-columns:repeat(2,1fr)}.problem-grid{gap:22px}.problem h3{font-size:18px}.service-body h3{font-size:24px}.history h2{font-size:34px}.contact h2{font-size:36px}.price{font-size:22px}}
@media(max-width:900px){.site-header{height:80px}.site-header nav{display:none;position:absolute;left:0;right:0;top:79px;background:#f5fbff;border-bottom:1px solid var(--line);padding:24px 6%;grid-template-columns:1fr 1fr;gap:22px}.site-header nav.is-open{display:grid}.site-header nav a{font-size:14px}.header-cta{margin-left:auto}.menu-button{display:flex;flex-direction:column;gap:6px;padding:10px 0 10px 10px;border:0;background:none}.menu-button span{width:23px;height:2px;background:var(--ink)}.hero{min-height:720px}.hero-copy{margin-top:70px}.hero-title{font-size:8vw}.hero-art{left:45%;top:160px;bottom:115px}.hero-copy>p{font-size:13px}.section{padding:75px 6%}.problem-grid{grid-template-columns:1fr 1fr;gap:35px}.features-layout{grid-template-columns:28% 72%}.feature-list{padding:10px 24px}.feature h3{font-size:22px}.service-body,.case-body{padding:25px}.service-body h3{font-size:21px}.case-body h3{font-size:24px}.history{grid-template-columns:1fr;gap:12px}.history h2{font-size:38px}.contact{grid-template-columns:1fr;gap:30px}.contact-arrow{display:none}.contact-direct{margin-top:20px}.contact-form{height:930px}.footer-links{display:grid;gap:15px}.flow-list{gap:24px}.flow-list h3{font-size:20px}}
@media(max-width:540px){body{font-size:14px}.site-header{height:72px;padding:0 5%;gap:13px}.brand{font-size:23px}.brand>span:not(.brand-icon){font-size:17px}.brand-icon{margin-right:9px;gap:2px}.brand-icon i{width:4px;height:20px}.brand-icon i:nth-child(2){height:25px}.brand-icon i:nth-child(3){height:30px}.header-cta{font-size:10px;padding:9px}.header-cta span{margin-left:6px}.menu-button{padding-left:3px}.menu-button span{width:20px}.site-header nav{top:71px}.hero{height:auto;min-height:930px;padding:25px 6% 0}.hero-topline{font-size:9px;letter-spacing:.04em}.hero-copy{max-width:none;margin-top:36px}.hero-title{font-size:clamp(52px,15.5vw,82px);line-height:1.16;letter-spacing:-.07em}.hero-copy>p{font-size:13px;line-height:1.9;margin:22px 0;max-width:330px}.hero-actions{gap:10px}.button{font-size:12px;gap:17px;padding:13px 16px}.hero-art{left:0;right:0;top:505px;bottom:100px}.tag-top{top:6%;left:7%;font-size:9px;padding:7px 11px}.tag-bottom{right:7%;bottom:6%;font-size:9px;padding:7px 11px}.hero-bottom{left:6%;right:6%;bottom:22px;padding-top:17px}.motion-toggle{font-size:9px;gap:9px;padding:7px 10px}.scroll-link{font-size:10px}.stats-band{padding:25px 6%;gap:20px 16px;grid-template-columns:1fr 1fr}.stats-band>div{padding-left:12px}.stats-band strong{font-size:37px}.stats-band p{font-size:10px}.stats-band>div:last-child{grid-column:1/-1;border-left:0;border-top:1px solid #ffffff36;padding:18px 0 0;flex-direction:row;justify-content:space-between;align-items:center}.stats-band>div:last-child strong{font-size:38px}.section{padding:65px 6%}.section-heading{margin-bottom:32px}.section-heading h2{font-size:38px}.eyebrow{font-size:10px;margin-bottom:17px}.eyebrow>span{width:25px;height:25px}.problem-grid{gap:30px 22px}.problem{padding-top:22px}.problem svg{width:31px;height:34px;margin-bottom:22px}.problem .card-number{top:23px}.problem h3{font-size:17px;letter-spacing:-.05em}.problem p{font-size:12px}.problem-answer{font-size:19px;line-height:1.8;padding-top:23px;margin-top:30px;gap:15px}.problem-answer>span{font-size:32px}.mobile-only{display:block}.showcase{height:145svh;min-height:850px;margin-bottom:32px}.space-stage{min-height:500px}.space-stage>img{width:100%;height:85%}.stage-label{font-size:10px;bottom:9%;right:12%}.stage-track{bottom:6%;right:12%}.solution-grid,.services-grid,.case-grid{grid-template-columns:1fr;gap:18px}.solution-card{padding:26px}.solution-card .card-number{position:absolute;right:26px;top:29px}.solution-card svg{margin:2px 0 24px}.solution-card h3{font-size:24px}.solution-card p,.feature p,.service-body p,.case-body p,.flow-list p{font-size:13px}.features-layout{display:block}.feature-art{display:none}.feature-list{padding:5px 23px}.feature{gap:15px;padding:25px 0}.feature h3{font-size:21px}.feature-num{font-size:10px}.service-visual{height:185px}.service-body h3{font-size:24px}.service-body h3 small{font-size:12px}.price-heading{padding:23px 18px;gap:12px}.price-heading h3{font-size:21px;overflow-wrap:anywhere}.price-heading h3 small{font-size:12px}.price-heading svg{display:none}.table-wrap{padding:0 18px}th,td{padding:18px 6px;font-size:11px;line-height:1.7}thead th{font-size:11px}tbody th{font-size:19px}.price{font-size:16px;letter-spacing:-.05em}.price-notes{padding:20px 18px}.price-notes p{font-size:12px;overflow-wrap:anywhere}.construction-grid{grid-template-columns:1fr;padding:24px 20px;gap:25px}.construction-grid>div+div{border-top:1px solid var(--line);padding-top:25px}.construction-grid p{font-size:13px}.case-art{height:180px}.case-body h3{font-size:25px}.flow-list{grid-template-columns:1fr;gap:28px}.flow-list li{display:grid;grid-template-columns:25px 1fr;column-gap:18px}.flow-list li>span{font-size:12px;padding-top:8px}.flow-list h3{margin:0 0 13px;font-size:22px}.flow-list p{grid-column:2}.flow-list li:not(:last-child):after{display:none}.history h2{font-size:32px}.timeline-note{margin-left:23px;font-size:12px}.timeline-item{grid-template-columns:55px 1fr;gap:15px;padding-left:23px}.timeline-item>span{font-size:21px}.timeline-item p{font-size:12px}.faq summary{gap:14px;font-size:14px;line-height:1.8;padding-block:23px}.q-number{font-size:10px}.faq-answer{padding:0 7px 25px 44px;font-size:13px}.plus{width:15px}.plus:before,.plus:after{width:15px}.contact h2{font-size:34px}.contact-form{height:980px}.site-footer{flex-direction:column;padding:40px 6% 120px;gap:25px}.site-footer p{font-size:10px}.footer-links{display:flex;gap:24px;font-size:11px}.privacy-main>h1{font-size:29px;margin-bottom:45px}.privacy-main h2{font-size:21px}.privacy-main p,.privacy-main li{font-size:13px}}
.motion-paused{scroll-behavior:auto}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation:none!important;transition:none!important}.motion-paused #scene{visibility:hidden}.motion-paused .showcase{height:auto;min-height:0}.motion-paused .space-stage{position:relative;height:65svh;min-height:350px}.motion-paused .container-fallback,.motion-paused .space-stage>img{visibility:visible}.motion-paused .pointer-effects{display:none}.motion-paused .magnetic,.motion-paused .tilt-card,.motion-paused .glow-card,.motion-paused .service-visual svg,.motion-paused .solution-card svg,.motion-paused .case-art img{transform:none!important}.motion-paused .glow-card:before,.motion-paused .tilt-card:before{display:none}.motion-paused .solution-card:hover .signal-line{width:65px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}#scene,.pointer-effects{visibility:hidden}.showcase{height:auto;min-height:0}.space-stage{position:relative;height:65svh;min-height:350px}.container-fallback,.space-stage>img{visibility:visible!important}.magnetic,.tilt-card,.glow-card,.service-visual svg,.solution-card svg,.case-art img{transform:none!important}.glow-card:before,.tilt-card:before{display:none}.solution-card:hover .signal-line{width:65px}}

/* Opt-in sound and the compute playground retained from the third edition. */
[hidden]{display:none!important}
.sound-toggle{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));z-index:45;min-height:44px;padding:9px 16px;border:1px solid #88aabf;border-radius:24px;background:#f6fcff;color:var(--ink);box-shadow:0 4px 20px #244d6920;font-size:12px;font-weight:700}
.sound-toggle[aria-pressed=true]{background:var(--lime);border-color:#769b1a}
.compute-experience{margin:0 0 42px;border:1px solid #8eb5cc;border-radius:12px;background:#f7fcff;overflow:hidden;box-shadow:8px 8px 0 #79cee922}
.compute-experience>summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 30px;cursor:pointer;font-size:20px;font-weight:700;list-style:none}
.compute-experience>summary::-webkit-details-marker{display:none}.compute-experience>summary span{font-size:12px;color:var(--cyan)}
.compute-experience[open]>summary{border-bottom:1px solid var(--line)}
.compute-play{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:30px}
.compute-controls,.compute-result{min-width:0}.compute-instruction{font-size:12px;color:var(--muted);margin-bottom:18px}
.compute-button{display:block;width:100%;padding:18px 22px;background:#e4f4fc;border:1px solid #80afca;border-radius:8px;text-align:left;touch-action:pan-y;user-select:none;-webkit-touch-callout:none}
.compute-button:hover{border-color:var(--cyan);background:#d8f4fb}.compute-button[aria-disabled=true]{border-color:#83ab21;background:#eef8d2;cursor:default}
.compute-button>span:last-child{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700;margin-top:18px}
.compute-board{position:relative;display:flex;align-items:center;justify-content:space-evenly;gap:16px;padding:20px 18px;border:6px solid #7199b9;border-radius:6px;background:repeating-linear-gradient(0deg,#173e60 0 8px,#244d70 8px 9px);box-shadow:5px 5px 0 #81a7c5;min-height:114px}
.compute-board>b{position:absolute;right:6px;bottom:1px;font:9px monospace;color:#caff49;letter-spacing:.2em}
.compute-fan{position:relative;display:block;flex:0 1 72px;aspect-ratio:1;border:4px solid #a2d4eb;border-radius:50%;background:repeating-conic-gradient(#a8d9ed 0deg 30deg,#204e71 32deg 90deg);animation:compute-spin 1s linear infinite;animation-play-state:paused}
.compute-fan:after{content:"";position:absolute;inset:36%;border-radius:50%;background:#caff49;border:3px solid #356281}
.compute-play.is-computing .compute-fan{animation-play-state:running}
.compute-metrics{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;margin-top:18px;font-variant-numeric:tabular-nums}
.compute-metrics output{font-weight:700}.compute-controls progress{display:block;width:100%;height:7px;margin-top:12px;accent-color:#0088ac;border:0;border-radius:8px;overflow:hidden;background:#d5e8f2}
.compute-controls progress::-webkit-progress-bar{background:#d5e8f2}.compute-controls progress::-webkit-progress-value{background:#0088ac}.compute-controls progress::-moz-progress-bar{background:#0088ac}
.compute-result{display:flex;flex-direction:column;justify-content:flex-end}
.compute-city{height:222px;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(3,1fr);align-items:end;gap:8px;padding:28px 14px 12px;background:linear-gradient(#eff9ff,#dceffa);border-bottom:2px solid #7bb1cb;perspective:600px;overflow:hidden}
.compute-city i{display:block;height:var(--height);max-height:100%;transform:scaleY(.08);transform-origin:bottom;opacity:.3;border-top:3px solid #85b9d1;background:repeating-linear-gradient(0deg,#b3d7e8 0 9px,#e9f7ff 10px 13px);box-shadow:5px -4px 0 #80b5d0;transition:transform .45s cubic-bezier(.2,1.4,.3,1),opacity .35s}
.compute-city i.is-built{transform:scaleY(1);opacity:1;border-color:#c1df44;background:repeating-linear-gradient(0deg,#1e6b96 0 9px,#6fe1f0 10px 13px)}
.compute-city i:nth-child(3n).is-built{border-color:#ed74ba;background:repeating-linear-gradient(0deg,#6d80a7 0 9px,#edacd3 10px 13px)}
.compute-reset{border:1px solid #90b3c8;border-radius:4px;background:white;padding:8px 16px;min-height:44px;font-size:12px}
.compute-status{min-height:28px;margin-top:10px;font-size:12px;color:var(--cyan)}
@keyframes compute-spin{to{transform:rotate(360deg)}}
@media(max-width:540px){.compute-experience>summary{padding:18px;font-size:17px;gap:10px}.compute-experience>summary span{font-size:10px}.compute-play{grid-template-columns:1fr;padding:20px;gap:24px}.compute-board{min-height:108px}.compute-city{height:190px;gap:7px}.compute-instruction{font-size:11px}.sound-toggle{font-size:11px;padding-inline:13px}}
.motion-paused .compute-fan{animation:none!important}
@media(prefers-reduced-motion:reduce){.compute-fan{animation:none!important}.compute-city i{transition:none!important}}

/* Fourth edition: scale changes stay behind the existing reading surfaces. */
html{scroll-behavior:auto}
.showcase[data-scale="1"]{height:240svh}
.showcase[data-scale="5"]{height:270svh}
.section-heading{width:fit-content;max-width:100%;padding:14px 20px;border-radius:12px;background:#f5fbffe6}
.motion-paused .showcase{height:auto}
@media(prefers-reduced-motion:reduce){.showcase[data-scale]{height:auto}}

/* The GPU is a direct, reachable exhibit rather than just a background. */
.showcase[data-scene="gpu"] .space-stage>img{width:100%;height:96%;max-width:1280px}
.core-guide{position:absolute;z-index:3;left:50%;bottom:13%;transform:translateX(-50%);max-width:calc(100% - 32px);min-height:44px;padding:10px 18px;border:1px solid #609bb6;border-radius:24px;background:#f7fdffea;box-shadow:0 5px 20px #1681ac2b;color:var(--ink);font-size:12px;font-weight:700;white-space:nowrap;backdrop-filter:blur(10px);pointer-events:auto}
.core-guide:hover,.core-guide[aria-pressed="true"]{border-color:#72991d;background:#effbd0}.core-guide:after{content:"";display:inline-block;width:7px;height:7px;margin-left:10px;border-radius:50%;background:var(--magenta);box-shadow:0 0 0 4px #ef4ca322;animation:status 1.5s ease-in-out infinite}
@media(max-width:540px){.showcase[data-scene="gpu"] .space-stage>img{width:112%;max-width:none;height:94%;margin-left:-6%}.core-guide{bottom:12%;font-size:11px;padding:9px 13px;white-space:normal;text-align:center;line-height:1.55}}
@media(prefers-reduced-motion:reduce){.core-guide:after{animation:none}}

/* お問い合わせは会社サイトのフォームへ案内する */
.contact-form.contact-link{height:auto;display:flex;align-items:center;justify-content:flex-start;background:none;border:0;border-radius:0;overflow:visible}.contact-link .contact-direct{display:inline-flex;gap:16px;align-items:center;margin:0;padding:20px 34px;font-size:17px;font-weight:700;background:var(--lime);border:1px solid var(--ink);border-radius:6px;box-shadow:0 10px 30px #0e2a3a26}@media(max-width:900px){.contact-form.contact-link{justify-content:stretch}.contact-link .contact-direct{width:100%;justify-content:center}}

/* v4.2: reserve one side for the persistent 3D world and let reading planes breathe. */
.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 8%}.service-card:nth-child(1){grid-column:2;grid-row:1}.service-card:nth-child(2){grid-column:1;grid-row:2}.service-card:nth-child(3){grid-column:2;grid-row:3}.service-card:nth-child(4){grid-column:1;grid-row:4}
.pricing,.flow,.faq,.contact{background:transparent}.pricing-stack{width:min(76%,980px);margin-left:auto}.price-panel{background:#ffffffc9;backdrop-filter:blur(10px);box-shadow:0 14px 36px #1b64821c}.price-notes{background:#f2f8fbd9}.flow-list{width:min(74%,980px);margin-left:auto;padding:28px 32px;border:1px solid #ffffffa8;border-radius:12px;background:#f7fcffd1;backdrop-filter:blur(10px);box-shadow:0 12px 35px #1b648214}.faq-list{width:min(74%,980px);margin-left:auto;padding:0 28px;border:1px solid #ffffffa8;border-radius:12px;background:#f7fcffd1;backdrop-filter:blur(10px);box-shadow:0 12px 35px #1b648214}.contact{background:#f3fbff99;backdrop-filter:blur(7px)}.contact-form{height:760px;max-width:820px;background:#ffffffbd;backdrop-filter:blur(10px);box-shadow:0 15px 42px #1b648221}
.experience{min-height:660px;padding-top:120px;padding-bottom:120px}.experience .section-heading{background:#f5fbffcc}.compute-experience{max-width:920px;margin-left:auto;background:#f7fcffcf;backdrop-filter:blur(12px)}.compute-meter{height:222px;display:grid;grid-template-columns:repeat(4,1fr);align-content:end;gap:12px;padding:22px 16px 16px;border-bottom:2px solid #7bb1cb;background:linear-gradient(#eff9ffc9,#dceffacc);overflow:hidden}.compute-meter i{position:relative;display:block;height:68px;border:2px solid #7199b9;border-radius:4px;background:repeating-linear-gradient(0deg,#173e60 0 8px,#244d70 8px 9px);box-shadow:5px 5px 0 #81a7c5;opacity:.28;transform:translateY(22px) scale(.86);transition:transform .45s cubic-bezier(.2,1.4,.3,1),opacity .35s,filter .35s}.compute-meter i:before{content:"";position:absolute;inset:12px 10px;background:radial-gradient(circle,#caff49 0 3px,transparent 4px) 0 0/16px 16px}.compute-meter b{position:absolute;left:7px;bottom:3px;font:9px monospace;color:#caff49;letter-spacing:.12em}.compute-meter i.is-active{opacity:1;transform:none;filter:drop-shadow(0 0 9px #00c9f0)}.compute-meter i.is-active:nth-child(3n){filter:drop-shadow(0 0 9px #ee55ad)}
@media(max-width:540px){.services-grid{display:grid;grid-template-columns:1fr;gap:18px}.service-card:nth-child(n){grid-column:auto;grid-row:auto}.pricing-stack,.flow-list,.faq-list{width:100%;margin-left:0}.flow-list{padding:22px}.faq-list{padding-inline:18px}.contact-form{height:760px}.experience{min-height:0;padding-top:76px;padding-bottom:76px}.compute-experience{margin-left:0}.compute-meter{height:174px;grid-template-columns:repeat(4,1fr);gap:9px;padding:16px 10px 12px}.compute-meter i{height:52px;box-shadow:3px 3px 0 #81a7c5}}

/* GPU experience v4.3: the containers are both the control and the meter. */
.experience{min-height:100svh;padding:42px 4% 28px;pointer-events:none}.experience .section-heading{max-width:310px;margin:0}.experience .section-heading h2{font-size:clamp(27px,3vw,40px)}.compute-experience{position:sticky;top:calc(100svh - 218px);width:min(530px,46vw);margin:0;background:#f7fcffdf;border:1px solid #80a8bf;border-radius:8px;box-shadow:7px 9px 0 #2b6d9130;backdrop-filter:blur(12px);padding:13px 15px 10px;pointer-events:auto}.compute-instruction{margin:0 0 8px;font-size:11px;line-height:1.55;color:var(--muted)}.compute-line{display:flex;align-items:flex-end;gap:7px;min-width:0}.compute-button{display:grid;gap:3px;flex:0 0 72px;padding:0;border:0;background:none;text-align:center;font-size:10px;font-weight:700}.compute-button[aria-disabled=true]{opacity:.55;cursor:default}.compute-container,.compute-meter i{position:relative;display:block;width:66px;height:42px;border:2px solid #638da9;border-radius:3px;background:repeating-linear-gradient(90deg,#1a496c 0 9px,#285c7d 10px 11px);box-shadow:3px 4px 0 #8cafc6;overflow:hidden}.compute-container:before,.compute-meter i:before{content:"";position:absolute;inset:6px 5px;background:repeating-linear-gradient(0deg,#b4e0ee 0 2px,transparent 3px 7px);opacity:.8}.compute-container:after,.compute-meter i:after{content:"";position:absolute;left:5px;right:5px;top:5px;height:2px;background:var(--lime);box-shadow:0 29px 0 var(--lime)}.compute-container i{position:absolute;top:15px;width:5px;height:5px;border-radius:50%;background:#ff7fc5;box-shadow:0 0 7px #ff7fc5;z-index:1}.compute-container i:first-child{left:14px}.compute-container i:nth-child(2){left:25px;background:var(--lime);box-shadow:0 0 7px var(--lime)}.compute-container b{position:absolute;right:8px;top:12px;z-index:1;font:9px monospace;color:white}.compute-button:active .compute-container{transform:translate(2px,3px);box-shadow:1px 1px 0 #8cafc6}.compute-meter{display:flex;align-items:flex-end;gap:6px;min-width:0;height:auto;padding:0;border:0;background:none;overflow:hidden}.compute-meter i{display:none;flex:0 0 48px;width:48px;height:31px;opacity:0;transform:translateX(-12px) scale(.8);transition:transform .32s cubic-bezier(.2,1.45,.3,1),opacity .2s}.compute-meter i b{position:absolute;right:4px;bottom:3px;z-index:1;font:7px monospace;color:var(--lime)}.compute-meter i.is-active{display:block;opacity:1;transform:none;filter:drop-shadow(0 0 7px #00c9f0)}.compute-meter i:nth-child(3n).is-active{filter:drop-shadow(0 0 7px #ee55ad)}.compute-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font:11px monospace;color:var(--cyan)}.compute-reset{border:1px solid #90b3c8;border-radius:4px;background:white;padding:4px 10px;font-size:11px}.compute-status{min-height:0;margin:5px 0 0;font-size:11px;color:var(--cyan)}.motion-paused .compute-meter i{transition:none!important}
@media(max-width:540px){.experience{min-height:100svh;padding:28px 14px 18px}.experience .section-heading{max-width:220px}.compute-experience{top:calc(100svh - 194px);width:100%;padding:10px 11px 8px}.compute-line{gap:5px}.compute-button{flex-basis:61px}.compute-container{width:57px;height:36px}.compute-container:after{box-shadow:0 23px 0 var(--lime)}.compute-container i{top:13px}.compute-container b{top:10px}.compute-meter{gap:4px}.compute-meter i{flex-basis:calc((100vw - 140px) / 8);width:calc((100vw - 140px) / 8);height:27px;box-shadow:2px 3px 0 #8cafc6}.compute-meter i:before{inset:5px 3px}.compute-meter i:after{left:3px;right:3px;top:4px;box-shadow:0 18px 0 var(--lime)}.compute-meter i b{display:none}.compute-instruction{font-size:10px;margin-bottom:5px}}
@media(prefers-reduced-motion:reduce){.compute-meter i{transition:none!important}}
/* GPU 体験：増えたコンテナの列は、面の幅に収まるように縮める（スマホで 8 基目が切れていた） */
.compute-line .compute-meter{display:flex;flex:1 1 auto;min-width:0;gap:4px;height:auto;padding:0;border:0;background:none;overflow:visible}
.compute-line .compute-meter i{flex:1 1 0;min-width:0;max-width:48px}
/* スマホ：左下の音のボタンに完成の文が隠れないよう、面の下に余白をとる */
@media(max-width:540px){.compute-experience .compute-status{padding-left:96px;min-height:44px}}
/* GPU 体験：押すコンテナと、増えていくコンテナ（メーター）を「仕組み」の 3D のコンテナと同じ見た目に（施主 2026-10-08）。
   明るい水色の箱に白い縦の波板、下にライムの線。メーターは街に足すものの数（46）だけ並び、折り返す */
.compute-container,.compute-meter i{border:1px solid #8fb7d3;border-radius:2px;background:#b5d9f3 repeating-linear-gradient(90deg,transparent 0 6px,#f2fcff 6px 8px);box-shadow:2px 3px 0 #8cafc677;overflow:hidden}
.compute-container:before,.compute-meter i:before{content:none}
.compute-container:after,.compute-meter i:after{content:"";position:absolute;left:0;right:0;top:auto;bottom:0;height:2px;background:var(--lime);box-shadow:none}
.compute-container{width:72px;height:48px}
.compute-container i{display:none}
.compute-container b{position:absolute;right:4px;top:2px;font:700 9px monospace;color:#1b315b}
.compute-line{align-items:center}
.compute-line .compute-meter{display:grid;grid-template-columns:repeat(auto-fill,minmax(18px,1fr));gap:4px;flex:1 1 auto}
.compute-line .compute-meter i{width:auto;max-width:none;height:auto;aspect-ratio:3/2;opacity:.18;transform:scale(.8);filter:none;box-shadow:1px 2px 0 #8cafc677}
.compute-line .compute-meter i.is-active{opacity:1;transform:none;filter:none}
.compute-line .compute-meter i.is-active:nth-child(3n){filter:none}
.compute-line .compute-meter b{display:none}
/* メーターは 10 基 × 5 行（施主 2026-10-08） */
.compute-line .compute-meter{grid-template-columns:repeat(10,minmax(0,1fr))}
/* お問い合わせフォーム（会社サイトと同じ項目）。背景が透ける半透明の面 */
.contact-panel{height:auto;display:grid;gap:16px;padding:28px;background:#f7fcffd9;border:1px solid #a9c6d6;border-radius:12px;backdrop-filter:blur(6px);overflow:visible}
.contact-panel .field{display:grid;gap:6px}
.contact-panel label{font-size:13px;font-weight:700}
.contact-panel .req{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:3px;background:#ed48a4;color:white;font-size:10px}
.contact-panel .optional{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:3px;background:#dbe8f0;color:var(--muted);font-size:10px}
.contact-panel input,.contact-panel select,.contact-panel textarea{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #9cbdd1;border-radius:6px;background:white;font:inherit;font-size:15px;color:var(--ink)}
.contact-panel input:focus,.contact-panel select:focus,.contact-panel textarea:focus{outline:2px solid #00b8dc;outline-offset:1px}
.contact-panel .consent{display:flex;align-items:center;gap:10px}.contact-panel .consent input{width:20px;height:20px}
.contact-panel .field-note{margin:0;font-size:12px;color:var(--muted)}
.contact-panel .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-panel .actions .contact-direct{border:1px solid var(--ink);background:var(--lime);border-radius:6px;padding:16px 30px;font-size:16px;font-weight:700;cursor:pointer}
.grecaptcha-badge{visibility:hidden}
.result-main{min-height:60vh}
/* 左下の音のボタンに、数と完成の文が隠れないように（パソコンでも） */
.compute-experience .compute-footer,.compute-experience .compute-status{padding-left:96px}
/* GPU 体験：押して遊べることを伝える（施主 2026-10-08）。大きな呼びかけ、光って脈打つコンテナ、跳ねる「ここをタップ」。一度押したら案内は消える */
.compute-call{margin:0 0 4px;font-size:clamp(18px,2.2vw,24px);font-weight:800;color:var(--ink);letter-spacing:.02em}
.compute-button{position:relative;overflow:visible}
.compute-experience:not(.is-started) .compute-button .compute-container{animation:compute-pulse 1.4s ease-in-out infinite;outline:3px solid var(--lime);outline-offset:3px}
@keyframes compute-pulse{0%,100%{box-shadow:0 0 0 0 #caff4900,2px 3px 0 #8cafc677}50%{box-shadow:0 0 0 10px #caff4966,2px 3px 0 #8cafc677}}
.compute-hint{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);white-space:nowrap;padding:5px 10px;border-radius:999px;background:var(--ink);color:var(--lime);font-size:12px;font-weight:800;pointer-events:none;animation:compute-bob 1s ease-in-out infinite}
.compute-hint:after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--ink)}
@keyframes compute-bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-5px)}}
.compute-experience.is-started .compute-hint{display:none}
.compute-experience.is-started .compute-call{font-size:clamp(15px,1.6vw,18px)}
@media(prefers-reduced-motion:reduce){.compute-experience .compute-button .compute-container,.compute-hint{animation:none}}
/* メーターの 50 枠は最初から全部見せる（増えても面の大きさが変わらず、押す位置がずれない。施主 2026-10-08）。空の枠は点線 */
.compute-line .compute-meter i{display:block;opacity:1;transform:none;background:transparent;border:1px dashed #9cbdd1;box-shadow:none}
.compute-line .compute-meter i:after{content:none}
.compute-line .compute-meter i.is-active{background:#b5d9f3 repeating-linear-gradient(90deg,transparent 0 6px,#f2fcff 6px 8px);border:1px solid #8fb7d3;box-shadow:1px 2px 0 #8cafc677;animation:compute-pop .35s cubic-bezier(.2,1.6,.3,1)}
.compute-line .compute-meter i.is-active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--lime)}
@keyframes compute-pop{from{transform:scale(.4)}to{transform:none}}
@media(prefers-reduced-motion:reduce){.compute-line .compute-meter i.is-active{animation:none}}
/* 完成の文が出ても面の高さが変わらないよう、最初から 1 行ぶん空けておく */
.compute-experience .compute-status{min-height:1.9em;margin:4px 0 0;line-height:1.9}
.compute-experience.is-started .compute-call{font-size:clamp(18px,2.2vw,24px)}
/* GPU 体験の前置き：コンテナ → GPU → AI → 街が豊かになる、の流れ（施主 2026-10-08） */
.experience-intro{position:relative;z-index:2;max-width:420px;margin:14px 0 0;padding:18px 20px;background:#f5fbffd9;border:1px solid #cfe3ee;border-radius:12px;backdrop-filter:blur(6px)}
.experience-title{margin:0 0 8px;font-size:clamp(17px,1.9vw,21px);font-weight:800;color:var(--ink)}
.experience-lead{margin:0 0 12px;font-size:13px;line-height:1.85;color:var(--muted)}
.experience-chain{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none;font-size:12px;font-weight:700}
.experience-chain li{padding:4px 10px;border-radius:999px;background:#e3f6fd;color:#0d5d7a}
.experience-chain li:not(:last-child):after{content:"→";margin-left:8px;color:#ed48a4}
.experience-chain li:last-child{background:var(--lime);color:var(--ink)}
@media(max-width:540px){.experience-intro{max-width:none;padding:14px 16px}.experience-lead{font-size:12px}}
/* GPU 体験：前置きを読んだあとは、操作の面を画面の下に留め、上に街を見せる（前置きが街に重ならないよう、節を長めにとる） */
.experience::after{content:"";display:block;height:72vh}
.experience .compute-experience{position:sticky;top:calc(100svh - 350px);z-index:3}
@media(max-width:540px){.experience::after{height:60vh}.experience .compute-experience{top:calc(100svh - 280px)}}
/* ヘッダーを画面の上に固定する（施主 2026-10-08）。ページ内リンクで飛んだ先の見出しがヘッダーに隠れないよう、余白もヘッダーの高さに合わせる */
.site-header{position:sticky;top:0;z-index:40}
html{scroll-padding-top:104px}
@media(max-width:900px){html{scroll-padding-top:90px}}
@media(max-width:540px){html{scroll-padding-top:82px}}
