/* 共通コンポーネント: ボタン / アコーディオン / ロゴマーキー */

/* ---- ボタン基本形（旧 MUI Button variant="contained"） ---- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: var(--radius);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  color: #fff;
  background-color: var(--color-primary);
  box-shadow: var(--shadow-1);
  text-align: center;
  transition: filter 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease;
}

.btn:hover {
  filter: brightness(90%); /* theme.filter.brightness90 */
}

/* ヘッダー「無料アカウント登録」等のピンク CTA */
.btn--signup {
  width: 250px;
  background-color: var(--color-cta-pink);
}

/* 法人 LP「資料をダウンロードする」グラデーション CTA */
.btn--gradient {
  width: 200px;
  padding: 11px;
  border-radius: 50px;
  background: var(--gradient-corporate);
  box-shadow: none;
}

.btn--gradient:hover {
  filter: none;
  opacity: 0.85;
  box-shadow: 0 4px 16px rgba(0, 201, 200, 0.35);
}

/* 法人 LP「無料でお問い合わせ」白抜きボタン */
.btn--outline {
  width: 200px;
  padding: 11px;
  border-radius: 50px;
  color: #555;
  background: #fff;
  border: 1.5px solid #ccc;
  box-shadow: none;
}

.btn--outline:hover {
  filter: none;
  border-color: #00c9c8;
  box-shadow: 0 2px 12px rgba(0, 201, 200, 0.15);
}

/* ドロワー内 CTA は幅いっぱい寄り */
.drawer__cta .btn {
  width: 80%;
  max-width: 250px;
}

/* ---- アコーディオン（旧 QA セクション。ネイティブ details/summary） ---- */
.accordion {
  border-radius: var(--radius);
  background-color: var(--color-paper);
  box-shadow: var(--shadow-1);
}

.accordion summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 16px;
  cursor: pointer;
  list-style: none;
  background-color: var(--color-bg-accordion);
  border-radius: var(--radius);
  font-weight: 600;
}

.accordion summary::-webkit-details-marker {
  display: none;
}

.accordion summary::after {
  content: "";
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--color-toolbar-text);
  border-bottom: 2px solid var(--color-toolbar-text);
  transform: rotate(45deg);
  transition: transform 0.2s ease;
}

.accordion[open] summary::after {
  transform: rotate(225deg);
}

.accordion__body {
  padding: 16px;
}

/* ---- ロゴ無限スクロール（旧 Swiper Autoplay linear の置き換え） ---- */
.marquee {
  overflow: hidden;
}

.marquee__track {
  display: flex;
  align-items: center;
  width: max-content;
  animation: marquee 30s linear infinite;
}

.marquee__track > * {
  flex-shrink: 0;
}

@keyframes marquee {
  to {
    transform: translateX(-50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .marquee__track {
    animation: none;
  }
}
