/* =========================================================
   スマホの見た目（2026-10-30 北村さん・案A）
   ・トップ：「探す」が主役（.mh）。PC（768px〜）は今までのヒーローのまま
   ・下の固定メニュー（.mnav）：ホーム／さがす／AI／研修／マイページ
   ・はじめての人への案内（.mtour）・ホーム画面に追加の案内（.minst）
   ========================================================= */
.mh, .mnav, .minst { display: none; }
@media (max-width: 767px) {
  /* ---- トップ ---- */
  .hero-section.hero-solid { padding: 14px 0 10px !important; background: linear-gradient(180deg, #F1F8EA 0%, #fff 100%); border-bottom: 0; }
  .hero-section .hero-text, .hero-section .hero-ai, .hero-section .hero-shapes { display: none !important; }
  .hero-section.hero-solid + .gd-dialog + section, .hero-section.hero-solid + section { padding-top: 26px !important; }
  .mh { display: block; width: 100%; }
  .mh-copy { margin: 0 0 10px; font-size: 1.05rem; font-weight: 700; color: #1F2A35; letter-spacing: .02em; }
  .mh-tabs { display: inline-flex; background: #fff; border: 1px solid #E2E8F0; border-radius: 999px; padding: 3px; margin-bottom: 10px; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
  .mh-tabs button { border: 0; background: transparent; border-radius: 999px; padding: 7px 16px; font-size: .9rem; font-weight: 700; color: #64748b; display: inline-flex; gap: 6px; align-items: center; min-height: 40px; }
  .mh-tabs button[aria-selected="true"] { background: linear-gradient(135deg, #5D8013, #007EB1); color: #fff; }
  .mh-box { display: flex; align-items: center; gap: 6px; background: #fff; border: 2px solid #7BBF24; border-radius: 16px; padding: 5px 5px 5px 12px; box-shadow: 0 6px 18px rgba(15,23,42,.08); }
  .mh-box.mh-ai { border-color: #1A9ED8; }
  .mh-box > i { color: #94a3b8; flex-shrink: 0; }
  .mh-box input { flex: 1; min-width: 0; border: 0; outline: 0; font-size: 16px; padding: 10px 2px; background: transparent; }
  .mh-geo { flex-shrink: 0; width: 42px; height: 42px; border-radius: 12px; border: 1px solid #E2E8F0; background: #F8FAFC; color: #007EB1; }
  .mh-go { flex-shrink: 0; height: 42px; border: 0; border-radius: 12px; padding: 0 16px; font-weight: 700; color: #fff; background: linear-gradient(135deg, #5D8013, #007EB1); }
  .mh-chips { display: flex; gap: 8px; overflow-x: auto; padding: 12px 2px 4px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .mh-chips::-webkit-scrollbar { display: none; }
  .mh-chip { flex-shrink: 0; display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 14px; border-radius: 999px; background: #fff; border: 1px solid #CFE3B4; color: #3F5A0B; font-size: .86rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
  .mh-chip i { color: #7BBF24; }
  button.mh-chip { border-color: #BFE0F2; color: #0B5C83; } button.mh-chip i { color: #1A9ED8; }
  .mh-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 14px; }
  .mh-tile { display: flex; flex-direction: column; align-items: center; gap: 6px; text-decoration: none; color: #1F2A35; font-size: .74rem; font-weight: 700; text-align: center; line-height: 1.3; }
  .mh-tile span { width: 54px; height: 54px; border-radius: 18px; display: grid; place-items: center; color: #fff; font-size: 1.35rem; box-shadow: 0 4px 12px rgba(15,23,42,.12); }
  .mh [hidden] { display: none !important; }

  /* ---- 下の固定メニュー ---- */
  body.has-mnav { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
  .mnav { display: grid; grid-template-columns: repeat(5, 1fr); position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030; background: rgba(255,255,255,.97); backdrop-filter: blur(8px); border-top: 1px solid #E2E8F0; padding: 4px 4px calc(4px + env(safe-area-inset-bottom)); box-shadow: 0 -4px 16px rgba(15,23,42,.06); }
  .mnav a, .mnav button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 54px; border: 0; background: transparent; color: #64748b; font-size: .68rem; font-weight: 700; text-decoration: none; border-radius: 12px; }
  .mnav i { font-size: 1.2rem; }
  .mnav .on { color: #4E7A0F; } .mnav .on i { color: #7BBF24; }
  .mnav .mnav-ai i { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, #5D8013, #007EB1); margin-top: -18px; box-shadow: 0 4px 12px rgba(0,126,177,.35); font-size: 1.05rem; }
  /* 右下の丸いボタン（ヘルプAIなど）が下のメニューに重ならないように */
  body.has-mnav .aiw-fab, body.has-mnav .tr-pop { bottom: calc(76px + env(safe-area-inset-bottom)) !important; }

  /* ---- ホーム画面に追加の案内 ---- */
  .minst { display: flex; position: fixed; left: 10px; right: 10px; bottom: calc(72px + env(safe-area-inset-bottom)); z-index: 1031; gap: 10px; align-items: center; background: #1F2A35; color: #fff; border-radius: 16px; padding: 12px 12px 12px 14px; box-shadow: 0 10px 30px rgba(15,23,42,.3); font-size: .85rem; line-height: 1.5; }
  .minst[hidden] { display: none; }
  .minst img { width: 40px; height: 40px; border-radius: 10px; flex-shrink: 0; }
  .minst div { flex: 1; } .minst b { display: block; font-size: .92rem; }
  .minst .minst-go { border: 0; border-radius: 10px; background: #7BBF24; color: #fff; font-weight: 700; padding: 8px 12px; white-space: nowrap; }
  .minst .minst-x { border: 0; background: transparent; color: #cbd5e1; font-size: 1.2rem; padding: 4px 6px; }
}

/* ---- はじめての人への案内（コーチマーク）：スマホのトップだけ ---- */
.mtour { position: fixed; inset: 0; z-index: 2100; pointer-events: none; }
.mtour-hole { position: absolute; border-radius: 16px; box-shadow: 0 0 0 9999px rgba(15,23,42,.62); transition: all .35s ease; pointer-events: none; }
.mtour-hole::after { content: ''; position: absolute; inset: -4px; border: 2px solid #A8E063; border-radius: 18px; animation: mtourPulse 1.6s ease-in-out infinite; }
@keyframes mtourPulse { 0%, 100% { opacity: .9; transform: scale(1); } 50% { opacity: .35; transform: scale(1.03); } }
@media (prefers-reduced-motion: reduce) { .mtour-hole, .mtour-hole::after { transition: none; animation: none; } }
.mtour-tip { position: absolute; left: 14px; right: 14px; background: #fff; color: #1F2A35; border-radius: 18px; padding: 16px 16px 12px; box-shadow: 0 16px 40px rgba(15,23,42,.35); pointer-events: auto; transition: top .35s ease; }
.mtour-tip .mt-step { font-size: .74rem; font-weight: 700; color: #4E7A0F; letter-spacing: .04em; }
.mtour-tip h3 { font-size: 1.05rem; font-weight: 700; margin: 4px 0 6px; display: flex; gap: 8px; align-items: center; }
.mtour-tip h3 i { color: #1A9ED8; }
.mtour-tip p { font-size: .9rem; line-height: 1.7; margin: 0 0 12px; color: #334155; }
.mtour-tip .mt-acts { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.mtour-tip .mt-skip { border: 0; background: transparent; color: #64748b; font-size: .85rem; padding: 8px 4px; }
.mtour-tip .mt-dots { display: flex; gap: 5px; } .mtour-tip .mt-dots i { width: 7px; height: 7px; border-radius: 50%; background: #CBD5E1; } .mtour-tip .mt-dots i.on { background: #7BBF24; width: 18px; border-radius: 4px; }
.mtour-tip .mt-next { border: 0; border-radius: 999px; background: linear-gradient(135deg, #5D8013, #007EB1); color: #fff; font-weight: 700; padding: 10px 18px; min-height: 44px; }
