@font-face{font-family:"BIZ UDPGothic";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/BIZUDPGothic-Regular.ttf") format("truetype");}
@font-face{font-family:"BIZ UDPGothic";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/BIZUDPGothic-Bold.ttf") format("truetype");}

:root{
  --bg:#ffffff; --band:#edf2ef; --panel:#ffffff; --panel2:#f6f8f7;
  --ink:#17231e; --ink2:#3f4e48; --muted:#66756e; --line:#d5dfda; --line2:#e6ece9;
  --accent:#1764c0; --accent-hover:#124e9a; --accent-ink:#ffffff; --accent-soft:#e8f0fc; --accent-text:#195aa5;
  --warn-bg:#fff5e3; --warn-line:#e6ae55; --warn-ink:#744606;
  --point-bg:#ebf3fb; --point-line:#8fb6dc; --point-ink:#1c4c7a;
  --ok-bg:#edf4ff; --ok-line:#99b8e3; --ok-ink:#224f95;
  --info-bg:#f3f5f9; --info-line:#cbd3df; --info-ink:#3b475b;
  --focus:#e39b00;
  --shadow:0 1px 2px rgba(18,40,31,.06),0 6px 18px rgba(18,40,31,.07);
  --r:12px;
  --hdr:124px;
  --font:"BIZ UDPGothic","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI",Meiryo,sans-serif;
  --display:var(--font);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#101522; --band:#172033; --panel:#192236; --panel2:#202b3d;
    --ink:#e3ebe7; --ink2:#bdc9c3; --muted:#8d9b94; --line:#36445e; --line2:#29344a;
    --accent:#83baff; --accent-hover:#a4ccff; --accent-ink:#08172b; --accent-soft:#1b3355; --accent-text:#9ac7ff;
    --warn-bg:#31250f; --warn-line:#8a6420; --warn-ink:#f3cf8e;
    --point-bg:#122738; --point-line:#2f5b83; --point-ink:#a8cbee;
    --ok-bg:#152844; --ok-line:#386394; --ok-ink:#a8caff;
    --info-bg:#1b2536; --info-line:#364459; --info-ink:#c7d1df;
    --shadow:0 1px 2px rgba(0,0,0,.3),0 6px 18px rgba(0,0,0,.25);
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#101522; --band:#172033; --panel:#192236; --panel2:#202b3d;
  --ink:#e3ebe7; --ink2:#bdc9c3; --muted:#8d9b94; --line:#36445e; --line2:#29344a;
  --accent:#83baff; --accent-hover:#a4ccff; --accent-ink:#08172b; --accent-soft:#1b3355; --accent-text:#9ac7ff;
  --warn-bg:#31250f; --warn-line:#8a6420; --warn-ink:#f3cf8e;
  --point-bg:#122738; --point-line:#2f5b83; --point-ink:#a8cbee;
  --ok-bg:#152844; --ok-line:#386394; --ok-ink:#a8caff;
  --info-bg:#1b2536; --info-line:#364459; --info-ink:#c7d1df;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 6px 18px rgba(0,0,0,.25);
}
html{font-size:100%;-webkit-text-size-adjust:100%}
html[data-fs="lg"]{font-size:115%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:1rem;line-height:1.8;letter-spacing:.01em}
*{box-sizing:border-box}
[hidden]{display:none!important}
img{max-width:100%}
a{color:var(--accent-text);text-underline-offset:3px}
a:hover{color:var(--accent-hover)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}
button{font:inherit;color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.6;text-wrap:balance;letter-spacing:.035em;margin:0}
p{margin:0}
.wrap{max-width:1160px;margin-inline:auto;padding-inline:16px}
.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:var(--accent-ink);padding:8px 14px;z-index:99}
.skip:focus{left:8px;top:8px}
.ico{width:1.25em;height:1.25em;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.22em}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* header */
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--bg);border-bottom:1px solid var(--line)}
.hdr-row{display:flex;align-items:center;gap:12px;min-height:60px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-width:0}
.brand-mark{width:36px;height:36px;border-radius:9px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;flex:none}
.brand-mark svg{width:22px;height:22px}
.brand-txt{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.brand-txt small{font-size:.72rem;color:var(--muted);letter-spacing:.08em}
.brand-txt b{font-family:var(--display);font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hdr-actions{margin-left:auto;display:flex;align-items:center;gap:10px}
.fs{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted)}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.seg button{border:0;background:transparent;padding:4px 11px;cursor:pointer;font-size:.8rem}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:9px 18px;border:1px solid transparent;text-decoration:none;cursor:pointer;font-weight:700;font-size:.92rem;line-height:1.3}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-primary:hover{background:var(--accent-hover);color:var(--accent-ink)}
.btn-ghost{background:var(--panel);border-color:var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent-text)}
.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:1 0 auto;text-align:center;padding:12px 14px 11px;text-decoration:none;color:var(--muted);border-bottom:3px solid transparent;font-size:.95rem;white-space:nowrap}
.tab:hover{color:var(--ink)}
.tab[aria-current="page"]{color:var(--ink);border-bottom-color:var(--accent);font-weight:700}
@media (max-width:640px){
  .fs-label,.hdr-contact span{display:none}
  .hdr-contact{padding:9px 12px}
  .tab{padding:10px 12px 9px;font-size:.9rem}
}

/* hero + search */
.hero{background:var(--band);border-bottom:1px solid var(--line2)}
.hero-in{padding-block:36px 30px;display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.hero h1{font-size:clamp(1.55rem,3.6vw,2.2rem);font-weight:700}
.hero .sub{color:var(--ink2);max-width:46em}
.search{display:flex;align-items:center;background:var(--panel);border:2px solid var(--ink);border-radius:999px;padding:4px 4px 4px 18px;max-width:760px;box-shadow:var(--shadow)}
.search:focus-within{border-color:var(--accent)}
.search input{flex:1;min-width:0;width:100%;border:0;background:transparent;font:inherit;font-size:1.02rem;padding:10px 6px;color:var(--ink);outline:none}
.search input::placeholder{color:var(--muted)}
.search button{border:0;background:var(--ink);color:var(--bg);border-radius:999px;display:flex;align-items:center;gap:6px;padding:11px 20px;cursor:pointer;font-weight:700;flex:none;white-space:nowrap}
@media (max-width:420px){.search{padding-left:14px}.search button{padding:11px 14px}}
.search button:hover{background:var(--accent)}
.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chips-label{font-size:.82rem;color:var(--muted);margin-right:2px}
.chip{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:5px 13px;font-size:.86rem;cursor:pointer;color:var(--ink2);text-decoration:none}
.chip:hover,.chip[aria-pressed="true"]{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}

/* sections */
.sec{padding-block:36px}
.sec + .sec{padding-top:8px}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.sec-h h2{font-size:1.35rem;font-weight:700}
.sec-h p{color:var(--muted);font-size:.9rem}
.more{font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:4px}

.ess{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ess a{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;padding:18px;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--ink);background:var(--panel)}
.ess a:hover{border-color:var(--accent)}
.ess .ess-ico{grid-row:span 2;width:44px;height:44px;border-radius:50%;background:var(--warn-bg);color:var(--warn-ink);display:grid;place-items:center}
.ess b{font-size:1.02rem;line-height:1.5}
.ess span{font-size:.88rem;color:var(--ink2);line-height:1.7}
@media (max-width:860px){.ess{grid-template-columns:1fr}}

/* phase flow */
.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:0;counter-reset:ph;position:relative}
.ph{position:relative;padding:0 10px 0 0;display:flex;flex-direction:column}
.ph-top{display:flex;align-items:center;gap:0;margin-bottom:12px}
.ph-num{width:36px;height:36px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-weight:700;font-family:var(--display);flex:none;font-variant-numeric:tabular-nums}
.ph-line{height:3px;background:var(--accent-soft);flex:1}
.ph:last-child .ph-line{background:transparent}
.ph-card{border:1px solid var(--line);border-radius:var(--r);padding:14px;background:var(--panel);flex:1;display:flex;flex-direction:column;gap:6px}
.ph-card h3{font-size:1.02rem}
.ph-dur{font-size:.8rem;color:var(--accent-text);font-weight:700}
.ph-card ul{margin:0;padding-left:1.1em;font-size:.86rem;color:var(--ink2);line-height:1.65}
.ph-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px}
.ph-links a{font-size:.8rem;border:1px solid var(--line);border-radius:6px;padding:2px 8px;text-decoration:none;color:var(--ink)}
.ph-links a:hover{border-color:var(--accent);color:var(--accent-text)}
@media (max-width:900px){
  .flow{grid-template-columns:1fr;gap:12px}
  .ph{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:0}
  .ph-top{flex-direction:column;margin:0;height:100%}
  .ph-line{width:3px;flex:1;height:auto;min-height:16px}
}
.side-paths{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.side-paths a{display:flex;align-items:center;gap:12px;border:1px dashed var(--line);border-radius:var(--r);padding:12px 16px;text-decoration:none;color:var(--ink);background:var(--panel)}
.side-paths a:hover{border-color:var(--accent);border-style:solid}
.side-paths small{display:block;color:var(--muted);font-size:.8rem}
@media (max-width:640px){.side-paths{grid-template-columns:1fr}}

/* tiles */
.tiles-band{background:var(--band);border-block:1px solid var(--line2)}
.tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:18px 8px 14px;border-radius:14px;background:var(--panel);border:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:.86rem;line-height:1.45;min-height:112px;box-shadow:0 1px 0 var(--line)}
.tile:hover{border-color:var(--accent);color:var(--accent-text)}
.tile .ico{width:30px;height:30px;color:var(--accent-text);stroke-width:1.5}
@media (max-width:980px){.tiles{grid-template-columns:repeat(4,1fr)}}
@media (max-width:640px){.tiles{grid-template-columns:repeat(3,1fr);gap:8px}.tile{min-height:98px;font-size:.78rem;padding:14px 4px 10px}.tile .ico{width:26px;height:26px}}

/* faq list */
.qa{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);overflow:hidden}
.qa + .qa{margin-top:10px}
.qa summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;padding:14px 16px;font-weight:700}
.qa summary::-webkit-details-marker{display:none}
.qa .qmark,.qa .amark{font-family:var(--display);font-weight:700;color:var(--accent-text);width:1.4em}
.qa .amark{color:var(--warn-ink)}
.qa summary .ico{transition:transform .2s;color:var(--muted);margin-top:.3em}
.qa[open] summary .ico{transform:rotate(90deg)}
.qa-body{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:0 16px 16px;border-top:1px dashed var(--line2);padding-top:12px;margin-inline:0}
.qa-body .a{display:grid;gap:10px}
.qa-cat{font-size:.74rem;color:var(--muted);font-weight:400;display:block;margin-bottom:2px}
.faq-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.faq-group + .faq-group{margin-top:28px}
.faq-group h2{font-size:1.1rem;margin-bottom:12px;display:flex;align-items:center;gap:8px}

/* contact band */
.contact-band{background:var(--ink);color:var(--bg)}
.contact-band .wrap{padding-block:30px;display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:center}
.contact-band h2{font-size:1.25rem}
.contact-band p{color:inherit;opacity:.82;font-size:.9rem;margin-top:6px}
@media (max-width:860px){.contact-band .wrap{grid-template-columns:1fr}}
.cbox{display:grid;gap:10px}
.cline{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:var(--panel);color:var(--ink);border-radius:10px;padding:10px 14px}
.cline .lbl{font-size:.78rem;color:var(--muted);width:4.5em}
.cline .val{font-weight:700;font-size:1.02rem;user-select:all;word-break:break-all}
.cline .btn{margin-left:auto;padding:6px 12px;font-size:.8rem}
.line-btn{background:#06c755;color:#fff}
.line-btn:hover{background:#05a94a;color:#fff}

/* page layout */
.crumb{font-size:.82rem;color:var(--muted);padding-block:14px 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.crumb a{color:var(--muted)}
.page{display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px;padding-block:18px 48px}
@media (max-width:1000px){.page{grid-template-columns:1fr;gap:0}.sidenav{display:none}}
.sidenav{position:sticky;top:calc(var(--hdr) + 12px);align-self:start;max-height:calc(100vh - var(--hdr) - 24px);overflow:auto}
.sidenav h2{font-size:.8rem;color:var(--muted);letter-spacing:.1em;margin:4px 0 10px;font-family:var(--font)}
.sidenav ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--line2)}
.sidenav a{display:flex;gap:8px;padding:7px 10px 7px 14px;margin-left:-2px;border-left:2px solid transparent;text-decoration:none;color:var(--ink2);font-size:.9rem;line-height:1.5}
.sidenav a:hover{color:var(--accent-text)}
.sidenav a[aria-current="page"]{border-left-color:var(--accent);color:var(--ink);font-weight:700;background:var(--accent-soft)}
.sidenav .no{width:1.2em;flex:none;color:var(--accent-text)}
.p-head{display:grid;gap:10px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.p-phase{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;color:var(--accent-text);font-weight:700}
.p-phase .no{font-family:var(--display);font-size:1.1rem}
.p-head h1{font-size:clamp(1.5rem,3.2vw,2rem);font-weight:700}
.p-head .lead{color:var(--ink2);max-width:44em}
.todo{margin-top:22px;border:2px solid var(--accent);border-radius:var(--r);padding:16px 18px;background:var(--panel)}
.todo h2{font-size:1rem;display:flex;align-items:center;gap:8px;margin-bottom:8px}
.todo h2 small{font-family:var(--font);font-weight:400;color:var(--muted);font-size:.76rem;margin-left:auto}
.todo ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.todo label{display:flex;gap:10px;align-items:flex-start;cursor:pointer;padding:4px 0}
.todo input{width:1.15em;height:1.15em;margin-top:.35em;accent-color:var(--accent);flex:none}
.todo input:checked + span{color:var(--muted);text-decoration:line-through}
.toc{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px}
.toc a{font-size:.84rem;border:1px solid var(--line);border-radius:999px;padding:4px 12px;text-decoration:none;color:var(--ink2);background:var(--panel)}
.toc a:hover{border-color:var(--accent);color:var(--accent-text)}
.psec{padding-top:34px;scroll-margin-top:calc(var(--hdr) + 12px)}
.psec > h2{font-size:1.3rem;font-weight:700;padding-left:14px;border-left:5px solid var(--accent);margin-bottom:16px}
.pbody{display:grid;gap:14px;max-width:48em}
.pbody ul,.pbody ol{margin:0;padding-left:1.4em;display:grid;gap:4px}
.pbody li ul{margin-top:4px}
.note{border:1px solid;border-radius:10px;padding:14px 16px;display:grid;gap:8px}
.note-h{display:flex;align-items:center;gap:8px;font-weight:700}
.note.warn{background:var(--warn-bg);border-color:var(--warn-line)}
.note.warn .note-h{color:var(--warn-ink)}
.note.point{background:var(--point-bg);border-color:var(--point-line)}
.note.point .note-h{color:var(--point-ink)}
.note.ok{background:var(--ok-bg);border-color:var(--ok-line)}
.note.ok .note-h{color:var(--ok-ink)}
.note.info,.note.submit{background:var(--info-bg);border-color:var(--info-line)}
.note.submit .note-h,.note.info .note-h{color:var(--info-ink)}
.note .pbody-in{display:grid;gap:8px}
.kv{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel)}
.kv > div{display:grid;grid-template-columns:minmax(8em,34%) 1fr;border-top:1px solid var(--line2)}
.kv > div:first-child{border-top:0}
.kv dt{background:var(--panel2);padding:10px 14px;font-weight:700;font-size:.92rem}
.kv dd{margin:0;padding:10px 14px;font-size:.95rem}
@media (max-width:560px){.kv > div{grid-template-columns:1fr}.kv dt{padding-bottom:4px}.kv dd{padding-top:6px}}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:st}
.steps > li{position:relative;padding:0 0 22px 50px;counter-increment:st}
.steps > li::before{content:counter(st);position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--bg);display:grid;place-items:center;font-weight:700;font-family:var(--display);font-variant-numeric:tabular-nums}
.steps > li::after{content:"";position:absolute;left:16px;top:38px;bottom:4px;width:2px;background:var(--line)}
.steps > li:last-child::after{display:none}
.steps > li:last-child{padding-bottom:0}
.steps h3{font-size:1.05rem;margin:4px 0 10px}
.steps .st-body{display:grid;gap:10px}
details.tg{border:1px solid var(--line);border-radius:10px;background:var(--panel)}
details.tg > summary{cursor:pointer;padding:11px 14px;font-weight:700;display:flex;gap:8px;align-items:center;list-style:none}
details.tg > summary::-webkit-details-marker{display:none}
details.tg > summary .ico{transition:transform .2s;color:var(--muted)}
details.tg[open] > summary .ico{transform:rotate(90deg)}
details.tg > .tg-body{padding:2px 16px 16px;display:grid;gap:10px}
.tel{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:var(--panel)}
.tel b{font-size:.9rem}
.tel .num{font-size:1.1rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.tel small{color:var(--muted);font-size:.8rem;width:100%}
.mail{border:1px solid var(--line);border-radius:10px;padding:10px 14px;display:grid;grid-template-columns:auto 1fr;gap:2px 12px;font-size:.9rem;background:var(--panel)}
.mail .ico{grid-row:span 3;color:var(--muted);margin-top:.2em}
.mail .s{font-weight:700}
.mail .m{color:var(--ink2);font-size:.84rem}
.file{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:var(--panel);font-size:.92rem}
.file .ico{color:var(--accent-text)}
.file small{margin-left:auto;color:var(--muted);font-size:.76rem}
.xlink{display:inline-flex;align-items:center;gap:8px;justify-self:start;border:1px solid var(--accent);color:var(--accent-text);border-radius:8px;padding:8px 14px;text-decoration:none;font-weight:700;font-size:.92rem;background:var(--panel)}
.xlink:hover{background:var(--accent-soft)}
.img-ph{border:1px dashed var(--line);border-radius:10px;padding:14px;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.84rem;background:var(--panel2)}
.fig{margin:0;display:grid;gap:6px}.fig img{border:1px solid var(--line);border-radius:10px;background:#fff}.fig figcaption{font-size:.8rem;color:var(--muted)}
a.file{text-decoration:none;color:var(--ink)}a.file:hover{border-color:var(--accent)}
.ex{border-left:4px solid var(--line);padding:10px 14px;background:var(--panel2);border-radius:0 8px 8px 0;font-size:.92rem;color:var(--ink2)}
.ex::before{content:"例文";display:block;font-size:.74rem;color:var(--muted);font-weight:700;margin-bottom:4px}
.err{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.err-h{background:var(--warn-bg);padding:10px 14px;font-weight:700;display:flex;gap:8px;color:var(--warn-ink)}
.err-b{padding:10px 14px}
.err-b ul{margin:0;padding-left:1.2em}
.contact-inline{border:1px solid var(--line);border-radius:10px;padding:14px;display:grid;gap:10px;background:var(--panel2)}
.contact-inline .cline{border:1px solid var(--line2)}
.rel{margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}
.rel h2{font-size:1.1rem;margin-bottom:12px}
.pn{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pn a{border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;text-decoration:none;color:var(--ink);display:grid;gap:2px;background:var(--panel)}
.pn a:hover{border-color:var(--accent)}
.pn small{color:var(--muted);font-size:.78rem}
.pn .next{text-align:right}
@media (max-width:560px){.pn{grid-template-columns:1fr}.pn .next{text-align:left}}

/* search results */
.results{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.res{border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}
.res a{display:grid;gap:6px;padding:14px 16px;text-decoration:none;color:var(--ink)}
.res a:hover{background:var(--panel2)}
.res .where{font-size:.78rem;color:var(--accent-text);font-weight:700;display:flex;gap:8px;align-items:center}
.res .where .kind{border:1px solid var(--line);border-radius:4px;padding:0 6px;color:var(--muted);font-weight:400}
.res h3{font-size:1.02rem}
.res p{font-size:.9rem;color:var(--ink2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.engine{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 10px}
.engine i{width:7px;height:7px;border-radius:50%;background:var(--muted);display:inline-block}
.engine.on i{background:var(--accent)}
.res-group + .res-group{margin-top:26px}
.res-group h2{font-size:1rem;margin-bottom:10px;color:var(--ink2)}
.empty{border:1px dashed var(--line);border-radius:var(--r);padding:20px;display:grid;gap:12px}

/* floating */
.fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;display:flex;gap:8px;align-items:flex-end}
.fab button{border:0;border-radius:14px;background:var(--ink);color:var(--bg);display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 12px;font-size:.72rem;cursor:pointer;box-shadow:var(--shadow);min-width:64px}
.fab .chat-open{background:var(--accent);color:var(--accent-ink);padding:10px 16px}
.fab .chat-open .ico{width:24px;height:24px}
.fab button:hover{filter:brightness(1.08)}

/* chat */
.chat{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:min(400px,calc(100vw - 32px));height:min(620px,calc(100vh - 110px));z-index:50;background:var(--bg);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.22);display:flex;flex-direction:column;overflow:hidden}
@media (max-width:560px){.chat{right:0;left:0;bottom:0;width:100%;height:calc(100% - 40px);border-radius:16px 16px 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}}
.chat-h{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--accent);color:var(--accent-ink)}
.chat-h b{font-family:var(--display);font-size:1rem}
.chat-h small{display:block;font-size:.72rem;opacity:.85}
.chat-h button{margin-left:auto;border:0;background:transparent;color:inherit;cursor:pointer;padding:6px;border-radius:8px}
.chat-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:12px;background:var(--panel2)}
.msg{max-width:88%;border-radius:14px;padding:10px 13px;font-size:.92rem;line-height:1.7;display:grid;gap:8px}
.msg.bot{background:var(--panel);border:1px solid var(--line);border-top-left-radius:4px;align-self:flex-start}
.msg.me{background:var(--ink);color:var(--bg);border-top-right-radius:4px;align-self:flex-end}
.msg .ans-q{font-weight:700;color:var(--accent-text)}
.msg .ans-src{font-size:.76rem;color:var(--muted)}
.msg .acts{display:flex;flex-wrap:wrap;gap:6px}
.msg .acts a,.msg .acts button{font-size:.8rem;border:1px solid var(--accent);color:var(--accent-text);border-radius:999px;padding:4px 11px;text-decoration:none;background:transparent;cursor:pointer}
.msg .acts a:hover,.msg .acts button:hover{background:var(--accent-soft)}
.msg .sugg{display:grid;gap:6px}
.msg .sugg button{text-align:left;border:1px solid var(--line);background:var(--panel2);border-radius:8px;padding:7px 10px;cursor:pointer;font-size:.86rem;line-height:1.5}
.msg .sugg button:hover{border-color:var(--accent)}
.msg .handoff{border-top:1px dashed var(--line);padding-top:8px;display:grid;gap:6px;font-size:.84rem}
.msg .handoff .val{font-weight:700;user-select:all}
.typing{display:inline-flex;gap:4px;padding:4px 2px}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:blink 1.2s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
.chat-quick{display:flex;gap:6px;overflow-x:auto;padding:8px 12px 0;background:var(--bg);scrollbar-width:thin}
.chat-quick .chip{flex:none;font-size:.78rem;padding:4px 10px}
.chat-f{display:flex;gap:8px;padding:10px 12px 8px;background:var(--bg)}
.chat-f textarea{flex:1;resize:none;border:1px solid var(--line);border-radius:12px;padding:9px 12px;font:inherit;font-size:.95rem;background:var(--panel);color:var(--ink);height:44px;line-height:1.5}
.chat-f textarea:focus{outline:2px solid var(--accent);border-color:transparent}
.chat-f button{border:0;background:var(--accent);color:var(--accent-ink);border-radius:12px;width:48px;display:grid;place-items:center;cursor:pointer}
.chat-note{font-size:.7rem;color:var(--muted);padding:0 14px 10px;background:var(--bg);line-height:1.5}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.foot{border-top:1px solid var(--line);padding-block:22px 90px;font-size:.8rem;color:var(--muted)}
.foot .wrap{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between}
.proto{background:var(--warn-bg);color:var(--warn-ink);font-size:.8rem;text-align:center;padding:6px 16px;border-bottom:1px solid var(--warn-line)}

/* Shibuya-inspired portal: open white header, clear tabs, soft gray icon grid. */
:root{--band:#e9eaf0;--ink:#202126;--ink2:#4c4d57;--muted:#6b6d78;--line:#d9dbe2;--line2:#e9eaf0;--panel2:#f7f8fa;--icon-blue:#3485b6;--icon-amber:#ad7a24;--icon-red:#b45f78;--icon-violet:#6863a9;--icon-secondary-blue:#326dba;--shadow:0 2px 0 rgba(32,33,38,.13);--r:16px}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--band:#20232c;--ink:#eef0f6;--ink2:#c8cad5;--muted:#a8acbb;--line:#414553;--line2:#313541;--panel2:#212630;--icon-blue:#7ac3ea;--icon-amber:#e7b667;--icon-red:#e59bb5;--icon-violet:#b0aaf0;--icon-secondary-blue:#89b7f2}}
:root[data-theme="dark"]{--band:#20232c;--ink:#eef0f6;--ink2:#c8cad5;--muted:#a8acbb;--line:#414553;--line2:#313541;--panel2:#212630;--icon-blue:#7ac3ea;--icon-amber:#e7b667;--icon-red:#e59bb5;--icon-violet:#b0aaf0;--icon-secondary-blue:#89b7f2}
.wrap{max-width:1224px;padding-inline:28px}
.utility{background:var(--ink);color:var(--bg);font-size:.75rem;letter-spacing:.06em}
.utility .wrap{min-height:30px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.utility a{color:inherit;text-decoration:none;display:flex;gap:6px;align-items:center}
.hdr-row{min-height:94px;gap:24px}.brand{gap:17px}.brand-mark{display:inline-flex;line-height:1;white-space:nowrap;width:auto;height:auto;border-radius:0;background:none;color:var(--accent);font-size:2.35rem;font-weight:700;letter-spacing:-.055em;font-family:Arial,sans-serif}.brand-mark span{color:var(--ink)}
.brand-txt{border-left:1px solid var(--line);padding-left:17px;gap:6px}.brand-txt small{font-size:.75rem;letter-spacing:.11em}.brand-txt b{font-size:1.03rem}.hdr-actions{gap:24px}.fs,.seg button{font-size:.875rem}.hdr-contact{font-size:.875rem;border-color:var(--ink);padding:12px 18px}
.tabs{gap:0;padding-inline:0;max-width:1168px}.tab{flex:1 1 25%;padding:16px 10px;font-size:1rem;border-bottom-width:4px;position:relative;color:var(--muted)}.tab[aria-current="page"]{border-bottom-color:var(--ink)}.tab+.tab::before{content:"";position:absolute;left:0;top:19px;width:1px;height:20px;background:var(--line)}
.hero{background:var(--bg);border:0}.hero-in{padding-block:32px 30px;gap:14px;justify-items:center;text-align:center}.hero h1{font-size:clamp(1.65rem,3vw,2.1rem);letter-spacing:.08em}.hero .sub{font-size:.9375rem}.search{width:100%;max-width:770px;box-shadow:none;border:2px solid var(--ink);padding:5px 5px 5px 22px}.search input{padding-block:12px;font-size:1rem}.search button{padding:13px 23px}.chips{justify-content:center;gap:8px}.chips-label{font-size:.8125rem}.chip{font-size:.875rem;padding:5px 12px}.hero .chip{border:0;background:var(--panel2);padding:4px 11px}.hero .chips-label{margin-right:5px}
.sec{padding-block:45px}.sec+.sec{padding-top:18px}.sec-h{margin-bottom:24px}.sec-h h2{font-size:1.5rem;letter-spacing:.065em}.sec-h p{font-size:.875rem;margin-top:5px}.more{font-size:.875rem;color:var(--ink)}
.tiles-band{border:0}.tiles-band .sec{padding-block:30px 36px}.tiles-band .sec-h{margin-bottom:22px}.tiles-band h2{font-size:1.2rem}.tiles{gap:18px}.tile{border:1px solid transparent;border-bottom-color:var(--line);min-height:139px;border-radius:18px;gap:16px;padding:22px 10px 18px;font-size:.875rem;font-weight:700;box-shadow:0 2px 0 var(--line);transition:transform .18s,border-color .18s}.tile:hover{transform:translateY(-3px);border-color:var(--accent);background:var(--panel)}.tile .ico{width:39px;height:39px;stroke-width:1.45;color:var(--icon-blue)}.tile:nth-child(5n+2) .ico{color:var(--icon-amber)}.tile:nth-child(5n+3) .ico{color:var(--icon-violet)}.tile:nth-child(5n+4) .ico{color:var(--icon-secondary-blue)}.tile:nth-child(5n+5) .ico{color:var(--icon-red)}
.ess{gap:20px}.ess a{padding:22px 18px;background:var(--panel2);border:0;gap:9px 14px;border-radius:12px}.ess .ess-ico{background:var(--panel);color:var(--accent);width:42px;height:42px}.ess b{font-size:1rem}.ess span{font-size:.875rem}
.flow{gap:12px}.ph{padding:0}.ph-card{border-radius:12px;padding:18px 14px;gap:9px}.ph-num{width:32px;height:32px;font-size:.875rem;background:var(--ink);color:var(--bg)}.ph-line{height:1px;background:var(--line)}.ph-dur{font-size:.875rem}.ph-card ul,.ph-links a{font-size:.875rem}.ph-card h3{font-size:1.06rem}.ph-links a{border-radius:5px;padding:4px 7px}.side-paths a{border-style:solid;background:var(--panel2);padding:16px}.side-paths small{font-size:.875rem}
.qa{border:0;border-bottom:1px solid var(--line);border-radius:0}.qa+.qa{margin:0}.qa summary{padding:20px 4px;gap:17px;font-size:1rem}.qa .qmark{font-size:1.15rem;color:var(--accent)}.qa-body{padding:18px 4px 22px;border:0;background:var(--panel2)}.qa-cat{font-size:.8125rem;margin-bottom:7px}.qa[open] summary{color:var(--accent)}
.contact-band{background:var(--panel2);color:var(--ink);border-top:1px solid var(--line2)}.contact-band .wrap{padding-block:38px;gap:44px}.contact-band h2{font-size:1.4rem}.contact-band p{font-size:.9375rem;opacity:1;color:var(--ink2)}.cline{border:1px solid var(--line);padding:14px}.cline .lbl,.cline .btn{font-size:.875rem}
.foot{padding-block:24px 92px}.foot .wrap{font-size:.8125rem}.fab{gap:8px;right:24px;bottom:24px}.fab button{border-radius:16px;font-size:.75rem;padding:12px;min-width:68px}.fab .chat-open{background:var(--ink);color:var(--bg);padding:12px 18px}.fab .chat-open .ico{margin-bottom:3px}.p-head{padding-block:10px 26px}.p-head h1{font-size:2rem}.page{gap:48px}.sidenav a{font-size:.9375rem;padding-block:10px}.toc a{font-size:.875rem}.todo h2 small{font-size:.8125rem}.psec{padding-top:42px}.psec>h2{font-size:1.4rem}.chat-note{font-size:.8125rem}.chat-h small,.msg .ans-src{font-size:.8125rem}.chat-f textarea{min-width:0}.asset-link{font-size:.875rem;border:1px solid var(--line);border-radius:10px;padding:14px;display:flex;gap:10px;align-items:center;text-decoration:none;background:var(--panel2)}.source-link{font-size:.875rem;display:inline-flex;gap:8px;align-items:center;justify-self:start}.file small{font-size:.8125rem}
@media(max-width:1000px){.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}.hdr-actions{gap:12px}.flow{gap:16px}.ph{grid-template-columns:32px 1fr}.ph-card{padding:18px}.ph-top{margin:0}.ph-line{width:1px;min-height:16px}.page{gap:0}}
@media(max-width:640px){.wrap{padding-inline:18px}.utility .wrap{font-size:.75rem;min-height:27px}.utility .utility-label{display:none}.utility .wrap{justify-content:flex-end}.hdr-row{min-height:76px;gap:10px}.brand{gap:10px}.brand-mark{font-size:1.75rem}.brand-txt{gap:4px;padding-left:10px}.brand-txt b{font-size:.875rem;white-space:normal;line-height:1.35}.brand-txt small{font-size:.65rem}.hdr-actions .fs{display:none}.hdr-contact{padding:9px;border:0}.hdr-contact .ico{width:22px;height:22px}.tabs{padding:0}.tab{padding:12px 4px 10px;font-size:.875rem}.tab+.tab::before{top:13px;height:18px}.hero-in{padding-block:26px 24px;gap:15px}.hero h1{font-size:1.55rem;letter-spacing:.015em}.hero .sub{font-size:.875rem;max-width:23em}.search{padding-left:14px}.search input{font-size:.875rem;padding-block:10px}.search button{padding:11px 13px}.hero .chips{gap:6px}.hero .chip{font-size:.8125rem;padding:4px 8px}.hero .chips-label{display:none}.tiles-band .sec{padding-block:24px 28px}.tiles-band .sec-h{margin-bottom:18px}.sec-h h2{font-size:1.3rem}.tiles-band h2{font-size:1.15rem}.tiles-band .sec-h p{display:none}.tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tile{min-height:122px;font-size:.875rem;padding:17px 5px 14px;gap:12px;border-radius:13px;line-height:1.55}.tile .ico{width:32px;height:32px}.sec{padding-block:32px}.sec-h{gap:10px;margin-bottom:18px}.ess{gap:10px}.ess a{padding:18px 14px}.ess b{font-size:.9375rem}.contact-band .wrap{gap:22px;padding-block:30px}.p-head h1{font-size:1.65rem}.todo{padding:16px 14px}.todo h2{flex-wrap:wrap}.todo h2 small{margin-left:0;width:100%}.psec>h2{font-size:1.2rem}.fab{right:12px;bottom:12px}.fab button{padding:10px;min-width:58px}.fab .chat-open{padding:10px 14px}.ph-card ul{font-size:.9375rem}}


/* Official GenUp artwork, preserved as supplied by gen-up.net. */
.brand-mark{display:flex;align-items:center;font-size:inherit;line-height:1;letter-spacing:normal;flex-shrink:0}
.brand-mark .brand-logo{display:block;width:144px;height:auto;max-width:none}
.brand-mark .brand-logo-light{display:none}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .brand-logo-dark{display:none}:root:not([data-theme="light"]) .brand-logo-light{display:block}}
:root[data-theme="dark"] .brand-logo-dark{display:none}:root[data-theme="dark"] .brand-logo-light{display:block}
@media(max-width:640px){.brand-mark .brand-logo{width:106px}}

/* Readable type scale, aligned with the Shibuya reference navigation. */
body{font-size:1.125rem;line-height:1.8}
.tab{font-size:1.25rem;min-width:0;min-height:68px;display:flex;align-items:center;justify-content:center;line-height:1.5;white-space:normal;text-wrap:balance;cursor:pointer}
.tab:hover{background:var(--panel2);color:var(--accent-text)}
.tab span{word-break:keep-all;overflow-wrap:normal}
.tab[aria-current="page"]{border-bottom-color:var(--accent);color:var(--accent-text)}
.tab+.tab::before{top:24px}
.hero h1{font-size:2.5rem;letter-spacing:.035em}.hero .sub,.search input,.search button{font-size:1.125rem}
.sec-h h2,.tiles-band h2{font-size:2.125rem;font-weight:700}
.p-head h1{font-size:2.5rem}.psec>h2,.contact-band h2{font-size:1.875rem}
.tile{font-size:1.125rem;min-height:156px;line-height:1.6;padding-inline:12px}
.ess b,.ph-card h3,.todo h2,.res h3,.steps h3{font-size:1.25rem}
.ess span,.ph-card ul,.ph-links a,.contact-band p,.qa summary,.qa-body,.toc a,.kv dt,.kv dd,.mail,.mail .m,.file,.xlink,.ex,.res p,.asset-link{font-size:1.125rem}
.chip,.hero .chip,.sec-h p,.more,.ph-dur,.side-paths small,.sidenav a,.source-link,.cline .lbl,.cline .btn,.hdr-contact{font-size:1rem}
.chips-label,.qa-cat,.todo h2 small,.file small,.chat-note,.chat-h small,.msg .ans-src,.crumb,.p-phase,.res .where,.engine,.tel small,.pn small,.foot .wrap{font-size:.875rem}
.msg,.chat-f textarea{font-size:1rem}.chat-quick .chip{font-size:.875rem}.fab button{font-size:.875rem}
.pbody,.p-head .lead,.qa-body{line-height:1.9}
@media(min-width:1001px) and (max-width:1200px){.flow{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:24px}}
@media(max-width:640px){
  body{font-size:1rem;line-height:1.85}
  .tab{font-size:1rem;flex:1 1 0;padding:10px 5px;min-height:68px}
  .tab+.tab::before{top:24px}
  .brand-txt small{font-size:.75rem;letter-spacing:.04em}
  .hero h1{font-size:1.875rem}.hero .sub,.search input,.search button{font-size:1rem}
  .sec-h h2,.tiles-band h2{font-size:1.625rem}.p-head h1{font-size:2rem}
  .psec>h2,.contact-band h2{font-size:1.5rem}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .tile{font-size:1rem;min-height:136px;padding:18px 10px;line-height:1.65}
  .ess b,.ph-card h3,.todo h2,.res h3,.steps h3{font-size:1.125rem}
  .ess span,.ph-card ul,.ph-links a,.contact-band p,.qa summary,.qa-body,.toc a,.kv dt,.kv dd,.mail,.mail .m,.file,.xlink,.ex,.res p,.asset-link,.hero .chip{font-size:1rem}
  .search{padding-left:10px}.search input{padding-inline:2px}.search button{padding-inline:12px}
  .hero .chip{padding:6px 10px}.fab button{font-size:.8125rem}
}

/* Give navigation labels room and wrap them at meaningful phrase boundaries. */
.wrap{max-width:1360px;padding-inline:20px}
.tabs{max-width:1320px;padding-inline:0;width:calc(100% - 40px)}
.tiles{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.tile{min-width:0;padding-inline:8px}
.tile-label{display:block;max-width:100%;text-wrap:balance}
.tile-label-part{display:inline-block;max-width:100%;word-break:keep-all;overflow-wrap:anywhere}
@media(max-width:1159px){.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:860px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){
  .wrap{padding-inline:14px}
  .tabs{width:calc(100% - 28px);padding-inline:0}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
@media(max-width:359px){.tiles{gap:10px}.tile{padding-inline:6px}}

/* Static presentation rules extracted from the original markup. */
.asset-style-1{width:26px !important;height:26px !important}
.asset-style-2{font-size:.88rem !important}
.asset-style-3{margin-bottom:18px !important}
.asset-style-4{max-width:820px !important}
.asset-style-5{margin-top:22px !important}
.asset-style-6{font-size:1.1rem !important;margin-top:18px !important}
.asset-style-7{font-size:.88rem !important;color:var(--muted) !important}
.asset-style-8{max-width:900px !important}
.asset-style-9{margin-bottom:22px !important}
.asset-style-10{color:var(--muted) !important}
.asset-style-11{color:var(--muted) !important;font-size:.78rem !important}
.asset-style-12{font-size:.84rem !important;color:var(--muted) !important}
.asset-style-13{font-size:.86rem !important}


/* GUGA case-study resource */
.ai-resource-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);align-items:center;gap:32px;padding:28px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}
.ai-resource-image{min-width:0}
.ai-resource-image img{display:block;width:100%;height:auto;border-radius:10px}
.ai-resource-body{min-width:0}
.ai-resource-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px;color:var(--muted);font-size:.8rem}
.ai-resource-badge{display:inline-flex;padding:3px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent-text);font-weight:700}
.ai-resource-body h3{font-size:clamp(1.12rem,2vw,1.4rem);line-height:1.65;margin-bottom:12px;text-wrap:initial}
.ai-resource-body p{font-size:.92rem;line-height:1.9;color:var(--ink2)}
.ai-resource-link{margin-top:20px;min-height:44px}
.ai-resource-provider{display:block;margin-top:12px;font-size:.72rem;line-height:1.7;color:var(--muted)}
@media(max-width:760px){.ai-resource-card{grid-template-columns:minmax(0,1fr);gap:22px;padding:22px}.ai-resource-image{width:100%;max-width:480px;margin-inline:auto}.ai-resource-body h3{font-size:1.2rem}}
@media(max-width:420px){.ai-resource-card{padding:18px;gap:20px}.ai-resource-link{width:100%;padding-inline:12px}}

/* ---------- サイドナビ：アコーディオン（第二階層＝ページ内の項目） ---------- */
.sidenav .nav-row{display:flex;align-items:stretch}
.sidenav .nav-row>a{flex:1;min-width:0}
.sidenav .is-current>.nav-row{background:var(--accent-soft)}
.sidenav .nav-tg{flex:none;width:34px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center}
.sidenav .nav-tg:hover{color:var(--accent-text);background:rgba(23,100,192,.08)}
.sidenav .nav-tg:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}
.sidenav .nav-tg .ico{width:1.05em;height:1.05em;transition:transform .2s}
.sidenav .nav-tg[aria-expanded="true"] .ico{transform:rotate(90deg)}
.sidenav ol.sub{border-left:0;margin:4px 0 10px;padding:0 0 0 24px}
.sidenav ol.sub[hidden]{display:none}
.sidenav .sub a{display:block;margin-left:0;padding:5px 8px 5px 14px;border-left:2px solid var(--line2);font-size:.8125rem;line-height:1.6;color:var(--muted)}
.sidenav .sub a:hover{color:var(--accent-text);border-left-color:var(--accent-text)}
.sidenav .sub a[aria-current="location"]{color:var(--accent-text);font-weight:700;border-left-color:var(--accent)}
/* ページ内リンク（目次チップ）を廃止した分の余白 */
.todo{margin-bottom:32px}
@media (prefers-reduced-motion:reduce){.sidenav .nav-tg .ico{transition:none}}
/* 改行調整：受講者様からの直接のご連絡〜の案内文を読点ごとのまとまりで折り返す */
.jp-ph{word-break:auto-phrase}
.jp-ph>span{display:inline-block}
/* 改行調整：お問い合わせ欄の「公式LINE」ラベルを1行に */
.cline .lbl{white-space:nowrap;flex:none;width:auto;min-width:4.5em}
/* 締切・期限に関わる日付・日程（main.js の markDue で自動付与） */
.due{color:#c62828;font-weight:700}
.todo input:checked + span .due{color:inherit}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .due{color:#ff8a80}}
:root[data-theme="dark"] .due{color:#ff8a80}
