/* Service diagrams: all information is HTML text; graphics are decorative. */
.drm-service-map { --dg-ink:#153759; --dg-blue:#185b91; --dg-muted:#4b6175; --dg-line:#b5d0e1; margin:0 0 72px; color:var(--dg-ink); font-size:15px; line-height:1.75; letter-spacing:.02em; scroll-margin-top:90px; }
.drm-service-map *, .drm-service-map *::before, .drm-service-map *::after { box-sizing:border-box; }
.drm-service-map h2,.drm-service-map p,.drm-service-map figure,.drm-service-map ul,.drm-service-map ol { margin:0; }
.drm-service-map ul,.drm-service-map ol { padding:0; list-style:none; }
.drm-service-map .dg-heading { margin-bottom:28px; }
.drm-service-map .dg-eyebrow { color:var(--dg-blue); font-size:12px; font-weight:700; letter-spacing:.17em; margin-bottom:14px; }
.drm-service-map h2 { font-size:clamp(24px,2.5vw,32px); line-height:1.6; font-weight:700; color:var(--dg-ink); text-wrap:pretty; }
.drm-service-map .dg-figure { padding:32px; background:#f4f8fc; border:1px solid #dce8f1; border-radius:12px; overflow:hidden; }
.drm-service-map .dg-node { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; min-width:0; padding:24px 14px; background:#fff; border:1px solid #d4e3ed; border-radius:10px; text-align:center; }
.drm-service-map .dg-node--focus { background:#e6f1f9; border-color:#91bad6; }
.drm-service-map .dg-node strong { display:block; font-size:17px; font-weight:700; line-height:1.6; color:var(--dg-ink); }
.drm-service-map .dg-node > span:not(.dg-icon) { font-size:12px; line-height:1.7; color:var(--dg-muted); }
.drm-service-map .dg-icon { display:grid; place-items:center; width:54px; height:54px; color:var(--dg-blue); margin-bottom:3px; }
.drm-service-map .dg-icon svg { display:block; width:44px; height:44px; }
.drm-service-map .dg-link { display:flex; flex-direction:column; justify-content:center; gap:16px; min-width:0; padding:12px 5px; text-align:center; }
.drm-service-map .dg-link > div { display:flex; flex-direction:column; align-items:center; gap:1px; }
.drm-service-map .dg-link span { font-size:11px; font-weight:700; color:var(--dg-blue); line-height:1.5; white-space:nowrap; }
.drm-service-map .dg-link b { display:block; font-size:32px; font-weight:400; line-height:1; color:#5789b0; }
.drm-service-map .dg-link-back span, .drm-service-map .dg-link-back b { color:#537b87; }
.drm-service-map .dg-exchange,.drm-service-map .dg-event-main { display:grid; grid-template-columns:minmax(0,1fr) 80px minmax(0,1.2fr) 80px minmax(0,1fr); align-items:stretch; }
.drm-service-map .dg-feedback { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px; margin-top:28px; padding:18px; border:1px solid #c6dce8; background:#fff; border-radius:8px; }
.drm-service-map .dg-feedback span { font-size:13px; font-weight:700; }
.drm-service-map .dg-feedback .dg-feedback-label { background:#185b91; color:#fff; padding:5px 12px; border-radius:4px; font-size:11px; }
.drm-service-map .dg-feedback i { font-style:normal; color:#6796ae; }
.drm-service-map figcaption { margin-top:24px; padding-top:20px; border-top:1px solid #d6e4ee; font-size:14px; line-height:1.9; color:var(--dg-muted); text-align:left; }
.drm-service-map .dg-examples { display:block; font-size:12px; margin-top:10px; }
.drm-service-map .dg-group-label { font-size:12px; font-weight:700; color:var(--dg-blue); margin:0 0 16px; text-align:center; }
.drm-service-map .dg-visit { display:grid; grid-template-columns:minmax(0,2fr) 100px minmax(0,1fr); align-items:center; }
.drm-service-map .dg-team { padding:20px; border:1px dashed #8fb5cc; border-radius:10px; }
.drm-service-map .dg-team-nodes { display:grid; grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr); align-items:center; }
.drm-service-map .dg-plus { text-align:center; color:#7396b1; font-size:20px; }
.drm-service-map .dg-pills { display:flex; justify-content:center; flex-wrap:wrap; gap:6px; margin-top:4px; }
.drm-service-map .dg-pills span { font-size:11px; padding:4px 8px; border-radius:4px; background:#fff; color:var(--dg-blue); }
.drm-service-map .dg-event-support { position:relative; background:#fff; border:1px solid #cadfe9; border-top:3px solid #8bb5cd; border-radius:8px; margin-top:30px; padding:20px; }
.drm-service-map .dg-event-support::before { content:''; position:absolute; bottom:100%; left:50%; height:30px; width:1px; background:#8bb5cd; }
.drm-service-map .dg-event-support > p { font-size:12px; font-weight:700; color:var(--dg-blue); text-align:center; margin-bottom:14px; }
.drm-service-map .dg-event-support ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.drm-service-map .dg-event-support li { display:flex; flex-direction:column; align-items:center; gap:4px; border-right:1px solid #dce8f1; text-align:center; }
.drm-service-map .dg-event-support li:last-child { border:0; }
.drm-service-map .dg-event-support strong { font-size:15px; }.drm-service-map .dg-event-support li span { font-size:12px; color:var(--dg-muted); }
.drm-service-map .dg-onsite { border:2px dashed #a4c5d9; padding:28px; border-radius:12px; background:#fff; }
.drm-service-map .dg-site-title { display:flex; align-items:center; justify-content:center; gap:16px; margin-bottom:24px; }
.drm-service-map .dg-site-title .dg-icon { margin:0; }.drm-service-map .dg-site-title strong { display:block; font-size:18px; }.drm-service-map .dg-site-title small { display:block; color:var(--dg-blue); font-size:11px; margin-bottom:5px; }
.drm-service-map .dg-site-team { display:grid; grid-template-columns:1fr 100px 1fr; max-width:700px; margin:auto; align-items:center; }
.drm-service-map .dg-collaboration { display:flex; flex-direction:column; align-items:center; gap:6px; font-size:12px; color:var(--dg-blue); }.drm-service-map .dg-collaboration b { font-size:38px; font-weight:400; line-height:1; }
.drm-service-map .dg-site-themes { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:24px; }.drm-service-map .dg-site-themes span { padding:7px 14px; background:#eef5fa; border-radius:4px; color:var(--dg-blue); font-size:12px; font-weight:700; }
.drm-service-map .dg-site-footer { text-align:center; margin-top:18px; font-size:14px; color:var(--dg-muted); }
.drm-service-map .dg-cycle { position:relative; max-width:760px; margin:0 auto; }
.drm-service-map .dg-cycle ol { display:grid; grid-template-columns:1fr 1fr; gap:96px 100px; }
.drm-service-map .dg-cycle li { position:relative; }
.drm-service-map .dg-cycle li:nth-child(3) { grid-area:2 / 2; }.drm-service-map .dg-cycle li:nth-child(4) { grid-area:2 / 1; }
.drm-service-map .dg-cycle .dg-node { min-height:170px; }.drm-service-map .dg-cycle-num { position:absolute; left:14px; top:10px; font-size:12px; font-weight:700; color:#5c86a2; }
.drm-service-map .dg-cycle-center { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:150px; padding:10px; background:#e3eff7; border:1px solid #b5d0e1; border-radius:30px; text-align:center; color:var(--dg-blue); font-size:14px; font-weight:700; line-height:1.5; }
.drm-service-map .dg-cycle-arrow { position:absolute; font-size:36px; line-height:1; color:#5c8eae; }
.drm-service-map .dg-cycle li:nth-child(1) .dg-cycle-arrow { left:calc(100% + 32px); top:calc(50% - 18px); }.drm-service-map .dg-cycle li:nth-child(2) .dg-cycle-arrow { left:calc(50% - 18px); top:calc(100% + 28px); }.drm-service-map .dg-cycle li:nth-child(3) .dg-cycle-arrow { right:calc(100% + 32px); top:calc(50% - 18px); }.drm-service-map .dg-cycle li:nth-child(4) .dg-cycle-arrow { left:calc(50% - 18px); bottom:calc(100% + 28px); }
.drm-service-map .dg-return { display:flex; align-items:center; justify-content:center; gap:12px; margin-top:24px; padding:14px; border-radius:6px; background:#e5f0f7; color:var(--dg-blue); font-size:13px; font-weight:700; }.drm-service-map .dg-return > span { font-size:26px; line-height:1; }
.drm-service-map .dg-data { display:grid; grid-template-columns:1fr 70px 1.15fr 70px 1fr; align-items:center; }
.drm-service-map .dg-data-source { padding:20px 12px; }.drm-service-map .dg-data-tags { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }.drm-service-map .dg-data-tags span { padding:9px 14px; background:#fff; border:1px solid #c8dce9; border-radius:22px; font-size:13px; }
.drm-service-map .dg-data-core { border-radius:50%; aspect-ratio:1; padding:20px; }
.drm-service-map .dg-data-output { display:flex; flex-direction:column; gap:12px; }.drm-service-map .dg-data-output li { padding:14px 18px; border:1px solid #c8dce9; border-left:3px solid #6a9cbe; background:#fff; border-radius:6px; }.drm-service-map .dg-data-output strong { display:block; font-size:15px; }.drm-service-map .dg-data-output span { display:block; font-size:11px; color:var(--dg-muted); margin-top:4px; }
.drm-service-map .dg-teleapo-owners { display:grid; grid-template-columns:3fr 1fr; gap:24px; margin-bottom:14px; }.drm-service-map .dg-teleapo-owners span { padding:8px 12px; background:#e3eff7; border-radius:5px; text-align:center; font-size:12px; font-weight:700; color:var(--dg-blue); }.drm-service-map .dg-teleapo-owners span:last-child { background:#fff; }
.drm-service-map .dg-teleapo ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }.drm-service-map .dg-teleapo li { position:relative; }.drm-service-map .dg-teleapo .dg-node { height:100%; padding-inline:10px; }.drm-service-map .dg-handoff { position:absolute; left:calc(100% + 1px); top:calc(50% - 16px); font-size:22px; color:#5c8eae; }.drm-service-map .dg-small-note { font-size:12px; color:var(--dg-muted); margin-top:14px; }
@media (max-width:900px) {
 .drm-service-map .dg-figure { padding:24px; }.drm-service-map .dg-exchange,.drm-service-map .dg-event-main { grid-template-columns:1fr 70px 1.1fr 70px 1fr; }.drm-service-map .dg-node { padding:20px 10px; }.drm-service-map .dg-node strong { font-size:15px; }.drm-service-map .dg-link span { font-size:10px; }.drm-service-map .dg-visit { grid-template-columns:1.8fr 64px 1fr; }.drm-service-map .dg-team { padding:15px 10px; }.drm-service-map .dg-data { grid-template-columns:1fr 70px 1.2fr 70px 1fr; }.drm-service-map .dg-data-core { border-radius:12px; aspect-ratio:auto; min-height:200px; }
}
@media (max-width:640px) {
 .drm-service-map .dg-event-support::before { display:none; }
 .drm-service-map { margin-bottom:48px; }.drm-service-map h2 { font-size:23px; }.drm-service-map .dg-figure { padding:22px 16px; border-radius:8px; }.drm-service-map .dg-exchange,.drm-service-map .dg-event-main,.drm-service-map .dg-visit,.drm-service-map .dg-data { grid-template-columns:1fr; }.drm-service-map .dg-node { padding:20px 16px; }.drm-service-map .dg-node strong { font-size:17px; }.drm-service-map .dg-icon { width:42px; height:42px; }.drm-service-map .dg-icon svg { width:38px; height:38px; }.drm-service-map .dg-link { flex-direction:row; align-items:center; justify-content:center; gap:30px; padding:14px 0; }.drm-service-map .dg-link > div { flex-direction:row; gap:8px; }.drm-service-map .dg-link span { font-size:11px; }.drm-service-map .dg-link b { transform:rotate(90deg); font-size:27px; }.drm-service-map .dg-feedback { display:grid; grid-template-columns:1fr; gap:8px; padding:18px; text-align:center; }.drm-service-map .dg-feedback .dg-feedback-label { justify-self:center; margin-bottom:4px; }.drm-service-map .dg-feedback i { transform:rotate(90deg); line-height:1; }.drm-service-map figcaption { font-size:13px; line-height:1.9; }.drm-service-map .dg-team { padding:20px 12px; }.drm-service-map .dg-team-nodes { grid-template-columns:1fr; gap:10px; }.drm-service-map .dg-plus { line-height:1; }.drm-service-map .dg-event-support ul { grid-template-columns:1fr; gap:0; }.drm-service-map .dg-event-support li { border-right:0; border-bottom:1px solid #dce8f1; padding:12px 0; }.drm-service-map .dg-onsite { padding:20px 14px; }.drm-service-map .dg-site-title { gap:10px; align-items:flex-start; }.drm-service-map .dg-site-title .dg-icon { flex:0 0 34px; }.drm-service-map .dg-site-title strong { font-size:15px; }.drm-service-map .dg-site-team { grid-template-columns:1fr; gap:12px; }.drm-service-map .dg-collaboration { flex-direction:row; justify-content:center; gap:12px; }.drm-service-map .dg-collaboration b { transform:rotate(90deg); font-size:30px; }.drm-service-map .dg-site-themes { gap:8px; }.drm-service-map .dg-site-themes span { font-size:11px; padding:6px 10px; }.drm-service-map .dg-site-footer { font-size:12px; }.drm-service-map .dg-cycle-center { position:static; transform:none; width:auto; max-width:210px; margin:0 auto 22px; border-radius:24px; }.drm-service-map .dg-cycle-center br { display:none; }.drm-service-map .dg-cycle ol { grid-template-columns:1fr; gap:38px; }.drm-service-map .dg-cycle li:nth-child(n) { grid-area:auto; }.drm-service-map .dg-cycle .dg-node { min-height:150px; }.drm-service-map .dg-cycle li:nth-child(n) .dg-cycle-arrow { top:calc(100% + 6px); left:calc(50% - 14px); right:auto; bottom:auto; font-size:0; }.drm-service-map .dg-cycle li:not(:last-child) .dg-cycle-arrow::after { content:'↓'; font-size:26px; }.drm-service-map .dg-cycle li:last-child .dg-cycle-arrow { display:none; }.drm-service-map .dg-return { align-items:flex-start; font-size:12px; padding:14px; }.drm-service-map .dg-return > span { flex-shrink:0; }.drm-service-map .dg-data-source { padding:0; }.drm-service-map .dg-data-core { min-height:170px; border-radius:10px; }.drm-service-map .dg-data-output li { padding:15px 20px; }.drm-service-map .dg-data-output span { font-size:12px; }.drm-service-map .dg-teleapo-owners { grid-template-columns:1fr; gap:8px; }.drm-service-map .dg-teleapo-owners span:last-child { display:none; }.drm-service-map .dg-teleapo ol { grid-template-columns:1fr; gap:36px; }.drm-service-map .dg-handoff { left:calc(50% - 12px); top:calc(100% + 3px); transform:rotate(90deg); font-size:25px; }.drm-service-map .dg-teleapo li:last-child::before { content:'お客様の営業活動へ'; display:block; text-align:center; font-size:12px; font-weight:700; color:var(--dg-blue); margin-bottom:10px; }
}
