body.legal-active .app { width: min(100%, 716px); }
.legal-page { background: #EFEBE4; color: #2E2C2A; }
.legal-page__body { max-width: 680px; margin: 0 auto; padding: 28px 18px 72px; font: 500 15px/1.9 'M PLUS Rounded 1c', sans-serif; overflow-wrap: anywhere; -webkit-user-select: text; user-select: text; -webkit-touch-callout: default; }
.legal-page__body * { -webkit-user-select: text; user-select: text; -webkit-touch-callout: default; }
.legal-page__body h1 { margin: 0 0 8px; font: 900 24px/1.4 'M PLUS Rounded 1c', sans-serif; }
.legal-page__body h2 { margin: 36px 0 14px; padding-bottom: 9px; border-bottom: 1.5px solid #2E2C2A; font: 800 17px/1.5 'M PLUS Rounded 1c', sans-serif; scroll-margin-top: 92px; }
.legal-page__body p { margin: 0 0 16px; }
.legal-page__body .legal-page__date { color: #6B6560; font-size: 13px; }
.legal-page__body .legal-page__summary { margin: 22px 0 24px; padding: 18px; background: #FFFBF0; border: 2px solid #2E2C2A; border-radius: 14px; }
.legal-page__body ol, .legal-page__body ul { margin: 0 0 16px; padding-left: 1.65em; }
.legal-page__body li { margin: 0 0 7px; }
.legal-page__body li > ol, .legal-page__body li > ul { margin: 7px 0 10px; }
.legal-page__body ol ol { list-style: none; counter-reset: legal-subitem; padding-left: 2.2em; }
.legal-page__body ol ol > li { position: relative; counter-increment: legal-subitem; }
.legal-page__body ol ol > li::before { content: '（' counter(legal-subitem) '）'; position: absolute; right: 100%; white-space: nowrap; }
.legal-page__body ul { list-style: none; }
.legal-page__body ul > li { position: relative; }
.legal-page__body ul > li::before { content: '・'; position: absolute; right: 100%; }
.legal-page__table-scroll { max-width: 100%; overflow-x: auto; margin: 16px 0 20px; -webkit-overflow-scrolling: touch; }
.legal-page__table-scroll table { width: 100%; min-width: 610px; border-collapse: collapse; font-size: 13px; line-height: 1.65; }
.legal-page__table-scroll th, .legal-page__table-scroll td { padding: 8px; border: 1px solid #2E2C2A; text-align: left; vertical-align: top; }
.legal-page__table-scroll th { background: #F7EAD1; font-weight: 800; }
.legal-page__body a { color: #2E2C2A; text-decoration: underline; }
.legal-page__other { display: block; margin-top: 36px; padding-top: 16px; border-top: 1.5px solid #2E2C2A; font-weight: 700; }
.legal-page .home-spot__footer { margin-top: 0; }
@media (max-width: 360px) { .legal-page__body { padding-left: 10px; padding-right: 10px; } }
