@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#101419;--accent:#eaff5a;--paper:#f4f4ed}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif;line-height:1.9}a{color:inherit;text-decoration:none}.wrap{width:min(1140px,90%);margin:auto}.header{position:sticky;top:0;z-index:20;background:rgba(20,20,24,.96);color:white;backdrop-filter:blur(12px);border-bottom:1px solid #ffffff22}.head{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px}.brand{font-size:1.13rem;font-weight:900;letter-spacing:.05em}.brand small{display:block;font-size:.61rem;letter-spacing:.24em;color:var(--accent)}.nav{display:flex;gap:14px;flex-wrap:wrap;font-size:.78rem}.nav a:hover{color:var(--accent)}.toggle{display:none;background:var(--accent);border:0;padding:8px 13px;border-radius:3px;font-weight:900}.hero{background:var(--ink);color:white;min-height:620px;display:grid;grid-template-columns:52% 48%;overflow:hidden}.hero-copy{padding:clamp(45px,8vw,125px) clamp(24px,6vw,110px);align-self:center}.eyebrow{font-size:.76rem;letter-spacing:.25em;font-weight:800;color:var(--accent)}h1{font-size:clamp(2.5rem,5vw,5.3rem);line-height:1.32;letter-spacing:-.06em;margin:18px 0}.hero p{max-width:580px;color:#dedee0}.hero-photo{background-image:linear-gradient(90deg,#10141930,#10141905),url('https://images.unsplash.com/photo-1492691527719-9d1e07e534b4?auto=format&fit=crop&w=1600&q=85');background-position:center;background-size:cover;min-height:420px}.button{display:inline-block;background:var(--accent);color:var(--ink);padding:12px 26px;font-weight:900;border-radius:2px;transition:transform .25s,box-shadow .25s}.button:hover{transform:translateY(-4px);box-shadow:0 14px 25px #0003}section{padding:85px 0}.section-title{font-size:clamp(1.8rem,3vw,3.1rem);line-height:1.4;margin:0 0 18px;letter-spacing:-.04em}.lead{font-size:1.1rem;max-width:800px}.kicker{font-weight:900;letter-spacing:.17em;color:#7b706d;font-size:.76rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}.card{background:white;border:1px solid #e3e0d8;padding:30px;border-radius:0;transition:transform .25s,box-shadow .25s}.card:hover{transform:translateY(-7px);box-shadow:0 18px 35px #00000016}.card h3{font-size:1.2rem;line-height:1.5;margin:10px 0}.card p{font-size:.94rem}.card .num{font-size:2rem;font-weight:900;color:#c3b6ab}.dark{background:var(--ink);color:white}.dark .kicker{color:var(--accent)}.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.photo{width:100%;height:380px;object-fit:cover;border-radius:0}.page-top{background:var(--ink);color:white;padding:90px 0 100px;position:relative;overflow:hidden}.page-top:after{content:'';position:absolute;right:-50px;top:-100px;width:400px;height:400px;border:60px solid var(--accent);border-radius:50%;opacity:.15}.page-top h1{font-size:clamp(2.2rem,4vw,4.3rem)}.content p{max-width:900px}.wide-line{border-top:1px solid #c9c8c0;margin:35px 0}.faq details{border-bottom:1px solid #c8c6be;padding:20px 0}.faq summary{font-weight:800;cursor:pointer}.footer{background:#0e1014;color:#c8c8cc;padding:55px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer a:hover{color:var(--accent)}.small{font-size:.8rem;color:#aaa}.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s,transform .65s}.reveal.visible{opacity:1;transform:none}.pill{display:inline-block;border:1px solid currentColor;border-radius:30px;padding:4px 15px;font-size:.8rem;margin:4px}.cookie{position:fixed;bottom:20px;left:20px;right:20px;max-width:620px;z-index:30;background:white;box-shadow:0 12px 40px #0004;padding:20px;border-left:5px solid var(--accent);display:none}.cookie button{background:var(--ink);color:white;border:0;padding:8px 20px;cursor:pointer}@media(max-width:920px){.toggle{display:block}.nav{display:none;position:absolute;top:78px;left:0;right:0;background:#19191f;padding:20px 5%;flex-direction:column}.nav.open{display:flex}.hero,.split{grid-template-columns:1fr}.hero-photo{min-height:360px;order:-1}.cards{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.cards,.footer-grid{grid-template-columns:1fr}.hero-copy{padding:45px 6%}section{padding:60px 0}.photo{height:270px}}