/* 利用規約・プライバシーポリシー（style.css の上に重ねる。index.html では読まない） */
.lg { padding: 112px 0 40px; }
.draft-note { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; letter-spacing: .04em; color: var(--gold); padding: 6px 14px; border-radius: 999px; background: rgba(255, 200, 106, .08); box-shadow: inset 0 0 0 1px rgba(255, 200, 106, .3); }
.draft-note .ico { width: 18px; height: 18px; }
.lg h1 { margin-top: 18px; font-size: clamp(32px, 5.4vw, 52px); letter-spacing: .01em; }
.lg-meta { margin-top: 12px; color: var(--sub); font-size: 14px; }
.lg-lead { margin-top: 26px; font-size: 15.5px; line-height: 2; color: rgba(251, 247, 240, .9); }

/* 目次 */
.toc { margin-top: 34px; padding: 18px 20px 14px; border-radius: 22px; background: var(--surface); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .07); }
.toc-title { font-size: 13px; font-weight: 800; letter-spacing: .2em; color: var(--orange); }
.toc ol { margin-top: 6px; display: grid; }
.toc a { display: flex; align-items: center; min-height: 44px; font-size: 14.5px; font-weight: 700; text-decoration: none; color: rgba(251, 247, 240, .88); border-bottom: 1px solid rgba(255, 255, 255, .05); }
.toc li:last-child a { border-bottom: 0; }
.toc a:hover { color: #fff; }
@media (min-width: 900px) { .toc { padding: 24px 30px 18px; } .toc ol { grid-template-columns: 1fr 1fr; column-gap: 34px; } .toc li:nth-last-child(2) a { border-bottom: 0; } }

/* 条文 */
.lg-art { margin-top: 52px; scroll-margin-top: 16px; }
.lg-art h2 { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; padding-bottom: 12px; border-bottom: 1px solid var(--line); font-size: clamp(19px, 2.4vw, 23px); }
.lg-art h2 .no { font-size: 13px; font-weight: 800; letter-spacing: .12em; color: var(--orange); }
.lg-art h3 { margin-top: 26px; font-size: 16.5px; }
.lg-art p, .lg-art li { font-size: 15px; line-height: 1.95; color: rgba(251, 247, 240, .88); }
.lg-art > p { margin-top: 16px; }
.items { margin-top: 16px; display: grid; gap: 12px; counter-reset: item; }
.items > li { position: relative; padding-left: 2.3em; counter-increment: item; }
.items > li::before { content: counter(item); position: absolute; left: 0; top: .22em; width: 1.6em; height: 1.6em; border-radius: 50%; display: grid; place-items: center; font-size: 12.5px; font-weight: 800; line-height: 1; color: var(--orange); background: rgba(255, 138, 61, .14); }
.sub { margin-top: 8px; display: grid; gap: 6px; counter-reset: sub; }
.sub > li { position: relative; padding-left: 2.4em; counter-increment: sub; }
.sub > li::before { content: "（" counter(sub) "）"; position: absolute; left: 0; color: var(--sub); }
.dots { margin-top: 8px; display: grid; gap: 6px; }
.dots > li { position: relative; padding-left: 1.2em; }
.dots > li::before { content: ""; position: absolute; left: .2em; top: .85em; width: 6px; height: 6px; border-radius: 50%; background: var(--pink); }
.lg-art .kv { margin-top: 18px; }
.lg-art h2 + .kv { margin-top: 0; border-top: 0; }
.kv + .tbc, .sub + .tbc { display: inline; }
.kv + .tbc { display: inline-block; margin-top: 10px; }
.lg-art .kv dd { font-size: 14.5px; color: rgba(251, 247, 240, .9); }
.lg-art .kv dd small { display: block; color: var(--sub); font-size: 13px; }
.lg-art strong { color: #fff; font-weight: 800; }
.lg-art a { text-underline-offset: 3px; }

/* 要確認（弁護士に見せる前の印） */
.tbc { font-weight: 700; color: #FFB37A; background: rgba(255, 138, 61, .12); padding: 0 .35em; border-radius: 6px; -webkit-box-decoration-break: clone; box-decoration-break: clone; }

/* 大事な所の枠 */
.lg-box { margin-top: 18px; display: flex; gap: 14px; align-items: flex-start; padding: 20px 22px; border-radius: 20px; background: rgba(43, 217, 255, .05); box-shadow: inset 0 0 0 1px rgba(43, 217, 255, .2); }
.lg-box > .ico { width: 24px; height: 24px; color: var(--cyan); margin-top: 4px; }
.lg-box p { margin: 0; }

.lg-end { margin-top: 56px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--sub); font-size: 14px; }
.lg-end p + p { margin-top: 4px; }
.lg-back { margin-top: 48px; display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.lg-back .btn-main { min-height: 56px; font-size: 17px; }
.lg-back .btn-sub { display: inline-flex; align-items: center; min-height: 56px; padding: 0 24px; border-radius: 999px; text-decoration: none; font-weight: 700; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .35); }
.lg-back .btn-sub:hover { background: #fff; color: var(--ink); }
@media (max-width: 639px) { .lg-back .btn-main, .lg-back .btn-sub { width: 100%; justify-content: center; } }
@media (min-width: 900px) { .lg { padding-top: 140px; } .lg-art p, .lg-art li { font-size: 15.5px; } }
.ft-links .here { font-weight: 800; color: var(--text); }
