@font-face{font-family:BIZ UDPGothic;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/biz-udpgothic-400.woff2)format("woff2")}@font-face{font-family:BIZ UDPGothic;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/biz-udpgothic-700.woff2)format("woff2")}:root{--color-text:#14213d;--color-bg:#fff;--color-main:#0b2e59;--color-accent:#8f3600;--color-border:#14213d;--color-soft:#eef2f8;--font-base:"BIZ UDPGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;--space:1rem;--button-height:56px}html{font-size:20px}html[data-textsize=large]{font-size:24px}html[data-textsize=xlarge]{font-size:28px}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-base);color:var(--color-text);background:var(--color-bg);overflow-wrap:anywhere;word-break:auto-phrase;margin:0;font-size:1rem;line-height:1.8}img,svg,video{max-width:100%;height:auto}h1,h2,h3{color:var(--color-main);text-wrap:balance;margin:1.6em 0 .6em;line-height:1.4}h1{margin-top:1em;font-size:1.8rem}h2{border-left:.3em solid var(--color-accent);padding-left:.5em;font-size:1.4rem}h3{font-size:1.2rem}p,ul,ol{margin:0 0 1em}a{color:var(--color-main);text-underline-offset:.2em;text-decoration:underline}a:hover{color:var(--color-accent)}:focus-visible{outline:4px solid var(--color-accent);outline-offset:3px}.container{width:100%;max-width:72rem;margin:0 auto;padding:0 16px}.skip{z-index:10;background:var(--color-main);color:#fff;padding:.8rem 1rem;position:absolute;top:-4rem;left:0}.skip:focus{top:0}.btn{min-height:var(--button-height);font:inherit;text-align:center;color:#fff;background:var(--color-main);border:3px solid var(--color-main);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:.5rem .8rem;font-weight:700;line-height:1.4;text-decoration:none;display:inline-flex}.btn:hover{color:#fff;background:var(--color-accent);border-color:var(--color-accent)}.menu{flex-wrap:wrap;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.btn--menu{color:var(--color-main);background:#fff}.menu--header{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.menu--header .btn{width:100%;padding:.2rem}html[data-textsize=large] .menu--header .btn{font-size:.85rem}html[data-textsize=xlarge] .menu--header .btn{font-size:.75rem}html[data-textsize=xlarge] .textsize__btn{font-size:.9rem}@media (width>=48rem){.menu--header{grid-template-columns:repeat(4,1fr)}}.textsize{margin:.8rem 0 .4rem}.textsize__title{margin-bottom:.3rem;font-weight:700;line-height:1.4;display:block}.textsize__buttons{gap:8px;display:flex}.textsize__btn{min-width:0;color:var(--color-main);background:#fff;flex:1 1 0;padding:.2rem .1rem}.textsize__btn[aria-pressed=true]{color:#fff;background:var(--color-accent);border-color:var(--color-accent)}.site-header{border-bottom:4px solid var(--color-main);padding-bottom:.4rem}.site-title{margin:.8rem 0 .5rem;font-size:1.2rem;font-weight:700;line-height:1.4}.site-title a{color:var(--color-main);text-decoration:none}main{min-height:50vh;padding-top:.5rem;padding-bottom:3rem}.site-footer{background:var(--color-soft);border-top:4px solid var(--color-main);padding:1.5rem 0}.notice{border:3px solid var(--color-main);background:var(--color-soft);border-radius:8px;padding:1rem}.photo{margin:0 0 1rem}.photo img{width:100%;display:block}@media (width>=60rem){.two-column{grid-template-columns:2fr 1fr;align-items:start;gap:2rem;display:grid}}.draft-banner{border:3px dashed var(--color-accent);padding:.6rem 1rem;font-weight:700}.course-label{color:var(--color-accent);margin:1rem 0 0;font-weight:700}.course-head h1{margin-top:.2em}.updated{border:3px solid var(--color-main);background:var(--color-soft);border-radius:8px;margin:0 0 1rem;padding:.8rem 1rem}.summary-table{border-collapse:collapse;width:100%;margin-bottom:1rem}.summary-table th,.summary-table td{text-align:left;vertical-align:top;border:2px solid var(--color-border);padding:.6rem .8rem}.summary-table th{background:var(--color-soft);width:7em;color:var(--color-main);white-space:nowrap}@media (width<=40rem){html:not([data-textsize=normal]) .summary-table tr{border:2px solid var(--color-border);margin-bottom:-2px;display:block}html:not([data-textsize=normal]) .summary-table th,html:not([data-textsize=normal]) .summary-table td{border:0;width:auto;padding:.3rem .8rem;display:block}html:not([data-textsize=normal]) .summary-table th{background:0 0;padding-bottom:0}}.pickup{padding-left:1.4em;font-weight:700}.route-list{margin:0 0 1rem;padding:0;list-style:none}.route-list li{border-bottom:2px solid var(--color-soft);align-items:baseline;gap:.6rem;padding:.4rem 0;display:flex}.route-mark{min-width:3.2em;color:var(--color-accent);flex:none;font-weight:700}.map-frame{border:3px dashed var(--color-main);background:var(--color-soft);text-align:center;border-radius:8px;justify-content:center;align-items:center;min-height:18rem;font-weight:700;display:flex}.course-body h2{margin-top:1.6em}.next-list{gap:.8rem;padding:0;list-style:none;display:grid}.next-list .btn{text-align:left;justify-content:flex-start;width:100%}.print-only{display:none}@page{size:A4;margin:12mm}@media print{html,html[data-textsize]{font-size:10.5pt}body{color:#000;line-height:1.5}.no-print,.textsize,.menu,.skip,.site-footer nav{display:none!important}.print-only{display:block}.container{max-width:none;padding:0}main{min-height:0;padding-bottom:0}.site-header{border-bottom:2px solid #000;padding-bottom:0}.site-title{margin:0 0 2mm;font-size:11pt}.site-footer{background:0 0;border-top:1px solid #000;padding:2mm 0 0}.site-footer p{margin:0;font-size:9pt}h1{margin:1mm 0 2mm;font-size:18pt}h2{border-left:2mm solid #000;margin:4mm 0 1.5mm;padding-left:2mm;font-size:13pt}h3{margin:3mm 0 1mm;font-size:11pt}p,ul,ol{margin:0 0 2mm}.course-label{color:#000;margin:0}.updated{background:0 0;border:1px solid #000;margin:0 0 2mm;padding:1.5mm 3mm;font-size:9.5pt}.draft-banner{display:none}.two-column{grid-template-columns:1fr 1fr;align-items:start;gap:6mm;display:grid}.summary-table{margin-bottom:2mm}.summary-table th,.summary-table td{border:1px solid #000;padding:1mm 2mm}.summary-table th{color:#000;background:0 0;width:6em}.route-list li{border-bottom:1px solid #999;padding:.5mm 0}.route-mark{color:#000}.map-frame{background:0 0;border:1px solid #000;min-height:55mm}.course-body h2{margin-top:3mm}.course-body p{margin-bottom:1.5mm}a{color:#000;text-decoration:none}.print-site{margin:3mm 0 0;font-size:9pt}section,table,li{break-inside:avoid}}
