/* ===== SFJ additions (2026-10) ===== */
.nw{display:inline-block}
.brand img{width:51px;height:51px}
.catalyst__core img{width:116px;height:116px;object-fit:contain}
/* business architecture */
.sfj-arch{margin-top:70px;border:1px solid #ff64088c;padding:36px 32px 32px;color:#fff;text-align:center}
.sfj-arch small{display:block;color:#ffb347;letter-spacing:.23em;font-size:11px;font-weight:800}
.sfj-arch ol{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #ffffff26;border-bottom:1px solid #ffffff26;text-align:left}
.sfj-arch li{padding:22px 18px;border-left:1px solid #ffffff26;display:flex;flex-direction:column;gap:8px;position:relative}
.sfj-arch li:first-child{border-left:0}
.sfj-arch li span{color:#ffb347;font-family:var(--font-sfj);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.sfj-arch li b{font-family:var(--font-sfj);font-size:13px;letter-spacing:.06em;line-height:1.45}
.sfj-arch li em{font-style:normal;color:#fff9;font-size:12px;line-height:1.7}
.sfj-arch__loop{margin-top:18px;color:#ffb347;font-size:12px;font-weight:800;letter-spacing:.18em}
.sfj-arch strong{display:block;max-width:940px;margin:22px auto 0;font-family:var(--font-sfj);font-size:clamp(15px,1.5vw,18px);font-weight:600;line-height:1.9}
/* projects */
.projects{border-top:1px solid var(--line);padding:104px clamp(32px,8vw,120px) 64px;background:var(--paper)}
.projects__list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--navy)}
.projects__list article{padding:36px 28px 32px;border-left:1px solid var(--line);display:flex;flex-direction:column}
.projects__list article:first-child{border-left:0;padding-left:0}
.projects__q{color:var(--orange);font-size:13px;font-weight:700;letter-spacing:.04em}
.projects__list h3{font-family:var(--font-sfj);font-size:clamp(22px,2.2vw,30px);font-weight:700;letter-spacing:.03em;margin:14px 0 16px}
.projects__list article>p:not(.projects__q){color:var(--muted);font-size:14px;line-height:1.95}
.projects__tags{margin-top:auto;padding-top:24px;display:flex;flex-wrap:wrap;gap:6px}
.projects__tags span{font-size:11px;font-weight:700;letter-spacing:.05em;padding:4px 10px;border:1px solid var(--line);border-radius:999px;color:var(--navy)}
.projects__cycle{margin-top:40px;padding:22px 26px;background:var(--navy);color:#ffffffc7;font-size:14px;line-height:1.9}
.projects__cycle b{color:#fff;margin-right:12px}
/* organization */
.org{grid-column:1/-1;margin:24px 0 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff33}
.org>div{padding:20px 18px 0 0}
.org dt{color:#ffb347;font-size:11px;font-weight:800;letter-spacing:.16em}
.org dd{margin:8px 0 0;font-size:14px;line-height:1.7;color:#fff}
.todo{background:#fff3c4;color:#6b4e00;border-radius:3px;padding:1px 6px;font-weight:600}
@media (max-width:900px){
  .sfj-arch{padding:28px 20px}
  .sfj-arch ol{grid-template-columns:1fr}
  .sfj-arch li{border-left:0;border-top:1px solid #ffffff26}
  .sfj-arch li:first-child{border-top:0}
  .projects{padding:84px 28px 48px}
  .projects__list{grid-template-columns:1fr}
  .projects__list article,.projects__list article:first-child{border-left:0;border-top:1px solid var(--line);padding:28px 0}
  .projects__list article:first-child{border-top:0}
  .org{grid-template-columns:1fr;gap:0}
}
@media (max-width:520px){ .org{grid-template-columns:1fr} }

/* ecosystem diagram (replaces sfj-ecosystem.jpeg) */
.eco{margin:0}
.eco__flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 64px 1.08fr 64px 1fr 64px 1fr;align-items:stretch}
.eco__node{background:#fff;border:1px solid var(--line);padding:28px 22px 26px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:236px}
.eco__num{font-family:var(--font-sfj);color:var(--orange);font-size:12px;font-weight:800;letter-spacing:.2em}
.eco__node b{font-family:var(--font-sfj);color:var(--navy);font-size:clamp(20px,1.9vw,26px);font-weight:700;letter-spacing:.02em;margin-top:6px;line-height:1.3}
.eco__node em{font-style:normal;color:var(--muted);font-size:13px;line-height:1.7}
.eco__tags{margin-top:auto;padding-top:16px;display:flex;flex-wrap:wrap;gap:5px}
.eco__tags span{font-size:11px;font-weight:700;letter-spacing:.04em;padding:3px 9px;border:1px solid var(--line);border-radius:999px;color:var(--navy);background:#fff}
.eco__node--core{background:var(--navy);border-color:var(--navy);align-items:center;text-align:center;position:relative;box-shadow:0 0 0 6px #ff640814}
.eco__node--core img{width:64px;height:64px}
.eco__node--core b{color:#fff;font-size:clamp(26px,2.4vw,34px);letter-spacing:.06em;margin-top:8px}
.eco__node--core em{color:#ffb347;font-size:12px;font-weight:800;letter-spacing:.24em}
.eco__node--core .eco__tags{justify-content:center}
.eco__node--core .eco__tags span{background:transparent;color:#fff;border-color:#ffffff40}
.eco__arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;position:relative}
.eco__arrow:before{content:"";width:100%;height:1px;background:var(--orange)}
.eco__arrow:after{content:"";position:absolute;right:2px;top:50%;width:8px;height:8px;border-top:1.5px solid var(--orange);border-right:1.5px solid var(--orange);transform:translateY(-50%) rotate(45deg)}
.eco__arrow span{position:absolute;top:calc(50% - 30px);font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--orange);white-space:nowrap}
.eco__return{position:relative;height:66px;margin:0 calc((100% - 192px) / 4.08 / 2);border:1.5px solid var(--orange);border-top:0;border-radius:0 0 34px 34px;display:flex;justify-content:center}
.eco__return:before{content:"";position:absolute;left:-6px;top:-1px;width:9px;height:9px;border-top:1.5px solid var(--orange);border-left:1.5px solid var(--orange);transform:rotate(45deg);background:transparent}
.eco__return span{position:absolute;bottom:-14px;background:linear-gradient(#fbfcfe,#f9fbff);padding:2px 18px;display:flex;flex-direction:column;align-items:center;text-align:center;font-size:12px;color:var(--muted);line-height:1.6}
.eco__return b{font-family:var(--font-sfj);color:var(--navy);font-size:15px;font-weight:700;letter-spacing:.06em}
.eco__vision{margin:58px 0 0;display:flex;align-items:center;gap:20px;color:var(--navy);font-size:13px;font-weight:700;letter-spacing:.08em}
.eco__vision:before,.eco__vision:after{content:"";flex:1;height:1px;background:var(--line)}
@media (max-width:900px){
  .eco__flow{grid-template-columns:1fr}
  .eco__node{min-height:0;padding:22px 20px}
  .eco__arrow{height:52px}
  .eco__arrow:before{width:1px;height:100%}
  .eco__arrow:after{right:auto;left:calc(50% - 4px);top:auto;bottom:2px;transform:rotate(135deg)}
  .eco__arrow span{top:auto;left:calc(50% + 14px)}
  .eco__return{height:auto;margin:16px 0 0;border:1.5px solid var(--orange);border-radius:12px;padding:18px 16px}
  .eco__return:before{display:none}
  .eco__return span{position:static;background:none;padding:0}
  .eco__return b:before{content:"↺ ";color:var(--orange)}
  .eco__vision{margin-top:32px;font-size:12px;text-align:center}
}

/* merged from concept diagram */
.catalyst__flow em{font-style:normal;color:#ffffff80;font-size:11px;line-height:1.5}
.catalyst__promise{margin-top:64px;text-align:center;color:#fff;font-family:var(--font-sfj);font-size:clamp(18px,2vw,26px);font-weight:600;line-height:1.7;letter-spacing:.02em}
.vision__path--six span{min-width:0;flex:1;text-align:center;align-items:center}
.vision__path--six b{font-size:12px;letter-spacing:.08em}
@media (max-width:900px){.catalyst__promise{margin-top:44px}.vision__path--six span{flex:none}}

/* simple top page (2026-10-03) */
.simple__h3{font-family:var(--font-sfj);font-size:clamp(18px,1.8vw,24px);font-weight:700;letter-spacing:.02em;margin-bottom:8px}
.simple__note{margin-top:28px;padding:18px 22px;background:#fff7ed;color:var(--navy);font-size:14px;line-height:1.9}
.simple__projects h3{margin-top:0}
.simple__projects article{padding-top:30px}
.simple__vision-h2{font-size:clamp(28px,4vw,52px) !important;letter-spacing:-.01em !important;line-height:1.35 !important}
.vision .text-link{margin-top:36px}
.simple__group{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--orange);margin:0 0 14px}
.simple__projects + .simple__group{margin-top:56px}
.projects__list.simple__projects{grid-template-columns:repeat(2,1fr)}
.projects .projects__list:not(.simple__projects){grid-template-columns:repeat(2,1fr)}
.projects .projects__list article:nth-child(odd){border-left:0;padding-left:0}
.projects .projects__list article:nth-child(even){padding-left:28px}
.projects .projects__list article:nth-child(n+3){border-top:1px solid var(--line)}
@media (max-width:900px){.projects .projects__list,.projects .projects__list.simple__projects,.projects .projects__list:not(.simple__projects){grid-template-columns:1fr}.projects .projects__list article,.projects .projects__list article:nth-child(even){padding-left:0;border-left:0}.projects .projects__list article:nth-child(n+2){border-top:1px solid var(--line)}}
@media (max-width:900px){.hero__lead br.pc{display:none}}

/* v5 */
.simple__loop{margin-top:28px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--orange);font-size:13px;font-weight:700;letter-spacing:.08em;text-align:center}
.simple__loop span{font-size:22px;line-height:1}
.eco--compact{margin:0 0 56px}
.eco--compact .eco__node{min-height:0}
.simple__group--gap{margin-top:56px}
.projects .projects__list + .simple__group{margin-top:56px}
