/*
 * Custom system development v1 — /work/system/ only (loaded by inc/system-development.php, after the TOP header/footer CSS).
 * Values follow docs/system-development-v1/reference/system-development-approved.html (approved reference).
 * Every selector is under .capsor-sysdev-main with an sd- prefix (variables --sd-*), so nothing leaks to
 * the shared header/footer, other pages or the TOP.
 */
.capsor-sysdev-main { --sd-ink:#132b37; --sd-navy:#102733; --sd-deep:#0b1d27; --sd-accent:#ed6543; --sd-paper:#f7f8f5; --sd-cream:#f2f1ec; --sd-line:#dce4e2; --sd-g:clamp(20px,5.55vw,84px); --sd-max:1330px; --sd-ease:cubic-bezier(.2,.78,.23,1); }
.capsor-sysdev-main { display:block; background:#fff; color:var(--sd-ink); font-family:'Inter','Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif; -webkit-font-smoothing:antialiased; font-feature-settings:'palt'; }
/* The approved page relies on browser default margins; the TOP base CSS zeroes them. Same specificity as the TOP reset, loaded later. */
body.capsor-sysdev :where(.capsor-sysdev-main) :is(p,h1,h2,h3) { margin:revert; }
/* Lists added for semantics (divs in the reference) keep the reference box model. */
.capsor-sysdev-main :is(.sd-strip-grid,.sd-purpose-tags,.sd-process-flow,.sd-rings,.sd-also-links) { list-style:none; padding:0; margin-block:0; }
.capsor-sysdev-main ::selection { background:#ffcfb7; color:#142a36; }
body.capsor-sysdev .capsor-sysdev-main a:focus-visible { outline:3px solid var(--sd-accent); outline-offset:4px; }
.capsor-sysdev-main .sd-wrap { width:min(calc(100% - 2*var(--sd-g)),var(--sd-max)); margin-inline:auto; }
.capsor-sysdev-main .sd-eyebrow { display:flex; align-items:center; gap:12px; color:#617984; font-size:10px; font-weight:900; letter-spacing:.2em; }
.capsor-sysdev-main .sd-eyebrow:before { content:'+'; font-size:16px; font-weight:600; color:var(--sd-accent); }
.capsor-sysdev-main .sd-eyebrow.sd-light { color:#b9cbd0; }
.capsor-sysdev-main .sd-eyebrow.sd-light:before { color:#ef8668; }
.capsor-sysdev-main .sd-red { color:var(--sd-accent); }
.capsor-sysdev-main .sd-display { font-weight:900; letter-spacing:-.078em; line-height:1.22; }
.capsor-sysdev-main .sd-eyebrow .sd-line { display:inline-block; flex:0 0 24px; height:1px; background:#91a1a7; }
.capsor-sysdev-main .sd-btn { display:inline-flex; align-items:center; justify-content:space-between; gap:26px; border:1px solid var(--sd-ink); padding:18px 22px; min-height:59px; font-size:12px; font-weight:800; letter-spacing:.01em; transition:background .25s,color .25s,transform .25s,border-color .25s; }
.capsor-sysdev-main .sd-btn:hover { background:var(--sd-accent); border-color:var(--sd-accent); color:#fff; transform:translateY(-2px); }
.capsor-sysdev-main .sd-btn.sd-dark { color:#fff; background:var(--sd-ink); }
.capsor-sysdev-main .sd-btn.sd-dark:hover { background:var(--sd-accent); }
.capsor-sysdev-main .sd-btn.sd-soft { border-color:#bdcacc; color:#27434e; }
.capsor-sysdev-main .sd-btn .sd-arr { font-size:21px; font-weight:400; }
.capsor-sysdev-main .sd-btn.sd-orange { border-color:var(--sd-accent); background:var(--sd-accent); color:#fff; }
.capsor-sysdev-main .sd-btn.sd-orange:hover { background:#fff; color:var(--sd-ink); border-color:#fff; }
.capsor-sysdev-main .sd-textlink { font-size:12px; font-weight:850; display:inline-flex; align-items:center; gap:25px; padding:0 0 12px; border-bottom:1px solid currentColor; }
.capsor-sysdev-main .sd-textlink:hover { color:var(--sd-accent); }
.capsor-sysdev-main .sd-mono { font-family:'IBM Plex Mono',Consolas,Monaco,monospace; font-feature-settings:normal; }
.capsor-sysdev-main .sd-breadcrumbs { background:#fff; border-bottom:1px solid #e9eeec; }
.capsor-sysdev-main .sd-breadcrumbs .sd-wrap { padding:14px 0; font-size:10px; color:#819299; font-weight:750; display:flex; align-items:center; gap:12px; }
.capsor-sysdev-main .sd-breadcrumbs a { color:#56707c; }
.capsor-sysdev-main .sd-breadcrumbs a:hover { color:var(--sd-accent); }
.capsor-sysdev-main .sd-breadcrumbs .sd-sep { color:#b8c4c6; }
.capsor-sysdev-main .sd-hero { background:var(--sd-paper); position:relative; overflow:hidden; }
.capsor-sysdev-main .sd-hero-layout { min-height:703px; display:grid; grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr); }
.capsor-sysdev-main .sd-hero-copy { padding:99px 6% 75px 0; position:relative; z-index:3; }
.capsor-sysdev-main .sd-hero-intro { display:flex; align-items:center; gap:16px; margin-bottom:35px; }
.capsor-sysdev-main .sd-hero-intro .sd-line { width:39px; height:1px; background:#aebdc0; }
.capsor-sysdev-main .sd-hero-intro small { color:#8c9ba1; font-size:9px; letter-spacing:.15em; }
.capsor-sysdev-main .sd-hero-title { font-size:clamp(52px,5.7vw,91px); white-space:nowrap; line-height:1.11; margin:0 0 21px; }
.capsor-sysdev-main .sd-hero-title span { color:var(--sd-accent); }
.capsor-sysdev-main .sd-hero-jp { font-size:clamp(27px,3.2vw,45px); font-weight:900; letter-spacing:-.069em; line-height:1.5; margin:0 0 27px; }
.capsor-sysdev-main .sd-hero-jp em { font-style:normal; color:var(--sd-accent); }
.capsor-sysdev-main .sd-hero-description { font-size:14px; color:#607780; line-height:2.15; max-width:525px; margin:0; }
.capsor-sysdev-main .sd-hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:36px; }
.capsor-sysdev-main .sd-hero-tail { margin-top:52px; font-size:10px; color:#90a09f; letter-spacing:.1em; font-weight:800; display:flex; align-items:center; gap:17px; }
.capsor-sysdev-main .sd-hero-tail:before { content:''; width:47px; height:1px; background:#a9b8b7; }
.capsor-sysdev-main .sd-hero-canvas { background:var(--sd-deep); margin-right:calc(-1*var(--sd-g)); padding:57px var(--sd-g) 57px 7%; color:#fff; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.capsor-sysdev-main .sd-hero-canvas:before { content:''; position:absolute; width:760px; height:760px; border:1px solid #38515e; opacity:.3; border-radius:50%; right:-330px; top:-270px; }
.capsor-sysdev-main .sd-hero-canvas:after { content:''; position:absolute; width:640px; height:640px; background:radial-gradient(circle,#ef76561f 0,transparent 67%); right:-230px; bottom:-330px; }
.capsor-sysdev-main .sd-canvas-inner { position:relative; z-index:1; width:min(540px,100%); }
.capsor-sysdev-main .sd-canvas-tag { display:flex; align-items:center; justify-content:space-between; color:#82a2ab; font-size:10px; letter-spacing:.13em; font-weight:850; margin-bottom:39px; }
.capsor-sysdev-main .sd-canvas-tag span:last-child { color:#dcf2f0; }
.capsor-sysdev-main .sd-request-card { border:1px solid #4a606a; background:#19323f; padding:25px 26px 23px; position:relative; }
.capsor-sysdev-main .sd-request-card:before { content:''; position:absolute; top:-1px; left:0; width:61px; height:3px; background:#8ca9b5; }
.capsor-sysdev-main .sd-tiny-label { font-size:10px; letter-spacing:.15em; color:#9db4bb; font-weight:850; display:flex; gap:8px; align-items:center; }
.capsor-sysdev-main .sd-request-quote { font-size:clamp(20px,2.15vw,31px); font-weight:800; letter-spacing:-.045em; line-height:1.65; margin:19px 0 9px; }
.capsor-sysdev-main .sd-request-quote .sd-quote { font-size:23px; color:#6c8994; }
.capsor-sysdev-main .sd-why { display:flex; align-items:center; gap:14px; height:101px; padding:0 10px 0 16px; }
.capsor-sysdev-main .sd-why-line { width:1px; height:100%; background:linear-gradient(#597782,#ef7454); position:relative; margin-right:4px; }
.capsor-sysdev-main .sd-why-line:after { content:''; width:7px; height:7px; position:absolute; bottom:-3px; left:-3px; border-right:1px solid #ef7454; border-bottom:1px solid #ef7454; transform:rotate(45deg); }
.capsor-sysdev-main .sd-why-badge { background:var(--sd-accent); color:#fff; border-radius:30px; padding:9px 16px; font-size:11px; font-weight:900; letter-spacing:.11em; }
.capsor-sysdev-main .sd-why p { font-size:11px; color:#a6bcc4; line-height:1.65; margin:0; }
.capsor-sysdev-main .sd-goal-card { border:1px solid #517c76; background:#203d43; padding:28px 28px 24px; box-shadow:15px 22px 45px #0002; position:relative; }
.capsor-sysdev-main .sd-goal-card:after { content:''; position:absolute; width:7px; height:7px; right:23px; top:23px; background:#91c9ae; border-radius:50%; box-shadow:0 0 0 6px #91c9ae1e; }
.capsor-sysdev-main .sd-goal-card .sd-tiny-label { color:#b8e4d7; }
.capsor-sysdev-main .sd-goal-list { padding:0; margin:23px 0 0; list-style:none; display:grid; gap:14px; }
.capsor-sysdev-main .sd-goal-list li { display:flex; gap:13px; align-items:start; font-size:clamp(14px,1.35vw,18px); font-weight:800; letter-spacing:-.025em; }
.capsor-sysdev-main .sd-goal-list li:before { content:'✓'; color:#a1debb; font-size:15px; }
.capsor-sysdev-main .sd-canvas-note { display:block; margin:27px 0 1em; color:#73919c; font-size:10px; line-height:1.8; letter-spacing:.03em; }
.capsor-sysdev-main .sd-strip { background:#fff; border-bottom:1px solid var(--sd-line); }
.capsor-sysdev-main .sd-strip-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.capsor-sysdev-main .sd-strip-item { display:flex; align-items:center; gap:17px; padding:24px clamp(12px,2.6vw,34px); border-right:1px solid var(--sd-line); }
.capsor-sysdev-main .sd-strip-item:first-child { padding-left:0; }
.capsor-sysdev-main .sd-strip-item:last-child { border-right:0; }
.capsor-sysdev-main .sd-strip-item .sd-id { font-size:30px; font-weight:850; color:var(--sd-accent); letter-spacing:-.075em; }
.capsor-sysdev-main .sd-strip-item strong { font-size:12px; line-height:1.5; }
.capsor-sysdev-main .sd-strip-item small { display:block; font-size:9px; color:#849499; margin-top:4px; font-weight:850; letter-spacing:.1em; }
.capsor-sysdev-main .sd-philosophy { padding:116px 0 122px; background:#fff; }
.capsor-sysdev-main .sd-philo-grid { display:grid; grid-template-columns:.92fr 1.08fr; gap:11%; align-items:start; }
.capsor-sysdev-main .sd-philo-title { font-size:clamp(35px,4.35vw,64px); line-height:1.44; margin:28px 0 0; }
.capsor-sysdev-main .sd-philo-title em { font-style:normal; color:var(--sd-accent); }
.capsor-sysdev-main .sd-philo-right { padding-top:62px; }
.capsor-sysdev-main .sd-philo-right p { color:#5a707a; font-size:15px; line-height:2.25; margin:0 0 24px; }
.capsor-sysdev-main .sd-philo-right strong { color:var(--sd-ink); }
.capsor-sysdev-main .sd-principle-callout { border-top:1px solid #bcc9c9; padding:31px 3px 0; margin-top:44px; display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:start; }
.capsor-sysdev-main .sd-principle-callout .sd-symbol { font-size:33px; color:var(--sd-accent); line-height:1; }
.capsor-sysdev-main .sd-principle-callout p { font-weight:800; color:#23414c; line-height:1.9; margin:0; font-size:14px; }
.capsor-sysdev-main .sd-why-section { background:var(--sd-cream); padding:100px 0 112px; }
.capsor-sysdev-main .sd-section-head { display:flex; gap:40px; align-items:end; justify-content:space-between; }
.capsor-sysdev-main .sd-section-head h2 { font-size:clamp(37px,4.6vw,66px); margin:22px 0 0; }
.capsor-sysdev-main .sd-section-head p { font-size:13px; color:#5f727a; line-height:2.1; max-width:380px; margin:0 0 6px; }
.capsor-sysdev-main .sd-why-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:48px; background:#cbd6d4; border:1px solid #cbd6d4; }
.capsor-sysdev-main .sd-why-box { background:#fff; padding:41px 44px; min-height:270px; display:flex; flex-direction:column; justify-content:space-between; }
.capsor-sysdev-main .sd-why-box.sd-start { background:#e7eae5; }
.capsor-sysdev-main .sd-why-box .sd-num { color:#718289; font-size:11px; font-weight:900; letter-spacing:.13em; }
.capsor-sysdev-main .sd-why-box h3 { font-size:clamp(26px,3.3vw,43px); font-weight:850; line-height:1.5; letter-spacing:-.055em; margin:25px 0 18px; }
.capsor-sysdev-main .sd-why-box p { font-size:13px; line-height:2; color:#667981; margin:0; }
.capsor-sysdev-main .sd-why-box.sd-destination { background:var(--sd-navy); color:#fff; }
.capsor-sysdev-main .sd-why-box.sd-destination p { color:#b8cbd1; }
.capsor-sysdev-main .sd-why-box.sd-destination .sd-num { color:#eb8569; }
.capsor-sysdev-main .sd-purpose-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:29px; }
.capsor-sysdev-main .sd-purpose-tags li { background:#294652; border:1px solid #45616c; color:#cce4df; font-size:11px; font-weight:750; padding:9px 13px; }
.capsor-sysdev-main .sd-why-note { color:#829090; font-size:10px; margin:20px 0 0; line-height:1.8; }
.capsor-sysdev-main .sd-areas { background:#fff; padding:119px 0 123px; }
.capsor-sysdev-main .sd-area-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:57px; }
.capsor-sysdev-main .sd-area { min-height:302px; border:1px solid #dce5e1; background:#f9faf8; padding:37px 40px 33px; position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; transition:border-color .2s,transform .25s var(--sd-ease); }
.capsor-sysdev-main .sd-area:hover { border-color:#ef9276; transform:translateY(-4px); }
.capsor-sysdev-main .sd-area .sd-top { display:flex; align-items:start; justify-content:space-between; gap:22px; }
.capsor-sysdev-main .sd-area .sd-nr { font-size:10px; font-weight:900; letter-spacing:.16em; color:var(--sd-accent); }
.capsor-sysdev-main .sd-area .sd-glyph { font-size:48px; color:#d4dfdd; font-weight:200; line-height:1; }
.capsor-sysdev-main .sd-area h3 { font-size:clamp(23px,2.8vw,33px); font-weight:850; margin:24px 0 14px; letter-spacing:-.055em; }
.capsor-sysdev-main .sd-area p { max-width:440px; font-size:13px; line-height:2; color:#647781; margin:0; }
.capsor-sysdev-main .sd-area small { color:#93a1a4; font-size:10px; letter-spacing:.13em; font-weight:800; margin-top:30px; display:block; }
.capsor-sysdev-main .sd-areas-aside { margin-top:27px; font-size:12px; line-height:2; color:#75858b; }
.capsor-sysdev-main .sd-process { background:var(--sd-deep); color:#fff; padding:110px 0 123px; position:relative; overflow:hidden; }
.capsor-sysdev-main .sd-process:before { content:'PROCESS'; font-size:clamp(160px,21vw,360px); font-weight:900; color:#183441; position:absolute; line-height:1; letter-spacing:-.1em; right:-4%; bottom:-45px; pointer-events:none; }
.capsor-sysdev-main .sd-process .sd-wrap { position:relative; z-index:2; }
.capsor-sysdev-main .sd-process .sd-section-head p { color:#afc5cc; }
.capsor-sysdev-main .sd-process .sd-section-head h2 { max-width:780px; }
.capsor-sysdev-main .sd-process-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:64px; border-top:1px solid #4c6670; border-bottom:1px solid #4c6670; }
.capsor-sysdev-main .sd-process-step { padding:39px 28px 48px 0; min-height:319px; border-right:1px solid #4c6670; position:relative; }
.capsor-sysdev-main .sd-process-step + .sd-process-step { padding-left:27px; }
.capsor-sysdev-main .sd-process-step:last-child { border-right:0; }
.capsor-sysdev-main .sd-process-step .sd-index { font-size:36px; letter-spacing:-.05em; font-weight:850; color:#f07b57; }
.capsor-sysdev-main .sd-process-step .sd-latin { font-size:10px; color:#7896a0; letter-spacing:.17em; font-weight:850; margin:5px 0 45px; }
.capsor-sysdev-main .sd-process-step h3 { font-size:clamp(22px,2.15vw,28px); letter-spacing:-.05em; margin:0 0 18px; }
.capsor-sysdev-main .sd-process-step p { font-size:12px; color:#adc1c7; line-height:2; margin:0; }
.capsor-sysdev-main .sd-process-note { color:#72919a; font-size:10px; margin:21px 0 0; line-height:1.8; }
.capsor-sysdev-main .sd-viewpoint { background:var(--sd-paper); padding:116px 0 130px; }
.capsor-sysdev-main .sd-viewpoint-grid { display:grid; grid-template-columns:.87fr 1.13fr; gap:10%; align-items:center; }
.capsor-sysdev-main .sd-viewpoint-title { font-size:clamp(38px,4.7vw,68px); line-height:1.38; margin:27px 0 22px; }
.capsor-sysdev-main .sd-viewpoint-lead { color:#5f747c; font-size:14px; line-height:2.2; max-width:420px; }
.capsor-sysdev-main .sd-viewpoint-left .sd-textlink { margin-top:26px; }
.capsor-sysdev-main .sd-expert-diagram { border:1px solid #d9e2dd; background:#fff; padding:34px 39px; min-height:415px; position:relative; box-shadow:18px 20px 46px #12263309; }
.capsor-sysdev-main .sd-expert-diagram .sd-heading { font-size:10px; letter-spacing:.17em; color:#7b8f92; font-weight:900; margin-bottom:24px; display:flex; justify-content:space-between; }
.capsor-sysdev-main .sd-rings { display:grid; grid-template-columns:1fr; gap:10px; }
.capsor-sysdev-main .sd-ring-item { display:flex; gap:15px; align-items:center; padding:19px 21px; background:#f6f8f5; border:1px solid #e2e8e4; }
.capsor-sysdev-main .sd-ring-item .sd-circle { display:grid; place-items:center; background:#dbe7e2; color:#41635e; width:40px; height:40px; border-radius:50%; flex:none; font-size:17px; font-weight:800; }
.capsor-sysdev-main .sd-ring-item strong { font-size:14px; }
.capsor-sysdev-main .sd-ring-item small { display:block; color:#809191; font-size:10px; letter-spacing:.03em; margin-top:5px; line-height:1.6; }
.capsor-sysdev-main .sd-diagram-bottom { margin:20px 0 0; display:flex; gap:13px; align-items:center; color:#4c676e; font-size:12px; font-weight:800; }
.capsor-sysdev-main .sd-diagram-bottom .sd-dot { display:grid; place-items:center; background:var(--sd-accent); width:29px; height:29px; border-radius:50%; color:#fff; font-size:17px; }
.capsor-sysdev-main .sd-cta { background:#112a36; color:#fff; padding:105px 0 111px; position:relative; overflow:hidden; }
.capsor-sysdev-main .sd-cta:after { content:''; position:absolute; right:-155px; top:-190px; width:570px; height:570px; border-radius:50%; border:1px solid #476572; opacity:.65; }
.capsor-sysdev-main .sd-cta .sd-wrap { position:relative; z-index:2; }
.capsor-sysdev-main .sd-cta-flex { display:grid; grid-template-columns:1fr auto; gap:40px; align-items:end; }
.capsor-sysdev-main .sd-cta h2 { font-size:clamp(38px,5.3vw,74px); line-height:1.35; margin:24px 0 19px; }
.capsor-sysdev-main .sd-cta p { font-size:13px; color:#b4cbd1; line-height:2; margin:0; }
.capsor-sysdev-main .sd-cta-actions { display:flex; flex-direction:column; gap:11px; min-width:270px; }
.capsor-sysdev-main .sd-cta .sd-btn.sd-soft { border-color:#719098; color:#fff; }
.capsor-sysdev-main .sd-cta .sd-btn.sd-soft:hover { border-color:#fff; color:var(--sd-ink); background:#fff; }
.capsor-sysdev-main .sd-also { background:#fff; padding:65px 0; }
.capsor-sysdev-main .sd-also-inner { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.capsor-sysdev-main .sd-also .sd-eyebrow { font-size:9px; }
.capsor-sysdev-main .sd-also h2 { font-size:clamp(25px,3vw,38px); letter-spacing:-.05em; margin:12px 0 0; }
.capsor-sysdev-main .sd-also-links { display:flex; flex-wrap:wrap; gap:22px; }
.capsor-sysdev-main .sd-also-links a { display:block; font-size:12px; font-weight:850; border-bottom:1px solid #9db0b3; padding-bottom:10px; }
.capsor-sysdev-main .sd-also-links a:hover { color:var(--sd-accent); border-color:var(--sd-accent); }
@media(max-width:1180px) {
  .capsor-sysdev-main .sd-hero-title { font-size:clamp(51px,6vw,78px); }
  .capsor-sysdev-main .sd-hero-copy { padding-right:4%; }
  .capsor-sysdev-main .sd-hero-canvas { padding-left:4%; }
  .capsor-sysdev-main .sd-request-quote { font-size:25px; }
  .capsor-sysdev-main .sd-goal-list li { font-size:15px; }
  .capsor-sysdev-main .sd-viewpoint-grid { gap:5%; }
}
@media(max-width:1000px) {
  .capsor-sysdev-main .sd-hero-layout { min-height:618px; }
  .capsor-sysdev-main .sd-hero-copy { padding-top:80px; }
  .capsor-sysdev-main .sd-hero-title { font-size:clamp(47px,6.2vw,70px); }
  .capsor-sysdev-main .sd-hero-jp { font-size:clamp(24px,3.2vw,34px); }
  .capsor-sysdev-main .sd-hero-canvas { padding-inline:25px; margin-right:calc(-1*var(--sd-g)); }
  .capsor-sysdev-main .sd-canvas-tag { font-size:9px; }
  .capsor-sysdev-main .sd-request-quote { font-size:23px; }
  .capsor-sysdev-main .sd-strip-item { gap:9px; }
  .capsor-sysdev-main .sd-strip-item .sd-id { font-size:26px; }
  .capsor-sysdev-main .sd-strip-item strong { font-size:11px; }
  .capsor-sysdev-main .sd-philo-grid { gap:5%; }
  .capsor-sysdev-main .sd-why-box { padding:33px; }
  .capsor-sysdev-main .sd-area { padding:31px; }
  .capsor-sysdev-main .sd-process-step { padding-right:15px; }
  .capsor-sysdev-main .sd-process-step+.sd-process-step { padding-left:17px; }
}
@media(max-width:760px) {
  .capsor-sysdev-main { --sd-g:clamp(20px,5.65vw,30px); }
  .capsor-sysdev-main .sd-breadcrumbs .sd-wrap { flex-wrap:wrap; font-size:9px; }
  .capsor-sysdev-main .sd-hero-layout { grid-template-columns:1fr; display:flex; flex-direction:column; min-height:0; }
  .capsor-sysdev-main .sd-hero-copy { padding:66px 0 58px; }
  .capsor-sysdev-main .sd-hero-title { font-size:clamp(46px,9.7vw,79px); margin:0 0 16px; }
  .capsor-sysdev-main .sd-hero-jp { font-size:clamp(27px,6.2vw,41px); }
  .capsor-sysdev-main .sd-hero-intro { margin-bottom:30px; }
  .capsor-sysdev-main .sd-hero-description { font-size:13px; }
  .capsor-sysdev-main .sd-hero-actions { margin-top:30px; }
  .capsor-sysdev-main .sd-hero-tail { margin-top:38px; }
  .capsor-sysdev-main .sd-hero-canvas { margin:0 calc(-1*var(--sd-g)); padding:42px var(--sd-g) 45px; }
  .capsor-sysdev-main .sd-canvas-inner { max-width:540px; }
  .capsor-sysdev-main .sd-request-quote { font-size:clamp(20px,5.2vw,28px); }
  .capsor-sysdev-main .sd-why { height:88px; }
  .capsor-sysdev-main .sd-goal-list li { font-size:15px; }
  .capsor-sysdev-main .sd-strip-grid { grid-template-columns:1fr; }
  .capsor-sysdev-main .sd-strip-item { padding:18px 0; border-right:0; border-bottom:1px solid #e3eae7; }
  .capsor-sysdev-main .sd-strip-item:last-child { border-bottom:0; }
  .capsor-sysdev-main .sd-strip-item .sd-id { font-size:21px; }
  .capsor-sysdev-main .sd-strip-item strong { font-size:12px; }
  .capsor-sysdev-main .sd-philosophy { padding:81px 0 86px; }
  .capsor-sysdev-main .sd-philo-grid { grid-template-columns:1fr; gap:15px; }
  .capsor-sysdev-main .sd-philo-title { font-size:clamp(34px,7.9vw,55px); }
  .capsor-sysdev-main .sd-philo-right { padding-top:15px; }
  .capsor-sysdev-main .sd-philo-right p { font-size:13px; }
  .capsor-sysdev-main .sd-why-section, .capsor-sysdev-main .sd-areas, .capsor-sysdev-main .sd-process, .capsor-sysdev-main .sd-viewpoint { padding:83px 0 93px; }
  .capsor-sysdev-main .sd-section-head { display:flex; flex-direction:column; align-items:start; gap:21px; }
  .capsor-sysdev-main .sd-section-head h2 { font-size:clamp(34px,8.5vw,56px); }
  .capsor-sysdev-main .sd-section-head p { font-size:12px; margin:0; }
  .capsor-sysdev-main .sd-why-grid { grid-template-columns:1fr; margin-top:35px; }
  .capsor-sysdev-main .sd-why-box { min-height:255px; padding:30px; }
  .capsor-sysdev-main .sd-why-box h3 { font-size:clamp(29px,6.9vw,43px); }
  .capsor-sysdev-main .sd-area-grid { grid-template-columns:1fr; margin-top:38px; gap:10px; }
  .capsor-sysdev-main .sd-area { min-height:240px; padding:30px; }
  .capsor-sysdev-main .sd-area h3 { font-size:29px; }
  .capsor-sysdev-main .sd-process-flow { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:44px; }
  .capsor-sysdev-main .sd-process-step { min-height:265px; padding:28px 18px 32px 0; border-bottom:1px solid #4c6670; }
  .capsor-sysdev-main .sd-process-step+.sd-process-step { padding-left:18px; }
  .capsor-sysdev-main .sd-process-step:nth-child(even) { border-right:0; }
  .capsor-sysdev-main .sd-process-step:nth-child(n+3) { border-bottom:0; }
  .capsor-sysdev-main .sd-process-step .sd-latin { margin-bottom:27px; }
  .capsor-sysdev-main .sd-process-step h3 { font-size:25px; }
  .capsor-sysdev-main .sd-viewpoint-grid { grid-template-columns:1fr; gap:38px; }
  .capsor-sysdev-main .sd-viewpoint-title { font-size:clamp(36px,8.7vw,59px); }
  .capsor-sysdev-main .sd-expert-diagram { padding:27px 24px; min-height:0; }
  .capsor-sysdev-main .sd-cta { padding:83px 0 93px; }
  .capsor-sysdev-main .sd-cta-flex { grid-template-columns:1fr; gap:35px; }
  .capsor-sysdev-main .sd-cta h2 { font-size:clamp(36px,8.7vw,58px); }
  .capsor-sysdev-main .sd-cta-actions { min-width:0; max-width:440px; }
  .capsor-sysdev-main .sd-also { padding:56px 0; }
  .capsor-sysdev-main .sd-also-inner { flex-direction:column; align-items:start; }
}
@media(max-width:400px) {
  .capsor-sysdev-main .sd-hero-title { font-size:clamp(43px,10.2vw,52px); letter-spacing:-.088em; }
  .capsor-sysdev-main .sd-hero-actions .sd-btn { width:100%; }
  .capsor-sysdev-main .sd-canvas-tag { font-size:8px; }
  .capsor-sysdev-main .sd-request-card, .capsor-sysdev-main .sd-goal-card { padding:22px; }
  .capsor-sysdev-main .sd-goal-list li { font-size:14px; }
  .capsor-sysdev-main .sd-why-box h3 { font-size:29px; }
  .capsor-sysdev-main .sd-process-step h3 { font-size:22px; }
  .capsor-sysdev-main .sd-ring-item { padding:15px 12px; }
  .capsor-sysdev-main .sd-ring-item strong { font-size:12px; }
}
@media print {
  .capsor-sysdev-main .sd-process, .capsor-sysdev-main .sd-hero-canvas, .capsor-sysdev-main .sd-cta { print-color-adjust:exact; -webkit-print-color-adjust:exact; }
}
@media(prefers-reduced-motion:reduce) {
  .capsor-sysdev-main .sd-btn, .capsor-sysdev-main .sd-area { transition:none; }
  .capsor-sysdev-main .sd-btn:hover, .capsor-sysdev-main .sd-area:hover { transform:none; }
}
