.legal-page{padding:70px 0 88px}
.prose{max-width:760px}
.prose h1{margin:0 0 28px;font-size:clamp(2rem,4vw,3rem);line-height:1.35}
.prose h2{padding-top:25px;margin:34px 0 12px;border-top:1px solid var(--line);font-size:1.25rem}
.prose h3{margin:24px 0 8px;font-size:1.05rem}
.prose p,.prose li{color:var(--muted);text-wrap:pretty}
.prose ul{padding-left:1.35em}
.legal-table{width:100%;border-collapse:collapse}
.legal-table th,.legal-table td{padding:15px 16px;border:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.75}
.legal-table th{width:30%;background:var(--soft)}
.contact-card{padding:30px;border:1px solid var(--line);border-top:4px solid var(--orange);background:#fff}
.contact-email{display:inline-block;margin:12px 0;color:var(--orange);font-size:1.15rem;font-weight:900}
.contact-form{margin-top:28px}.form-row{margin-bottom:22px}.form-row label{display:block;margin-bottom:7px;color:var(--ink);font-weight:800}.form-row label b,.form-row label span{display:inline-block;margin-left:8px;padding:1px 7px;font-size:.72rem}.form-row label b{color:#fff;background:var(--orange)}.form-row label span{color:var(--muted);background:var(--soft)}
.form-row input,.form-row select,.form-row textarea{width:100%;padding:13px 14px;color:var(--ink);border:1px solid #cdbdb5;border-radius:3px;background:#fff;font:inherit;line-height:1.6}.form-row textarea{resize:vertical}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--orange);outline:2px solid rgba(213,82,40,.18);outline-offset:1px}
.form-consent{display:flex;align-items:flex-start;gap:10px;margin:8px 0 24px;color:var(--muted);cursor:pointer}.form-consent input{width:18px;height:18px;flex:0 0 auto;margin-top:6px;accent-color:var(--orange)}.form-consent a{color:var(--orange);font-weight:800;text-decoration:underline;text-underline-offset:3px}.form-submit{border:0;cursor:pointer}.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-direct{margin-top:38px;padding-top:8px}.contact-result{max-width:720px;padding:44px;border:1px solid var(--line);border-top:4px solid var(--orange);background:#fff}.contact-result h1{margin:0 0 18px;line-height:1.4}.contact-result p{color:var(--muted)}
.legal-note{padding:18px 20px;border-left:4px solid var(--orange);background:var(--soft)}
.updated{margin-top:40px;font-size:.82rem}
.footer-ready{display:grid;grid-template-columns:100px minmax(180px,.7fr) minmax(360px,1.3fr);gap:24px 44px;align-items:start;padding-block:38px}
.footer-ready>img{width:88px;height:78px}
.footer-ready>div:not(.footer-nav){padding-top:7px}
.footer-nav{display:grid;grid-template-columns:1fr 1.25fr;gap:38px}
.footer-nav>div{display:flex;flex-direction:column;align-items:flex-start}
.footer-nav strong{margin-bottom:9px;color:var(--ink);font-size:.82rem}
.footer-nav a{margin:0;padding:3px 0;color:var(--muted);font-size:.76rem;line-height:1.65}
.footer-nav a:hover{color:var(--orange)}
@media(max-width:760px){.footer-ready{grid-template-columns:76px 1fr}
.footer-ready>img{width:70px;height:62px}
.footer-nav{grid-column:1/-1;width:100%;padding-top:22px;border-top:1px solid var(--line)}
}
@media(max-width:600px){.legal-page{padding:48px 0 64px}
.legal-table th,.legal-table td{display:block;width:100%;padding:12px}
.legal-table td{border-top:0}
.contact-card{padding:24px 20px}
.contact-result{padding:30px 22px}
.footer-ready{gap:14px 18px;padding-block:28px}
.footer-nav{grid-template-columns:1fr;gap:22px}
.footer-nav a{font-size:.84rem}
}

/* 法務ページも一段落ごとのまとまりが追える文章幅にする */
.prose{max-width:780px}
.prose>p{margin:0 0 18px;line-height:1.9}
.prose h1{max-width:16em}
.prose h2{margin-top:40px;padding-top:28px;line-height:1.55}
.prose ul{padding-left:1.4em;margin:10px 0 22px}
.prose li+li{margin-top:7px}
