/**
 * 連絡先・CTA の心理的訴求（ロジックは変更しない・見た目のみ）
 * — 温かみのある緑、控えめなアンバー、信頼感のある影とフォーカス
 */
:root {
  --i3-conv-green: #15803d;
  --i3-conv-green-soft: #ecfdf3;
  --i3-conv-green-mid: #22c55e;
  --i3-conv-amber: #f59e0b;
  --i3-conv-amber-soft: #fffbeb;
  --i3-conv-focus: rgba(34, 197, 94, 0.35);
  --i3-conv-shadow: 0 10px 28px rgba(21, 128, 61, 0.18);
}

/* --- サイト共通: チャットCTAを「相談しやすい」温かい緑に --- */
button.i3-chat-cta--btn,
a.i3-chat-cta--btn {
  border: 1px solid #86efac !important;
  background: linear-gradient(165deg, #ffffff 0%, #ecfdf3 38%, #bbf7d0 100%) !important;
  box-shadow: var(--i3-conv-shadow);
  transition: transform 0.14s ease, box-shadow 0.14s ease, filter 0.14s ease;
}

button.i3-chat-cta--btn:hover,
button.i3-chat-cta--btn:focus-visible,
a.i3-chat-cta--btn:hover,
a.i3-chat-cta--btn:focus-visible {
  filter: brightness(1.02);
  box-shadow: 0 14px 32px rgba(21, 128, 61, 0.24);
  transform: translateY(-1px);
}

button.i3-chat-cta--btn .i3-chat-cta__title,
a.i3-chat-cta--btn .i3-chat-cta__title {
  color: #14532d !important;
}

.i3-chat-cta__bubble {
  border-color: #86efac;
  background: linear-gradient(145deg, #ffffff 0%, #ecfdf3 45%, #d1fae5 100%);
  box-shadow: var(--i3-conv-shadow);
}

.i3-hero-phone-chat-row__chat .i3-chat-cta__bubble {
  border-width: 2px;
}

/* 採用LP: 応募・相談ボタン */
.i3-careers-hero__btn-primary,
.i3-careers-sticky-cta .btn-success {
  background: linear-gradient(135deg, #22c55e 0%, #15803d 55%, #166534 100%) !important;
  border-color: #14532d !important;
  box-shadow: 0 10px 26px rgba(21, 128, 61, 0.35);
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.i3-careers-hero__btn-primary:hover,
.i3-careers-hero__btn-primary:focus-visible,
.i3-careers-sticky-cta .btn-success:hover,
.i3-careers-sticky-cta .btn-success:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(21, 128, 61, 0.42);
}

.i3-careers-hero__btn-secondary {
  background: var(--i3-conv-amber-soft) !important;
  border-color: #fbbf24 !important;
  color: #92400e !important;
}

.i3-careers-hero__btn-secondary:hover,
.i3-careers-hero__btn-secondary:focus-visible {
  background: #fef3c7 !important;
  border-color: #f59e0b !important;
}

/* --- フォーム（Bootstrap系LP・診断フォーム） --- */
.i3-contact-form-panel,
.saa-form-wrap {
  border: 2px solid rgba(34, 197, 94, 0.35);
  background: linear-gradient(180deg, #ffffff 0%, #f7fdf9 100%);
  box-shadow: var(--i3-conv-shadow);
}

.i3-contact-form-panel:focus-within,
.saa-form-wrap:focus-within {
  border-color: rgba(34, 197, 94, 0.55);
  box-shadow: 0 12px 32px rgba(21, 128, 61, 0.14), 0 0 0 4px var(--i3-conv-focus);
}

.i3-contact-form-panel .form-control,
.saa-form-wrap .form-control,
.i3-contact-form-panel textarea,
.saa-form-wrap textarea {
  border: 2px solid #bbf7d0;
  background: #fefffe;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.i3-contact-form-panel .form-control:hover,
.saa-form-wrap .form-control:hover,
.i3-contact-form-panel textarea:hover,
.saa-form-wrap textarea:hover {
  border-color: #86efac;
  background: #ffffff;
}

.i3-contact-form-panel .form-control:focus,
.saa-form-wrap .form-control:focus,
.i3-contact-form-panel textarea:focus,
.saa-form-wrap textarea:focus {
  border-color: var(--i3-conv-green-mid);
  box-shadow: 0 0 0 4px var(--i3-conv-focus);
  background: #ffffff;
}

.i3-contact-form-panel label,
.saa-form-wrap label {
  color: #14532d;
}

.i3-contact-form-panel .btn-success,
.saa-form-wrap .btn-success,
.i3-contact-submit {
  border: 1px solid #14532d !important;
  background: linear-gradient(135deg, #22c55e 0%, #15803d 100%) !important;
  font-weight: 800;
  letter-spacing: 0.02em;
  box-shadow: 0 8px 22px rgba(21, 128, 61, 0.32);
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.i3-contact-form-panel .btn-success:hover,
.saa-form-wrap .btn-success:hover,
.i3-contact-form-panel .btn-success:focus-visible,
.saa-form-wrap .btn-success:focus-visible,
.i3-contact-submit:hover,
.i3-contact-submit:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(21, 128, 61, 0.38);
}

.i3-contact-trust-line {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
  margin: 0.65rem 0 0;
  padding: 0.55rem 0.75rem;
  border-radius: 12px;
  background: var(--i3-conv-green-soft);
  border: 1px solid #bbf7d0;
  color: #166534;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.5;
}

.i3-contact-trust-line::before {
  content: "🔒";
  margin-right: 0.15rem;
}

@media (prefers-reduced-motion: reduce) {
  button.i3-chat-cta--btn,
  a.i3-chat-cta--btn,
  .i3-careers-hero__btn-primary,
  .i3-contact-form-panel .btn-success,
  .saa-form-wrap .btn-success {
    transition: none;
  }

  button.i3-chat-cta--btn:hover,
  a.i3-chat-cta--btn:hover {
    transform: none;
  }
}
