:root{
  --bg:#0A0A0E; --bg2:#0F0F14; --card:#13131A;
  --line:rgba(255,255,255,.08); --line2:rgba(255,255,255,.16);
  --white:#FFFFFF; --text:#E5E5EA; --dim:#8A8A95; --mute:#5A5A65;
  --purple:#FF7A2B; --purple-2:#D85F1B; --purple-soft:rgba(255,122,43,.12);
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased}
html,body{background:var(--bg);color:var(--text);font-family:'Inter','Noto Sans JP',sans-serif;font-feature-settings:'palt' 1;min-height:100vh;line-height:1.7}
a{color:var(--purple);text-decoration:none}
a:hover{text-decoration:underline}
body::before{content:'';position:fixed;top:-300px;left:50%;transform:translateX(-50%);width:1200px;height:1200px;background:radial-gradient(circle,rgba(255,122,43,.1) 0%,transparent 55%);pointer-events:none;z-index:0;filter:blur(40px)}

header{padding:22px 0;border-bottom:1px solid var(--line);position:sticky;top:0;backdrop-filter:blur(20px);background:rgba(10,10,14,.7);z-index:50}
header .wrap{max-width:880px;margin:0 auto;padding:0 28px}
header .inner{display:flex;justify-content:space-between;align-items:center}
.brand{display:flex;align-items:center;gap:10px}
.brand .mark{width:40px;height:40px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 6px 22px rgba(255,122,43,.5))}
.brand .mark img{width:100%;height:100%;display:block}
header nav{display:flex;gap:22px;font-size:12px;color:var(--dim)}
header nav a{color:inherit}
header nav a:hover{color:var(--white);text-decoration:none}

main{padding:60px 0 100px;position:relative;z-index:1}
main .wrap{max-width:780px;margin:0 auto;padding:0 28px}

.lh{margin-bottom:48px;padding-bottom:32px;border-bottom:1px solid var(--line)}
.lh .tag{font-size:11px;font-weight:800;color:var(--purple);letter-spacing:2px;margin-bottom:14px}
.lh h1{font-size:36px;font-weight:900;color:var(--white);line-height:1.2;letter-spacing:-.5px;margin-bottom:12px;font-family:'Noto Sans JP',sans-serif}
.lh .meta{font-size:12px;color:var(--mute);font-family:'JetBrains Mono',monospace}

section{margin-bottom:40px}
section h2{font-size:18px;font-weight:800;color:var(--white);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line);font-family:'Noto Sans JP',sans-serif}
section h3{font-size:14px;font-weight:700;color:var(--white);margin-top:18px;margin-bottom:8px}
section p{font-size:13px;color:var(--text);line-height:1.85;margin-bottom:10px}
section ol,section ul{padding-left:22px;margin-bottom:10px}
section ol li,section ul li{font-size:13px;color:var(--text);line-height:1.85;margin-bottom:6px}

table{width:100%;border-collapse:collapse;margin-top:10px;font-size:13px}
table th,table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
table th{color:var(--dim);font-weight:600;width:36%;background:rgba(255,255,255,.02)}
table td{color:var(--text)}

.contact-box{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;margin-top:48px}
.contact-box h2{border:none;padding:0;margin-bottom:8px;font-size:15px}
.contact-box p{font-size:13px;color:var(--dim)}

footer{padding:50px 0 40px;border-top:1px solid var(--line);text-align:center}
footer .wrap{max-width:880px;margin:0 auto;padding:0 28px}
footer .brand-row{margin-bottom:14px}
footer .powered{font-size:11px;color:var(--mute);margin-bottom:8px;letter-spacing:1px}
footer .powered .wheel{display:inline-block;width:10px;height:10px;border-radius:50%;background:conic-gradient(from 0deg,#FF7A2B,#FF7A2B,#FFB300,#00C896,#2E63FF,#FF6FA8,#00D4D4,#FF3B6E,#FF7A2B);vertical-align:middle;margin-right:5px}
footer .flinks{display:flex;justify-content:center;gap:18px;margin-top:14px;flex-wrap:wrap;font-size:11px}
footer .flinks a{color:var(--dim)}
footer .flinks a:hover{color:var(--white);text-decoration:none}
footer .copy{font-size:11px;color:var(--mute);margin-top:18px}
