/* 共通ヘッダー/フッターは main.css。ここはページ固有スタイルのみ */
  main .wrap { max-width:820px; }
  main { padding:44px 0 72px; }
  h1 { font-family:var(--font-display); font-size:28px; color:var(--rose-ink); margin-bottom:8px; }
  .lead { color:var(--ink-soft); font-size:14px; margin-bottom:8px; }

  /* タブ */
  .tabs { display:flex; gap:6px; border-bottom:2px solid var(--line); margin:22px 0 26px; }
  .tab { appearance:none; background:none; border:none; font-family:var(--font-body); font-size:15px; font-weight:500; color:var(--ink-soft); padding:12px 14px; cursor:pointer; position:relative; }
  .tab:hover { color:var(--rose-ink); }
  .tab.active { color:var(--rose-ink); font-weight:700; }
  .tab.active::after { content:""; position:absolute; left:8px; right:8px; bottom:-2px; height:3px; background:var(--blush-deep); border-radius:3px; }
  .panel { display:none; }
  .panel.active { display:block; animation:fade .25s ease; }
  @keyframes fade { from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:none;} }

  /* 使い方 steps */
  .steps { display:flex; flex-direction:column; gap:12px; }
  .step { display:flex; gap:14px; background:#fff; border:1px solid var(--line); border-radius:16px; padding:16px 18px; box-shadow:var(--shadow-card); }
  .step .n { flex:0 0 32px; width:32px; height:32px; border-radius:50%; background:var(--blush-deep); color:#fff; font-family:var(--font-num); font-weight:700; display:flex; align-items:center; justify-content:center; }
  .step .st { font-family:var(--font-display); font-weight:700; font-size:15px; color:var(--ink); margin-bottom:2px; }
  .step .sd { font-size:14px; color:var(--ink-soft); }

  /* 検索欄 */
  .search { position:relative; margin-bottom:22px; }
  .search input { width:100%; font-family:var(--font-body); font-size:15px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:999px; padding:13px 18px 13px 13px; box-shadow:var(--shadow-card); }
  .search input:focus { outline:none; border-color:var(--blush); }

  /* FAQ accordion */
  .faq-cat { font-family:var(--font-display); font-size:15px; color:var(--sage-deep); margin:24px 0 10px; }
  .faq-group:first-of-type .faq-cat { margin-top:0; }
  details { background:#fff; border:1px solid var(--line); border-radius:14px; margin-bottom:10px; box-shadow:var(--shadow-card); overflow:hidden; }
  summary { list-style:none; cursor:pointer; padding:15px 46px 15px 18px; font-weight:500; font-size:15px; color:var(--ink); position:relative; }
  summary::-webkit-details-marker { display:none; }
  summary::after { content:"＋"; position:absolute; right:18px; top:50%; transform:translateY(-50%); color:var(--blush-deep); font-weight:700; }
  details[open] summary::after { content:"−"; }
  details[open] summary { color:var(--rose-ink); }
  .ans { padding:0 18px 16px; font-size:14px; color:var(--ink-soft); line-height:1.9; }
  .ans strong { color:var(--ink); font-weight:700; }
  .no-results { background:#fff; border:1px dashed var(--line); border-radius:12px; padding:18px; text-align:center; color:var(--ink-soft); font-size:14px; }

  /* お問い合わせ */
  .contact-card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px 22px 24px; box-shadow:var(--shadow-card); }
  .contact-card p { font-size:14px; margin-bottom:12px; }
  .contact-card .mail { font-family:var(--font-num); font-weight:600; }
  .contact-card .fine { color:var(--ink-soft); font-size:13px; }
  .contact-btn { display:inline-block; margin-top:6px; background:var(--blush-deep); color:#fff; font-weight:700; padding:12px 26px; border-radius:999px; box-shadow:0 8px 20px rgba(233,137,157,.28); }

  .note { background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px 18px; font-size:13px; color:var(--ink-soft); margin-top:28px; }
  .contact-line { text-align:center; margin-top:28px; font-size:14px; color:var(--ink-soft); }

  .ans a, .contact-line a { color: var(--blush-deep); }
