/* SONARIA — legal pages (tokushoho / privacy / terms / returns) */
.legal-table td ul { list-style: none; padding-left: 0; }
.legal-table td li { position: relative; padding-left: 1.1em; }
.legal-table td li::before { content: "・"; position: absolute; left: 0; }
.legal-table td a, .page-returns .container a:not(.returns-contact__item) { color: var(--navy); text-decoration: underline; text-underline-offset: 3px; }
.legal-table td p + p { margin-top: 0; }

.legal-toc { border: 1px solid var(--line); border-radius: var(--radius); padding: 20px 24px; background: var(--paper); font-size: 14px; }
.legal-toc__title { font-weight: 700; color: var(--navy); }
.prose .legal-toc ol { margin-top: 8px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px 32px; }
.prose .legal-toc li + li { margin-top: 0; }

.prose ol > li > ul { margin-top: .4em; }

/* returns */
.returns-table th[scope="row"] { width: 30%; font-weight: 700; color: var(--navy); }
.returns-table td { vertical-align: top; }
.return-steps { display: grid; gap: 0; border-top: 1px solid var(--line); }
.return-steps > li { display: grid; grid-template-columns: 96px 160px 1fr; gap: 16px; padding: 22px 4px; border-bottom: 1px solid var(--line); align-items: baseline; }
.return-steps__no { font: 600 13px var(--font-en); letter-spacing: .14em; color: var(--orange); }
.return-steps__title { font-family: var(--font-head); font-size: 17px; font-weight: 700; color: var(--navy); }
.return-steps p:not(.return-steps__no) { font-size: 14.5px; color: var(--ink-2); }
.returns-contact { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.returns-contact__item { display: flex; gap: 14px; align-items: center; padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--radius); }
.returns-contact__item:hover { border-color: var(--navy); color: inherit; }
.returns-contact__item .icon { width: 28px; height: 28px; color: var(--orange); }
.returns-contact__item span { display: grid; line-height: 1.5; }
.returns-contact__item small { font-size: 12px; color: var(--ink-3); }
.returns-contact__item b { font-size: 18px; color: var(--navy); }
.returns-contact__item b.num { font-size: 21px; }

@media (max-width: 860px) {
  .prose .legal-toc ol { grid-template-columns: 1fr; }
  .return-steps > li { grid-template-columns: 1fr; gap: 4px; }
  .returns-contact { grid-template-columns: 1fr; }
  .returns-table th[scope="row"] { width: auto; }
}
