/* Layout */

article{padding: 20px;}
.doc{display:grid;grid-template-columns:300px 1fr;gap:64px;align-items:start;padding:56px 0 96px}
.toc{position:sticky;top:116px;max-height:calc(100vh - 140px);overflow:auto;background:var(--tint);border:1px solid var(--line);border-radius:14px;padding:22px 14px}
.toc h2{font-size:17px;letter-spacing:-0.01em;margin:0 0 8px;padding:0 12px}
.toc ol{list-style:none;margin:0;padding:0}
.toc a{display:block;padding:7px 12px;border-radius:6px;text-decoration:none;color:var(--navy);font-weight:600;font-size:14.5px;line-height:1.45;border-left:3px solid transparent}
.toc a:hover{background:#fff}
.toc a.on{background:#fff;color:var(--blue);border-left-color:var(--blue)}
.toc details>summary{display:none}

article section{padding:0 0 46px;margin-bottom:46px;border-bottom:1px solid var(--line)}
article section:last-of-type{border-bottom:0;margin-bottom:0}
article h2 .num{color:var(--blue);margin-right:6px}
article ul{margin:0 0 18px;padding:0;list-style:none;display:grid;gap:12px}
article ul li{position:relative;padding-left:30px;line-height:1.75}
article ul li::before{content:"";position:absolute;left:0;top:10px;width:14px;height:14px;border-radius:50%;background:var(--blue)}
article ul li strong{color:var(--navy);font-weight:700}
article strong{color:var(--navy)}

.contact-card{background:var(--tint);border:1px solid var(--line);border-radius:14px;padding:24px 28px;margin:8px 0 18px}
.contact-card dl{margin:0;display:grid;grid-template-columns:110px 1fr;gap:6px 18px;line-height:1.7}
.contact-card dt{color:var(--navy);font-weight:700}
.contact-card dd{margin:0;word-break:break-word}
.callout{background:var(--tint);border-left:4px solid var(--blue);border-radius:4px;padding:18px 24px;margin:22px 0;line-height:1.8;font-size:16.5px}
.callout h3{margin:0 0 6px;font-size:19px}
.callout p:last-child{margin-bottom:0}

.tbl-wrap{overflow-x:auto;margin:22px 0;border:1px solid var(--line);border-radius:12px}
table.t{width:100%;border-collapse:collapse;min-width:560px}
.t th,.t td{text-align:left;padding:15px 22px;border-bottom:1px solid var(--line);font-size:15.5px;line-height:1.65;vertical-align:top}
.t tr:last-child td{border-bottom:0}
.t thead th{background:var(--navy);color:#fff;font-weight:700}
.t tbody td:first-child{color:var(--navy);font-weight:600;width:52%}
.t tbody tr:nth-child(even){background:var(--tint)}

.back{display:inline-flex;align-items:center;gap:8px;font-weight:700;text-decoration:none;font-size:15px;margin-top:6px}
.back:hover{text-decoration:underline}

@media (max-width:1050px){
  .doc{grid-template-columns:1fr;gap:28px;padding-top:36px;display: block;}
  .toc{position:static;max-height:none;padding:0;overflow:visible}
  .toc>h2{display:none}
  .toc details>summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;padding:16px 20px;color:var(--navy);font-weight:800;font-size:17px}
  .toc details>summary::-webkit-details-marker{display:none}
  .toc details>summary::after{content:"";width:11px;height:11px;border-right:3px solid var(--blue);border-bottom:3px solid var(--blue);transform:rotate(45deg);margin-top:-4px}
  .toc details[open]>summary::after{transform:rotate(-135deg);margin-top:4px}
  .toc details ol{padding:0 10px 14px;columns:2;column-gap:12px}
}
@media (max-width:640px){
  .toc details ol{columns:1}
  .contact-card dl{grid-template-columns:1fr;gap:0}
  .contact-card dd{margin-bottom:10px}
}
@media print{header.site,.toc,.to-top,.back{display:none}.doc{display:block;padding:0}}