.buchi-roadmap-page main.buchi-container{max-width:1240px;padding:38px 28px 80px}
.brm{--brm-ink:#153457;--brm-text:#293b4e;--brm-muted:#576b7e;--brm-line:#dbe4ea;--brm-blue:#eaf2f6;--brm-accent:#bb641a;color:var(--brm-text);font-family:"Noto Sans JP",system-ui,sans-serif;font-size:16px;line-height:1.9;text-align:left;overflow-wrap:anywhere}
.brm,.brm *{box-sizing:border-box}.brm :where(h1,h2,h3,p,ol,ul,figure){margin:0}.brm a{color:var(--brm-ink)}.brm a:focus-visible,.brm summary:focus-visible,.brm input:focus-visible{outline:3px solid #ba681e;outline-offset:5px}.brm [hidden]{display:none!important}
.brm-breadcrumb{font-size:12px;color:var(--brm-muted);margin-bottom:28px;display:flex;flex-wrap:wrap;gap:9px}.brm-breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.brm-hero{display:grid;grid-template-columns:1fr 260px;align-items:center;gap:50px;background:#edf3f6;border:1px solid #dee8ee;border-radius:24px;padding:48px 46px;position:relative;overflow:hidden;margin-bottom:48px}.brm-hero:before{content:"";position:absolute;left:0;top:42px;width:5px;height:64px;background:#d17b38}.brm-eyebrow{font:600 11px/1.6 system-ui,sans-serif;letter-spacing:.16em;color:#597386;margin-bottom:14px}.brm h1{font-family:"Noto Serif JP","Yu Mincho",serif;font-size:clamp(30px,3.4vw,44px);line-height:1.45;font-weight:700;letter-spacing:.02em;color:var(--brm-ink);margin:0 0 20px;border:0;padding:0}.brm-lead{font-size:15px;line-height:2;max-width:620px;color:var(--brm-muted)}
.brm-route{border-left:1px solid #b5cbd8;padding-left:24px;display:grid;gap:26px;color:#36516a;font-size:13px}.brm-route span{position:relative}.brm-route span:before{content:"";position:absolute;left:-29px;top:8px;width:9px;height:9px;background:#f5f8fa;border:2px solid #758fa4;border-radius:50%}.brm-route span:last-child:before{background:#c97635;border-color:#c97635}.brm-phase-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.brm-phase-links a{padding:9px 18px;border:1px solid #153457;border-radius:7px;background:#153457;color:#fff;font-size:13px;text-decoration:none}.brm-phase-links a+ a{background:transparent;color:#153457}.brm-phase-links span{margin-left:16px}.brm-readtime{font-size:12px;color:#597386;margin-top:20px}
.brm-start{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.brm-start h2{font-size:23px;font-weight:600;color:var(--brm-ink);line-height:1.6;padding:0;border:0}.brm-search{display:grid;gap:7px;flex-shrink:0;font-size:12px;color:var(--brm-muted)}.brm-search input{width:260px;max-width:100%;background:#fff;border:1px solid #b9cbd7;border-radius:8px;padding:11px 14px;font:inherit;font-size:14px;color:var(--brm-ink)}.brm-search-result{font-size:13px;color:var(--brm-muted)}
.brm-stage{margin:34px 0 52px;scroll-margin-top:100px}.brm-stage-heading{display:flex;gap:18px;align-items:center;margin-bottom:22px}.brm-stage-heading>span{font:400 42px/1 Georgia,serif;color:#9aafbd}.brm-stage-heading h2{font-size:24px;line-height:1.5;color:var(--brm-ink);padding:0;border:0}.brm-stage-heading p{font-size:13px;color:var(--brm-muted);margin-top:3px}.brm-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.brm-card{position:relative;border:1px solid var(--brm-line);border-radius:13px;background:#fff;padding:26px 25px 20px;display:flex;flex-direction:column;box-shadow:0 4px 14px #15345705;transition:border-color .16s,box-shadow .16s}.brm-card:hover{border-color:#7f9cae;box-shadow:0 5px 18px #1534570a}.brm-card-number{font:500 12px/1.5 system-ui,sans-serif;color:#ad601e;margin-bottom:15px;letter-spacing:.12em}.brm-card h3{font-size:19px;line-height:1.5;color:var(--brm-ink);padding:0;margin:0 0 12px}.brm-card h3 a{text-decoration:none}.brm-card h3 a:after{content:"";position:absolute;inset:0;border-radius:13px}.brm-card p{font-size:13px;line-height:1.9;color:var(--brm-muted);margin-bottom:22px;flex:1}.brm-card-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--brm-muted);padding-top:14px;border-top:1px solid #edf1f4}.brm-card-meta span{font-size:19px;line-height:1}
.brm-reading{display:grid;grid-template-columns:245px minmax(0,1fr);gap:55px;align-items:start}.brm-reading>aside{position:sticky;top:100px;max-height:calc(100vh - 130px);overflow:auto;padding-right:5px}.brm-toc{border:1px solid var(--brm-line);border-radius:12px;padding:18px;background:#fafcfd;font-size:12px}.brm-toc summary{font-weight:700;cursor:pointer;color:var(--brm-ink);font-size:13px;list-style:revert}.brm-toc ol{padding:12px 0 0;list-style:none}.brm-toc li{margin:5px 0}.brm-toc a{display:block;padding:7px 9px;line-height:1.65;text-decoration:none;border-radius:5px;color:#5b6f80}.brm-toc a:hover,.brm-toc a[aria-current]{background:#e7eff4;color:#163856}.brm-all{display:block;font-size:12px;margin-top:17px;text-decoration:none}.brm-prose{min-width:0;max-width:780px}.brm-prose h2,.brm-body .wp-block-details h2{font-size:24px;line-height:1.6;color:var(--brm-ink);border:0;border-bottom:1px solid #d9e4eb;padding:0 0 14px;margin:55px 0 24px;scroll-margin-top:100px}.brm-prose>h2:first-child{margin-top:0}.brm-prose h3{font-size:19px;line-height:1.7;margin:30px 0 14px;color:#254968}.brm-prose h4{font-size:17px;line-height:1.7;margin:24px 0 12px;color:#254968}.brm-prose p,.brm-body .wp-block-details p{color:var(--brm-text);font-size:15px;line-height:2.05;margin:0 0 18px}.brm-prose ul,.brm-prose ol,.brm-body .wp-block-details ul,.brm-body .wp-block-details ol{padding-left:1.5em;margin:18px 0 26px;list-style:revert}.brm-prose li{padding-left:4px;margin-bottom:9px;font-size:15px;line-height:1.9}.brm-prose a,.brm-body .wp-block-details a{color:#176289;text-decoration:underline;text-underline-offset:4px}.brm-prose strong{font-weight:650;color:#193c58}
.brm .brm-table{overflow-x:auto;border:1px solid var(--brm-line);border-radius:10px;margin:24px 0 28px;background:#fff;max-width:100%}.brm .brm-table table{border-collapse:collapse;table-layout:auto;width:100%;min-width:520px;font-size:13px;line-height:1.8;margin:0}.brm .brm-table th,.brm .brm-table td{padding:14px 16px;border:0;border-bottom:1px solid #dfe7ed;border-right:1px solid #e9eef1;vertical-align:top;min-width:100px;overflow-wrap:normal;word-break:normal}.brm .brm-table th{background:#e9f0f4;color:#153457;font-weight:650;text-align:left}.brm .brm-table tr:nth-child(odd) td{background:#fafbfc}.brm .brm-table a{word-break:break-word}.brm .brm-table:focus-visible{outline:3px solid #c47736;outline-offset:4px}.brm-body>.wp-block-details{border-top:1px solid var(--brm-line);padding-top:25px;margin-top:30px}.brm-body>.wp-block-details>summary{cursor:pointer;font-size:15px;font-weight:600;color:var(--brm-ink)}
.brm-next{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:55px 0 0;padding-top:25px;border-top:1px solid var(--brm-line)}.brm-next a{padding:22px 26px;background:#f0f5f7;border-radius:10px;display:grid;gap:8px;text-decoration:none}.brm-next small{color:var(--brm-muted);font-size:11px}.brm-next span{font-size:16px;line-height:1.7}.brm-source-note{margin-top:48px;padding-top:22px;border-top:1px solid var(--brm-line);font-size:12px;line-height:1.9;color:var(--brm-muted)}
@media(max-width:960px){.brm-hero{grid-template-columns:1fr;padding:34px;gap:28px}.brm-route{display:none}.brm-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.brm-reading{grid-template-columns:205px minmax(0,1fr);gap:30px}}
@media(max-width:680px){.buchi-roadmap-page main.buchi-container{padding:24px 18px 60px}.brm-breadcrumb{font-size:11px;margin-bottom:20px}.brm-hero{padding:29px 24px;border-radius:16px;margin-bottom:32px}.brm h1{font-size:30px;line-height:1.5}.brm-lead{font-size:14px}.brm-eyebrow{font-size:10px}.brm-phase-links{gap:8px}.brm-phase-links a{font-size:12px;padding:9px 12px}.brm-start{display:block}.brm-start h2{font-size:20px}.brm-search{margin-top:22px}.brm-search input{width:100%}.brm-stage-heading>span{font-size:34px}.brm-stage-heading h2{font-size:22px}.brm-cards{grid-template-columns:1fr;gap:12px}.brm-card{padding:23px}.brm-card h3{font-size:19px}.brm-stage{margin-bottom:36px}.brm-reading{display:block}.brm-reading>aside{position:static;max-height:none;overflow:visible;margin-bottom:30px;padding:0}.brm-toc{padding:15px 17px}.brm-all{margin-top:10px}.brm-prose h2{font-size:21px;margin-top:42px}.brm-prose h3{font-size:18px}.brm-prose p,.brm-prose li{font-size:15px;line-height:2}.brm-next{grid-template-columns:1fr}.brm-source-note{font-size:11px}.brm .brm-table table{min-width:560px}}
@media(prefers-reduced-motion:reduce){.brm-card{transition:none}}
.brm .brm-table:has(tr>:nth-child(5)) table{min-width:940px}.brm .brm-table:has(tr>:nth-child(5)) th,.brm .brm-table:has(tr>:nth-child(5)) td{min-width:155px}
@media print{.brm-search,.brm-route,.brm-reading>aside,.brm-next{display:none}.brm-reading{display:block}.brm-hero{background:white;padding:0;border:0}.brm .brm-table{overflow:visible}.brm .brm-table table{min-width:0;font-size:10px}.brm .brm-table td,.brm .brm-table th{padding:5px;min-width:0}.brm-card{break-inside:avoid}}

/* A quieter booklet layout; illustrations explain two key stages. */
.brm-body>.wp-block-details:first-child{margin-top:0;margin-bottom:36px;padding-top:0;border-top:0;padding-bottom:24px;border-bottom:1px solid var(--brm-line)}
.brm-hero{background:#fff;border:0;border-bottom:1px solid var(--brm-line);border-radius:0;padding:18px 0 36px;gap:36px;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
.brm-hero:before{display:none}.brm-chapter .brm-hero{display:block}.brm-eyebrow{letter-spacing:.04em;font-family:inherit;font-size:12px}
.brm-card,.brm-card:hover{box-shadow:none;border-radius:6px}.brm-card h3 a:after{border-radius:6px}.brm-toc,.brm-next a{border-radius:6px}
.brm .brm-illustration{margin:0 0 32px;max-width:100%;background:#fff}.brm-hero .brm-illustration{margin:0}
.brm .brm-illustration img{display:block;width:100%;height:auto;border-radius:4px}
.brm .brm-illustration figcaption ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;margin:14px 0 8px;padding:0;counter-reset:brm-step}
.brm .brm-illustration figcaption li{counter-increment:brm-step;margin:0;padding:0;font-size:12px;line-height:1.7;color:var(--brm-ink)}
.brm .brm-illustration figcaption li:before{content:counter(brm-step) '. ';color:#9a591d}
.brm .brm-illustration figcaption p{font-size:11px;line-height:1.8;color:var(--brm-muted);margin:0}
@media(max-width:960px){.brm-hero{grid-template-columns:1fr}.brm-hero .brm-illustration{max-width:620px}}
@media(max-width:680px){.brm-hero{padding:8px 0 28px;gap:24px}.brm .brm-illustration figcaption ol{gap:8px}.brm .brm-illustration figcaption li{font-size:11px}}
