:root{color-scheme:light;--ink:#202734;--blue:#1d4e89;--blue-dark:#163b68;--muted:#495568;--line:#bac7d8;--soft:#edf3fa;--paper:#fff;--measure:760px}
*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Meiryo","Yu Gothic",system-ui,sans-serif;font-size:16px;line-height:1.95;overflow-wrap:anywhere}a{color:var(--blue);text-decoration:underline;text-underline-offset:.2em}a:hover{color:var(--blue-dark)}button{font:inherit;cursor:pointer}button,a,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #d47712;outline-offset:4px}h1,h2,h3,h4,p,figure{margin:0}h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(29px,4vw,39px);font-weight:600;line-height:1.55;letter-spacing:.03em}h2{font-size:25px;line-height:1.55;font-weight:700;color:var(--blue)}h3{font-size:20px;line-height:1.65;font-weight:700;margin:32px 0 12px}h4{font-size:17px;line-height:1.7;font-weight:700}strong{font-weight:700}p+p{margin-top:16px}code{font-family:Consolas,monospace;font-size:.97em;background:var(--soft);padding:2px 5px;overflow-wrap:anywhere}ul,ol{padding-left:1.6em;margin:18px 0}li{padding-left:.3em;margin-bottom:12px}.skip-link{position:absolute;left:16px;top:-100px;background:#fff;padding:10px;z-index:20}.skip-link:focus{top:8px}.site-header{max-width:1120px;margin:auto;padding:25px 32px;display:flex;gap:20px;justify-content:space-between;align-items:center}.brand{font-family:"Yu Mincho",serif;color:var(--ink);text-decoration:none;font-size:20px;letter-spacing:.04em}.brand span{font-family:"Meiryo",sans-serif;display:block;font-size:14px;color:var(--muted)}.site-header nav{display:flex;gap:25px;font-size:15px}.prototype-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f5f7fa;color:var(--muted);font-size:14px}.prototype-note>div{max-width:1120px;padding:11px 32px;margin:auto}.page-shell{max-width:1120px;margin:0 auto;padding:38px 32px 32px;display:grid;grid-template-columns:185px minmax(0,var(--measure));justify-content:center;gap:42px}main{min-width:0}.toc{font-size:14px}.toc-inner{position:sticky;top:24px}.toc-label{font-size:15px;color:var(--muted);padding-bottom:12px;border-bottom:1px solid var(--line)}.toc ol{list-style:none;padding:0;margin:16px 0}.toc li{padding:0;margin:0 0 15px}.toc a{display:block;padding:3px 0}.toc-download{border-top:1px dashed var(--line);padding-top:16px!important}.breadcrumb{color:var(--muted);font-size:14px;margin-bottom:12px}.subtitle{font-size:20px;margin-top:8px}.lead{margin:22px 0 24px}.course-meta{margin:0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:16px}.course-meta>div{display:grid;grid-template-columns:96px 1fr;gap:10px;margin-bottom:8px}.course-meta>div:last-child{margin:0}.course-meta dt{font-weight:700}.course-meta dd{margin:0}.audience-note{font-size:14px;border-bottom:0;padding:10px 0 0}.audience-note p{padding:10px 0}.goal{border-left:4px solid var(--blue);padding:16px 20px;background:var(--soft);margin-top:24px}.goal h2{font-size:17px;font-weight:700;margin-bottom:8px}.goal p{font-size:17px}.web-version{font-size:14px;color:var(--muted);margin-top:14px}.overview{padding:36px 0 8px}.overview>h2{font-size:21px;margin-bottom:16px}.video-shell{position:relative;background:#163b68;aspect-ratio:16/9}.video-thumbnail{display:block;width:100%;height:100%;object-fit:contain}.video-play{position:absolute;left:50%;top:68%;transform:translate(-50%,-50%);border:2px solid var(--blue-dark);background:#fff;color:var(--blue-dark);padding:11px 24px;min-height:48px;white-space:nowrap;box-shadow:0 1px 8px #163b6833}.video-play span{font-size:14px;margin-left:10px}.video-shell iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.video-caption{font-size:14px;color:var(--muted);margin-top:12px}.video-caption a{white-space:nowrap}.text-note{font-size:14px;color:var(--muted)}.article section{margin-top:44px;scroll-margin-top:25px}.article section>h2{display:flex;gap:14px;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:23px}.section-number{font-family:inherit;font-size:inherit;font-weight:inherit;flex-shrink:0}.section-number::after{content:"."}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;border:1px solid var(--blue);background:var(--blue);color:#fff;text-decoration:none;padding:11px 19px;font-size:16px;line-height:1.7;min-height:46px}.button:hover{background:var(--blue-dark);color:#fff}.button span{font-size:14px}.button.secondary{background:#fff;color:var(--blue)}.button.secondary:hover{background:var(--soft)}.start-action{margin:20px 0}.figure{margin-top:24px;margin-bottom:22px}.figure img{width:100%;height:auto;display:block;border:1px solid var(--line)}.figure figcaption{font-size:14px;color:var(--muted);padding:12px 0 8px}.figure-tools{display:flex;gap:16px;align-items:center;font-size:14px}.figure-zoom{border:1px solid var(--blue);background:#fff;color:var(--blue);padding:6px 12px;min-height:40px}.point{margin-top:25px;padding:16px 20px;border-left:4px solid var(--blue);background:var(--soft)}.point h4{margin-bottom:8px}.point p{font-size:16px}.results-table{border-collapse:collapse;width:100%;font-size:16px;margin:20px 0}.results-table th,.results-table td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:left;font-weight:400}.results-table thead th{background:var(--soft);font-weight:700}.results-table caption{text-align:left;font-size:14px;color:var(--muted);margin-bottom:6px}.check-list{list-style:none;padding:0;margin:22px 0}.check-list li{padding:0 0 10px 24px;position:relative;border-bottom:1px dashed var(--line)}.check-list li::before{content:"✓";position:absolute;left:0;color:var(--blue)}details{padding:16px 0;border-bottom:1px dashed var(--line)}summary{cursor:pointer;font-size:16px;line-height:1.8;color:var(--blue);min-height:35px}details>div{padding:16px 0 6px}.task{border-left:4px solid var(--blue);padding:3px 0 3px 20px;margin-top:22px}.task h3{margin-top:0}.answer{margin-top:24px;border:1px solid var(--line);padding:16px 20px;background:#f7f9fc}.answer summary{font-weight:700}.download-list{margin-top:24px}.download-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:21px 0}.download-name{font-size:17px;font-weight:700}.download-description{font-size:14px;color:var(--muted);margin-top:4px}.download-meta{font-size:14px;color:var(--muted);margin-top:5px}.download-action{min-width:128px}.download-row .button{font-size:15px}.usage-note{font-size:14px;color:var(--muted);padding:16px 0}.sources{font-size:14px}.sources h2{font-size:19px}.sources ul{list-style:none;padding:0}.sources li{margin-bottom:10px}.consult{margin-top:46px;background:var(--soft);padding:28px}.consult h2{font-size:23px;margin-bottom:14px}.consult p{margin-bottom:21px}.lesson-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:28px 0 12px;border-top:1px solid var(--line);margin-top:35px;font-size:14px;color:var(--muted)}.figure-dialog{width:min(96vw,1500px);max-height:94vh;border:1px solid var(--line);padding:18px;background:#fff;color:var(--ink)}.figure-dialog::backdrop{background:#101c2ab3}.figure-dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px;font-size:15px}.figure-dialog-bar button{border:1px solid var(--blue);background:#fff;color:var(--blue);padding:7px 16px;min-height:44px;flex-shrink:0}.figure-dialog-image{overflow:auto;max-height:72vh}.figure-dialog-image img{width:100%;min-width:960px;height:auto;display:block}.dialog-note{font-size:14px;margin-top:12px}
.download-name{margin:0}
:is(.learning-content,.lesson-content)>.collapsible-chapter{margin-top:24px}.chapter-toggle{padding:0;border:1px solid var(--line)}.chapter-toggle>summary{display:flex;align-items:center;gap:12px;padding:18px 20px;list-style:none;background:#f5f7fa}.chapter-toggle>summary::-webkit-details-marker{display:none}.chapter-toggle>summary::before{content:"＋";font-size:22px;flex-shrink:0}.chapter-toggle[open]>summary::before{content:"−"}.chapter-toggle>summary h3{display:flex;align-items:baseline;gap:12px;font-size:23px;line-height:1.6;margin:0;color:var(--blue);min-width:0;flex:1}.chapter-toggle[open]>summary{border-bottom:1px solid var(--line)}.chapter-toggle[open] .when-open{display:inline}.chapter-toggle[open] .when-closed{display:none}.chapter-toggle>.chapter-body{padding:22px}.chapter-toggle .disclosure-hint{flex-shrink:0}.trouble-item+.trouble-item{border-top:1px dashed var(--line);margin-top:22px;padding-top:22px}.trouble-item h4{font-size:18px;margin-bottom:10px}
.terms-shell{max-width:824px;margin:auto;padding:38px 32px 32px}.terms-scope{margin:24px 0;padding:18px 20px;background:var(--soft)}.terms-shell>section{margin-top:32px}.terms-shell>section>h2{font-size:23px;margin-bottom:12px;border-bottom:1px solid var(--line);padding-bottom:10px}.terms-contact{margin-top:30px}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.terms-preview{margin-top:20px}
.site-header nav{flex-wrap:wrap}.series-breadcrumb{margin:22px 0 -22px}
.button span{flex-shrink:0;white-space:nowrap}
.toc-mobile{display:none}
.part-label{font-size:14px;font-weight:700;color:var(--blue);letter-spacing:.06em;margin-bottom:8px}.lesson-start-link{margin-top:20px;font-weight:700}.article .part-heading{border-top:4px solid var(--blue);background:var(--soft);padding:24px 26px}.part-heading h2{font-size:28px;margin-bottom:10px}.part-heading.supplementary{border-top-width:2px;background:#f5f7fa}:is(.learning-content,.lesson-content)>section>h3,#work>h3{display:flex;gap:14px;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:14px;margin:0 0 23px;color:var(--blue);font-size:25px}:is(.learning-content,.lesson-content)>section>h4,.task>h4{font-size:20px;margin:32px 0 12px}.task>h4{margin-top:0}.toc li>ol{display:block;margin:10px 0 20px;padding-left:12px;border-left:2px solid var(--line)}.toc li>ol li{margin-bottom:9px}.toc-inner>ol>li>a{font-weight:700}.toc li>ol a{font-weight:400}.materials{padding:0;border:1px solid var(--line)}.materials>summary{display:flex;gap:12px;align-items:center;padding:20px;list-style:none;background:#f5f7fa}.materials>summary::-webkit-details-marker{display:none}.materials>summary::before{content:"＋";font-size:22px;flex-shrink:0}.materials[open]>summary::before{content:"−"}.materials>summary h3{display:flex;align-items:baseline;gap:14px;font-size:25px;line-height:1.55;margin:0;color:var(--blue)}.materials-count{font-size:14px;white-space:nowrap}.disclosure-hint{margin-left:auto;font-size:14px;white-space:nowrap}.when-open{display:none}.materials[open] .when-open{display:inline}.materials[open] .when-closed{display:none}.materials[open]>summary{border-bottom:1px solid var(--line)}.materials>.materials-body{padding:22px}.materials .download-list{margin-top:8px}
@media(max-width:900px){.page-shell{grid-template-columns:minmax(0,var(--measure));gap:24px;padding-top:24px}.toc-inner{display:none}.toc-mobile{display:block;padding:5px 0 12px}.toc-mobile summary{min-height:40px}.toc ol{display:flex;flex-wrap:wrap;gap:9px 20px;margin:0;padding:15px 0 0;border:0}.toc li{margin:0}.toc a{padding:4px 0}.site-header{padding:21px 25px}.prototype-note>div{padding:10px 25px}.page-shell{padding-left:25px;padding-right:25px}}
@media(max-width:520px){body{line-height:1.85}.site-header{padding:17px 18px;align-items:flex-start;flex-direction:column;gap:9px}.brand{font-size:18px}.site-header nav{gap:22px;font-size:14px}.prototype-note>div{padding:10px 18px}.page-shell{padding:22px 18px}.toc ol{gap:6px 18px}.toc a{min-height:40px;display:flex;align-items:center}.course-meta>div{display:block;margin-bottom:14px}.course-meta dt{margin-bottom:3px}.course-meta dd{font-size:16px}.goal{padding:14px 16px}.goal p{font-size:16px}.article section>h2{font-size:22px;gap:12px}.section-number{font-size:inherit}h3{font-size:19px}.subtitle{font-size:18px}.overview{padding-top:28px}.video-play{top:74%;padding:8px 12px;min-height:44px;font-size:15px}.video-play span{font-size:13px;margin-left:0}.results-table{font-size:15px}.results-table th,.results-table td{padding:10px 8px}.download-row{grid-template-columns:1fr;gap:13px;align-items:start}.download-action{width:fit-content}.consult{padding:23px 18px}.consult h2{font-size:21px}.consult .button{width:100%}.lesson-footer{display:block}.lesson-footer>a{display:inline-block;margin-top:15px}.figure-dialog{padding:12px}.figure-dialog-bar{align-items:flex-start}.figure-dialog-image img{min-width:900px}.button{max-width:100%}.task{padding-left:16px}}
@media print{.site-header,.toc,.prototype-note,.video-shell,.video-caption,.consult,.figure-tools,.figure-dialog,.skip-link,.download-action{display:none!important}.page-shell{display:block;padding:0;max-width:none}body{font-size:11pt;color:#000}h1{font-size:24pt}h2{font-size:17pt}h3{font-size:13pt}.article section{margin-top:24pt}.figure{break-inside:avoid}.figure img{max-width:85%;margin:auto}.point,.goal{background:#fff}details>div{display:block!important}.lesson-footer{font-size:9pt}}
@media(max-width:520px){.article .part-heading{padding:20px 18px}.part-heading h2{font-size:25px}:is(.learning-content,.lesson-content)>section>h3,#work>h3{font-size:22px;gap:12px}:is(.learning-content,.lesson-content)>section>h4,.task>h4{font-size:19px}.materials>summary{padding:16px 12px;gap:8px;flex-wrap:wrap}.materials>summary h3{font-size:21px;gap:8px}.materials>summary::before{font-size:19px}.materials>.materials-body{padding:18px 14px}.toc-mobile>ol{display:block}.toc li>ol{display:block;margin:4px 0 14px;padding:3px 0 3px 12px}}
@media(max-width:520px){.terms-shell{padding:26px 18px}.terms-shell>section>h2{font-size:21px}.terms-scope{padding:16px}.footer-links{margin-top:15px}}
@media(max-width:520px){.chapter-toggle>summary{padding:16px 12px;gap:8px}.chapter-toggle>summary h3{font-size:21px;gap:8px}.chapter-toggle>summary::before{font-size:19px}.chapter-toggle>.chapter-body{padding:18px 14px}}

/* Count tables retain readable columns inside their own scroll area. */
.count-table-scroll{max-width:100%;overflow-x:auto}.count-table{min-width:520px}.count-table td{text-align:right}.count-table tbody th{font-weight:700;white-space:nowrap}.count-table-scroll:focus-visible{outline:3px solid #d47712;outline-offset:3px}
/* v10: 日本語の折り返し。末尾に1〜2文字だけ残る行を減らす（未対応の環境は従来表示） */
h1,h2,h3,h4,summary{text-wrap:balance}
p,li,dd,dt,figcaption{text-wrap:pretty}
body{word-break:auto-phrase}
/* v10: 2列以上の件数表を狭い幅でも収める（表内スクロールは収まらない場合のみ） */
.results-table.count-fit td,.results-table.count-fit thead th:not(:first-child){text-align:right}
.results-table.count-fit tbody th{font-weight:700}
.results-table.count-fit,.results-table.count-fit *{overflow-wrap:normal}
@media(max-width:520px){.results-table.count-fit{font-size:14px}.results-table.count-fit th,.results-table.count-fit td{padding:9px 5px}}
