@charset "UTF-8";
/* ================================================================
   70-responsive — SP(390px アートボード)の面組み差分 + 印刷
   tokens.css が節内に持つ @media は各層に残してある。ここには
   キャンバス SP アートボードにしかない値だけを置く。
   ================================================================ */

@media (max-width: 782px){

  /* ---- 版面 ---- */
  .bk-wrap{ padding: 0 var(--bk-gutter); }
  .bk-main{ padding: 14px var(--bk-gutter) 24px; grid-template-columns: minmax(0,1fr); gap: var(--bk-s6); }
  .bk-main--archive{ max-width: none; padding: 0 var(--bk-gutter) var(--bk-s5); gap: var(--bk-s6); }
  .bk-breadcrumb-row{ padding: var(--bk-s4) var(--bk-gutter) 0; }
  .bk-breadcrumb, .breadcrumbs, .breadcrumbs > li{ font-size: 11.5px; }

  /* ---- トップ: ヒーロー ---- */
  .bk-hero__inner{ padding: 28px var(--bk-gutter) 24px; grid-template-columns: minmax(0,1fr); gap: var(--bk-s4); }
  .bk-hero__eyebrow{ font-size: 11.5px; }
  .bk-hero__title{ font-size: 26px; line-height: 1.5; }
  .bk-hero__lead{ font-size: 15px; line-height: 1.9; max-width: none; }
  .bk-hero__fig{ height: 150px; }
  .bk-hero__fignote{ font-size: 11px; padding: 6px 10px; }
  /* キャンバス トップ/SP は編集方針チップを出さない(縦を詰めて4入口を折り上へ) */
  .bk-hero__chips{ display: none; }

  /* ---- トップ: 現在地カード / 新着 ---- */
  .bk-entries__inner{ padding: 28px var(--bk-gutter); }
  .bk-latest__inner{ padding: 28px var(--bk-gutter); grid-template-columns: minmax(0,1fr); gap: var(--bk-s5); }
  .bk-sechead{ margin-bottom: 14px; }
  .bk-sechead__title{ font-size: 18px; }
  .bk-sechead__note{ display: none; }
  .bk-latest__head .bk-sechead__title{ font-size: 18px; }
  .bk-latest__col{ gap: var(--bk-s2); }
  .bk-aside{ gap: var(--bk-s4); }
  .bk-data{ padding: var(--bk-s5) var(--bk-gutter); border-radius: 0; border-left: 0; border-right: 0; }
  .bk-data__title{ margin-bottom: var(--bk-s3); }
  .bk-data__note{ font-size: 11.5px; margin-top: 10px; }
  .bk-promo{ padding: var(--bk-s4); }

  /* ---- 記事 ---- */
  .bk-article{ gap: var(--bk-s4); }
  .bk-arthead{ gap: var(--bk-s4); }
  .bk-arthead__title{ line-height: 1.55; }
  .bk-related{ padding-top: var(--bk-s5); }
  .bk-related__title{ font-size: 18px; }
  .bk-related__grid{ grid-template-columns: minmax(0,1fr); gap: var(--bk-s3); }

  /* ---- カテゴリ ---- */
  .bk-archead__inner{ padding: 20px var(--bk-gutter); gap: var(--bk-s3); }
  .bk-archead__title{ font-size: 25px; }
  .bk-archead__count{ font-size: 12px; }
  .bk-archead__desc{ font-size: 14.5px; max-width: none; }
  .bk-chips{ flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; margin-top: 0; }
  .bk-chips a{ font-size: 12.5px; padding: 6px 12px; white-space: nowrap; }
  .bk-toolbar{ padding: 18px 0 12px; }
  .bk-toolbar__count{ font-size: 12.5px; }
  .bk-sort{ gap: var(--bk-s3); font-size: 12.5px; }
  .bk-listcol{ gap: 0; }

  /* ---- サイドバー ---- */
  .bk-side{ gap: 0; }
  .bk-widget{ padding: var(--bk-s4); }

  /* ---- 404 ---- */
  .bk-404{ padding: 32px var(--bk-gutter) 64px; }
  .bk-404__title{ font-size: 26px; }
  .bk-404__desc{ font-size: 16px; }
  .bk-404__grid{ grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--bk-s3); }
  .bk-search input[type="search"]{ font-size: 16px; }   /* iOS の自動ズーム回避 */
}

/* 中間幅(タブレット): 4カラムの入口カードを2列に、サイドバーを下へ */
@media (min-width: 783px) and (max-width: 1023px){
  .bk-wrap, .bk-header__inner, .bk-footer__inner,
  body.single .bk-wrap, body.single .bk-header__inner, body.single .bk-footer__inner{
    padding-left: 32px; padding-right: 32px;
  }
  .bk-hero__inner{ padding: 40px 32px 36px; gap: 32px; }
  .bk-entries__inner{ padding: 36px 32px; }
  .bk-latest__inner{ padding: 40px 32px; grid-template-columns: minmax(0,1fr); gap: 36px; }
  .bk-entry-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .bk-archead__inner{ padding: 32px 32px 24px; }
  .bk-main{ padding: var(--bk-s5) 32px var(--bk-s7); }
  .bk-main--archive{ padding: 28px 32px var(--bk-s7); }
  .bk-aside{ display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); align-items: start; }
}

/* ---------- 24. PRINT(正本 tokens.css §24 逐語) ---------- */
@media print{
  .bk-header, .bk-subnav, .bk-cta, .bk-cta--end, .bk-pager, .bk-widget{ display: none; }
  body{ background: #fff; font-size: 11.5pt; }
  .bk-main{ display: block; padding: 0; }
}
@media print{
  .bk-drawer, .bk-burger, .bk-side, .bk-footer__top, .bk-toolbar{ display: none; }
  .bk-footer{ background: none; padding: 0; }
  .bk-ad-disclosure, .bk-copyright{ color: #000; }
}
