.public-brand{display:flex;align-items:center;gap:8px;color:white;font-weight:900;font-size:21px;letter-spacing:.03em}.public-brand img{width:39px;height:39px;object-fit:cover;mix-blend-mode:screen}.public-brand span{color:var(--gold)}.nav-links a[aria-current=page]{color:var(--gold);border-bottom:2px solid var(--gold);padding-bottom:7px}.public-menu-toggle{display:none}.page-hero{padding:64px 5% 60px;background:var(--navy);text-align:center;color:white;border-bottom:3px solid var(--gold)}.page-hero>p{font-size:12px;letter-spacing:.2em;color:var(--gold);font-weight:700;margin-bottom:17px}.page-hero h1{font-size:clamp(28px,4vw,42px);line-height:1.5;margin-bottom:16px}.page-hero>div{font-size:16px;color:#c6d0df;line-height:1.9}.page-columns{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}.page-body{font-size:16px;color:var(--muted);line-height:2;margin:22px 0}.public-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:35px}.public-steps article{background:white;border:1px solid var(--border);border-radius:12px;padding:25px 20px}.public-steps b{color:var(--teal);font-size:14px}.public-steps h3{font-size:18px;margin:13px 0}.public-steps p{font-size:15px;color:var(--muted);line-height:1.9}.page-note{padding:20px 23px;background:#fff7e3;border-left:3px solid var(--gold);color:#725b24;font-size:14px;line-height:1.9;margin:28px 0}.page-buttons{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin:28px 0 0}.public-button{display:inline-block;background:#fff;color:var(--navy);border:1px solid var(--border);border-radius:28px;padding:14px 25px;font:700 15px/1.7 inherit;cursor:pointer}.public-text-link{color:var(--teal);text-decoration:underline;overflow-wrap:anywhere}.legal-content{max-width:880px;margin:auto;font-size:16px;line-height:2.1}.legal-content h2{margin:48px 0 24px;padding-bottom:18px;border-bottom:2px solid var(--gold);font-size:26px}.legal-content h3{margin:25px 0 12px;font-size:19px}.legal-content p{margin:10px 0;color:#42546a}.contact-option{padding:24px 0;border-bottom:1px solid var(--border)}.contact-option p{color:var(--muted);font-size:15px;margin:10px 0 20px}.contact-form{background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:30px}.contact-form h2{font-size:23px;margin-bottom:24px}.contact-form label{display:flex;flex-direction:column;gap:9px;margin-bottom:22px;font-size:15px;font-weight:600}.contact-form select,.contact-form textarea{width:100%;background:white;color:var(--navy);padding:12px;border:1px solid #c5d1dc;border-radius:7px;font:16px/1.8 'Noto Sans JP',sans-serif}.contact-form textarea{resize:vertical}.contact-form button{border:0;cursor:pointer}.page-small{font-size:13px;color:var(--muted);margin:12px 0}.public-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.page-card{display:block;padding:26px;border:1px solid var(--border);border-radius:12px;background:white;transition:border-color .2s}.page-card:hover{border-color:var(--teal)}.page-card h2{font-size:19px;color:var(--navy);margin-bottom:10px}.page-card p{font-size:14px;color:var(--muted)}.nav{gap:16px}.nav-links{gap:20px}.nav-cta{font-size:13px}.reveal.visible{opacity:1}.public-menu-toggle:focus-visible,.public-button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
@media(max-width:1000px){.public-steps{grid-template-columns:repeat(2,1fr)}.nav-links{gap:13px}.nav-links a{font-size:13px}.public-brand{font-size:18px}.public-brand img{width:30px;height:30px}.nav{padding:0 3%;gap:12px}.nav-cta{padding:10px 13px}.public-page-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.public-menu-toggle{display:block;margin-left:auto;border:1px solid #ffffff50;border-radius:6px;color:white;background:transparent;padding:8px 11px;font:14px 'Noto Sans JP',sans-serif;cursor:pointer}.nav>.nav-cta{display:none}.nav-links{display:none;position:absolute;left:0;right:0;top:100%;padding:16px 5%;background:var(--navy);border-bottom:1px solid var(--gold)}.nav-links.is-open{display:flex;flex-direction:column;gap:4px}.nav-links a{display:block;font-size:16px;padding:12px}.nav-links a[aria-current=page]{border:0;color:var(--gold)}.page-columns{grid-template-columns:1fr;gap:30px}.page-hero{padding:45px 6%}.contact-form{padding:24px 20px}}
@media(max-width:500px){.public-steps,.public-page-grid{grid-template-columns:1fr}.page-hero h1{font-size:29px}.page-buttons{flex-direction:column;align-items:center}.page-buttons a{width:100%;text-align:center}.legal-content{font-size:15px}.legal-content h2{font-size:23px}}
