/* =========================================================
   Blumoer サイト独自スタイル
   （tailwind.css は Manus 版から引き継いだビルド済み CSS。
     見た目の調整はこのファイルに書き足してください）
   ========================================================= */

:root {
  --blue: #0038a8;
  --cyan: #00d4ff;
  --navy: #0a1628;
}

html { scroll-behavior: smooth; }

/* フォント指定（HTML 側では class で使い分け） */
.f-grotesk { font-family: "Space Grotesk", sans-serif; }
.f-heading { font-family: "Space Grotesk", "Zen Kaku Gothic New", sans-serif; }
.f-zen     { font-family: "Zen Kaku Gothic New", sans-serif; }
.f-mono    { font-family: "DM Mono", monospace; }
body { background: #fff; color: var(--navy); font-family: "Zen Kaku Gothic New", sans-serif; }

/* ---------- ロゴ（画像が用意できるまでの文字ロゴ） ---------- */
.logo-text {
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
  color: #fff;
  transition: color .3s;
}
.logo-text--header { font-size: 1.6rem; }
.logo-text--hero   { font-size: clamp(3rem, 8vw, 5rem); }
.logo-text--footer { font-size: 2rem; }
@media (min-width: 768px) { .logo-text--header { font-size: 2rem; } }

/* ---------- ヘッダー：スクロール後の白背景 ---------- */
.site-header.is-scrolled {
  background: rgba(255, 255, 255, .95);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 3px solid var(--blue);
}
.site-header.is-scrolled .logo-text,
.site-header.is-scrolled .nav-label { color: var(--navy); }
.site-header.is-scrolled .logo-text { color: var(--blue); }
.site-header .nav-link:hover .nav-label { color: #fff; }
.site-header.is-scrolled .menu-button,
.menu-open .menu-button { border-color: var(--blue); background: #fff; color: var(--blue); }

/* ---------- スマホ用メニュー ---------- */
.mobile-menu {
  position: fixed; inset: 0; z-index: 40;
  background: var(--blue);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2rem;
  clip-path: circle(0% at calc(100% - 2.5rem) 2.5rem);
  transition: clip-path .4s ease-in-out;
  pointer-events: none;
}
.menu-open .mobile-menu { clip-path: circle(150% at calc(100% - 2.5rem) 2.5rem); pointer-events: auto; }
.mobile-menu a {
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.875rem; font-weight: 900; color: #fff;
  text-transform: uppercase; letter-spacing: .1em;
  opacity: 0; transform: translateY(20px);
  transition: opacity .3s, transform .3s, color .2s;
}
.mobile-menu a:hover { color: var(--cyan); }
.menu-open .mobile-menu a { opacity: 1; transform: none; }
.menu-open .mobile-menu a:nth-child(1) { transition-delay: .10s; }
.menu-open .mobile-menu a:nth-child(2) { transition-delay: .15s; }
.menu-open .mobile-menu a:nth-child(3) { transition-delay: .20s; }
.menu-open .mobile-menu a:nth-child(4) { transition-delay: .25s; }
.menu-icon-close { display: none; }
.menu-open .menu-icon-open { display: none; }
.menu-open .menu-icon-close { display: block; }

/* ---------- スクロールで表示されるアニメーション ---------- */
.reveal { opacity: 0; transform: translateY(2rem); transition: opacity .7s ease, transform .7s ease; }
.reveal.is-visible { opacity: 1; transform: none; }

/* ---------- 企業理念の画像（画像が用意できるまでの青い背景） ---------- */
.philosophy-visual {
  background:
    radial-gradient(circle, rgba(255,255,255,.18) 2px, transparent 2px) 0 0 / 14px 14px,
    radial-gradient(circle at 30% 40%, var(--cyan) 0, transparent 45%),
    radial-gradient(circle at 75% 70%, #1a5cff 0, transparent 50%),
    var(--blue);
}
