/* One connected service picture: material, conversation, approval, public page. */
.architecture-heading{max-width:850px}
.architecture-heading h3{font-size:clamp(27px,3vw,38px);line-height:1.55}
.service-diagram{margin:34px 0 0}
.system-canvas{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1.08fr) 34px minmax(0,1fr);gap:0 18px;align-items:start;padding:34px 30px 26px;background:var(--wood-wash);border-radius:14px}
.system-scene{min-width:0;position:relative}
.system-scene-title{display:flex;gap:10px;align-items:baseline;margin-bottom:24px}
.system-scene-title>span{font-size:14px;font-family:Inter,sans-serif;color:var(--green-deep);flex:none}
.system-scene-title h4{font-size:18px;font-weight:600;line-height:1.7;letter-spacing:-.025em}
.system-materials{padding:5px 3px 0;min-height:350px}
.system-photo{width:78%;max-width:200px;padding:10px 10px 9px;background:#fff;transform:rotate(-5deg);box-shadow:0 5px 12px #5446350C;border:1px solid #E4DDD2}
.system-photo img{display:block;width:100%;height:104px;object-fit:cover;object-position:center}
.system-photo>span{display:block;font-size:14px;line-height:1.7;color:var(--ink-2);margin-top:7px}
.system-chat{position:relative;margin:-15px 0 0 24px;padding:18px 18px 19px;background:#FFFDF8;border:1px solid #DCBEA1;border-radius:12px 12px 3px 12px;box-shadow:0 4px 16px #54463508}
.system-chat>span{font-size:14px;color:var(--green-deep);display:block;margin-bottom:9px}
.system-chat p{font-size:16px;line-height:1.95;color:var(--ink);margin:0}
.system-memo{font-size:14px;color:var(--ink-2);line-height:1.9;margin-top:20px}
.system-connector{align-self:start;padding-top:210px;color:var(--green-deep)}
.system-connector svg{width:100%;height:28px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.system-window,.system-site{background:white;border:1px solid #D6DAD1;border-radius:9px;box-shadow:0 6px 16px #32463708;overflow:hidden}
.system-window-top{display:flex;gap:8px;align-items:center;justify-content:space-between;border-bottom:1px solid #E1E4DB;padding:12px 14px;font-size:14px;line-height:1.6;color:var(--ink);background:#F9FAF6}
.system-window-top>span{font-size:14px;color:var(--green-deep)}
.system-draft{padding:18px 16px}
.system-draft>img{display:block;width:100%;height:102px;object-fit:cover;margin-bottom:14px}
.system-draft>span{display:block;font-size:14px;color:var(--ink-2);line-height:1.7;margin-bottom:4px}
.system-draft>strong{display:block;font-size:17px;font-weight:600;line-height:1.8}
.system-draft>p{font-size:14px;color:var(--ink-2);line-height:1.9;margin-top:8px}
.system-edit-request{padding:13px 15px;background:#FAF0E6;border-top:1px solid #EEDCCC;font-size:14px;line-height:1.9;color:var(--green-deep)}
.system-approval{margin:16px -4px 0 25px;padding:13px 17px;background:#FFFDF7;border-left:2px solid var(--green);transform:rotate(-2deg)}
.system-approval>span{display:block;font-size:14px;color:var(--ink-2);line-height:1.7;margin-bottom:5px}
.system-approval>strong{font-size:17px;font-weight:500;line-height:1.8}
.system-site{position:relative;margin-top:22px;padding-bottom:40px}
.system-site-body{padding:16px}
.system-site-nav{display:flex;justify-content:space-between;align-items:center;font:600 14px/1.8 Inter,sans-serif;color:var(--forest);padding-bottom:12px}
.system-site-nav>span{font:400 14px/1.8 "Noto Sans JP",sans-serif;color:var(--ink-2)}
.system-site-body>img{display:block;width:100%;height:116px;object-fit:cover;margin-bottom:14px}
.system-site-body>strong{font-size:17px;font-weight:600;line-height:1.8;display:block}
.system-site-body>p{font-size:14px;line-height:1.9;color:var(--ink-2);margin-top:9px}
.system-published{position:absolute;bottom:14px;right:16px;border:1px solid #B9C4B8;background:#F1F5ED;padding:3px 12px;color:var(--forest);font-size:14px;line-height:1.7}
.system-reader{margin-top:18px;font-size:14px;line-height:1.9;color:var(--ink-2)}
.system-backstage{grid-column:1/-1;display:flex;gap:22px 28px;align-items:center;margin-top:36px;padding-top:25px;border-top:1px solid #DAD9CD;flex-wrap:wrap}
.system-backstage-label{font-size:14px;color:var(--ink-2);flex:1;min-width:180px;line-height:1.9}
.system-backstage>div>span{font:500 17px/1.8 Inter,"Noto Sans JP",sans-serif;color:var(--ink)}
.system-reading{font-size:14px;font-family:"Noto Sans JP",sans-serif;font-weight:400;color:var(--ink-2)}
.system-backstage p{font-size:14px;line-height:1.9;color:var(--ink-2);margin-top:4px}
.system-backstage-arrow{font-size:22px;color:var(--green-deep)}
.service-diagram>figcaption{font-size:14px;color:var(--ink-2);line-height:1.9;padding-top:15px}
.system-reason{display:grid;grid-template-columns:1fr 1.25fr;gap:45px;margin-top:34px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.system-reason h4{font-size:23px;line-height:1.8;font-weight:600;letter-spacing:-.025em}
.system-reason p{font-size:15px;line-height:2.1;color:var(--ink-2)}
.system-reason strong{color:var(--ink);font-weight:500}
.problem-picture{padding-bottom:18px}
.problem-picture::before{inset:25px 30px 0 0}
@media(max-width:1100px){
 .system-canvas{gap:0 12px;padding:28px 22px 24px;grid-template-columns:minmax(0,1fr) 26px minmax(0,1.08fr) 26px minmax(0,1fr)}
 .system-scene-title{gap:8px}.system-scene-title h4{font-size:16px}
 .system-chat{margin-left:14px;padding:16px 14px}.system-chat p{font-size:15px}
 .system-window-top{padding:11px}.system-draft,.system-site-body{padding:14px}
 .system-draft>strong,.system-site-body>strong{font-size:16px}
 .system-edit-request{padding:12px}.system-backstage-label{flex-basis:100%}
}
@media(max-width:900px){
 .system-canvas{display:flex;flex-direction:column;gap:0;padding:30px}
 .system-scene{width:100%;max-width:440px;margin:0 auto}
 .system-scene-title{margin-bottom:22px}.system-scene-title h4{font-size:20px}
 .system-materials{min-height:0;padding:0}
 .system-photo{width:62%;max-width:225px;margin-left:12px}
 .system-photo img{height:120px}
 .system-chat{margin:-35px 4px 0 95px;padding:18px 20px}
 .system-chat p{font-size:17px}
 .system-memo{margin:16px 0 0 96px}
 .system-connector{width:40px;height:75px;margin:10px auto 22px;padding:20px 0 0;align-self:auto}
 .system-connector svg{width:40px;height:32px;transform:rotate(90deg)}
 .system-window,.system-site{max-width:380px;margin:0 auto}
 .system-window-top{padding:13px 18px}.system-draft,.system-site-body{padding:20px}
 .system-draft>img{height:144px}.system-site-body>img{height:155px}
 .system-draft>strong,.system-site-body>strong{font-size:19px}
 .system-edit-request{padding:15px 20px}
 .system-approval{max-width:320px;margin:18px 0 0 auto;padding:15px 20px}
 .system-reader{max-width:380px;margin:17px auto 0}
 .system-backstage{width:100%;max-width:440px;margin:30px auto 0;display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding-top:22px}
 .system-backstage-label{margin-bottom:6px}.system-backstage-arrow{transform:rotate(90deg);width:25px;text-align:center;margin-left:8px}
 .system-reason{grid-template-columns:minmax(0,1fr);gap:15px}
}
@media(max-width:520px){
 .architecture-heading h3{font-size:26px;line-height:1.7}
 .architecture-heading>p{font-size:15px}
 .system-canvas{padding:27px 18px 24px}
 .system-scene-title{gap:8px}.system-scene-title h4{font-size:17px}
 .system-photo{width:69%;margin-left:6px;padding:8px}.system-photo img{height:100px}
 .system-chat{margin:-22px 0 0 45px;padding:16px}.system-chat p{font-size:16px}
 .system-memo{margin-left:46px}
 .system-window-top{padding:12px}.system-draft,.system-site-body{padding:15px}
 .system-draft>img{height:118px}.system-site-body>img{height:126px}
 .system-draft>strong,.system-site-body>strong{font-size:17px}
 .system-edit-request{padding:13px 14px}.system-approval{margin-left:18px;margin-right:0}
 .system-reason{padding:23px 0;margin-top:28px}.system-reason h4{font-size:21px}
}
