
:root{--navy:#123b66;--blue:#2f80ed;--sky:#eef8ff;--green:#65b96e;--orange:#f28a3b;--text:#243247;--muted:#607080;--border:#dfe7ee;--max:1200px;--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Noto Sans JP","Yu Gothic",sans-serif;color:var(--text);line-height:1.8;background:#fff}
a{text-decoration:none;color:inherit}.container{width:min(calc(100% - 40px),var(--max));margin:auto}img{max-width:100%;display:block;height:auto}
header{position:sticky;top:0;background:rgba(255,255,255,.95);border-bottom:1px solid var(--border);z-index:20}.header{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{width:155px}
.nav{display:flex;gap:18px;font-size:.94rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:999px;font-weight:800;min-height:50px}.primary{background:var(--navy);color:#fff}.secondary{border:1px solid var(--navy);color:var(--navy)}
.notice{background:#fff4dd;border-bottom:1px solid #ecd69d;padding:10px 0;color:#6b531b;font-size:.9rem}
.hero{padding:80px 0 60px;background:linear-gradient(90deg,#fff 0%,#fff 50%,#f2f8ff)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}
.eyebrow,.label{font-size:.78rem;letter-spacing:.14em;font-weight:800;color:var(--blue);text-transform:uppercase}h1{font-size:clamp(3rem,6vw,5rem);line-height:1.05;margin:.2em 0}h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.2}h3{font-size:1.3rem}.lead{font-size:1.15rem;color:var(--muted)}
section{padding:88px 0}.band{background:#fafbf9}.sky{background:linear-gradient(180deg,#eef8ff,#fff 62%)}.section-head{text-align:center;max-width:860px;margin:0 auto 40px}
.grid{display:grid;gap:18px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g7{grid-template-columns:repeat(7,1fr)}
.card{border:1px solid var(--border);border-radius:var(--radius);padding:24px;background:#fff}.badge{display:inline-block;padding:5px 10px;border-radius:999px;background:#eef5ff;color:var(--navy);font-size:.8rem;font-weight:800}
.engine{min-height:190px}.engine strong{display:block;font-size:1.05rem;color:var(--navy);margin:.4em 0}.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.flow .card{padding:20px}.price{font-size:2rem;font-weight:900;color:var(--navy)}
.legal{border-left:5px solid var(--orange)}.center{text-align:center}.footer{padding:46px 0;background:var(--navy);color:#fff}
@media(max-width:980px){.nav{display:none}.hero-grid,.g2,.g3,.g4,.g7,.flow{grid-template-columns:1fr}.engine{min-height:auto}section{padding:68px 0}}
@media(max-width:600px){.container{width:min(calc(100% - 28px),100%)}.logo{width:135px}.btn{width:100%}.card{padding:20px}}

/* V1.1 responsive integration; official imagery is not altered. */
.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.card,.hero-grid>*{min-width:0}h1{line-height:1.35}h2{line-height:1.5}h3{line-height:1.6}h1,h2,h3{word-break:normal;line-break:strict}.label,.eyebrow{text-transform:none;font-size:.875rem}.g7{grid-template-columns:repeat(4,minmax(0,1fr))}.flow{grid-template-columns:repeat(3,minmax(0,1fr))}.engine strong{overflow-wrap:anywhere}.engine{min-height:0}.btn{font:inherit;font-weight:700;border:0;max-width:100%;text-align:center;line-height:1.7}button[disabled]{background:#e1e7ee;color:#45566a;border:1px solid #c4cfdc;cursor:not-allowed}.subtle{color:var(--muted);font-size:.95rem}.intelligence-rules,.state-board{margin-top:24px}.state-flow{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.state-flow li{padding:16px;border:1px solid var(--border);border-radius:16px;background:#fff}.state-flow code{display:block;overflow-wrap:anywhere;font-size:.9rem;color:var(--navy)}.state-flow span{display:block;margin-top:8px}.mapping-wrap{border:1px solid var(--border);border-radius:16px;overflow:hidden}table{border-collapse:collapse;width:100%;background:white}caption{text-align:left;padding:16px;font-weight:700}th,td{padding:16px;text-align:left;border-top:1px solid var(--border)}td{overflow-wrap:anywhere}.ai{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.ai h3,.ai a{text-transform:none}.ai img{width:100%;height:200px;object-fit:contain}.price{white-space:nowrap}.mobile-navigation{display:none}.mobile-navigation summary{cursor:pointer;padding:12px}.mobile-navigation nav{position:absolute;top:100%;left:0;right:0;background:white;padding:20px;display:grid;gap:16px;border-bottom:1px solid var(--border)}a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr}.g7,.state-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.flow,.ai{grid-template-columns:1fr}.mobile-navigation{display:block;margin-left:auto}.header>.btn{display:none}.logo{width:110px}.header{gap:12px}}
@media(max-width:600px){h1{font-size:clamp(1.9rem,8vw,2.6rem)}h2{font-size:clamp(1.5rem,6vw,2rem)}h3{font-size:1.2rem;overflow-wrap:anywhere}.hero{padding:40px 0}section{padding:52px 0}.g7,.state-flow{grid-template-columns:1fr}.price{font-size:1.8rem}.eyebrow,.label{letter-spacing:.05em}th,td{padding:12px}.btn{padding:12px 16px}}
