@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.a82ecf4e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.afa48be3.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.764b43eb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.cb53f04b.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.64b9304e.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.140490a3.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.b36ae37c.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.bf5f8a12.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.10086973.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.2902b61f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_3f4b9d71-module__1IYh2q__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_3f4b9d71-module__1IYh2q__variable{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}
:root{--white:#fff;--bg:#fafafa;--ink:#1a1a1a;--muted:#666;--accent:#2563eb;--accent-hover:#1d4ed8;--line:#00000014;--shadow:0 1px 3px #0000000f;--shadow-hover:0 4px 12px #0000001a;--radius:8px;--container:960px;--dark-bg:#0e1319;--dark-bg-subtle:#161d26;--dark-text:#ebf0f5;--dark-text-muted:#9ba3ae;--dark-line:#ebf0f517;--dark-accent:#39d4a3;--shadow-premium:0 8px 32px #0000001f;--shadow-premium-dark:0 8px 32px #0006}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--white);font-family:var(--font-body),"Noto Sans JP",system-ui,sans-serif;-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.8}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}.skip-link{background:var(--ink);color:var(--white);z-index:999;border-radius:4px;padding:8px 16px;font-size:.875rem;position:absolute;top:8px;left:-999px}.skip-link:focus{left:8px}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:min(var(--container),88%);margin:0 auto}.site-header{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#ffffffeb;transition:background .4s,border-color .4s;position:sticky;top:0}.site-header.header-on-dark{border-bottom-color:var(--dark-line);background:#0f1419eb}.site-header.header-on-dark .brand{color:var(--dark-text)}.site-header.header-on-dark .brand-mark{background:var(--dark-text);color:var(--dark-bg)}.site-header.header-on-dark .nav-link{color:var(--dark-text-muted)}.site-header.header-on-dark .nav-link:hover{color:var(--dark-text)}.site-header.header-on-dark .nav-toggle-bar{background:var(--dark-text)}.header-inner{justify-content:space-between;align-items:center;padding:16px 0;display:flex}.brand{letter-spacing:.04em;align-items:center;gap:10px;font-size:1.1rem;font-weight:700;display:flex}.brand-mark{border-radius:var(--radius);background:var(--ink);width:36px;height:36px;color:var(--white);place-items:center;font-size:1rem;font-weight:700;transition:background .4s,color .4s;display:grid}.nav{align-items:center;gap:24px;display:flex}.nav-link{color:var(--muted);font-size:.9rem;font-weight:500;transition:color .2s}.nav-link:hover{color:var(--ink)}.nav-cta{background:var(--accent);color:var(--white);border-radius:999px;padding:8px 20px;font-size:.9rem;font-weight:600;transition:background .2s;display:inline-flex}.nav-cta:hover{background:var(--accent-hover);color:var(--white)}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.nav-toggle-bar{background:var(--ink);border-radius:2px;width:20px;height:2px;transition:background .4s}.hero{text-align:center;background:linear-gradient(#fff 0%,#fafafa 100%);padding:140px 0 120px}.hero-profile{background:var(--bg);border:3px solid var(--line);border-radius:50%;width:120px;height:120px;margin:0 auto 32px;overflow:hidden}.hero-profile img{object-fit:cover;width:100%;height:100%}.hero-name{letter-spacing:-.02em;margin-bottom:16px;font-size:3.75rem;font-weight:700;line-height:1.1}.hero-title{color:var(--muted);margin-bottom:40px;font-size:1rem;font-weight:400}.hero-message{margin-bottom:24px;font-size:2.25rem;font-weight:700;line-height:1.4}.hero-sub{color:var(--muted);max-width:600px;margin:0 auto 56px;font-size:1.125rem;line-height:1.8}.hero-cta{background:var(--accent);color:var(--white);border-radius:999px;padding:16px 40px;font-size:1.05rem;font-weight:600;transition:background .2s,transform .2s;display:inline-flex}.hero-cta:hover{background:var(--accent-hover);color:var(--white);transform:translateY(-1px)}.section{padding:120px 0}.section-bg{background:var(--bg)}.section-dark{background:var(--dark-bg);color:var(--dark-text)}.section-heading{text-align:center;margin-bottom:64px}.section-label{text-transform:uppercase;letter-spacing:.16em;color:var(--accent);margin-bottom:12px;font-size:.75rem;font-weight:700}.section-dark .section-label{color:var(--dark-accent)}.section-title{font-size:2rem;font-weight:700;line-height:1.3}.works-grid{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.work-card{background:var(--dark-bg-subtle);border:1px solid var(--dark-line);border-radius:var(--radius);text-align:center;padding:40px 28px;transition:all .3s}.work-card:hover{border-color:#39d4a373;transform:translateY(-4px);box-shadow:0 8px 32px #39d4a31f}.work-icon{margin-bottom:16px;font-size:2rem;display:block}.work-title{color:var(--dark-text);margin-bottom:8px;font-size:1.1rem;font-weight:700}.work-desc{color:var(--dark-text-muted);font-size:.9rem;line-height:1.6}.products-grid{grid-template-columns:repeat(2,1fr);gap:32px;display:grid}.product-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:40px 32px;transition:all .3s;position:relative;overflow:hidden}.product-card:before{content:"";background:linear-gradient(90deg,var(--accent),var(--dark-accent));opacity:0;height:4px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.product-card:hover:before{opacity:1}.product-card:hover{box-shadow:var(--shadow-premium);border-color:#0000;transform:translateY(-4px)}.product-category{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px;font-size:.7rem;font-weight:600;display:inline-block}.product-name{margin-bottom:10px;font-size:1.375rem;font-weight:700}.product-desc{color:var(--muted);margin-bottom:20px;font-size:1rem;line-height:1.7}.tech-tags{flex-wrap:wrap;gap:6px;display:flex}.tech-tag{color:var(--accent);background:#2563eb14;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:500;display:inline-block}.about-content{max-width:720px;margin:0 auto}.about-text{color:var(--dark-text-muted);font-size:1.125rem;line-height:2}.about-text p{margin-bottom:28px}.about-text p:last-child{margin-bottom:0}.about-highlight{color:var(--dark-text);font-weight:700}.contact-content{max-width:600px;margin:0 auto}.contact-lead{text-align:center;color:var(--muted);margin-bottom:56px;font-size:1.125rem;line-height:1.8}.contact-form{gap:20px;display:grid}.form-field{gap:6px;font-size:.9rem;font-weight:500;display:grid}.form-field input,.form-field textarea{border-radius:var(--radius);background:var(--white);border:1px solid #00000026;padding:12px 14px;font-size:1rem;transition:border-color .2s}.form-field input:focus,.form-field textarea:focus{border-color:var(--accent);outline:none}.required{color:#dc2626;margin-left:2px}.form-submit{background:var(--accent);color:var(--white);cursor:pointer;border:none;border-radius:999px;justify-content:center;padding:14px 32px;font-size:1rem;font-weight:600;transition:background .2s;display:inline-flex}.form-submit:hover{background:var(--accent-hover)}.form-submit:disabled{opacity:.6;cursor:not-allowed}.form-error{color:#dc2626;font-size:.9rem}.form-success{text-align:center;background:var(--bg);border-radius:var(--radius);padding:40px 20px}.form-success p{margin-bottom:12px}.form-success-title{font-size:1.25rem;font-weight:700}.form-success-text{color:var(--muted)}.form-success button{border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:999px;margin-top:16px;padding:10px 24px;font-weight:500;transition:background .2s}.form-success button:hover{background:var(--bg)}.contact-info{text-align:center;color:var(--muted);background:var(--bg);border-radius:var(--radius);margin-top:56px;padding:32px;font-size:.9rem;line-height:2}.contact-info a{color:var(--accent);text-decoration:underline}.hidden{display:none}.site-footer{background:var(--ink);color:#ffffffb3;text-align:center;padding:48px 0 24px;font-size:.85rem}.footer-name{color:var(--white);margin-bottom:8px;font-size:1rem;font-weight:700}.footer-contact{margin-bottom:24px;line-height:1.8}.footer-nav{flex-wrap:wrap;justify-content:center;gap:24px;margin-bottom:24px;display:flex}.footer-nav a{color:#ffffffb3;transition:color .2s}.footer-nav a:hover{color:var(--white)}.footer-copyright{color:#fff6;font-size:.8rem}.section-more{text-align:center;margin-top:48px}.section-more-link{color:var(--accent);align-items:center;gap:4px;font-size:1rem;font-weight:600;transition:color .2s,gap .2s;display:inline-flex}.section-more-link:hover{color:var(--accent-hover);gap:8px}.section-more-link-dark{color:var(--dark-accent)}.section-more-link-dark:hover{color:var(--white)}.page-hero{background:var(--dark-bg);color:var(--dark-text);text-align:center;padding:120px 0 80px}.page-hero-label{text-transform:uppercase;letter-spacing:.16em;color:var(--dark-accent);margin-bottom:12px;font-size:.75rem;font-weight:700}.page-hero-title{margin-bottom:16px;font-size:2.5rem;font-weight:700;line-height:1.2}.page-hero-sub{color:var(--dark-text-muted);max-width:600px;margin:0 auto;font-size:1.125rem;line-height:1.8}.about-text-light{color:var(--muted)}.about-text-light .about-highlight{color:var(--ink)}.skill-categories{grid-template-columns:repeat(2,1fr);gap:32px;max-width:800px;margin:0 auto;display:grid}.skill-group{background:var(--dark-bg-subtle);border:1px solid var(--dark-line);border-radius:var(--radius);padding:28px 24px}.skill-group-title{color:var(--dark-accent);text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;font-size:.85rem;font-weight:700}.skill-tags{flex-wrap:wrap;gap:8px;display:flex}.skill-tag{color:var(--dark-accent);background:#60a5fa1f;border:1px solid #60a5fa33;border-radius:999px;padding:5px 14px;font-size:.8rem;font-weight:500;display:inline-block}.values-grid{grid-template-columns:repeat(3,1fr);gap:32px;max-width:900px;margin:0 auto;display:grid}.value-card{text-align:center;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:40px 24px;transition:all .3s}.value-card:hover{box-shadow:var(--shadow-premium);transform:translateY(-4px)}.value-icon{margin-bottom:16px;font-size:2rem;display:block}.value-title{margin-bottom:12px;font-size:1.1rem;font-weight:700}.value-desc{color:var(--muted);font-size:.95rem;line-height:1.7}.product-detail-list{gap:48px;display:grid}.product-detail{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);transition:box-shadow .3s;overflow:hidden}.product-detail:hover{box-shadow:var(--shadow-premium)}.product-detail-header{padding:40px 40px 0}.product-detail-name{margin-bottom:8px;font-size:1.75rem;font-weight:700}.product-detail-desc{color:var(--muted);margin-bottom:0;font-size:1.1rem}.product-detail-body{gap:24px;padding:32px 40px 40px;display:grid}.product-detail-section{font-size:1rem;line-height:1.8}.product-detail-label{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:8px;font-size:.8rem;font-weight:700}.product-detail-alt{background:var(--bg)}.flow-steps{max-width:700px;margin:0 auto;position:relative}.flow-step{align-items:flex-start;gap:28px;padding-bottom:48px;display:flex;position:relative}.flow-step:last-child{padding-bottom:0}.flow-step:after{content:"";background:var(--line);width:2px;position:absolute;top:52px;bottom:0;left:23px}.flow-step:last-child:after{display:none}.flow-step-number{background:var(--accent);width:48px;height:48px;color:var(--white);z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:flex;position:relative}.flow-step-content{flex:1;padding-top:4px}.flow-step-icon{margin-bottom:8px;font-size:1.5rem;display:block}.flow-step-title{margin-bottom:8px;font-size:1.25rem;font-weight:700}.flow-step-desc{color:var(--muted);font-size:1rem;line-height:1.8}.pricing-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.pricing-table{border-collapse:collapse;width:100%;font-size:1rem}.pricing-table th{background:var(--ink);color:var(--white);text-align:left;padding:16px 20px;font-size:.9rem;font-weight:700}.pricing-table th:first-child{border-radius:var(--radius)0 0 0}.pricing-table th:last-child{border-radius:0 var(--radius)0 0}.pricing-table td{border-bottom:1px solid var(--line);padding:18px 20px}.pricing-table tr:last-child td{border-bottom:none}.pricing-table tr:hover td{background:#2563eb0a}.pricing-service{font-weight:600}.pricing-price{color:var(--accent);font-weight:700}.pricing-duration{color:var(--muted)}.pricing-note{text-align:center;color:var(--muted);margin-top:32px;font-size:.95rem;line-height:1.8}.faq-list{max-width:700px;margin:0 auto}.faq-item{border-bottom:1px solid var(--line)}.faq-question{cursor:pointer;text-align:left;width:100%;color:var(--ink);background:0 0;border:none;justify-content:space-between;align-items:center;padding:20px 0;font-size:1.05rem;font-weight:600;transition:color .2s;display:flex}.faq-question:hover{color:var(--accent)}.faq-icon{color:var(--muted);flex-shrink:0;margin-left:16px;font-size:1.25rem}.faq-answer{color:var(--muted);padding:0 0 20px;font-size:1rem;line-height:1.8}.contact-content-dark .form-field{color:var(--dark-text)}.contact-content-dark .form-field input,.contact-content-dark .form-field textarea{background:var(--dark-bg-subtle);border-color:var(--dark-line);color:var(--dark-text)}.contact-content-dark .form-field input:focus,.contact-content-dark .form-field textarea:focus{border-color:var(--dark-accent)}.contact-content-dark .required{color:#ef4444}.contact-info-grid{grid-template-columns:repeat(3,1fr);gap:24px;max-width:700px;margin:0 auto;display:grid}.contact-info-card{text-align:center;background:var(--bg);border-radius:var(--radius);padding:32px 20px}.contact-info-label{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:12px;font-size:.8rem;font-weight:700}.contact-info-card a{color:var(--accent);text-decoration:underline}@media (max-width:768px){.hero{padding:100px 0 80px}.hero-name{font-size:2.25rem}.hero-message{font-size:1.5rem}.section{padding:80px 0}.section-heading{margin-bottom:48px}.works-grid{grid-template-columns:repeat(2,1fr);gap:20px}.products-grid{grid-template-columns:1fr;gap:20px}.page-hero{padding:100px 0 60px}.page-hero-title{font-size:1.75rem}.skill-categories{grid-template-columns:1fr}.values-grid{grid-template-columns:1fr;gap:20px}.flow-step{gap:20px}.product-detail-header,.product-detail-body{padding-left:24px;padding-right:24px}.pricing-table{font-size:.9rem}.pricing-table th,.pricing-table td{padding:12px 14px}.contact-info-grid{grid-template-columns:1fr}.footer-nav{gap:16px}.nav{border-radius:var(--radius);box-shadow:var(--shadow-hover);opacity:0;pointer-events:none;background:#fffffffa;flex-direction:column;padding:20px;transition:opacity .2s,transform .2s;position:absolute;top:100%;left:4%;right:4%;transform:translateY(-8px)}.site-header.header-on-dark .nav{background:#0f1419fa}.nav.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-toggle{display:flex}}@media (max-width:480px){.works-grid{grid-template-columns:1fr}.hero-name{font-size:1.875rem}.section-title{font-size:1.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important}}.about-with-photo{align-items:flex-start;gap:48px;max-width:900px;display:flex}.about-photo{flex-shrink:0}.about-photo img{box-shadow:var(--shadow-premium)}@media (max-width:768px){.about-with-photo{flex-direction:column;align-items:center;gap:32px}.about-photo img{width:200px;height:200px}}.hero{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);position:relative;overflow:hidden}.hero:before{content:"";opacity:.15;z-index:0;background:url(/images/hero-tech.jpg) 50%/cover;position:absolute;inset:0}.hero .container{z-index:1;position:relative}.hero-profile{border:4px solid #ffffff4d;box-shadow:0 8px 32px #0003}.hero-name{color:#fff}.hero-title{color:#fffc}.hero-message{color:#fff}.hero-sub{color:#ffffffd9}.hero-cta{color:#667eea;background:#fff}.hero-cta:hover{color:#764ba2;background:#ffffffe6}.work-card{position:relative;overflow:hidden}.work-card-image{opacity:.08;transition:opacity .3s;position:absolute;inset:0}.work-card:hover .work-card-image{opacity:.15}.work-card-image img{object-fit:cover;width:100%;height:100%}.work-card>:not(.work-card-image){z-index:1;position:relative}.product-card-visual{background:var(--bg);aspect-ratio:16/10;border-radius:8px;margin-bottom:20px;overflow:hidden}.product-card-visual img{object-fit:cover;width:100%;height:100%}.product-detail-image{width:100%;max-height:300px;overflow:hidden}.product-detail-image img{object-fit:cover;width:100%;height:100%}.hero-brand{letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(135deg,#fff 0%,#fffc 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:32px;font-size:4.5rem;font-weight:800;line-height:1}.hero-founder{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:999px;align-items:center;gap:16px;margin-bottom:40px;padding:12px 24px 12px 12px;display:inline-flex}.hero-founder-photo{border:2px solid #ffffff4d;border-radius:50%;width:48px;height:48px;overflow:hidden}.hero-founder-info{text-align:left}.hero-founder-name{color:#fff;margin:0;font-size:1rem;font-weight:700;line-height:1.3}.hero-founder-title{color:#ffffffb3;margin:0;font-size:.8rem}@media (max-width:768px){.hero-brand{font-size:2.5rem}}.work-card,.product-card,.value-card{transition:all .5s cubic-bezier(.22,1,.36,1)}.work-card:hover,.product-card:hover,.value-card:hover{transform:translateY(-8px)scale(1.02)}.section{position:relative}.section:after{content:"";background:linear-gradient(90deg,transparent,var(--line),transparent);height:1px;position:absolute;bottom:0;left:0;right:0}.section-dark:after{background:linear-gradient(90deg,transparent,var(--dark-line),transparent)}@keyframes textReveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.text-reveal{animation:1s cubic-bezier(.22,1,.36,1) forwards textReveal}.work-icon-wrapper{background:#60a5fa1a;border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 20px;padding:8px;transition:all .3s;display:flex}.work-card:hover .work-icon-wrapper{background:#60a5fa33;transform:scale(1.1)}@media (max-width:768px){.hero-brand{letter-spacing:.04em;font-size:2.2rem}.hero-message{font-size:1.3rem;line-height:1.5}.hero-sub{font-size:.95rem}.hero-founder{gap:12px;padding:10px 16px 10px 10px}.hero-founder-photo{width:40px;height:40px}.hero-founder-name{font-size:.9rem}.hero-founder-title{font-size:.75rem}.hero-cta{padding:14px 32px;font-size:.95rem}.section-title{font-size:1.5rem}.work-card{padding:28px 20px}.work-icon-wrapper{width:56px;height:56px;margin-bottom:16px}.product-card{padding:24px 20px}.product-card-visual{aspect-ratio:16/9}.contact-info{padding:24px 16px}}@media (max-width:480px){.hero{padding:80px 0 60px}.hero-brand{font-size:1.8rem}.hero-message{font-size:1.15rem}.works-grid{gap:16px}.work-card{padding:24px 16px}.footer-nav{flex-direction:column;gap:12px}}main{animation:.6s ease-out pageIn}@keyframes pageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.footer-contact a{color:#ffffffb3;text-decoration:none;transition:color .2s}.footer-contact a:hover{color:#fff;text-decoration:underline}.hero-v2{text-align:left;color:#ebf0f5;background:radial-gradient(80% 60% at 70% 20%,#5eb0ff14,#0000),radial-gradient(60% 50% at 20% 90%,#39d4a312,#0000),#0a0e12;align-items:center;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero-v2:before{content:none}.hero-v2:after{content:"";pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.hero-canvas{z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero-v2 .hero-inner{z-index:1;padding:80px 0 110px;position:relative}.hero-eyebrow{font-family:var(--font-mono),ui-monospace,monospace;letter-spacing:.28em;color:#39d4a3;border:1px solid #39d4a34d;border-radius:999px;align-items:center;gap:10px;margin-bottom:28px;padding:8px 18px;font-size:.8rem;display:inline-flex}.hero-eyebrow-dot{background:#39d4a3;border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.hero-v2 .hero-title{font-family:var(--font-display),"Shippori Mincho B1",serif;letter-spacing:.02em;color:#ebf0f5;margin-bottom:28px;font-size:clamp(2.1rem,5.5vw,3.8rem);font-weight:800;line-height:1.28}.hero-title-line{padding-bottom:.12em;display:block;overflow:hidden}.hero-title-accent{background:linear-gradient(90deg,#5eb0ff,#39d4a3);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-v2 .hero-sub{color:#ebf0f5b8;max-width:560px;margin:0 0 36px;font-size:1.05rem;line-height:2.1}.hero-actions{flex-wrap:wrap;align-items:center;gap:32px;display:flex}.magnetic{will-change:transform;transition:transform .3s cubic-bezier(.22,1,.36,1)}.hero-v2 .hero-cta{color:#0a0e12;letter-spacing:.02em;background:#ebf0f5;border-radius:999px;align-items:center;gap:12px;padding:18px 40px;font-size:1rem;font-weight:700;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .4s,background .3s;display:inline-flex;box-shadow:0 0 #39d4a300}.hero-v2 .hero-cta:hover{color:#0a0e12;background:#39d4a3;box-shadow:0 0 48px 4px #39d4a359}.hero-cta-arrow{transition:transform .3s cubic-bezier(.22,1,.36,1);display:inline-block}.hero-v2 .hero-cta:hover .hero-cta-arrow{transform:translate(6px)}.hero-v2 .hero-founder{background:#ebf0f50f;border-color:#ebf0f51f;margin-bottom:0}.hero-scroll-hint{font-family:var(--font-mono),ui-monospace,monospace;letter-spacing:.35em;color:#ebf0f566;z-index:1;flex-direction:column;align-items:center;gap:12px;font-size:.65rem;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.hero-scroll-line{transform-origin:top;background:linear-gradient(#0000,#ebf0f580);width:1px;height:48px;animation:2.2s ease-in-out infinite scroll-line}@keyframes scroll-line{0%{opacity:0;transform:scaleY(0)}40%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)translateY(16px)}}@media (max-width:768px){.hero-v2 .hero-inner{padding:120px 0 100px}.hero-actions{gap:20px}.hero-v2 .hero-sub{font-size:.95rem}}@media (prefers-reduced-motion:reduce){.hero-eyebrow-dot,.hero-scroll-line{animation:none}.magnetic{transition:none}}.section-title,.page-hero-title{font-family:var(--font-display),"Shippori Mincho B1",serif;letter-spacing:.03em;font-weight:800}.section-label,.page-hero-label{font-family:var(--font-mono),ui-monospace,monospace;letter-spacing:.25em;text-transform:uppercase}.rail-section{color:#ebf0f5;background:#0e1319;height:320vh;position:relative}.rail-sticky{flex-direction:column;justify-content:center;gap:48px;height:100svh;display:flex;position:sticky;top:0;overflow:hidden}.rail-heading{width:min(var(--container),88%)}.rail-label{color:#39d4a3}.rail-title{color:#ebf0f5;font-size:clamp(1.8rem,4vw,2.8rem)}.rail-hint{font-family:var(--font-mono),ui-monospace,monospace;letter-spacing:.2em;color:#ebf0f559;margin-top:12px;font-size:.72rem}.rail-track{padding-left:calc((100vw - min(var(--container),88vw))/2);will-change:transform;gap:28px;display:flex}.rail-card{background:#ebf0f50a;border:1px solid #ebf0f517;border-radius:16px;flex:0 0 380px;transition:transform .5s cubic-bezier(.22,1,.36,1),border-color .4s,background .4s;position:relative;overflow:hidden}.rail-card:hover{background:#ebf0f512;border-color:#39d4a366;transform:translateY(-8px)}.rail-card-index{z-index:2;font-family:var(--font-mono),ui-monospace,monospace;letter-spacing:.15em;color:#ebf0f5d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0e128c;border-radius:999px;padding:4px 10px;font-size:.75rem;position:absolute;top:14px;left:16px}.rail-card-visual{aspect-ratio:16/10;background:#0a0e12;border-bottom:1px solid #ebf0f514}.rail-card-visual img{transition:transform .6s cubic-bezier(.22,1,.36,1)}.rail-card:hover .rail-card-visual img{transform:scale(1.05)}.rail-card-body{padding:22px 24px 26px}.rail-card-category{font-family:var(--font-mono),ui-monospace,monospace;letter-spacing:.2em;text-transform:uppercase;color:#5eb0ff;font-size:.7rem}.rail-card-name{font-family:var(--font-display),serif;margin:8px 0 10px;font-size:1.35rem;font-weight:800}.rail-card-desc{color:#ebf0f5a6;margin-bottom:16px;font-size:.9rem;line-height:1.9}.rail-card-tags{flex-wrap:wrap;gap:8px;display:flex}.rail-tag{font-family:var(--font-mono),ui-monospace,monospace;color:#ebf0f5b3;border:1px solid #ebf0f526;border-radius:999px;padding:4px 10px;font-size:.68rem}.rail-card-live{font-family:var(--font-mono),ui-monospace,monospace;letter-spacing:.1em;color:#39d4a3;margin-top:16px;font-size:.75rem;transition:opacity .3s;display:inline-block}.rail-card-live:hover{opacity:.7}.rail-card-more{background:0 0;border-style:dashed;place-items:center;min-height:320px;display:grid}.rail-more-link{font-family:var(--font-display),serif;color:#ebf0f5;align-items:center;gap:10px;font-size:1.15rem;font-weight:600;transition:color .3s,gap .3s;display:inline-flex}.rail-more-link:hover{color:#39d4a3;gap:16px}@media (max-width:768px){.rail-section{height:auto;padding:90px 0}.rail-sticky{height:auto;position:static;overflow:visible}.rail-track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-right:6vw;overflow-x:auto;transform:none!important}.rail-card{scroll-snap-align:start;flex-basis:300px}.rail-hint{display:none}}.timeline{max-width:720px;margin:0 auto;padding-left:8px;position:relative}.timeline-rail{background:var(--line);border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:31px;overflow:hidden}.timeline-rail-fill{transform-origin:top;background:linear-gradient(#5eb0ff,#39d4a3);width:100%;height:100%}.timeline-list{flex-direction:column;gap:56px;list-style:none;display:flex}.timeline-item{align-items:flex-start;gap:28px;display:flex;position:relative}.timeline-marker{z-index:1;background:var(--white);border:2px solid var(--line);height:48px;box-shadow:var(--shadow);border-radius:50%;flex:0 0 48px;place-items:center;display:grid;position:relative}.timeline-number{font-family:var(--font-mono),ui-monospace,monospace;color:var(--accent);letter-spacing:.05em;font-size:.8rem;font-weight:600}.timeline-body{padding-top:6px}.timeline-title{font-family:var(--font-display),serif;align-items:center;gap:10px;margin-bottom:8px;font-size:1.25rem;font-weight:800;display:flex}.timeline-icon{font-size:1.1rem}.timeline-desc{color:var(--muted);max-width:560px;font-size:.95rem;line-height:2}@media (max-width:768px){.timeline-list{gap:40px}.timeline-item{gap:18px}.timeline-marker{flex-basis:40px;height:40px}.timeline-rail{left:27px}}.rail-card-clickable{cursor:pointer}.rail-card-clickable:focus-visible{outline-offset:3px;outline:2px solid #39d4a3}.rail-card-open{font-family:var(--font-mono),ui-monospace,monospace;letter-spacing:.12em;color:#ebf0f573;margin-top:16px;font-size:.72rem;transition:color .3s;display:inline-block}.rail-card:hover .rail-card-open{color:#39d4a3}.case-overlay{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#06090cd1;place-items:center;padding:4vh 4vw;display:grid;position:fixed;inset:0;overflow-y:auto}.case-panel{color:#ebf0f5;background:#10161d;border:1px solid #ebf0f51f;border-radius:20px;width:min(880px,100%);max-height:92svh;position:relative;overflow-y:auto}.case-close{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ebf0f5;cursor:pointer;background:#0a0e1299;border:1px solid #ebf0f533;border-radius:50%;width:44px;height:44px;font-size:1.4rem;line-height:1;transition:background .3s,transform .3s;position:absolute;top:16px;right:16px}.case-close:hover{background:#39d4a340;transform:rotate(90deg)}.case-visual{aspect-ratio:16/8;background:#0a0e12;border-bottom:1px solid #ebf0f514}.case-body{padding:36px 44px 44px}.case-category{font-family:var(--font-mono),ui-monospace,monospace;letter-spacing:.22em;text-transform:uppercase;color:#5eb0ff;font-size:.72rem}.case-name{font-family:var(--font-display),serif;margin:10px 0 8px;font-size:2rem;font-weight:800}.case-lead{color:#ebf0f5b3;margin-bottom:32px}.case-grid{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px;display:grid}.case-block{background:#ebf0f50a;border:1px solid #ebf0f514;border-radius:14px;padding:24px 26px}.case-block-label{font-family:var(--font-mono),ui-monospace,monospace;letter-spacing:.18em;color:#39d4a3;margin-bottom:12px;font-size:.75rem}.case-block p{color:#ebf0f5c7;font-size:.92rem;line-height:2}.case-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.case-live{font-family:var(--font-mono),ui-monospace,monospace;letter-spacing:.1em;color:#39d4a3;font-size:.8rem;transition:opacity .3s}.case-live:hover{opacity:.7}@media (max-width:640px){.case-body{padding:26px 22px 32px}.case-grid{grid-template-columns:1fr}.case-name{font-size:1.5rem}}
