/* ============================================================
   カレイドスポーツマネジメント プライバシーポリシー
   index.html と同一のデザイン言語（モノクロ基調・幾何学・BtoB）
   ============================================================ */
:root{
  --ink:#0C0D0F;
  --carbon:#111316;
  --bg:#F3F3F2;
  --mist:#EAEAE8;
  --paper:#FFFFFF;
  --ink-2:#5E6166;
  --ink-3:#666A6F;
  --line:#E0E0DE;
  --line-carbon:rgba(255,255,255,.14);
  --ink-on-carbon:#F4F4F3;
  --ink-2-carbon:#A9ABAF;
  --ink-3-carbon:#7C7F84;
  --sh-card:0 6px 24px rgba(12,13,15,.06);
  --sh-float:0 12px 40px rgba(12,13,15,.10);
  --jp:"M PLUS 1","Hiragino Kaku Gothic ProN","Hiragino Sans",system-ui,sans-serif;
  --en:"Saira Condensed","Saira","Arial Narrow",system-ui,sans-serif;
  --maxw:1120px;
  --pad:clamp(56px,8vw,104px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:auto;-webkit-text-size-adjust:100%}
body{
  font-family:var(--jp);color:var(--ink);background:var(--bg);
  line-height:1.9;font-weight:400;overflow-x:hidden;
  font-feature-settings:"palt" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--ink);color:var(--bg)}
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:24px;padding-right:24px}

/* ---------- タイポ部品 ---------- */
.eyebrow{
  font-family:var(--en);font-weight:500;font-size:13px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--ink);display:inline-flex;align-items:center;gap:14px;
}
.eyebrow::after{content:"";width:18px;height:1px;background:var(--ink)}
.arrow{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:14.5px;letter-spacing:.02em;
  padding-bottom:3px;position:relative;color:var(--ink)}
.arrow::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;
  background:currentColor;transform:scaleX(1);transform-origin:right;transition:transform .3s ease}
.arrow:hover::after{transform:scaleX(0);transform-origin:left}
.arrow .ar{transition:transform .3s ease}
.arrow.back .ar{transform:rotate(180deg)}
.arrow:hover .ar{transform:translateX(5px)}
.arrow.back:hover .ar{transform:translateX(-5px) rotate(180deg)}
.bg-carbon .arrow{color:var(--ink-on-carbon)}

/* ---------- ヘッダー ---------- */
header.site{position:sticky;top:0;z-index:100;background:var(--bg);
  border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(12,13,15,.02)}
.hd-inner{max-width:var(--maxw);margin:0 auto;padding:11px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:11px;flex:0 0 auto}
.brand .b-mark{height:30px;width:auto}
.brand .b-word{height:18px;width:auto}
.hd-right{display:flex;align-items:center;gap:18px}
.hd-back{font-size:13px;font-weight:500;color:var(--ink-2);transition:color .2s ease;white-space:nowrap}
.hd-back:hover{color:var(--ink)}
.hd-cta{display:none}
.hd-cta .btn{display:inline-flex;align-items:center;font-family:var(--jp);font-weight:700;font-size:13.5px;
  letter-spacing:.04em;padding:11px 20px;border-radius:999px;background:var(--ink);color:var(--bg);box-shadow:var(--sh-card)}
@media(min-width:700px){.hd-cta{display:block}}

/* ---------- ドキュメント本体 ---------- */
.doc-hero{padding-top:clamp(44px,7vw,72px);padding-bottom:clamp(28px,4vw,40px)}
.doc-hero h1{font-family:var(--jp);font-weight:800;font-size:clamp(26px,5.4vw,42px);line-height:1.4;
  letter-spacing:.01em;margin-top:18px}
.doc-hero .en-h1{font-family:var(--en);font-weight:700;font-size:clamp(30px,7vw,60px);letter-spacing:.02em;
  text-transform:uppercase;color:#D8D9D5;line-height:.95;margin-top:14px;display:block}
.doc-hero .meta{font-size:12.5px;color:var(--ink-3);margin-top:18px;line-height:1.8}

.doc-body{padding-bottom:var(--pad)}
.doc-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh-card);
  padding:clamp(24px,5vw,52px);max-width:900px}
.doc-card .intro{font-size:15px;color:var(--ink-2);line-height:2.0}
.doc-card section.blk{margin-top:40px;scroll-margin-top:80px}
.doc-card section.blk:first-of-type{margin-top:34px}
.doc-card h2{font-family:var(--jp);font-weight:800;font-size:clamp(17px,3vw,21px);line-height:1.5;
  letter-spacing:.01em;padding-bottom:12px;border-bottom:1px solid var(--line);
  display:flex;align-items:baseline;gap:12px}
.doc-card h2 .no{font-family:var(--en);font-weight:700;font-size:.9em;color:var(--ink-3);letter-spacing:.04em}
.doc-card p{font-size:14.5px;color:var(--ink-2);line-height:1.95;margin-top:16px}
.doc-card p.body-ink{color:var(--ink)}
.doc-card ul,.doc-card ol{margin-top:16px;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.doc-card ul li{font-size:14.5px;color:var(--ink-2);line-height:1.8;padding-left:20px;position:relative}
.doc-card ul li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;
  border:1.4px solid var(--ink);transform:rotate(45deg)}
.doc-card ol{counter-reset:oi}
.doc-card ol li{font-size:14.5px;color:var(--ink-2);line-height:1.8;padding-left:34px;position:relative;counter-increment:oi}
.doc-card ol li::before{content:counter(oi);position:absolute;left:0;top:1px;font-family:var(--en);font-weight:700;
  font-size:15px;color:var(--ink);min-width:22px}
.doc-card a{text-decoration:underline;text-underline-offset:2px;font-weight:700;color:var(--ink)}

/* 事業者情報テーブル（会社概要と同型） */
.info-table{margin-top:20px;border:1px solid var(--line);border-radius:12px;overflow:hidden;max-width:640px}
.info-row{display:grid;grid-template-columns:1fr;border-bottom:1px solid var(--line)}
.info-row:last-child{border-bottom:0}
.info-row dt{font-size:12.5px;font-weight:700;letter-spacing:.04em;color:var(--ink-2);background:var(--mist);padding:13px 18px}
.info-row dd{font-size:14px;color:var(--ink);line-height:1.8;padding:13px 18px}
@media(min-width:560px){
  .info-row{grid-template-columns:180px 1fr}
  .info-row dt{border-right:1px solid var(--line)}
}

/* 窓口引用ブロック */
.contact-box{margin-top:18px;background:var(--mist);border:1px solid var(--line);border-radius:12px;
  padding:20px 22px;font-size:14.5px;line-height:1.9;color:var(--ink)}
.contact-box .name{font-weight:800}
.contact-box a{color:var(--ink)}

.doc-back{margin-top:40px;max-width:900px}

/* ---------- FOOTER ---------- */
footer.site{background:var(--carbon);color:var(--ink-on-carbon);padding:64px 0 40px}
.ft-top{display:grid;grid-template-columns:1fr;gap:38px}
.ft-brand img{height:66px;width:auto}
.ft-brand .ft-name{margin-top:16px;font-size:14px;font-weight:700;color:var(--ink-on-carbon)}
.ft-brand .ft-en{font-family:var(--en);font-size:12px;letter-spacing:.2em;color:var(--ink-3-carbon);margin-top:4px}
.ft-brand .ft-note{font-size:12px;color:var(--ink-3-carbon);margin-top:16px;line-height:1.7;max-width:38ch}
.ft-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px 20px}
.ft-col h4{font-family:var(--en);font-size:11px;letter-spacing:.2em;color:var(--ink-3-carbon);font-weight:600;margin-bottom:14px}
.ft-col ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.ft-col a{font-size:13.5px;color:var(--ink-2-carbon);transition:color .2s ease}
.ft-col a:hover{color:var(--ink-on-carbon)}
.ft-bc{margin-top:36px;padding:18px 20px;border:1px solid var(--line-carbon);border-radius:12px;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.ft-bc .t{font-size:13px;color:var(--ink-2-carbon);line-height:1.6}
.ft-bc a.arrow{font-size:13.5px;color:var(--ink-on-carbon)}
.ft-bottom{margin-top:34px;padding-top:22px;border-top:1px solid var(--line-carbon);
  display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}
.ft-bottom .cr{font-family:var(--en);font-size:12px;letter-spacing:.06em;color:var(--ink-3-carbon)}
.ft-bottom .legal{display:flex;gap:20px}
.ft-bottom .legal a{font-size:12.5px;color:var(--ink-2-carbon)}

@media(min-width:900px){
  .ft-top{grid-template-columns:1.2fr 1.3fr;gap:56px}
  .ft-cols{grid-template-columns:1fr 1fr}
}
