@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Noto+Sans+JP:wght@400;500;700;900&display=swap');
:root{--ink:#12213f;--muted:#60708b;--paper:#f8f7f2;--card:#fff;--blue:#2878ed;--lime:#c5f238;--line:#dce4ef}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans','Noto Sans JP',sans-serif;line-height:1.7}a{color:inherit}.site-header,.site-footer{width:min(1120px,calc(100% - 48px));margin:auto;display:flex;align-items:center;justify-content:space-between}.site-header{padding:24px 0}.site-header nav{display:flex;gap:28px;color:var(--muted);font-size:14px}.site-header a,.site-footer a{text-decoration:none}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:900;letter-spacing:-.03em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;color:var(--ink);background:var(--lime);font-weight:900}.back-link{color:var(--blue);font-size:14px}.hero{position:relative;width:min(1120px,calc(100% - 48px));min-height:535px;margin:30px auto 110px;padding:78px 80px;overflow:hidden;border-radius:34px;background:var(--ink);color:#fff}.hero:after{content:'';position:absolute;width:390px;height:390px;right:-120px;bottom:-150px;border-radius:50%;background:var(--lime)}.hero-copy{position:relative;z-index:2;max-width:600px}.eyebrow{margin:0 0 14px;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.16em}.hero .eyebrow{color:var(--lime)}h1,h2,h3,p{margin-top:0}h1{margin-bottom:24px;font-size:clamp(40px,6vw,74px);line-height:1.12;letter-spacing:-.06em}h1 em{color:var(--lime);font-style:normal}.hero-text{max-width:460px;color:#c6d0e2;font-size:18px}.button{display:inline-block;margin-top:20px;padding:12px 22px;border-radius:999px;background:var(--lime);color:var(--ink);font-weight:700;text-decoration:none}.hero-art{position:absolute;inset:0}.note{position:absolute;right:155px;top:92px;display:grid;place-items:center;width:180px;height:180px;border:1px solid #ffffff40;border-radius:50%;color:var(--ink);background:var(--lime);font-size:82px;font-weight:900;transform:rotate(9deg)}.wave{position:absolute;right:80px;bottom:110px;width:360px;height:90px;border:3px solid var(--blue);border-color:var(--blue) transparent;border-radius:50%;transform:rotate(-13deg)}.wave-two{right:0;bottom:75px;border-color:var(--lime) transparent}.dot{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--blue)}.dot-one{right:440px;top:94px}.dot-two{right:380px;top:132px}.dot-three{right:420px;top:174px;background:var(--lime)}.section,.contact-section{width:min(1120px,calc(100% - 48px));margin:0 auto 110px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:28px}h2{margin-bottom:0;font-size:clamp(30px,4vw,48px);line-height:1.2;letter-spacing:-.05em}.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.faq-card{padding:30px;border:1px solid var(--line);border-radius:22px;background:var(--card)}.faq-number{color:var(--blue);font-size:13px;font-weight:700}.faq-card h3{margin:14px 0 8px;font-size:20px}.faq-card p{margin-bottom:0;color:var(--muted);font-size:14px}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:64px;border-radius:28px;background:var(--lime)}.contact-section .eyebrow{color:var(--ink)}.contact-card{padding:28px;border-radius:20px;background:#ffffffcc}.contact-card a{color:var(--blue);font-weight:700}.contact-card .small{margin:16px 0 0;color:var(--muted);font-size:13px}.legal-page{width:min(760px,calc(100% - 48px));margin:90px auto 130px}.legal-page h1{font-size:clamp(38px,6vw,64px)}.updated{color:var(--muted)}.legal-section{padding:28px 0;border-top:1px solid var(--line)}.legal-section h2{margin-bottom:10px;font-size:22px}.legal-section p{color:var(--muted)}.legal-section a{color:var(--blue)}.site-footer{padding:0 0 32px;color:var(--muted);font-size:13px}.site-footer a{color:var(--blue)}
@media(max-width:720px){.site-header nav{display:none}.hero{min-height:630px;padding:46px 28px}.hero-art{opacity:.7}.note{right:20px;top:360px}.wave{right:-120px;bottom:85px}.faq-grid,.contact-section{grid-template-columns:1fr}.contact-section{padding:34px 26px}.section,.contact-section{margin-bottom:72px}}
