/* ============================================================
   focus合同会社 — プライバシーポリシー（静的・演出なし）
============================================================ */
:root{
  --sumi:#0E1013; --fg:#E6E5E0; --fg2:#9DA2AB; --fg3:#6F757F;
  --line:#262A32; --acc:#8FA8C6;
  --mc:"Shippori Mincho B1",serif; --gr:"Cormorant Garamond",serif;
  --mn:"IBM Plex Mono",monospace; --go:"Zen Kaku Gothic New",sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --pad:clamp(20px,5vw,42px);
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:var(--go);background:var(--sumi);color:var(--fg);
  font-size:15.5px;font-weight:300;line-height:2.2;letter-spacing:.04em;
  font-feature-settings:"palt" 1;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
.mc{font-family:var(--mc);font-weight:400}
.gr{font-family:var(--gr);font-weight:300}
.mn{font-family:var(--mn);font-weight:300}
.wrap{max-width:760px;margin:0 auto;padding:0 var(--pad)}
::selection{background:var(--acc);color:var(--sumi)}
:focus-visible{outline:1px solid var(--acc);outline-offset:5px}

.p-header{padding:clamp(64px,13vw,132px) 0 clamp(40px,7vw,66px);border-bottom:1px solid var(--line)}
.p-header .logo{font-size:26px;letter-spacing:.14em;display:block;margin-bottom:clamp(30px,6vw,54px)}
.p-header .label{font-size:11.5px;letter-spacing:.3em;color:var(--fg2)}
.p-header h1{font-size:clamp(22px,5vw,34px);letter-spacing:.14em;line-height:1.9;margin-top:22px}
.p-header .lead{color:var(--fg2);margin-top:26px;font-size:15px;line-height:2.2}

.p-body section{padding:clamp(44px,8vw,80px) 0;border-bottom:1px solid var(--line)}
.kn{font-size:11.5px;letter-spacing:.28em;color:var(--acc)}
.p-body h2{font-size:clamp(16px,3.4vw,21px);letter-spacing:.12em;line-height:1.9;margin:16px 0 26px}
.p-body p{color:var(--fg2)}
.p-body p+p{margin-top:1.3em}
.p-body a{border-bottom:1px solid var(--line);transition:border-color .4s var(--ease)}
.p-body a:hover{border-color:var(--acc)}

ul.list{list-style:none;margin-top:8px}
ul.list li{color:var(--fg2);padding:14px 0 14px 1.2em;border-top:1px solid var(--line);position:relative}
ul.list li:first-child{border-top:none}
ul.list li::before{content:"—";position:absolute;left:0;color:var(--acc)}

table.info{width:100%;border-collapse:collapse;margin-top:6px}
table.info th,table.info td{text-align:left;vertical-align:top;padding:15px 0;border-top:1px solid var(--line);line-height:2.1}
table.info tr:first-child th,table.info tr:first-child td{border-top:none}
table.info th{width:9em;font-weight:300;font-size:12px;letter-spacing:.14em;color:var(--fg2);white-space:nowrap}
table.info td{color:var(--fg);padding-left:1.4em}
@media(max-width:560px){
  table.info,table.info tbody,table.info tr,table.info th,table.info td{display:block;width:auto}
  table.info tr{border-top:1px solid var(--line);padding:12px 0}
  table.info tr:first-child{border-top:none}
  table.info th{border-top:none;padding:0 0 2px;color:var(--fg2)}
  table.info td{border-top:none;padding:0}
}

.enacted{font-size:12px;letter-spacing:.16em;color:var(--fg2);margin-top:clamp(40px,7vw,64px)}
.p-footer{padding:clamp(40px,7vw,64px) 0 clamp(52px,9vw,88px)}
.copyright{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:10.5px;letter-spacing:.16em;color:var(--fg2)}
.copyright a{border-bottom:1px solid transparent;transition:color .4s var(--ease),border-color .4s var(--ease)}
.copyright a:hover{color:var(--acc);border-bottom-color:currentColor}
@media(max-width:560px){.copyright{flex-direction:column;gap:8px}}
