@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap";:root{--color-bg:#0a1710;--color-bg-alt:#0f2116;--color-surface:#15291c;--color-border:#23402c;--color-text:#e6f2e8;--color-text-muted:#93ac9d;--color-accent:#5fd98a;--color-accent-2:#c7a44d;--max-width:960px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;margin:0;font-family:Noto Sans JP,Zen Kaku Gothic New,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.8}.wrap{max-width:var(--max-width);margin:0 auto;padding:0 24px}section{border-bottom:1px solid var(--color-border);padding:88px 0}section:last-of-type{border-bottom:none}h1,h2,h3{margin:0;font-weight:900;line-height:1.4}h2{align-items:baseline;gap:14px;margin-bottom:40px;font-size:clamp(1.5rem,1.1rem + 1.5vw,2.1rem);display:flex}h2 .num{color:var(--color-accent);letter-spacing:.08em;font-size:.9rem;font-weight:700}p{color:var(--color-text-muted);margin:0 0 1em}a{color:var(--color-accent)}.hero{border-bottom:1px solid var(--color-border);background:radial-gradient(600px at 15% 20%,#5fd98a1a,#0000 60%),radial-gradient(500px at 85% 80%,#c7a44d1a,#0000 60%);flex-direction:column;justify-content:center;min-height:92vh;display:flex}.hero-eyebrow{color:var(--color-accent);letter-spacing:.12em;margin-bottom:20px;font-size:.85rem;font-weight:700}.hero h1{color:var(--color-text);font-size:clamp(2.2rem,1.6rem + 3vw,3.6rem)}.hero .name-en{color:var(--color-text-muted);letter-spacing:.05em;margin-top:10px;font-size:.4em;font-weight:500;display:block}.hero-tagline{color:var(--color-text-muted);max-width:640px;margin-top:28px;font-size:clamp(1rem,.9rem + .4vw,1.25rem)}.hero-tagline strong{color:var(--color-text);font-weight:700}.profile-lead{color:var(--color-text);font-size:1.05rem}.strength-list{gap:28px;display:grid}.strength-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;padding:28px 32px}.strength-card h3{color:var(--color-accent);margin-bottom:12px;font-size:1.1rem}.strength-card ul{color:var(--color-text-muted);margin:12px 0 0;padding-left:1.2em}.strength-card li{margin-bottom:6px}.highlight-table-wrap{border:1px solid var(--color-border);border-radius:14px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:640px}th,td{text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top;padding:16px 20px}th{background:var(--color-bg-alt);color:var(--color-accent);letter-spacing:.04em;white-space:nowrap;font-size:.85rem}td{color:var(--color-text-muted);font-size:.95rem}tr:last-child td{border-bottom:none}.stack-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;display:grid}.stack-group h3{color:var(--color-text-muted);letter-spacing:.04em;margin-bottom:14px;font-size:.95rem;font-weight:700}.tag-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tag-list li{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:999px;padding:6px 14px;font-size:.85rem}.working-style-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.working-style-list li{color:var(--color-text-muted);padding-left:28px;position:relative}.working-style-list li:before{content:"";background:var(--color-accent);border-radius:50%;width:8px;height:8px;position:absolute;top:.55em;left:0}.contact{text-align:center}.contact p{max-width:480px;margin-left:auto;margin-right:auto}.contact-cta{background:var(--color-accent);color:var(--color-bg);cursor:pointer;border:none;border-radius:999px;margin-top:8px;padding:14px 40px;font-size:1rem;font-weight:700;text-decoration:none;transition:opacity .2s;display:inline-block}.contact-cta:hover{opacity:.9}.contact-cta:disabled{opacity:.6;cursor:not-allowed}.contact-form{text-align:left;gap:20px;max-width:480px;margin:32px auto 0;display:grid}.botcheck{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.form-row{gap:8px;display:grid}.form-row label{color:var(--color-text-muted);letter-spacing:.02em;font-size:.85rem}.form-row input,.form-row textarea{background:var(--color-surface);border:1px solid var(--color-border);width:100%;color:var(--color-text);resize:vertical;border-radius:10px;padding:12px 16px;font-family:inherit;font-size:.95rem}.form-row input:focus,.form-row textarea:focus{border-color:var(--color-accent);outline:none}.contact-form .contact-cta{justify-self:center}.form-status{text-align:center;min-height:1.4em;font-size:.9rem}.form-status--success{color:var(--color-accent)}.form-status--error{color:#e08585}footer{text-align:center;color:var(--color-text-muted);padding:32px 0;font-size:.85rem}
