* { box-sizing: border-box; }
body { min-width: 0; margin: 0; color: #25170f; font-family: "Noto Sans JP","Yu Gothic",sans-serif; background: #f6f0e5; }
a { color: inherit; }
.legal-header { display: flex; min-height: 72px; align-items: center; justify-content: space-between; gap: 20px; padding: 12px max(20px,calc((100% - 1060px)/2)); color: #fff; background: #25170f; }
.legal-header a { text-decoration: none; }
.legal-header strong { font-family: "Yu Mincho",serif; font-size: 19px; }
.legal-header nav { display: flex; gap: 20px; font-size: 11px; }
.legal-main { width: min(1060px,calc(100% - 32px)); margin: 0 auto; padding: clamp(58px,8vw,100px) 0; }
.legal-heading { margin-bottom: 45px; }
.legal-heading small { color: #a67a31; font-size: 9px; font-weight: 800; letter-spacing: .2em; }
.legal-heading h1 { margin: 12px 0; font-family: "Yu Mincho",serif; font-size: clamp(32px,5vw,56px); font-weight: 500; }
.legal-heading p { color: #74675b; line-height: 1.9; }
.legal-table { margin: 0; background: #fff; border-top: 1px solid #d9ccb8; }
.legal-table > div { display: grid; grid-template-columns: 230px minmax(0,1fr); border-bottom: 1px solid #d9ccb8; }
.legal-table dt, .legal-table dd { margin: 0; padding: 20px 24px; font-size: 13px; line-height: 1.9; }
.legal-table dt { font-weight: 800; background: #ede4d6; }
.legal-article { padding: clamp(26px,5vw,54px); background: #fff; border: 1px solid #ded1bd; }
.legal-article section + section { margin-top: 40px; padding-top: 34px; border-top: 1px solid #e0d5c4; }
.legal-article h2 { font-family: "Yu Mincho",serif; font-size: 23px; }
.legal-article p, .legal-article li { color: #5f554c; font-size: 13px; line-height: 2; }
.legal-footer { padding: 34px 20px; color: rgba(255,255,255,.65); text-align: center; background: #25170f; }
.legal-footer a { color: #fff; }
@media(max-width:640px){.legal-header nav{display:none}.legal-table>div{grid-template-columns:1fr}.legal-table dt{padding-bottom:8px}.legal-table dd{padding-top:8px}.legal-table dt,.legal-table dd{font-size:12px}}
