:root{
  --navy:#10192a;--navy2:#1a2940;--ink:#121923;--text:#3b4554;
  --muted:#6c7685;--line:#dfe3e8;--bg:#f3f4f5;--surface:#fff;
  --gold:#b6935c;--red:#d9383e;
  --fb:"Hiragino Sans","Yu Gothic","YuGothic","Noto Sans JP","Meiryo",sans-serif;
  --fh:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic",sans-serif;
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{
  margin:0;color:var(--text);font-family:var(--fb);font-size:15px;line-height:1.9;
  background:
    radial-gradient(circle at 7% 0%,rgba(182,147,92,.09),transparent 27%),
    linear-gradient(180deg,#fafaf9 0%,#f1f2f4 100%);
  min-height:100vh;
}
.site-header{
  position:sticky;top:0;z-index:10;background:rgba(250,250,249,.92);
  border-bottom:1px solid rgba(16,25,42,.1);backdrop-filter:blur(14px);
}
.site-nav{max-width:1040px;margin:0 auto;padding:15px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand-logo{display:block;width:188px;height:auto}
.nav-back{
  display:inline-flex;align-items:center;gap:9px;min-height:40px;padding:0 15px;
  border:1px solid #d5dae0;border-radius:8px;color:#334052;text-decoration:none;
  font-size:12px;font-weight:800;letter-spacing:.06em;background:#fff;
}
.nav-back::before{content:"←";color:var(--gold)}
.nav-back:hover{border-color:#aab2bd;color:var(--navy)}
.page-hero{max-width:1040px;margin:0 auto;padding:64px 24px 30px}
.eyebrow{display:block;color:#8a6d42;font-size:10px;font-weight:900;letter-spacing:.2em;margin-bottom:12px}
h1{margin:0;color:var(--ink);font-family:var(--fh);font-size:clamp(30px,4vw,44px);line-height:1.35;letter-spacing:.02em}
.hero-lead{max-width:720px;margin:16px 0 0;color:var(--muted);font-size:14px;line-height:1.9}
.legal-shell{
  max-width:1040px;margin:0 auto 72px;padding:0 24px;display:grid;
  grid-template-columns:minmax(0,1fr) 240px;gap:24px;align-items:start;
}
.legal-card{
  background:var(--surface);border:1px solid rgba(16,25,42,.12);border-radius:14px;
  padding:38px 42px;box-shadow:0 22px 56px rgba(15,23,36,.08);
}
.legal-card h2{
  margin:32px 0 10px;padding-top:28px;border-top:1px solid var(--line);
  color:var(--navy);font-family:var(--fh);font-size:17px;line-height:1.6;letter-spacing:.03em;
}
.legal-card h2:first-child{margin-top:0;padding-top:0;border-top:0}
.legal-card p{margin:8px 0}.legal-card ul{margin:10px 0;padding-left:1.3em}.legal-card li{margin:5px 0}
.legal-card a{color:#6f5634;text-decoration-color:#cbb48d;text-underline-offset:3px}
.legal-card table{width:100%;border-collapse:collapse;margin:13px 0;font-size:14px}
.legal-card th,.legal-card td{padding:12px 14px;border:1px solid var(--line);text-align:left;vertical-align:top}
.legal-card th{width:34%;background:#f6f6f4;color:var(--ink);white-space:nowrap}
.meta{margin-top:30px!important;color:#89919e;font-size:12px}
.side-card{
  position:sticky;top:92px;background:linear-gradient(145deg,var(--navy),var(--navy2));
  border:1px solid rgba(182,147,92,.28);border-radius:13px;padding:24px;color:#fff;
  box-shadow:0 20px 46px rgba(16,25,42,.16);
}
.side-card span{display:block;color:#d8c39f;font-size:9px;font-weight:900;letter-spacing:.18em}
.side-card strong{display:block;margin-top:12px;font-size:16px;line-height:1.65}
.side-card p{margin:10px 0 0;color:rgba(255,255,255,.66);font-size:12px;line-height:1.8}
.side-links{display:grid;gap:8px;margin-top:20px}
.side-links a{
  display:block;padding:10px 11px;border:1px solid rgba(255,255,255,.14);border-radius:7px;
  color:#fff;text-decoration:none;font-size:11.5px;font-weight:800;
}
.side-links a:hover{border-color:rgba(219,199,163,.55);background:rgba(255,255,255,.05)}
.company-table th{width:28%}
.site-footer{max-width:1040px;margin:0 auto;padding:28px 24px 38px;border-top:1px solid rgba(16,25,42,.1);color:#7e8794;font-size:11.5px;text-align:center}
@media(max-width:760px){
  .site-nav{padding:12px 16px}.brand-logo{width:148px}.nav-back{min-height:38px;padding:0 11px;font-size:11px}
  .page-hero{padding:44px 18px 24px}.legal-shell{grid-template-columns:1fr;padding:0 16px;margin-bottom:48px}
  .legal-card{padding:28px 22px;border-radius:11px}.side-card{position:static;order:-1;padding:20px}
  .legal-card th,.legal-card td{display:block;width:100%;border-top:0}.legal-card tr:first-child th{border-top:1px solid var(--line)}
  .legal-card th{white-space:normal}.company-table th{width:100%}
}
