/* process.css — 成果につながる4つのプロセス（Figma: 2247:66311 / PROCESS）
   実値: グレーグラデパネル radius 32 py 80 / 内側 px 80 gap 64
         番号円 160px #0078CF + 外枠 1px #1561AB p12 / 番号 42.667px Bold
         見出し 32px Black ls 0.1em / 本文 16px lh 1.8 / 点線矢印で接続 */

.process {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: var(--space-120);
  overflow: hidden;
}

/* 下80px = Figma 2652:8135→2652:8189 のフレーム間ギャップ。パネル下端と
   次のPROJECTパネルの間は 80 + PROJECT側の上120 = 200px になる。
   SPのレイアウトはFigma未確認のため、PC幅のみに当てる。 */
@media (min-width: 768px) {
  .process {
    padding-bottom: var(--space-80);
  }
}

.process__bg {
  position: absolute;
  top: 0;
  left: max(-182.375rem, calc(50% - 227.375rem)); /* 1440px超は中央基準で追従 */
  width: 241.0625rem;
  height: 63.25rem;
  pointer-events: none;
}

.process__panel {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: var(--layout-max);
  padding: var(--space-80) 0;
  border-radius: var(--radius-32);
  background: var(--gradient-panel-gray-2);
}

.process__watermark {
  position: absolute;
  top: 2.1875rem;
  left: 2.5rem;
  margin: 0;
  font-size: var(--font-size-watermark);
  font-weight: var(--font-weight-black);
  line-height: var(--line-height-none);
  letter-spacing: var(--letter-spacing-wider);
  white-space: nowrap;
  background: var(--gradient-watermark-gray);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  opacity: 0.5;
  pointer-events: none;
}

.process__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-64);
  width: 100%;
  padding: 0 var(--space-80);
}

.process__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-40);
}

.process__head-visual {
  display: flex;
  flex: 1;
  min-width: 0;
  align-items: center;
  justify-content: center;
}

.process__head-visual img {
  display: block;
  width: 13.4375rem;
  height: 16.25rem;
  object-fit: contain;
  object-position: bottom;
}

.process__title {
  margin: 0;
  flex: 1;
  min-width: 0;
  color: var(--color-black);
  font-size: var(--font-size-h1);
  font-weight: var(--font-weight-black);
  line-height: var(--line-height-heading);
  letter-spacing: var(--letter-spacing-widest);
  white-space: nowrap;
}

.process__list {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}

.process-item {
  display: flex;
  align-items: center;
  gap: var(--space-40);
  margin-bottom: calc(-1 * var(--space-16));
}

/* 交互に左右へずらす（Figma: 奇数 pr-304 / 偶数 pl-180） */
.process-item--odd {
  padding-right: 19rem;
}

.process-item--even {
  padding-left: 11.25rem;
}

.process-item:last-child {
  margin-bottom: 0;
}

.process-item__number {
  flex-shrink: 0;
  padding: var(--space-12);
  border: var(--border-width) solid var(--color-accent);
  border-radius: var(--radius-full);
}

.process-item__number-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10rem;
  height: 10rem;
  border-radius: var(--radius-full);
  background: var(--color-primary);
  color: var(--color-white);
  font-size: var(--font-size-h1);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-heading);
}

.process-item__body {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-8);
}

.process-item__title {
  margin: 0;
  color: var(--color-black);
  font-size: var(--font-size-h2);
  font-weight: var(--font-weight-black);
  line-height: var(--line-height-heading);
  letter-spacing: var(--letter-spacing-widest);
}

.process-item__text {
  margin: 0;
  color: var(--color-black);
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-loose);
  letter-spacing: var(--letter-spacing-widest);
}

/* 点線の接続矢印（Figma: 208x59 / 207x60） */
.process__connector {
  display: block;
  width: 13rem;
  height: 3.6875rem;
  margin-bottom: calc(-1 * var(--space-16));
}

/* --- SP: 左右交互のずらしを解除して縦積み ---------------------------------- */
@media (max-width: 767px) {
  /* base の padding-top:120 をショートハンドで丸ごと上書き。
     下80pxは min-width:768px 側にあるのでSPには効かない。 */
  .process {
    padding: var(--space-32) var(--space-24) var(--space-24);
  }
  /* 左右0は base（padding: 80 0）から引き継ぐので上下だけ上書き */
  .process__panel {
    padding-block: var(--space-24) var(--space-40);
  }
  .process__watermark {
    font-size: var(--font-size-en-title);
    top: 1rem;
    left: 1rem;
  }
  .process__inner {
    gap: var(--space-40);
    padding: 0 var(--space-24);
  }
  .process__head {
    flex-direction: column;
    gap: var(--space-24);
  }
  /* Figma実値 215x260 を縦横比そのままに80%（172x208）へ。
     object-fit:contain なので幅・高さを同率で下げないと余白だけが増える。 */
  .process__head-visual img {
    width: 10.75rem;
    height: 13rem;
  }
  .process__title {
    white-space: normal;
    font-size: var(--font-size-h2);
  }
  /* 矢印（__connector）を消したぶん、項目間はここで詰める */
  .process__list {
    gap: var(--space-24);
  }
  .process-item {
    gap: var(--space-24);
    margin-bottom: 0;
  }
  .process-item--odd {
    padding-right: 0;
  }
  .process-item--even {
    padding-left: 0;
  }
  .process-item__number {
    padding: var(--space-8);
  }
  .process-item__number-inner {
    width: 5.5rem;
    height: 5.5rem;
    font-size: var(--font-size-h2);
  }
  .process-item__title {
    font-size: var(--font-size-h3-lg);
  }
  /* 点線矢印はSPでは出さない。img だけ消すと空の li がフレックスアイテムとして残り、
     __list の gap が両側に効いて項目間が倍になるため li ごと落とす。 */
  .process__connector-item {
    display: none;
  }
}
