.legal-page{min-height:100vh;display:flex;flex-direction:column;background:#f4f8fb}
.legal-header{padding:1.35rem 1.5rem;border-bottom:1px solid var(--line);background:rgba(255,255,255,0.95)}
.legal-header-inner{max-width:900px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.legal-logo{font-family:var(--serif);font-size:1.32rem;color:var(--primary-strong);letter-spacing:-0.01em;text-decoration:none}
.legal-logo span{color:var(--accent)}
.back-link{color:var(--primary);text-decoration:none;font-size:0.92rem;font-weight:600}
.back-link:hover{text-decoration:underline;color:var(--primary-strong)}
.legal-main{max-width:900px;margin:0 auto;padding:2.3rem 1.5rem 4rem;flex:1}
.legal-title{font-family:var(--serif);font-size:clamp(2rem,4vw,2.7rem);line-height:1.15;color:var(--ink);margin-bottom:1rem}
.legal-note{font-size:0.92rem;color:#5c7488;margin-bottom:2rem}
.legal-section{margin-bottom:1.8rem;padding:1.2rem 1.3rem;background:#fff;border:1px solid var(--line);border-radius:10px}
.legal-section h2{font-family:var(--serif);font-size:1.3rem;color:var(--primary-strong);margin-bottom:0.55rem}
.legal-section p,.legal-section li{font-size:0.96rem;line-height:1.72;color:#355065}
.legal-section ul{padding-left:1.2rem}
.legal-section a{color:var(--primary)}
.legal-section a:hover{text-decoration:underline}
.legal-footer{padding:1.4rem 1.5rem;border-top:1px solid var(--line);text-align:center;font-size:0.84rem;color:#648096;background:#eef5fb}
.legal-footer a{color:var(--primary);text-decoration:none}
.legal-footer a:hover{text-decoration:underline;color:var(--primary-strong)}
@media(max-width:768px){
  .legal-main{padding-top:2rem;padding-left:1rem;padding-right:1rem}
  .legal-section{padding:1rem}
}
