:root{--sans:"Zen Maru Gothic","Hiragino Maru Gothic ProN",Meiryo,sans-serif;--mono:"Space Mono",ui-monospace,monospace;--green:#125c3b;--ink:#202e29;--muted:#65726a;--paper:#f7f9f5;--line:#dbe2da;--lime:#d6edb5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:var(--sans);font-weight:700;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #76af47;outline-offset:6px}p,h1,h2,h3{margin:0}img{max-width:100%}.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.header{height:94px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff}.logo-crop{position:relative;display:block;width:170px;height:53px;overflow:hidden}.logo-crop img{position:absolute;width:218px;max-width:none;height:auto;left:-24px;top:-28px}.header nav{display:flex;gap:32px;align-items:center;font-size:12px;font-weight:600}.header nav a:hover{color:var(--green)}.nav-contact{border:1px solid var(--line);padding:9px 19px}.nav-contact span{margin-left:20px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;padding-block:82px 88px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.18em;font-family:var(--mono);line-height:1.6;color:var(--green)}.status{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin-right:9px}.hero h1{font-size:clamp(42px,4.7vw,65px);line-height:1.38;letter-spacing:-.05em;margin:25px 0}.hero h1 span{color:var(--green)}.hero-description{max-width:465px;font-size:14px;line-height:2.15}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--green);color:#fff;padding:18px 25px;font-size:13px;font-weight:600;margin-top:30px;transition:background .2s,transform .2s}.button:hover{background:#224b37;transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.hero-note{font-size:10px;color:var(--muted);margin-top:14px}.hero-visual{min-height:535px;background-color:var(--paper);background-image:radial-gradient(#c8d4c6 .8px,transparent .8px);background-size:18px 18px;position:relative;padding:25px 30px 20px;border:1px solid var(--line)}.visual-top,.visual-bottom{display:flex;justify-content:space-between;font:9px var(--mono);letter-spacing:.12em;color:#68786b}.sources{display:flex;justify-content:space-between;gap:12px;margin:43px 5px 0}.sources span{border:1px solid #cbd7c8;background:#fff;padding:9px 12px;text-align:center;width:29%;font-size:11px}.gather-lines{display:flex;justify-content:center;height:60px;position:relative;margin-inline:18%}.gather-lines i{position:absolute;width:1px;height:64px;background:#98b794;top:0;left:50%;transform-origin:bottom}.gather-lines i:first-child{transform:rotate(-48deg);height:79px;top:-14px}.gather-lines i:last-child{transform:rotate(48deg);height:79px;top:-14px}.hub{position:relative;z-index:1;background:#fff;width:200px;margin:auto;text-align:center;padding:19px 12px 16px;border:1px solid #acc5a6;box-shadow:0 10px 35px #3153320a}.hub svg{display:block;width:61px;height:61px;margin:0 auto 8px}.hub strong{font-size:24px;letter-spacing:-.04em;line-height:1.5}.hub small{font-size:10px;letter-spacing:.12em}.hub>span{display:block;font:8px var(--mono);letter-spacing:.13em;color:var(--muted);margin-top:6px}.downline{height:31px;width:1px;background:#92b28c;margin:auto}.output{border:1px solid #c2d3ba;background:#eaf2e4;padding:17px 20px;display:flex;gap:18px;align-items:center}.braces{font:25px var(--mono);color:var(--green)}.output strong{display:block;font-size:13px}.output div>span{display:block;font-size:10px;color:var(--muted)}.formats{margin-left:auto;font:10px/1.8 var(--mono);color:var(--green)}.visual-bottom{margin:27px 10px 0;align-items:center}.visual-bottom b{font-size:14px;font-weight:400;color:#9bb191}.statement{background:var(--green);color:#fff}.statement .wrap{padding-block:24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.statement span{font:10px var(--mono);letter-spacing:.15em;color:#bdd2bc}.statement p{font-size:16px;font-weight:600;letter-spacing:.03em}.section{padding-block:100px}.section-heading{margin-bottom:47px}.section-heading h2{font-size:36px;letter-spacing:-.035em;line-height:1.65;margin-top:18px}.section-heading>p:last-child:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:20px}.problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.intro{font-size:15px}.intro .muted{font-size:13px;color:var(--muted);margin-top:23px;max-width:410px}.problem-list{margin:0;padding:0;list-style:none;font-size:13px}.problem-list li{border-top:1px solid var(--line);padding:17px 0;display:flex;gap:19px}.problem-list li:last-child{border-bottom:1px solid var(--line)}.problem-list span{color:#8b9c8d;font:11px/2 var(--mono)}.flow-section{background:var(--paper)}.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #bdcdb9;border-bottom:1px solid #bdcdb9}.steps article{padding:28px 30px 33px 0;position:relative}.steps article+article{border-left:1px solid var(--line);padding-left:30px}.step-number{font:52px/1 var(--mono);color:#b7cbb0}.step-en{font:10px var(--mono);letter-spacing:.16em;color:var(--green);margin:27px 0 12px}.steps h3{font-size:19px;letter-spacing:-.03em}.steps article>p:not(.step-en){font-size:12px;color:var(--muted);margin-top:15px}.step-tag{display:inline-block;border:1px solid #cbd8c5;font-size:10px;padding:4px 8px;margin-top:24px;color:var(--green)}.data-example{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:center;margin-top:65px}.data-example h3{font-size:24px;line-height:1.7;margin-top:14px}.data-example p:not(.eyebrow){font-size:12px;color:var(--muted);margin-top:16px}.data-example small{display:block;font-size:10px;color:var(--muted);margin-top:20px}pre{background:#23362b;color:#e5eddf;padding:32px;margin:0;overflow:auto;border-top:3px solid #96bb79;min-width:0;font:11px/2.3 var(--mono)}.code-muted{color:#b0c0ac}.code-key{color:#c0dca1}.code-value{color:#f2eee2}.ecosystem{display:grid;grid-template-columns:1fr 40px 1fr 40px 1fr;align-items:stretch}.ecosystem article{padding:30px 25px;border:1px solid var(--line)}.ecosystem .active{background:var(--green);border-color:var(--green);color:#fff}.service-role{font-size:11px;color:var(--muted)}.active .service-role{color:#cee2bf}.ecosystem h3{font-size:31px;margin-top:18px;letter-spacing:-.03em}.ecosystem h3 small{font-size:14px;letter-spacing:.1em}.ecosystem p{font-size:12px;margin-top:17px}.connector{align-self:center;text-align:center;color:#799372}.service-foot{font-size:9px;display:inline-block;margin-top:22px;border:1px solid #6c9575;padding:1px 9px}.scope-note{display:grid;grid-template-columns:.75fr 1.25fr;gap:40px;margin-top:35px;border-left:3px solid #b8ccab;padding:5px 0 5px 24px}.scope-note strong{font-size:14px}.scope-note p{font-size:12px;color:var(--muted)}.use-section{background:#edf1e8}.use-list{border-top:1px solid #c7d1c0}.use-list article{display:grid;grid-template-columns:180px 1fr 50px;gap:30px;border-bottom:1px solid #c7d1c0;padding:32px 0;align-items:start}.use-label{font:10px/2.5 var(--mono);color:var(--green);letter-spacing:.1em}.use-list h3{font-size:20px}.use-list p{font-size:13px;margin-top:10px;color:var(--muted);max-width:630px}.use-number{font:34px var(--mono);color:#9aac94;text-align:right}.faq-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px}.faq-section h2{font-size:29px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}summary{padding:23px 0;display:flex;gap:20px;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary span{font-size:20px;font-weight:400;color:var(--green)}details[open] summary span{transform:rotate(45deg)}details p{font-size:12px;color:var(--muted);padding:0 30px 24px 0}.contact-section{background:var(--green);color:#fff;padding-block:75px}.contact-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px}.contact-section .eyebrow{color:#c4d9b6}.contact-section h2{font-size:43px;line-height:1.5;letter-spacing:-.04em;margin:20px 0}.contact-section p:not(.eyebrow){font-size:12px;color:#d2e0d0}.contact-action{text-align:right}.button.light{background:#e4f0ce;color:#173c26}.button.light:hover{background:#fff}.contact-action p{margin-top:16px}.footer{padding-block:35px;display:flex;gap:30px;align-items:center;justify-content:space-between}.footer strong{font-size:20px;letter-spacing:.02em}.footer p,.footer a,.footer small{font-size:10px;color:var(--muted)}.footer a{margin-left:auto}.mobile-only{display:none}.skip{position:absolute;left:12px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:12px}
@media(min-width:1500px){.hero{padding-block:100px 110px}}@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.header{padding:0 32px}.header nav{gap:20px}.hero{gap:30px}.hero h1{font-size:47px}.hero-visual{padding-inline:20px}.hero-description{font-size:13px}.section{padding-block:75px}.section-heading h2{font-size:31px}.problem-grid{gap:40px}.data-example{gap:30px}.ecosystem article{padding:24px 18px}.ecosystem h3{font-size:25px}.use-list article{grid-template-columns:140px 1fr 40px}.faq-section{gap:30px}.contact-section h2{font-size:38px}}
@media(max-width:700px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.header{height:76px;padding-inline:20px}.logo-crop{width:137px;height:42px}.logo-crop img{width:177px;left:-20px;top:-23px}.header nav>a:not(.nav-contact){display:none}.header nav{font-size:11px}.nav-contact{padding:7px 12px}.nav-contact span{margin-left:12px}.hero{grid-template-columns:1fr;padding-block:40px 45px;gap:36px}.eyebrow{font-size:9px;letter-spacing:.12em}.hero h1{font-size:clamp(39px,10.5vw,58px);margin:22px 0;line-height:1.4}.hero-description{font-size:13px;max-width:100%}.button{font-size:12px;gap:24px;padding:16px 20px;margin-top:24px}.hero-note{font-size:9px}.hero-visual{min-height:490px;padding:22px}.sources{margin-top:32px}.visual-bottom{margin-top:24px}.statement .wrap{display:block;padding-block:22px}.statement span{font-size:8px}.statement p{font-size:14px;margin-top:10px}.section{padding-block:60px}.section-heading{margin-bottom:30px}.section-heading h2{font-size:27px;margin-top:14px;line-height:1.6}.section-heading>p:last-child:not(.eyebrow){font-size:12px}.problem-grid{grid-template-columns:1fr;gap:28px}.intro{font-size:14px}.intro .muted{font-size:12px}.problem-list{font-size:12px}.steps{grid-template-columns:1fr}.steps article,.steps article+article{padding:25px 0;border-left:0}.steps article+article{border-top:1px solid var(--line)}.step-number{font-size:39px;float:right}.step-en{margin:4px 0 12px}.steps h3{font-size:19px}.steps article>p:not(.step-en){margin-top:11px;max-width:90%}.step-tag{margin-top:17px}.data-example{grid-template-columns:1fr;gap:24px;margin-top:40px}.data-example h3{font-size:22px}.data-example small{font-size:9px}pre{padding:23px 18px;font-size:10px}.ecosystem{grid-template-columns:1fr}.ecosystem article{padding:25px}.ecosystem h3{margin-top:8px;font-size:29px}.ecosystem p{margin-top:10px}.ecosystem p br{display:none}.service-foot{margin-top:14px}.connector{transform:rotate(90deg);padding:7px;font-size:20px}.scope-note{grid-template-columns:1fr;gap:12px;padding-left:18px}.scope-note strong{font-size:13px}.use-list article{grid-template-columns:1fr 40px;gap:8px 20px;padding:24px 0}.use-label{grid-column:1}.use-list article>div{grid-column:1;grid-row:2}.use-number{grid-column:2;grid-row:1/3;font-size:29px}.use-list h3{font-size:18px}.use-list p{font-size:12px}.faq-section{display:block}.faq-section .section-heading{margin-bottom:26px}summary{font-size:12px;padding-block:21px}.contact-section{padding-block:55px}.contact-inner{grid-template-columns:1fr;gap:16px}.contact-section h2{font-size:36px}.contact-section p:not(.eyebrow){font-size:11px}.contact-section p br{display:none}.contact-action{text-align:left}.footer{flex-wrap:wrap;gap:20px;padding-block:30px}.footer>div{width:100%}.footer a{margin-left:0}.footer small{margin-left:auto}.mobile-only{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* DIVEと共通のフォント計画：日本語は丸ゴシック、英字・数値は等幅。 */
h1,h2,h3{font-weight:900} .hero h1{letter-spacing:-.025em}.section-heading h2,.contact-section h2{letter-spacing:-.02em}.hero-description{font-size:15px}.steps article>p:not(.step-en),.scope-note p,.use-list p,.ecosystem p,details p{font-size:13px}.section-heading>p:last-child:not(.eyebrow){font-size:14px}.eyebrow,.visual-top,.visual-bottom,.step-en,.step-number,.use-label,.use-number,.formats{font-weight:700}pre,code{font-family:var(--mono);font-weight:400}.hub strong,.footer strong{font-family:var(--sans)}
@media(max-width:700px){.hero-description{font-size:14px}.steps article>p:not(.step-en),.scope-note p,.use-list p,.ecosystem p,details p{font-size:12px}.section-heading>p:last-child:not(.eyebrow){font-size:13px}}
