/* TOPCOURT legal article v2. Scope only to .tc-legal. Header/drawer excluded. */
.tc-legal{--blue:#0087af;--line:#dce3e6;--pale:#f2f7f9;color:#202427;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.8}
.tc-legal *{box-sizing:border-box}.tc-legal a{color:inherit;text-decoration:none}.tc-legal a:hover{color:#0087af}.tc-legal a:focus-visible,.tc-legal summary:focus-visible{outline:3px solid #0087af;outline-offset:5px}
.tc-legal .layout{max-width:1100px;margin:40px auto 72px;display:grid;grid-template-columns:minmax(0,760px) 280px;gap:60px}
.tc-legal .tag{font-size:12px;border:1px solid #9aa7ac;padding:4px 20px;display:inline-block;border-radius:20px}
.tc-legal h1{font-size:30px;line-height:1.55;letter-spacing:.02em;text-align:left;margin:16px 0 12px;font-weight:700}
.tc-legal .meta{font-size:12px;color:#778188;display:flex;gap:24px}
.tc-legal .article-header{padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:24px}
.tc-legal .intro{margin:0 0 24px}
.tc-legal .author{font-size:12px;color:#66727a;padding-top:12px}
.tc-legal .article p{margin:0 0 16px}
.tc-legal .article h2{font-size:25px;font-weight:700;line-height:1.5;text-align:left;border-left:6px solid var(--blue);padding:6px 0 6px 18px;margin:40px 0 20px;color:#161c20}
.tc-legal .article h3{font-size:20px;line-height:1.55;text-align:left;font-weight:600;border-left:3px solid #8bbdca;padding:2px 0 2px 15px;margin:28px 0 16px;color:#3d4c54}
.tc-legal .article h4{font-size:17px;margin:24px 0 12px}
.tc-legal .article ul,.tc-legal .article ol{margin:16px 0;padding:16px 24px 16px 46px;background:var(--pale);border:1px solid #e1ebef}
.tc-legal .article li{padding-left:4px;margin:4px 0;line-height:1.75}
.tc-legal .article li::marker{color:#007c9f;font-weight:bold}
.tc-legal .article li p{margin:0}
.tc-legal .article blockquote{margin:16px 0 20px;background:#f6f7f8;border-left:3px solid #9aa9b0;padding:18px 24px;color:#49565e}
.tc-legal .article blockquote p:last-child{margin-bottom:0}
.tc-legal .quote-label{font-size:11px;letter-spacing:.08em;color:#71828b;margin-bottom:8px}
.tc-legal .note{padding:16px 20px;border:1px solid #bed9e3;margin:20px 0;font-size:14px}
.tc-legal .note b{color:#007d9f}
.tc-legal .table-wrap{overflow-x:auto;margin:16px 0 24px}
.tc-legal table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.7}
.tc-legal caption{text-align:left;font-size:12px;color:#73818a;margin-bottom:8px}
.tc-legal th,.tc-legal td{border:1px solid #d6e0e4;padding:13px 16px;text-align:left;vertical-align:top}
.tc-legal thead th{background:#eaf3f6;font-weight:700;color:#244751}
.tc-legal tbody th{background:#f6f8f9;width:27%;font-weight:500}
.tc-legal .sidebar{font-size:13px}
.tc-legal .side-title{font-size:13px;font-weight:700;letter-spacing:.12em;border-bottom:2px solid #111;padding-bottom:14px;margin:0 0 16px}
.tc-legal .side-links{list-style:none;padding:0;margin:0}
.tc-legal .side-links li{border-bottom:1px solid var(--line);padding:12px 0}
.tc-legal .side-links a{display:flex;gap:12px}
.tc-legal .side-links span{color:var(--blue);font-size:12px}
.tc-legal .sidebar section+section{margin-top:32px}
.tc-legal .sidebar .sub{font-size:12px;color:#6d777e;margin:8px 0}
.tc-legal .consult{border:1px solid var(--line);padding:22px}
.tc-legal .consult strong{display:block;font-size:17px;line-height:1.7}
.tc-legal .consult a{display:block;background:var(--blue);color:#fff;text-align:center;padding:10px;margin-top:16px}
.tc-legal .toc{border:1px solid var(--line);margin:24px 0 32px;padding:16px 22px;font-size:14px}
.tc-legal .toc summary{cursor:pointer;font-weight:700;letter-spacing:.05em}
.tc-legal .toc ol{background:none;border:0;padding:8px 0 0 24px;margin:0}
.tc-legal .toc li{margin:4px 0}
.tc-legal .category-field{margin-top:20px}
.tc-legal .category-field label{display:block;font-size:12px;color:#667780;margin-bottom:8px}
.tc-legal .select-wrap{position:relative}
.tc-legal .select-wrap::after{content:"";position:absolute;right:16px;top:18px;width:7px;height:7px;border-right:2px solid #0087af;border-bottom:2px solid #0087af;transform:rotate(45deg);pointer-events:none}
.tc-legal .category-field select{appearance:none;width:100%;min-height:48px;border:1px solid #cbdbe1;border-radius:0;background:#f2f7f9;color:#354951;padding:12px 38px 12px 14px;font:inherit;font-size:13px;cursor:pointer}
.tc-legal .category-field select:hover{border-color:#0087af}
.tc-legal .category-field select:focus-visible{outline:3px solid #0087af;outline-offset:3px}
.tc-legal .toc summary{display:flex;justify-content:space-between;align-items:center;list-style:none}
.tc-legal .toc summary::-webkit-details-marker{display:none}
.tc-legal .toc summary::after{content:"＋";color:#0087af;font-size:20px;font-weight:400}
.tc-legal .toc[open] summary::after{content:"−"}
.tc-legal .side-links a[aria-current="location"]{color:#007d9f;font-weight:700}
.tc-legal .article h2[id]{scroll-margin-top:24px}
@media(max-width:1150px){.tc-legal .layout{margin:32px 28px 64px;gap:36px;grid-template-columns:minmax(0,1fr) 240px}}
@media(max-width:800px){.tc-legal .layout{display:block;margin:28px 20px 48px}.tc-legal .sidebar{margin-top:40px}.tc-legal .sidebar section:first-child{display:none}.tc-legal h1{font-size:25px;line-height:1.55}.tc-legal .article h2{font-size:22px;margin-top:32px}.tc-legal .article h3{font-size:18px;margin-top:24px}.tc-legal .article ul,.tc-legal .article ol{padding:14px 18px 14px 38px}.tc-legal .article blockquote{padding:16px 18px}.tc-legal .meta{gap:12px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.tc-legal{scroll-behavior:auto}}

/* Integration with existing theme: article scope only; global header and drawer unchanged. */
body[data-article-layout] .tc-legal{width:100%;max-width:none;padding:0;overflow:visible}
body[data-article-layout] .tc-legal .layout{display:grid;inline-size:auto;align-items:start;grid-template-columns:minmax(0,760px) 280px;gap:60px}
body[data-article-layout] .tc-legal .l-main{width:100%;min-width:0;padding:0;margin:0}
body[data-article-layout] .tc-legal .l-sidebar{display:block;width:auto;min-width:0;max-height:none;overflow:visible}
.tc-legal .p-single-post{padding:0;margin:0}.tc-legal .p-single-header{padding:0 0 24px;text-align:left}
.tc-legal h1.p-single-header__title{font-size:30px!important;line-height:1.55;text-align:left;margin:16px 0 12px}
.tc-legal .p-single-content{padding:0;margin:0}.tc-legal .article{font-size:16px;line-height:1.8;overflow-wrap:anywhere}
.tc-legal .article h2{background:none;border-top:0;border-right:0;border-bottom:0;border-radius:0;box-shadow:none}
.tc-legal .article h2::before,.tc-legal .article h2::after,.tc-legal .article h3::before,.tc-legal .article h3::after{display:none}
.tc-legal .article h3{background:none;border-top:0;border-right:0;border-bottom:0;border-radius:0;box-shadow:none}
.tc-legal .article a{color:#007d9f;text-decoration:underline;text-underline-offset:3px}
.tc-legal .article img{max-width:100%;height:auto}.tc-legal .article iframe{max-width:100%}
.tc-legal .article h2[id],.tc-legal .article h3[id]{scroll-margin-top:180px}
.tc-legal .article .article-inline-author-label{border:0;padding:0;margin:0 0 20px;font-size:13px}
.tc-legal .article .article-inline-author p{margin:0}
.tc-legal .article #toc_container,.tc-legal .article #ez-toc-container{display:none}
.tc-legal .toc[hidden],.tc-legal .sidebar section[hidden]{display:none!important}
.tc-legal .table-wrap{max-width:100%}.tc-legal .table-wrap table{min-width:480px}
.tc-legal .article pre{max-width:100%;overflow:auto;white-space:pre-wrap}
@media(max-width:1150px){body[data-article-layout] .tc-legal .layout{grid-template-columns:minmax(0,1fr) 240px;gap:36px}}
@media(max-width:991px){body[data-article-layout] .tc-legal .layout{display:block}body[data-article-layout] .tc-legal .l-sidebar{display:none}}
@media(max-width:800px){.tc-legal h1.p-single-header__title{font-size:25px!important}.tc-legal .article h2[id],.tc-legal .article h3[id]{scroll-margin-top:100px}}
.tc-legal .side-links span{flex:none;min-width:2ch}.tc-legal .c-profile{min-width:0;max-width:100%;box-sizing:border-box}.tc-legal .c-profile-content{min-width:0;overflow-wrap:anywhere}.tc-legal .article-inline-author-layout{min-width:0}.tc-legal .article-inline-author-bio{min-width:0}.tc-legal .article-author-research-link{overflow-wrap:anywhere}@media(max-width:400px){.tc-legal .c-profile{padding:20px 14px;gap:14px}.tc-legal .c-profile-image{flex:0 0 70px;width:70px;height:70px}.tc-legal .c-profile-content{flex:1;width:auto}.tc-legal .article-inline-author-layout{grid-template-columns:70px minmax(0,1fr);gap:10px}.tc-legal .article-inline-author-person img{width:70px;height:70px}.tc-legal .article-inline-author-bio{padding-left:10px}}
/* Explicit widths prevent the legacy centered grid from shrink-wrapping mobile articles. */ body[data-article-layout] .tc-legal{display:block}body[data-article-layout] .tc-legal .layout{width:min(calc(100% - 40px),1100px);inline-size:min(calc(100% - 40px),1100px);margin:40px auto 72px}body[data-article-layout] .tc-legal .l-main,.tc-legal .p-single-post,.tc-legal .p-single-header{display:block}.tc-legal .p-single-header__image{width:100%;margin-top:24px}.tc-legal .p-single-header__image img{max-width:100%;height:auto}.tc-legal .c-share-button{display:flex;flex-wrap:wrap}@media(max-width:800px){body[data-article-layout] .tc-legal .layout{margin:28px auto 48px}}
/* Separate the closing share row from the article and overlapping AUTHOR label. */ .tc-legal .p-single-content + .c-share-button{margin:32px 0 40px;gap:12px}.tc-legal .p-single-content + .c-share-button + .c-profile{margin-top:0}@media(max-width:767px){.tc-legal .p-single-content + .c-share-button{margin-top:24px;margin-bottom:32px}}
