/* ================================================================
   index.css — BEM トップ「あわいの橋 / The Seam」ページ専用スタイル
   ------------------------------------------------------------------
   ・index.html からのみ読み込む（共有 style.css / script.js とは非マージ）。
   ・全スタイルは <main class="seam-home"> 配下にスコープし、
     共通 header/footer（components.js が注入する .nav / .footer）には一切適用しない。
   ・Seam カンプ由来クラスは衝突回避のため .sm- 名前空間へ改名。
   ・カラー/書体トークンは :root ではなく .seam-home に定義（他ページ非汚染）。
   ・書体 Noto Sans JP は共有 style.css の @import を再利用（ここでは再取得しない）。
   ================================================================ */

.seam-home{
  --paper:#F5EFE6;
  --paper-deep:#EDE2CF;
  --ink:#22252A;
  --ink-mid:#4E5258;
  --navy:#101820;
  --navy-2:#18222E;
  --navy-line:#2E3B4A;
  --cool:#E8E4DC;
  --cool-dim:#8FA0B5;
  --cool-body:#B9C2CC;
  --seam:#C24A2E;
  --seam-bright:#E06A4A;
  --seam-ink:#A5331C;
  --mincho:'Shippori Mincho','Noto Sans JP',serif;
  --gothic:'Noto Sans JP',sans-serif;
  --mono:'IBM Plex Mono','Noto Sans JP',monospace;
  --grotesk:'IBM Plex Mono','Noto Sans JP',sans-serif;

  position:relative;
  font-family:var(--gothic);
  color:var(--ink);
  background:linear-gradient(90deg,var(--paper) 0%,var(--paper) 50%,var(--navy) 50%,var(--navy) 100%);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
.seam-home *{margin:0;padding:0;box-sizing:border-box}
.seam-home a{color:inherit}
.seam-home img{max-width:100%}
.seam-home ::selection{background:var(--seam);color:#fff}

/* 恒常の縫い目（seam-home 中央を貫く緋の糸。合流セクションの不透明背景が上に被り"合流"を表す） */
.seam-home::after{
  content:'';position:absolute;left:50%;top:0;height:100%;width:1px;margin-left:-.5px;
  background:linear-gradient(180deg,rgba(194,74,46,0) 0%,rgba(194,74,46,.4) 15%,rgba(194,74,46,.4) 85%,rgba(194,74,46,0) 100%);
  z-index:0;pointer-events:none;
}

/* ---------- 共通部品 ---------- */
.seam-home .sm-sec-label{font-family:var(--mono);font-size:.72rem;letter-spacing:.28em;color:var(--seam-ink);text-transform:uppercase;display:block;margin-bottom:1rem}
.seam-home .sm-sec-label::before{content:'— ';color:var(--seam-ink)}
.seam-home .sm-col-r .sm-sec-label{color:var(--seam-bright)}          /* 紺(右トラック)面はAA確保のため明るい緋 */
.seam-home .sm-col-r .sm-sec-label::before{color:var(--seam-bright)}
.seam-home .sm-btn{display:inline-block;padding:.9rem 2rem;font-size:.9rem;font-weight:600;text-decoration:none;letter-spacing:.06em;transition:all .3s;cursor:pointer}
.seam-home .sm-btn-seam{background:var(--seam);color:#fff;box-shadow:0 2px 0 rgba(0,0,0,.15)}
.seam-home .sm-btn-seam:hover{background:var(--seam-bright);transform:translateY(-2px);box-shadow:0 10px 24px rgba(194,74,46,.35)}
.seam-home .sm-btn-ghost-w{border:1px solid var(--ink);color:var(--ink);font-family:var(--mincho)}
.seam-home .sm-btn-ghost-w:hover{background:var(--ink);color:var(--paper)}
.seam-home .sm-btn-ghost-c{border:1px solid var(--cool);color:var(--cool);font-family:var(--mono);font-size:.82rem}
.seam-home .sm-btn-ghost-c:hover{background:var(--cool);color:var(--navy)}

/* 出現アニメーション（左の声は左から、右の記述は右から、縫い目へ歩み寄って現れる） */
.seam-home .sm-rv{opacity:0;transition:opacity .8s cubic-bezier(.22,.7,.3,1),transform .8s cubic-bezier(.22,.7,.3,1)}
.seam-home .sm-rv-l{transform:translateX(-28px)}
.seam-home .sm-rv-r{transform:translateX(28px)}
.seam-home .sm-rv-u{transform:translateY(26px)}
.seam-home .sm-rv.sm-in{opacity:1;transform:translate(0,0)}
.seam-home .sm-d1{transition-delay:.1s}.seam-home .sm-d2{transition-delay:.2s}.seam-home .sm-d3{transition-delay:.3s}.seam-home .sm-d4{transition-delay:.4s}

/* 対岸ハイライト（hoverで対応関係が光る） */
.seam-home [data-pair]{transition:background .35s,box-shadow .35s;position:relative}
.seam-home [data-pair].sm-lit{background:rgba(194,74,46,.08);box-shadow:inset 3px 0 0 var(--seam)}
.seam-home .sm-col-r [data-pair].sm-lit{background:rgba(224,106,74,.1);box-shadow:inset -3px 0 0 var(--seam)}
.seam-home [data-pair].sm-lit::after{
  content:'';position:absolute;top:50%;width:4.2rem;border-top:1px dashed var(--seam);opacity:.9;
}
.seam-home .sm-col-l [data-pair].sm-lit::after{right:-4.4rem}
.seam-home .sm-col-r [data-pair].sm-lit::after{left:-4.4rem}

/* ================= HERO（二流の合流） ================= */
.seam-home .sm-hero{position:relative;min-height:100vh;padding-top:60px}
.seam-home .sm-hero-inner{
  display:grid;grid-template-columns:1fr minmax(300px,34vw) 1fr;
  min-height:calc(100vh - 60px);
}
.seam-home .sm-hero-side{position:relative;display:flex;flex-direction:column;justify-content:center}
.seam-home .sm-hero-l{padding:4rem 2.5rem 4rem max(2.5rem,calc(50vw - 17vw - 560px));}
.seam-home .sm-hero-r{padding:4rem max(2.5rem,calc(50vw - 17vw - 560px)) 4rem 2.5rem;}
/* 半面の質感：左=紙の目、右=図面グリッド */
.seam-home .sm-hero-l::after{content:'';position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(34,37,42,.06) 1px,transparent 1px);background-size:26px 26px}
.seam-home .sm-hero-r::after{content:'';position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(232,228,220,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(232,228,220,.045) 1px,transparent 1px);
  background-size:44px 44px}
/* 注: Seamの '業務'/'IT' 巨大透かし(::before)は本番トップでは非採用(追加可視テキストを避ける) */
.seam-home .sm-hero-badge{
  position:absolute;left:50%;top:96px;transform:translateX(-50%);z-index:6;
  background:var(--seam);color:#fff;padding:.45rem 1.4rem;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;white-space:nowrap;
  box-shadow:0 4px 18px rgba(194,74,46,.4);
}
.seam-home .sm-hero-badge::before,.seam-home .sm-hero-badge::after{
  content:'';position:absolute;top:50%;width:2.2rem;border-top:1px dashed rgba(194,74,46,.8);
}
.seam-home .sm-hero-badge::before{right:100%;margin-right:.6rem}
.seam-home .sm-hero-badge::after{left:100%;margin-left:.6rem}

.seam-home .sm-hero-title{
  font-family:var(--mincho);font-weight:700;
  font-size:clamp(1.5rem,2.35vw,2.15rem);line-height:1.85;letter-spacing:.04em;
  margin-bottom:1.6rem;position:relative;z-index:2;
}
.seam-home .sm-hero-title .sm-vm{color:var(--seam)}
.seam-home .sm-hero-lead{
  font-family:var(--mincho);font-size:.98rem;line-height:2.3;color:var(--ink-mid);
  margin-bottom:2.4rem;position:relative;z-index:2;
}
.seam-home .sm-hero-voice-tag{font-family:var(--mono);font-size:.66rem;letter-spacing:.3em;color:var(--seam-ink);margin-bottom:1.6rem}

.seam-home .sm-hero-spec{
  font-family:var(--mono);font-size:.9rem;line-height:2.5;color:#C6D0DB;
  margin-bottom:2.4rem;position:relative;z-index:2;
}
.seam-home .sm-hero-spec .sm-tok{
  display:inline-block;border:1px solid rgba(224,106,74,.55);color:var(--cool);
  padding:.1rem .55rem;margin:0 .1rem;font-size:.82rem;background:rgba(224,106,74,.08);
}
.seam-home .sm-hero-r .sm-hero-voice-tag{color:var(--seam-bright)}

/* 縫い目のヒーロー3D（二流が撚り合う編み紐） */
.seam-home .sm-hero-braid{position:relative;overflow:hidden}
.seam-home .sm-hero-braid::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(16,24,32,0) 0%,rgba(16,24,32,.42) 30%,rgba(16,24,32,.66) 50%,rgba(16,24,32,.42) 70%,rgba(16,24,32,0) 100%);
}
.seam-home #braidCanvas{position:absolute;inset:0}
.seam-home #braidCanvas canvas{display:block;width:100%;height:100%}
.seam-home .sm-hero-caption{
  position:absolute;left:50%;bottom:2.2rem;transform:translateX(-50%);width:88%;z-index:3;
  text-align:center;font-family:var(--mincho);font-size:.82rem;line-height:1.9;color:#EDE7DC;
  text-shadow:0 1px 8px rgba(16,24,32,.9);
}
.seam-home .sm-hero-caption strong{color:var(--seam-bright);font-weight:700}
.seam-home .sm-hero-caption::after{
  content:'';display:block;width:1px;height:3.4rem;margin:.9rem auto -3.4rem;
  background:repeating-linear-gradient(180deg,var(--seam) 0 6px,transparent 6px 12px);
  animation:sm-threadDown 2.4s linear infinite;
}
@keyframes sm-threadDown{from{background-position:0 0}to{background-position:0 24px}}

/* ================= 二声トラック（恒常分割） ================= */
.seam-home .sm-dual{position:relative;display:grid;grid-template-columns:1fr 1fr}
.seam-home .sm-col{position:relative}
.seam-home .sm-cin{max-width:600px;will-change:transform}
.seam-home .sm-col-l .sm-cin{margin-left:auto;padding:7rem 4.6rem 8rem 2.5rem}
.seam-home .sm-col-r .sm-cin{margin-right:auto;padding:7rem 2.5rem 8rem 4.6rem}
.seam-home .sm-dual-b .sm-col-l .sm-cin{padding-right:3rem}
.seam-home .sm-dual-b .sm-col-r .sm-cin{padding-left:3rem}

/* 左の声 */
.seam-home .sm-sec-title-l{font-family:var(--mincho);font-weight:700;font-size:clamp(1.45rem,2vw,1.85rem);line-height:1.8;letter-spacing:.05em;margin-bottom:1rem}
.seam-home .sm-sec-sub-l{font-family:var(--mincho);font-size:.92rem;line-height:2.1;color:var(--ink-mid)}
.seam-home .sm-q{position:relative;padding:2.3rem 0 2.3rem 3.8rem;border-bottom:1px dashed rgba(34,37,42,.2)}
.seam-home .sm-q:last-of-type{border-bottom:none}
.seam-home .sm-qn{position:absolute;left:.2rem;top:2.1rem;font-family:var(--mincho);font-weight:600;font-size:1.7rem;color:var(--seam);line-height:1}
.seam-home .sm-qn::after{content:'';display:block;width:2.2rem;border-top:1px solid rgba(194,74,46,.5);margin-top:.5rem}
.seam-home .sm-q p{font-family:var(--mincho);font-size:1.12rem;line-height:2.15;letter-spacing:.03em}
.seam-home .sm-q strong{font-weight:700;background:linear-gradient(transparent 70%,rgba(194,74,46,.3) 70%)}

/* 右の記述 */
.seam-home .sm-sec-title-r{font-family:var(--gothic);font-weight:700;font-size:clamp(1.3rem,1.8vw,1.6rem);letter-spacing:.12em;color:var(--cool);margin-bottom:1rem}
.seam-home .sm-sec-sub-r{font-family:var(--mono);font-size:.8rem;line-height:2;color:#C6D0DB}
.seam-home .sm-svc{border-top:1px solid rgba(232,228,220,.14);padding:1.8rem .6rem 1.8rem 1.1rem;margin-top:.4rem}
.seam-home .sm-svc.sm-featured{border-left:2px solid var(--seam);background:rgba(224,106,74,.05)}
.seam-home .sm-svc-head{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;margin-bottom:.8rem}
.seam-home .sm-svc-idx{font-family:var(--mono);font-weight:600;font-size:.9rem;color:var(--seam-bright)}
.seam-home .sm-svc-idx::after{content:' /';color:var(--cool-dim)}
.seam-home .sm-svc h3{font-family:var(--gothic);font-weight:700;font-size:1.14rem;letter-spacing:.06em;color:var(--cool)}
.seam-home .sm-svc-sub{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;color:#A9B6C4;border:1px solid var(--navy-line);padding:.18rem .6rem}
.seam-home .sm-svc p{font-size:.86rem;line-height:2;color:#C6D0DB}
.seam-home .sm-svc-note{font-family:var(--mono);font-size:.74rem;line-height:2.1;color:var(--seam-bright);margin:1.8rem 0;padding-top:1.4rem;border-top:1px dashed rgba(232,228,220,.2)}

/* SIer・コンサル向け（右トラック内の別枠） */
.seam-home .sm-sier{border:1px dashed rgba(232,228,220,.35);padding:2.2rem 2rem;margin-top:3.5rem;position:relative;background:rgba(24,34,46,.55)}
.seam-home .sm-sier::before{content:'';position:absolute;top:-5px;left:50%;width:9px;height:9px;margin-left:-4.5px;background:var(--seam);transform:rotate(45deg)}
.seam-home .sm-sier h2{font-family:var(--gothic);font-weight:700;font-size:1.25rem;letter-spacing:.1em;color:#fff;margin-bottom:.9rem}
.seam-home .sm-sier p{font-size:.85rem;line-height:2.05;color:var(--cool-body);margin-bottom:1.6rem}

/* ---------- 縫い目（シーム）ガター ---------- */
.seam-home .sm-seam{
  position:absolute;left:50%;top:0;height:100%;width:9.2rem;transform:translateX(-50%);
  z-index:5;pointer-events:none;display:flex;flex-direction:column;
}
.seam-home .sm-thread{position:absolute;left:50%;top:0;bottom:0;width:0;border-left:1px dashed rgba(194,74,46,.45)}
.seam-home .sm-thread-fill{
  position:absolute;left:calc(50% - 1px);top:0;height:100%;width:2px;
  background:linear-gradient(180deg,var(--seam),var(--seam-bright));
  transform:scaleY(0);transform-origin:top;box-shadow:0 0 14px rgba(224,106,74,.55);
}
.seam-home .sm-needle-wrap{position:sticky;top:46vh;height:0;z-index:4;display:flex;flex-direction:column;align-items:center}
.seam-home .sm-needle{width:11px;height:11px;background:var(--seam);transform:rotate(45deg);animation:sm-pulse 2.2s ease-out infinite}
@keyframes sm-pulse{0%{box-shadow:0 0 0 0 rgba(194,74,46,.55)}75%{box-shadow:0 0 0 14px rgba(194,74,46,0)}100%{box-shadow:0 0 0 0 rgba(194,74,46,0)}}
.seam-home .sm-needle-label{margin-top:.7rem;font-family:var(--mono);font-size:.62rem;letter-spacing:.34em;color:var(--seam-ink);background:var(--paper);padding:.14rem .5rem;border-radius:2px}
.seam-home .sm-stitches{flex:1;display:flex;flex-direction:column;justify-content:space-evenly;align-items:center;padding:16vh 0;position:relative;z-index:2}
.seam-home .sm-stitch{
  pointer-events:auto;position:relative;width:100%;text-align:center;
  background:var(--paper);
  border:1px solid var(--seam);padding:.85rem .45rem .75rem;
  box-shadow:0 6px 22px rgba(16,24,32,.25);transition:transform .3s;
}
.seam-home .sm-stitch:hover{transform:scale(1.06)}
.seam-home .sm-stitch svg{display:block;margin:0 auto .45rem}
.seam-home .sm-stitch h4{font-family:var(--mincho);font-weight:700;font-size:.78rem;line-height:1.7;letter-spacing:.04em;color:var(--seam-ink)}
/* 説明文は常時可視（SR/キーボードから取得できるよう display:none のホバー限定を廃止） */
.seam-home .sm-stitch .sm-tip{
  display:block;margin-top:.45rem;
  font-family:var(--mono);font-size:.66rem;line-height:1.75;color:var(--ink-mid);text-align:left;
}

/* ================= 合流1: Go/No-Go（初めての全幅） ================= */
.seam-home .sm-merge-melt{
  position:relative;z-index:1;padding:9rem 2rem;
  background:linear-gradient(100deg,#F5EFE6 0%,#F3E7D3 49%,#C24A2E 50%,#24303F 51%,#101820 100%);
}
.seam-home .sm-gonogo-panel{
  max-width:900px;margin:0 auto;padding:3.4rem 3.2rem;position:relative;
  background:rgba(14,18,24,.84);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border:1px dashed rgba(224,106,74,.65);color:var(--cool);
}
.seam-home .sm-gonogo-panel::before,.seam-home .sm-gonogo-panel::after{
  content:'';position:absolute;left:50%;width:11px;height:11px;margin-left:-5.5px;
  background:var(--seam);transform:rotate(45deg);
}
.seam-home .sm-gonogo-panel::before{top:-6px}
.seam-home .sm-gonogo-panel::after{bottom:-6px}
.seam-home .sm-gonogo-panel h3{
  font-family:var(--mincho);font-weight:700;font-size:clamp(1.3rem,2vw,1.7rem);
  line-height:1.9;letter-spacing:.04em;margin-bottom:1.8rem;color:#fff;
}
.seam-home .sm-axes{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-bottom:1.8rem}
.seam-home .sm-axis{font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;padding:.45rem .85rem;border:1px solid}
.seam-home .sm-axis:nth-child(4n+1){border-color:rgba(232,180,140,.5);color:#F0DCC0}
.seam-home .sm-axis:nth-child(4n+3){border-color:rgba(127,180,216,.5);color:#CFE2F2}
.seam-home .sm-axsep{width:.9rem;border-top:1px dashed var(--seam);flex-shrink:0}
.seam-home .sm-gonogo-panel .sm-verdict{font-family:var(--mincho);font-size:.94rem;line-height:2.2;color:var(--cool);margin-bottom:1.4rem}
.seam-home .sm-gonogo-panel .sm-verdict strong{color:var(--seam-bright);font-weight:700}
.seam-home .sm-gonogo-panel .sm-boundary{font-family:var(--mincho);font-size:.94rem;line-height:2.2;margin-bottom:2.2rem;padding-left:1.1rem;border-left:2px solid var(--seam)}
.seam-home .sm-gonogo-panel .sm-boundary strong{font-weight:700;color:#fff}
.seam-home .sm-gonogo-panel .sm-boundary span{color:var(--cool-dim)}
.seam-home .sm-gonogo-panel .sm-boundary a{color:var(--seam-bright)}
.seam-home .sm-gonogo-panel .sm-sec-label{color:var(--seam-bright)}
.seam-home .sm-gonogo-panel .sm-sec-label::before{color:var(--seam-bright)}

/* Go/No-Go 6観点の順次点灯（staggered reveal） */
.seam-home .sm-gng-light{opacity:.28;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease,border-color .5s ease,color .5s ease}
.seam-home .sm-gng-light.sm-on{opacity:1;transform:translateY(0)}

/* ================= 合流2: Why BEM（共有の紙に書かれる合意） ================= */
.seam-home .sm-merge-paper{position:relative;z-index:1;background:var(--paper);padding:8rem 2rem;
  background-image:radial-gradient(rgba(34,37,42,.05) 1px,transparent 1px);background-size:26px 26px}
.seam-home .sm-merge-paper .sm-win{max-width:940px;margin:0 auto}
.seam-home .sm-whybem-head{text-align:center;margin-bottom:4rem}
.seam-home .sm-whybem-head .sm-en{font-family:var(--mono);font-size:.74rem;letter-spacing:.34em;color:var(--seam-ink);display:block;margin-bottom:1.1rem}
.seam-home .sm-whybem-head h2{font-family:var(--mincho);font-weight:700;font-size:clamp(2rem,3.6vw,2.9rem);letter-spacing:.1em;margin-bottom:1.4rem}
.seam-home .sm-whybem-head h2::after{content:'';display:block;width:5.5rem;margin:1.4rem auto 0;border-top:2px solid var(--seam)}
.seam-home .sm-whybem-head p{font-family:var(--mincho);font-size:.92rem;line-height:2.2;color:var(--ink-mid);max-width:680px;margin:0 auto}
.seam-home .sm-agree-row{
  display:grid;grid-template-columns:minmax(230px,1fr) minmax(50px,.5fr) 1.6fr;align-items:center;gap:1.3rem;
  padding:1.7rem .8rem;border-bottom:1px solid rgba(34,37,42,.14);transition:background .3s;
}
.seam-home .sm-agree-row:first-of-type{border-top:1px solid rgba(34,37,42,.14)}
.seam-home .sm-agree-row:hover{background:rgba(194,74,46,.05)}
.seam-home .sm-agree-row h3{font-family:var(--mincho);font-weight:700;font-size:1.18rem;letter-spacing:.05em}
.seam-home .sm-agree-row h3 .sm-no{font-family:var(--mono);font-weight:500;font-size:.72rem;color:var(--seam-ink);display:block;margin-bottom:.35rem;letter-spacing:.2em}
.seam-home .sm-agree-dots{border-top:2px dotted var(--seam);opacity:.65}
.seam-home .sm-agree-row p{font-family:var(--mono);font-size:.8rem;line-height:2;color:var(--ink-mid)}

/* ================= 二声トラックB（About × 実績） ================= */
.seam-home .sm-dual-b .sm-seam{width:4.4rem}
.seam-home .sm-dual-b .sm-col-l .sm-cin{padding:7rem 3rem 8rem 2.5rem}
.seam-home .sm-dual-b .sm-col-r .sm-cin{padding:7rem 2.5rem 8rem 3rem}

.seam-home .sm-about-name{display:flex;align-items:center;gap:1.4rem;margin:2.2rem 0 1.4rem}
.seam-home .sm-avatar{flex-shrink:0;width:84px;height:84px;border-radius:50%;object-fit:cover;border:2px solid var(--seam);box-shadow:0 4px 16px rgba(34,37,42,.18)}
.seam-home .sm-about-name h3{font-family:var(--grotesk);font-weight:600;font-size:1.2rem;letter-spacing:.05em}
.seam-home .sm-about-name .sm-role{font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;color:var(--seam-ink);margin-top:.3rem}
.seam-home .sm-bio{font-family:var(--mincho);font-size:.9rem;line-height:2.25;color:var(--ink-mid);margin-bottom:2.6rem}
.seam-home .sm-about-body{font-family:var(--mincho);font-size:.92rem;line-height:2.25;color:var(--ink-mid);margin-bottom:2.2rem}
.seam-home .sm-pt{position:relative;padding:1.25rem 0 1.25rem 1.6rem;border-bottom:1px dashed rgba(34,37,42,.18)}
.seam-home .sm-pt::before{content:'';position:absolute;left:.15rem;top:1.85rem;width:7px;height:7px;background:var(--seam);transform:rotate(45deg)}
.seam-home .sm-pt h4{font-family:var(--mincho);font-weight:700;font-size:1.04rem;letter-spacing:.04em;margin-bottom:.45rem}
.seam-home .sm-pt p{font-family:var(--mincho);font-size:.85rem;line-height:2.05;color:var(--ink-mid)}

.seam-home .sm-glance{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--navy-line);margin:1.6rem 0 4rem}
.seam-home .sm-g-item{flex:1 1 25%;min-width:120px;padding:1.5rem 1rem;text-align:center;border-right:1px dashed var(--navy-line)}
.seam-home .sm-g-item:last-child{border-right:none}
.seam-home .sm-g-num{font-family:var(--mono);font-weight:600;font-size:1.9rem;color:var(--cool);line-height:1.2}
.seam-home .sm-g-num em{font-style:normal;font-size:1rem;color:var(--seam-bright)}
.seam-home .sm-g-desc{font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;color:#A9B6C4;margin-top:.5rem}

.seam-home .sm-prj{border-left:2px solid var(--navy-line);padding:1.15rem 0 1.15rem 1.4rem;margin:1rem 0}
.seam-home .sm-prj.sm-hot{border-left-color:var(--seam)}
.seam-home .sm-prj-meta{display:flex;gap:1rem;align-items:baseline;font-family:var(--mono);font-size:.72rem;margin-bottom:.5rem}
.seam-home .sm-prj-period{color:var(--seam-bright)}
.seam-home .sm-prj-client{color:#CFE2F2;letter-spacing:.05em}
.seam-home .sm-prj h4{font-family:var(--gothic);font-weight:700;font-size:.98rem;letter-spacing:.04em;color:var(--cool);margin-bottom:.6rem;line-height:1.7}
.seam-home .sm-prj-tags{display:flex;flex-wrap:wrap;gap:.7rem}
.seam-home .sm-prj-tags span{font-family:var(--mono);font-size:.68rem;color:#A9B6C4}
.seam-home .sm-prj-tags span::before{content:'[ ';color:var(--navy-line)}
.seam-home .sm-prj-tags span::after{content:' ]';color:var(--navy-line)}
.seam-home .sm-prj-note{font-family:var(--mono);font-size:.74rem;line-height:2;color:#A9B6C4;margin-bottom:1.2rem}

/* ================= 完全合流: Contact ================= */
/* ================= 自社AI実践（AIに案を出させ、人が選んだ） ================= */
.seam-home .sm-practice{
  position:relative;z-index:1;background:var(--paper);padding:6rem 2rem 6.5rem;
  border-top:1px dashed var(--seam);overflow:hidden;
}
.seam-home .sm-practice-inner{max-width:960px;margin:0 auto;text-align:center}
.seam-home .sm-practice .sm-sec-label{text-align:center}
.seam-home .sm-practice .sm-sec-label::before{content:''}
.seam-home .sm-practice-title{
  font-family:var(--mincho);font-weight:700;color:var(--ink);
  font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.7;letter-spacing:.06em;margin-bottom:1.6rem;
}
.seam-home .sm-practice-lead{
  font-family:var(--mincho);font-size:.92rem;line-height:2.25;color:var(--ink-mid);
  max-width:640px;margin:0 auto 2.8rem;
}
.seam-home .sm-practice-strip{
  list-style:none;padding:0;margin:0 0 2.6rem;
  display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem;
}
.seam-home .sm-practice-strip li{position:relative}
.seam-home .sm-practice-strip img{
  width:100%;height:auto;display:block;border:1px solid var(--paper-deep);border-radius:2px;
  filter:saturate(.92);
}
.seam-home .sm-practice-strip span{
  display:block;margin-top:.5rem;font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;
  color:var(--seam-ink);text-transform:uppercase;
}
.seam-home .sm-practice-actions{margin-top:.4rem}

.seam-home .sm-merge-final{
  position:relative;z-index:1;background:var(--navy);padding:9rem 2rem 6rem;text-align:center;overflow:hidden;
}
.seam-home .sm-merge-final::before{
  content:'';position:absolute;left:50%;top:0;width:640px;height:640px;transform:translateX(-50%);
  background:radial-gradient(circle,rgba(194,74,46,.22) 0%,rgba(194,74,46,0) 65%);pointer-events:none;
}
.seam-home .sm-knot{margin-bottom:2.4rem;position:relative;z-index:1}
.seam-home .sm-merge-final .sm-en{font-family:var(--mono);font-size:.74rem;letter-spacing:.34em;color:var(--seam-bright);display:block;margin-bottom:1.4rem;position:relative;z-index:1}
.seam-home .sm-merge-final h2{
  font-family:var(--mincho);font-weight:700;color:#fff;position:relative;z-index:1;
  font-size:clamp(1.7rem,3.2vw,2.6rem);line-height:1.95;letter-spacing:.06em;margin-bottom:1.8rem;
}
.seam-home .sm-merge-final .sm-lead{font-family:var(--mincho);font-size:.94rem;line-height:2.3;color:var(--cool-body);max-width:620px;margin:0 auto 2.8rem;position:relative;z-index:1}
.seam-home .sm-merge-final .sm-actions{position:relative;z-index:1}

/* ================= モバイル（上下スタック・緋の縫い目は残す） ================= */
@media (max-width:959px){
  .seam-home{background:var(--navy)}
  .seam-home::after{display:none}
  .seam-home .sm-hero-inner{display:block}
  .seam-home .sm-hero-side{min-height:0}
  .seam-home .sm-hero-l{background:var(--paper);padding:3.2rem 1.5rem 3rem}
  .seam-home .sm-hero-r{background:var(--navy);padding:3rem 1.5rem 3.6rem}
  .seam-home .sm-hero-badge{position:static;transform:none;display:inline-block;margin-bottom:1.6rem}
  .seam-home .sm-hero-braid{height:430px;background:radial-gradient(ellipse at center,#16202B 0%,var(--navy) 78%);border-top:2px dashed var(--seam);border-bottom:2px dashed var(--seam)}
  .seam-home .sm-hero-l::before,.seam-home .sm-hero-r::before{display:none}
  .seam-home .sm-dual{display:block}
  .seam-home .sm-col-l{background:var(--paper)}
  .seam-home .sm-col-r{background:var(--navy)}
  .seam-home .sm-col-l .sm-cin,.seam-home .sm-col-r .sm-cin,.seam-home .sm-dual-b .sm-col-l .sm-cin,.seam-home .sm-dual-b .sm-col-r .sm-cin{max-width:none;margin:0;padding:3.6rem 1.5rem}
  .seam-home .sm-seam{
    position:static;transform:none;width:auto;height:auto;display:block;pointer-events:auto;
    background:linear-gradient(180deg,var(--paper) 0%,#8A6A54 50%,var(--navy) 100%);
    border-top:2px dashed var(--seam);border-bottom:2px dashed var(--seam);padding:1.6rem 1.2rem;
  }
  .seam-home .sm-thread,.seam-home .sm-thread-fill,.seam-home .sm-needle-wrap{display:none}
  .seam-home .sm-stitches{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;padding:0}
  .seam-home .sm-stitch{background:var(--navy-2);border:1px solid var(--seam);text-align:left;padding:1rem}
  .seam-home .sm-stitch h4{font-size:.8rem;color:var(--seam-bright)}
  .seam-home .sm-stitch svg{margin:0 0 .45rem}
  .seam-home .sm-stitch .sm-tip{display:block;position:static;transform:none;width:auto;border:none;background:transparent;padding:.4rem 0 0;color:var(--cool-dim)}
  .seam-home .sm-dual-b .sm-seam{display:none}
  .seam-home .sm-merge-melt{padding:5rem 1.2rem}
  .seam-home .sm-gonogo-panel{padding:2.2rem 1.4rem}
  .seam-home .sm-merge-paper{padding:5rem 1.4rem}
  .seam-home .sm-agree-row{grid-template-columns:1fr;gap:.5rem;padding:1.4rem .4rem}
  .seam-home .sm-agree-dots{display:none}
  .seam-home [data-pair].sm-lit::after{display:none}
  .seam-home .sm-merge-final{padding:5rem 1.4rem 4rem}
  .seam-home .sm-practice{padding:4.5rem 1.4rem 5rem}
}
@media (max-width:600px){
  .seam-home .sm-decision-note{font-size:.8rem}
  .seam-home .sm-practice-strip{grid-template-columns:repeat(2,1fr);gap:.7rem .8rem}
  .seam-home .sm-practice-strip li:last-child{grid-column:1 / -1;max-width:60%;margin:0 auto}
}

/* ================= prefers-reduced-motion（静止でも情報が全て見える） ================= */
@media (prefers-reduced-motion:reduce){
  .seam-home .sm-rv{opacity:1 !important;transform:none !important;transition:none !important}
  .seam-home .sm-needle{animation:none !important}
  .seam-home .sm-hero-caption::after{animation:none !important}
  .seam-home .sm-gng-light{opacity:1 !important;transform:none !important;transition:none !important}
  .seam-home *{animation:none !important;transition:none !important}
  .seam-home .sm-btn-seam:hover,.seam-home .sm-stitch:hover{transform:none !important}
}
