/* 法務ページ共通。LPと同じ配色に揃えるが、読みやすさを最優先にする。 */
:root{
  color-scheme:dark;
  --bg:#031017;--panel:rgba(7,40,46,.72);--text:#f5fbff;--muted:#b9d4d7;
  --cyan:#69f4ee;--mint:#73efbd;--amber:#f4bf52;--line:rgba(105,244,238,.24);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;color:var(--text);line-height:1.9;
  font-family:"Noto Sans JP","Yu Gothic",system-ui,sans-serif;
  background:linear-gradient(180deg,#031017,#07242a 40%,#04151a 100%);
}
a{color:var(--cyan)}
a:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:4px}

.legal-header{
  position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;
  padding:14px clamp(16px,4vw,40px);
  background:rgba(2,14,18,.86);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.legal-header a{display:flex;align-items:center;gap:9px;color:var(--text);text-decoration:none;font-weight:900}
.legal-bolt{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(145deg,#52e5d7,#1d8098)}
.legal-header b{color:var(--cyan)}
.legal-back{margin-left:auto;font-size:.85rem;font-weight:700;color:var(--cyan)}

main{max-width:820px;margin:0 auto;padding:clamp(28px,6vw,56px) clamp(16px,4vw,32px) 96px}
h1{font-size:clamp(1.6rem,4.4vw,2.2rem);margin:0 0 6px;line-height:1.45}
.legal-updated{margin:0 0 28px;color:#8fb4b8;font-size:.82rem}
h2{
  font-size:1.08rem;margin:38px 0 10px;padding-top:18px;
  border-top:1px solid var(--line);scroll-margin-top:82px;
}
h2:first-of-type{border-top:none;padding-top:0}
p,li{color:#d5e6e8;font-size:.95rem}
ul,ol{padding-left:1.3em;margin:10px 0}
li{margin:7px 0}

/* 事業者情報。個人情報を載せるのはこのブロックだけ。 */
.seller-table{width:100%;border-collapse:collapse;margin:12px 0 4px}
.seller-table th,.seller-table td{
  padding:12px 14px;border:1px solid var(--line);
  font-size:.92rem;text-align:left;vertical-align:top;
}
.seller-table th{width:34%;background:rgba(7,40,46,.6);color:#bfe6e5;font-weight:700;white-space:nowrap}
.seller-table td{background:rgba(3,24,29,.5)}

.note{
  margin:16px 0;padding:14px 16px;border-radius:12px;
  background:rgba(105,244,238,.08);border:1px solid var(--line);
  font-size:.9rem;color:#cfe6e8;
}
/* amber は注意喚起のときだけ使う（アプリ側の方針に合わせる） */
.pending{
  margin:16px 0;padding:14px 16px;border-radius:12px;
  background:rgba(244,191,82,.10);border:1px solid rgba(244,191,82,.34);
  font-size:.9rem;color:#f6dfae;
}
.pending b{display:block;margin-bottom:4px;color:var(--amber);font-size:.78rem;letter-spacing:.08em}

.legal-nav{
  display:flex;flex-wrap:wrap;gap:10px;margin:44px 0 0;padding-top:22px;
  border-top:1px solid var(--line);
}
.legal-nav a{
  padding:9px 14px;border-radius:999px;border:1px solid var(--line);
  background:rgba(4,33,39,.4);font-size:.84rem;text-decoration:none;
}
.legal-nav a[aria-current="page"]{border-color:rgba(105,244,238,.6);color:var(--text);background:rgba(105,244,238,.1)}

footer{
  padding:22px clamp(16px,4vw,40px);color:#8fb0b3;font-size:.78rem;
  background:#021015;border-top:1px solid var(--line);
}

@media (max-width:520px){
  .seller-table,.seller-table tbody,.seller-table tr,.seller-table th,.seller-table td{display:block;width:100%}
  .seller-table th{border-bottom:none;white-space:normal}
  .seller-table td{border-top:none;margin-bottom:-1px}
  h2{font-size:1.02rem}
}
