@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap');
:root{--ink:#0d1110;--green:#18c764;--pale:#eaf0ed;--line:#b9c1bd;--muted:#627069}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f7f5;color:var(--ink);font-family:'Noto Sans JP',Arial,sans-serif}a{color:inherit;text-decoration:none}.header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 3.5vw;background:#f5f7f5;border-bottom:1px solid #d7ddda;position:fixed;z-index:10;width:100%;top:0}.brand{display:inline-flex;align-items:center;gap:8px;font:700 25px/1 'DM Mono',monospace;letter-spacing:-2px}.brand-logo{height:1em;width:auto;display:block}.brand span{color:var(--green)}nav{display:flex;gap:25px;font-size:12px;font-weight:700}.header nav{align-items:center}.header nav a{display:flex;flex-direction:column;align-items:flex-start;gap:3px;line-height:1}.header nav a .nav-en{font:9px 'DM Mono',monospace;font-weight:500;color:#159654;letter-spacing:.04em}.header-cta{font-size:12px;font-weight:700;border-bottom:1px solid;padding-bottom:3px}.header-cta i{font-style:normal;color:var(--green);font-size:17px}.menu{display:none;border:0;background:none;padding:0;width:22px;height:16px;position:relative;cursor:pointer}.menu span{position:absolute;left:0;width:100%;height:2px;background:var(--ink);border-radius:1px}.menu span:nth-child(1){top:0}.menu span:nth-child(2){top:7px}.menu span:nth-child(3){top:14px}.hero{min-height:760px;padding:165px 7vw 75px;display:grid;grid-template-columns:1.02fr .98fr;position:relative;overflow:hidden;background:#f5f7f5}.hero-copy{position:relative;z-index:2}.eyebrow{font:500 11px/1.3 'DM Mono',monospace;letter-spacing:.05em;color:#327e54;margin:0 0 22px}.eyebrow span{float:right}.hero h1,.split-title h2,.contact h2{font-size:clamp(38px,4.2vw,68px);letter-spacing:-.07em;line-height:1.33;margin:0 0 29px;font-weight:700}.hero h1 em,.split-title h2 em,.contact h2 em{font-style:normal;color:#159654}.lead{font-size:15px;line-height:2;color:#32403a;margin:0 0 38px}.actions{display:flex;align-items:center;gap:28px}.button{display:inline-flex;align-items:center;gap:25px;padding:16px 18px;font-size:13px;font-weight:700}.button.primary{background:var(--ink);color:#fff}.button b{font-size:20px;font-weight:400;color:var(--green)}.text-link{font-size:13px;font-weight:700;border-bottom:1px solid;padding-bottom:4px}.text-link b{color:var(--green);font-size:16px}.hero-network{height:570px;position:relative;margin:-28px -7vw -70px 0;background:#11231b;color:#eff7f1;overflow:hidden}.grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff0e 1px,transparent 1px),linear-gradient(90deg,#ffffff0e 1px,transparent 1px);background-size:38px 38px}.glow{position:absolute;width:360px;height:360px;left:45%;top:34%;background:#14ca6450;border-radius:50%;filter:blur(70px)}.site{position:absolute;z-index:2;display:flex;gap:7px;align-items:center;flex-wrap:wrap;font:10px 'DM Mono',monospace;letter-spacing:.05em}.site small{width:100%;font-family:'Noto Sans JP';padding-left:19px;color:#9eb4a9}.pin{height:12px;width:12px;background:var(--green);border-radius:50%;box-shadow:0 0 0 6px #18c7642d}.pin.alert{background:#ffcc3d;box-shadow:0 0 0 6px #ffcc3d2d}.site-a{left:13%;top:30%}.site-b{right:10%;top:18%}.site-c{left:18%;bottom:18%}.line{height:1px;background:linear-gradient(90deg,#18c76455,#18c764);transform-origin:left;position:absolute;z-index:1}.l-a{width:210px;left:17%;top:34%;transform:rotate(24deg)}.l-b{width:200px;right:18%;top:27%;transform:rotate(145deg)}.l-c{width:190px;left:24%;bottom:25%;transform:rotate(-30deg)}.control{position:absolute;z-index:3;left:50%;top:47%;transform:translate(-50%,-50%);height:150px;width:150px;border:1px solid #66f09c;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:#183428d9;box-shadow:0 0 0 22px #18c76413}.control small{font:10px 'DM Mono';color:#78d89e}.control strong{font:600 16px/1.2 'DM Mono';margin:7px}.control i{font:9px 'DM Mono';font-style:normal;color:var(--green)}.pulse{position:absolute;inset:-8px;border:1px solid #18c764;border-radius:50%;animation:pulse 2s infinite}.network-note{position:absolute;bottom:21px;right:25px;font:10px 'DM Mono';color:#80a18e}.scroll{position:absolute;left:7vw;bottom:29px;font:10px 'DM Mono';color:#617068;display:flex;align-items:center;gap:10px}.scroll span{width:64px;height:1px;background:#5c7165}.section{padding:115px 10vw}.section-label{font:11px 'DM Mono';color:#728079;margin-bottom:70px}.split-title{display:grid;grid-template-columns:26% 74%;align-items:start;border-bottom:1px solid var(--line);padding-bottom:38px}.split-title h2{font-size:clamp(30px,3.5vw,51px);margin:0}.intro{max-width:710px;margin:38px 0 50px auto;font-size:15px;line-height:2.1}.problem{background:#fff}.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line)}.problem-grid article{min-height:152px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px}.problem-grid b{font:500 13px 'DM Mono';color:#159654}.problem-grid p{font-size:14px;line-height:1.8;margin-top:26px}.dark{background:#0e2118;color:#f5fbf7}.dark .section-label{color:#83ac93}.dark .eyebrow{color:#5dda8c}.dark .split-title{border-color:#3b5146}.dark .intro{color:#c5d3cb}.flow-steps{display:grid;grid-template-columns:1fr 38px 1fr 38px 1fr;margin-top:70px}.flow-steps article{border-top:2px solid var(--green);padding:18px 18px 22px;background:#173225;min-height:276px}.flow-steps span,.tag,.case-grid span{font:11px 'DM Mono';color:var(--green)}.flow-steps h3{font:700 29px/1 'DM Mono';margin:34px 0 12px}.flow-steps h4{font-size:21px;margin:0 0 25px}.flow-steps p{font-size:13px;line-height:1.9;color:#c4d3cb}.arrow{color:var(--green);display:flex;align-items:center;justify-content:center;font-size:22px}.solutions{background:#e8eeeb}.solution-list{margin-top:54px;border-top:1px solid var(--line)}.solution-list article{display:grid;grid-template-columns:38% 60px 1fr 40px;gap:20px;border-bottom:1px solid var(--line);padding:32px 0;align-items:center}.solution-number{font:500 17px 'DM Mono';color:#159654}.solution-list .tag{margin:0 0 10px}.solution-list h3{font-size:24px;margin:0 0 10px}.solution-list h4{font-size:13px;margin:0 0 13px}.solution-list p:not(.tag){font-size:13px;line-height:1.8;color:#536059;margin:0}.solution-list a{font-size:30px;color:#159654}.cases{background:#fff}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#c7cfca;margin-top:54px}.case-grid article{background:#f7f9f7;padding:28px;min-height:270px;display:flex;flex-direction:column}.case-grid h3{font-size:25px;margin:31px 0 10px}.case-grid p{font-size:13px;line-height:1.8;color:#526057}.case-grid a{font-size:12px;font-weight:700;margin-top:auto;border-bottom:1px solid;width:max-content;padding-bottom:3px}.strengths{display:grid;grid-template-columns:repeat(4,1fr);margin-top:55px;border-top:1px solid #3b5146}.strengths article{padding:24px 25px 22px 0;border-right:1px solid #3b5146;margin-right:24px}.strengths b{font:500 14px 'DM Mono';color:var(--green)}.strengths h3{font-size:18px;margin:30px 0 14px}.strengths p{color:#bdccc3;font-size:13px;line-height:1.8}.contact{padding:115px 10vw;text-align:center;background:var(--green)}.contact .eyebrow{color:#0a5a2b}.contact h2{font-size:clamp(36px,4vw,59px)}.contact h2 em{color:#fff}.contact .primary{background:#0c1c15;margin-top:10px}.contact-note{font-size:12px;margin-top:26px;color:#145e35}footer{padding:28px 3.5vw;background:#0d1813;color:#d9e3dc;display:flex;align-items:center;justify-content:space-between}footer p,.footer-bottom a{font:10px 'DM Mono';color:#9aaba0;display:block}@keyframes pulse{to{transform:scale(1.3);opacity:0}}.reveal{opacity:0;transform:translateY(16px)}.reveal.visible{animation:up .7s ease both}@keyframes up{from{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}
@media(max-width:760px){.header{height:64px;padding:0 20px}.header nav,.header-cta{display:none}.header nav.open{display:flex;position:absolute;top:64px;left:0;width:100%;padding:22px 24px;background:#f5f7f5;border-bottom:1px solid #d7ddda;flex-direction:column;gap:17px}.menu{display:block}.hero{min-height:auto;padding:122px 24px 0;display:block}.hero h1{font-size:39px}.lead{font-size:13px}.actions{display:block}.text-link{display:inline-block;margin-top:25px}.hero-network{height:400px;margin:55px -24px 0}.section{padding:75px 24px}.section-label{margin-bottom:38px}.split-title{display:block;padding-bottom:28px}.split-title .eyebrow{margin-bottom:15px}.split-title h2{font-size:32px}.intro{font-size:13px;margin:28px 0 36px}.problem-grid{grid-template-columns:1fr 1fr}.problem-grid article{min-height:132px;padding:16px}.problem-grid p{font-size:12px;margin-top:18px}.flow-steps{display:block;margin-top:35px}.flow-steps article{min-height:0;margin:0}.arrow{height:35px;transform:rotate(90deg)}.solution-list{margin-top:35px}.solution-list article{grid-template-columns:45px 1fr 25px;padding:28px 0;align-items:start}.solution-image{grid-column:1/-1;margin-bottom:14px}.solution-list h3{font-size:19px}.case-grid,.strengths{grid-template-columns:1fr}.case-grid{margin-top:35px}.case-grid article{min-height:190px}.strengths article{border-bottom:1px solid #3b5146;margin:0;padding:22px 0}.strengths h3{margin:15px 0 8px}.contact{padding:80px 24px}.contact h2{font-size:34px}footer{display:block;padding:25px 24px}footer p{margin:18px 0}footer a:last-child{display:block}}

.challenges{background:#f1f4f1}.finder-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:54px}.finder-grid a{min-height:126px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px;font-size:14px;font-weight:700;display:flex;flex-direction:column;gap:12px;transition:.2s}.finder-grid a:hover{background:var(--green)}.finder-grid span{font:11px 'DM Mono';color:#159654}.finder-grid b{font-size:12px;color:#536059}.industry-tags{display:flex;flex-wrap:wrap;gap:9px;max-width:880px;margin-left:auto}.industry-tags span{padding:13px 16px;border:1px solid #4d6758;border-radius:100px;font-size:13px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:54px;border-top:1px solid var(--line)}.product-grid article{min-height:200px;padding:22px 22px 22px 0;margin-right:22px;border-right:1px solid var(--line)}.product-grid span{font:500 17px 'DM Mono';color:#159654}.product-grid p{font-size:13px;line-height:1.9;color:#536059;margin-top:35px}.tech-line{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;font:500 clamp(18px,2.4vw,30px) 'DM Mono';letter-spacing:-.05em}.tech-line i{font-style:normal;color:var(--green);padding:0 8px}.vision-flow{max-width:600px;margin:55px auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:9px;font-size:17px}.vision-flow span,.vision-flow strong{padding:9px 20px;border:1px solid #527060;min-width:270px}.vision-flow strong{background:var(--green);border-color:var(--green);color:#0d2117}.vision-flow b{color:var(--green)}.future-note{max-width:600px;margin:auto;border-top:1px solid #3b5146;padding-top:28px;line-height:2;color:#c5d3cb;font-size:14px}.content{background:#fff}.content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#c7cfca;margin-top:54px}.content-grid article{background:#fff;padding:25px;min-height:230px;display:flex;flex-direction:column}.content-grid span{font:10px 'DM Mono';color:#159654}.content-grid h3{font-size:19px;line-height:1.65;margin:32px 0}.content-grid a{margin-top:auto;font-size:12px;font-weight:700}.contact .section-label{color:#0a5a2b;margin-bottom:38px}.contact .eyebrow{margin-bottom:20px}
@media(max-width:760px){.finder-grid{grid-template-columns:1fr 1fr}.finder-grid a{min-height:132px;padding:16px}.product-grid,.content-grid{grid-template-columns:1fr}.product-grid article{border-right:0;border-bottom:1px solid var(--line);margin:0;padding:22px 0;min-height:0}.industry-tags{margin-top:25px}.vision-flow{margin:35px auto}}

.hero-concept{padding:50px 26px;display:grid;grid-template-columns:1fr 26px 1fr 26px 1fr;align-content:center;gap:8px}.hero-concept .glow{left:30%;top:25%;width:430px;height:330px}.concept-node{z-index:2;min-height:278px;padding:23px 17px;background:#173225;border-top:2px solid var(--green);display:flex;flex-direction:column}.concept-node span{font:10px 'DM Mono';color:#76d99d}.concept-node strong{font:700 25px/1.2 'Noto Sans JP';margin:54px 0 19px;letter-spacing:-.05em}.concept-node small{font-size:11px;line-height:2;color:#c8d8cf}.concept-arrow{z-index:3;display:flex;align-items:center;justify-content:center;color:var(--green);font-size:25px}.hero-concept .network-note{right:26px}.content-grid{grid-template-columns:repeat(5,1fr)}.content-grid article{min-height:250px}.content-grid h3{font-size:16px}.split-title h2 small{display:block;font-size:14px;letter-spacing:0;margin-top:14px;color:#617068;font-weight:500}.contact-copy{max-width:680px;margin:0 auto 34px;font-size:14px;line-height:2;color:#15452b}.secondary-cta{display:block;font-size:13px;font-weight:700;margin:28px auto 0;width:max-content;border-bottom:1px solid #145e35;padding-bottom:4px}.contact-note{display:none}
@media(max-width:1000px){.header nav{gap:13px;font-size:10px}.hero-concept{padding:35px 18px}.concept-node strong{font-size:20px}.concept-node small{font-size:10px}.content-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.hero-concept{height:500px;margin-top:45px;grid-template-columns:1fr;grid-template-rows:1fr 28px 1fr 28px 1fr;padding:22px}.concept-node{min-height:0;padding:13px 17px;display:grid;grid-template-columns:90px 1fr;align-items:center}.concept-node strong{font-size:20px;margin:0}.concept-node small{grid-column:2;font-size:9px;line-height:1.7}.concept-arrow{height:28px;transform:rotate(90deg)}.content-grid{grid-template-columns:1fr}.content-grid article{min-height:180px}.contact-copy{font-size:12px}}

.content-grid article p{font-size:12px;line-height:1.8;color:#64716a;margin:0}.content-grid article h3{margin-bottom:15px}.faq{background:#edf2ef}.faq-list{max-width:900px;margin:54px 0 0 auto;border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:0}.faq-list summary{cursor:pointer;list-style:none;padding:23px 35px 23px 0;font-size:16px;font-weight:700;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary b{position:absolute;right:0;color:#159654;font:400 25px 'DM Mono'}.faq-list details[open] summary b{transform:rotate(45deg)}.faq-list details p{max-width:740px;margin:0;padding:0 0 24px;font-size:13px;line-height:2;color:#59655f}.contact-form{max-width:680px;margin:40px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:18px;text-align:left}.contact-form label{font-size:12px;font-weight:700;color:#124127}.contact-form label:nth-child(3),.contact-form label:nth-child(4){grid-column:1/-1}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #6cb78a;background:#effbed;color:#0d2117;font:14px 'Noto Sans JP';outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:#0d2117}.contact-form button{justify-self:start;border:0;cursor:pointer;margin-top:6px}.form-status{grid-column:1/-1;margin:0;font-size:12px;color:#124127;min-height:18px}footer{display:grid;grid-template-columns:1.2fr 1.3fr auto;gap:35px;align-items:end;padding:45px 6vw}footer .brand{display:inline-flex;margin-bottom:16px}.footer-brand p{font:10px 'DM Mono';color:#9aaba0;margin:0 0 8px}.footer-brand strong{display:block;font:500 15px 'DM Mono';color:#e6f0e9}.footer-brand small{font-size:11px;color:#9aaba0}.footer-products b{font-size:12px;color:#fff}.footer-products p{font:11px 'DM Mono';line-height:2;margin:10px 0 0}.footer-products a{border-bottom:1px solid #76867b;padding-bottom:2px}.footer-products i{font-style:normal;color:var(--green);padding:0 5px}.footer-bottom{text-align:right}.footer-bottom p{margin:0 0 12px}
@media(max-width:1150px){.header{padding:0 2vw}.header nav{gap:10px;font-size:9px}.header .brand{font-size:22px}.header-cta{font-size:10px}}
@media(max-width:760px){.faq-list{margin-top:35px}.faq-list summary{font-size:14px;padding-right:28px}.contact-form{grid-template-columns:1fr;gap:14px}.contact-form label:nth-child(3),.contact-form label:nth-child(4){grid-column:auto}.contact-form button{width:100%;justify-content:space-between}footer{display:block;padding:35px 24px}.footer-products{margin-top:30px}.footer-bottom{text-align:left;margin-top:30px}.footer-products p{max-width:270px}}

.hero{padding-bottom:150px}.industry-bar{position:absolute;left:7vw;right:7vw;bottom:29px;z-index:4;border-top:1px solid #cbd4cf;border-bottom:1px solid #cbd4cf;display:grid;grid-template-columns:repeat(8,1fr);background:#f5f7f5}.industry-bar a{min-height:72px;padding:12px 7px;display:flex;flex-direction:column;justify-content:center;gap:5px;border-right:1px solid #cbd4cf;font-size:11px;font-weight:700;transition:.2s}.industry-bar a:last-child{border-right:0}.industry-bar a:hover{color:#fff;background:#0d2117}.industry-icon{font:18px 'DM Mono';color:#159654}.scroll{bottom:118px}.about-kmax{background:#fff;padding:110px 7vw}.section-inner{max-width:1260px;margin:auto}.about-intro{display:grid;grid-template-columns:29% 1fr;border-bottom:1px solid var(--line);padding-bottom:48px}.about-intro .section-label{margin:0;font:11px 'DM Mono';color:#159654}.about-intro h2{grid-column:2;font-size:clamp(34px,4vw,60px);line-height:1.25;letter-spacing:-.07em;margin:0}.about-intro h3{grid-column:2;font-size:19px;margin:20px 0;color:#159654}.about-intro p:last-child{grid-column:2;font-size:14px;line-height:2;color:#56645c;margin:0}.about-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:42px}.about-card{display:flex;min-height:310px;padding:23px;position:relative;overflow:hidden;flex-direction:column;color:#0d2110}.about-card.green{background:#b7f1ce}.about-card.orange{background:#ffd479}.about-card.blue{background:#b9daf6}.card-kicker{font:10px 'DM Mono'}.about-card h3{font-size:27px;letter-spacing:-.06em;margin:34px 0 0}.card-visual{display:flex;align-items:center;gap:16px;font:32px 'DM Mono';margin:25px 0}.card-visual b{font-size:21px;font-weight:400}.about-card p{font-size:12px;line-height:1.9;margin:0}.card-arrow{font:30px 'DM Mono';margin-top:auto}.faq-list summary i{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:10px;background:#159654;color:#fff;font:12px 'DM Mono';font-style:normal}.contact-form select{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #6cb78a;background:#effbed;color:#0d2117;font:14px 'Noto Sans JP';outline:none}.form-heading{grid-column:1/-1;font:500 13px 'DM Mono';margin:0;color:#124127}.form-heading small{display:block;font:400 12px 'Noto Sans JP';margin-top:8px}.contact-form label em{font-size:10px;font-style:normal;color:#c13518;margin-left:5px}.contact-form .message-field,.contact-form .consent{grid-column:1/-1}.contact-form .consent{font-size:12px;display:flex;align-items:center;gap:8px}.contact-form .consent a{text-decoration:underline}.contact-form .consent input{width:auto;margin:0}.contact-form .consent + button{grid-column:1/-1;justify-self:center}.contact-form select:focus{border-color:#0d2117}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.dummy-image{display:block;width:100%;height:auto;object-fit:cover}.solution-image{aspect-ratio:16/9}.case-image{aspect-ratio:16/9;margin-bottom:20px}.product-image{aspect-ratio:8/5;margin-bottom:22px}
@media(max-width:1250px){.header nav{display:none}.header nav.open{display:flex;position:absolute;top:76px;left:0;right:0;padding:22px 4vw;background:#f5f7f5;border-bottom:1px solid #d7ddda;flex-direction:column;gap:14px}.menu{display:block}.header-cta{margin-left:auto;margin-right:20px}}
@media(max-width:760px){.hero{padding-bottom:120px}.industry-bar{left:0;right:0;bottom:0;overflow-x:auto;display:flex}.industry-bar a{flex:0 0 116px;min-height:66px;font-size:10px}.scroll{bottom:90px}.about-kmax{padding:70px 24px}.about-intro{display:block;padding-bottom:30px}.about-intro .section-label{margin-bottom:18px}.about-intro h2{font-size:35px}.about-intro h3{font-size:16px;margin:16px 0}.about-intro p:last-child{font-size:12px}.about-cards{grid-template-columns:1fr;margin-top:26px}.about-card{min-height:245px}.header nav.open{top:64px}.contact-form .consent + button{width:100%;justify-content:space-between}}
