body{font-family:Noto Sans JP,sans-serif;font-size:16px;overflow-x:clip}h1,h2,h3{font-family:Noto Serif JP,serif;font-weight:600}#world{z-index:0;opacity:0;width:100vw;height:100vh;transition:opacity .8s;position:fixed;inset:0}#world.is-on{opacity:1}.backdrop{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.backdrop .ln{stroke:#1d5ca613;stroke-width:3.2px}.backdrop .hl{stroke:#ffffffe6;stroke-width:3px}.backdrop .via circle{fill:#ffffffbf;stroke:#1d5ca61f;stroke-width:3px}.backdrop .pad rect{fill:#1d5ca60f}@media (width>=901px){main{overflow-x:clip}}.poster img{z-index:0;pointer-events:none;width:auto;max-width:none;height:100vh;transition:opacity .8s;position:fixed;top:0;left:50%;transform:translate(-50%)}.poster.is-off img{opacity:0}.veil{z-index:1;pointer-events:none;background:radial-gradient(60% 75% at 22% 45%,#f6f8fae6 0%,#f6f8fa8c 45%,#f6f8fa00 75%);position:fixed;inset:0}.site-head{z-index:10;border-width:0 0 1px;border-radius:0;align-items:center;gap:36px;padding:14px 40px;display:flex;position:fixed;top:0;left:0;right:0}.site-head.glass{box-shadow:none;backdrop-filter:none;background:0 0;border:0;border-bottom:1px solid #0000;transition:background-color .4s,border-color .4s}.site-head.glass.is-scrolled{border-bottom-color:var(--line);background:#f4f7f9d1}.site-head .brand{align-items:center;gap:14px;display:flex}.site-head .brand img{width:auto;height:38px}.site-head .brand span{color:var(--sub);letter-spacing:.12em;font-size:13px}.site-head nav{gap:28px;margin-left:auto;font-size:14px;display:flex}.site-head nav a{color:var(--sub);transition:color .2s}.site-head nav a:hover{color:var(--ink)}.site-head .btn{min-height:40px;padding:0 20px;font-size:13px}main{z-index:2;position:relative}.scene{align-items:center;min-height:150vh;padding:0 40px;display:flex}.scene.right{justify-content:flex-end}.story{width:min(560px,42vw);position:relative}#business .story,#needs .story{width:min(640px,46vw)}.story:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#f6f8faf0 62%,#f6f8fab3 80%,#f6f8fa00 100%);position:absolute;inset:-70px -90px}.scene.right .story:before{inset:-120px -150px}.story .state{letter-spacing:.04em;margin:0 0 28px;font-size:clamp(32px,3.6vw,54px);line-height:1.32}.story .state.long{font-size:clamp(26px,2.5vw,38px)}.story .state .num{color:var(--blue);letter-spacing:0;vertical-align:-.08em;margin-right:.04em;font-size:2.3em;line-height:.86;display:inline-block}.story .lead{letter-spacing:.03em;font-size:17px;font-weight:500;line-height:1.85}.story .body{letter-spacing:.03em;color:var(--sub);margin-top:10px;font-size:15px;line-height:2}.story .body b{color:var(--ink);font-weight:500}.story .more{margin-top:28px;font-size:14px}.sp-short{display:none}.story .flow{grid-template-columns:repeat(4,1fr);margin-top:30px;list-style:none;display:grid;position:relative}.story .flow:before,.story .flow:after{content:"";height:1.5px;position:absolute;top:6px;left:6px;right:calc(25% - 6px)}.story .flow:before{background:var(--line-strong)}.story .flow:after{background:var(--blue);transform-origin:0;transition:transform 1.6s cubic-bezier(.5,0,.2,1) .5s;transform:scaleX(0)}.story.is-in .flow:after{transform:scaleX(1)}.story .flow li{color:var(--sub);padding-top:26px;font-size:15px;font-weight:500;line-height:1.45;transition:color .4s;position:relative}.story .flow li:before{content:"";border:1.5px solid var(--line-strong);background:var(--bg-1);border-radius:50%;width:10px;height:10px;transition:border-color .4s,background-color .4s;position:absolute;top:0;left:0}.story.is-in .flow li{color:var(--ink)}.story.is-in .flow li:before{border-color:var(--blue);background:var(--blue)}.story.is-in .flow li:first-child,.story.is-in .flow li:first-child:before{transition-delay:.5s}.story.is-in .flow li:nth-child(2),.story.is-in .flow li:nth-child(2):before{transition-delay:.95s}.story.is-in .flow li:nth-child(3),.story.is-in .flow li:nth-child(3):before{transition-delay:1.4s}.story.is-in .flow li:nth-child(4),.story.is-in .flow li:nth-child(4):before{transition-delay:1.85s}.story .num-list{margin-top:26px;list-style:none}.story .num-list li{border-top:1px solid var(--line);padding:18px 0}.story .num-list li:last-child{border-bottom:1px solid var(--line)}.story .num-list h3{letter-spacing:.04em;margin-bottom:4px;font-family:Noto Sans JP,sans-serif;font-size:18px;font-weight:500}.story .num-list p{color:var(--sub);font-size:14.5px;line-height:1.8}.story .grid4{grid-template-columns:1fr 1fr;gap:0 36px;margin-top:6px;list-style:none;display:grid}.story .grid4 li{border-top:1px solid var(--line);padding:20px 0 22px}.story .grid4 h3{letter-spacing:.04em;margin-bottom:6px;font-family:Noto Sans JP,sans-serif;font-size:18px;font-weight:500}.story .grid4 p{color:var(--sub);font-size:14px;line-height:1.8}.scrim{z-index:1;pointer-events:none;opacity:0;position:fixed;inset:0}.scrim.l{background:linear-gradient(90deg,#f6f8facc 0%,#f6f8fa99 34%,#f6f8fa00 58%)}.scrim.r{background:linear-gradient(270deg,#f6f8facc 0%,#f6f8fa99 34%,#f6f8fa00 58%)}.scene:not(.hero){padding-top:96px;padding-bottom:48px}.scene.right{padding-right:72px}.hero{min-height:100vh;padding-top:72px;position:relative}.hero .copy{max-width:820px}.hero h1{letter-spacing:.05em;font-size:clamp(25px,4.1vw,64px);line-height:1.28}.hero h1 span{white-space:nowrap;display:block}.hero p{max-width:30em;color:var(--sub);margin-top:28px}.hero .field{letter-spacing:.1em;color:var(--sub);margin:0 0 18px;font-size:14px}.hero .ctas{flex-wrap:wrap;gap:14px;margin-top:36px;display:flex}.hero .scroll{color:var(--mute);letter-spacing:.12em;font-size:12px;position:absolute;bottom:28px;left:40px}.js-reveal [data-pan] h2 .ln{clip-path:inset(0 100% 0 0);transition:clip-path .9s var(--ease);display:block}.js-reveal [data-pan].is-in h2 .ln{clip-path:inset(0)}.js-reveal [data-pan].is-in h2 .ln:nth-child(2){transition-delay:.14s}.js-reveal [data-pan].is-in h2 .ln:nth-child(3){transition-delay:.28s}.js-reveal [data-pan]>:not(h2){opacity:0;transition:opacity .9s var(--ease) .35s}.js-reveal [data-pan].is-in>:not(h2){opacity:1}.final{align-items:center;min-height:100vh;padding:88px 40px 32px;display:flex}.final-copy{max-width:760px}.final-copy .logo3d{width:84px;margin-bottom:18px}.final h2{letter-spacing:.05em;font-size:clamp(28px,3.6vw,54px);line-height:1.32}.final p{color:var(--sub);max-width:32em;margin-top:18px}.contact-row{flex-wrap:wrap;align-items:center;gap:16px 32px;margin-top:26px;display:flex}.final .tel{font-family:var(--num);font-size:24px;line-height:1.2}.final .tel small{color:var(--mute);font-family:Noto Sans JP,sans-serif;font-size:12px;display:block}.final .ctas{flex-wrap:wrap;gap:14px;display:flex}.company-info{border-top:1px solid var(--line);color:var(--sub);max-width:34em;margin-top:28px;padding-top:16px;font-size:13.5px;line-height:1.9}.final .company-info p{margin-top:0}.company-info b{color:var(--ink);font-weight:500}.company-info .nw{white-space:nowrap}.company-info .copy{color:var(--mute);margin-top:10px;font-size:12px}footer{z-index:2;color:#ffffffbf;background:#1f2a33f0;flex-wrap:wrap;gap:16px 40px;padding:40px;font-size:13px;display:flex;position:relative}footer b{color:#fff;font-weight:500}footer .copy{color:#ffffff80;margin-left:auto}body.is-opening{overflow:hidden}.opening{z-index:40;background:#060b12;transition:opacity 1.1s;position:fixed;inset:0}.opening.is-done{opacity:0}.opening video,.opening .still{object-fit:cover;object-position:62% 50%;width:100%;height:100%;position:absolute;inset:0}.opening .still{display:none}.opening.is-still .still{display:block}.opening .count{color:#eaf3f8;opacity:0;transition:opacity 1s;position:absolute;top:50%;left:clamp(40px,15vw,300px);transform:translateY(-50%)}.opening .count.is-on{opacity:1}.opening .count b{letter-spacing:.02em;font-variant-numeric:tabular-nums;text-shadow:0 0 40px #00a0e980;font-family:Noto Serif JP,serif;font-size:clamp(84px,10.5vw,180px);font-weight:600;line-height:1;display:block}.opening .count span{letter-spacing:.08em;color:#eaf3f8db;opacity:0;margin-top:18px;font-family:Noto Serif JP,serif;font-size:clamp(17px,1.7vw,26px);font-weight:600;transition:opacity .9s;display:block}.opening .count.is-read span{opacity:1}.opening.is-spread .count,.opening.is-hush .count{opacity:0;transition-duration:.8s}.opening .glow{left:var(--fx,62%);top:var(--fy,52%);pointer-events:none;opacity:0;width:260vmax;height:260vmax;transform:scale(var(--g0,.06));background:radial-gradient(circle closest-side,#f6f8fa 0%,#f4f7f9fa 30%,#e1eef7bf 42%,#b4daf259 55%,#78beeb1a 66%,#78beeb00 75%);border-radius:50%;margin:-130vmax 0 0 -130vmax;transition:opacity .5s,transform 2.6s cubic-bezier(.4,0,.2,1);position:absolute}.opening.is-spread .glow{opacity:1;transform:scale(1.5)}.opening .skip{color:#fff9;letter-spacing:.08em;cursor:pointer;background:0 0;border:0;min-height:44px;padding:0 12px;font-size:13px;transition:color .2s;position:absolute;bottom:20px;right:20px}.opening .skip:hover{color:#fff}.opening.is-spread .skip{color:#1f2a3380}.progress{z-index:9;border-radius:var(--radius);border:1px solid var(--glass-line);font-family:var(--num);color:var(--mute);background:#ffffffe0;flex-direction:column;gap:12px;padding:12px 8px;font-size:12px;transition:opacity .4s;display:flex;position:fixed;top:50%;right:16px;transform:translateY(-50%)}.progress.is-hidden{opacity:0}.progress a{color:var(--mute);padding:2px 4px;transition:color .3s;display:block;position:relative}.progress a:hover{color:var(--ink)}.progress a.is-on{color:var(--blue)}.progress a:after{content:attr(data-label);white-space:nowrap;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);opacity:0;pointer-events:none;background:#ffffffeb;padding:3px 10px;font-family:Noto Sans JP,sans-serif;font-size:12px;transition:opacity .2s;position:absolute;top:50%;right:calc(100% + 14px);transform:translateY(-50%)}.progress a:hover:after,.progress a:focus-visible:after{opacity:1}.menu-btn{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;margin-right:-10px;padding:0;display:none}.menu-btn svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;width:24px;height:24px}.menu-btn .i-close,.menu-btn[aria-expanded=true] .i-open{display:none}.menu-btn[aria-expanded=true] .i-close{display:block}.site-head nav .nav-cta{display:none}@media (width<=900px){.site-head{gap:10px;padding:12px 16px}.site-head .btn{margin-left:auto}.site-head .brand img{height:30px}.site-head .btn{white-space:nowrap;padding:0 14px}.final{padding:88px 16px 40px}.final-copy{border-radius:var(--radius);background:#f6f8fae6;margin:0 -6px;padding:22px 18px}.final-copy .logo3d{width:100px}.opening .count{top:auto;bottom:18vh;left:28px;transform:none}.menu-btn{display:inline-flex}.site-head .head-cta{display:none}.menu-btn{margin-left:auto}.site-head nav a.nav-cta{border-radius:var(--radius);background:var(--ink);color:#fff;border-bottom:0;justify-content:center;align-items:center;min-height:48px;margin-top:16px;font-size:15px;display:flex}.site-head nav{border-bottom:1px solid var(--line);background:#fffffff2;flex-direction:column;gap:0;padding:8px 16px 16px;display:none;position:absolute;top:100%;left:0;right:0}.site-head nav.is-open{display:flex}.site-head nav a{border-bottom:1px solid var(--line);color:var(--ink);padding:12px 0;font-size:15px}.scene.right{padding-right:16px}.scene{min-height:120vh;padding:0 16px}.scene.right{justify-content:flex-start}.hero .scroll,.progress{display:none}.scene.hero{align-items:flex-end;min-height:100svh;padding-bottom:24px}.pc-long,.pc-br{display:none}.hero .copy{padding:4px 2px}.veil{background:linear-gradient(#f6f8fa00 46%,#f6f8fa8c 56%,#f6f8fae6 64%,#f6f8faf5 100%);transition:opacity .3s}.scene:not(.hero){align-items:flex-end;min-height:135vh;padding:0}.story,#business .story,#needs .story{background:linear-gradient(#f6f8fa00 0,#f6f8fae6 64px,#f6f8faf7 100%);width:100%;padding:72px 22px 32px;position:sticky;bottom:0}.story .state{margin-bottom:14px;font-size:min(30px,7.6vw)}.story .state.long{font-size:min(22px,5.6vw)}.story .lead{font-size:15px}.story .body,.story .num-list p,.story .grid4 p{display:none}.story .more{margin-top:18px}.story .flow{margin-top:20px}.story .flow li{letter-spacing:0;font-size:13px}.story .num-list{margin-top:14px}.story .num-list li{padding:10px 0}.story .num-list h3,.story .grid4 h3{margin:0;font-size:15px}.story .grid4{gap:0 20px}.story .grid4 li{padding:12px 0 14px}.scrim,.story:before{display:none}.sp-short{display:block}footer{padding:28px 20px}footer .copy{margin-left:0}}
