:root{color-scheme:light;--ink:#172027;--muted:#596168;--yellow:#ffe833;--line:#e3e5e6;--paper:#fff;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #2274af;outline-offset:6px}img{display:block;max-width:100%;height:auto}.wrap{width:min(1180px,calc(100% - 80px));margin-inline:auto}.header{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:24px;font-weight:800;letter-spacing:-1px}.brand span{display:block;font-size:11px;letter-spacing:1px;font-weight:400;color:var(--muted);margin-top:5px}nav{display:flex;gap:34px;font-size:14px}nav a{padding:12px 0}nav a:hover,.footer a:hover{text-decoration:underline;text-underline-offset:5px}.hero{display:grid;grid-template-columns:1fr 1.18fr;align-items:center;min-height:540px;gap:30px;padding-block:55px 70px}.eyebrow{font-size:14px;letter-spacing:3px;margin:0 0 26px}h1{font-size:clamp(40px,4.6vw,64px);letter-spacing:-2px;line-height:1.25;margin:0;font-weight:850}h1 span{position:relative;isolation:isolate;white-space:nowrap}h1 span:after{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:5px;height:15px;background:var(--yellow)}.intro{color:var(--muted);font-size:16px;line-height:1.9;margin:25px 0 30px}.button{display:inline-flex;gap:35px;align-items:center;padding:17px 24px;border-radius:8px;background:var(--ink);color:white;font-size:14px;font-weight:600;transition:background .2s}.button:hover{background:#35434b}.hero-art{border-radius:28px;overflow:hidden;background:#fff}.hero-art img{width:100%;aspect-ratio:1.18;object-fit:cover;object-position:center}.product{padding-block:56px 70px;border-top:1px solid var(--line);scroll-margin-top:24px}.product-heading{display:flex;align-items:center;gap:20px}.app-icon{width:72px;height:72px;object-fit:cover;border-radius:17px;border:1px solid var(--line)}.section-label{font-size:13px;color:var(--muted);margin:0 0 12px;letter-spacing:1px}h2{font-size:30px;line-height:1.4;margin:0;letter-spacing:-.8px}.product-body{display:grid;grid-template-columns:1fr 1.18fr;gap:30px;margin-top:40px}.product-intro{font-size:25px;line-height:1.7;margin:0}.features{margin:0}.features div{display:grid;grid-template-columns:100px 1fr;gap:16px;padding:17px 0;border-bottom:1px solid var(--line)}.features div:first-child{padding-top:0}.features dt{font-size:15px;font-weight:650}.features dd{margin:0;font-size:14px;line-height:1.7;color:var(--muted)}.contact{background:#f5f6f4;scroll-margin-top:0}.contact-inner{padding-block:60px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.contact h2{font-size:36px}.contact p:last-child{font-size:14px;line-height:1.9;color:var(--muted);max-width:350px;margin:20px 0 0}.email{display:block;padding:30px;border-radius:12px;background:var(--yellow);transition:box-shadow .2s}.email:hover{box-shadow:0 7px 0 var(--ink)}.email>span:first-child{font-size:13px;display:block;margin-bottom:15px}.email strong{font-size:clamp(18px,2.1vw,27px);font-weight:650;overflow-wrap:anywhere}.email-action{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #b4a32b;padding-top:20px;margin-top:24px;font-size:14px}.footer{display:flex;justify-content:space-between;gap:20px;padding-block:26px;color:var(--muted);font-size:12px;line-height:1.8}.footer p{margin:0}.skip-link{position:absolute;left:16px;top:-100px;padding:12px;background:white;z-index:10}.skip-link:focus{top:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{min-height:86px;gap:12px}.brand{font-size:21px}.brand span{font-size:9px;letter-spacing:0}nav{gap:18px;font-size:12px}.hero{grid-template-columns:1fr;gap:30px;min-height:0;padding-block:35px 40px}h1{font-size:48px}.eyebrow{margin-bottom:20px}.intro{font-size:15px;margin-top:20px}.hero-art{border-radius:18px}.hero-art img{aspect-ratio:1.55;object-fit:cover}.product{padding-block:38px 42px}.app-icon{width:58px;height:58px;border-radius:14px}.product-heading{gap:14px}.product h2{font-size:23px}.section-label{font-size:11px}.product-body{grid-template-columns:1fr;gap:26px;margin-top:28px}.product-intro{font-size:23px}.features div{grid-template-columns:78px 1fr;gap:12px}.contact-inner{grid-template-columns:1fr;gap:28px;padding-block:40px}.contact h2{font-size:30px}.email{padding:25px}.email strong{font-size:22px}.footer{flex-direction:column;gap:8px;padding-block:24px}}@media(max-width:360px){nav{gap:12px}.wrap{width:calc(100% - 32px)}h1{font-size:42px}.product h2{font-size:20px}.email strong{font-size:19px}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}

/* Japanese copy: keep headings and navigation readable at narrow widths. */
html[lang="ja"] h1{font-size:clamp(30px,3.2vw,44px);letter-spacing:-1px;line-height:1.5}html[lang="ja"] .contact h2{font-size:clamp(23px,2.5vw,32px)}html[lang="ja"] .features div{grid-template-columns:112px 1fr}
@media(max-width:760px){html[lang="ja"] nav{gap:14px;font-size:11px}html[lang="ja"] .brand{font-size:19px}html[lang="ja"] h1{font-size:clamp(28px,7.5vw,40px)}html[lang="ja"] .product-intro{font-size:22px}html[lang="ja"] .features div{grid-template-columns:1fr;gap:7px}html[lang="ja"] .product h2{font-size:21px}}
