/* ==========================================================================
   Common
   ========================================================================== */
   
   *, *::before, *::after {
    box-sizing: border-box;
  }

  .wp-block-separator{
    border-color: #ccc!important;
  }

  .kosai {
    text-shadow: 2px 2px 3px #333;
    }

  .pc-none{
    display: none;
  }

  .pc-padding-top-90 {
    padding-top: 20%;
  }

  .wp-block-list li .wp-block-list{
    margin-top:5px!important;
    margin-bottom:20px;
  }

   .padding-left-right-40-pc {
    padding-left:  40px;
    padding-right: 40px;
  }

  .nav_img{opacity:.3;}
  .nav_img:hover{opacity:1;}

   @media only screen and (max-width: 1199px) {

    
  
  }
  
  @media only screen and (max-width: 999px) {
    .padding-left-right-40-pc {
      padding-left:  20px;
      padding-right: 20px;
    }
    
  }
  
  @media only screen and (max-width: 767px) {
  
    .sp-none{
      display:none
    }
    .pc-none{
      display:block;
    }
    .padding-bottom-60.spt60 {
      padding-top: 20px!important;
    }

    /* .pc-padding-top-90 {
      padding-top: auto;
    } */
  
  }
  
  @media only screen and (max-width: 549px) {
  
    
  
  }
  
  @media only screen and (max-width: 399px) {
  
    
  
  }

/* ==========================================================================
   Character
   ========================================================================== */

   /* ==== 落ちてくるキャラ（一度だけ） ==== */
   .character-drop {
    position: absolute;
    top: -200px;      /* 画面上外から開始 */
    left: 30%;
	width:15%;
    transform: translateX(-50%);
    opacity: 0;
    pointer-events: none;
	z-index: 9999;
  }
  @keyframes dropOnce {
    0%   { transform: translate(-50%, -200%); opacity: 0; }
	99% { transform: translate(-50%, 500%);  opacity: 1; }
    100% { transform: translate(-50%, 510%);  opacity: 0; }
  }
  .character-drop.play {
    animation: dropOnce 1s ease-out forwards;
  }

  /* ==== 飛び蹴り（右上へ抜けて消える → 一定時間後リセット） ==== */
  .character-kick {
    position: absolute;
    left: -150px;     /* 左画面外から */
    top: 50%;
	width:10%;
    opacity: 0;
    pointer-events: none;
	z-index: 9999;
  }
  @keyframes flyingKickOut {
    0%   { transform: translate(0,0) scale(1); opacity: 0; }
    99% { transform: translate(1300%,-300%) scale(1.5); opacity: 1; }
    100% { transform: translate(1300%,-300%) scale(1.5); opacity: 0; }
  }
  .character-kick.kick {
    animation: flyingKickOut 1.5s cubic-bezier(.4,.1,.3,1) forwards;
  }

  /* 動作軽減モード全体対応 */
  @media (prefers-reduced-motion: reduce) {
    .character-drop { top: 100px; opacity: 1; transform: translateX(-50%); }
    .character-drop.play { animation: none; }
    .character-kick { left: 300px; bottom: 200px; opacity: 1; }
    .character-kick.kick { animation: none; }
  }

  /* ==========================================================================
   Single
   ========================================================================== */

  .page h1 {
    font-size: 24px;
  }
  
  .page h2 {
    font-size: 22px;
  }
  
  .page h3 {
    font-size: 20px;
  }
  
  .page h4 {
    font-size: 18px;
  }
  
  .page h5 {
    font-size: 16px;
  }
  
  .page h6 {
    font-size: 14px;
  }

  .page h1,
  .page h2,
  .page h3,
  .page h4,
  .page h5,
  .page h6,
  .page p,
  .page ul,
  .page ol,
  .page talbe {
            margin-top: 20px;
            line-height: 1.9;
          }
  .page h1,
  .page h2,
  .page h3,
  .page h4,
  .page h5,
  .page h6{
            font-weight: 900;
          }

  .page p,
  .page ul li,
  .page ol li {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 15px;
    font-weight: 400;
  }

  .page table td{text-align: left;}

  @media (max-width: 767px) {
    .page h1{font-size:24px!important;}
    .page h2{font-size:20px}
    .page h3{font-size:18px}
    .page h4{font-size:16px}
    .page h5{font-size:14px}
    .page h6{font-size:14px}
  }

 /* ===== Category Archive (3 columns / 30 per page) ===== */
.category-archive .archive-header {
  margin: 2rem 0 1rem;
}

.category-archive .archive-title {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 700;
  margin: 0 0 .5rem;
}

.category-archive .archive-description {
  color: #555;
}

/* === Grid (3 columns / responsive) === */
.category-archive .archive-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin: 1.5rem 0 2rem;
}

@media (max-width: 1024px) {
  .category-archive .archive-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .category-archive .archive-grid {
    grid-template-columns: 1fr;
  }
}

/* === Card === */
.archive-card {
  display: flex;
  flex-direction: column;
  border: 1px solid #eee;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  transition: box-shadow .2s ease, transform .2s ease;
}
.archive-card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  transform: translateY(-2px);
}

/* === Thumbnail === */
.archive-card .thumb-wrap {
  display: block;
  aspect-ratio: 16/9;
  background: #f5f5f5;
  overflow: hidden;
}
.archive-card .thumb-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.archive-card .thumb-fallback {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #f0f0f0 0%, #e6e6e6 100%);
}

/* === Meta row (Title + Tags) — 修正案1適用 === */
.archive-card .meta-row {
  display: flex;
  flex-wrap: wrap;             /* ← タイトルが長い場合に次行へ回す */
  gap: 8px;
  align-items: flex-start;
  padding: 12px 14px 14px;
}

/* Title: 横幅いっぱい / 2行まで表示して省略 */
.archive-card .entry-title {
  flex: 1 1 100%;              /* ← 1行を占有して下にタグが来る */
  margin: 0;
  line-height: 1.4;
  font-size: 1rem;
  min-width: 0;
  color:black;
}
.archive-card .entry-title a {
  display: -webkit-box;
  -webkit-line-clamp: 2;       /* ← 2行まで */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  color: inherit;
  text-decoration: none;
}
.archive-card .entry-title a:hover {
  text-decoration: underline;
}

/* Tags: タイトル下に表示 / 折返し可 */
.archive-card .tag-list {
  flex: 1 1 100%;              /* ← タイトルの下に回り込む */
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
}
.archive-card .tag-list li a {
  display: inline-block;
  font-size: .85rem;
  color: #666;
  text-decoration: none;
  opacity: .9;
  line-height: 1.2;
}
.archive-card .tag-list li a:hover {
  opacity: 1;
  text-decoration: underline;
}
.archive-card .tag-list.no-tags { display: none; }

/* === Pagination === */
.category-archive .pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  margin: 1rem 0 3rem;
}
.category-archive .pagination .page-numbers {
  display: inline-block;
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid #e5e5e5;
  text-decoration: none;
  font-size: .95rem;
  background: #fff;
  color:#666;
}
.category-archive .pagination .page-numbers.current {
  background: #111;
  color: #fff;
  border-color: #111;
}
.category-archive .pagination .page-numbers:hover {
  box-shadow: 0 4px 14px rgba(0,0,0,.08);
}

/* ===== Tag Toolbar / Cloud ===== */
.tag-toolbar {
  margin: 1rem 0 1.5rem;
  padding: 12px 14px;
  background: #fafafa;
  border: 1px solid #eee;
  border-radius: 12px;
}

.tag-toolbar .tag-toolbar-row {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.tag-sort__select,
.tag-search__input {
  padding: 8px 10px;
  border: 1px solid #e2e2e2;
  border-radius: 10px;
  font-size: .95rem;
  background: #fff;
}

.tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.tag-cloud__item a {
  display: inline-block;
  padding: 6px 10px;
  border: 1px solid #e5e5e5;
  border-radius: 999px;
  background: #fff;
  font-size: .9rem;
  text-decoration: none;
  color: #333;
  transition: box-shadow .15s ease, transform .15s ease;
}

.tag-cloud__item a:hover {
  box-shadow: 0 4px 14px rgba(0,0,0,.08);
  transform: translateY(-1px);
}

.tag-cloud__item .tag-count {
  margin-left: 4px;
  color: #777;
  font-size: .85em;
}

/* ===== 打ち手辞典個別 ===== */
:root {
  --bg:#ffffff;
  --text:#111827;
  --muted:#6b7280;
  --line:#e5e7eb;
  --chip:#f3f4f6;
}

.cards-wrap {
  width:100%;
  max-width: 980px;
  margin: 0 auto;
  padding: 12px 0;
}

.card {
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 16px;
  box-shadow: 0 1px 2px rgba(0,0,0,.05);
  margin-bottom: 16px;
  width: 100%;
  box-sizing: border-box;
}

.card h3 {
  margin: 0 0 8px;
  font-size: 16px;
  line-height: 1.4;
  color: var(--text);
}

.meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--chip);
  font-size: 12px;
  color: var(--muted);
  white-space: nowrap;
}

.chip b { 
  color: var(--text); 
  font-weight: 600; 
}

.grid {
  display: grid;
  gap: 14px;
}

.row {
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.label {
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 4px;
}

.value {
  font-size: 14px;
  color: var(--text);
  line-height: 1.6;
}
/* 文字が原因のはみ出しを防ぐ */
.value, .label, .card h3, .chip {
  overflow-wrap: anywhere;
}

/* Flex/Grid 子要素が縮めない問題を解消 */
.meta, .grid {
  min-width: 0;
}
.meta > * , .grid > * {
  min-width: 0;
}

/* 極小端末ではチップの nowrap を解除（設定している場合） */
@media (max-width: 400px) {
  .chip { white-space: normal; }
}

/* 埋め込みメディアのはみ出し防止 */
img, iframe, video {
  max-width: 100%;
  height: auto;
}

/* 念のため */

/* =======================
   actions-area 用スタイル
   （実マークアップ合わせ）
   ======================= */

/* セクション間の余白 */
.actions-area .actions-group { margin: 40px 0; }

/* 見出しを #kadai4 の h2 風に */
.actions-area .actions-group > h2.headline-xs {
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: .6em;
  margin: 0 0 12px;
}

/* パネル風の外枠（#kadai4 の .panel 相当） */
.actions-area .actions-group {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0,0,0,.03);
}

/* テーブル（#kadai4 の table.responsive 相当） */
.actions-area table.actions-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  overflow: hidden;
  margin-top: 8px;
}

.actions-area table.actions-table thead tr { background: #f8fafc; }

.actions-area table.actions-table th,
.actions-area table.actions-table td {
  padding: 12px 14px;
  text-align: left;
  border:1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
  vertical-align: top;
}
.actions-area table.actions-table tbody tr:last-child td { border-bottom: none; }

/* 詳細ボタン（btn-detail が付いていればボタン風に） */
.actions-area a.btn-detail {
  display: inline-block;
  padding: 8px 14px;
  border: 1px solid #111;
  border-radius: 6px;
  text-decoration: none;
}
.actions-area a.btn-detail:hover { opacity: .85; }

/* ===== スマホ時：theadを消してカード風（#kadai4と同じ考え方） ===== */
@media (max-width: 768px) {
  .actions-area table.actions-table thead { display: none; }

  .actions-area table.actions-table,
  .actions-area table.actions-table tbody,
  .actions-area table.actions-table tr,
  .actions-area table.actions-table td {
    display: block;
    width: 100%;
  }

  .actions-area table.actions-table tr {
    border-bottom: 1px solid #e5e7eb;
    padding: 12px 10px;
  }

  .actions-area table.actions-table td {
    border: none;
    padding: 8px 0;
  }

  /* data-th が無い想定なので列順でラベル付け（1:声 / 2:打ち手 / 3:詳細） */
  .actions-area table.actions-table td:nth-child(1)::before,
  .actions-area table.actions-table td:nth-child(2)::before,
  .actions-area table.actions-table td:nth-child(3)::before {
    display: block;
    font-size: 12px;
    color: #6b7280;
    margin-bottom: 4px;
    line-height: 1.2;
  }
  .actions-area table.actions-table td:nth-child(1)::before { content: "採用者の声："; }
  .actions-area table.actions-table td:nth-child(2)::before { content: "打ち手："; }
  .actions-area table.actions-table td:nth-child(3)::before { content: "詳細："; }
}



/* タグ件数バッジ（お好みで） */
.list .tag-count{
  display:inline-block;
  margin-left:.5em;
  padding:.15em .5em;
  font-size:.85em;
  background:#fff;
  color:#111;
  border:1px solid #e5e7eb;
  border-radius:999px;
  line-height:1;
}

/* ==========================================================================
   Common
   ========================================================================== */

:root{
  --a_text:#0f172a; --a_muted:#475569; --a_bd:#e2e8f0; --a_accent:#2563eb; --a_accent2:#7c3aed;
  --a_chip:#f1f5f9; --a_chipbd:#cbd5e1; --a_card:#ffffff; --a_bg:#ffffff;
}
/* 全幅レイアウト */
.ax-wrap{width:100%;max-width:100%;margin:0;padding:16px;color:var(--a_text);font-family:system-ui,-apple-system,Segoe UI,Roboto,"Noto Sans JP",sans-serif;box-sizing:border-box}
@media (max-width: 768px){
  .ax-wrap{padding:0;}
  }
/* スティッキーフィルタ（検索を目立たせる） */
.ax-filter{position:sticky;top:0;z-index:10;background:var(--a_bg);border-bottom:1px solid var(--a_bd);padding:12px 0 14px;margin-bottom:12px}
.ax-heading{font-weight:800;margin:0 0 8px;font-size:1.1rem}
.ax-filter .row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ax-input{flex:1 1 100%;width:100%;display:flex;align-items:center;border:2px solid var(--a_bd);border-radius:12px;padding:10px 14px;background:#fff}
.ax-input input{border:none;outline:none;width:100%;font-size:16px}
.ax-input .icon{margin-right:8px;font-size:18px;color:var(--a_muted)}
.ax-count{color:var(--a_muted);font-size:12px;margin-left:auto}
.ax-clear{font-size:12px;color:var(--a_accent);cursor:pointer;background:none;border:none}

/* タグフィルタ（複数選択） */
.ax-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.ax-tags .check{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--a_bd);border-radius:999px;padding:6px 10px;background:#fff;cursor:pointer;font-size:12px}

/* セクション（アコーディオン） */
.ax-sec{border:1px solid var(--a_bd);border-radius:14px;background:#fff;margin:14px 0}
.ax-sec summary{list-style:none;cursor:pointer;display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:14px}
.ax-sec summary::-webkit-details-marker{display:none}
.ax-sec .ttl{font-weight:800}
.ax-sec .badge{margin-left:auto;font-size:12px;color:#0f172a;background:#eef2ff;border:1px solid #dbeafe;border-radius:999px;padding:3px 8px}

/* カードグリッド：可変列（全幅でも読みやすく） */
.ax-grid{
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr)); /* 3列固定（PC） */
gap: 12px;
padding: 12px;
}

/* 画面が狭くなったら2列→1列へ */
@media (max-width: 1024px){
.ax-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px){
.ax-grid{ grid-template-columns: 1fr; }
}
.ax-card{border:1px solid var(--a_bd);border-radius:12px;background:var(--a_card);padding:12px;display:flex;flex-direction:column}

.ax-top{display:flex;justify-content:space-between;gap:10px;align-items:center}
.ax-title{font-weight:700;color:var(--a_accent);text-decoration:none}
.ax-more{padding:6px 10px;font-size:.85rem;line-height:1;border-radius:8px;border:1px solid var(--a_bd);background:#f8fafc;color:#495462;text-decoration:none;white-space:nowrap}
.ax-more:hover{border-color:var(--a_accent)}

.ax-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}
.ax-catbadge{display:inline-block;padding:4px 10px;border-radius:999px;border:1px solid var(--a_chipbd);background:var(--a_chip);font-size:.8rem}
.ax-taglist{display:flex;gap:8px;flex-wrap:wrap}
.ax-taglist a{font-size:.8rem;color:var(--a_muted);text-decoration:none;border-bottom:1px dotted var(--a_muted)}
.ax-taglist a:hover{color:#0f172a;border-bottom-color:#0f172a}
.ax-voice{color:var(--a_muted);font-size:13px;margin-top:6px}

.ax-morebtn{display:block;margin:6px auto 12px auto;padding:8px 12px;border:1px solid var(--a_bd);border-radius:8px;background:#fff;cursor:pointer}
/* ===== 打ち手を探すエリア（フィルタバー）の見た目改善 ===== */
.ax-filter{
position:sticky;
top:0;
z-index:10;
background:#f8fafc;          /* 薄い背景色 */
border:1px solid var(--a_bd);
border-radius:12px;           /* 角丸 */
padding:16px 20px;            /* 上下16px 左右20px の余白 */
margin-bottom:16px;
}

/* 内部の行（row）も横幅いっぱいに貼りつかないように */
.ax-filter .row{
margin-left:0;
margin-right:0;
}
