:root{--color-primary:#0086d1;--color-primary-dark:#005f9e;--color-text:#4c4948;--color-muted:#7a7a7a;--color-bg:#fff;--color-bg-soft:#f4f8fb;--color-border:#e6eef3;--color-shadow:#0b2a3d1f;--font-en:"Helvetica Neue", Helvetica, Arial, sans-serif;--font-ja:"Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;--font-display:"Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;--container:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--color-text);background:var(--color-bg);font-family:var(--font-ja);letter-spacing:0;margin:0;line-height:1.8;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.webgl-root{z-index:2;pointer-events:none;opacity:1;position:fixed;inset:0}.webgl-root canvas{display:block}.site-header{z-index:20;background:0 0;justify-content:space-between;align-items:center;min-height:148px;padding:0 clamp(26px,5.4vw,78px);display:flex;position:absolute;inset:0 0 auto}.brand{align-items:center;width:clamp(136px,11.4vw,176px);display:inline-flex}.site-nav{color:#313131;font-family:var(--font-en);letter-spacing:.36em;align-items:center;gap:clamp(24px,3vw,48px);padding-top:2px;font-size:11px;font-weight:600;display:flex}.site-nav a{white-space:nowrap;transition:color .18s}.site-nav a:hover{color:var(--color-primary)}.menu-button{display:none}.hero{background:linear-gradient(90deg,#fffffffa 0%,#fffffff0 43%,#fff0 56%),#fff;min-height:100vh;padding:0 clamp(28px,5.8vw,86px);position:relative;overflow:hidden}.hero:after{content:"";z-index:0;border:1px solid #0086d114;border-radius:50%;width:58vw;height:58vw;position:absolute;bottom:-34vw;left:-16vw}.hero-visual{z-index:0;pointer-events:none;width:min(54vw,880px);position:absolute;top:0;bottom:0;right:0;overflow:hidden}.hero-visual:before{content:"";z-index:2;background:linear-gradient(90deg,#fff 0% 10%,#ffffffb8 20%,#fff0 42%);position:absolute;inset:0}.hero-visual img{z-index:1;opacity:0;will-change:opacity, filter;width:auto;max-width:none;height:calc(100vh + 118px);min-height:760px;animation:1.5s cubic-bezier(.19,1,.22,1) .18s forwards heroImageReveal;position:absolute;top:-118px;right:-1px}@keyframes heroImageReveal{0%{opacity:0;filter:blur(12px)}to{opacity:1;filter:blur()}}.hero-content{z-index:5;width:min(46vw,620px);margin-left:clamp(14px,2.6vw,48px);padding-top:clamp(248px,30vh,330px);position:relative}.hero-copy{color:#424040;font-family:var(--font-display);letter-spacing:.16em;white-space:nowrap;margin:0;font-size:clamp(44px,4.85vw,74px);font-weight:500;line-height:1.55}.hero-copy span{color:var(--color-primary)}.hero-sub{color:var(--color-primary);font-family:var(--font-en);letter-spacing:.36em;margin:24px 0 0;font-size:clamp(12px,1.08vw,16px);font-weight:700;line-height:1.2}.hero-services{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4.6vw,66px);width:min(46vw,520px);margin-top:clamp(68px,8.4vh,94px);display:grid}.hero-services article{min-width:0}.hero-services span{background:var(--color-primary);width:92px;height:1px;margin-bottom:22px;display:block}.hero-services h2{color:var(--color-primary);font-family:var(--font-en);letter-spacing:.13em;margin:0 0 14px;font-size:13px;font-weight:700;line-height:1.3}.hero-services p{color:#555;margin:0;font-size:12px;font-weight:600;line-height:2.05}.hero-message{z-index:5;border-left:1px solid var(--color-primary);width:min(570px,52vw);padding-left:45px;position:absolute;bottom:clamp(34px,5.2vh,54px);left:clamp(42px,8.2vw,132px)}.hero-message p{color:var(--color-primary);letter-spacing:.2em;margin:0 0 4px;font-size:14px;font-weight:700;line-height:1.55}.hero-message small{color:var(--color-primary);font-family:var(--font-en);letter-spacing:.28em;font-size:8px;font-weight:700;line-height:1.6;display:block}.section{padding:118px clamp(22px,4.8vw,68px);position:relative}.section-inner{z-index:5;width:min(100%, var(--container));margin:0 auto;position:relative}.section-heading{max-width:620px;margin-bottom:46px}.section-heading.centered{text-align:center;margin-left:auto;margin-right:auto}.section-heading p,.eyebrow{color:var(--color-primary);font-family:var(--font-en);letter-spacing:.32em;margin:0 0 14px;font-size:12px;font-weight:700;line-height:1.5}.section-heading h2,.contact-panel h2{color:#343232;margin:0;font-size:clamp(28px,2.8vw,42px);font-weight:600;line-height:1.48}.services-section{background:#fff}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.service-card{border:1px solid var(--color-border);background:#fff;border-radius:6px;min-height:278px;padding:30px 28px 32px;position:relative;box-shadow:0 18px 48px #0b2a3d0f}.card-line{background:var(--color-primary);width:88px;height:3px;position:absolute;inset:-1px auto auto -1px}.card-index{color:#0086d147;font-family:var(--font-en);margin:0 0 46px;font-size:42px;font-weight:300;line-height:1}.service-card h3{color:var(--color-primary-dark);font-family:var(--font-en);letter-spacing:.16em;margin:0 0 18px;font-size:17px;line-height:1.35}.service-card p:last-child{color:#666;margin:0;font-size:14px;line-height:2}.strengths-section{background:var(--color-bg-soft)}.split{grid-template-columns:minmax(0,.86fr) minmax(0,1fr);align-items:start;gap:66px;display:grid}.strength-list{border-top:1px solid var(--color-border);gap:0;display:grid}.strength-list article{border-bottom:1px solid var(--color-border);padding:30px 0}.strength-list span{color:var(--color-primary);font-family:var(--font-en);letter-spacing:.3em;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.strength-list h3{color:#343232;margin:0 0 8px;font-size:22px;font-weight:600;line-height:1.55}.strength-list p{color:#666;margin:0;font-size:14px}.process-section{background:linear-gradient(135deg,#0086d10f,#fff0 40%),#fff}.process-grid{border:1px solid var(--color-border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.process-grid article{background:#ffffffd1;min-height:250px;padding:28px 22px}.process-grid article+article{border-left:1px solid var(--color-border)}.process-grid span{color:var(--color-primary);font-family:var(--font-en);letter-spacing:.22em;font-size:12px;font-weight:700}.process-grid h3{color:#343232;font-family:var(--font-en);margin:58px 0 14px;font-size:22px;font-weight:600}.process-grid p{color:#666;margin:0;font-size:14px;line-height:1.9}.about-section{background:#fff;padding-top:0}.company-section{background:#fff}.company-layout{grid-template-columns:minmax(0,.72fr) minmax(0,1fr);align-items:start;gap:clamp(42px,6vw,86px);display:grid}.company-profile{border-top:1px solid var(--color-border)}.company-profile dl{margin:0}.company-profile div{border-bottom:1px solid var(--color-border);grid-template-columns:150px minmax(0,1fr);gap:28px;padding:26px 0;display:grid}.company-profile dt{color:var(--color-primary);font-size:13px;font-weight:700;line-height:1.8}.company-profile dd{color:#4d4d4d;margin:0;font-size:15px;font-weight:500;line-height:1.9}.contact-panel{border:1px solid var(--color-border);background:linear-gradient(135deg,#ffffffeb,#ffffffbd),linear-gradient(110deg,#0086d124,#005f9e0a);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:42px;padding:62px;display:grid}.contact-panel p:not(.eyebrow){color:#666;max-width:720px;margin:22px 0 0;font-size:15px;line-height:2}.contact-button{background:var(--color-primary);color:#fff;min-width:180px;min-height:56px;font-family:var(--font-en);letter-spacing:.2em;border-radius:6px;justify-content:center;align-items:center;padding:0 28px;font-size:13px;font-weight:700;transition:background .18s,transform .18s;display:inline-flex}.contact-button:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.site-footer{z-index:5;border-top:1px solid var(--color-border);text-align:center;background:#fff;justify-items:center;gap:18px;padding:68px 24px 56px;display:grid;position:relative}.site-footer img{width:170px}.site-footer p{color:var(--color-primary);font-family:var(--font-en);letter-spacing:.28em;margin:0;font-size:11px;font-weight:700}.site-footer small{color:var(--color-muted);font-family:var(--font-en);font-size:11px}@media (width<=1100px){.site-header{min-height:112px}.site-nav{letter-spacing:.24em;gap:22px;font-size:10px}.hero-content{width:min(54vw,580px)}.hero-copy{font-size:clamp(40px,4.6vw,58px)}.hero-services{gap:24px;width:min(54vw,500px)}.hero-services span{width:80px}}@media (width<=860px){.site-header{-webkit-backdrop-filter:none;backdrop-filter:none;opacity:1;pointer-events:auto;background:0 0;border-bottom:0;min-height:78px;padding:0 22px;position:fixed;transform:translateY(0)}.brand{width:122px}.menu-button{z-index:12;cursor:pointer;background:0 0;border:0;border-radius:4px;place-content:center;gap:7px;width:42px;height:42px;display:inline-grid;position:relative}.menu-button span{background:var(--color-text);width:22px;height:1px;transition:transform .18s;display:block}.menu-button[aria-expanded=true] span:first-child{transform:translateY(4px)rotate(36deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-4px)rotate(-36deg)}.site-nav{border-bottom:1px solid var(--color-border);opacity:0;pointer-events:none;background:#fffffffa;gap:0;padding:18px 22px 28px;transition:opacity .18s,transform .18s;display:grid;position:fixed;inset:78px 0 auto;transform:translateY(-8px);box-shadow:0 22px 46px #0b2a3d14}.site-nav.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.site-nav a{border-bottom:1px solid var(--color-border);padding:16px 0;font-size:12px}.hero{background:#fff;min-height:900px;padding:0 24px}.hero:after{display:none}.hero-visual{opacity:.96;width:auto;height:540px;inset:208px 0 auto}.hero-visual:before{background:linear-gradient(#fff 0%,#ffffff94 22%,#fff0 54%),linear-gradient(90deg,#fff 0%,#fffffff5 28%,#ffffff94 46%,#fff0 66%)}.hero-visual img{height:690px;top:-138px;right:18px}.hero-content{width:min(100%,490px);margin-left:auto;margin-right:auto;padding-top:108px}.hero-copy{letter-spacing:.08em;white-space:normal;font-size:clamp(34px,9.4vw,52px);line-height:1.55}.hero-sub{letter-spacing:.24em;max-width:340px;margin-top:20px;font-size:12px}.hero-services{display:none}.hero-message{z-index:5;width:min(100%,490px);margin:520px auto 0;padding-left:22px;position:relative;bottom:auto;left:auto}.hero-message p{letter-spacing:.12em;font-size:13px}.hero-message small{letter-spacing:.18em;font-size:7px}.section{padding:82px 22px}.service-grid,.split,.process-grid,.company-layout,.contact-panel{grid-template-columns:1fr}.split{gap:30px}.process-grid article+article{border-top:1px solid var(--color-border);border-left:0}.process-grid article{min-height:190px}.process-grid h3{margin-top:34px}.company-profile div{grid-template-columns:1fr;gap:6px;padding:22px 0}.company-profile dd{font-size:14px}.contact-panel{padding:42px 26px}.contact-button{width:100%}}@media (width<=480px){.hero{min-height:900px}.hero-visual{height:520px;top:220px;left:0;right:0}.hero-visual img{height:660px;top:-132px;right:-42px}}.domain-section,.ai-tech-section{background:#fff}.consulting-section{background:var(--color-bg-soft)}.marketing-section{background:#fff}.platform-section{background:linear-gradient(#fff 0%,#fbfdfe 100%)}.platform-section:before{content:"";background:var(--color-border);height:1px;position:absolute;inset:0 0 auto}.platform-layout{grid-template-columns:minmax(0,1fr) minmax(0,.92fr);align-items:center;gap:clamp(48px,6vw,88px);display:grid}.platform-lead{color:#555;margin:0 0 38px;font-size:15px;line-height:2.05}.platform-points{border-top:1px solid var(--color-border);gap:0;margin:0;padding:0;list-style:none;display:grid}.platform-points li{border-bottom:1px solid var(--color-border);padding:26px 0}.platform-points span{color:var(--color-primary);font-family:var(--font-en);letter-spacing:.3em;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.platform-points h3{color:#343232;margin:0 0 6px;font-size:18px;font-weight:600;line-height:1.55}.platform-points p{color:#666;margin:0;font-size:14px;line-height:1.9}.platform-diagram{aspect-ratio:1;border:1px solid var(--color-border);background:radial-gradient(circle at 78% 28%,#0086d112,#0000 55%),#fff;border-radius:8px;width:100%;max-width:460px;margin-left:auto;padding:18px;position:relative}.platform-diagram .diagram-lines{width:calc(100% - 36px);height:calc(100% - 36px);position:absolute;inset:18px}.platform-diagram .diagram-lines line{stroke:#0086d166;stroke-width:1px;stroke-dasharray:4 5}.platform-diagram .node{aspect-ratio:1;border:1px solid var(--color-primary);text-align:center;background:#fff;border-radius:50%;place-items:center;width:clamp(108px,28%,132px);padding:12px;display:grid;position:absolute;box-shadow:0 12px 30px #0b2a3d14}.platform-diagram .node span{color:var(--color-primary);font-family:var(--font-en);letter-spacing:.28em;margin-bottom:4px;font-size:9px;font-weight:700;display:block}.platform-diagram .node p{color:#343232;margin:0;font-size:13px;font-weight:600;line-height:1.4}.platform-diagram .node-clinic{top:10%;left:6%}.platform-diagram .node-hub{background:radial-gradient(circle at 30% 30%,#fff,#f4faff 75%);border-width:1.5px;width:clamp(124px,32%,152px);top:50%;right:8%;transform:translateY(-50%);box-shadow:0 18px 40px #005f9e2e}.platform-diagram .node-hub span{color:var(--color-primary-dark)}.platform-diagram .node-hub p{color:var(--color-primary-dark);font-family:var(--font-en);letter-spacing:.04em;font-size:14px}.platform-diagram .node-patient{bottom:10%;left:6%}.tech-diagram{padding:22px}.tech-diagram .neural-net{width:auto;height:auto;position:absolute;inset:8% 4% 22%}.tech-diagram .neural-net line{stroke:#0086d147;stroke-width:1px}.tech-diagram .neural-net circle{fill:#fff;stroke:var(--color-primary);stroke-width:1.5px}.tech-diagram .neural-net circle.hub{fill:var(--color-primary);stroke:var(--color-primary-dark)}.tech-diagram .net-label{text-align:center;width:30%;position:absolute;bottom:6%}.tech-diagram .net-label span{color:var(--color-primary);font-family:var(--font-en);letter-spacing:.24em;margin-bottom:4px;font-size:9px;font-weight:700;display:block}.tech-diagram .net-label p{color:#343232;font-family:var(--font-en);letter-spacing:.14em;margin:0;font-size:12px;font-weight:600}.tech-diagram .net-label-input{left:2%}.tech-diagram .net-label-model{left:50%;transform:translate(-50%)}.tech-diagram .net-label-output{right:2%}@media (width<=860px){.platform-layout{grid-template-columns:1fr;gap:40px}.platform-diagram{max-width:340px;margin:0 auto}}.consulting-diagram .step{aspect-ratio:1;border:1px solid var(--color-primary);text-align:center;background:#fff;border-radius:50%;place-items:center;width:clamp(96px,26%,124px);padding:10px;display:grid;position:absolute;box-shadow:0 10px 26px #0b2a3d14}.consulting-diagram .step span{color:var(--color-primary);font-family:var(--font-en);letter-spacing:.28em;margin-bottom:4px;font-size:9px;font-weight:700;display:block}.consulting-diagram .step p{color:#343232;font-family:var(--font-en);letter-spacing:.12em;margin:0;font-size:13px;font-weight:600}.consulting-diagram .step-01{top:6%;left:6%}.consulting-diagram .step-02{background:radial-gradient(circle at 30% 30%,#fff,#f4faff 70%);border-width:1.5px;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 14px 32px #005f9e26}.consulting-diagram .step-03{bottom:6%;right:6%}.marketing-diagram .diagram-ring{width:calc(100% - 36px);height:calc(100% - 36px);position:absolute;inset:18px}.marketing-diagram .diagram-ring circle{fill:none;stroke:#0086d152;stroke-width:1px;stroke-dasharray:5 6}.marketing-diagram .loop{aspect-ratio:1;border:1px solid var(--color-primary);text-align:center;background:#fff;border-radius:50%;place-items:center;width:clamp(92px,24%,116px);padding:10px;display:grid;position:absolute;box-shadow:0 10px 22px #0b2a3d0f}.marketing-diagram .loop span{color:var(--color-primary);font-family:var(--font-en);letter-spacing:.2em;margin-bottom:2px;font-size:11px;font-weight:700;display:block}.marketing-diagram .loop p{color:#343232;font-family:var(--font-en);letter-spacing:.16em;margin:0;font-size:12px;font-weight:600}.marketing-diagram .loop-top{top:2%;left:50%;transform:translate(-50%)}.marketing-diagram .loop-right{top:50%;right:2%;transform:translateY(-50%)}.marketing-diagram .loop-bottom{bottom:2%;left:50%;transform:translate(-50%)}.marketing-diagram .loop-left{top:50%;left:2%;transform:translateY(-50%)}
