@charset "UTF-8";
/* =====================================================
   規約・法的表示ページ共通
===================================================== */
body.legal-page{
  background:#eef2f6;
  min-height:100vh;display:flex;flex-direction:column;
}

.page.legal{flex:1;padding:56px 36px 76px;}
.page.legal .page-inner{max-width:860px;margin:0 auto;}
.page.legal .page-head{text-align:center;margin-bottom:34px;}
.page.legal .page-title{font-size:30px;font-weight:900;color:var(--ink);letter-spacing:.5px;}
.page.legal .page-title::after{
  content:'';display:block;width:50px;height:4px;border-radius:3px;
  background:var(--blue);margin:14px auto 0;
}
.page.legal .page-sub{margin-top:18px;font-size:14px;color:var(--text);line-height:1.8;}

.legal-card{
  background:#fff;border:1px solid var(--border);border-radius:16px;
  padding:42px 46px;box-shadow:0 12px 32px rgba(20,40,90,.07);
}

.legal-body{font-size:14px;color:var(--ink);line-height:1.95;}
.legal-body a{color:var(--blue);text-decoration:underline;}
.legal-body a:hover{color:var(--blue-d);}
.legal-body > p{margin-bottom:1.1em;}
.legal-body h2{
  font-size:16px;font-weight:900;color:var(--ink);
  margin:2.2em 0 .85em;padding-bottom:.45em;
  border-bottom:2px solid var(--border);
}
.legal-body h2:first-of-type{margin-top:0;}
.legal-body h3{
  font-size:14.5px;font-weight:700;color:var(--ink);
  margin:1.4em 0 .6em;
}
.legal-body ol,
.legal-body ul{margin:0 0 1.1em 1.4em;padding:0;}
.legal-body ol{list-style:decimal;}
.legal-body ul{list-style:disc;}
.legal-body li{margin-bottom:.45em;}
.legal-body li > ol,
.legal-body li > ul{margin-top:.45em;margin-bottom:.2em;}
.legal-supplement{
  margin-top:2.5em;padding-top:1.6em;
  border-top:1px solid var(--border);
}
.legal-supplement p{margin-bottom:.6em;}
.legal-actions{margin-top:36px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
.legal-actions--split{justify-content:center;}
.legal-actions .btn-ghost{
  background:#fff;color:var(--blue);border:1.5px solid var(--blue);
}
.legal-actions .btn-ghost:hover{background:#f0f6ff;}
.legal-actions .btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:220px;padding:14px 28px;border-radius:8px;
  font-size:15px;font-weight:700;background:var(--blue);color:#fff;
  transition:background .15s;
}
.legal-actions .btn:hover{background:var(--blue-d);}

@media (max-width:640px){
  .page.legal{padding:40px 20px 60px;}
  .legal-card{padding:28px 22px;}
}
