/* Shared service content. Scoped to preserve the existing hero and site chrome. */
.drm-service-rich-page #company > .mf-frame { max-width: 1120px; }
.drm-service-rich-page #company > .mf-frame > .mf-inner { padding: 0 24px; }
.drm-service-rich { --ds-ink:#153759; --ds-blue:#185b91; --ds-muted:#4b6175; --ds-pale:#f0f7fb; color:var(--ds-ink); font-size:16px; line-height:1.9; letter-spacing:.025em; }
.drm-service-rich *, .drm-service-rich *::before, .drm-service-rich *::after { box-sizing:border-box; }
.drm-service-rich h2, .drm-service-rich h3, .drm-service-rich p, .drm-service-rich ol { margin:0; }
.drm-service-rich h2, .drm-service-rich h3 { font-weight:700; text-wrap:pretty; }
.drm-service-rich h2 { font-size:clamp(25px,2.5vw,34px); line-height:1.55; letter-spacing:.035em; }
.drm-service-rich h3 { font-size:18px; line-height:1.65; margin-bottom:12px; }
.drm-service-rich p { color:var(--ds-muted); }
.drm-service-rich a { color:var(--ds-blue); text-decoration:none; }
.drm-service-rich a:hover { opacity:1; }
.drm-service-rich a:focus-visible { outline:3px solid #d59024; outline-offset:5px; }
.drm-service-rich [id], .ds-detail-heading { scroll-margin-top:100px; }
.drm-service-teleapo #concem, .drm-service-teleapo #reason, .drm-service-teleapo #service, .drm-service-teleapo #flow, .drm-service-teleapo #faq { scroll-margin-top:100px; }
.drm-service-rich .ds-kicker { color:var(--ds-blue); font-size:12px; font-weight:700; letter-spacing:.17em; line-height:1.6; margin-bottom:14px; }
.ds-intro { display:grid; grid-template-columns:1.35fr 1fr; gap:64px; align-items:center; padding:34px 0 56px; }
.drm-service-rich .ds-intro h2 { font-size:clamp(28px,3vw,39px); line-height:1.55; margin-bottom:24px; word-break:keep-all; overflow-wrap:anywhere; }
.drm-service-rich .ds-lead { font-size:16px; line-height:2; margin-bottom:24px; }
.ds-text-link { display:inline-flex; align-items:center; gap:24px; border-bottom:1px solid #9dbbd2; padding-bottom:6px; font-size:14px; font-weight:700; }
.ds-text-link:hover { border-color:var(--ds-blue); }
.ds-focus { padding:32px; border-radius:12px; background:linear-gradient(135deg,#f0f7fb,#e6f2f8); position:relative; overflow:hidden; }
.ds-focus::after { content:''; position:absolute; width:200px; height:200px; border:1px solid #d5e7f0; border-radius:50%; top:-100px; right:-100px; pointer-events:none; }
.ds-focus-label { display:flex; align-items:center; gap:14px; font-size:11px; letter-spacing:.15em; color:var(--ds-blue); margin-bottom:20px; }
.ds-orbit { display:block; width:38px; height:38px; border:1px solid #83b2cf; border-radius:50%; position:relative; transform:rotate(-25deg); }
.ds-orbit i { width:9px; height:9px; background:#2b79a6; border:2px solid #eff7fb; border-radius:50%; position:absolute; }
.ds-orbit i:nth-child(1) { left:14px; top:-4px; }.ds-orbit i:nth-child(2) { left:29px; top:23px; }.ds-orbit i:nth-child(3) { left:-4px; top:23px; }
.drm-service-rich .ds-focus-title { font-size:17px; font-weight:700; color:var(--ds-ink); margin-bottom:18px; }
.ds-focus ol { list-style:none; padding:0; }
.ds-focus li { display:flex; align-items:center; gap:16px; padding:12px 0; border-top:1px solid #cee1ec; font-size:15px; font-weight:700; line-height:1.6; }
.ds-focus li > span { font-size:12px; color:#3c7ba2; font-variant-numeric:tabular-nums; }
.ds-jump { display:flex; flex-wrap:wrap; border-top:1px solid #d9e5ee; border-bottom:1px solid #d9e5ee; margin-bottom:64px; }
.ds-jump a { flex:1 1 auto; display:flex; justify-content:center; align-items:center; gap:14px; min-height:60px; padding:12px; font-size:13px; font-weight:700; }
.ds-jump a:hover { background:var(--ds-pale); }.ds-jump span { color:#527e9a; }
.ds-section { margin:0 0 76px; }
.ds-heading { margin-bottom:32px; }
.ds-heading > p:last-child:not(.ds-kicker) { margin-top:14px; font-size:15px; }
.ds-grid { display:grid; gap:22px; }.ds-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }.ds-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ds-challenges { padding:40px; background:var(--ds-pale); border-radius:12px; }
.ds-challenge { padding:26px 22px; background:#fff; border-radius:8px; }
.ds-check { display:grid; place-items:center; width:28px; height:28px; background:#e6f3f8; border-radius:50%; color:#1a7597; margin-bottom:16px; font-size:15px; }
.drm-service-rich .ds-challenge p, .drm-service-rich .ds-service-card p, .drm-service-rich .ds-strengths p, .drm-service-rich .ds-steps p { font-size:14px; line-height:1.9; }
.ds-service-card { display:flex; gap:22px; padding:28px; border:1px solid #d9e5ee; border-radius:8px; background:#fff; }
.ds-service-card:last-child:nth-child(odd) { grid-column:1 / -1; }
.ds-service-number { display:grid; place-items:center; flex:0 0 42px; width:42px; height:42px; border-radius:8px; background:var(--ds-pale); color:var(--ds-blue); font-size:16px; font-weight:700; font-variant-numeric:tabular-nums; }
.drm-service-rich .ds-note { font-size:12px; color:#617488; margin-top:20px; }
.ds-detail-heading { margin-bottom:0; }.ds-detail-heading .ds-heading { margin-bottom:28px; }
.drm-service-rich-page #company .ebox { background:#f9fbfd; border:1px solid #e0eaf1; padding:36px; border-radius:12px; margin:0 0 76px; overflow-wrap:anywhere; }
.drm-service-rich-page #company .ebox h2 { font-size:23px; line-height:1.6; color:#153759; margin:0 0 22px; }
.drm-service-rich-page #company .ebox h3 { font-size:19px; line-height:1.7; color:#185b91; margin:32px 0 16px; }
.drm-service-rich-page #company .ebox h4 { font-size:17px; line-height:1.7; margin:24px 0 12px; }
.drm-service-rich-page #company .ebox p { line-height:2; font-size:15px; margin:0 0 24px; }
.drm-service-rich-page #company .ebox img { max-width:100%; height:auto; }
.drm-service-rich-page #company .ebox figure { max-width:100%; margin:28px auto; }
.drm-service-rich-page #company .ebox table { font-size:14px; }
.ds-strengths { gap:30px; }.ds-strengths article { border-top:2px solid #c8deec; padding:24px 8px 0; }
.ds-strength-number { display:block; font-size:36px; line-height:1.3; color:#79a8c6; font-weight:700; margin-bottom:20px; }
.ds-flow { padding:40px; background:var(--ds-pale); border-radius:12px; }
.ds-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; list-style:none; padding:0; }
.ds-steps li { position:relative; min-width:0; }
.ds-steps li:not(:last-child)::after { content:''; height:1px; background:#abcce0; position:absolute; left:66px; right:-24px; top:28px; }
.ds-step-number { display:flex; flex-direction:column; align-items:center; justify-content:center; width:56px; height:56px; border:1px solid #a7cadf; border-radius:50%; background:#fff; color:var(--ds-blue); font-size:21px; line-height:1.1; font-weight:700; margin-bottom:22px; }
.ds-step-number small { font-size:8px; letter-spacing:.1em; margin-bottom:4px; }
.ds-related-card { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:26px; border:1px solid #d9e5ee; border-radius:8px; transition:background .15s,border-color .15s; }
.ds-related-card:hover { background:var(--ds-pale); border-color:#8bb4cf; }
.ds-related-card > span { display:flex; flex-direction:column; gap:6px; }.ds-related-card small { font-size:10px; letter-spacing:.12em; }.ds-related-card strong { font-size:19px; color:var(--ds-ink); }.ds-related-card > span > span { font-size:13px; color:var(--ds-muted); }.ds-related-card b { font-size:24px; font-weight:400; }
.ds-onestop { display:flex; align-items:center; gap:28px; margin-top:22px; padding:26px; background:var(--ds-pale); border-radius:8px; }.ds-onestop:hover { background:#e1f0f7; }.ds-onestop-label { color:var(--ds-blue); font-size:12px; font-weight:700; letter-spacing:.12em; white-space:nowrap; }.ds-onestop > span:nth-child(2) { display:flex; flex-direction:column; gap:4px; }.ds-onestop strong { color:var(--ds-ink); font-size:16px; }.ds-onestop > span > span { color:var(--ds-muted); font-size:13px; }.ds-onestop b { margin-left:auto; font-size:24px; }
.ds-consult { display:flex; justify-content:space-between; align-items:center; gap:32px; padding:38px; border:1px solid #bad7e8; border-radius:12px; margin-bottom:80px; background:linear-gradient(120deg,#f5fafd,#eaf5fa); }.drm-service-rich .ds-consult h2 { font-size:25px; margin-bottom:14px; }.drm-service-rich .ds-consult p:last-child { font-size:14px; }.drm-service-rich a.ds-button { display:flex; align-items:center; justify-content:center; gap:20px; background:#14558b; border-radius:6px; padding:18px 22px; color:#fff; font-size:14px; font-weight:700; white-space:nowrap; min-height:56px; }.drm-service-rich a.ds-button:hover { background:#0b2d5c; }
.drm-service-rich-page #pnavi { border-top:1px solid #d9e5ee; padding-top:56px; }.drm-service-rich-page #pnavi h2 { font-size:24px; letter-spacing:.05em; color:#153759; margin-bottom:30px; }.drm-service-rich-page #pnavi .works_box { border:1px solid #e0eaf1; border-radius:8px; }.drm-service-rich-page #pnavi .works_box figure { aspect-ratio: 1.9; border-radius:0; margin:0; }.drm-service-rich-page #pnavi .works_box figure img { height:100%; object-fit:cover; object-position:center 25%; }.drm-service-rich-page #pnavi .works_box p { font-size:13px; padding:12px; }.drm-service-rich-page #pnavi .works_box.is-active { opacity:1; background:#edf6fb; border-color:#83b2cf; }
.drm-service-teleapo .drm-service-rich { margin-top:20px; }.drm-service-teleapo #teleapo > .mf-frame > .mf-inner > .drm-service-rich { padding-inline:20px; }.drm-service-teleapo .ds-intro { padding-top:16px; }.drm-service-teleapo .ds-related { margin-top:60px; }
@media (max-width:1024px) {
  .ds-intro { gap:32px; grid-template-columns:1.2fr 1fr; }.ds-focus { padding:24px; }.ds-challenges,.ds-flow { padding:30px; }.ds-grid { gap:16px; }.ds-grid--three { grid-template-columns:1fr; }.ds-challenge { display:grid; grid-template-columns:28px 1fr; column-gap:18px; padding:24px; }.ds-challenge p { grid-column:2; }.ds-check { grid-row:1 / span 2; margin:2px 0 0; }.ds-service-card { padding:24px; gap:16px; }.ds-strengths article { padding:20px 0; }.ds-strength-number { font-size:28px; margin-bottom:10px; }.ds-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }.ds-steps li:nth-child(2)::after { display:none; }.ds-consult { flex-direction:column; align-items:flex-start; }.ds-consult .ds-button { align-self:flex-end; }
}
@media (max-width:640px) {
  .drm-service-rich-page #company > .mf-frame > .mf-inner { padding:0 20px; }.drm-service-rich { font-size:15px; }.ds-intro { grid-template-columns:1fr; gap:28px; padding:12px 0 32px; }.drm-service-rich .ds-intro h2 { font-size:27px; margin-bottom:20px; }.drm-service-rich .ds-lead { font-size:15px; }.ds-focus { padding:24px; }.ds-jump { margin-bottom:40px; }.ds-jump a { flex:1 1 50%; justify-content:space-between; font-size:12px; min-height:48px; padding:12px 10px; }.ds-section { margin-bottom:48px; }.ds-heading { margin-bottom:24px; }.drm-service-rich h2 { font-size:24px; }.drm-service-rich h3 { font-size:17px; }.ds-heading > p:last-child:not(.ds-kicker) { font-size:14px; }.ds-challenges,.ds-flow { padding:26px 18px; border-radius:8px; }.ds-grid--two { grid-template-columns:1fr; }.ds-challenge { padding:20px 16px; gap:0 12px; }.ds-service-card { padding:22px 18px; gap:14px; }.ds-service-number { flex-basis:34px; width:34px; height:34px; font-size:14px; }.drm-service-rich-page #company .ebox { padding:24px 18px; margin-bottom:48px; border-radius:8px; }.drm-service-rich-page #company .ebox h2 { font-size:21px; }.drm-service-rich-page #company .ebox p { font-size:14px; }.drm-service-rich-page #company .ebox table { display:block; overflow-x:auto; max-width:100%; font-size:12px; }.ds-steps { grid-template-columns:1fr; gap:26px; }.ds-steps li { display:grid; grid-template-columns:48px 1fr; gap:0 16px; }.ds-steps li::after { display:none; }.ds-step-number { grid-row:1 / span 2; width:48px; height:48px; font-size:18px; margin:0; }.ds-steps p { grid-column:2; }.ds-related-card { padding:22px; }.ds-related-card strong { font-size:18px; }.ds-onestop { align-items:flex-start; flex-wrap:wrap; gap:12px; padding:22px; }.ds-onestop-label { width:100%; }.ds-onestop > span:nth-child(2) { flex:1; }.ds-onestop strong { font-size:15px; }.ds-consult { padding:26px 22px; gap:24px; margin-bottom:48px; }.drm-service-rich .ds-consult h2 { font-size:22px; }.drm-service-rich a.ds-button { white-space:normal; width:100%; padding:16px; font-size:13px; }.ds-consult br { display:none; }.drm-service-rich-page #pnavi { padding-top:40px; }.drm-service-rich-page #pnavi h2 { font-size:22px; }.drm-service-rich-page #pnavi .clist { grid-template-columns:repeat(2,minmax(0,1fr)); }.drm-service-rich-page #pnavi .works_box p { font-size:12px; }
}
@media (max-width:640px) { .drm-service-rich .ds-intro h2 { font-size:24px; letter-spacing:.01em; word-break:keep-all; overflow-wrap:anywhere; text-wrap:pretty; } }
@media (prefers-reduced-motion:reduce) { .ds-related-card { transition:none; } }
