:root{--bg:#05070d;--bg-2:#0a0f1c;--surface:#ffffff0a;--surface-2:#ffffff12;--border:#ffffff1a;--border-strong:#ffffff2e;--text:#e8ecf5;--text-sub:#a3adc2;--text-dim:#6b7690;--cyan:#22d3ee;--blue:#3b82f6;--violet:#8b5cf6;--grad:linear-gradient(120deg, var(--cyan) 0%, var(--blue) 45%, var(--violet) 100%);--radius:16px;--radius-lg:24px;--max:1180px;--header-h:72px;--font-jp:"Noto Sans JP", system-ui, -apple-system, "Hiragino Sans", sans-serif;--font-en:"Space Grotesk", "Noto Sans JP", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-jp);letter-spacing:.03em;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.85;overflow-x:hidden}body:before{content:"";z-index:-2;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:64px 64px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(at 50% 0,#000 0%,#0000 75%);mask-image:radial-gradient(at 50% 0,#000 0%,#0000 75%)}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}p{margin:0 0 1em}h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.4}.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 24px}.en{font-family:var(--font-en);letter-spacing:.08em}.grad-text{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.site-header{height:var(--header-h);z-index:100;border-bottom:1px solid #0000;transition:background .3s,border-color .3s,backdrop-filter .3s;position:fixed;top:0;left:0;right:0}.site-header.is-scrolled{-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--border);background:#05070db8}.site-header .container{justify-content:space-between;align-items:center;height:100%;display:flex}.logo{font-family:var(--font-en);letter-spacing:.14em;align-items:center;gap:10px;font-size:22px;font-weight:700;display:flex}.logo svg{width:32px;height:32px}.logo small{letter-spacing:.2em;color:var(--text-dim);margin-top:2px;font-size:10px;font-weight:500;line-height:1;display:block}.nav{align-items:center;gap:36px;display:flex}.nav a{color:var(--text-sub);font-size:14px;transition:color .2s;position:relative}.nav a:hover,.nav a[aria-current=page]{color:var(--text)}.nav a[aria-current=page]:after{content:"";background:var(--grad);border-radius:2px;height:2px;position:absolute;bottom:-6px;left:0;right:0}.btn{letter-spacing:.06em;cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:14px 28px;font-family:inherit;font-size:15px;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;display:inline-flex}.btn-primary{background:var(--grad);color:#fff;box-shadow:0 8px 30px -8px #3b82f699}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 40px -8px #8b5cf6b3}.btn-ghost{border:1px solid var(--border-strong);color:var(--text);background:var(--surface)}.btn-ghost:hover{border-color:var(--cyan);background:var(--surface-2)}.btn-sm{padding:10px 20px;font-size:13px}.btn .arrow{transition:transform .2s}.btn:hover .arrow{transform:translate(4px)}.nav .btn{color:#fff}.nav .btn:after{display:none}.menu-toggle{border:1px solid var(--border-strong);width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border-radius:12px;display:none;position:relative}.menu-toggle span{background:currentColor;height:2px;transition:transform .3s,opacity .3s;position:absolute;left:12px;right:12px}.menu-toggle span:first-child{top:15px}.menu-toggle span:nth-child(2){top:21px}.menu-toggle span:nth-child(3){top:27px}.menu-open .menu-toggle span:first-child{transform:translateY(6px)rotate(45deg)}.menu-open .menu-toggle span:nth-child(2){opacity:0}.menu-open .menu-toggle span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.hero{min-height:100svh;padding:calc(var(--header-h) + 40px) 0 80px;align-items:center;display:flex;position:relative;overflow:hidden}#hero-canvas{z-index:-1;width:100%;height:100%;position:absolute;inset:0}.hero:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle,#8b5cf638 0%,#3b82f61a 35%,#0000 65%);width:900px;height:900px;position:absolute;top:-200px;right:-300px}.hero-label{border:1px solid var(--border-strong);color:var(--text-sub);background:#ffffff08;border-radius:999px;align-items:center;gap:10px;margin-bottom:28px;padding:6px 16px;font-size:12px;display:inline-flex}.hero-label .dot{background:var(--cyan);width:8px;height:8px;box-shadow:0 0 12px var(--cyan);border-radius:50%;animation:2s infinite pulse}@keyframes pulse{50%{opacity:.35}}.hero h1{letter-spacing:.02em;margin-bottom:20px;font-size:clamp(36px,6.4vw,76px);font-weight:900;line-height:1.25}.hero .hero-en{font-family:var(--font-en);letter-spacing:.3em;color:var(--text-dim);text-transform:uppercase;margin-bottom:28px;font-size:clamp(13px,1.4vw,16px)}.hero .lead{max-width:620px;color:var(--text-sub);margin-bottom:40px;font-size:clamp(15px,1.6vw,18px)}.hero-actions{flex-wrap:wrap;gap:16px;display:flex}.scroll-hint{font-family:var(--font-en);letter-spacing:.3em;color:var(--text-dim);flex-direction:column;align-items:center;gap:10px;font-size:11px;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.scroll-hint:after{content:"";background:linear-gradient(var(--cyan), transparent);transform-origin:top;width:1px;height:48px;animation:2s infinite scrollLine}@keyframes scrollLine{0%{transform:scaleY(0)}50%{transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}.section{padding:120px 0;position:relative}.section-alt{background:linear-gradient(180deg, transparent, var(--bg-2) 20%, var(--bg-2) 80%, transparent)}.section-head{margin-bottom:64px}.section-head.center{text-align:center}.eyebrow{font-family:var(--font-en);letter-spacing:.28em;text-transform:uppercase;color:var(--cyan);align-items:center;gap:12px;margin-bottom:16px;font-size:13px;font-weight:500;display:inline-flex}.eyebrow:before{content:"";background:var(--grad);width:28px;height:1px}.section-head h2{font-size:clamp(26px,3.6vw,40px);font-weight:700}.section-head p{color:var(--text-sub);max-width:640px;margin-top:20px}.section-head.center p{margin-left:auto;margin-right:auto}.service-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.service-card{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);isolation:isolate;padding:40px;transition:transform .35s,border-color .35s,background .35s;position:relative;overflow:hidden}.service-card:before{content:"";z-index:-1;background:radial-gradient(500px circle at var(--mx,50%) var(--my,0%), #22d3ee1f, transparent 45%);opacity:0;transition:opacity .35s;position:absolute;inset:0}.service-card:hover{border-color:#22d3ee59;transform:translateY(-4px)}.service-card:hover:before{opacity:1}.service-num{font-family:var(--font-en);letter-spacing:.2em;color:var(--text-dim);font-size:13px}.service-icon{background:linear-gradient(135deg,#22d3ee26,#8b5cf626);border:1px solid #ffffff1f;border-radius:14px;place-items:center;width:56px;height:56px;margin:20px 0 24px;display:grid}.service-icon svg{width:28px;height:28px;stroke:var(--cyan)}.service-card h3{margin-bottom:6px;font-size:22px}.service-card .en-sub{font-family:var(--font-en);letter-spacing:.2em;color:var(--text-dim);text-transform:uppercase;margin-bottom:18px;font-size:12px}.service-card p{color:var(--text-sub);font-size:15px}.card-link{color:var(--cyan);align-items:center;gap:8px;margin-top:8px;font-size:14px;font-weight:700;display:inline-flex}.card-link .arrow{transition:transform .2s}.card-link:hover .arrow{transform:translate(4px)}.message{grid-template-columns:1fr 1.1fr;align-items:center;gap:80px;display:grid}.message-visual{aspect-ratio:1;border-radius:var(--radius-lg);border:1px solid var(--border);background:radial-gradient(circle at 30% 30%, #22d3ee40, transparent 50%), radial-gradient(circle at 70% 70%, #8b5cf64d, transparent 50%), var(--bg-2);place-items:center;display:grid;position:relative;overflow:hidden}.message-visual svg{width:70%;height:70%}.orbit{transform-origin:200px 200px;animation:40s linear infinite spin}.orbit-rev{transform-origin:200px 200px;animation:60s linear infinite reverse spin}@keyframes spin{to{transform:rotate(360deg)}}.message h2{margin-bottom:28px;font-size:clamp(24px,3vw,34px)}.message p{color:var(--text-sub)}.values{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.value{border-top:1px solid var(--border-strong);padding:32px;position:relative}.value:before{content:"";background:var(--grad);width:48px;height:2px;position:absolute;top:-1px;left:0}.value .en{color:var(--cyan);letter-spacing:.24em;text-transform:uppercase;font-size:12px}.value h3{margin:10px 0 12px;font-size:19px}.value p{color:var(--text-sub);margin:0;font-size:15px}.store-list{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.store{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:22px 26px;transition:border-color .2s,background .2s;display:flex}.store:hover{border-color:var(--cyan);background:var(--surface-2)}.store strong{font-size:16px;display:block}.store small{color:var(--text-dim);font-size:12px}.store .ext{color:var(--cyan);font-size:18px}.cta{border:1px solid var(--border-strong);background:radial-gradient(circle at 0% 0%, #22d3ee38, transparent 45%), radial-gradient(circle at 100% 100%, #8b5cf647, transparent 50%), var(--bg-2);text-align:center;border-radius:32px;padding:80px 60px;position:relative;overflow:hidden}.cta h2{margin-bottom:16px;font-size:clamp(24px,3.4vw,38px)}.cta p{color:var(--text-sub);margin-bottom:36px}.cta-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.page-hero{padding:calc(var(--header-h) + 100px) 0 80px;position:relative;overflow:hidden}.page-hero:after{content:"";z-index:-1;background:radial-gradient(circle,#3b82f638,#0000 60%);width:700px;height:700px;position:absolute;top:-300px;right:-200px}.page-hero h1{font-size:clamp(32px,5vw,56px);font-weight:900}.page-hero .page-en{font-family:var(--font-en);letter-spacing:.3em;text-transform:uppercase;margin-bottom:14px;font-size:14px}.page-hero p{color:var(--text-sub);max-width:640px;margin-top:20px}.breadcrumb{color:var(--text-dim);margin-bottom:32px;font-size:12px}.breadcrumb a:hover{color:var(--text)}.breadcrumb span{margin:0 8px}.service-detail{border-top:1px solid var(--border);scroll-margin-top:calc(var(--header-h) + 20px);grid-template-columns:300px 1fr;gap:64px;padding:72px 0;display:grid}.service-detail:first-of-type{border-top:none}.service-detail aside .big-num{font-family:var(--font-en);margin-bottom:16px;font-size:88px;font-weight:700;line-height:1}.service-detail aside h2{margin-bottom:6px;font-size:28px}.service-detail aside .en-sub{font-family:var(--font-en);letter-spacing:.24em;color:var(--text-dim);text-transform:uppercase;font-size:12px}.service-detail .body>p{color:var(--text-sub);font-size:16px}.feature-list{grid-template-columns:repeat(2,1fr);gap:16px;margin:32px 0 0;padding:0;list-style:none;display:grid}.feature-list li{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);padding:22px 24px}.feature-list li strong{align-items:center;gap:10px;margin-bottom:6px;font-size:16px;display:flex}.feature-list li strong:before{content:"";background:var(--grad);border-radius:2px;flex-shrink:0;width:8px;height:8px}.feature-list li span{color:var(--text-sub);font-size:14px;line-height:1.7;display:block}.note{color:var(--text-dim);margin-top:24px;font-size:13px}.info-table{border-collapse:collapse;border-top:1px solid var(--border-strong);width:100%}.info-table th,.info-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:26px 8px;font-size:15px}.info-table th{width:200px;color:var(--text-sub);font-weight:500}.info-table td ul{margin:0;padding-left:1.2em}.tbd{color:#fbbf24;background:#f59e0b14;border:1px dashed #f59e0b;border-radius:6px;padding:2px 10px;font-size:13px;display:inline-block}.map-frame{border-radius:var(--radius-lg);border:1px solid var(--border);aspect-ratio:16/7;filter:grayscale()invert(.92)hue-rotate(180deg)contrast(.9);margin-top:48px;overflow:hidden}.map-frame iframe{border:0;width:100%;height:100%;display:block}.contact-grid{grid-template-columns:1fr 1.4fr;align-items:start;gap:48px;display:grid}.contact-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);padding:36px}.contact-card+.contact-card{margin-top:20px}.contact-card h3{margin-bottom:10px;font-size:18px}.contact-card p{color:var(--text-sub);margin:0;font-size:14px}.contact-card .tel{font-family:var(--font-en);letter-spacing:.06em;margin:12px 0 4px;font-size:28px;font-weight:700}.form{gap:22px;display:grid}.form-row{gap:8px;display:grid}.form label{font-size:14px;font-weight:500}.form .req{background:var(--grad);color:#fff;vertical-align:1px;border-radius:4px;margin-left:8px;padding:2px 8px;font-size:11px}.form input,.form select,.form textarea{border:1px solid var(--border-strong);width:100%;color:var(--text);font:inherit;background:#ffffff08;border-radius:12px;padding:14px 16px;font-size:16px;transition:border-color .2s,box-shadow .2s}.form select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-sub) 50%), linear-gradient(135deg, var(--text-sub) 50%, transparent 50%);background-position:calc(100% - 22px),calc(100% - 16px);background-repeat:no-repeat;background-size:6px 6px}.form select option{background:var(--bg-2)}.form textarea{resize:vertical;min-height:180px}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--cyan);outline:none;box-shadow:0 0 0 4px #22d3ee26}.form .check{color:var(--text-sub);align-items:center;gap:10px;font-size:14px;display:flex}.form .check input{width:18px;height:18px;accent-color:var(--cyan)}.form .check a{color:var(--cyan);text-decoration:underline}.form-status{border-radius:12px;padding:16px 20px;font-size:14px;display:none}.form-status.show{display:block}.form-status.warn{color:#fbbf24;background:#f59e0b14;border:1px dashed #f59e0b}.form-status.ok{color:#a5f3fc;background:#22d3ee14;border:1px solid #22d3ee80}.form-status.err{color:#fca5a5;background:#f8717114;border:1px solid #f8717180}.form button[disabled]{opacity:.6;cursor:wait;transform:none}.botcheck{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.proto-banner{color:#fbbf24;background:#f59e0b0f;border:1px dashed #f59e0b;border-radius:12px;margin-bottom:24px;padding:14px 18px;font-size:13px}.prose{max-width:820px}.prose h2{border-left:3px solid var(--cyan);margin:56px 0 16px;padding-left:16px;font-size:20px}.prose p,.prose li{color:var(--text-sub);font-size:15px}.prose ul,.prose ol{padding-left:1.4em}.prose .meta{text-align:right;color:var(--text-dim);margin-top:64px;font-size:14px}.site-footer{border-top:1px solid var(--border);background:linear-gradient(#0000,#0a0f1ce6);margin-top:40px;padding:80px 0 40px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:48px;margin-bottom:64px;display:grid}.footer-grid p{color:var(--text-sub);margin-top:20px;font-size:14px}.footer-grid h4{font-family:var(--font-en);letter-spacing:.24em;color:var(--text-dim);text-transform:uppercase;margin-bottom:18px;font-size:12px}.footer-grid ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.footer-grid ul a{color:var(--text-sub);font-size:14px;transition:color .2s}.footer-grid ul a:hover{color:var(--cyan)}.copyright{border-top:1px solid var(--border);font-family:var(--font-en);color:var(--text-dim);letter-spacing:.1em;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:28px;font-size:12px;display:flex}.reveal{opacity:0;transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:none}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}html{scroll-behavior:auto}}@media (width<=960px){.message{grid-template-columns:1fr;gap:48px}.message-visual{max-width:420px}.values,.store-list{grid-template-columns:1fr}.service-detail{grid-template-columns:1fr;gap:28px}.service-detail aside .big-num{font-size:64px}.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}@media (width<=820px){.menu-toggle{z-index:110;display:block}.nav{-webkit-backdrop-filter:blur(16px);opacity:0;pointer-events:none;background:#05070df7;flex-direction:column;justify-content:center;gap:28px;transition:opacity .3s;position:fixed;inset:0}.nav a{font-size:18px}.menu-open .nav{opacity:1;pointer-events:auto}.menu-open{overflow:hidden}.menu-open .site-header{-webkit-backdrop-filter:none}.scroll-hint{display:none}}@media (width<=640px){.container{padding:0 16px}.section{padding:88px 0}.section-head{margin-bottom:44px}.service-grid{grid-template-columns:1fr}.service-card{padding:30px 24px}.feature-list{grid-template-columns:1fr}.cta{border-radius:24px;padding:56px 24px}.info-table th,.info-table td{border:none;width:100%;padding:6px 4px;display:block}.info-table th{padding-top:20px;font-size:13px}.info-table tr{border-bottom:1px solid var(--border);padding-bottom:16px;display:block}.footer-grid{grid-template-columns:1fr}.map-frame{aspect-ratio:4/3}.contact-card{padding:26px 22px}.hero-actions .btn{flex:100%}}
