@charset "UTF-8";

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

/************************************
** 子テーマ用のスタイルを書く
************************************/
/* 2026-09-13 「紙の学術誌」風スキン（Claudeと作成）
   旧・グローバルナビ白背景の指定はこのスキンに統合済み */

/* =========================================================
   構造で読み解く不合理 — Paper / Journal skin (child theme CSS)
   方針: 白地・余白・明朝の見出し・装飾を削る
   ========================================================= */

:root{
  --paper-bg:#f4f1ea;        /* 外側の紙色 */
  --sheet-bg:#fffdf9;        /* 本文の紙色 */
  --ink:#2a2723;             /* 本文の墨色 */
  --ink-soft:#5c574f;        /* 補助テキスト */
  --rule:#d9d3c7;            /* 罫線 */
  --rule-strong:#2a2723;
  --accent:#243b5a;          /* 藍（リンク・ラベル） */
  --serif:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho","YuMincho","BIZ UDPMincho",serif;
  --sans:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic Medium","YuGothic","BIZ UDPGothic",Meiryo,sans-serif;
}

/* ---------- 全体 ---------- */
body{
  background:var(--paper-bg);
  color:var(--ink);
  font-family:var(--sans);
  letter-spacing:.02em;
  line-height:1.9;
}
a{color:var(--accent);}
a:hover{color:#5a7399;}

.main,.sidebar{
  background:var(--sheet-bg);
  border:1px solid var(--rule);
  box-shadow:none;
  border-radius:0;
}
.main{padding:40px 36px 56px;}
.sidebar{padding:24px 20px;}
/* 本文幅を確保：サイドバーを300pxに */
@media screen and (min-width:1024px){
  .main{flex:1 1 0;width:auto;min-width:0;}
  .sidebar{flex:0 0 300px;width:300px;}
}

/* ---------- ヘッダー ---------- */
.header{border-bottom:none;}
.header-container,.header,.header-in,#header{background:var(--paper-bg) !important;}
.header-in{display:flex;flex-direction:column;justify-content:center;}
.site-name-text{font-size:2rem;}
@media screen and (max-width:480px){.site-name-text{font-size:1.4rem;}}
.site-name-text{
  font-family:var(--serif);
  font-weight:500;
  letter-spacing:.18em;
  color:var(--ink);
  text-shadow:none;
}
.tagline{font-family:var(--serif);letter-spacing:.12em;color:var(--ink-soft);}

/* グローバルナビ：帯をやめて罫線のみ */
.navi,.navi-in>ul{background:var(--paper-bg) !important;}
.navi-in{border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--rule);}
.navi-in>ul{display:flex;flex-wrap:wrap;justify-content:center;}
.navi-in>ul>li{border:none;width:auto;flex:0 0 auto;}
.navi-in>ul>li.menu-item{width:auto !important;min-width:0;}
.navi-in>ul>li.menu-item>a{width:auto !important;overflow:visible;white-space:nowrap;}
.navi-in .caption-wrap,.navi-in .item-label{overflow:visible !important;text-overflow:clip !important;white-space:nowrap;max-width:none !important;}
.navi-in>ul>li>a{
  font-family:var(--serif);
  font-size:.92em;
  letter-spacing:.1em;
  color:var(--ink) !important;
  background:transparent !important;
  height:auto;line-height:1;padding:14px 18px;
}
.navi-in>ul>li>a:hover{background:transparent !important;text-decoration:underline;text-underline-offset:.4em;}

/* ---------- 記事一覧（トップ・カテゴリ） ---------- */
.entry-card-wrap{
  border:none;
  border-bottom:1px solid var(--rule);
  padding:30px 0;
  margin:0;
  box-shadow:none;
}
.entry-card-wrap:first-child{padding-top:6px;}
.entry-card-wrap:hover{box-shadow:none;}
.entry-card-thumb{margin-right:28px;}
.entry-card-thumb img{border-radius:0;border:1px solid var(--rule);}
.entry-card-title{
  font-family:var(--serif);
  font-size:1.22em;
  font-weight:600;
  line-height:1.55;
  color:var(--ink);
  letter-spacing:.02em;
}
.entry-card-snippet{
  color:var(--ink-soft);
  font-size:.9em;
  line-height:1.8;
  margin-top:.6em;
}
.entry-card-meta{color:var(--ink-soft);font-size:.8em;}
/* カテゴリラベル：ベタ塗りをやめて細枠 */
.cat-label{
  background:var(--sheet-bg);
  color:var(--accent);
  border:1px solid var(--accent);
  font-family:var(--serif);
  font-size:.7em;
  letter-spacing:.12em;
  padding:2px 8px;
  border-radius:0;
  opacity:1;
}
/* PVカウンタは一覧では非表示（ノイズ） */
.entry-card .post-view,.entry-card .pv-count,.entry-card .entry-card-pv{display:none;}

/* ---------- 記事本文 ---------- */
.article{font-size:17px;line-height:1.85;}
.entry-title,.article h1{
  font-family:var(--serif);
  font-weight:600;
  font-size:1.7em;
  line-height:1.5;
  letter-spacing:.02em;
  margin-bottom:.6em;
}
.article h2{
  font-family:var(--serif);
  font-weight:600;
  font-size:1.35em;
  color:var(--ink);
  background:none;
  border:none;
  border-bottom:1px solid var(--rule-strong);
  padding:.2em 0 .45em;
  margin:2.4em 0 1.2em;
  border-radius:0;
}
.article h3{
  font-family:var(--serif);
  font-weight:600;
  font-size:1.15em;
  background:none;
  border:none;
  border-left:3px solid var(--rule-strong);
  padding:.1em 0 .1em .7em;
  margin:2em 0 1em;
}
.article h4{
  font-family:var(--serif);
  font-size:1.05em;
  border:none;
  background:none;
  padding:0;
  margin:1.8em 0 .8em;
}
.article p{margin-bottom:1.3em;}
/* 吹き出し・ボックス内の最終段落は余白なし */
.mychat-text p:last-child,.wb-text p:last-child,.article blockquote p:last-child{margin-bottom:0;}
.article blockquote{
  background:transparent;
  border:none;
  border-left:2px solid var(--rule);
  color:var(--ink-soft);
  font-family:var(--serif);
  padding:.2em 0 .2em 1.2em;
  margin:1.8em 0;
}
.article table{border-color:var(--rule);}
.article th{background:#efebe3;font-weight:600;}
.article td,.article th{border:1px solid var(--rule);}

/* 目次 */
.toc{
  background:transparent;
  border:1px solid var(--rule);
  border-radius:0;
  padding:1.2em 1.6em;
  font-size:.92em;
}
.toc-title{font-family:var(--serif);letter-spacing:.2em;font-weight:600;}
.toc-title::before{display:none;}
.toc a{color:var(--ink);text-decoration:none;}
.toc a:hover{text-decoration:underline;}

/* SNSシェア：色をなくして枠線だけに */
.sns-share-buttons a{
  background:transparent !important;
  color:var(--ink-soft) !important;
  border:1px solid var(--rule) !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.sns-share-buttons a:hover{background:#efebe3 !important;}
.sns-share-message{font-family:var(--serif);letter-spacing:.15em;color:var(--ink-soft);}

/* 日付・投稿者 */
.date-tags,.post-date,.post-update{color:var(--ink-soft);}

/* PR表記・広告注記 */
.pr-label,.ad-label-inner{border:1px solid var(--rule);color:var(--ink-soft);background:transparent;}

/* ---------- サイドバー ---------- */
.sidebar h3,.sidebar h2,.sidebar .widget-title{
  font-family:var(--serif);
  font-weight:600;
  font-size:.95em;
  letter-spacing:.2em;
  background:none;
  border:none;
  border-bottom:1px solid var(--rule-strong);
  padding:0 0 .5em;
  margin:0 0 1em;
  color:var(--ink);
}
.sidebar{font-size:.9em;}
.sidebar .widget{margin-bottom:2.6em;}
.sidebar a{color:var(--ink);text-decoration:none;}
.sidebar a:hover{text-decoration:underline;}
.widget-entry-cards .a-wrap{padding:.6em 0;border-bottom:1px solid var(--rule);}
.widget-entry-card-thumb img{border:1px solid var(--rule);}
.search-box input[type="text"]{border:1px solid var(--rule);border-radius:0;background:#fff;}
.author-box{border:none;padding:0;}
.author-thumb img{border-radius:50%;}

/* ---------- フッター ---------- */
.footer{background:var(--paper-bg);color:var(--ink-soft);border-top:1px solid var(--rule-strong);}
.footer a{color:var(--ink-soft);}
.footer-bottom{font-family:var(--serif);letter-spacing:.1em;font-size:.8em;}

/* ページ送り */
.pagination a,.pagination .current{border:1px solid var(--rule);border-radius:0;background:transparent;}
.pagination .current{background:var(--ink);color:#fff;}

/* ボタン（Cocoonの汎用） */
.btn,.btn-wrap a{border-radius:0;box-shadow:none;}

/* ---------- レスポンシブ ---------- */
@media screen and (max-width:1023px){
  .main{padding:32px 28px 44px;}
}
@media screen and (max-width:834px){
  #navi{display:none;}  /* スマホは下部モバイルメニューに任せる */
  .header-in{min-height:0;height:auto !important;padding:18px 0 14px;}
  .main{padding:28px 20px 40px;}
  .entry-card-title{font-size:1.1em;}
}
@media screen and (max-width:480px){
  .main{padding:22px 16px 32px;border-left:none;border-right:none;}
  .entry-card-wrap{padding:22px 0;}
  .entry-card-thumb{margin-right:14px;}
  .article{font-size:16px;line-height:1.95;}
  .article h2{font-size:1.25em;}
}
