:root{--ink:#070d1a;--ink-2:#0f1829;--ink-3:#1a2740;--fg:#162032;--fg-2:#45536b;--muted:#78859a;--line:#e2e8f1;--line-2:#eef2f8;--bg:#fff;--bg-2:#f5f8fc;--accent:#2f6bff;--accent-2:#00cfe8;--accent-dim:#1c46b8;--chip-bg:#eef3ff;--chip-fg:#1c46b8;--radius:14px;--radius-sm:9px;--container:1080px;--sans:"Inter", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", "Meiryo", system-ui, -apple-system, sans-serif;--mono:"SFMono-Regular", "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--sans);color:var(--fg);background:var(--bg);font-feature-settings:"palt" 1;overflow-wrap:anywhere;word-break:normal;line-break:strict;margin:0;font-size:15px;line-height:1.85}a{color:inherit}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 28px}section.block{border-top:1px solid var(--line-2);padding:76px 0}section.block.alt{background:var(--bg-2)}section.block:first-of-type{border-top:0}.site-header{z-index:50;-webkit-backdrop-filter:saturate(1.6)blur(14px);border-bottom:1px solid var(--line);background:#ffffffdb;position:sticky;top:0}.site-header .inner{max-width:var(--container);justify-content:space-between;align-items:center;gap:20px;height:62px;margin:0 auto;padding:0 28px;display:flex}.brand{letter-spacing:.015em;color:var(--ink);white-space:nowrap;align-items:center;gap:10px;font-size:15.5px;font-weight:700;text-decoration:none;display:inline-flex}.brand svg{display:block}.site-nav{align-items:center;gap:4px;display:flex}.site-nav a{color:var(--fg-2);white-space:nowrap;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.site-nav a:hover{background:var(--bg-2);color:var(--ink)}.site-nav a.current{color:var(--accent-dim);background:var(--chip-bg)}.hero{color:#fff;background:radial-gradient(900px 420px at 78% -10%,#00cfe838,#0000 62%),radial-gradient(700px 380px at 8% 105%,#2f6bff4d,#0000 60%),#070d1a linear-gradient(160deg,#070d1a 0%,#101d36 58%,#08111f 100%);position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 22%,#000 12%,#0000 76%);mask-image:radial-gradient(circle at 50% 22%,#000 12%,#0000 76%)}.hero .container{position:relative}.hero-inner{max-width:760px;padding:96px 0 88px}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#ffffffb8;align-items:center;gap:9px;margin:0 0 22px;font-size:11.5px;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:linear-gradient(90deg, var(--accent-2), transparent);width:26px;height:1px}.hero h1{letter-spacing:.005em;margin:0 0 22px;font-size:clamp(30px,5.2vw,46px);font-weight:700;line-height:1.38}.hero h1 .grad{background:linear-gradient(92deg,#7ef0ff,#7aa2ff 60%,#b7c6ff);color:#0000;-webkit-background-clip:text;background-clip:text}.hero p.lead{color:#fffc;max-width:640px;margin:0;font-size:clamp(14.5px,1.9vw,16.5px);line-height:2}.hero .hero-tags{flex-wrap:wrap;gap:8px;margin-top:30px;display:flex}.hero .hero-tags span{color:#ffffffe0;white-space:nowrap;background:#ffffff0d;border:1px solid #fff3;border-radius:999px;padding:6px 13px;font-size:12px;font-weight:500}.stats{background:#ffffff08;border-top:1px solid #ffffff1a;position:relative}.stats .grid{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.stats .cell{border-left:1px solid #ffffff17;padding:26px 8px 30px}.stats .cell:first-child{border-left:0}.stats .num{letter-spacing:-.01em;background:linear-gradient(92deg,#8ef2ff,#8fb0ff);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:27px;font-weight:700;line-height:1.25}.stats .num small{margin-left:2px;font-size:14px;font-weight:600}.stats .cap{color:#ffffff9e;margin-top:4px;font-size:11.5px;line-height:1.7}.sec-head{margin:0 0 38px}.label{letter-spacing:.18em;text-transform:uppercase;color:var(--accent-dim);align-items:center;gap:9px;margin:0 0 12px;font-size:11px;font-weight:700;display:inline-flex}.label:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:2px;width:20px;height:2px}.sec-head h2{letter-spacing:.01em;page-break-after:avoid;break-after:avoid;margin:0;font-size:clamp(21px,3vw,27px);font-weight:700;line-height:1.5}.sec-head p{color:var(--fg-2);max-width:720px;margin:12px 0 0;font-size:14px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);page-break-inside:avoid;break-inside:avoid;padding:24px 24px 26px}.card.soft{background:var(--bg-2);border-color:var(--line-2)}.card h3{letter-spacing:.01em;page-break-after:avoid;break-after:avoid;margin:0 0 12px;font-size:15.5px;font-weight:700}.card p{color:var(--fg-2);margin:0;font-size:13.5px;line-height:1.95}.card .idx{font-family:var(--mono);letter-spacing:.1em;color:var(--accent);margin-bottom:10px;font-size:11px;font-weight:600;display:block}.domains{grid-template-columns:minmax(0,470px) minmax(0,1fr);align-items:center;gap:36px;display:grid}.domain-figure{justify-content:center;display:flex}.domain-figure svg{width:100%;max-width:470px;height:auto}.domain-cards{gap:14px;display:grid}.dom{border:1px solid var(--line);border-left:3px solid var(--dom);border-radius:var(--radius-sm);background:var(--bg);page-break-inside:avoid;break-inside:avoid;padding:17px 20px 18px}.dom .top{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:11px;display:flex}.dom .code{font-family:var(--mono);letter-spacing:.06em;color:var(--dom);font-size:12px;font-weight:700}.dom h3{letter-spacing:.01em;margin:0;font-size:16px}.dom .sub{color:var(--muted);font-size:11.5px}.dom ul{margin:0;padding:0;list-style:none}.dom li{color:var(--fg-2);margin-bottom:5px;padding-left:15px;font-size:13px;line-height:1.85;position:relative}.dom li:last-child{margin-bottom:0}.dom li:before{content:"";background:var(--dom);border-radius:50%;width:5px;height:5px;position:absolute;top:9px;left:1px}@media (width<=880px){.domains{grid-template-columns:minmax(0,1fr);gap:28px}.domain-figure svg{max-width:340px}}.problem{padding:26px 24px}.problem h3{letter-spacing:.004em;text-wrap:balance;margin:0 0 13px;padding-left:17px;font-size:19px;line-height:1.55;position:relative}.problem h3:before{content:"";background:linear-gradient(180deg, var(--accent), var(--accent-2));border-radius:3px;width:5px;height:18px;position:absolute;top:8px;left:0}.problem p{font-size:12.5px;line-height:1.95}@media (width<=620px){.problem h3{font-size:17.5px}}.phase{padding-top:26px;position:relative}.phase .idx{margin-bottom:14px}.phase .idx em{font-style:normal;font-family:var(--sans);letter-spacing:.04em;color:var(--ink);margin-left:10px;font-size:13.5px;font-weight:700}.phase .claim{letter-spacing:.004em;color:var(--ink);text-wrap:balance;margin:0 0 18px;font-size:19.5px;font-weight:700;line-height:1.62}.phase .keys{border-top:1px solid var(--line-2);margin:0;padding:17px 0 0;list-style:none}.phase .keys li{color:var(--fg-2);margin-bottom:10px;padding-left:24px;font-size:13px;line-height:1.8;position:relative}.phase .keys li:last-child{margin-bottom:0}.phase .keys li:before{content:"";background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:5px;width:15px;height:15px;position:absolute;top:4px;left:0}.phase .keys li:after{content:"";border:1.6px solid #fff;border-width:0 1.6px 1.6px 0;width:4px;height:7.5px;position:absolute;top:7px;left:4.6px;transform:rotate(42deg)}@media (width<=620px){.phase .claim{font-size:18px}}.phase:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:0 0 3px 3px;height:3px;position:absolute;top:0;left:24px;right:24px}.case{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);page-break-inside:avoid;break-inside:avoid;margin-bottom:20px;overflow:hidden}.case:last-child{margin-bottom:0}.case>.head{background:linear-gradient(180deg, var(--bg-2), var(--bg));border-bottom:1px solid var(--line-2);padding:22px 26px 20px}.case>.head h3{letter-spacing:.01em;margin:0;font-size:17px;font-weight:700;line-height:1.55}.case>.body{padding:22px 26px 26px}.case .body>:first-child{margin-top:0}.tags{flex-wrap:wrap;gap:6px;margin-top:13px;display:flex}.tag{background:var(--chip-bg);color:var(--chip-fg);white-space:nowrap;border:1px solid #2f6bff24;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:500;line-height:1.6}.tag.plain{color:var(--fg-2);border-color:var(--line);background:#fff}.kv{border-top:1px solid var(--line-2);grid-template-columns:max-content minmax(0,1fr);gap:0;margin:0 0 20px;font-size:13.5px;display:grid}.kv dt{color:var(--muted);border-bottom:1px solid var(--line-2);white-space:nowrap;padding:9px 18px 9px 0;font-size:12.5px;font-weight:600}.kv dd{color:var(--fg-2);border-bottom:1px solid var(--line-2);margin:0;padding:9px 0}.subhead{color:var(--ink);page-break-after:avoid;break-after:avoid;margin:22px 0 10px;font-size:13.5px;font-weight:700}.subhead:first-child{margin-top:0}ul.list{color:var(--fg-2);margin:0;padding-left:0;font-size:13.5px;list-style:none}ul.list>li{margin-bottom:8px;padding-left:19px;line-height:1.95;position:relative}ul.list>li:before{content:"";background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:1.5px;width:5px;height:5px;position:absolute;top:11px;left:3px}ul.list>li:last-child{margin-bottom:0}ul.list strong{color:var(--ink);font-weight:600}.values{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.values .v{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);page-break-inside:avoid;break-inside:avoid;align-items:flex-start;gap:14px;padding:21px 22px 22px;display:flex}.values .v .mk{background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:7px;flex:none;width:25px;height:25px;margin-top:2px;position:relative}.values .v .mk:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5.5px;height:11px;position:absolute;top:5px;left:8px;transform:rotate(42deg)}.values .vt{min-width:0}.values .vt h3{letter-spacing:.005em;color:var(--ink);text-wrap:balance;margin:0 0 7px;font-size:19px;font-weight:700;line-height:1.5}.values .vt p{color:var(--muted);margin:0;font-size:12.5px;line-height:1.8}@media (width<=620px){.values .vt h3{font-size:17.5px}}.tech{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.tech .t{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);page-break-inside:avoid;break-inside:avoid;padding:22px 22px 24px}.tech .t .cat{border-bottom:1px solid var(--line-2);align-items:center;gap:10px;margin:0 0 14px;padding-bottom:12px;display:flex}.tech .t .cat .n{font-family:var(--mono);letter-spacing:.06em;color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:5px;flex:none;padding:3px 7px;font-size:10.5px;font-weight:700}.tech .t .cat h3{letter-spacing:.01em;margin:0;font-size:14.5px;font-weight:700}.site-footer{background:var(--ink);color:#ffffff9e;padding:46px 0 40px;font-size:12.5px}.site-footer .inner{max-width:var(--container);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px 32px;margin:0 auto;padding:0 28px;display:flex}.site-footer .brand-f{color:#fff;letter-spacing:.015em;align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.site-footer nav{flex-wrap:wrap;gap:8px 18px;display:flex}.site-footer nav a{white-space:nowrap;color:#ffffffb8;text-decoration:none}.site-footer nav a:hover{color:#fff}.site-footer .copy{color:#ffffff61;width:100%;font-size:11.5px}@media (width<=880px){.grid-3,.tech,.values,.grid-2{grid-template-columns:minmax(0,1fr)}.stats .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats .cell:nth-child(3){border-left:0}.stats .cell:nth-child(n+3){border-top:1px solid #ffffff17}}@media (width<=620px){body{font-size:14.5px}.container,.site-header .inner,.site-footer .inner{padding:0 18px}section.block{padding:54px 0}.hero-inner{padding:68px 0 60px}.case>.head,.case>.body{padding-left:18px;padding-right:18px}.kv{grid-template-columns:minmax(0,1fr)}.kv dt{border-bottom:0;padding-bottom:0}.kv dd{padding-top:2px}.site-header .inner{gap:10px;height:56px}.brand span{font-size:14px}}@page{size:A4;margin:14mm}@media print{html,body{background:#fff}.site-header{backdrop-filter:none;background:#fff;position:static}.hero{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#0f1829!important}.hero:before{display:none}section.block{padding:26px 0}.card,.case,.tech .t,.values .v{page-break-inside:avoid;break-inside:avoid}.sec-head h2,.card h3,.case h3,.subhead{page-break-after:avoid;break-after:avoid}}.container.narrow{max-width:820px}.page-title{letter-spacing:.01em;margin:0;font-size:clamp(22px,3.2vw,30px);font-weight:700;line-height:1.5}.cta-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;margin-top:18px;display:flex}.note-card{margin-bottom:18px}.btn{background:var(--accent-dim);color:#fff;border-radius:999px;padding:11px 22px;font-size:14px;font-weight:700;text-decoration:none;display:inline-block}.btn:hover{background:var(--accent)}.contact-form{gap:18px;display:grid}.contact-form .field{gap:6px;display:grid}.contact-form label{color:var(--fg);font-size:13.5px;font-weight:700}.contact-form .req{background:var(--chip-bg);color:var(--chip-fg);border-radius:999px;margin-left:6px;padding:1px 7px;font-size:11px}.contact-form input,.contact-form textarea{box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;font:inherit;color:var(--fg);background:var(--bg);padding:11px 13px;font-size:15px}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:#0000}.contact-form textarea{resize:vertical}.contact-form .btn{cursor:pointer;font:inherit;border:0;justify-self:start;font-weight:700}.contact-form .btn:disabled{opacity:.6;cursor:default}.contact-form .hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-status{border-radius:var(--radius-sm);color:#8a3a00;background:#fff4ec;border:1px solid #d55e00;margin:0;padding:10px 14px;font-size:13.5px}.form-status:before{content:"⚠ "}.crumbs{margin:0 0 10px;font-size:13px}.crumbs a{color:var(--accent-dim)}.article-title{margin:0;font-size:clamp(22px,3.2vw,30px);line-height:1.5}.article-date{color:var(--muted);margin:10px 0 36px;font-size:13px}.column-list{margin:0;padding:0;list-style:none}.column-list li{border-bottom:1px solid var(--line);padding:18px 0}.column-list a{color:var(--fg);font-weight:700;text-decoration:none}.column-list a:hover{color:var(--accent-dim)}.column-list p{color:var(--fg-2);margin:6px 0 0;font-size:13.5px}.prose{font-size:15px;line-height:2}.prose h2{border-bottom:2px solid var(--line);margin:2.4em 0 .8em;padding-bottom:.4em;font-size:21px;line-height:1.5}.prose h3{margin:2em 0 .6em;font-size:17px;line-height:1.6}.prose h4{margin:1.6em 0 .4em;font-size:15px}.prose p{margin:0 0 1.2em}.prose img{border-radius:var(--radius-sm);max-width:100%;height:auto;margin:.6em 0 1.2em}.prose table{border-collapse:collapse;width:100%;margin:0 0 1.4em;font-size:14px;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 12px}.prose th{background:var(--bg-2)}.prose a{color:var(--accent-dim)}@media (width<=620px){.site-header{position:static}.site-header .inner{flex-wrap:wrap;row-gap:4px;height:auto;padding-top:10px;padding-bottom:6px}.site-nav{flex-wrap:wrap;gap:2px;width:100%;margin:0 -8px}.site-nav a{white-space:nowrap;padding:6px 9px;font-size:12.5px}}
