
:root{--ink:#122;--muted:#667;--blue:#1b6ee8;--brand:#ff7b00;--bg:#f6f9fc}
*{box-sizing:border-box}
html,body{margin:0;padding:0;color:var(--ink);background:var(--bg);font-family:"Noto Sans JP",system-ui,-apple-system,"Segoe UI",sans-serif}
a{text-decoration:none;color:var(--blue)}
.container{max-width:980px;margin:0 auto;padding:0 18px}
.header{position:sticky;top:0;background:#fff;border-bottom:1px solid #eef1f6;z-index:50}
.header .container{display:flex;align-items:center;gap:12px;height:64px}
.logo{height:40px}
.title{font-weight:900;font-size:18px}
.back{margin-left:auto;font-weight:700}
.hero{position:relative;padding:26px 0 14px;background:linear-gradient(135deg,#e9f2ff,#ffffff)}
.profile{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:center}
@media (max-width:760px){.profile{grid-template-columns:1fr;text-align:center}}
.photo-wrap{width:220px;height:220px;margin:0 auto;border-radius:50%;position:relative;box-shadow:0 20px 44px rgba(0,0,0,.12)}
.photo{width:100%;height:100%;border-radius:50%;object-fit:cover;border:6px solid #fff}
.badges{display:flex;gap:8px;margin:10px 0;justify-content:center}
.badge{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;background:#eef4ff;color:#1a4dbe;border:1px solid #dce8ff}
.name{font-size:28px;font-weight:900;margin:4px 0}
.meta{color:var(--muted);margin:0 0 6px}
.section{background:#fff;border-radius:16px;box-shadow:0 14px 34px rgba(0,0,0,.06);padding:18px;margin:14px 0}
.h3{font-size:18px;font-weight:900;margin:0 0 8px}
.list{display:flex;flex-wrap:wrap;gap:8px}
.tag{background:#f1f4f8;color:#4b5563;border-radius:999px;padding:6px 10px;font-size:12px}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;justify-content:center}
.btn{display:inline-block;background:linear-gradient(45deg,#ff7b00,#ffb347);color:#fff;font-weight:900;border-radius:999px;padding:12px 18px}
.btn.outline{background:#fff;color:#1b6ee8;border:1px solid #cfe0ff}
.footer{color:#667;text-align:center;padding:20px 0}
small.mut{color:#889}
