@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Kaisei+Decol:wght@400;700&family=Shippori+Mincho:wght@400;500&family=Zen+Maru+Gothic:wght@700;900&display=swap');

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.4
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}

/* ─────────────────────────────────────────
   TEPEST カスタマイズ 地図(2026-09-01)
   1) 色を変えたい        → 「配色トークン」ブロック(:root と :root[data-theme="light"])
   2) ヘッダーがおかしい    → 「ヘッダー1行化」ブロック
   3) トップの棚/パッケージ → 「シリーズ・パッケージ」「棚(np-shelf)」ブロック
   4) 記事の読みやすさ      → 「読書ページ」ブロック
   5) 切替ボタンが効かない  → inc/theme-toggle.php
   6) 一瞬白/黒になる      → inc/theme-toggle.php の wp_head 側スクリプト
   ※ 各ブロックは START〜ENDで囲んであります。丸ごと消せば元に戻ります。
   ───────────────────────────────────────── */

/* ============================================================
   配色トークン START (2026-09-01)
   ============================================================ */
:root{
  color-scheme:dark;
  --tp-bg:#0c0e16;
  --tp-bg-raised:#1b1e2c;
  --tp-bg-blur:rgba(12,14,22,.82);
  --tp-line:#2c3046;
  --tp-hover:rgba(255,255,255,.055);
  --tp-text:#eceef5;
  --tp-text-soft:#9297ac;
  --tp-coral:#ff5a48;
  --tp-coral-ink:#ffb3a6;
  --tp-on-coral:#1a0d0a;
  --tp-shadow:rgba(0,0,0,.55);
  --tp-scrim-a:rgba(12,14,22,.55);
  --tp-scrim-b:rgba(12,14,22,0);
  --tp-hero-title:#ffffff;
  --tp-hero-text:rgba(255,255,255,.78);
  --tp-badge-bg:rgba(0,0,0,.55);
  --tp-badge-ink:#ffffff;
  --tp-read:#d8dbe4;
}

:root[data-theme="light"]{
  color-scheme:light;
  --tp-bg:#f7f5f2;
  --tp-bg-raised:#ffffff;
  --tp-bg-blur:rgba(247,245,242,.85);
  --tp-line:#e3ded7;
  --tp-hover:rgba(0,0,0,.04);
  --tp-text:#1b1d23;
  --tp-text-soft:#6c7080;
  --tp-coral:#d93c28;
  --tp-coral-ink:#b3301f;
  --tp-on-coral:#ffffff;
  --tp-shadow:rgba(30,25,20,.14);
  --tp-scrim-a:rgba(20,18,16,.48);
  --tp-scrim-b:rgba(20,18,16,0);
  --tp-hero-title:#ffffff;
  --tp-hero-text:rgba(255,255,255,.86);
  --tp-badge-bg:rgba(0,0,0,.55);
  --tp-badge-ink:#ffffff;
  --tp-read:#23262d;
}

html, body{background:var(--tp-bg) !important;color:var(--tp-text) !important;}
#container, #content, #content-in, #main, .article{background:transparent !important;}
/* ============================================================
   配色トークン END
   ============================================================ */

/* ============================================================
   ヘッダー1行化 START (2026-09-01 刷新版)
   ============================================================ */
#header-container{
  position:sticky;top:0;z-index:1000;
  background:var(--tp-bg-blur) !important;
  -webkit-backdrop-filter:saturate(150%) blur(12px);
  backdrop-filter:saturate(150%) blur(12px);
  border-bottom:1px solid var(--tp-line) !important;
  box-shadow:none !important;
}
body.admin-bar #header-container{top:32px;}
@media screen and (max-width:782px){ body.admin-bar #header-container{top:46px;} }

#header-container-in{
  display:flex;align-items:center;justify-content:space-between;gap:32px;
  max-width:1180px;margin:0 auto;padding:9px 24px;min-height:58px;
  background:transparent !important;
}
#header{flex:0 0 auto;background:transparent !important;}
#header-in{
  padding:0 !important;margin:0 !important;
  max-width:none !important;width:auto !important;min-height:0 !important;
  display:flex;align-items:center;text-align:left !important;
}
.logo-header,.logo-header h1{margin:0 !important;padding:0 !important;line-height:1 !important;}

/* ロゴ画像は隠して「TEPEST」の文字ロゴに差し替え(画像の読み込み崩れの心配がなくなる) */
.site-logo-image,.header-site-logo-image,.footer-site-logo-image{display:none !important;}
.site-name-text{position:relative;}
/* ヘッダーのロゴ(大きめ) */
.logo-header .site-name-text::after{
  content:"";
  display:inline-block;
  width:56px;height:53px;
  background-image:url('https://tp-st.com/wp-content/uploads/2026/09/tepest-logo.png');
  background-size:contain;background-repeat:no-repeat;background-position:center;
}
/* フッターのロゴ(控えめなサイズ。ヘッダーと同じ大きさだとレイアウトが崩れるため) */
.logo-footer .site-name-text::after{
  content:"";
  display:inline-block;
  width:38px;height:36px;
  background-image:url('https://tp-st.com/wp-content/uploads/2026/09/tepest-logo.png');
  background-size:contain;background-repeat:no-repeat;background-position:center;
}

#navi{flex:1 1 auto;background:transparent !important;border:none !important;min-height:0 !important;box-shadow:none !important;}
#navi-in{max-width:none !important;width:auto !important;padding:0 !important;margin:0 !important;display:flex;justify-content:flex-end;}
#navi .menu-header{display:flex;flex-wrap:nowrap;align-items:center;align-content:center;gap:28px;margin:0;padding:0;}
/* Cocoon core側が一部のメニュー項目の高さ/位置を独自に決めてくるため、
   align-itemsが効かず上寄り・下寄りになる項目がある。全項目を明示的に中央固定する。 */
#navi .menu-header > li{margin:0;padding:0;align-self:center !important;height:auto !important;}
#navi .menu-header > li > a{
  display:flex;align-items:center;height:auto !important;line-height:1 !important;
  padding:10px 0 !important;border:none !important;background:transparent !important;
  font-size:14px;letter-spacing:.08em;font-weight:600;
  color:var(--tp-text-soft) !important;
  transition:color .18s ease;
}
#navi .menu-header .caption-wrap{padding:0 !important;}
#navi .menu-header > li > a:hover,
#navi .menu-header > li.current-menu-item > a{color:var(--tp-text) !important;}
#navi .menu-header > li.current-menu-item > a{box-shadow:inset 0 -2px 0 var(--tp-coral);}
#navi .menu-header .has-sub .fa{font-size:9px;opacity:.6;margin-left:4px;}
#navi .menu-pc .sub-menu{
  background:var(--tp-bg-raised) !important;border:1px solid var(--tp-line) !important;
  border-radius:12px;padding:6px;min-width:230px;box-shadow:0 20px 44px var(--tp-shadow);margin-top:6px;
}
#navi .menu-pc .sub-menu li a{
  border:none !important;background:transparent !important;border-radius:8px;
  padding:9px 12px !important;height:auto !important;line-height:1.4 !important;
  font-size:13px;color:var(--tp-text-soft) !important;text-align:left;
}
#navi .menu-pc .sub-menu li a:hover{background:var(--tp-hover) !important;color:var(--tp-text) !important;}

/* 配色トグルボタン */
.tp-toggle-item{display:flex;align-items:center;}
.tp-theme-toggle{
  width:36px;height:36px;border-radius:50%;flex:0 0 auto;
  border:1px solid var(--tp-line);background:transparent;cursor:pointer;
  color:var(--tp-text-soft);font-size:15px;line-height:1;
  display:flex;align-items:center;justify-content:center;padding:0;
  transition:color .18s ease,border-color .18s ease;
}
.tp-theme-toggle:hover{color:var(--tp-text);border-color:var(--tp-text-soft);}
.tp-ico-sun{display:none;}
:root[data-theme="light"] .tp-ico-moon{display:none;}
:root[data-theme="light"] .tp-ico-sun{display:inline;}

/* ヘッダー直下のCocoon「おすすめ」バンドはヒーローと重複するので隠す */
.recommended{display:none !important;}

@media screen and (max-width:1023px){
  #header-container-in{min-height:50px;padding:0 16px;gap:12px;}
  #navi{display:none !important;}
}
/* ============================================================
   ヘッダー1行化 END
   ============================================================ */

/* ============================================================
   サイドバー除去(1カラム化) START (2026-09-01 刷新版)
   戻すときはこのブロックを消すだけ。ウィジェット自体はまだ「サイドバー」に
   残っているので、外観→ウィジェットで元に戻すこともできます。
   ============================================================ */
body.sidebar-right #main.main,
body.sidebar-left  #main.main{
  width:100% !important;float:none !important;margin:0 auto !important;
}
body.sidebar-right #sidebar,
body.sidebar-left  #sidebar{display:none !important;}
#content-in{max-width:1180px;margin:0 auto;}
/* ============================================================
   サイドバー除去(1カラム化) END
   ============================================================ */

/* カード一覧(アーカイブ・トップページ・関連記事) */
.entry-card{background:var(--tp-bg-raised) !important;border:1px solid var(--tp-line) !important;border-radius:10px !important;overflow:hidden;transition:transform .25s ease, box-shadow .25s ease;}
.entry-card:hover{transform:scale(1.035);box-shadow:0 12px 30px var(--tp-shadow);position:relative;z-index:2;}
.entry-card-content{background:var(--tp-bg-raised) !important;}
.entry-card-title, .entry-card-title a{color:var(--tp-text) !important;}
.entry-card-snippet{color:var(--tp-text-soft) !important;}
.entry-card-info, .entry-card-info *{color:var(--tp-text-soft) !important;}
.entry-category, .cat-label{background:var(--tp-coral) !important;color:var(--tp-on-coral) !important;border:none !important;font-weight:700 !important;}
.archive-title{color:var(--tp-text) !important;}

/* 記事ページ本文(見出し・目次・パンくずなどページ全体の下地) */
.entry-title{color:var(--tp-text) !important;font-family:'Kaisei Decol', 'Hiragino Mincho ProN', serif !important;}
.entry-content a{color:var(--tp-coral-ink) !important;}
.date-tags, .entry-categories-tags, .footer-meta{color:var(--tp-text-soft) !important;}

/* 関連記事・ページャー・パンくず */
.related-entries, .sns-share, .sns-follow{background:var(--tp-bg-raised) !important;border:1px solid var(--tp-line) !important;border-radius:8px !important;}
.related-entry-heading{color:var(--tp-text) !important;}
#pager-post-navi a{background:var(--tp-bg-raised) !important;color:var(--tp-text) !important;border:1px solid var(--tp-line) !important;}
#breadcrumb, #breadcrumb a, .breadcrumb-caption{color:var(--tp-text-soft) !important;}

/* フッター */
#footer, #footer-in{background:var(--tp-bg) !important;border-top:1px solid var(--tp-line) !important;color:var(--tp-text-soft) !important;}
#footer a{color:var(--tp-text-soft) !important;}

/* 重複しがちなメタ情報を整理(共有ボタン上部・閲覧数の重複を非表示) */
.sns-share.ss-top{display:none !important;}
.article-header .date-tags .fa-eye,.article-header .date-tags .count-entry{display:none !important;}
.entry-card-meta .entry-card-info .fa-eye{display:none !important;}

/* ============================================================
   ヒーローバンド・棚(ショートコード用) START (2026-09-01)
   [np_hero] [np_shelf] [np_series] が出力するHTMLに対応。
   ============================================================ */
.np-hero{
  position:relative;border-radius:12px;overflow:hidden;margin:0 auto 32px;
  max-width:880px;
  aspect-ratio:16/9;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;
  padding:24px 28px 26px;
  background-size:cover;background-position:center;background-color:var(--tp-bg-raised);
  border:1px solid var(--tp-line);
}
.np-hero-badges{margin-bottom:10px;}
.np-hero-badge{
  display:inline-block;font-size:11px;font-weight:700;letter-spacing:.03em;
  color:rgba(255,255,255,.9);background:var(--tp-badge-bg);padding:3px 9px;border-radius:20px;margin-right:6px;
}
.np-hero-title{
  color:var(--tp-hero-title) !important;font-size:30px !important;margin:0 0 10px !important;
  font-family:'Zen Maru Gothic','Hiragino Maru Gothic ProN',sans-serif !important;
  font-weight:900 !important;letter-spacing:.03em;text-shadow:0 2px 16px rgba(0,0,0,.4);
}
.np-hero-excerpt{
  color:var(--tp-hero-text) !important;max-width:52ch;line-height:1.8;margin:0 0 18px !important;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  text-shadow:0 1px 8px rgba(0,0,0,.35);
}
.np-hero-cta{
  display:inline-block;background:var(--tp-coral);color:var(--tp-on-coral) !important;font-weight:700;
  padding:9px 20px;border-radius:6px;text-decoration:none !important;
}
@media (max-width:600px){
  .np-hero{aspect-ratio:4/5;padding:22px 20px 24px;}
  .np-hero-title{font-size:23px !important;}
}

/* 棚(横スクロール。現状は未使用だが将来「新着」用に残す) */
.np-shelf{margin:0 0 32px;position:relative;}
.np-shelf-title{
  color:var(--tp-text) !important;font-family:'Zen Maru Gothic','Hiragino Maru Gothic ProN',sans-serif !important;
  font-weight:700 !important;font-size:23px !important;letter-spacing:.04em;margin:0 0 16px !important;
  display:flex;align-items:center;gap:12px;
}
.np-shelf-title::after{content:"";flex:1 1 auto;height:1px;background:var(--tp-line);}
.np-shelf-row{
  display:flex;gap:14px;overflow-x:auto;padding-bottom:6px;
  scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;
}
.np-shelf-row::-webkit-scrollbar{height:0;display:none;}
.np-shelf::after{
  content:"";position:absolute;right:0;bottom:4px;width:56px;height:calc(100% - 34px);
  pointer-events:none;background:linear-gradient(90deg,transparent,var(--tp-bg));
}
.np-poster{
  flex:0 0 150px;scroll-snap-align:start;border-radius:8px;overflow:hidden;
  border:1px solid var(--tp-line);background:var(--tp-bg-raised);
  text-decoration:none !important;transition:transform .2s ease;
}
.np-poster:hover{transform:scale(1.04);}
.np-poster-art{height:150px;background-size:cover;background-position:center;background-color:var(--tp-bg-raised);position:relative;}
.np-badge{
  position:absolute;top:6px;font-size:10px;font-weight:700;color:var(--tp-badge-ink);
  background:var(--tp-badge-bg);padding:2px 6px;border-radius:4px;
}
.np-badge-ep{left:6px;}
.np-badge-len{right:6px;}
.np-poster-meta{padding:8px 10px 10px;}
.np-poster-cat{font-size:10px;color:var(--tp-text-soft) !important;font-weight:700;margin-bottom:2px;}
.np-poster-title{font-size:12px;color:var(--tp-text) !important;line-height:1.4;}
/* ============================================================
   ヒーローバンド・棚 END
   ============================================================ */

/* ============================================================
   シリーズ・パッケージ START (2026-09-02 ポスターグリッド版)
   [np_series] が出力する<details>ベースのカード。
   通常時=ポスター画像のみ / ホバー(タッチ端末は常時)=説明オーバーレイ
   クリック=その行だけ全幅に開いて全話一覧を横に表示
   ============================================================ */
.np-series{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(168px,1fr));
  gap:26px 16px;
  align-items:start;
  max-width:1180px;
  margin:0 auto 44px;
}
/* 見出しは1行占有(auto-fillなのでカード1枚でも伸びない) */
.np-series > .np-shelf-title{grid-column:1/-1;margin:0 0 2px !important;}

/* --- グリッドの1マス --- */
.np-pack{
  position:relative;min-width:0;
  margin:0;border:none;background:none;border-radius:0;overflow:visible;box-shadow:none;
}
.np-pack:hover{z-index:3;}

.np-pack-summary{display:block;list-style:none;cursor:pointer;}
.np-pack-summary::-webkit-details-marker{display:none;}
.np-pack-summary::marker{content:"";}
.np-pack-summary:focus{outline:none;}

/* --- ポスター本体(2:3) --- */
.np-pack-inner{
  position:relative;display:block;width:100%;aspect-ratio:2/3;
  border-radius:12px;overflow:hidden;background:var(--tp-bg-raised);
  box-shadow:inset 0 0 0 1px var(--tp-line);
  transition:transform .28s cubic-bezier(.2,.7,.3,1), box-shadow .28s ease;
}
.np-pack-art{
  position:absolute;inset:0;display:block;
  background-size:cover;background-position:center;background-color:var(--tp-line);
  transition:transform .5s cubic-bezier(.2,.7,.3,1);
}
.np-pack-art-empty{
  background-color:var(--tp-bg-raised);
  background-image:repeating-linear-gradient(135deg,var(--tp-line) 0 1px,transparent 1px 11px);
}

/* --- ホバーで浮かぶ説明オーバーレイ --- */
.np-pack-body{
  position:absolute;left:0;right:0;bottom:0;
  display:flex;flex-direction:column;gap:6px;
  padding:36px 12px 13px;
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.55) 42%,rgba(0,0,0,.88) 100%);
  opacity:0;transform:translateY(10px);
  transition:opacity .24s ease, transform .24s ease;
  pointer-events:none;
}
.np-pack-title{
  font-family:'Kaisei Decol','Hiragino Mincho ProN',serif;
  font-size:15px;line-height:1.35;color:#fff;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.np-pack-meta{
  align-self:flex-start;
  font-size:10.5px;letter-spacing:.06em;font-weight:700;
  color:var(--tp-badge-ink);background:var(--tp-badge-bg);
  padding:2px 8px;border-radius:20px;
}
.np-pack-desc{
  font-size:11.5px;line-height:1.65;color:rgba(255,255,255,.82);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}

/* --- 展開ヒントのシェブロン(右上) --- */
.np-pack-chev{
  position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;
  border:1px solid rgba(255,255,255,.35);background:var(--tp-badge-bg);
  opacity:.85;transition:transform .25s ease, opacity .2s ease;
}
.np-pack-chev::before{
  content:"";position:absolute;inset:0;margin:auto;width:6px;height:6px;
  border-right:2px solid #fff;border-bottom:2px solid #fff;
  transform:translateY(-2px) rotate(45deg);
}

/* --- ホバー可能な端末だけの演出 --- */
@media (hover:hover) and (pointer:fine){
  .np-pack-inner:hover{
    transform:scale(1.035);
    box-shadow:inset 0 0 0 1px var(--tp-coral), 0 20px 42px var(--tp-shadow);
  }
  .np-pack-inner:hover .np-pack-art{transform:scale(1.08);}
  .np-pack-inner:hover .np-pack-body{opacity:1;transform:none;}
  .np-pack-inner:hover .np-pack-chev{opacity:1;}
  .np-pack-soon .np-pack-inner:hover{transform:none;box-shadow:inset 0 0 0 1px var(--tp-line);}
  .np-pack-soon .np-pack-inner:hover .np-pack-art{transform:none;}
}
/* --- キーボード操作 --- */
.np-pack-summary:focus-visible .np-pack-inner{
  box-shadow:inset 0 0 0 2px var(--tp-coral), 0 20px 42px var(--tp-shadow);
}
.np-pack-summary:focus-visible .np-pack-body{opacity:1;transform:none;}

/* --- タッチ端末(ホバー無し)は説明を常時表示 --- */
@media (hover:none){
  .np-pack-body{opacity:1;transform:none;padding-top:26px;}
  .np-pack-desc{display:none;}
}

/* --- 準備中カード --- */
.np-pack-soon{opacity:.72;cursor:default;}
.np-pack-soon .np-pack-inner{outline:1px dashed var(--tp-line);outline-offset:-1px;}
.np-pack-soon .np-pack-body{
  position:absolute;inset:0;padding:16px;gap:9px;
  align-items:center;justify-content:center;text-align:center;
  background:none;opacity:1;transform:none;
}
.np-pack-soon .np-pack-title{color:var(--tp-text);}
.np-pack-soon .np-pack-meta{
  align-self:center;background:transparent;
  border:1px solid var(--tp-line);color:var(--tp-text-soft);
}
.np-pack-soon .np-pack-desc{display:none;}

/* --- 展開時:その行だけ全幅+「左ポスター/右に全話一覧」 --- */
.np-pack[open]{
  grid-column:1/-1;
  display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start;
  padding:16px;border:1px solid var(--tp-coral);border-radius:16px;
  background:var(--tp-bg-raised);box-shadow:0 22px 54px var(--tp-shadow);
}
/* 展開時は「上に表紙・下にタイトル/概要」の縦積みに戻す(画像の上に文字を重ねない) */
.np-pack[open] .np-pack-inner{
  display:flex;flex-direction:column;gap:12px;aspect-ratio:auto;height:auto;
  transform:none;box-shadow:none;
}
.np-pack[open] .np-pack-art{position:static;aspect-ratio:2/3;border-radius:10px;transform:none;}
.np-pack[open] .np-pack-body{
  position:static;padding:0;background:none;opacity:1;transform:none;gap:7px;
}
.np-pack[open] .np-pack-title{font-size:17px;}
.np-pack[open] .np-pack-desc{
  color:var(--tp-text-soft);-webkit-line-clamp:unset;display:block;overflow:visible;
}
.np-pack[open] .np-pack-chev{transform:rotate(180deg);opacity:1;}

.np-pack-panel{border-top:none;padding:0;animation:np-fade .28s ease both;}
@keyframes np-fade{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:none;}}

.np-ep-list{
  list-style:none;margin:0;padding:0 6px 0 0;
  max-height:min(58vh,470px);overflow-y:auto;overscroll-behavior:contain;
  scrollbar-width:thin;scrollbar-color:var(--tp-line) transparent;
}
.np-ep-list::-webkit-scrollbar{width:8px;}
.np-ep-list::-webkit-scrollbar-track{background:transparent;}
.np-ep-list::-webkit-scrollbar-thumb{background:var(--tp-line);border-radius:8px;}
.np-ep{border-bottom:1px solid var(--tp-line);}
.np-ep:last-child{border-bottom:none;}
.np-ep-link{
  display:flex;align-items:center;gap:14px;padding:10px 6px;
  text-decoration:none !important;border-radius:8px;transition:background .18s ease;
}
.np-ep-link:hover{background:var(--tp-hover);}
.np-ep-no{flex:0 0 26px;text-align:center;font-size:17px;font-weight:700;color:var(--tp-text-soft);font-variant-numeric:tabular-nums;}
.np-ep-thumb{flex:0 0 108px;height:61px;border-radius:6px;background-size:cover;background-position:center;background-color:var(--tp-line);}
.np-ep-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px;}
.np-ep-title{font-size:14px;color:var(--tp-text);line-height:1.45;}
.np-ep-sub{font-size:11px;color:var(--tp-text-soft);}
.np-pack-all{display:inline-block;margin-top:12px;font-size:12.5px;font-weight:700;color:var(--tp-coral-ink) !important;text-decoration:none !important;}

/* --- レスポンシブ --- */
@media (max-width:900px){
  .np-series{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:22px 14px;}
  .np-pack[open]{grid-template-columns:200px minmax(0,1fr);gap:18px;}
}
@media (max-width:600px){
  .np-series{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:18px 12px;}
  .np-pack-inner{border-radius:10px;}
  .np-pack-title{font-size:13px;}
  .np-pack-body{padding:26px 10px 11px;gap:5px;}
  .np-pack-chev{width:21px;height:21px;top:8px;right:8px;}
  .np-pack[open]{grid-template-columns:minmax(0,1fr);gap:14px;padding:12px;border-radius:12px;}
  .np-pack[open] .np-pack-summary{width:140px;}
  .np-ep-list{max-height:none;overflow:visible;padding-right:0;}
  .np-ep-thumb{flex-basis:84px;height:47px;}
}

/* --- モーション低減設定への配慮 --- */
@media (prefers-reduced-motion:reduce){
  .np-pack-inner,.np-pack-art,.np-pack-body,.np-pack-chev{transition:none !important;}
  .np-pack-inner:hover{transform:none !important;}
  .np-pack-inner:hover .np-pack-art{transform:none !important;}
  .np-pack-panel{animation:none !important;}
}
/* ============================================================
   シリーズ・パッケージ END
   ============================================================ */

/* ============================================================
   読書ページ START (2026-09-01 刷新版)
   記事ページ(entry-content)の文字組み — クールな短編小説サイトへ
   ============================================================ */
.entry-content{
  max-width:34em;
  margin-left:auto;margin-right:auto;
  font-size:clamp(16px, 0.95rem + 0.25vw, 19px) !important;
  line-height:2 !important;
  letter-spacing:.025em;
  color:var(--tp-read) !important;
  font-family:'Shippori Mincho','Hiragino Mincho ProN','Yu Mincho',YuMincho,serif !important;
  font-weight:400;
}
:root:not([data-theme="light"]) .entry-content{font-weight:500;}
.entry-content p{margin:0 0 1.9em !important;color:var(--tp-read) !important;}
.entry-content p:first-of-type{
  font-size:1.06em !important;color:var(--tp-text-soft) !important;
  border-left:2px solid var(--tp-line);padding-left:1em;line-height:1.9 !important;
}
.entry-content li{color:var(--tp-read) !important;}
.entry-content h2,.entry-content h3{
  font-family:'Kaisei Decol','Hiragino Mincho ProN',serif !important;
  font-weight:400 !important;background:none !important;border:none !important;
  color:var(--tp-text) !important;
}
.entry-content h2{
  text-align:center;font-size:1.35em !important;letter-spacing:.14em;
  padding:0 !important;margin:4.5em 0 2.4em !important;position:relative;
}
.entry-content h2::after{content:"";display:block;width:38px;height:1px;background:var(--tp-coral);margin:.9em auto 0;}
.entry-content h3{
  text-align:center;font-size:.92em !important;letter-spacing:.28em;
  color:var(--tp-text-soft) !important;padding:0 !important;margin:3.6em 0 1.8em !important;
}
.entry-content h2 > span,.entry-content h3 > span{display:inline;}

.entry-content hr.wp-block-separator{
  border:none !important;text-align:center;margin:3.6em auto !important;
  max-width:34em;height:1.4em;position:relative;
}
.entry-content hr.wp-block-separator::after{content:"◆";color:var(--tp-text-soft);opacity:.6;font-size:13px;}
.entry-content ::selection{background:var(--tp-coral);color:var(--tp-on-coral);}

#toc, .toc{background:transparent !important;border:1px solid var(--tp-line) !important;color:var(--tp-text) !important;border-radius:10px;font-size:.86em;margin:2.4em auto !important;max-width:34em;}
#toc a{color:var(--tp-text-soft) !important;}

/* 記事ページのアイキャッチ(read-hero.phpが差し込む)。
   文章中心の印象にするため、画面幅いっぱいではなく本文幅に収めた「挿絵」サイズにする。 */
.np-read-hero{max-width:34em;margin:0 auto 2.2em;}
.np-read-hero-media{
  width:100%;aspect-ratio:16/9;border-radius:12px;overflow:hidden;
  background-size:cover;background-position:center;background-color:var(--tp-bg-raised);
  border:1px solid var(--tp-line);
}
.np-read-hero-head{padding:16px 4px 0;}
.np-read-cat{font-size:11px;letter-spacing:.08em;font-weight:700;color:var(--tp-text-soft) !important;margin-bottom:8px;}
.np-read-title{
  color:var(--tp-text) !important;font-size:23px !important;line-height:1.45 !important;margin:0 0 8px !important;
  font-family:'Kaisei Decol','Hiragino Mincho ProN',serif !important;
}
.np-read-meta{color:var(--tp-text-soft) !important;font-size:12px;letter-spacing:.04em;}
/* 記事本文側の既定タイトル・既定アイキャッチ(read-hero.phpの表示と重複)は隠す */
.tp-cat-fps .article-header .entry-title,
.tp-cat-documentary .article-header .entry-title{display:none !important;}
.single-post .eye-catch{display:none !important;}

@media (max-width:600px){
  .entry-content{max-width:none;padding:0 18px;line-height:1.98 !important;}
  .entry-content h2{margin:3.4em 0 2em !important;}
  .np-read-hero-media{border-radius:8px;}
  .np-read-title{font-size:19px !important;}
}
/* ============================================================
   読書ページ END
   ============================================================ */

/* ============================================================
   記事末尾の要素(Amazon誘導ボタン・SNSシェア/フォロー) START (2026-09-01 その3)
   ============================================================ */
/* Amazon誘導ボタン: 塗りつぶしの派手な色をやめ、ダーク/ライト両対応の控えめな縁取りボタンに */
.entry-content .wp-block-buttons{max-width:34em;margin:2.6em auto 0 !important;}
.entry-content .wp-block-buttons .wp-block-button__link{
  background:transparent !important;
  color:var(--tp-text) !important;
  border:1.5px solid var(--tp-line) !important;
  border-radius:999px !important;
  font-weight:600 !important;
  font-size:13.5px !important;
  padding:10px 24px !important;
  transition:border-color .2s ease, color .2s ease;
}
.entry-content .wp-block-buttons .wp-block-button__link:hover{
  border-color:var(--tp-coral) !important;color:var(--tp-coral) !important;
}
.entry-content .wp-block-buttons .wp-block-button__link .bold-blue{color:inherit !important;}
/* 直前の「-出版情報-」段落も本文と同じ落ち着いたトーンに */
.entry-content p:has(+ .wp-block-buttons){
  text-align:center;font-size:.85em !important;color:var(--tp-text-soft) !important;
}

/* SNSシェア・フォロー: 大きな色付きブロックをやめ、小さな輪郭アイコンに統一 */
.sns-share.ss-bottom,.sns-follow.sf-bottom{
  background:transparent !important;border:none !important;box-shadow:none !important;
  max-width:34em;margin:3em auto 0 !important;padding:0 !important;
}
.sns-share-message,.sns-follow-message{
  font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--tp-text-soft) !important;text-align:center;margin-bottom:12px !important;
}
.sns-share-buttons,.sns-follow-buttons{
  display:flex !important;justify-content:center;gap:8px;flex-wrap:wrap;
}
.sns-share .sns-button,.sns-follow .sns-button{
  width:34px !important;height:34px !important;min-width:0 !important;
  border-radius:50% !important;background:var(--tp-bg-raised) !important;
  border:1px solid var(--tp-line) !important;color:var(--tp-text-soft) !important;
  display:flex !important;align-items:center;justify-content:center;
  transition:border-color .18s ease,color .18s ease,transform .18s ease;
}
.sns-share .sns-button:hover,.sns-follow .sns-button:hover{
  border-color:var(--tp-coral) !important;color:var(--tp-coral) !important;transform:translateY(-2px);
}
.sns-share .button-caption,.sns-share .share-count{display:none !important;}
.sns-share .social-icon,.sns-follow [class^="icon-"]{font-size:13px !important;color:inherit !important;}
/* ============================================================
   記事末尾の要素 END
   ============================================================ */

/* ============================================================
   トップページの重複解消 START (2026-09-01 その3)
   Cocoon標準の「フロントページタイプ」機能(新着記事グリッド+カテゴリ別もっと見る)は
   [np_hero][np_series]と内容が重複するため非表示にする。
   戻す場合: この1行を消すか、Cocoon設定→トップページでフロントページタイプを「通常」に変更。
   ============================================================ */
#list-wrap{display:none !important;}
/* トップページ最下部の死んだ余白(非表示にした#list-wrapの余白が残る) */
.front-top-page #content{display:none !important;}
/* ============================================================
   トップページの重複解消 END
   ============================================================ */

/* ============================================================
   Opusレビュー反映 START (2026-09-01 その4)
   ============================================================ */

/* モバイル: 配色トグルがナビと一緒に消えるのを防ぎ、常時右上に固定表示 */
/* デスクトップでは footer 直前に出す独立トグルは不要(ナビ内のものを使う) */
.tp-theme-toggle-floating{display:none;}
@media screen and (max-width:1023px){
  /* #navi ごと非表示になるナビ内トグルの代わりに、独立した浮きボタンを表示 */
  .tp-theme-toggle-floating{
    display:flex !important;position:fixed !important;top:9px;right:14px;z-index:1100;
  }
  /* サイドバーを非表示にした結果ほぼ空になる標準モバイル下部バーは非表示 */
  .mobile-footer-menu-buttons{display:none !important;}
}

/* 記事ページ下部の整理: 日付2つ・カテゴリ/タグ帯・目次は情報が重複するので非表示、
   「次の話」を関連記事より前に上げて本文幅に揃える */
.tp-cat-fps .article-header .date-tags,
.tp-cat-documentary .article-header .date-tags{display:none !important;}
.tp-cat-fps .entry-categories-tags,
.tp-cat-documentary .entry-categories-tags{display:none !important;}
.tp-cat-fps #toc,
.tp-cat-documentary #toc{display:none !important;}
.tp-cat-fps .under-entry-content,
.tp-cat-documentary .under-entry-content{display:flex;flex-direction:column;}
.tp-cat-fps #pager-post-navi,
.tp-cat-documentary #pager-post-navi{
  order:-1;max-width:34em;margin:0 auto 3.5em !important;
}
/* ============================================================
   Opusレビュー反映 END
   ============================================================ */
