/* ==========================================================================
   税理士法人 笹山石丸会計事務所 - 共通 CSS (common.css)
   ========================================================================== */

:root {
  --page-px: 100px;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  color: #262626;
}

.f-mincho {
  font-family: "Shippori Mincho B1", serif;
}

.f-crimson {
  font-family: "Crimson Text", serif;
}

.lh-body {
  line-height: 34px;
}

.bs {
  font-size: 16px;
  line-height: 30px;
} /* 通常段落 */

.bs-sm {
  font-size: 14px;
  line-height: 26px;
}

/* セクション共通 */
.sec-wrap {
  max-width: 1440px;
  margin: 0 auto;
  padding-left: var(--page-px);
  padding-right: var(--page-px);
}

/* レスポンシブ padding 調整 */
@media (max-width: 768px) {
  :root {
    --page-px: 24px;
  }
}

/* FAQアコーディオン用 (サービスページ共通) */
.faq-answer {
  display: none;
}
.faq-item.is-open .faq-answer {
  display: block;
}
.faq-item.is-open .faq-icon {
  transform: rotate(45deg);
}

/* 印刷用CSS */
@media print {
  body {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  header,
  .cta-section,
  #mobileMenu,
  button:not(.faq-question),
  a[href^="tel"] {
    display: none !important;
  }
  .bg-cream {
    background-color: #f6f1ed !important;
  }
  .bg-sage {
    background-color: #5e8a6a !important;
  }
  .faq-answer {
    display: block !important;
  }
  .faq-icon {
    display: none !important;
  }
  .js-anime,
  .js-anime-fade {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    transition: none !important;
  }
}

/* --- Scroll Animations --- */
.js-anime {
  opacity: 0;
  filter: blur(10px);
  transform: translateY(30px);
  transition: all 0.8s cubic-bezier(0.25, 1, 0.5, 1);
}
.js-anime.is-active {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0);
}
.js-anime-fade {
  opacity: 0;
  transition: opacity 0.8s ease;
}
.js-anime-fade.is-active {
  opacity: 1;
}

/* --- Shiragiku Button Hover --- */
.btn-shiragiku {
  transition: all 0.6s ease;
}
.btn-shiragiku:hover {
  background-color: #262626 !important;
  color: #ffffff !important;
  border-color: #262626 !important;
}
