:root{--navy:#06152e;--navy2:#0d315b;--blue:#176fb3;--gold:#d8b568;--gold2:#f1da9b;--ink:#142038;--muted:#68758a;--paper:#f3f6f9;--line:#dce4eb;--container:min(1180px,calc(100% - 40px))}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;color:var(--ink);font-family:"Noto Sans JP","Yu Gothic",sans-serif;line-height:1.85;background:#fff}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:var(--container);margin:auto}.container.narrow{max-width:960px}.section{padding:105px 0}.eyebrow{margin:0 0 14px;color:var(--blue);font-size:9px;font-weight:900;letter-spacing:.2em}
.site-header{position:fixed;z-index:1000;inset:0 0 auto;height:82px;background:rgba(6,21,46,.96);border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px)}.header-inner{width:var(--container);height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand img{width:180px;max-height:58px;object-fit:contain;filter:brightness(0) invert(1)}.global-nav{display:flex;align-items:center;gap:26px}.global-nav a{color:#fff;font-size:12px;font-weight:800}.global-nav .nav-cta{padding:10px 17px;border-radius:999px;color:var(--navy);background:var(--gold)}.menu-button{display:none;width:44px;height:44px;border:1px solid rgba(255,255,255,.3);border-radius:12px;background:transparent}.menu-button span{display:block;width:20px;height:2px;margin:5px auto;background:#fff}
.hero{padding:145px 0 95px;color:#fff;background:radial-gradient(circle at 85% 25%,rgba(23,111,179,.3),transparent 30%),linear-gradient(125deg,#041126,#0d315b)}.hero-grid{width:var(--container);margin:auto;display:grid;grid-template-columns:.86fr 1.14fr;gap:65px;align-items:center}.breadcrumb{font-size:9px;color:rgba(255,255,255,.55);letter-spacing:.1em}.breadcrumb span{margin:0 8px}.hero h1{margin:12px 0 0;font-family:"Yu Mincho",serif;font-weight:500;line-height:1.25}.hero h1>span{display:block;font-size:clamp(44px,5.2vw,70px);color:var(--gold2)}.hero h1 small{display:block;margin-top:12px;font-family:"Noto Sans JP",sans-serif;font-size:14px;color:#fff}.hero-lead{margin:27px 0 0;font-family:"Yu Mincho",serif;font-size:25px;line-height:1.7}.hero-text{color:rgba(255,255,255,.7);font-size:13px}.hero-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}.hero-meta span{padding:5px 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;font-size:8px}.hero-visual{position:relative;height:520px}.device{position:absolute;overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 28px 75px rgba(0,0,0,.28)}.device img{width:100%;height:100%;object-fit:cover;object-position:top}.device.desktop{inset:0 70px 70px 0}.device.mobile{right:0;bottom:0;width:210px;height:390px;border:7px solid rgba(255,255,255,.85)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:48px}.section-head h2,.large-title,.controlled-title,.result-copy h2,.cta h2{margin:0;color:var(--navy);font-family:"Yu Mincho",serif;font-weight:500;line-height:1.4}.section-head h2{font-size:clamp(33px,4vw,52px)}.section-head>p{max-width:550px;margin:0;color:var(--muted)}.project-overview{background:#fff}.overview-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:30px}.overview-grid dl{margin:0;border-top:1px solid var(--line)}.overview-grid dl div{display:grid;grid-template-columns:130px 1fr;padding:17px;border-bottom:1px solid var(--line)}.overview-grid dt{font-size:9px;color:var(--blue);font-weight:900}.overview-grid dd{margin:0;font-size:13px}.overview-message{padding:30px;border-radius:20px;color:#fff;background:var(--navy)}.overview-message strong{color:var(--gold2);font-size:9px}.overview-message p{font-family:"Yu Mincho",serif;font-size:21px}
.challenge{background:var(--paper)}.large-title{font-size:clamp(38px,5vw,62px)}.challenge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px}.challenge-card,.feature-card{padding:28px;border:1px solid var(--line);border-radius:20px;background:#fff}.challenge-card span,.feature-card>span{color:var(--gold);font-family:serif;font-size:28px}.challenge-card h3,.feature-card h3{margin:15px 0 0;color:var(--navy)}.challenge-card p,.feature-card p{color:var(--muted);font-size:12px}
.solution{background:#fff}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.showcase{background:var(--paper)}.showcase-item{display:grid;grid-template-columns:.34fr .66fr;gap:45px;align-items:center;margin-top:30px;padding:30px;border:1px solid var(--line);border-radius:24px;background:#fff}.showcase-item.reverse{grid-template-columns:.66fr .34fr}.showcase-item.reverse .showcase-copy{order:2}.showcase-copy>span{color:var(--blue);font-size:9px;font-weight:900}.showcase-copy h3{font-family:"Yu Mincho",serif;font-size:30px;color:var(--navy)}.showcase-copy p{color:var(--muted);font-size:12px}.showcase-image{height:420px;overflow:hidden;border-radius:16px;background:#e9eef3}.showcase-image img{width:100%;height:100%;object-fit:cover;object-position:top}.showcase-image.split{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px}.showcase-image.split img{border-radius:10px}
.mobile-experience{background:#fff}.controlled-title span{display:block}.controlled-title{font-size:clamp(33px,4vw,52px)}.phone-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.phone-gallery figure{margin:0;padding:10px;border-radius:25px;background:#07162e;box-shadow:0 18px 45px rgba(6,21,46,.15)}.phone-gallery img{width:100%;height:480px;object-fit:cover;object-position:top;border-radius:18px}.phone-gallery figcaption{padding:10px;color:#fff;text-align:center;font-size:10px}.functions{background:var(--paper)}.function-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.function-list>span{padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;font-size:12px;font-weight:800}.function-list small{margin-right:10px;color:var(--gold)}
.result{color:#fff;background:linear-gradient(125deg,var(--navy),var(--navy2))}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.result-copy h2{color:#fff;font-size:clamp(34px,4vw,52px)}.result-copy p{color:rgba(255,255,255,.67)}.client-voice{margin:0;padding:35px;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:rgba(255,255,255,.06)}.client-voice span{color:var(--gold2);font-size:9px;font-weight:900}.client-voice p{font-family:"Yu Mincho",serif;font-size:22px}
.cta{text-align:center;background:#fff}.cta h2{font-size:clamp(34px,4vw,52px)}.cta-inner>p:not(.eyebrow){color:var(--muted)}.cta-button{display:inline-flex;gap:20px;margin-top:22px;padding:15px 26px;border-radius:999px;color:var(--navy);background:var(--gold);font-size:12px;font-weight:900}.site-footer{padding:40px 0;color:rgba(255,255,255,.6);background:#020a17}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-brand img{width:165px;filter:brightness(0) invert(1)}.footer-links{display:flex;gap:20px;font-size:10px}.footer-inner>p{font-size:9px}.page-top{position:fixed;right:20px;bottom:20px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--navy)}.reveal{opacity:0;transform:translateY(25px);transition:.75s}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr}.hero-visual{max-width:750px;width:100%;margin:auto}.feature-grid{grid-template-columns:repeat(2,1fr)}.showcase-item,.showcase-item.reverse{grid-template-columns:1fr}.showcase-item.reverse .showcase-copy{order:0}.phone-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.site-header{height:72px}.global-nav{position:fixed;inset:72px 14px auto;display:none;flex-direction:column;padding:25px;border-radius:18px;background:#06152e}.global-nav.open{display:flex}.menu-button{display:block}.section-head{display:block}.section-head>p{margin-top:18px}.challenge-grid,.overview-grid,.result-grid{grid-template-columns:1fr}.function-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){:root{--container:min(100% - 28px,1180px)}.section{padding:78px 0}.hero{padding-top:115px}.hero h1>span{font-size:42px}.hero-lead{font-size:21px}.hero-visual{height:360px}.device.desktop{right:28px;bottom:45px}.device.mobile{width:135px;height:255px}.challenge-grid,.feature-grid,.phone-gallery,.function-list{grid-template-columns:1fr}.showcase-image{height:280px}.phone-gallery img{height:520px}.footer-inner{display:block}.footer-links{margin:20px 0;flex-wrap:wrap}}
