/* =====================================================================
   わしおの空想部屋 — 共通スタイル
   ===================================================================== */

/* ---- フォント ---- */
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700&family=Shippori+Mincho+B1:wght@600;700;800&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap');

/* ---- カラートークン ---- */
:root{
  --navy:        #1c2c4c;   /* 濃紺（ヘッダー・フッター・本文見出し） */
  --navy-2:      #243a63;
  --navy-soft:   #2e4570;
  --ink:         #2a3a52;   /* 本文 */
  --ink-soft:    #4a5870;
  --paper:       #f4ead6;   /* 生成りの紙 */
  --paper-2:     #efe2c9;   /* やや濃い紙（パネル区切り） */
  --paper-card:  #f8f1e2;   /* カード地 */
  --gold:        #c79a4b;   /* 金茶（縁取り・差し色） */
  --gold-soft:   #d8b878;
  --gold-line:   #cdb583;
  --sky-1:       #7fa9d6;   /* 青空 */
  --sky-2:       #a9c9e6;
  --sky-3:       #cfe0ee;
  --dusk-1:      #4a3f73;   /* 夕暮れ 紫 */
  --dusk-2:      #7d5e93;
  --dusk-3:      #c97e6d;
  --dusk-4:      #e7a86a;
  --line:        #d8c9a8;
  --shadow:      0 8px 28px rgba(28,44,76,.10);
  --shadow-sm:   0 3px 12px rgba(28,44,76,.10);

  --maxw: 1120px;
}

/* ---- リセット ---- */
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:"Shippori Mincho","Shippori Mincho B1",serif;
  font-weight:500;
  color:var(--ink);
  background:var(--paper);
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
  /* 和紙風の地紋 */
  background-image:
    radial-gradient(circle at 20% 10%, rgba(199,154,75,.05), transparent 60%),
    radial-gradient(circle at 80% 90%, rgba(58,110,165,.05), transparent 60%);
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4{ font-family:"Shippori Mincho B1",serif; font-weight:700; margin:0; letter-spacing:.04em; }

.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 24px; }
.mincho{ font-family:"Shippori Mincho B1",serif; }
/* スティッキーヘッダー分のアンカー余白 */
section[id], #news, #hero, #works, #links, #contact{ scroll-margin-top:88px; }

/* =====================================================================
   ヘッダー
   ===================================================================== */
.site-header{
  position:sticky; top:0; z-index:50;
  background:linear-gradient(180deg,#22345a,#1a2944);
  border-bottom:2px solid var(--gold);
  box-shadow:0 4px 16px rgba(0,0,0,.18);
}
.site-header .wrap{
  display:flex; align-items:center; gap:24px;
  height:74px; max-width:1280px;
}
.brand{ display:flex; align-items:center; gap:14px; color:#f3ead4; }
.brand .crest{
  width:46px; height:46px; flex:none; border-radius:50%;
  border:2px solid var(--gold-soft); display:grid; place-items:center;
  background:radial-gradient(circle at 50% 38%, #2f456e 0, transparent 70%);
}
.brand .crest svg{ width:26px; height:26px; }
.brand .brand-name{ font-family:"Shippori Mincho B1",serif; font-size:26px; font-weight:700; color:#f3ead4; letter-spacing:.06em; white-space:nowrap; }

.main-nav{ margin-left:auto; }
.main-nav ul{ list-style:none; display:flex; gap:6px; margin:0; padding:0; }
.main-nav a{
  display:flex; flex-direction:column; align-items:center; gap:1px;
  padding:8px 16px; border-radius:8px; color:#e7ddc6;
  transition:background .2s,color .2s;
}
.main-nav a:hover{ background:rgba(255,255,255,.08); color:#fff; }
.main-nav .nav-ja{ font-size:15px; font-weight:500; }
.main-nav .nav-en{ font-family:"Zen Kaku Gothic New",sans-serif; font-size:9px; letter-spacing:.18em; color:var(--gold-soft); }

/* ヘッダー右端の鷲（覗き込み） */
.header-chick{ width:62px; height:54px; flex:none; align-self:flex-end; margin-bottom:-2px; }
.header-chick .ph{ height:100%; border-radius:10px 10px 0 0; }

/* ハンバーガー */
.nav-toggle{ display:none; margin-left:auto; background:none; border:1.5px solid var(--gold-soft);
  border-radius:8px; width:44px; height:40px; cursor:pointer; flex-direction:column; gap:4px;
  align-items:center; justify-content:center; }
.nav-toggle span{ display:block; width:22px; height:2px; background:var(--gold-soft); border-radius:2px; }

/* ヘッダー レスポンシブ */
@media(max-width:900px){
  .site-header .wrap{ height:64px; gap:12px; }
  .brand .brand-name{ font-size:22px; }
  .header-chick{ display:none; }
  .nav-toggle{ display:flex; }
  .main-nav{ position:absolute; top:64px; left:0; right:0;
    background:linear-gradient(180deg,#22345a,#1a2944); border-bottom:2px solid var(--gold);
    max-height:0; overflow:hidden; transition:max-height .3s ease; }
  .main-nav.open{ max-height:420px; }
  .main-nav ul{ flex-direction:column; gap:0; padding:8px 0; }
  .main-nav a{ flex-direction:row; gap:10px; justify-content:flex-start; padding:13px 28px; border-radius:0; }
  .main-nav .nav-en{ margin-left:auto; }
}

/* =====================================================================
   汎用パーツ
   ===================================================================== */

/* --- 吹き出し --- */
.bubble{
  position:relative; display:inline-block;
  background:#fbf6ea; border:1.5px solid var(--gold-line);
  color:var(--navy); border-radius:16px; padding:10px 16px;
  font-size:13.5px; line-height:1.6; white-space:pre-line; text-align:center;
  box-shadow:var(--shadow-sm);
}
.bubble::after{
  content:""; position:absolute; left:24px; bottom:-9px;
  width:14px; height:14px; background:#fbf6ea;
  border-right:1.5px solid var(--gold-line); border-bottom:1.5px solid var(--gold-line);
  transform:rotate(45deg);
}
.bubble.tail-right::after{ left:auto; right:-9px; top:50%; bottom:auto; transform:translateY(-50%) rotate(-45deg); }
.bubble.tail-left::after{ left:-9px; right:auto; top:50%; bottom:auto; transform:translateY(-50%) rotate(135deg); }
.bubble.tail-up::after{ top:-9px; bottom:auto; transform:rotate(225deg); }

/* --- ボタン（紺ピル） --- */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  background:linear-gradient(180deg,#28406b,#1d2f51);
  color:#f3ead4; border:1.5px solid var(--gold-soft);
  border-radius:999px; padding:11px 26px; font-size:14px; font-weight:600;
  font-family:"Shippori Mincho B1",serif; cursor:pointer;
  box-shadow:var(--shadow-sm); transition:transform .15s, box-shadow .2s, filter .2s;
}
.btn:hover{ transform:translateY(-2px); filter:brightness(1.08); box-shadow:0 8px 20px rgba(28,44,76,.22); }
.btn .chev{ color:var(--gold-soft); font-size:13px; }
.btn-sm{ padding:8px 18px; font-size:13px; }

/* --- 画像プレースホルダー --- */
.ph{
  position:relative; width:100%; overflow:hidden;
  background-color:#e7ddc8;
  background-image:repeating-linear-gradient(135deg,
     rgba(28,44,76,.05) 0, rgba(28,44,76,.05) 1px,
     transparent 1px, transparent 11px);
  display:flex; align-items:center; justify-content:center;
  color:#8a7d62; font-family:"Zen Kaku Gothic New",monospace; font-size:13px;
  border-radius:10px; text-align:center; padding:8px;
}
.ph.on-dark{ background-color:#cdbf9f; }
img.set-img{ width:100%; height:100%; object-fit:cover; display:block; }

/* --- セクション見出し --- */
.section-title{
  text-align:center; font-size:30px; color:var(--navy);
  display:flex; align-items:center; justify-content:center; gap:18px;
  margin:0 0 34px;
}
.section-title::before,
.section-title::after{ content:none; }
.section-title .st-seigaiha{
  display:inline-flex; align-items:center; width:30px; color:var(--sky-1); opacity:.85;
}
.section-title .st-seigaiha svg{ width:100%; height:auto; }
.section-title .st-seigaiha.right{ transform:scaleX(-1); }

.section-note{ margin:-8px 0 22px; text-align:center; font-size:12px; color:var(--ink-soft); }
#links .section-note{ margin-top:-26px; }
#sites .section-note{ margin-top:-10px; text-align:left; }

/* パネル内見出し（花アイコン付き 左寄せ） */
.panel-head{
  display:flex; align-items:center; gap:12px; font-size:22px; color:var(--navy); margin:0 0 18px;
}
.flower{ color:var(--gold); font-size:.85em; line-height:1; }
.flower.blue{ color:#5b86b8; }

/* カードパネル */
.panel{
  background:var(--paper-card);
  border:1.5px solid var(--gold-line);
  border-radius:16px; padding:30px 32px;
  box-shadow:var(--shadow);
  position:relative;
}
.panel.inset{ box-shadow:inset 0 0 0 1px rgba(199,154,75,.25), var(--shadow-sm); }

/* セクション余白 */
section{ padding:56px 0; }

/* =====================================================================
   トップページ
   ===================================================================== */

/* --- ヒーロー --- */
.hero{
  position:relative; padding:0; overflow:hidden;
  background:
    linear-gradient(180deg, rgba(244,234,214,0) 62%, var(--paper) 100%),
    linear-gradient(180deg, var(--sky-1) 0%, var(--sky-2) 38%, var(--sky-3) 70%, #e7eaea 100%);
}
.hero .sky-img{ position:absolute; inset:0; }
.hero .sky-img .ph{ height:100%; border-radius:0; background-color:transparent; color:rgba(255,255,255,.6); }
.hero-inner{ position:relative; z-index:2; max-width:var(--maxw); margin:0 auto; padding:60px 24px 150px; text-align:center; }
.hero h1{
  font-size:clamp(40px,7vw,86px); color:var(--navy); letter-spacing:.08em;
  text-shadow:0 2px 0 rgba(255,255,255,.4);
}
.hero .subtitle{ font-family:"Shippori Mincho B1",serif; font-size:clamp(20px,3vw,30px); color:#2c4063; margin-top:18px; }
.hero .lead{ margin-top:18px; color:#33486b; font-size:15px; line-height:2; }
/* ヒーロー装飾の吹き出し・鷲 */
.hero .bubble-top{ position:absolute; top:120px; right:6%; z-index:3; }
.hero .hero-eagle{
  position:absolute; left:4%; bottom:0; z-index:3;
  display:flex; align-items:flex-end; gap:10px; max-width:46%;
}
.hero .hero-eagle .fig{ width:170px; height:150px; flex:none; }
.hero .hero-eagle .fig .ph{ height:100%; background-color:transparent; border:1px dashed rgba(28,44,76,.25); }
.hero .hero-eagle .bubble{ margin-bottom:30px; white-space:pre-line; }
@media(max-width:760px){
  .hero .bubble-top{ top:14px; right:14px; }
  .hero .hero-eagle{ position:static; width:auto; justify-content:center; margin-top:24px; }
  .hero-inner{ padding-bottom:40px; }
}

/* --- プロフィール + お知らせ 2カラム --- */
.two-col{ display:grid; grid-template-columns:1fr 1fr; gap:26px; align-items:stretch; }
@media(max-width:860px){ .two-col{ grid-template-columns:1fr; } }

.profile-panel{ position:relative; }
.profile-panel .body{ font-size:15px; color:var(--ink); }
.profile-panel .eagle{ position:absolute; right:18px; bottom:14px; width:120px; height:130px; }
.profile-panel .eagle .ph{ height:100%; background-color:transparent; border:1px dashed rgba(28,44,76,.2); }
.profile-panel .btn{ margin-top:18px; }
@media(max-width:520px){ .profile-panel .eagle{ display:none; } }

.news-panel .news-list{ display:flex; flex-direction:column; }
.news-item{ display:flex; align-items:baseline; gap:14px; padding:11px 0; border-bottom:1px dashed var(--line); flex-wrap:wrap; }
.news-item:last-child{ border-bottom:none; }
.news-date{ font-family:"Zen Kaku Gothic New",sans-serif; color:var(--ink-soft); font-size:13.5px; letter-spacing:.02em; }
.news-tag{ font-size:11px; background:#e9ddc0; color:#7a6536; border:1px solid var(--gold-line); border-radius:6px; padding:1px 9px; }
.news-text{ font-size:14.5px; }
.news-panel{ position:relative; }
.news-panel .news-deco{ position:absolute; right:20px; top:-46px; display:flex; align-items:flex-end; gap:8px; }
.news-panel .news-deco .fig{ width:120px; height:120px; }
.news-panel .news-deco .bubble{ margin-bottom:50px; }
.news-panel .news-deco .fig .ph{ height:100%; background-color:transparent; border:1px dashed rgba(28,44,76,.2); }
@media(max-width:560px){ .news-panel .news-deco{ display:none; } }
.news-panel .btn{ margin-top:18px; }

/* --- 作品一覧（2グループ） --- */
.works-cols{ display:grid; grid-template-columns:1fr 1fr; gap:26px; position:relative; }
@media(max-width:980px){ .works-cols{ grid-template-columns:1fr; } }

.group{ background:var(--paper-card); border:1.5px solid var(--gold-line); border-radius:16px; padding:26px; box-shadow:var(--shadow); }
.group-tab{
  position:relative;
  display:inline-block; background:linear-gradient(180deg,#28406b,#1d2f51); color:#f3ead4;
  font-family:"Shippori Mincho B1",serif; font-size:19px; padding:7px 26px; border-radius:10px;
  border:1.5px solid var(--gold-soft); margin-bottom:20px;
}
.group-tab::after{ content:""; position:absolute; inset:3px; border:1px solid rgba(216,184,120,.5); border-radius:7px; pointer-events:none; }

/* 小説カード（縦長） */
/* 小説カード（タイトル上→画像左/説明右→タグ下・長題対応） */
.novel-grid{ display:grid; grid-template-columns:1fr; gap:14px; }
.novel-card{ display:grid; grid-template-columns:120px 1fr; gap:16px; align-items:start; cursor:pointer;
  background:#fbf6ea; border:1px solid var(--line); border-radius:12px; padding:14px; transition:transform .18s, box-shadow .2s; }
.novel-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-sm); }
.novel-card .nc-cover{ width:120px; }
.novel-card .nc-cover .cover{ aspect-ratio:3/4.3; }
.novel-card .nc-body{ display:flex; flex-direction:column; min-width:0; }
.novel-card h4{ font-size:16px; color:var(--navy); line-height:1.45; margin:0 0 7px; }
.novel-card .desc{ font-size:12.5px; color:var(--ink-soft); line-height:1.65; min-width:0; }
.novel-card .tag{ align-self:flex-start; margin-top:9px; }
.tag{ display:inline-block; align-self:flex-start; font-size:11px; background:#e9ddc0; color:#7a6536;
  border:1px solid var(--gold-line); border-radius:6px; padding:2px 12px; margin-top:8px; }

/* マダミスカード（16:9） */
/* マダミスカード（画像→タイトル→説明→タグ・落ち着いた紙色） */
.mystery-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
@media(max-width:560px){ .mystery-grid{ grid-template-columns:1fr; } }
.mystery-card{ display:flex; flex-direction:column; background:var(--paper-2); border:1px solid var(--gold-line); border-radius:12px; padding:12px; cursor:pointer; transition:transform .18s, box-shadow .2s; }
.mystery-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-sm); }
.mystery-card .mc-cover .cover{ aspect-ratio:16/9; }
.mystery-card h4{ font-size:16px; color:var(--navy); line-height:1.45; margin:12px 0 6px; }
.mystery-card .desc{ font-size:12.5px; color:var(--ink-soft); line-height:1.65; }
.mystery-card .tag{ align-self:flex-start; margin-top:10px; }

.group .group-foot{ display:flex; justify-content:center; margin-top:22px; }

/* 作品一覧まわりの鷲 */
.works-cols .corner-eagle{ position:absolute; display:flex; align-items:flex-end; gap:8px; z-index:3; pointer-events:none; }
.works-cols .corner-eagle .fig{ width:116px; height:116px; }
.works-cols .corner-eagle .fig .ph{ height:100%; background-color:transparent; border:1px dashed rgba(28,44,76,.2); }
.ce-bl{ left:-6px; bottom:-30px; }
.ce-tr{ right:-6px; top:-56px; }
.works-cols .ce-tr .bubble{ margin-bottom:56px; }
@media(max-width:980px){ .works-cols .corner-eagle{ display:none; } }

/* --- 活動先リンク --- */
.links-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
@media(max-width:900px){ .links-grid{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:560px){ .links-grid{ grid-template-columns:repeat(2,1fr); } }
.link-card{
  background:var(--paper-card); border:1.5px solid var(--gold-line); border-radius:14px;
  padding:24px 16px; text-align:center; box-shadow:var(--shadow-sm); transition:transform .18s, box-shadow .2s;
}
.link-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.link-card .ico{ width:46px; height:46px; margin:0 auto 12px; color:var(--navy); }
.link-card .ico svg{ width:100%; height:100%; }
.link-card .name{ font-family:"Shippori Mincho B1",serif; font-size:17px; color:var(--navy); margin-bottom:6px; }
.link-card .link-tag{ display:inline-block; font-size:11px; border-radius:999px; padding:2px 12px; margin-bottom:8px;
  border:1px solid var(--gold-line); background:#e9ddc0; color:#7a6536; }
.link-card .link-tag.t-novel{ background:#dde6ea; color:#42607a; border-color:#c6d4dc; }
.link-card .link-tag.t-mystery{ background:#efe0d2; color:#9a5a33; border-color:#e2c9b4; }
.link-card .desc{ font-size:12.5px; color:var(--ink-soft); white-space:pre-line; line-height:1.6; }

/* --- お問い合わせ --- */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
@media(max-width:760px){ .contact-grid{ grid-template-columns:1fr; } }
.contact-card{ display:flex; gap:20px; align-items:flex-start; background:var(--paper-card);
  border:1.5px solid var(--gold-line); border-radius:14px; padding:26px 28px; box-shadow:var(--shadow-sm); }
.contact-card .ico{ width:54px; height:54px; flex:none; color:var(--navy); }
.contact-card .ico svg{ width:100%; height:100%; }
.contact-card .name{ font-family:"Shippori Mincho B1",serif; font-size:18px; color:var(--navy); margin-bottom:6px; }
.contact-card .desc{ font-size:13px; color:var(--ink-soft); white-space:pre-line; }
.contact-card .btn{ margin-top:14px; }
.contact-wrap{ position:relative; }
.contact-wrap .corner-eagle{ position:absolute; left:-52px; bottom:10px; display:flex; flex-direction:column; align-items:center; gap:6px; pointer-events:none; }
.contact-wrap .corner-eagle .fig{ width:116px; height:124px; }

/* 鷲イラストの左右反転（ヒーロー・小説・お問い合わせ） */
.hero .hero-eagle .fig img,
.works-cols .ce-bl .fig img,
.contact-wrap .corner-eagle .fig img{ transform:scaleX(-1); }
.contact-wrap .corner-eagle .fig .ph{ height:100%; background-color:transparent; border:1px dashed rgba(28,44,76,.2); }
@media(max-width:1180px){ .contact-wrap .corner-eagle{ display:none; } }

/* =====================================================================
   フッター
   ===================================================================== */
.site-footer{ position:relative; margin-top:40px; color:#f1e7d0; }
.footer-scene{
  position:relative; overflow:hidden;
  background:linear-gradient(180deg,#2b3c63 0%,#3a4f7a 40%,#6b5a86 72%,#9a6f7a 100%);
  padding:70px 0 50px;
}
.footer-scene.dusk{ background:linear-gradient(180deg,#3a3566 0%,#6b4f86 38%,#b06f78 68%,#e0995f 100%); }
.footer-scene .bg-img{ position:absolute; inset:0; opacity:.9; }
.footer-scene .bg-img .ph{ height:100%; border-radius:0; background-color:transparent; color:rgba(255,255,255,.45); border:none; }
.footer-scene .wrap{ position:relative; z-index:2; display:flex; align-items:center; gap:18px; }
.footer-brand{ display:flex; align-items:center; gap:16px; }
.footer-brand .crest{ width:54px; height:54px; border:2px solid rgba(243,234,212,.8); border-radius:50%; display:grid; place-items:center; }
.footer-brand .crest svg{ width:30px; height:30px; color:#f3ead4; }
.footer-brand .ftitle{ font-family:"Shippori Mincho B1",serif; font-size:30px; color:#f6eed8; }
.footer-brand .ftag{ font-family:"Shippori Mincho B1",serif; font-size:15px; color:#e6dcc4; opacity:.92; }
.footer-eagle-fly{ position:absolute; right:14%; bottom:24px; width:240px; height:150px; z-index:1; }
.footer-eagle-fly .ph{ height:100%; background-color:transparent; border:1px dashed rgba(255,255,255,.25); color:rgba(255,255,255,.5); }
.footer-chick{ position:absolute; left:24px; bottom:8px; display:flex; align-items:flex-end; gap:8px; z-index:2; }
.footer-chick .fig{ width:80px; height:84px; }
.footer-chick .fig .ph{ height:100%; background-color:transparent; border:1px dashed rgba(255,255,255,.25); color:rgba(255,255,255,.5); }
@media(max-width:760px){ .footer-eagle-fly{ display:none; } .footer-chick{ display:none; } }

.footer-bar{ background:var(--navy); padding:18px 0; }
.footer-bar .wrap{ display:flex; align-items:center; justify-content:center; gap:6px; flex-wrap:wrap; position:relative; }
.footer-nav{ display:flex; gap:6px; flex-wrap:wrap; justify-content:center; }
.footer-nav a{ color:#e7ddc6; font-size:13.5px; padding:2px 12px; border-right:1px solid rgba(231,221,198,.3); }
.footer-nav a:last-child{ border-right:none; }
.footer-nav a:hover{ color:#fff; }
.footer-copy{ width:100%; text-align:center; color:#9fb0cf; font-family:"Zen Kaku Gothic New",sans-serif; font-size:11.5px; margin-top:8px; }
.to-top{ position:absolute; right:0; bottom:6px; display:flex; flex-direction:column; align-items:center; color:#cdb583; font-size:11px; }
.to-top .circ{ width:38px; height:38px; border:1.5px solid #cdb583; border-radius:50%; display:grid; place-items:center; margin-bottom:4px; font-size:16px; }
@media(max-width:680px){ .to-top{ position:static; flex-direction:row; gap:8px; margin-top:6px; } }

/* =====================================================================
   作品詳細ページ
   ===================================================================== */
.detail-hero{ position:relative; overflow:hidden; padding-bottom:30px; }
/* 小説＝青空 */
body.theme-novel .detail-hero{
  background:
    linear-gradient(180deg, rgba(244,234,214,0) 70%, var(--paper) 100%),
    linear-gradient(180deg,#6f9bcb 0%,#9bbfe0 36%,#cadcec 66%,#eae4d4 100%);
}
/* マダミス＝夕暮れ */
body.theme-mystery .detail-hero{
  background:
    linear-gradient(180deg, rgba(244,234,214,0) 74%, var(--paper) 100%),
    linear-gradient(180deg,#5a4f86 0%,#8a6a9c 30%,#c97f7d 56%,#e7a96a 78%,#efe2c9 100%);
}
.detail-hero .bg-img{ position:absolute; inset:0; }
.detail-hero .bg-img .ph{ height:100%; border-radius:0; background-color:transparent; color:rgba(255,255,255,.5); border:none; }

/* パンくず */
.crumbs{ position:relative; z-index:3; }
.crumbs .wrap{ display:flex; align-items:center; gap:8px; padding-top:18px; font-size:12.5px;
  font-family:"Zen Kaku Gothic New",sans-serif; color:var(--navy); }
.crumbs a:hover{ color:var(--gold); }
.crumbs .sep{ color:var(--gold); }

.detail-top{ position:relative; z-index:3; display:grid; grid-template-columns:340px 1fr; gap:44px; padding:28px 0 10px; }
@media(max-width:880px){ .detail-top{ grid-template-columns:1fr; gap:24px; } }

/* 表紙フレーム */
.cover-frame{ position:relative; padding:14px; background:rgba(248,241,226,.55); border-radius:14px;
  border:2px solid var(--navy); box-shadow:0 0 0 4px rgba(199,154,75,.4), var(--shadow); }
.cover-frame::after{ content:""; position:absolute; inset:7px; border:1px solid var(--gold-line); border-radius:8px; pointer-events:none; }
.cover-frame .cover{ border-radius:6px; }
body.theme-novel .cover-frame .cover{ aspect-ratio:3/4.5; }
body.theme-mystery .cover-frame .cover{ aspect-ratio:16/9; }
body.theme-mystery .detail-top{ grid-template-columns:1fr; }
body.theme-mystery .cover-col{ max-width:600px; }
@media(max-width:880px){ body.theme-mystery .detail-top{ grid-template-columns:1fr; } }

/* タイトル群 */
.work-no{ font-family:"Zen Kaku Gothic New",sans-serif; font-size:14px; color:var(--navy); letter-spacing:.06em; }
.work-no b{ color:var(--gold); margin:0 10px; }
.detail-title{ font-size:clamp(26px,4vw,40px); color:var(--navy); margin:8px 0 4px; letter-spacing:.06em; }
.detail-reading{ font-family:"Shippori Mincho B1",serif; color:var(--ink-soft); font-size:15px; letter-spacing:.18em; }
.chips{ display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 6px; }
.chip{ font-size:13px; background:rgba(248,241,226,.85); border:1.5px solid var(--gold-line); color:var(--navy);
  border-radius:999px; padding:5px 18px; white-space:nowrap; }
.quote{ font-family:"Shippori Mincho B1",serif; font-size:clamp(20px,2.6vw,27px); color:var(--navy); line-height:1.7;
  position:relative; margin:26px 0 18px; padding-left:6px; }
.quote .qmark{ color:var(--gold-soft); font-size:1.5em; font-family:Georgia,serif; }
.detail-divider{ height:1px; background:linear-gradient(90deg,var(--gold-line),transparent); margin:14px 0; max-width:420px; }
.detail-lead{ color:#33486b; font-size:14.5px; line-height:1.95; }

/* 詳細内の鷲＋吹き出し */
.detail-eagle{ position:relative; display:flex; align-items:flex-start; gap:12px; margin-top:18px; }
.detail-eagle .fig{ width:150px; height:140px; flex:none; }
.detail-eagle .fig .ph{ height:100%; background-color:transparent; border:1px dashed rgba(28,44,76,.25); }
.detail-eagle .bubble{ margin-top:14px; }

/* おすすめポイント（マダミス用） */
.points{ background:#f3ead4; border:1.5px solid var(--gold-line); border-radius:12px; padding:16px 20px; box-shadow:var(--shadow-sm); }
.points h4{ font-size:14px; color:#7a6536; margin-bottom:10px; font-family:"Shippori Mincho B1",serif; font-weight:700; }
.points li{ list-style:none; display:flex; align-items:center; gap:10px; font-size:14px; color:var(--navy); padding:4px 0; }
.points li .dia{ color:var(--gold); }
.points{ margin-top:16px; }

/* 本文セクション（詳細） */
.detail-section{ padding:24px 0; }
.detail-section .panel{ position:relative; }
.summary-text{ font-size:15px; color:var(--ink); white-space:pre-line; line-height:2.1; }

/* 作品情報テーブル */
.info-table{ width:100%; border-collapse:collapse; max-width:680px; }
.info-table th{ background:#e7ddc2; color:var(--navy); font-family:"Shippori Mincho B1",serif; font-weight:600;
  text-align:center; width:140px; padding:11px 14px; border:1px solid var(--line); font-size:14px; white-space:nowrap; }
.info-table td{ padding:11px 18px; border:1px solid var(--line); background:#fbf6ea; font-size:14px; color:var(--ink); }
.info-deco{ position:absolute; right:26px; bottom:18px; width:150px; height:130px; }
.info-deco .ph{ height:100%; background-color:transparent; border:1px dashed rgba(28,44,76,.2); }
@media(max-width:680px){ .info-deco{ display:none; } .info-table th{ width:104px; font-size:13px; padding:9px; } }

/* 掲載先 / 頒布先リスト */
.sites-list{ display:flex; flex-direction:column; gap:12px; max-width:760px; }
.site-row{ display:grid; grid-template-columns:1fr auto; align-items:center; gap:16px;
  background:#fbf6ea; border:1px solid var(--line); border-radius:10px; padding:12px 18px; }
.site-row .sname{ font-family:"Shippori Mincho B1",serif; font-size:16px; color:var(--navy); }
.site-row .sstatus{ font-size:13px; color:var(--ink-soft); }
.site-row .sname-wrap{ display:flex; flex-direction:column; }
@media(max-width:620px){
  .site-row{ grid-template-columns:1fr; }
  .site-row .btn{ grid-column:1/-1; justify-self:start; }
}
.sites-wrap{ position:relative; }
.sites-wrap .corner-eagle{ position:absolute; right:-6px; bottom:0; display:flex; align-items:flex-end; gap:8px; pointer-events:none; }
.sites-wrap .corner-eagle .fig{ width:120px; height:120px; }
.sites-wrap .corner-eagle .fig .ph{ height:100%; background-color:transparent; border:1px dashed rgba(28,44,76,.2); }
@media(max-width:1080px){ .sites-wrap .corner-eagle{ display:none; } }

/* 前後の作品ナビ */
.prevnext{ display:flex; align-items:center; justify-content:center; gap:24px; padding:30px 0; }
.pn-btn{ display:flex; flex-direction:column; align-items:center; gap:2px;
  background:linear-gradient(180deg,#28406b,#1d2f51); color:#f3ead4; border:1.5px solid var(--gold-soft);
  border-radius:12px; padding:14px 38px; min-width:230px; box-shadow:var(--shadow-sm); transition:transform .15s; }
.pn-btn:hover{ transform:translateY(-2px); }
.pn-btn .pn-label{ font-size:12px; color:var(--gold-soft); }
.pn-btn .pn-title{ font-family:"Shippori Mincho B1",serif; font-size:18px; }
.pn-btn.empty{ visibility:hidden; }
.pn-center{ width:48px; height:48px; flex:none; display:grid; place-items:center; color:var(--gold); }
.pn-center.lock{ border:2px solid var(--gold); border-radius:50%; }
@media(max-width:680px){ .prevnext{ flex-wrap:wrap; gap:12px; } .pn-btn{ min-width:0; flex:1; padding:12px 16px; } .pn-center{ order:-1; } }

/* =====================================================================
   一覧ページ / 雛形ページ
   ===================================================================== */
.page-hero{ padding:50px 0 40px; text-align:center; }
.page-hero.sky{ background:linear-gradient(180deg,#6f9bcb,#cadcec 70%, var(--paper)); }
.page-hero.dusk{ background:linear-gradient(180deg,#5a4f86 0%,#8a6a9c 30%,#c97f7d 58%,#e7a86a 80%,var(--paper) 100%); }
.page-hero h1{ font-size:clamp(32px,5vw,52px); color:var(--navy); }
.page-hero.dusk h1{ color:#fbf3e2; text-shadow:0 2px 8px rgba(40,20,40,.25); }
.page-hero p{ color:#33486b; margin-top:10px; }
.page-hero.dusk p{ color:#f3e6d6; }
.cat-switch{ margin-top:18px; display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }

.list-section h2{ text-align:left; }
.list-section{ padding-top:40px; }
/* 一覧カード（小説・マダミス共通） */
.work-list{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
@media(max-width:820px){ .work-list{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:560px){ .work-list{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:380px){ .work-list{ grid-template-columns:1fr; } }
.work-card{ display:flex; flex-direction:column; background:var(--paper-card); border:1px solid var(--gold-line);
  border-radius:12px; padding:12px; cursor:pointer; transition:transform .18s, box-shadow .2s; }
.work-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-sm); }
.work-card .wc-cover.novel .cover{ aspect-ratio:3/4.3; }
.work-card .wc-cover.mystery .cover{ aspect-ratio:16/9; }
.work-card h4{ font-size:16px; color:var(--navy); margin:12px 0 6px; line-height:1.45; }
.work-card .desc{ font-size:12.5px; color:var(--ink-soft); line-height:1.65; flex:1; }
.work-card .tag{ margin-top:10px; }

.simple-body{ max-width:760px; margin:0 auto; padding:50px 24px 70px; }
.simple-body .lead{ font-family:"Shippori Mincho B1",serif; font-size:20px; color:var(--navy); margin-bottom:20px; }
.simple-body p{ color:var(--ink); }
.simple-news .news-item{ border-color:var(--line); }

/* フェードイン（環境差で固着しないよう、常に可視） */
.reveal{ opacity:1; }
