@font-face{font-family:"DM Mono";src:url("/fonts/dm-mono-400-latin.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-00ff,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:"DM Mono";src:url("/fonts/dm-mono-500-latin.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap;unicode-range:U+0000-00ff,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:"Plus Jakarta Sans";src:url("/fonts/plus-jakarta-sans-latin.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap;unicode-range:U+0000-00ff,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}:root{--primary:#0f172a;--secondary:#334155;--accent:#0369a1;--accent-light:#e0f2fe;--background:#f8fafc;--surface:#fff;--text:#020617;--muted:#475569;--line:#dbe3ec;--mono:"DM Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--jp:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic UI","Yu Gothic",Meiryo,"Noto Sans CJK JP","Noto Sans JP",sans-serif;--sans:"Plus Jakarta Sans",var(--jp);--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;overflow-x:hidden;background:var(--background);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none;cursor:pointer}button{font:inherit;cursor:pointer}svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.en{display:none}html[lang=en] .ja{display:none!important}html[lang=en] .en{display:initial}.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:10px 16px;background:var(--primary);color:#fff;transform:translateY(-150%);transition:transform 200ms ease-out}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid #38bdf8;outline-offset:3px}.section-shell{width:min(calc(100% - 48px),var(--max));margin-inline:auto}
.nav-shell{position:fixed;z-index:20;top:16px;left:24px;right:24px;max-width:var(--max);height:68px;margin-inline:auto;padding:0 12px 0 18px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(203,213,225,.9);border-radius:12px;background:rgba(248,250,252,.93);box-shadow:0 8px 30px rgba(15,23,42,.08);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:10px}.brand span{display:grid;place-items:center;width:34px;height:34px;border-radius:7px;background:var(--primary);color:#fff;font-size:11px;letter-spacing:-.04em}.brand b{font-size:13px;letter-spacing:-.02em}.nav-shell nav{display:flex;gap:34px;font-size:12px;font-weight:600;color:var(--secondary)}.nav-shell nav a,.icon-link{transition:color 200ms ease-out,background 200ms ease-out}.nav-shell nav a:hover{color:var(--accent)}.nav-actions{display:flex;align-items:center;gap:10px}.language-switch{display:flex;padding:3px;border:1px solid var(--line);border-radius:7px;background:#fff}.language-switch button{border:0;border-radius:4px;padding:6px 9px;background:transparent;color:var(--muted);font:500 10px var(--mono)}.language-switch button[aria-pressed=true]{background:var(--primary);color:#fff}.icon-link{display:grid;place-items:center;width:38px;height:38px;border-radius:7px;color:var(--secondary)}.icon-link:hover{background:var(--accent-light);color:var(--accent)}.icon-link svg{width:19px}
.hero{min-height:820px;padding-top:132px;padding-bottom:76px;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.overline,.section-number,.card-meta,.compact-copy>p{font:500 10px var(--mono);letter-spacing:.1em;color:var(--muted)}.overline{display:flex;align-items:center;gap:10px}.overline>span{width:8px;height:8px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 4px #dcfce7}.hero h1{max-width:800px;margin:25px 0 27px;font-size:58px;line-height:1.1;letter-spacing:-.06em;font-weight:600}html[lang=ja] .hero h1{font-family:var(--jp);font-size:clamp(46px,4vw,58px);line-height:1.2;letter-spacing:-.055em;font-weight:700}.hero-lead{max-width:690px;margin:0;color:var(--secondary);font-size:16px;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;border-radius:8px;font-size:12px;font-weight:600;transition:background 200ms ease-out,color 200ms ease-out,border-color 200ms ease-out,box-shadow 200ms ease-out}.button svg,.card-link svg,.all-work-link svg,.credential-footer a svg,.contact a svg,footer>a:last-child svg{width:18px}.button.primary{padding:0 22px;background:var(--accent);color:#fff;box-shadow:0 7px 20px rgba(3,105,161,.18)}.button.primary:hover{background:#075985;box-shadow:0 9px 24px rgba(3,105,161,.26)}.text-button{border-bottom:1px solid var(--secondary);border-radius:0;color:var(--secondary)}.text-button:hover{color:var(--accent);border-color:var(--accent)}.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);max-width:660px;list-style:none;margin:42px 0 0;padding:20px 0 0;border-top:1px solid var(--line)}.hero-proof li{display:flex;flex-direction:column;gap:6px}.hero-proof strong{font-size:17px}.hero-proof span{font:400 8px var(--mono);color:var(--muted);letter-spacing:.08em}
.system-card{align-self:stretch;min-height:610px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 20px 45px rgba(15,23,42,.1);overflow:hidden}.system-toolbar,.system-status{height:46px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font:500 9px var(--mono);color:var(--muted);letter-spacing:.08em}.system-toolbar span:last-child{color:#15803d}.system-canvas{position:relative;height:calc(100% - 92px);min-height:518px;background-color:#f8fafc;background-image:linear-gradient(#e8edf3 1px,transparent 1px),linear-gradient(90deg,#e8edf3 1px,transparent 1px);background-size:24px 24px}.system-lines{position:absolute;inset:8% 4%;width:92%;height:84%;stroke:#94a3b8;stroke-width:1;stroke-dasharray:4 5}.system-node{position:absolute;width:112px;min-height:84px;padding:13px;border:1px solid #cbd5e1;border-radius:9px;background:rgba(255,255,255,.96);box-shadow:0 5px 16px rgba(15,23,42,.08);display:flex;flex-direction:column}.system-node small{font:500 7px var(--mono);color:var(--muted);letter-spacing:.1em}.system-node b{margin-top:8px;font-size:20px;letter-spacing:-.04em}.system-node span{margin-top:auto;font-size:9px;color:var(--muted)}.node-cloud{top:9%;left:calc(50% - 56px);border-top:3px solid #f59e0b}.node-java{top:38%;left:8%;border-top:3px solid #dc2626}.node-devops{top:38%;right:8%;border-top:3px solid #2563eb}.node-data{bottom:8%;left:calc(50% - 56px);border-top:3px solid #0891b2}.system-core{position:absolute;top:47%;left:50%;transform:translate(-50%,-50%);width:94px;height:94px;display:grid;place-content:center;text-align:center;border-radius:50%;background:var(--primary);color:#fff;box-shadow:0 0 0 9px rgba(15,23,42,.08)}.system-core span{font:500 7px var(--mono);letter-spacing:.11em}.system-core b{line-height:1.4;color:#7dd3fc}.system-status{border-top:1px solid var(--line);border-bottom:0;justify-content:flex-start;gap:18px}.system-status span{display:flex;align-items:center;gap:5px}.system-status i{width:6px;height:6px;border-radius:50%;background:#0ea5e9}
.work,.about,.credentials{padding-top:120px;padding-bottom:120px;border-top:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:end;margin-bottom:60px}.section-heading h2{max-width:800px;margin:17px 0 0;font-size:clamp(38px,5vw,66px);line-height:1.12;letter-spacing:-.055em;font-weight:600}html[lang=ja] .section-heading h2{font-family:var(--jp);font-size:clamp(38px,4vw,54px);line-height:1.25;letter-spacing:-.045em;font-weight:700}.section-intro{margin:0;color:var(--muted);font-size:14px;line-height:1.9}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.project-card{position:relative;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}.orafit-card{grid-column:1/-1;min-height:540px;display:grid;grid-template-columns:.92fr 1.08fr}.card-copy{padding:44px}.card-meta{display:flex;justify-content:space-between;gap:15px}.card-meta span:last-child{color:#b45309}.product-name{margin:70px 0 15px;color:var(--accent);font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase}.card-copy h3{margin:0;font-size:clamp(32px,3.5vw,51px);line-height:1.16;letter-spacing:-.05em;font-weight:600}html[lang=ja] .card-copy h3{font-family:var(--jp);font-size:clamp(30px,2.8vw,40px);line-height:1.3;letter-spacing:-.04em;font-weight:700}.card-copy>p:not(.product-name){max-width:600px;color:var(--muted);font-size:14px;line-height:1.85}.tech-list{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:28px 0 36px}.tech-list li{padding:6px 9px;border:1px solid var(--line);border-radius:5px;font:400 9px var(--mono);color:var(--secondary)}.card-link,.all-work-link{display:inline-flex;align-items:center;gap:30px;padding-bottom:6px;border-bottom:1px solid var(--primary);font-size:12px;font-weight:600;transition:color 200ms ease-out,border-color 200ms ease-out}.card-link:hover,.all-work-link:hover{color:var(--accent);border-color:var(--accent)}
.product-demo{align-self:center;margin:24px;border-radius:10px;background:var(--primary);color:#e2e8f0;overflow:hidden;box-shadow:0 16px 32px rgba(15,23,42,.22)}.demo-title{height:45px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #334155;font:400 9px var(--mono);color:#94a3b8}.demo-dot{width:7px;height:7px;border-radius:50%;background:#22c55e}.code-window{padding:22px;border-bottom:1px solid #334155;font:400 11px/1.8 var(--mono)}.code-window p{margin:0}.code-window .code-context{display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:9px;border-bottom:1px solid #334155;color:#94a3b8;font-size:8px;letter-spacing:.08em}.line-no{display:inline-block;width:34px;color:#64748b;user-select:none}.code-key{color:#7dd3fc}.code-fn{color:#fbbf24}.code-num{color:#fda4af}.analysis-flow{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr;align-items:center;gap:4px;padding:24px 18px}.analysis-flow>div{min-height:100px;padding:13px;border:1px solid #334155;border-radius:7px;display:flex;flex-direction:column}.analysis-flow .driver-stage{border-color:#0ea5e9;background:#172033;box-shadow:inset 0 3px #0ea5e9}.analysis-flow .driver-stage span{color:#fbbf24}.analysis-flow span{color:#7dd3fc;font:400 8px var(--mono)}.analysis-flow b{margin-top:13px;font-size:10px;letter-spacing:.08em}.analysis-flow small{margin-top:auto;color:#94a3b8;font-size:8px}.analysis-flow svg{width:16px;justify-self:center;color:#64748b}.demo-result{margin:0 18px 18px;padding:15px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#172033;border-radius:7px;font:400 8px var(--mono);color:#94a3b8}.demo-result>div{display:flex;min-width:0;flex-direction:column;gap:6px}.demo-result code{overflow:hidden;color:#e2e8f0;font:400 9px var(--mono);text-overflow:ellipsis;white-space:nowrap}.demo-result b{color:#fbbf24;font-size:9px}
.demo-title{font-size:11px}.code-window{font-size:12px}.code-window .code-context{font-size:11px}.analysis-flow>div{min-height:112px;padding:14px}.analysis-flow span{font-size:10px}.analysis-flow b{font-size:12px}.analysis-flow small{font-size:11px;line-height:1.45}.demo-result{font-size:10px}.demo-result code{font-size:11px}.demo-result b{font-size:10px}
.project-card.compact{min-height:470px;padding:20px;display:flex;flex-direction:column;transition:border-color 200ms ease-out,box-shadow 200ms ease-out}.project-card.compact:hover{border-color:#94a3b8;box-shadow:0 12px 28px rgba(15,23,42,.1)}.project-visual{height:280px;border-radius:9px;overflow:hidden}.profiler-visual{position:relative;padding:22px;display:flex;gap:7px;align-items:flex-end;background:#0f172a;color:#7dd3fc;font:400 9px var(--mono)}.profiler-visual>span{position:absolute;top:19px;right:20px;color:#94a3b8}.profiler-visual i{flex:1;height:var(--h);border-top:2px solid #38bdf8;background:linear-gradient(rgba(56,189,248,.35),rgba(56,189,248,.03))}.profiler-visual b{position:absolute;left:20px;bottom:18px;font-weight:400}.caption-visual{position:relative;padding:30px;background:#e0f2fe;color:var(--primary)}.caption-visual .wave{height:80px;display:flex;align-items:center;gap:7px}.caption-visual .wave i{flex:1;height:20%;background:var(--accent);border-radius:3px}.caption-visual .wave i:nth-child(2),.caption-visual .wave i:nth-child(7){height:50%}.caption-visual .wave i:nth-child(3),.caption-visual .wave i:nth-child(6){height:80%}.caption-visual .wave i:nth-child(4){height:42%}.caption-visual .wave i:nth-child(5){height:65%}.caption-visual p{position:absolute;bottom:27px;left:30px;margin:0;font-size:21px;line-height:1.3;font-weight:600;letter-spacing:-.035em}.caption-visual>span{position:absolute;right:28px;bottom:30px;color:var(--muted);font:400 9px var(--mono)}.compact-copy{padding:24px 5px 5px}.compact-copy h3{margin:9px 0 8px;font-size:24px;letter-spacing:-.035em}.compact-copy>span{color:var(--muted);font-size:12px}.corner-arrow{position:absolute;right:25px;bottom:30px;width:20px;color:var(--accent)}.all-work-link{margin:38px 0 0 auto;width:fit-content}
.about{background:#fff;box-shadow:0 0 0 100vmax #fff;clip-path:inset(0 -100vmax)}.about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:100px}.about-story p{max-width:730px;margin:0;font-size:clamp(19px,2.1vw,28px);line-height:1.7;letter-spacing:-.03em}.about-story p+p{margin-top:34px;color:var(--secondary)}.about-facts dl{margin:0;border-top:1px solid var(--primary)}.about-facts dl div{min-height:64px;display:grid;grid-template-columns:110px 1fr;align-items:center;border-bottom:1px solid var(--line)}.about-facts dt{font:400 9px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.09em}html[lang=ja] .about-facts dt{font-family:var(--jp);font-weight:500}.about-facts dd{margin:0;font-size:13px;font-weight:600}.profile-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.profile-links a{display:flex;align-items:center;justify-content:space-between;min-height:46px;padding:0 13px;border:1px solid var(--line);border-radius:7px;font-size:11px;font-weight:600;transition:border-color 200ms ease-out,color 200ms ease-out,background 200ms ease-out}.profile-links a:hover{border-color:#7dd3fc;background:var(--accent-light);color:var(--accent)}.profile-links svg{width:16px}.disclaimer{margin:24px 0 0;color:var(--muted);font-size:9px;line-height:1.7}
.credential-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.credential-card{position:relative;min-height:315px;padding:30px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;background:#fff;transition:border-color 200ms ease-out,box-shadow 200ms ease-out}.credential-card:hover{border-color:#94a3b8;box-shadow:0 12px 28px rgba(15,23,42,.09)}.credential-index{font:400 9px var(--mono);color:var(--muted)}.credential-card p{margin:55px 0 12px;color:var(--accent);font:500 10px var(--mono);letter-spacing:.1em}.credential-card h3{margin:0 0 8px;font-size:25px;letter-spacing:-.04em}.credential-card strong{font-size:13px;color:var(--secondary)}.credential-card small{margin-top:auto;font:400 8px var(--mono);color:var(--muted);letter-spacing:.08em}.credential-card svg{position:absolute;top:27px;right:27px;width:20px;color:var(--accent)}.credential-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:22px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.credential-footer p{margin:0;max-width:700px;color:var(--muted);font-size:10px;line-height:1.7}.credential-footer a{display:flex;align-items:center;gap:25px;color:var(--accent);font-size:11px;font-weight:600}
.contact{margin-bottom:24px;padding-top:90px;padding-bottom:90px;border-radius:16px;background:var(--primary);color:#fff;box-shadow:0 20px 40px rgba(15,23,42,.15)}.contact>*{margin-inline:64px}.contact .section-number{color:#94a3b8}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end;margin-top:55px}.contact h2{margin:0;font-size:clamp(42px,6vw,76px);line-height:1.08;letter-spacing:-.06em;font-weight:600}html[lang=ja] .contact h2{font-family:var(--jp);font-size:clamp(42px,4vw,52px);line-height:1.2;letter-spacing:-.045em;font-weight:700}.contact-grid>div p{color:#cbd5e1;font-size:13px;line-height:1.8}.contact-grid>div a{margin-top:27px;padding-bottom:7px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #64748b;font-size:clamp(20px,2.4vw,30px);font-weight:600;transition:color 200ms ease-out,border-color 200ms ease-out}.contact-grid>div a:hover{color:#7dd3fc;border-color:#7dd3fc}.contact-grid small{display:block;margin-top:12px;color:#94a3b8;font-size:9px}footer{min-height:105px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font:400 9px var(--mono)}footer>a:last-child{display:flex;align-items:center;gap:12px;transition:color 200ms ease-out}footer>a:last-child:hover{color:var(--accent)}
[data-js=true] .reveal{opacity:0;transform:translateY(18px);transition:opacity 450ms ease-out,transform 450ms ease-out}[data-js=true] .reveal.visible{opacity:1;transform:none}
@keyframes sql-code-in{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}@keyframes sql-step-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes sql-arrow-in{from{opacity:0;transform:translateX(-5px)}to{opacity:1;transform:none}}@keyframes sql-driver-active{0%,100%{box-shadow:inset 0 3px #0ea5e9}50%{box-shadow:inset 0 3px #0ea5e9,0 0 0 4px rgba(14,165,233,.2)}}@keyframes sql-token-active{0%,100%{text-shadow:none}50%{text-shadow:0 0 10px rgba(251,191,36,.9)}}@keyframes sql-result-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}[data-js=true] .orafit-card.visible .code-window p{animation:sql-code-in 360ms ease-out both}[data-js=true] .orafit-card.visible .code-window p:nth-child(1){animation-delay:320ms}[data-js=true] .orafit-card.visible .code-window p:nth-child(2){animation-delay:400ms}[data-js=true] .orafit-card.visible .code-window p:nth-child(3){animation-delay:480ms}[data-js=true] .orafit-card.visible .code-window p:nth-child(4){animation-delay:560ms}[data-js=true] .orafit-card.visible .code-window p:nth-child(5){animation-delay:640ms}[data-js=true] .orafit-card.visible .code-window p:nth-child(6){animation-delay:720ms}[data-js=true] .orafit-card.visible .code-fn{animation:sql-token-active 600ms 700ms ease-out both}[data-js=true] .orafit-card.visible .analysis-flow>div{animation:sql-step-in 420ms ease-out both}[data-js=true] .orafit-card.visible .analysis-flow>div:nth-child(1){animation-delay:860ms}[data-js=true] .orafit-card.visible .analysis-flow>div:nth-child(3){animation:sql-step-in 420ms 1080ms ease-out both,sql-driver-active 700ms 1260ms ease-out both}[data-js=true] .orafit-card.visible .analysis-flow>div:nth-child(5){animation-delay:1460ms}[data-js=true] .orafit-card.visible .analysis-flow>svg{animation:sql-arrow-in 300ms ease-out both}[data-js=true] .orafit-card.visible .analysis-flow>svg:nth-child(2){animation-delay:1010ms}[data-js=true] .orafit-card.visible .analysis-flow>svg:nth-child(4){animation-delay:1370ms}[data-js=true] .orafit-card.visible .demo-result{animation:sql-result-in 440ms 1720ms ease-out both}
@media(min-width:769px){.hero-proof span,.system-toolbar,.system-status,.system-node small,.system-node span,.system-core span,.tech-list li,.profiler-visual,.caption-visual>span,.about-facts dt,.disclaimer,.credential-index,.credential-card small,footer{font-size:10px}html[lang=ja] .contact-grid{grid-template-columns:1fr 1fr;gap:64px}}
.disclaimer{font-size:11px;line-height:1.8}
@media(min-width:1200px){html[lang=ja] .contact-grid>div p{white-space:nowrap}}
@media(max-width:1024px){.hero{grid-template-columns:1fr;min-height:auto}.system-card{min-height:560px}.orafit-card{grid-template-columns:1fr}.product-demo{min-height:450px}.about-grid{gap:55px}.contact>*{margin-inline:44px}html[lang=ja] .contact-grid,html[lang=en] .contact-grid{grid-template-columns:1fr}}
@media(max-width:768px){.section-shell{width:min(calc(100% - 32px),var(--max))}.nav-shell{top:10px;left:10px;right:10px;height:60px}.nav-shell nav{display:none}.brand b{display:none}.hero{padding-top:115px;padding-bottom:70px;gap:50px}.hero h1{font-size:clamp(42px,13vw,64px)}html[lang=ja] .hero h1{font-size:clamp(32px,8.5vw,36px);line-height:1.35}html[lang=en] .hero h1{font-size:clamp(30px,8.2vw,33px);line-height:1.2}html[lang=ja] .section-heading h2,html[lang=ja] .contact h2{font-size:clamp(28px,7.6vw,31px);line-height:1.35}html[lang=en] .section-heading h2,html[lang=en] .contact h2{font-size:clamp(28px,7.6vw,31px);line-height:1.3;letter-spacing:-.045em}html[lang=ja] .card-copy h3{font-size:clamp(27px,6.95vw,30px)}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.hero-proof{gap:12px}.system-card{min-height:490px}.system-canvas{min-height:398px}.system-node{width:88px;min-height:70px;padding:10px}.system-node b{font-size:16px}.system-node span{font-size:7px}.system-node small{font-size:6px}.node-cloud,.node-data{left:calc(50% - 44px)}.node-java{left:4%}.node-devops{right:4%}.system-core{width:72px;height:72px}.system-status{gap:9px;padding-inline:10px;font-size:7px}.work,.about,.credentials{padding-top:80px;padding-bottom:80px}.section-heading{grid-template-columns:1fr;gap:28px;margin-bottom:42px}.project-grid,.credential-grid,.about-grid,.contact-grid{grid-template-columns:1fr}.card-copy{padding:28px 24px}.card-meta{flex-direction:column}.product-name{margin-top:45px}.product-demo{margin:10px;min-height:auto}.project-card.compact{min-height:440px}.about-grid{gap:55px}.credential-card{min-height:265px}.credential-footer{align-items:flex-start;flex-direction:column}.contact{width:calc(100% - 20px);padding-top:64px;padding-bottom:64px}.contact>*{margin-inline:24px}.contact-grid{gap:45px;margin-top:40px}footer{flex-wrap:wrap;gap:18px;padding-block:30px}}
@media(min-width:375px) and (max-width:768px){html[lang=ja] .section-heading h2 .ja,html[lang=ja] .contact h2 .ja,html[lang=en] .hero h1 .en,html[lang=en] .section-heading h2 .en,html[lang=en] .contact h2 .en{white-space:nowrap}}
@media(max-width:390px){.hero-proof strong{font-size:14px}.hero-proof span{font-size:6px}.caption-visual p{font-size:18px}.about-facts dl div{grid-template-columns:90px 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-js=true] .reveal{opacity:1;transform:none}}
.project-card.compact.orafit-card{grid-column:auto;min-height:470px;display:flex;grid-template-columns:none}.orafit-visual{position:relative;padding:22px;background:#0f172a;color:#e2e8f0;font:400 10px var(--mono)}.orafit-visual-kicker{color:#94a3b8;font-size:9px;letter-spacing:.08em}.orafit-visual-code{display:grid;gap:10px;margin-top:38px}.orafit-visual-code code{padding:10px 11px;border:1px solid #334155;border-radius:6px;background:#172033;color:#cbd5e1;font:400 11px var(--mono)}.orafit-visual-code i{color:#fbbf24;font-style:normal}.orafit-visual-flow{position:absolute;right:22px;bottom:43px;left:22px;display:flex;align-items:center;gap:8px}.orafit-visual-flow b{flex:1;padding:11px 9px;border:1px solid #334155;border-radius:6px;color:#f8fafc;font-size:10px;text-align:center}.orafit-visual-flow b:last-child{border-color:#0e7490;background:#172033}.orafit-visual-flow i{color:#7dd3fc;font-style:normal}.orafit-visual-badge{position:absolute;right:22px;bottom:16px;color:#fbbf24;font-size:8px;letter-spacing:.08em}.orafit-card .compact-copy>span{max-width:280px;display:block;line-height:1.6}
@media(max-width:768px){.product-demo{margin:12px}.demo-title{padding-inline:14px;font-size:8px}.code-window{padding:16px 14px;font-size:10px;line-height:1.7;overflow-x:auto}.code-window p{white-space:nowrap}.code-window .code-context{gap:12px;font-size:8px}.analysis-flow{grid-template-columns:1fr;gap:0;padding:16px 14px 18px}.analysis-flow>div{min-height:auto;padding:14px}.analysis-flow>svg{width:18px;height:28px;margin-left:18px;transform:rotate(90deg)}.analysis-flow span{font-size:9px}.analysis-flow b{margin-top:7px;font-size:13px;letter-spacing:.06em}.analysis-flow small{margin-top:9px;font-size:10px;line-height:1.4}.demo-result{margin:0 14px 14px;padding:13px;align-items:flex-start;gap:10px}.demo-result code{white-space:normal;overflow-wrap:anywhere;line-height:1.5}.demo-result b{align-self:flex-start}}
@media(min-width:1200px){.project-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.project-card.compact{min-height:500px}}
@media(max-width:768px){.project-card.compact.orafit-card{min-height:500px}}
@media(max-width:768px){.project-card.compact .compact-copy{padding-right:42px;padding-bottom:28px}}
.orafit-visual{padding:22px 16px}.orafit-visual-kicker{font-size:8px;letter-spacing:.1em}.orafit-visual-flow{position:absolute;top:61px;right:16px;bottom:auto;left:16px;display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr) 16px minmax(0,1fr);align-items:center;gap:4px}.orafit-visual-flow>i{color:#7dd3fc;font-style:normal;text-align:center}.orafit-node{min-height:87px;padding:10px 8px;border:1px solid #334155;border-radius:6px;background:#172033;display:flex;flex-direction:column;justify-content:center}.orafit-node small{color:#7dd3fc;font:500 7px/1.3 var(--mono);letter-spacing:.06em}.orafit-node b{margin-top:7px;color:#f8fafc;font-size:10px;line-height:1.3}.orafit-node em{margin-top:6px;color:#94a3b8;font:400 8px/1.3 var(--mono);font-style:normal}.orafit-node-driver{border-color:#0ea5e9;box-shadow:inset 0 3px #0ea5e9}.orafit-node-driver small{color:#fbbf24}.orafit-node-db{border-color:#0e7490}.orafit-visual-rule{position:absolute;right:16px;bottom:43px;left:16px;display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;color:#94a3b8;font:400 8px var(--mono)}.orafit-visual-rule code{padding:5px 6px;border-radius:4px;background:#172033;color:#e2e8f0;font:400 8px var(--mono)}.orafit-visual-rule code:first-child{color:#fbbf24}.orafit-visual-rule i{color:#7dd3fc;font-style:normal}.orafit-visual-rule span{color:#475569}.orafit-visual-policy{position:absolute;left:16px;bottom:16px;color:#fbbf24;font-size:7px;letter-spacing:.1em;text-transform:uppercase}.orafit-visual-badge{right:16px;bottom:16px;font-size:7px;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:768px){.orafit-visual{padding:18px 12px}.orafit-visual-kicker{font-size:7px}.orafit-visual-flow{top:55px;right:12px;bottom:auto;left:12px;grid-template-columns:minmax(0,1fr) 13px minmax(0,1fr) 13px minmax(0,1fr);gap:3px}.orafit-node{min-height:91px;padding:8px 6px}.orafit-node small{font-size:6px}.orafit-node b{font-size:9px}.orafit-node em{font-size:7px}.orafit-visual-rule{right:12px;bottom:43px;left:12px;gap:3px;font-size:7px}.orafit-visual-rule code{padding:4px 4px;font-size:7px}.orafit-visual-policy{left:12px;bottom:16px;font-size:6px}.orafit-visual-badge{right:12px;bottom:16px;font-size:6px}}
html[lang=ja] .orafit-card .compact-copy>span.en,html[lang=en] .orafit-card .compact-copy>span.ja{display:none!important}html[lang=en] .orafit-card .compact-copy>span.en{display:block!important}
