/* ============================================================
   THIRD KAGURA Equipment Rental — 法務ページ共通スタイル
   ブランド: rental.thirdkagura.com モノクロ＋#e54b3a 路線
   作成: 2026-05-26 / code-rental
   用途: /rental-privacy-policy /rental-cancellation-policy 共通
   ベース: WEB 会社サイト法務 legal.css の構造を継承（深緑→赤に差替）
   ============================================================ */
:root{
  --bg-top:#1a1a1a; --bg-mid:#0f0f0f; --bg-bot:#0a0a0a;
  --surface:rgba(255,255,255,0.04);
  --line:rgba(255,255,255,0.10);
  --text:#f4f4f4; --soft:rgba(255,255,255,0.72); --mute:rgba(255,255,255,0.44);
  --accent:#e54b3a; --accent-bright:#ff6a52;
  --ease:cubic-bezier(0.32,0.72,0,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:radial-gradient(ellipse 120vmin 80vmin at 50% -8%, #2a2a2a 0%, #181818 36%, var(--bg-mid) 66%, var(--bg-bot) 100%), var(--bg-bot);
  background-attachment:fixed;
  color:var(--text);
  font-family:"Manrope","SF Pro Text","Helvetica Neue",sans-serif;
  font-size:16px; line-height:1.72; letter-spacing:-0.005em;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
}
a{color:var(--accent-bright);text-decoration:none;border-bottom:1px solid rgba(255,106,82,0.32);transition:.18s var(--ease)}
a:hover{border-bottom-color:var(--accent-bright)}

/* ===== top bar ===== */
.topbar{
  position:sticky;top:0;z-index:10;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  background:rgba(10,10,10,0.74);border-bottom:1px solid var(--line);
}
.topbar .inner{max-width:920px;margin:0 auto;padding:16px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{font-family:"Space Mono",monospace;font-size:13px;letter-spacing:0.28em;text-transform:uppercase;color:var(--text);border:0}
.brand:hover{color:var(--accent-bright)}
.nav{display:flex;gap:18px;flex-wrap:wrap}
.nav a{font-family:"Space Mono",monospace;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--mute);border:0}
.nav a:hover,.nav a[aria-current="page"]{color:var(--accent-bright)}
.topbar .back{font-family:"Space Mono",monospace;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--mute);border:0;white-space:nowrap}
.topbar .back:hover{color:var(--accent-bright)}

/* ===== document ===== */
.doc{max-width:760px;margin:0 auto;padding:64px 28px 0}
.eyebrow{font-family:"Space Mono",monospace;font-size:11px;letter-spacing:0.3em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}
.doc h1{font-family:"Fraunces",serif;font-weight:600;font-size:clamp(30px,6vw,46px);line-height:1.1;letter-spacing:-0.02em;margin-bottom:18px}
.dates{display:flex;gap:24px;flex-wrap:wrap;font-family:"Space Mono",monospace;font-size:12px;color:var(--mute);margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.dates b{color:var(--soft);font-weight:400}
.preamble{font-style:italic;color:var(--soft);font-size:15px;border-left:2px solid var(--accent);padding:6px 0 6px 18px;margin-bottom:32px;line-height:1.6}
.intro{font-size:17px;color:var(--text);margin-bottom:14px}

.doc h2{font-family:"Fraunces",serif;font-weight:600;font-size:22px;letter-spacing:-0.01em;margin:40px 0 12px;color:var(--text)}
.doc h2 .s{font-family:"Space Mono",monospace;font-size:13px;color:var(--accent);margin-right:10px;font-weight:400}
.doc h3{font-size:16px;font-weight:700;margin:22px 0 8px;color:var(--text)}
.doc p{color:var(--soft);margin-bottom:14px}
.doc ul,.doc ol{color:var(--soft);margin:0 0 16px;padding-left:24px}
.doc li{margin-bottom:7px}
.doc li::marker{color:var(--mute)}
.doc strong{color:var(--text);font-weight:600}
hr{border:0;border-top:1px solid var(--line);margin:34px 0}

table{width:100%;border-collapse:collapse;margin:8px 0 18px;font-size:14.5px}
caption{text-align:left;font-family:"Space Mono",monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);color:var(--soft);vertical-align:top}
th{font-family:"Space Mono",monospace;font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:var(--mute);font-weight:400;background:var(--surface)}
td strong{color:var(--text)}

/* ===== ACL/Privacy callout (赤い注意ボックス) ===== */
.callout{
  border:1px solid rgba(229,75,58,0.40);
  background:rgba(229,75,58,0.06);
  padding:14px 18px;margin:18px 0;
  border-radius:4px;color:var(--soft);font-size:14.5px;line-height:1.65;
}
.callout strong{color:var(--accent-bright)}

/* ===== JA review fold (details) ===== */
.ja-fold{margin:8px 0 14px;border-left:2px solid rgba(255,255,255,0.10);padding-left:12px}
.ja-fold summary{font-family:"Space Mono",monospace;font-size:10.5px;letter-spacing:0.18em;text-transform:uppercase;color:var(--mute);cursor:pointer;padding:4px 0;list-style:none;outline:none}
.ja-fold summary::-webkit-details-marker{display:none}
.ja-fold summary::before{content:"▸ ";color:var(--accent);margin-right:4px;display:inline-block;transition:transform .16s var(--ease)}
.ja-fold[open] summary::before{transform:rotate(90deg)}
.ja-fold summary:hover{color:var(--soft)}
.ja-fold .ja-body{color:var(--soft);font-size:14.5px;line-height:1.78;margin:8px 0 4px;padding-left:4px}
.ja-fold .ja-body p,.ja-fold .ja-body li{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;color:var(--soft)}

/* ===== footer ===== */
.doc-footer{max-width:760px;margin:64px auto 0;padding:32px 28px 72px;border-top:1px solid var(--line);color:var(--mute);font-size:13.5px}
.doc-footer .ack{color:var(--soft);font-style:italic;margin-bottom:20px;line-height:1.6}
.doc-footer .footer-nav{display:grid;grid-template-columns:1.1fr 1fr 1.2fr;gap:32px;margin-bottom:26px}
.fcol .fh{font-family:"Space Mono",monospace;font-size:10.5px;letter-spacing:0.18em;text-transform:uppercase;color:var(--accent);margin-bottom:13px}
.fcol a,.fcol span{display:block;font-size:13px;color:var(--soft);margin-bottom:8px;border:0;line-height:1.5}
.fcol a{transition:.16s var(--ease)}
.fcol a:hover{color:var(--accent-bright)}
.fcol .muted{color:var(--mute)}
.doc-footer .law{margin-top:6px;padding-top:18px;border-top:1px solid var(--line);font-family:"Space Mono",monospace;font-size:11px;color:var(--mute);letter-spacing:0.03em;line-height:1.7}
@media(max-width:600px){.doc-footer .footer-nav{grid-template-columns:1fr;gap:22px}}

@media(max-width:560px){
  .doc{padding-top:44px}
  body{font-size:15px}
  .nav{display:none}
}

@media(prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important}
  html{scroll-behavior:auto}
}
