/* ==========================================================
   legal.css  特定商取引法に基づく表記 / プライバシーポリシー
   ========================================================== */
.doc{max-width:880px;margin-inline:auto;padding-block:clamp(48px,8vh,88px) clamp(72px,12vh,128px)}
.doc-head{display:flex;flex-direction:column;gap:12px;padding-bottom:clamp(28px,5vh,48px)}
.doc-head h1{font-family:var(--display);font-weight:400;font-size:clamp(28px,5vw,52px);line-height:1.25;text-wrap:balance}
.doc-head .lead{font-size:16px;color:var(--muted);max-width:38em}
.doc-head .date{font-size:14px;color:var(--muted)}
.js .doc-head>*{animation:rise .9s var(--ease) both}
.js .doc-head>*:nth-child(2){animation-delay:.1s}
.js .doc-head>*:nth-child(3){animation-delay:.2s}

.doc-sec{padding-block:clamp(28px,5vh,44px);border-top:2px solid var(--ink);scroll-margin-top:calc(var(--hdr) + 20px)}
.doc-head{scroll-margin-top:calc(var(--hdr) + 20px)}
.doc-sec h2{font-size:clamp(20px,2.4vw,24px);line-height:1.5;font-weight:700;text-wrap:balance}
.doc-sec h2 .no{display:inline-block;min-width:2.2em;font-family:var(--display);font-weight:400;color:var(--muted)}
.doc-sec p,.doc-sec li{font-size:16px;line-height:1.9}
.doc-sec p{margin-top:14px}
.doc-sec h2+p{margin-top:16px}
.doc-sec ul{margin:14px 0 0;padding-left:1.4em;display:grid;gap:6px}
.doc-sec a{text-underline-offset:3px}

/* 表（特定商取引法） */
.spec{margin:20px 0 0;display:grid;border-top:1px solid var(--line)}
.spec>div{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:8px 32px;padding:18px 0;border-bottom:1px solid var(--line)}
.spec dt{font-size:15px;font-weight:700}
.spec dd{margin:0;font-size:16px;line-height:1.8;overflow-wrap:anywhere}
.spec dd p{margin-top:8px}
.spec dd p:first-child{margin-top:0}
.spec .note{font-size:14px;color:var(--muted)}

.doc-end{margin-top:8px;padding-top:24px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
@media (max-width:640px){
  .spec>div{grid-template-columns:minmax(0,1fr);gap:4px}
}
