:root{--navy:#0b1730;--gold:#c9a45c;--bg:#f7f8fb;--text:#172033;--muted:#667085;--line:#dfe4ec}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",sans-serif;color:var(--text);line-height:1.85;background:#fff}a{text-decoration:none;color:inherit}.container{width:min(1120px,92%);margin:auto}.center{text-align:center}

/* header */
header{position:fixed;z-index:10;top:0;left:0;right:0;background:#fffffff2;border-bottom:1px solid var(--line)}.nav{height:70px;display:flex;align-items:center;justify-content:space-between}.logo{font-weight:800;letter-spacing:.16em;color:var(--navy);font-size:20px}
.navlinks{display:flex;align-items:center;gap:26px;font-size:13px;color:#44506a}.navlinks a.on{color:var(--navy);font-weight:800}.navcta{background:var(--navy);color:#fff!important;padding:9px 17px;border-radius:3px}
.menu-toggle{display:none}.menu-btn{display:none}

/* common */
.eyebrow,.tag,.num{color:var(--gold);font-weight:800;letter-spacing:.16em;font-size:12px}
h1{font-size:clamp(42px,6vw,72px);line-height:1.15;color:var(--navy);margin:20px 0}
h2{font-size:clamp(30px,4vw,45px);line-height:1.3;color:var(--navy);margin:10px 0 16px}
.lead{font-size:19px;color:#46526a;max-width:760px}.sub{color:var(--muted);max-width:720px}
.actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}.btn{display:inline-block;padding:13px 22px;border-radius:4px;font-weight:800;border:1px solid var(--navy)}.primary{background:var(--navy);color:#fff}.secondary{background:#fff;color:var(--navy)}
.section{padding:100px 0}.alt{background:var(--bg)}

/* top hero */
.hero{padding:165px 0 105px;background:linear-gradient(135deg,#f7f9fc,#fff 60%,#eef2f8)}.hero h1 span{display:block;color:var(--gold)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}.hero-img{position:relative}.hero-img img{width:100%;height:520px;object-fit:cover;border-radius:10px;box-shadow:0 30px 60px -20px #0b173055}.hero-img:before{content:"";position:absolute;inset:24px -24px -24px 24px;border:1px solid var(--gold);border-radius:10px;z-index:-1}

/* sub page hero */
.page-hero{padding:150px 0 80px;color:#fff;background:linear-gradient(135deg,#0b1730e0,#182e55a6),var(--hero) center/cover}.page-hero h1{color:#fff;font-size:clamp(34px,5vw,56px)}.page-hero .lead{color:#d8deea}
.crumbs{font-size:12px;color:#aeb8ca;margin-bottom:24px}.crumbs a{color:#d8deea;text-decoration:underline;text-underline-offset:3px}

/* sections */
.problem{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.dark{background:var(--navy);color:#fff;padding:38px;border-radius:8px}.dark h3{color:#fff}
.img-band{height:340px;border-radius:10px;overflow:hidden;margin-top:45px}.img-band img{width:100%;height:100%;object-fit:cover}
.quote{background:linear-gradient(#0b1730d9,#0b1730e6),url(https://images.unsplash.com/photo-1757466762489-52fea38071ad?auto=format&fit=crop&w=2000&q=80) center/cover;color:#fff;text-align:center;padding:78px 20px}.quote h2{color:#fff;max-width:850px;margin:auto}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards.four{grid-template-columns:repeat(4,1fr)}
.card,.step{background:#fff;border:1px solid var(--line);border-radius:7px;padding:27px;overflow:hidden}.card h3,.step h3{color:var(--navy);margin:7px 0}.card p,.step p{color:var(--muted)}
.card img{width:calc(100% + 54px);margin:-27px -27px 18px;height:180px;object-fit:cover;display:block}
.card.link,.step{display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.card.link:hover,a.step:hover{transform:translateY(-4px);box-shadow:0 18px 40px -18px #0b173040}.more{margin-top:auto;color:var(--navy);font-weight:800;font-size:14px}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.center .btn,p.center{margin-top:36px}
.profile{display:grid;grid-template-columns:300px 1fr;gap:45px}.photo{height:350px;border-radius:8px;background:url(https://images.unsplash.com/photo-1517048676732-d65bc937f952?auto=format&fit=crop&w=800&q=80) center/cover}.profile .btn{margin-top:10px}

/* article pages */
.prose{max-width:820px}.prose h2{font-size:clamp(24px,3vw,32px);margin:56px 0 16px;padding-left:16px;border-left:4px solid var(--gold)}.prose h2:first-child{margin-top:0}.prose h2.nm{border:0;padding:0;margin-top:8px}.prose h3{color:var(--navy);margin:32px 0 8px}.prose p{margin:0 0 16px}
.check{list-style:none;padding:0;margin:0 0 16px}.check li{position:relative;padding:12px 0 12px 30px;border-bottom:1px solid var(--line)}.check li:before{content:"";position:absolute;left:4px;top:22px;width:12px;height:7px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
.flow{counter-reset:f;list-style:none;padding:0}.flow li{counter-increment:f;position:relative;padding:14px 0 14px 56px;border-bottom:1px solid var(--line)}.flow li:before{content:counter(f,decimal-leading-zero);position:absolute;left:0;top:12px;font-weight:800;color:var(--gold);font-size:22px}
.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:16px}.menu-grid>div{border:1px solid var(--line);border-radius:7px;padding:20px}.menu-grid h3{margin:0 0 6px}.menu-grid p{color:var(--muted);margin:0;font-size:15px}
.faq details{border:1px solid var(--line);border-radius:7px;margin-bottom:10px;background:#fff}.faq summary{cursor:pointer;padding:16px 20px;font-weight:800;color:var(--navy);list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"Q.";color:var(--gold);margin-right:10px}.faq details p{margin:0;padding:0 20px 18px;color:var(--muted)}

/* cta + footer */
.cta{background:linear-gradient(135deg,#0b1730f0,#182e55d9),url(https://images.unsplash.com/photo-1573164574572-cb89e39749b4?auto=format&fit=crop&w=2000&q=80) center/cover;color:#fff;text-align:center;padding:100px 0}.cta h2{color:#fff}.cta p{color:#d8deea;max-width:680px;margin:0 auto 28px}
footer{background:#070f20;color:#aeb8ca;padding:48px 0 24px;font-size:13px}.foot{display:flex;justify-content:space-between;gap:30px}.flogo{color:#fff;letter-spacing:.15em}.fnav{display:grid;grid-template-columns:repeat(2,auto);gap:6px 30px}.fnav a:hover{color:#fff}.copy{margin-top:30px;padding-top:18px;border-top:1px solid #1c2740;font-size:12px}

@media(max-width:980px){.cards.four{grid-template-columns:1fr 1fr}}
@media(max-width:850px){
.menu-btn{display:block;width:44px;height:44px;position:relative;cursor:pointer}.menu-btn span,.menu-btn span:before,.menu-btn span:after{position:absolute;left:10px;width:24px;height:2px;background:var(--navy);content:""}.menu-btn span{top:21px}.menu-btn span:before{left:0;top:-7px}.menu-btn span:after{left:0;top:7px}
.navlinks{display:none;position:absolute;top:70px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--line);padding:8px 4% 18px;font-size:15px}.navlinks a{padding:12px 0;border-bottom:1px solid var(--line)}.navlinks .navcta{text-align:center;margin-top:12px;border:0}
.menu-toggle:checked~.navlinks{display:flex}
.problem,.profile,.hero-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.menu-grid{grid-template-columns:1fr}
.hero-img img{height:320px}.hero-img:before{display:none}.img-band{height:220px}.foot{flex-direction:column}}
@media(max-width:560px){.cards,.cards.four{grid-template-columns:1fr}.section{padding:75px 0}.hero{padding-top:130px}.page-hero{padding:120px 0 60px}h1{font-size:43px}}

/* profile */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.stats.wide{grid-template-columns:repeat(4,1fr);margin-top:50px}.stats>div{border:1px solid var(--line);border-radius:7px;padding:18px;background:#fff}.stats b{display:block;font-size:34px;line-height:1.1;color:var(--navy)}.stats small{font-size:15px;margin-left:2px}.stats span{display:block;font-size:12px;color:var(--muted);margin-top:6px;line-height:1.5}
.role{color:var(--muted);margin-top:-8px!important}.catch{font-size:20px;font-weight:800;color:var(--navy);line-height:1.7}.triad{font-size:22px;font-weight:800;color:var(--navy);line-height:1.8;border-left:4px solid var(--gold);padding-left:18px}.sign{text-align:right;font-weight:800;color:var(--navy);margin-top:30px!important}
.flow a{color:var(--navy)}.flow a:hover{text-decoration:underline}
@media(max-width:850px){.stats.wide{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.stats{grid-template-columns:1fr 1fr}.stats b{font-size:28px}}
