/* Six consultation pages. Keep global header, footer and service styles independent. */
.si { --ink:#001961; --text:#202c40; --line:#c8d2df; --wash:#eff3f7; color:var(--text); font:400 16px/1.85 "Noto Sans JP",sans-serif; overflow-wrap:anywhere; }
.si *, .si *::before { box-sizing:border-box; }
.si :where(h1,h2,h3,p,figure,ol,ul,dl,dd) { margin:0; padding:0; }
.si-wrap { width:min(1080px,calc(100% - 64px)); margin-inline:auto; }
.si h1,.si h2,.si-sheet figcaption { font-family:"Noto Serif JP","Yu Mincho",serif; font-weight:700; color:var(--ink); line-height:1.45; }
.si h1 { margin-block:12px 20px; font-size:clamp(32px,3.5vw,52px); letter-spacing:.01em; }
.si h2 { font-size:clamp(26px,2.6vw,37px); }
.si h3 { color:var(--ink); font-size:19px; font-weight:700; }
.si p + p:not(.si-name) { margin-top:14px; }
.si a { color:var(--ink); text-underline-offset:.2em; }
.si :focus-visible { outline:3px solid #b33227; outline-offset:3px; }
.si [id] { scroll-margin-top:135px; }
.si-crumb { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding-top:124px; padding-bottom:8px; font-size:13px; }
.si-crumb a,.si-nav a,.si-back,.si-related a { min-width:44px; min-height:44px; display:inline-flex; align-items:center; text-decoration:underline; }
.si-hero { background:#eff3f8; border-block:1px solid var(--line); }
.si-hero-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.88fr); align-items:center; gap:clamp(32px,5vw,78px); padding-block:clamp(44px,6vw,84px); }
.si-kicker { color:#495c74; font-size:12px; font-weight:700; letter-spacing:.13em; }
.si-kicker span { margin-inline:5px; }
.si-name { color:var(--ink); font-size:18px; font-weight:700; margin-top:12px; }
.si-lead { max-width:42em; }
.si .si-button { display:inline-flex; justify-content:space-between; gap:16px; align-items:center; min-height:48px; padding:12px 20px; margin-top:22px; background:var(--ink); color:#fff; font-weight:700; text-decoration:none; }
.si .si-button:hover { background:#17377c; opacity:1; }
.si-sheet { background:#fff; border-top:4px solid var(--ink); padding:clamp(20px,2.4vw,34px); box-shadow:0 6px 22px #0019610d; }
.si-sheet figcaption { font-size:clamp(20px,1.7vw,25px); margin:10px 0 18px; }
.si-sheet ol { display:grid; gap:7px; list-style:none; }
.si-sheet li { background:var(--wash); padding:9px 12px; border-inline-start:3px solid #8397b4; }
.si-sheet strong,.si-sheet li span { display:block; }
.si-sheet strong { color:var(--ink); font-size:15px; }
.si-sheet li span { font-size:14px; }
.si-matrix ol,.si-dual ol,.si-compare ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
.si-matrix li { border-inline-start:0; border-top:2px solid #8091aa; }
.si-compare li:last-child,.si-dual li:last-child { background:#f7efe6; border-color:#a77a50; }
.si-journey ol { counter-reset:stage; }
.si-journey li { position:relative; padding-inline-start:40px; counter-increment:stage; }
.si-journey li::before { content:counter(stage,decimal-leading-zero); position:absolute; left:9px; top:11px; color:#485e7b; font-size:12px; }
.si-cascade li:nth-child(2) { margin-inline-start:7%; }
.si-cascade li:nth-child(3) { margin-inline-start:14%; }
.si-layers li { display:grid; grid-template-columns:4em 1fr; align-items:center; }
.si-nav { display:flex; gap:8px 28px; flex-wrap:wrap; padding-block:8px; border-bottom:1px solid var(--line); font-size:14px; font-weight:700; }
.si-section { padding-block:clamp(40px,5vw,72px); }
.si-columns { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr); gap:clamp(24px,5vw,72px); }
.si-section .si-kicker,.si-end .si-kicker { margin-bottom:9px; }
.si-muted { background:#f4f6f8; }
.si-lines { list-style:none; border-top:1px solid var(--line); }
.si-lines li { padding:10px 4px; border-bottom:1px solid var(--line); }
.si-pair { display:grid; grid-template-columns:1fr 1fr; gap:25px; margin:24px 0; }
.si-pair > div { padding:18px 0; border-block-start:3px solid var(--ink); }
.si-pair p { margin-top:8px; }
.si-examples,.si-related { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:12px; }
.si-examples { list-style:none; }
.si-examples li { border:1px solid var(--line); padding:5px 12px; color:var(--ink); }
.si-note { margin-top:14px; color:#455773; font-size:14px; }
.si-related a { gap:6px; font-weight:700; }
.si-faq dt { padding-top:12px; border-top:1px solid var(--line); color:var(--ink); font-weight:700; }
.si-faq dd { padding:8px 0 20px; }
.si-end { padding-block:clamp(40px,5vw,68px); background:var(--ink); color:white; }
.si-end :is(h2,.si-kicker,.si-back) { color:white; }
.si-end .si-button { background:white; color:var(--ink); }
.si-end .si-button:hover { background:#e8edf5; }
.si-back { margin-inline-start:20px; }
@media(max-width:800px) {
  .si-hero-grid,.si-columns { grid-template-columns:1fr; gap:24px; }
  .si-sheet { max-width:580px; }
  .si-crumb { padding-top:84px; }
  .si [id] { scroll-margin-top:84px; }
}
@media(max-width:540px) {
  .si-wrap { width:calc(100% - 36px); }
  .si-hero-grid { padding-block:28px; }
  .si h1 { font-size:30px; }
  .si-kicker { font-size:12px; }
  .si-nav { gap:4px 14px; }
  .si-pair { grid-template-columns:1fr; gap:0; }
  .si-end .si-back { display:flex; width:fit-content; margin:10px 0 0; }
}
