@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2) format("woff2")}:root{--blue: #1655f5;--navy: #10244b;--muted: #4f607d;--line: #dce3ef;--paper: #f4f7fd;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;color:var(--navy);font-synthesis:none;font-weight:500;background:#fff}*{box-sizing:border-box}body,h1,h2,h3,p,ol,dl,dd{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}html{scroll-behavior:smooth;scroll-padding-top:100px}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #f78635;outline-offset:6px}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:#fff;padding:16px}.skip-link:focus{top:20px}.header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:#fffffff5;position:sticky;top:0;z-index:20;border-bottom:1px solid #edf1f7}.brand{font-size:40px;font-weight:750;letter-spacing:-2px;line-height:1}.brand span{color:var(--blue)}.desktop-nav{display:flex;align-items:center;gap:36px;font-size:17px;font-weight:700}.nav-contact{background:var(--blue);color:#fff;padding:20px 30px;border-radius:6px;display:flex;gap:40px}.nav-contact span{font-size:25px}.menu-button,.mobile-nav[hidden]{display:none}.mobile-nav{position:absolute;top:100%;left:0;right:0;background:#fff;padding:25px 6%;display:grid;gap:25px;font-size:22px;border-bottom:1px solid var(--line)}.hero{position:relative;overflow:hidden;min-height:740px;display:flex;align-items:center;background:#edf3ff}.hero-content{position:relative;z-index:2;width:100%;padding:95px 7% 105px;pointer-events:none}.hero-content a{pointer-events:auto}.hero-kicker{font-size:21px;margin-bottom:32px;color:#25497e}.hero h1{font-size:clamp(58px,7.35vw,110px);font-weight:800;line-height:1.3;letter-spacing:-.065em}.hero h1 span{color:var(--blue)}.hero-description{font-size:22px;line-height:1.9;margin-top:32px}.hero-actions{display:flex;align-items:center;gap:35px;margin-top:42px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;background:var(--blue);color:#fff;font-size:20px;font-weight:700;padding:24px 30px;border-radius:6px;box-shadow:0 10px 30px #1655f521;transition:background .2s,transform .2s}.button span{font-size:28px;line-height:1}.button:hover{background:#0035bf;transform:translateY(-3px)}.text-link{font-size:18px;display:flex;gap:25px;font-weight:700}.flow-background,.flow-host,.flow-fallback{position:absolute;inset:0;width:100%;height:100%}.flow-background{z-index:1}.flow-host canvas{width:100%;height:100%;display:block}.flow-fallback{object-fit:cover}.flow-fallback.is-hidden{visibility:hidden}.motion-toggle{position:absolute;right:30px;bottom:26px;z-index:3;border:1px solid #ffffff80;background:#ffffffdb;color:var(--navy);padding:12px 18px;border-radius:30px;font-size:16px}.section-shell{padding:110px 7%}h2{font-size:clamp(38px,4.5vw,64px);line-height:1.5;letter-spacing:-.045em;font-weight:750}h3{letter-spacing:-.035em}p{line-height:1.8}.services h2{margin-bottom:50px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.service-card{background:var(--paper);border-radius:16px;padding:25px 26px 30px;display:flex;flex-direction:column}.service-art{height:180px;display:grid;place-items:center;overflow:hidden}.service-card h3{font-size:clamp(23px,2.2vw,31px);line-height:1.5;margin:15px 0 18px}.service-card p{font-size:19px}.service-card .service-name{color:var(--blue);font-weight:750;font-size:20px;margin-bottom:13px}.service-card .service-items{font-size:16px;margin-top:20px;color:var(--muted);line-height:1.9}.service-link{font-size:17px;font-weight:700;display:flex;justify-content:space-between;margin-top:auto;padding-top:27px}.service-link span{font-size:25px;color:var(--blue)}.system-diagram{position:relative;width:190px;height:130px;background:linear-gradient(var(--blue),var(--blue)) center/2px 100px no-repeat}.system-diagram:before{content:"";position:absolute;left:25px;right:25px;top:65px;height:2px;background:var(--blue)}.system-diagram i{position:absolute;width:50px;height:35px;border:2px solid var(--blue);background:#edf3ff;border-radius:7px;box-shadow:4px 5px #c8d9ff}.system-diagram i:nth-child(1){left:70px;top:0;background:var(--blue)}.system-diagram i:nth-child(2){left:0;top:48px}.system-diagram i:nth-child(3){right:0;top:48px}.system-diagram i:nth-child(4){left:38px;bottom:0}.system-diagram i:nth-child(5){right:38px;bottom:0}.app-diagram{display:flex;gap:12px;align-items:flex-end;transform:rotate(-9deg)}.app-diagram>div{width:130px;height:105px;border:2px solid var(--blue);border-radius:10px;background:#fff;box-shadow:8px 8px #d4e1ff;padding:13px}.app-diagram>div:last-child{width:66px;height:130px;transform:rotate(15deg);background:#1655f5;padding:11px}.app-diagram i{display:block;height:18px;margin:7px 0;background:#c7d8ff;border-radius:3px}.app-diagram i:first-child{height:33px}.ai-diagram{width:160px;height:150px;position:relative}.ai-diagram b{position:absolute;inset:25px;display:grid;place-items:center;font-size:80px;color:var(--blue)}.ai-diagram i{position:absolute;inset:18px 0;border:1px solid #6190ff;border-radius:50%;transform:rotate(40deg)}.ai-diagram i:nth-child(2){transform:rotate(-40deg)}.ai-diagram i:nth-child(3){inset:0 20px;transform:rotate(25deg)}.ai-diagram i:nth-child(4){inset:0 20px;transform:rotate(-25deg)}.proof{background:var(--paper);text-align:center;padding-top:90px;padding-bottom:85px}.proof h2{font-size:clamp(34px,4.1vw,58px)}.proof h2 span{color:var(--blue)}.proof>p{font-size:22px;margin-top:30px}.experience{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;margin-top:42px}.experience span{background:#fff;border:1px solid var(--line);border-radius:50px;font-size:18px;padding:17px 23px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:50px}.section-heading p{font-size:20px;margin-bottom:10px}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px 32px}.product-visual{height:260px;border-radius:14px;position:relative;overflow:hidden;display:grid;place-items:center}.product-visual>span:first-child{font-size:90px;font-weight:750;letter-spacing:-6px;z-index:1}.product-visual:before,.product-visual:after{content:"";position:absolute;width:340px;height:340px;border:1px solid currentColor;border-radius:100%;opacity:.2;transform:rotate(-20deg);right:-150px;top:-130px}.product-visual:after{inset:auto auto -170px -110px;width:440px;height:440px}.ar .product-visual{background:#dceaff;color:#1853dc}.sake .product-visual{background:#f2e9d4;color:#927326}.wine .product-visual{background:#efe3ed;color:#7c315d}.talk .product-visual{background:#ffddd0;color:#b6503d}.talk .product-visual>span:first-child{font-size:165px;line-height:1;transform:translateY(30px)}.product-arrow{position:absolute;right:22px;bottom:20px;font-size:35px}.product-info{padding-top:20px}.product-info h3{font-size:30px;margin-bottom:8px}.product-info p{font-size:19px;color:var(--muted)}.product-card:hover .product-visual>span:first-child{transform:scale(1.06);transition:transform .3s}.process{background:var(--blue);color:#fff}.process ol{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:45px;counter-reset:step;margin:55px 0 45px;padding:0}.process li{counter-increment:step;border-top:1px solid #ffffff70;padding-top:24px}.process li:before{content:counter(step,decimal-leading-zero);font-size:42px;display:block;margin-bottom:15px;color:#bdd3ff}.process h3{font-size:30px;margin-bottom:15px}.process p{font-size:20px}.button-white{background:#fff;color:var(--blue);box-shadow:none}.button-white:hover{background:#e3ecff}.faq{display:grid;grid-template-columns:1fr 1.7fr;gap:60px}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{list-style:none;font-size:22px;padding:26px 0;cursor:pointer;display:flex;justify-content:space-between;gap:25px;font-weight:700}.faq summary::-webkit-details-marker{display:none}.faq summary span{color:var(--blue);font-size:26px}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{font-size:20px;color:var(--muted);padding-bottom:30px}.about{padding-top:35px;display:grid;grid-template-columns:1fr 1.7fr;gap:60px}.about dl>div{display:grid;grid-template-columns:110px 1fr;border-top:1px solid var(--line);padding:25px 0;gap:30px;font-size:20px;line-height:1.8}.about dl>div:last-child{border-bottom:1px solid var(--line)}.about dt{color:var(--muted);font-size:18px}.contact{background:#eaf1ff;text-align:center;padding-top:90px;padding-bottom:85px}.contact h2{font-size:clamp(44px,5.5vw,76px);color:var(--blue)}.contact p{font-size:22px;margin:26px 0 34px}.contact-email{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:35px}.contact-email>a{font-size:28px;letter-spacing:-.5px}.contact-email button{border:0;border-bottom:1px solid #a4b4d0;background:none;padding:8px 0;font-size:16px;color:var(--muted)}.footer{padding:45px 7%;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:16px}.footer .brand{font-size:34px}.not-found{padding:15vh 8%;font-size:20px}.not-found h1{font-size:40px;margin-bottom:30px}@media(max-width:1050px){.desktop-nav{gap:22px}.hero-kicker{font-size:18px}.hero-description{font-size:20px}.service-grid{gap:16px}.service-card{padding:20px}.service-card p{font-size:18px}.service-card h3{font-size:24px}.service-card .service-items{font-size:16px}.process ol{gap:25px}.process h3{font-size:26px}.faq{gap:30px;grid-template-columns:1fr 2fr}.faq summary{font-size:20px}.section-heading{display:block}.section-heading p{margin-top:14px}.brand{font-size:35px}}@media(max-width:760px){html{scroll-padding-top:76px}.header{height:76px;padding:0 6%}.brand{font-size:33px}.desktop-nav{display:none}.menu-button{display:block;background:none;border:1px solid var(--line);border-radius:5px;padding:10px 14px;font-size:16px}.hero{min-height:780px;align-items:flex-start}.hero-content{padding:72px 6% 220px}.hero-kicker{font-size:16px;margin-bottom:27px}.hero h1{font-size:clamp(43px,9.7vw,74px);line-height:1.4;letter-spacing:-.065em}.hero-description{font-size:18px;margin-top:26px;line-height:1.9}.hero-actions{flex-direction:column;align-items:flex-start;gap:25px;margin-top:32px}.button{font-size:18px;padding:22px 24px;gap:32px}.text-link{font-size:17px}.motion-toggle{right:6%;bottom:22px;font-size:16px;padding:10px 16px}.section-shell{padding:70px 6%}h2{font-size:clamp(34px,8.7vw,48px);line-height:1.5}.services h2{margin-bottom:35px}.service-grid{grid-template-columns:1fr;gap:24px}.service-card{padding:24px}.service-art{height:155px}.service-card h3{font-size:26px;margin-top:10px}.service-card .service-name{font-size:20px}.service-card p{font-size:18px}.service-card .service-items{font-size:16px}.service-link{font-size:17px;padding-top:24px}.proof{text-align:left}.proof h2{font-size:clamp(30px,7.5vw,45px)}.proof>p{font-size:19px;margin-top:25px}.desktop-break{display:none}.experience{justify-content:flex-start;gap:12px;margin-top:30px}.experience span{font-size:17px;padding:14px 18px}.section-heading{margin-bottom:30px}.section-heading p{font-size:19px}.product-grid{grid-template-columns:1fr;gap:35px}.product-visual{height:230px}.product-info h3{font-size:27px}.product-info p{font-size:18px}.process ol{grid-template-columns:1fr;margin:35px 0;gap:30px}.process li{display:grid;grid-template-columns:55px 1fr;gap:10px 15px;padding-top:23px}.process li:before{grid-row:1/3;font-size:32px;margin:0}.process h3{font-size:26px;margin:0}.process p{font-size:18px;grid-column:2}.faq{display:block}.faq h2{margin-bottom:28px}.faq summary{font-size:19px;line-height:1.8;padding:24px 0;gap:15px}.faq details p{font-size:18px}.about{display:block;padding-top:10px}.about h2{margin-bottom:30px}.about dl>div{font-size:18px;grid-template-columns:70px 1fr;gap:20px;padding:22px 0}.about dt{font-size:16px}.contact h2{font-size:clamp(38px,9.5vw,56px)}.contact p{font-size:18px;margin:24px 0 30px}.contact-email{flex-direction:column;gap:12px;margin-top:27px}.contact-email>a{font-size:26px}.footer{padding:35px 6%;flex-wrap:wrap;font-size:16px;gap:25px}.footer .brand{width:100%;font-size:33px}.footer>a:last-child{margin-left:auto}.flow-fallback{object-position:65% center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}.experience-block{margin-top:45px;border-top:1px solid var(--line);padding-top:30px}.experience-block h3{font-size:26px}.experience-block .experience{justify-content:flex-start;margin-top:23px}.products{background:var(--paper)}.faq summary{align-items:center}.faq summary span{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;line-height:1}@media(max-width:760px){.service-card h3{font-size:clamp(23px,6.6vw,26px)}.button{gap:24px;padding-left:22px;padding-right:22px}}body{background:#f6f9ff;isolation:isolate}.scene-background{position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 80% 50%,#dfeaff,transparent 70%)}.scene-host,.scene-host canvas,.scene-fallback{position:absolute;inset:0;width:100%;height:100%;display:block}.scene-fallback.is-hidden{visibility:hidden}.scene-background:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f6f9ff,#f6f9ffec 35%,#f6f9ff00 75%)}main,.header,.footer{position:relative}.hero{background:transparent;overflow:visible;min-height:850px}.hero-content{padding-right:42%;pointer-events:auto}.hero h1{font-size:clamp(58px,6.5vw,96px)}.hero-description{max-width:620px}.hero-actions{flex-wrap:wrap}.brand{font-size:26px;letter-spacing:-1px}.header{background:#ffffffed}.service-card{background:#ffffffed;box-shadow:0 12px 50px #193a6410;border:1px solid #ffffff}.products{background:#f2f7ff99}.product-info{background:#f6f9ffed;padding:20px;border-radius:0 0 12px 12px}.product-visual{border-radius:14px 14px 0 0}.process{background:#1655f5ed}.faq,.about{background:#ffffffb8}.contact{background:#eaf1ffb8;text-align:left;display:grid;grid-template-columns:1fr 1.25fr;gap:70px}.contact h2{font-size:clamp(38px,4vw,60px);line-height:1.4}.contact-heading>p{font-size:21px;margin-top:24px}.contact-form,.form-complete{background:#ffffffed;padding:38px;border:1px solid white;border-radius:16px;box-shadow:0 20px 70px #16336c0b}.contact-form form{display:grid;gap:26px}.contact-form label{display:block;font-size:19px;font-weight:700}.contact-form label>span:not(.form-consent span){font-size:16px;font-weight:500;color:var(--muted);margin-left:10px}.contact-form input:not([type=checkbox]),.contact-form textarea{display:block;width:100%;padding:15px 16px;font:inherit;font-weight:500;font-size:18px;margin-top:12px;border:1px solid #bccae0;border-radius:6px;color:var(--navy);background:#fff}.contact-form textarea{resize:vertical;min-height:180px}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--blue);outline-offset:2px}.contact-form ::placeholder{color:#64758d;font-weight:400}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form .form-consent{display:flex;align-items:flex-start;gap:14px;font-size:17px;line-height:1.7;font-weight:500}.form-consent input{width:21px;height:21px;flex:0 0 21px;margin-top:4px;accent-color:var(--blue)}.form-consent span{margin:0!important;font-size:17px!important}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-form h3,.form-complete h3{font-size:27px;margin-bottom:25px;line-height:1.6}.form-confirm{margin-bottom:30px}.form-confirm>div{padding:20px 0;border-bottom:1px solid var(--line);font-size:18px}.form-confirm dt{color:var(--muted);margin-bottom:10px}.form-confirm dd{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.form-back{font-size:18px;background:transparent;border:0;border-bottom:1px solid var(--navy);padding:8px 0;color:var(--navy)}.contact-form .button{font-size:18px;box-shadow:none}.contact-form .button:disabled{opacity:.65;cursor:wait;transform:none}.contact .form-error{color:#a62c2c;font-size:18px;line-height:1.8;margin:0 0 25px}.form-complete p{font-size:20px}.footer{background:#ffffffde}@media(max-width:1050px){.hero-content{padding-right:28%}.contact{gap:35px;grid-template-columns:1fr 1.6fr}.contact-form{padding:28px}.form-row{grid-template-columns:1fr}.brand{font-size:22px}.desktop-nav{gap:18px;font-size:16px}}@media(max-width:760px){.hero{min-height:890px}.hero-content{padding:65px 6% 270px}.hero h1{font-size:clamp(43px,9.7vw,74px)}.scene-background:after{background:linear-gradient(180deg,#f6f9fff5,#f6f9ffdc 35%,#f6f9ff00 75%)}.brand{font-size:22px;letter-spacing:-.7px}.hero-description{max-width:100%}.service-card{background:#fffffff0}.products{background:#f2f7ffad}.process{background:#1655f5ed}.contact{display:block}.contact h2{font-size:38px}.contact-heading>p{font-size:19px;margin:20px 0 32px}.contact-form,.form-complete{padding:24px 20px}.contact-form label{font-size:18px}.contact-form .button{width:100%;padding:20px;gap:16px}.form-actions{gap:24px}.form-actions .button{width:auto;max-width:100%}.form-row{gap:26px}.footer{justify-content:space-between}.footer>span{max-width:180px;font-size:16px}.footer>a:last-child{font-size:16px}.hero-kicker{font-size:16px}}@media(min-width:1000px){.section-shell{padding-right:32%}.service-grid{grid-template-columns:1fr}.service-card{display:grid;grid-template-columns:140px 1fr;gap:10px 24px;padding:28px}.service-art{grid-row:1/6;align-self:center;height:170px;transform:scale(.7);transform-origin:center}.service-card h3{font-size:30px;margin:0}.service-card .service-name,.service-card .service-items{margin:0}.service-link{padding-top:10px}.process ol{grid-template-columns:1fr;gap:26px}.process li{display:grid;grid-template-columns:70px 1fr;gap:8px 18px}.process li:before{grid-row:1/3;margin:0}.process h3{margin:0}.process p{grid-column:2}.faq,.about{grid-template-columns:1fr;gap:36px}.contact{grid-template-columns:1fr;gap:32px}.contact-heading>p{max-width:650px;margin-bottom:0}.contact-form{max-width:760px}.form-row{grid-template-columns:1fr 1fr}.section-heading{display:block}.section-heading p{margin-top:18px}.product-visual{height:210px}}@media(max-width:760px){.scene-fallback{transform:translateY(25%) scale(.65)}.hero-description{max-width:330px}.scene-background:after{background:linear-gradient(180deg,#f6f9fff7,#f6f9fff2 52%,#f6f9ff00 78%)}}@media(min-width:1000px){.process{background:linear-gradient(90deg,#1655f5 0%,#1655f5 68%,transparent 68%)}}.hero-description{font-size:25px;line-height:1.85;max-width:580px;margin-top:36px}.hero-content{padding-top:130px;padding-bottom:120px}.hero{min-height:930px}.service-card .service-description{font-size:23px;line-height:1.95;margin:18px 0 8px}.service-link{font-size:20px}.service-card h3{font-size:34px}.section-heading>p,.process p,.faq details p{font-size:23px;line-height:1.85}.product-info p{font-size:21px;line-height:1.8}@media(min-width:1000px){.service-card{grid-template-columns:110px 1fr;gap:8px 24px;padding:36px 30px}.service-art{grid-row:1/4;height:145px;transform:scale(.64)}.service-card h3{font-size:32px}.service-card .service-description{font-size:23px}.service-link{padding-top:12px}}@media(max-width:760px){.hero-content{padding:68px 6% 270px}.hero{min-height:980px}.hero-description{font-size:22px;line-height:1.85;max-width:none;margin-top:30px}.service-card .service-description{font-size:21px;line-height:1.9}.service-card h3{font-size:28px}.service-link{font-size:19px}.section-heading>p,.process p,.faq details p{font-size:21px}.product-info p{font-size:20px}}@media(min-width:761px){.hero-description{max-width:480px}}.copy-term{display:inline-block}.contact-form .form-purpose{font-size:20px;line-height:1.8;margin:24px 0 32px;color:var(--muted)}.bot-check{margin:28px 0;max-width:100%}.product-visual{height:auto;aspect-ratio:16 / 9;overflow:hidden}.product-visual:before,.product-visual:after{display:none}.product-visual img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.product-card:hover .product-visual img{transform:scale(1.025)}.product-arrow{background:#fff;padding:8px;border-radius:50%;width:44px;height:44px;color:#142b53}@media(max-width:600px){.contact-form .form-purpose{font-size:18px}}
