/* ============================================================
   irohana visa SSW ページ専用スタイル
   /so/visa-ssw  /ao/visa-ssw
   共通スタイルは page-service-common.css（svc- プレフィックス）を参照
============================================================ */

.page-so-visa-ssw,
.page-ao-visa-ssw {
  --color-primary: #0781a8;

  background: #fff;
  padding-top: 72px;
  /* fixed header分 */
}

/* ============================================================
   ファーストビュー（セクション固有）
============================================================ */

.visa-ssw-fv {
  margin: 0 20px;
  border-radius: 10px;
  background: linear-gradient(135deg, #6bcad1 0%, #20a0c9 100%);
}

/* ページ固有のボタン色 */
.visa-ssw-fv .svc-fv__btn--white {
  color: #01a7dd;
}

.visa-ssw-fv__btn--dark {
  background: #007fa8;
  color: #fff;
  display: inline-flex;
  align-items: center;
  gap: 20px;
  height: 60px;
  padding: 0 20px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 16px;
  text-decoration: none;
  letter-spacing: 0.05em;
  white-space: nowrap;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  transition: var(--transition-opacity);
}

.visa-ssw-fv__btn--dark:hover {
  opacity: 0.85;
}


/* figure-number-wrap はSSW固有 */
.visa-ssw-fv__figure-number-wrap {
  display: flex;
  align-items: center;
  gap: 2px;
  flex-direction: column;
}

/* ============================================================
   中間CTA（カード背景グラデーション上書き）
============================================================ */

.visa-ssw-cta-mid {
  padding: 0 0 80px;
  background: #fff;
}

.visa-ssw-cta-mid .svc-cta-mid__card {
  background: linear-gradient(135deg, #6bcad1 0%, #20a0c9 100%);
}

/* ============================================================
   About（カード背景色上書き）
============================================================ */

.visa-ssw-about {
  padding: 100px 0;
  background: #fff;
}

/* ヘッダー固有要素（アクセントカラーの装飾のみ上書き） */
.visa-ssw-about .svc-about__headline-accent {
  text-decoration: underline;
  text-decoration-color: var(--color-primary);
  text-underline-offset: 6px;
  text-decoration-thickness: 2px;
}

.visa-ssw-about__body {
  font-size: 16px;
  color: #444;
  line-height: 1.75;
  letter-spacing: 0.06em;
  margin: 0;
}

/* カード背景色 */
.visa-ssw-about .svc-about__card {
  background: #84cdd2;
}

/* card-text/card-title/card-desc は svc-about__card-body/headline/text に移行 */
/* 後方互換のため旧クラス名も保持 */
.visa-ssw-about__card-text {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 30px;
}

.visa-ssw-about__card-title {
  font-weight: 700;
  font-size: 26px;
  color: #fff;
  line-height: 1.4;
  letter-spacing: 0.04em;
  margin: 0;
}

.visa-ssw-about__card-desc {
  font-size: 15px;
  color: #fff;
  line-height: 1.75;
  letter-spacing: 0.04em;
  margin: 0;
}

/* ============================================================
   課題と解決
============================================================ */

.visa-ssw-sol {
  padding: 100px 0;
  background: linear-gradient(180deg, #fff 0%, #edf3f5 31%);
}


/* アイテム固有要素 */
.visa-ssw-sol .svc-sol__item {
  border: 1px solid rgba(7, 129, 168, 0.1);
  border-top: 3px solid #0781a8;
}

.visa-ssw-sol__item-label {
  display: flex;
  align-items: center;
  gap: 10px;
}


.visa-ssw-sol .svc-sol__item-img img {
  border: 1px solid rgba(7, 129, 168, 0.1);
}

.visa-ssw-sol .svc-sol__badge {
  border: 1px solid rgba(7, 129, 168, 0.5);
}

/* ============================================================
   機能セクション
============================================================ */

.visa-ssw-feature {
  padding: 100px 0;
  background: #fff;
}


/* ============================================================
   導入事例
============================================================ */

.visa-ssw-case {
  padding: 100px 0 80px;
  overflow: hidden;
}

/* ============================================================
   CTA
============================================================ */

.visa-ssw-cta .biz-cta__download,
.visa-ssw-cta .biz-cta__col {
  background: linear-gradient(135deg, #6bcad1 0%, #20a0c9 100%);
}

/* ============================================================
   FAQ（so-faq クラスを visa-ssw でも利用）
============================================================ */

.so-faq {
  padding: 100px 0;
  background: #fff;
}


/* ============================================================
   CTA（so-cta クラスを visa-ssw でも利用）
============================================================ */

.so-cta {
  padding: 80px 0 100px;
  background: #fff;
}


/* ============================================================
   Mobile  (max-width: 767px)
============================================================ */
@media (max-width: 767px) {

  .page-so-visa-ssw,
  .page-ao-visa-ssw {
    padding-top: 72px;
  }

  /* FV */
  .visa-ssw-fv {
    margin: 0 12px;
  }


  /* About */
  .visa-ssw-about {
    padding: 60px 0;
  }

  .visa-ssw-sol {
    padding: 60px 0;
  }

  .visa-ssw-feature {
    padding: 60px 0;
  }

  .visa-ssw-about__body {
    font-size: 14px;
  }

  /* FAQ */
  .so-faq {
    padding: 60px 0;
  }

  .biz-faq__headline {
    font-size: 22px;
  }

  .biz-faq__toggle {
    width: 20px;
    height: 20px;
  }

  .biz-faq__toggle::before {
    width: 10px;
  }

  .biz-faq__toggle::after {
    height: 10px;
  }

  .biz-faq__q-text {
    font-size: 14px;
  }

  /* CTA */
  .so-cta {
    padding: 60px 0;
  }

  .so-cta>.container {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
}