/* 共通ヘッダー/フッターは main.css。ここはページ固有スタイルのみ */
  main .wrap { max-width:740px; }
  main { padding:40px 0 72px; }
  .crumb { font-size:13px; color:var(--ink-soft); margin-bottom:18px; }
  .hero-thumb { height:200px; border-radius:20px; display:flex; align-items:center; justify-content:center; font-size:72px; background:linear-gradient(135deg,#FCE4EA,#FBF0E4); margin-bottom:24px; }
  .cat { display:inline-block; font-size:11px; font-weight:700; color:var(--blush-deep); background:#FCE4EA; padding:4px 12px; border-radius:999px; }
  h1 { font-family:var(--font-display); font-size:26px; color:var(--rose-ink); line-height:1.5; margin:12px 0 8px; }
  .meta { font-family:var(--font-num); font-size:13px; color:var(--ink-soft); margin-bottom:28px; }
  .toc { background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px 22px; margin:0 0 30px; box-shadow:var(--shadow-card); }
  .toc-t { font-family:var(--font-display); font-weight:700; color:var(--rose-ink); font-size:15px; margin-bottom:10px; }
  .toc ol { margin:0; padding-left:1.5em; }
  .toc li { margin:7px 0; font-size:14px; }
  .toc a { color:var(--ink); }
  .toc a:hover { color:var(--blush-deep); }
  article h2 { font-family:var(--font-display); font-size:19px; color:var(--rose-ink); margin:34px 0 12px; padding-top:10px; border-top:1px solid var(--line); scroll-margin-top:80px; }
  article h2:first-of-type { border-top:none; padding-top:0; }
  article p { margin:12px 0; font-size:15px; }
  article ul { margin:12px 0 12px 1.3em; }
  article li { margin:7px 0; font-size:15px; }
  article strong { color:var(--ink); font-weight:700; }
  .callout { background:linear-gradient(135deg,#EAF4E6,#F3F9F0); border:1px solid #CFE3C8; border-radius:16px; padding:20px 22px; margin:26px 0; font-size:14px; color:var(--ink); box-shadow:0 8px 24px rgba(111,146,105,.14); }
  .callout .ct { font-family:var(--font-display); font-weight:700; color:var(--sage-deep); font-size:15px; letter-spacing:.3px; margin-bottom:8px; }
  .app-cta { background:linear-gradient(135deg,#FCE4EA,#FBF0E4); border-radius:18px; padding:28px 24px; text-align:center; margin:36px 0 8px; }
  .app-cta p { font-size:15px; margin-bottom:16px; color:var(--ink); }
  .app-cta .cta-title { font-family:var(--font-display); font-weight:700; color:var(--rose-ink); font-size:18px; margin-bottom:16px; letter-spacing:.5px; }
  .cta-badges { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
  .cta-badges .store-badge { display:inline-block; transition:transform .15s; }
  .cta-badges .store-badge:hover { transform:translateY(-2px); }
  .cta-badges .store-badge img { height:48px; width:auto; display:block; }
  @media (max-width:400px){ .cta-badges .store-badge img { height:42px; } }
  .disclaimer { background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px 18px; font-size:13px; color:var(--ink-soft); margin-top:30px; line-height:1.9; }
  .more { margin-top:26px; font-size:14px; }

  article { line-height: 1.9; }
  .crumb a, .more a, article a { color: var(--blush-deep); }

  /* ===== 関連記事（同カテゴリ・Splideカルーセル） ===== */
  /* 記事本文は 740px 幅だが、カルーセルは3枚＋見切れを出すため広く使う（中央基準でブレイクアウト） */
  .related { width:min(1120px, 100vw - 32px); margin:64px auto 0; margin-left:50%; transform:translateX(-50%); }
  .related-head { display:flex; align-items:baseline; justify-content:space-between; margin:0 0 20px; padding:0 12px; }
  .related-head h2 { font-family:var(--font-display); font-size:20px; color:var(--rose-ink); margin:0; }
  .related-head .more { font-size:13px; color:var(--blush-deep); font-weight:500; }
  .related-splide .splide__slide { height:auto; }
  .rel-card { display:flex; flex-direction:column; height:100%; background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden; box-shadow:var(--shadow-card); transition:transform .18s ease, box-shadow .18s ease; }
  .rel-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-soft); }
  .rel-thumb { height:120px; display:flex; align-items:center; justify-content:center; font-size:40px; background:linear-gradient(135deg,#FCE4EA,#FBF0E4); background-size:cover; background-position:center; }
  .rel-body { padding:14px 16px 16px; display:flex; flex-direction:column; gap:6px; }
  .rel-cat { align-self:flex-start; font-size:10px; font-weight:700; color:var(--blush-deep); background:#FCE4EA; padding:3px 10px; border-radius:999px; }
  .rel-title { font-family:var(--font-display); font-size:15px; font-weight:700; color:var(--rose-ink); line-height:1.5; margin:0;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .rel-date { font-family:var(--font-num); font-size:12px; color:var(--ink-soft); }
  /* 見切れているスライドは少し引っ込ませて「次がある」ことを示す */
  .related-splide .splide__slide:not(.is-visible) .rel-card { opacity:.55; }
  .related-splide .splide__pagination { margin-top:16px; padding:0; }
  .related-splide .splide__pagination__page { width:7px; height:7px; border-radius:999px; background:#E3D5D8; border:0; margin:0 4px; padding:0; transition:background .2s, width .2s; }
  .related-splide .splide__pagination__page.is-active { width:20px; background:var(--blush-deep); transform:none; }
  @media (max-width: 640px) {
    .related { margin-top:48px; }
    .related-head h2 { font-size:18px; }
    .rel-thumb { height:150px; }
  }
