01
SERVICE
06
RECRUIT
● MENU
01 — SERVICE +
02 — ACHIEVEMENTS 03 — NEWS 04 — ARTICLES 05 — ABOUT
06 — RECRUIT +
@import url(‘https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500;700;800;900&family=JetBrains+Mono:wght@400;500;700&display=swap’); :root{ –orange-1: #6D28D9; –orange-2: #A78BFA; –orange-3: #DDD6FE; –orange-pale: #F3E8FF; –orange-pale-2: #FAF5FF; –ink: #1F1147; –ink-2: #3a2e6e; –ink-3: #7a749b; –paper: #ffffff; –paper-2: #FAF5FF; –paper-3: #2E1065; –rule: #E9E0F5; –yellow: #FFE066; –yellow-deep: #FFC940; } *{ box-sizing:border-box; margin:0; padding:0; } html{ scroll-behavior:smooth; } body{ font-family:”M PLUS Rounded 1c”, -apple-system, “Hiragino Sans”, system-ui, sans-serif; font-weight:500; color:var(–ink); background:var(–paper); line-height:1.85; -webkit-font-smoothing:antialiased; font-feature-settings:”palt” 1; } .wrap{ max-width:1100px; margin:0 auto; padding:0 32px; } @media(max-width:720px){ .wrap{ padding:0 20px; } } .mono{ font-family:”JetBrains Mono”, monospace; font-feature-settings:”tnum” 1; } /* ——— NAV ——— */ nav{ position:sticky; top:0; z-index:30; background:rgba(255,255,255,.92); backdrop-filter:saturate(180%) blur(10px); border-bottom:1px solid rgba(31,17,71,.06); } .nav-inner{ display:flex; align-items:center; justify-content:space-between; height:68px; max-width:1100px; margin:0 auto; padding:0 32px; } .logo{ font-weight:900; font-size:18px; color:var(–ink); letter-spacing:.01em; } .logo small{ display:block; font-family:”JetBrains Mono”,monospace; font-size:10px; font-weight:500; letter-spacing:.16em; color:var(–ink-3); margin-top:2px; } .nav-links{ display:flex; gap:28px; align-items:center; } .nav-links a{ font-size:14px; color:var(–ink-2); text-decoration:none; font-weight:700; } .nav-links a:hover{ color:var(–orange-1); } .nav-cta{ background:var(–ink); color:#fff!important; padding:12px 22px; border-radius:999px; font-size:13.5px!important; } .nav-cta:hover{ background:var(–orange-1)!important; color:#fff!important; } @media(max-width:720px){ .nav-links a:not(.nav-cta){ display:none; } } /* ——— HERO (Lavender gradient with shapes) ——— */ .hero{ position:relative; overflow:hidden; background:linear-gradient(135deg, var(–orange-1) 0%, var(–orange-2) 60%, var(–orange-3) 120%); color:#fff; padding:104px 0 160px; } .hero .wrap{ position:relative; z-index:2; } .hero-eyebrow{ display:inline-block; font-family:”JetBrains Mono”,monospace; font-size:12px; letter-spacing:.2em; color:#fff; background:rgba(46,16,101,.32); padding:6px 18px; border-radius:999px; margin-bottom:24px; } .hero h1{ font-size:clamp(34px, 5.4vw, 60px); font-weight:900; line-height:1.32; letter-spacing:-0.005em; max-width:880px; } .hero h1 .mark{ background:linear-gradient(transparent 62%, var(–yellow) 62%, var(–yellow) 92%, transparent 92%); padding:0 6px; color:var(–ink); } .hero-sub{ margin-top:28px; max-width:680px; font-size:17px; line-height:1.95; color:rgba(255,255,255,.92); font-weight:500; } .hero-chips{ margin-top:36px; display:flex; flex-wrap:wrap; gap:10px; } .chip{ background:#fff; color:var(–orange-1); padding:10px 20px; border-radius:999px; font-size:13.5px; font-weight:700; box-shadow:0 4px 16px rgba(31,17,71,.16); } .chip::before{ content:”●”; color:var(–orange-2); margin-right:6px; font-size:10px; } .hero-cta{ margin-top:42px; display:flex; gap:14px; flex-wrap:wrap; } .btn-pri{ display:inline-block; padding:18px 36px; background:var(–ink); color:#fff!important; text-decoration:none; border-radius:999px; font-size:15px; font-weight:800; box-shadow:0 6px 22px rgba(31,17,71,.32); } .btn-pri:hover{ background:#fff; color:var(–orange-1)!important; } .btn-ghost{ display:inline-block; padding:17px 32px; background:rgba(255,255,255,.16); color:#fff!important; text-decoration:none; border-radius:999px; font-size:14.5px; font-weight:700; border:1.5px solid rgba(255,255,255,.6); backdrop-filter:blur(4px); } .btn-ghost:hover{ background:#fff; color:var(–orange-1)!important; border-color:#fff; } /* Hero decorative shapes */ .hero::before, .hero::after{ content:””; position:absolute; pointer-events:none; } .hero::before{ width:120px; height:120px; background:rgba(255,255,255,.16); border-radius:50%; top:80px; right:8%; } .hero::after{ width:46px; height:46px; background:var(–yellow); top:32%; left:62%; transform:rotate(20deg); } .shape{ position:absolute; pointer-events:none; } .shape-x{ top:18%; right:14%; font-size:32px; color:#fff; transform:rotate(15deg); font-weight:900; } .shape-dot{ top:22%; left:78%; width:18px; height:18px; background:var(–yellow); border-radius:50%; } .shape-square{ bottom:30%; right:10%; width:30px; height:30px; border:3px solid #fff; transform:rotate(28deg); } .shape-small{ bottom:18%; left:8%; width:14px; height:14px; background:#fff; border-radius:50%; opacity:.7; } /* Wave divider */ .wave{ position:absolute; left:0; right:0; bottom:-1px; width:100%; height:80px; pointer-events:none; } /* ——— SECTION COMMON ——— */ section.bg-white{ background:var(–paper); padding:96px 0; } section.bg-pale{ background:var(–paper-2); padding:96px 0; } @media(max-width:720px){ section.bg-white, section.bg-pale{ padding:64px 0; } } .sec-num{ display:inline-block; font-family:”JetBrains Mono”,monospace; font-size:13px; color:var(–orange-1); letter-spacing:.18em; font-weight:700; margin-bottom:18px; } h2.sec-title{ font-size:clamp(26px, 3.6vw, 38px); font-weight:900; line-height:1.4; color:var(–ink); margin-bottom:24px; max-width:840px; } h2.sec-title .mark{ background:linear-gradient(transparent 62%, var(–yellow) 62%, var(–yellow) 92%, transparent 92%); padding:0 4px; } .sec-lead{ font-size:16px; color:var(–ink-2); max-width:740px; line-height:1.95; margin-bottom:48px; } /* ——— ISSUE CARDS (2×3 grid) ——— */ .issue-grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:20px; } @media(max-width:720px){ .issue-grid{ grid-template-columns:1fr; } } .issue-card{ background:#fff; border-radius:18px; padding:26px 28px; display:grid; grid-template-columns:46px 1fr; gap:18px; align-items:start; box-shadow:0 4px 22px rgba(31,17,71,.06); border:1.5px solid rgba(109,40,217,.08); transition:transform .25s ease, box-shadow .25s ease; } .issue-card:hover{ transform:translateY(-2px); box-shadow:0 8px 32px rgba(31,17,71,.12); border-color:rgba(109,40,217,.4); } .issue-num{ width:46px; height:46px; background:var(–orange-pale); color:var(–orange-1); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:”JetBrains Mono”,monospace; font-weight:700; font-size:14px; } .issue-head{ font-size:16px; font-weight:800; line-height:1.55; margin-bottom:6px; color:var(–ink); } .issue-text{ font-size:13.5px; line-height:1.85; color:var(–ink-2); } /* ——— APPROACH (Center quote) ——— */ .approach-box{ background:var(–orange-pale-2); border-radius:24px; padding:64px 56px; border:1.5px solid rgba(109,40,217,.18); position:relative; max-width:880px; margin:0 auto; text-align:center; } @media(max-width:720px){ .approach-box{ padding:40px 24px; } } .approach-box::before{ content:”” ; position:absolute; top:-22px; left:50%; transform:translateX(-50%); width:44px; height:44px; background:var(–orange-1); border-radius:50%; box-shadow:0 4px 16px rgba(109,40,217,.4); } .approach-box::after{ content:””; position:absolute; top:-12px; left:50%; transform:translateX(-50%); width:22px; height:14px; border:3px solid #fff; border-top:0; border-right:0; transform:translateX(-50%) rotate(-45deg); } .approach-quote{ font-size:clamp(22px, 3vw, 30px); font-weight:900; line-height:1.55; color:var(–ink); margin-bottom:18px; } .approach-quote .mark{ background:linear-gradient(transparent 62%, var(–yellow) 62%, var(–yellow) 92%, transparent 92%); padding:0 4px; } .approach-text{ font-size:15px; line-height:2; color:var(–ink-2); max-width:700px; margin:0 auto; } /* ——— FOUR DEPARTMENTS ——— */ .scope-grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:24px; } @media(max-width:720px){ .scope-grid{ grid-template-columns:1fr; } } .scope-card{ background:#fff; border-radius:20px; padding:32px 30px; box-shadow:0 4px 22px rgba(31,17,71,.06); border:1.5px solid rgba(109,40,217,.08); position:relative; } .scope-icon{ width:54px; height:54px; background:var(–orange-pale); border-radius:14px; display:flex; align-items:center; justify-content:center; margin-bottom:18px; font-family:”JetBrains Mono”,monospace; font-weight:800; color:var(–orange-1); font-size:18px; } .scope-head{ font-size:19px; font-weight:900; margin-bottom:10px; color:var(–ink); } .scope-body{ font-size:14px; line-height:1.95; color:var(–ink-2); } /* ——— PHASES ——— */ .phase-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:32px; } @media(max-width:900px){ .phase-row{ grid-template-columns:repeat(2,1fr); } } @media(max-width:560px){ .phase-row{ grid-template-columns:1fr; } } .phase-card{ background:#fff; padding:28px 24px; border-radius:18px; border:1.5px solid var(–rule); position:relative; } .phase-card .pn{ font-family:”JetBrains Mono”,monospace; font-weight:800; font-size:34px; color:var(–orange-1); line-height:1; margin-bottom:14px; } .phase-card .pp{ font-family:”JetBrains Mono”,monospace; font-size:11px; color:var(–ink-3); letter-spacing:.16em; margin-bottom:10px; } .phase-card h3{ font-size:16px; font-weight:900; color:var(–ink); margin-bottom:10px; line-height:1.45; } .phase-card p{ font-size:13px; line-height:1.85; color:var(–ink-2); } /* ——— FAQ ACCORDION ——— */ details.faq{ background:var(–paper-2); border-radius:12px; padding:0; margin-bottom:14px; overflow:hidden; border:1.5px solid var(–rule); } details.faq[open]{ border-color:var(–orange-1); background:#fff; } details.faq summary{ list-style:none; padding:22px 28px; font-size:15.5px; font-weight:700; cursor:pointer; display:flex; justify-content:space-between; gap:24px; align-items:center; color:var(–ink); } details.faq summary::-webkit-details-marker{ display:none; } details.faq summary::after{ content:”+”; font-family:”JetBrains Mono”,monospace; font-weight:700; font-size:22px; color:var(–orange-1); flex-shrink:0; transition:transform .25s ease; } details.faq[open] summary::after{ content:”−”; } details.faq summary::before{ content:”Q “; color:var(–orange-1); font-family:”JetBrains Mono”,monospace; font-weight:700; margin-right:6px; } details.faq .faq-body{ padding:0 28px 22px; font-size:14px; line-height:1.95; color:var(–ink-2); border-top:1px solid var(–rule); padding-top:18px; } /* ——— FINAL CTA ——— */ .final-cta{ background:linear-gradient(135deg, var(–orange-1), var(–orange-2)); color:#fff; padding:120px 0; position:relative; overflow:hidden; } .final-cta .wrap{ position:relative; z-index:2; text-align:center; } .final-cta h2{ font-size:clamp(28px, 4.6vw, 50px); font-weight:900; line-height:1.4; margin-bottom:24px; } .final-cta h2 .mark{ background:rgba(255,255,255,.92); color:var(–orange-1); padding:0 6px; border-radius:6px; } .final-cta p{ font-size:16px; line-height:2; max-width:640px; margin:0 auto 36px; color:rgba(255,255,255,.94); } .final-cta-steps{ display:flex; justify-content:center; gap:8px; flex-wrap:wrap; margin-bottom:40px; } .final-cta-step{ background:rgba(255,255,255,.18); border:1.5px solid rgba(255,255,255,.5); border-radius:999px; padding:8px 20px; font-size:13px; font-weight:700; display:inline-flex; gap:8px; } .final-cta-step .n{ font-family:”JetBrains Mono”,monospace; opacity:.75; } .final-cta::before{ content:””; position:absolute; width:200px; height:200px; background:rgba(255,255,255,.08); border-radius:50%; top:-60px; left:8%; } .final-cta::after{ content:””; position:absolute; width:80px; height:80px; background:var(–yellow); top:50%; right:14%; transform:rotate(18deg); opacity:.85; } /* ——— FOOTER ——— */ footer{ background:var(–paper-3); color:rgba(255,255,255,.7); padding:64px 0 48px; font-size:13px; } .foot-grid{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:48px; } @media(max-width:720px){ .foot-grid{ grid-template-columns:1fr; gap:32px; } } footer h4{ color:#fff; font-size:13px; margin-bottom:14px; letter-spacing:.04em; font-weight:800; } footer a{ color:rgba(255,255,255,.7); text-decoration:none; display:block; padding:4px 0; font-size:13px; } footer a:hover{ color:var(–orange-2); } .foot-logo{ color:#fff; font-weight:900; font-size:20px; margin-bottom:12px; } .foot-tag{ font-family:”JetBrains Mono”,monospace; font-size:10.5px; letter-spacing:.18em; color:rgba(255,255,255,.5); margin-bottom:18px; } .foot-bottom{ margin-top:48px; padding-top:24px; border-top:1px solid rgba(255,255,255,.12); font-family:”JetBrains Mono”,monospace; font-size:11px; color:rgba(255,255,255,.4); letter-spacing:.16em; text-align:center; } /* ——— Section spacing helper ——— */ .sec-head{ margin-bottom:36px; } /* ——— AI CAPABILITY GRID ——— */ .ai-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; margin-top:32px; } @media(max-width:900px){ .ai-grid{ grid-template-columns:repeat(2, 1fr); } } @media(max-width:560px){ .ai-grid{ grid-template-columns:1fr; } } .ai-card{ background:#fff; border-radius:18px; padding:24px 24px 22px; border:1.5px solid rgba(109,40,217,.08); box-shadow:0 4px 22px rgba(31,17,71,.04); position:relative; transition:transform .25s ease, box-shadow .25s ease; } .ai-card:hover{ transform:translateY(-2px); box-shadow:0 10px 30px rgba(31,17,71,.10); border-color:rgba(109,40,217,.35); } .ai-badge{ display:inline-block; font-family:”JetBrains Mono”,monospace; font-size:10.5px; letter-spacing:.16em; color:var(–orange-1); background:var(–orange-pale); padding:4px 10px; border-radius:999px; margin-bottom:14px; font-weight:700; } .ai-card h3{ font-size:16px; font-weight:900; color:var(–ink); line-height:1.55; margin-bottom:8px; } .ai-card p{ font-size:13px; line-height:1.85; color:var(–ink-2); margin-bottom:10px; } .ai-link{ font-family:”JetBrains Mono”, monospace; font-size:11px; color:var(–orange-1); text-decoration:none; display:inline-flex; align-items:center; gap:4px; font-weight:700; } .ai-link:hover{ text-decoration:underline; } /* ——— DATA FIRST CALLOUT ——— */ .data-first{ margin-top:48px; background:var(–paper-3); color:#fff; border-radius:24px; padding:48px 52px; position:relative; overflow:hidden; } @media(max-width:720px){ .data-first{ padding:32px 24px; } } .data-first-eyebrow{ font-family:”JetBrains Mono”,monospace; font-size:11px; letter-spacing:.2em; color:var(–orange-2); margin-bottom:14px; display:block; } .data-first h3{ font-size:clamp(22px, 3vw, 32px); font-weight:900; line-height:1.4; margin-bottom:18px; } .data-first h3 .mark{ background:var(–yellow); color:var(–ink); padding:2px 10px; border-radius:6px; box-decoration-break:clone; -webkit-box-decoration-break:clone; } .data-first p{ font-size:15px; line-height:2; color:rgba(255,255,255,.86); max-width:740px; } .data-first::after{ content:””; position:absolute; right:-40px; bottom:-40px; width:200px; height:200px; background:radial-gradient(circle, rgba(167,139,250,.55), transparent 70%); } /* ——— COMPARISON ——— */ .compare-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:36px; align-items:stretch; } @media(max-width:720px){ .compare-grid{ grid-template-columns:1fr; } } .compare-card{ padding:32px 32px 36px; border-radius:20px; position:relative; } .compare-card.left{ background:#fff; border:1.5px solid var(–rule); } .compare-card.right{ background:linear-gradient(135deg, var(–orange-1), var(–orange-2)); color:#fff; box-shadow:0 8px 32px rgba(109,40,217,.28); } .compare-tag{ display:inline-block; font-family:”JetBrains Mono”,monospace; font-size:11px; letter-spacing:.18em; padding:5px 14px; border-radius:999px; margin-bottom:14px; font-weight:700; } .compare-card.left .compare-tag{ background:#F0EEE8; color:var(–ink-2); } .compare-card.right .compare-tag{ background:rgba(255,255,255,.24); color:#fff; } .compare-card h3{ font-size:20px; font-weight:900; line-height:1.4; margin-bottom:18px; } .compare-card.left h3{ color:var(–ink); } .compare-card.right h3{ color:#fff; } .compare-card .price-row{ display:flex; align-items:baseline; gap:8px; margin-bottom:14px; padding-bottom:14px; border-bottom:1px solid; } .compare-card.left .price-row{ border-color:var(–rule); } .compare-card.right .price-row{ border-color:rgba(255,255,255,.3); } .compare-card .price{ font-family:”JetBrains Mono”,monospace; font-weight:800; font-size:30px; line-height:1; } .compare-card .price-unit{ font-size:13px; opacity:.7; font-weight:500; } .compare-card ul{ list-style:none; padding:0; margin:0; } .compare-card li{ font-size:13.5px; line-height:1.8; padding:6px 0 6px 22px; position:relative; } .compare-card.left li::before{ content:”×”; position:absolute; left:0; color:var(–ink-3); font-weight:700; } .compare-card.right li::before{ content:”○”; position:absolute; left:0; color:var(–yellow); font-weight:700; } .compare-savings{ margin-top:36px; padding:24px 28px; background:var(–yellow); border-radius:16px; text-align:center; } .compare-savings strong{ font-family:”JetBrains Mono”,monospace; font-size:22px; font-weight:800; color:var(–ink); display:block; margin-bottom:6px; } .compare-savings p{ font-size:13.5px; color:var(–ink-2); margin:0; line-height:1.7; } /* ——— RELATED BLOG GRID ——— */ .blog-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; margin-top:32px; } @media(max-width:900px){ .blog-grid{ grid-template-columns:repeat(2, 1fr); } } @media(max-width:560px){ .blog-grid{ grid-template-columns:1fr; } } .blog-card{ background:#fff; border-radius:14px; padding:22px 22px 20px; border:1.5px solid var(–rule); text-decoration:none; color:var(–ink); display:block; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; } .blog-card:hover{ transform:translateY(-2px); box-shadow:0 8px 28px rgba(31,17,71,.08); border-color:var(–orange-2); } .blog-tag{ font-family:”JetBrains Mono”,monospace; font-size:10px; letter-spacing:.16em; color:var(–orange-1); font-weight:700; margin-bottom:10px; display:block; } .blog-card h3{ font-size:14.5px; font-weight:800; line-height:1.55; color:var(–ink); margin:0; } .blog-card .blog-meta{ margin-top:14px; padding-top:14px; border-top:1px solid var(–rule); font-size:11.5px; color:var(–ink-3); display:flex; justify-content:space-between; } /* ——— SISTER PACKAGE NOTE ——— */ .sister-note{ margin-top:48px; padding:24px 32px; background:var(–paper-2); border-radius:14px; border-left:4px solid var(–orange-1); display:grid; grid-template-columns:1fr auto; gap:16px; align-items:center; } @media(max-width:560px){ .sister-note{ grid-template-columns:1fr; } } .sister-note p{ font-size:14px; line-height:1.8; color:var(–ink-2); margin:0; } .sister-note strong{ color:var(–ink); font-weight:800; } .sister-link{ display:inline-block; padding:10px 22px; background:#fff; color:var(–orange-1); border:1.5px solid var(–orange-1); text-decoration:none; border-radius:999px; font-size:13px; font-weight:800; white-space:nowrap; } .sister-link:hover{ background:var(–orange-1); color:#fff; } /* ——— ILLUSTRATIONS ——— */ .hero-illust{ position:absolute; right:-20px; bottom:-30px; width:36%; max-width:420px; opacity:.95; z-index:1; pointer-events:none; } @media(max-width:900px){ .hero-illust{ display:none; } } .side-illust{ width:280px; max-width:32%; float:right; margin:0 0 24px 32px; shape-outside:circle(50%); } .side-illust.left{ float:left; margin:0 32px 24px 0; } @media(max-width:720px){ .side-illust{ width:60%; float:none; display:block; margin:0 auto 28px; } } .spot-illust{ width:160px; height:auto; margin:0 auto 24px; display:block; opacity:.95; } .header-illust{ width:200px; height:auto; margin:0 0 18px; display:block; opacity:.92; } @media(max-width:720px){ .header-illust{ width:140px; margin:0 auto 18px; } } .sec-head-grid{ display:grid; grid-template-columns:120px 1fr; gap:40px; align-items:start; margin-bottom:48px; padding-top:8px; border-top:2px solid var(–ink); } .sec-head-grid .sec-num-big{ font-size:30px; font-weight:900; color:var(–orange-1); font-family:”JetBrains Mono”,monospace; display:block; line-height:1; margin-bottom:6px; } .sec-head-grid .sec-tag{ font-family:”JetBrains Mono”,monospace; font-size:11px; letter-spacing:.18em; color:var(–ink-3); font-weight:700; } .sec-head-grid h2{ margin-bottom:20px; } @media(max-width:720px){ .sec-head-grid{ grid-template-columns:1fr; gap:8px; padding-top:0; border-top:0; } .sec-head-grid .sec-num-big{ font-size:22px; margin-bottom:4px; } } .side-illust-right{ float:right; width:300px; max-width:34%; margin:0 -16px 24px 36px; shape-outside:circle(48%); opacity:.96; } @media(max-width:720px){ .side-illust-right{ float:none; width:60%; margin:0 auto 24px; display:block; } } .sec-relative{ position:relative; overflow:hidden; } .bleed-illust{ position:absolute; right:-60px; top:40px; width:360px; max-width:32%; opacity:.18; z-index:0; pointer-events:none; } .sec-relative > .wrap{ position:relative; z-index:1; } @media(max-width:720px){ .bleed-illust{ display:none; } } .divider-illust{ width:72px; height:auto; margin:0 auto; display:block; opacity:.42; transform:translateY(-24px); } .phase-illust-wrap{ height:88px; display:flex; align-items:center; justify-content:flex-start; margin-bottom:16px; } .phase-illust{ height:88px; width:auto; max-width:100%; opacity:.92; display:block; } @media(max-width:560px){ .phase-illust-wrap{ height:72px; } .phase-illust{ height:72px; } } .spot-illust.is-sm{ width:130px; opacity:.9; margin:0 auto -32px; position:relative; z-index:2; display:block; } .final-cta .spot-illust{ width:180px; transform:rotate(-5deg); margin:0 auto 24px; } /* ——— ATTRIBUTION ——— */ .attribution{ font-family:”JetBrains Mono”,monospace; font-size:10px; color:rgba(255,255,255,.4); letter-spacing:.1em; margin-top:8px; } .attribution a{ color:rgba(255,255,255,.6); text-decoration:none; }
SURVEY × AI INSIGHT PACKAGE

自由記述1万件を、
3時間で読む。

アンケートの定量と定性を、AI で同じテーブルに乗せる。
自由記述のクラスタリングから、パネルデータ分析、過去調査との通時比較まで。マーケ・CX・人事サーベイ・製薬企業マーケティング部のための、AI 分析パッケージです。

自由記述AIクラスタリング パネルデータ分析 通時比較 30分無料相談
01
PAIN POINTS

こんなお悩み、ありませんか?

アンケートを取った直後の「集計に時間がかかる」「数字は見えるが理由が見えない」状況は、調査回数を重ねるほど積み上がります。マーケ・CX・人事サーベイ・製薬企業のブランド調査、いずれの現場でも同じ悩みが繰り返されています。

01
自由記述の集計に、1週間かかる。

数千件の自由記述を1件ずつ目視で読み、Excel にタグ付けする作業。読み手によってカテゴリも揺れ、再現性が担保できない。

02
NPS・満足度の数字だけで「なぜ」が見えない。

スコアが下がった、上がった、までは分かる。だが、その背景にある顧客の声を、定量データと突き合わせて読めていない。

03
顧客の本音を、スコア化できない。

「便利」「使いにくい」「料金が気になる」── 自由記述の声を、判断に使える定量データに翻訳する仕組みがない。

04
部門ごとに、アンケート結果が共有されない。

マーケが取った調査、CXが取った調査、営業が取った調査。同じ顧客に聞いているのに、サイロ化したまま再利用できていない。

05
パネルデータ分析の専門人材が、いない。

価格・機能・ブランドの選好構造を測りたいが、社内にデータサイエンティストがおらず、外注すると1案件100万円超。

06
過去調査と比較したいが、基準が揃わない。

設問が毎回少しずつ違う、回答者属性が違う、コーディングルールが違う。通時で同じ指標を追えていない。

§02 — OUR APPROACH

定量を、定性で補強する。

スコアの裏側にある「なぜ」を、
AI で読み切る。

アンケート分析は、数値集計だけで終わらせては勿体ない。自由記述を AI でクラスタリングし、スコアと突き合わせる。パネルデータ分析を AI で軽量化し、過去調査との通時比較も可能にする。はてなベースは、パネルデータ分析・ブランドエクイティ調査の実績をもとに、テンプレを渡すのではなく、調査の目的から設計します。

§03 — WITH AI

AIで、アンケート分析はここまで変わる。

SurveyMonkey / Googleフォーム / 自社アンケートシステム / CRM のデータが一本化された後、調査のオペレーションはこんな景色になります。これらはすべて、すでに弊社の実装実績 / ブログ知見の中にある技術です。ただし、これらはすべて、データが調査横断で一本化されていることが前提です。

AI クラスタリング

自由記述のテーマ自動分類

数千件の自由記述を AI が読み、テーマごとにクラスタリング。タグ付けの揺らぎを抑え、再現性のある定性分析を提供します。

関連記事を読む →
AI 感情分析

Positive/Negative の理由まで抽出

「便利」「使いにくい」だけでなく、その理由を文単位で構造化。NPS スコアの背景にある具体的な要因を可視化します。

関連記事を読む →
パネルデータ

属性の重要度を自動算出

価格・機能・ブランドなど、購買決定要因の相対的な重要度を AI で軽量に推定。専門人材なしで選好構造を測ります。

関連記事を読む →
調査設計助言

質問項目の AB試験設計

「設問の言い回しでスコアが変わる」問題を AI で事前検証。回答バイアスを抑えた質問項目を、設計段階で提案します。

関連記事を読む →
通時比較

過去調査との差分自動レポート

設問が毎回少しずつ変わっても、AI が概念単位で揃える。半年前・1年前との変化を、自動で差分レポートに起こします。

関連記事を読む →
AI Insight

ダッシュボードに本音を載せる

定量スコアと定性インサイトを同じダッシュボードに表示。部門横断で「数字+顧客の声」を共有可能にします。

関連記事を読む →
— BUT —

でも、AIの前に 調査データを束ねる
これが、すべての出発点です。

どんなに優秀な AI も、調査がバラバラのまま動きません。SurveyMonkey の結果、Googleフォーム の生回答、自社アンケート、CRM の顧客属性。これらが別々の場所にある間、AI に任せられるのは「単発の集計」止まりです。

本パッケージで最初に取り組むのは「調査データの統合」。回答データ・顧客属性・自由記述を同じテーブルで扱える基盤をつくる。この土台ができて初めて、上の AI 活用がはじまります。

§04 — COST

外注1〜2案件分の費用で、調査を回し続ける

「リサーチ会社に外注すると1案件100〜300万円」「データサイエンティストを採用すると年700万円〜」── アンケート分析のコスト構造は重い。本パッケージは、データサイエンティスト採用や大手リサーチ会社外注と比べたとき、結果的にはるかに多くの調査を回せます。

PATTERN A

採用 + 都度外注で対応する場合

700〜1200万円 / 年(初年度コストの目安)
  • データサイエンティスト/リサーチャー採用: 年 700〜900万円
  • 採用エージェント手数料: 年収の30〜35%
  • 大手リサーチ会社への外注: 1案件 100〜300万円
  • 戦力化までの教育期間: 1〜2年
  • 離職リスクと再採用コスト
  • 調査ごとに別契約・別フォーマット
PATTERN B

本パッケージで「同じ予算で、多く回す」

外注1〜2案件分の
費用で
  • 製薬企業マーケ・CXの分析実績を持つチーム
  • 初日から、AIクラスタリング・パネルデータ実装の知見
  • 120日〜段階導入で早期に成果
  • 離職リスクなし、人を増やさない
  • 調査回数が増えても限界費用は小さい
  • 必要なときだけ、必要な範囲で利用
「採用」ではなく「仕組み」に投資する。

同じ予算でも、人を1人増やすのではなく、AI 分析パイプラインに振ったほうが、同じ年予算で何倍もの調査を回せる。これが、はてなベースが提案する基本方針です。

§05 — TEAM

アンケート×AI分析に必要な4つの専門を、1社で持っています。

調査設計、データサイエンス、運用、定着支援。本来は別々の会社・部門にお願いしないと揃わない4機能を、はてなベースは社内に持っています。アンケート×AI分析は、この4つを同時に動かす仕事です。

DX

DX事業部

SurveyMonkey / Googleフォーム / 自社アンケート / CRM の API 連携、データ統合基盤の構築。AI クラスタリングや感情分析のパイプライン実装まで。

DS

データサイエンス担当

パネルデータ分析の実績をもとに、選好構造のモデリング・調査設計助言・通時比較の指標設計を担当します。

MK

マーケ運用

「分析しただけで終わらない」のが要点。マーケ・CX 部門の運用に合わせ、ダッシュボード設計と部門横断レポーティングの仕組みを整えます。

TR

研修事業部

「ダッシュボードを見ても判断に使われない」を防ぐため、マーケ・CX担当向けに分析結果の読み解き研修を提供。人材開発支援助成金の対象構成です。

.hb-real-gallery{ margin:48px 0 32px; padding:48px 0; border-top:2px solid currentColor; } .hb-real-gallery-eyebrow{ font-family:”JetBrains Mono”,monospace; font-size:11px; letter-spacing:.24em; opacity:.72; margin-bottom:8px; display:block; text-transform:uppercase; font-weight:700; } .hb-real-gallery h2{ font-family:”Shippori Mincho B1″,”Zen Old Mincho”,serif; font-size:24px; font-weight:800; line-height:1.4; margin-bottom:32px; } .hb-real-gallery-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:18px; } .hb-real-gallery-item{ display:block; text-decoration:none; color:inherit; background:#fff; border:1.5px solid #E5E0D8; border-radius:10px; overflow:hidden; transition:transform .25s ease, box-shadow .25s ease; } .hb-real-gallery-item:hover{ transform:translateY(-2px); box-shadow:0 8px 24px rgba(10,21,48,.08); } .hb-real-gallery-item img{ width:100%; height:200px; object-fit:cover; object-position:top; display:block; background:#FAF8F0; } .hb-real-gallery-caption{ padding:14px 16px; font-size:13px; line-height:1.6; font-weight:600; color:#1c1c1c; } .hb-real-gallery-src{ display:block; margin-top:6px; font-family:”JetBrains Mono”,monospace; font-size:10.5px; letter-spacing:.06em; color:rgba(10,21,48,.5); font-weight:500; } @media(max-width:720px){ .hb-real-gallery-item img{ height:160px; } }
06
ROADMAP

最初の30日から、部門横断ダッシュボードまで。

全領域を一気に切り替えません。既存調査の棚卸から、自由記述クラスタリング、パネルデータ、通時比較、ダッシュボード化までを段階的に進めます。各フェーズの完了時点で、必ず社内に成果が残るよう設計しています。

01
〜30日

既存調査の棚卸 + 過去データ整備

過去のアンケート結果・自由記述・属性データを統合テーブルに集約。設問の対応関係を整理し、通時比較の土台をつくる。

02
〜60日

AI分析パイプライン稼働

自由記述AIクラスタリングと感情分析を本番稼働。新規調査が届いたら自動でテーマ分類・スコア化される状態に。

03
〜120日

パネルデータ + 通時比較

属性の重要度算出、過去調査との差分レポートを自動化。「半年前と比べてどの軸が動いたか」が、毎月の定例で見える。

04
120日〜

ダッシュボード化 + 部門共有

定量スコア × 定性インサイトを同じ画面に。マーケ・CX・営業・人事が、同じデータで本音を見られる状態へ。

§08 — FAQ

よくあるご質問

SurveyMonkey や Googleフォーム など、既存のアンケートツールはそのまま使えますか?
はい。本パッケージは既存のアンケートツールをそのまま使う前提で設計しています。SurveyMonkey / Googleフォーム / 自社アンケートシステム / CRM の API・エクスポート機能から、回答データを統合テーブルに集約します。ツールの乗り換えは不要です。
製薬企業のブランドエクイティ調査やパネルデータ分析にも対応できますか?
対応できます。パネルデータ分析・ブランドエクイティ調査の実績をもとに、マーケティング部の調査要件にも合わせて設計可能です。
従業員サーベイ(人事領域)でも使えますか?
使えます。エンゲージメントサーベイや退職予兆調査、ストレスチェックの自由記述分析にも応用できます。匿名性の担保とクラスタリングの粒度設計を、人事部門と詰めながら進めます。
費用感を教えてください。
対象範囲(既存調査の本数・自由記述の規模・連携するシステム・部門数)で大きく変動します。30分の無料相談で現状をヒアリングした上で、初期設計の概算をお出しします。
分析結果のセキュリティが心配です。オンプレ環境で完結できますか?
回答者の個人情報や調査内容をクラウドに出したくない場合、オンプレミス LLM で完結する構成も提供できます。データの取り扱い要件に応じて、クラウド/オンプレ/ハイブリッドの3パターンから選択可能です。

まずは 30分、ご相談ください。

現状ヒアリング・既存調査の棚卸・初期構成のご提案までを、初回30分で行います。資料一式(パッケージ概要・概算費用テーブル)は、相談後にお送りします。

01現状ヒアリング 02論点整理 03構成のご提案 04概算費用
無料相談を申し込む →