/* B案: サービス内容の見出し以下だけを、一続きの運用図として整理する。 */
.b-service-design { --os8-type-body:16px; margin-top:8px; }
.b-service-design :is(h3,h4,h5) { margin:0; font-family:var(--bold); text-shadow:none!important; -webkit-text-stroke:0; }
.b-service-design :is(p,li) { font-size:16px; line-height:1.9; }
.b-service-design :is(section,[id]) { scroll-margin-top:100px; }
.b-service-design .b-benefit { display:grid; grid-template-columns:175px minmax(0,1fr); gap:28px; padding:28px 30px; background:var(--gray1); border-left:3px solid var(--tx); }
.b-service-design .b-benefit h3 { font-size:21px; line-height:1.65; }
.b-service-design .b-benefit p { margin:0; }
.b-service-design .b-roles { margin-top:40px; }
.b-service-design :is(.b-roles,.b-operation,.b-start) > h3 { font-size:23px; line-height:1.65; margin-bottom:24px; }
.b-service-design .b-roles-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--tx); border-bottom:1px solid var(--line); }
.b-service-design .b-role-column { padding:26px 28px; min-width:0; }
.b-service-design .b-role-column:first-child { padding-left:0; }
.b-service-design .b-role-column:last-child { border-left:1px solid var(--line); padding-right:0; }
.b-service-design .b-role-column h4 { font-size:20px; line-height:1.7; }
.b-service-design .b-role-column ul { margin:14px 0 0; padding:0; list-style:none; }
.b-service-design .b-role-column li { position:relative; padding-left:16px; }
.b-service-design .b-role-column li::before { content:""; position:absolute; top:.8em; left:0; width:4px; height:4px; background:var(--tx2); border-radius:50%; }
.b-service-design .b-role-column li + li { margin-top:7px; }
.b-service-design .b-deliverables { margin-top:22px; display:block; }
.b-service-design .b-deliverables h4 { font-size:20px; line-height:1.7; }
.b-service-design .b-deliverables ul { margin:14px 0 0; }
.b-service-design .b-deliverables li + li { margin-top:7px; }
.b-service-design .b-operation { margin-top:40px; }
.b-service-design .b-operation-map { border:1px solid var(--tx); }
.b-service-design .b-monthly { display:flex; align-items:center; gap:22px; padding:25px 28px; background:var(--gray1); border-bottom:1px solid var(--line); }
.b-service-design .flow-icon { display:block; width:40px; height:40px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; color:var(--tx); }
.b-service-design .b-monthly > div { display:grid; grid-template-columns:185px 1fr; align-items:center; gap:22px; }
.b-service-design .b-monthly h4 { font-size:20px; line-height:1.7; }
.b-service-design .b-monthly p { margin:0; }
.b-service-design .b-feedback { display:flex; justify-content:space-between; gap:24px; padding:22px 28px 20px; background:var(--white); }
.b-service-design .b-feedback p { display:flex; align-items:center; gap:10px; margin:0; color:var(--tx); }
.b-service-design .b-feedback-arrow { display:block; width:28px; height:28px; flex:none; fill:none; stroke:currentColor; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.b-service-design .b-episode-flow { padding:0; background:var(--white); }
.b-service-design .b-episode-flow > header { padding:22px 28px; border-top:0; background:var(--gray1); }
.b-service-design .b-episode-flow > header h4 { font-size:20px; }
.b-service-design .b-episode-flow > header p { margin-top:6px; }
.b-service-design .b-episode-steps { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; list-style:none; margin:0; padding:24px; background:var(--white); }
.b-service-design .b-episode-steps > li { min-width:0; position:relative; padding:0; }
.b-service-design .b-episode-steps > li:first-child { padding-left:0; }
.b-service-design .b-episode-steps > li:last-child { padding-right:0; }
.b-service-design .b-episode-steps > li + li { border-left:0; }
.b-service-design .b-episode-steps .flow-icon { margin-bottom:16px; width:34px; height:34px; }
.b-service-design .b-episode-steps .b-step-heading { display:flex; align-items:center; gap:8px; min-height:27px; margin:0; }
.b-service-design .b-episode-steps .step-no { display:inline-block; font-size:14px; font-weight:700; margin:0; color:var(--tx2); }
.b-service-design .b-episode-steps h4 { font-size:16px; line-height:1.65; white-space:nowrap; }
.b-service-design .b-episode-steps p { --os8-type-body:14px; font-size:14px; line-height:1.85; margin-top:12px; }
.b-service-design .b-start { margin-top:44px; }
/* Restore the original vertical start guide; contract terms share its text column. */
.b-service-design .b-start .flow-row h4 { font-size:20px; margin:2px 0 6px; line-height:1.8; }
.b-service-design .b-start .flow-row p { margin:0; }
/* Approved existing neutral surface; the page CTA retains its action color. */
.podcast-support-page #consult.service-closing { background:var(--gray1); }

/* Final CTA: two clear benefit lines and a directly readable consultation action. */
.podcast-support-page #consult h2 .copy-unit { display:inline-block; white-space:nowrap; }
@media (min-width:761px) {
  .podcast-support-page #consult .service-closing__inner { grid-template-columns:minmax(0,1fr) 270px; }
  .podcast-support-page #consult h2 { max-width:none; text-shadow:none; -webkit-text-stroke:0; }
  .podcast-support-page #consult h2 > span { display:block; }
  .podcast-support-page #consult .service-closing__action { width:240px; max-width:100%; justify-self:center; }
  .podcast-support-page #consult .service-closing__button { width:100%; min-width:240px; justify-content:center; box-sizing:border-box; }
  .podcast-support-page #consult .package-disclaimer { --os8-type-body:12px; width:100%; margin:12px 0 0; padding:0; line-height:1.7; text-align:center; text-wrap:balance; }
}
