.faclist{display:flex;flex-direction:column;gap:12px;max-height:560px;overflow:auto;padding-right:6px}
.fac{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px;cursor:pointer;transition:.2s}
.fac:hover,.fac.on{border-color:var(--amber);background:var(--sand)}
.fac .ft{display:flex;justify-content:space-between;gap:10px}
.fac h4{font-family:var(--jpdisp);font-size:1.08rem;font-weight:700}
.fac .area{font-family:var(--mono);font-size:.72rem;color:var(--teal);white-space:nowrap}
.fac p{font-size:.84rem;color:var(--ink-soft);margin-top:4px}
.mapframe{position:sticky;top:90px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--sand-2);min-height:560px}
.mapframe iframe{width:100%;height:560px;border:0;display:block}
/* ---- ZUKAN ---- */
.searchbar{display:flex;gap:10px;align-items:center;background:var(--paper);border:1.5px solid var(--line);border-radius:999px;padding:6px 6px 6px 18px;max-width:520px;margin-bottom:16px}
.searchbar input{border:none;background:none;flex:1;font-family:var(--body);font-size:1rem;outline:none;color:var(--ink)}
.searchbar .cnt{font-family:var(--mono);font-size:.74rem;color:var(--ink-soft);padding-right:10px}
.zgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.modal{position:fixed;inset:0;z-index:300;background:rgba(20,12,4,.6);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:20px}
.modal.open{display:flex}
.modal .box{background:var(--paper);border-radius:var(--r);max-width:920px;width:100%;max-height:90vh;overflow:auto;position:relative}
.modal .mph{aspect-ratio:16/9;overflow:hidden;background:var(--sand-2);position:relative}.modal .mph img{width:100%;height:100%;object-fit:cover}
.modal .x{position:absolute;top:16px;right:16px;width:42px;height:42px;border:none;background:rgba(20,12,4,.5);color:#fff;border-radius:11px;font-size:1.2rem;cursor:pointer;z-index:2}
.modal .mbody{padding:28px 30px 34px}
.modal .mbody .no{font-family:var(--mono);color:var(--amber)}
.modal .mbody h2{font-family:var(--jpdisp);font-size:2rem;font-weight:800;margin:2px 0}
.modal .mbody .sci{font-family:var(--disp);font-style:italic;color:var(--ink-soft);margin-bottom:18px}
.specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:18px 0}
.spec{background:var(--sand);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.spec b{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;color:var(--ink-soft);display:block;text-transform:uppercase}
.spec span{font-size:.95rem;font-weight:700;font-family:var(--jpdisp)}
.desc{white-space:pre-wrap;line-height:1.9;color:#352a1b}
.srcs{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.srcs a{font-family:var(--mono);font-size:.74rem;border:1.5px solid var(--line);padding:7px 13px;border-radius:999px;color:var(--teal)}.srcs a:hover{border-color:var(--teal)}
/* ---- QUIZ ---- */
.quizbox{max-width:720px;margin:0 auto;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:34px;box-shadow:var(--shadow)}
.qprog{font-family:var(--mono);font-size:.78rem;color:var(--ink-soft);display:flex;justify-content:space-between;margin-bottom:14px}
.qbar{height:7px;background:var(--sand-2);border-radius:999px;overflow:hidden;margin-bottom:24px}.qbar i{display:block;height:100%;background:linear-gradient(90deg,var(--ember),var(--gold));transition:.4s}
.qq{font-family:var(--jpdisp);font-size:1.4rem;font-weight:700;margin-bottom:22px;line-height:1.5}
.opts{display:flex;flex-direction:column;gap:12px}
.opt{text-align:left;padding:16px 18px;border:1.5px solid var(--line);border-radius:13px;background:var(--paper);font-family:var(--body);font-size:1rem;font-weight:500;cursor:pointer;transition:.18s}
.opt:hover{border-color:var(--amber)}
.opt.correct{background:#e8f0e2;border-color:var(--forest);color:var(--forest)}
.opt.wrong{background:#f6e4de;border-color:var(--ember);color:var(--ember)}
.explain{margin-top:18px;background:var(--sand);border-left:4px solid var(--amber);border-radius:10px;padding:16px 18px;font-size:.92rem;display:none}
.explain.show{display:block}
.qnext{margin-top:22px;display:flex;justify-content:flex-end}
.result{text-align:center}.result .score{font-family:var(--disp);font-size:4rem;font-weight:700;color:var(--ember)}
/* ---------- responsive ---------- */
@media(max-width:860px){
  nav.main,.bar>.btn-primary{display:none}
  .bar{padding:10px 0}
  .menu-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.18);color:var(--paper);border:1px solid rgba(255,255,255,.35);cursor:pointer;backdrop-filter:blur(4px);transition:.2s}
  .menu-btn:hover{background:rgba(255,255,255,.3)}
  .menu-btn svg{width:20px;height:20px}
  .menu-btn span{font-family:var(--mono);font-size:.5rem;font-weight:500;letter-spacing:.12em;line-height:1}
  header.scrolled .menu-btn,header.solid .menu-btn{background:var(--sand);color:var(--ink);border-color:var(--line)}
  header.scrolled .menu-btn:hover,header.solid .menu-btn:hover{background:var(--sand-2)}
  .pillars,.g3,.g4,.ranks{grid-template-columns:1fr 1fr;gap:12px}
  .split,.maplayout,.feat{grid-template-columns:1fr}
  .zgrid{grid-template-columns:1fr 1fr;gap:12px}
  .hero-stats{position:static;flex-direction:row;gap:22px;margin-top:24px}
  .mapframe{position:static}.faclist{max-height:none}
  footer{padding-bottom:120px}footer .fgrid{grid-template-columns:1fr 1fr}
  .tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:200;background:rgba(251,246,236,.93);backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:8px 6px calc(8px + env(safe-area-inset-bottom));justify-content:space-around}
  .tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;color:var(--ink-soft);font-size:.62rem;font-weight:700}
  .tabbar a svg{width:23px;height:23px}.tabbar a.active{color:var(--ember)}
  .tabbar a.center .ring{width:46px;height:46px;margin-top:-22px;border-radius:50%;background:linear-gradient(140deg,var(--ember),var(--gold));display:grid;place-items:center;color:#fff;box-shadow:var(--shadow);border:3px solid var(--paper)}
  .feat .ph{aspect-ratio:16/9}
}
@media(max-width:520px){.g3,.g4{grid-template-columns:1fr 1fr}.nrow .nph{width:92px}}
@media(max-width:560px){
  .hero{min-height:92svh}
  .hero-inner{padding-bottom:78px}
  .hero h1{font-size:clamp(2.4rem,11vw,3.3rem);line-height:1.18;letter-spacing:0}
  .hero .eyebrow{font-size:.6rem;letter-spacing:.2em}
  .hero .lede{font-size:.96rem;line-height:1.7;margin:14px 0 22px;max-width:32ch}
  .hero-cta{gap:10px}.hero-cta .btn{padding:12px 18px;font-size:.9rem}
  .hero-stats{gap:16px;margin-top:22px;flex-wrap:wrap}.hero-stats .s b{font-size:1.55rem}.hero-stats .num[data-fmt="jp"]{font-size:1.12rem}
}

/* ============================================================
   記事ページ：見出し装飾＋動き / シェアボタン / 関連記事
   ============================================================ */
/* --- 本文見出し：h2=主見出し / h3=小見出し（デザインで使い分け）--- */
.desc h2{position:relative;font-family:var(--jpdisp);font-weight:800;font-size:clamp(1.42rem,3.6vw,1.8rem);line-height:1.4;color:var(--ink);margin:1.3em 0 .5em;padding:.06em 0 .25em .8em}
.desc h2::before{content:"";position:absolute;left:0;top:.16em;bottom:.25em;width:7px;border-radius:7px;background:linear-gradient(180deg,var(--ember),var(--gold));transform-origin:top}
.desc h2::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--ember),var(--gold) 26%,var(--line) 58%,transparent)}
.desc h3{font-family:var(--jpdisp);font-weight:700;font-size:1.16rem;line-height:1.5;color:var(--ember);margin:1em 0 .35em;padding:.3em .95em;background:linear-gradient(90deg,rgba(217,119,43,.13),rgba(217,119,43,0));border-left:4px solid var(--gold);border-radius:0 8px 8px 0}
/* 動き：スクロール連動（対応ブラウザのみ・非対応は通常表示） */
@supports (animation-timeline: view()){
  .desc h2,.desc h3{animation:dnHeadIn linear both;animation-timeline:view();animation-range:entry 0% entry 32%}
  .desc h2::before{animation:dnBarGrow linear both;animation-timeline:view();animation-range:entry 0% entry 48%}
}
@keyframes dnHeadIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes dnBarGrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}

/* --- 本文：段落・リスト・引用・リンク（左はみ出し対策込み）--- */
.desc p{margin:0 0 1.1em}
.desc ul,.desc ol{margin:.6em 0 .8em;padding-left:1.7em;list-style:none}
.desc li{margin:.1em 0;padding-left:.25em;position:relative;line-height:1.5}
.desc ul li::before{content:"";position:absolute;left:-1.15em;top:.5em;width:.5em;height:.5em;border-radius:50%;background:linear-gradient(135deg,var(--ember),var(--gold))}
.desc ol{counter-reset:dnol}
.desc ol li{counter-increment:dnol}
.desc ol li::before{content:counter(dnol);position:absolute;left:-1.75em;top:.04em;width:1.3em;height:1.3em;border-radius:50%;background:var(--ink);color:#fff;font:700 .72rem/1.3em var(--mono);text-align:center}
.desc blockquote{margin:1.4em 0;padding:.7em 1.1em;border-left:4px solid var(--gold);background:var(--sand);border-radius:0 8px 8px 0;color:var(--ink-soft)}
.desc blockquote p:last-child{margin:0}
.desc a{color:var(--ember);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.desc a:hover{color:var(--amber)}

/* --- タグ（リンク付きチップ・最大5）--- */
.post-tags{display:flex;flex-wrap:wrap;gap:9px;margin:2.2em 0 .4em}
.post-tags .ptag{display:inline-flex;align-items:center;gap:.12em;font:600 .8rem var(--body);color:var(--ink-soft);background:var(--paper);border:1.5px solid var(--line);padding:6px 14px;border-radius:999px;text-decoration:none;transition:.2s}
.post-tags .ptag span{color:var(--amber);font-weight:800}
.post-tags .ptag:hover{border-color:var(--amber);color:var(--amber);transform:translateY(-2px);box-shadow:var(--shadow)}

/* --- シェアボタン --- */
.share-box{margin:2.8em 0 1.6em;text-align:center}
.share-lead{font-family:var(--mono);font-size:.78rem;letter-spacing:.16em;color:var(--ink-soft);margin-bottom:1em;position:relative;display:inline-block;padding:0 1.2em}
.share-lead::before,.share-lead::after{content:"";position:absolute;top:50%;width:1.6em;height:1px;background:var(--line)}
.share-lead::before{right:100%}.share-lead::after{left:100%}
.share-btns{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}
.sb{display:flex;flex-direction:column;align-items:center;gap:7px;text-decoration:none;border:none;background:none;cursor:pointer;font:700 .68rem/1 var(--body);color:var(--ink-soft);padding:0}
.sb-ic{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.sb:hover .sb-ic{transform:translateY(-5px) scale(1.07)}
.sb:active .sb-ic{transform:translateY(-1px) scale(1.02)}
.sb-ic svg{width:25px;height:25px}
.sb-line{background:#06C755}.sb-x{background:#111}.sb-copy{background:var(--ink-soft)}
.sb-ig{background:radial-gradient(circle at 28% 112%,#fec564,#f56040 36%,#c13584 64%,#5b51d8)}
/* トースト */
.dn-toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%,18px);background:var(--ink);color:#fff;padding:12px 22px;border-radius:999px;font:700 .85rem var(--body);z-index:9999;opacity:0;transition:.3s;box-shadow:var(--shadow);pointer-events:none}
.dn-toast.show{opacity:1;transform:translate(-50%,0)}

/* --- 関連記事 --- */
.related{margin-top:3em;border-top:1px solid var(--line);padding-top:2em}
.related .r-head{font-family:var(--jpdisp);font-weight:800;font-size:1.4rem;margin-bottom:1em;display:flex;align-items:center;gap:.5em}
.related .r-head::before{content:"";width:1.1em;height:1.1em;background:linear-gradient(135deg,var(--ember),var(--gold));border-radius:5px;display:inline-block}

/* ===== ブランド：ロゴ / マスコット ダンティラ ===== */
.logo-brand{gap:0}
.logo-img{height:44px;width:auto;display:block}
@media(max-width:640px){.logo-img{height:36px}}
.fbrand .logo-img{height:66px}
@media(max-width:640px){.fbrand .logo-img{height:46px}}

.dnav-greet-sec{padding-top:30px;padding-bottom:6px}
.dnav-greet{display:flex;align-items:center;gap:26px;max-width:920px;margin:0 auto;background:linear-gradient(135deg,#ffffff,#f8f1e3);border:1px solid var(--line);border-radius:22px;padding:22px 30px;box-shadow:0 8px 26px rgba(120,90,40,.09)}
.dnav-greet-img{width:168px;height:auto;flex:none;filter:drop-shadow(0 7px 12px rgba(0,0,0,.16))}
.dnav-greet-bubble{position:relative;background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:16px 22px}
.dnav-greet-bubble::before{content:"";position:absolute;left:-10px;top:38px;border:8px solid transparent;border-right-color:var(--line)}
.dnav-greet-bubble::after{content:"";position:absolute;left:-7px;top:39px;border:7px solid transparent;border-right-color:#fff}
.dnav-greet-name{font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;color:var(--ember);margin:0 0 6px}
.dnav-greet-msg{font-size:1.04rem;line-height:1.85;margin:0;color:var(--ink)}
@media(max-width:640px){.dnav-greet{flex-direction:column;text-align:center;gap:14px;padding:18px}.dnav-greet-img{width:140px}.dnav-greet-bubble::before,.dnav-greet-bubble::after{display:none}}

.m404-dino{width:210px;height:auto;margin:0 auto 8px;display:block;filter:drop-shadow(0 9px 16px rgba(0,0,0,.2))}

.fbrand{position:relative}

/* ============================================================
   固定ページ（ABOUT / CONTACT / PRIVACY）＋ Contact Form 7
   ============================================================ */
.dn-lead{font-size:1.05rem;line-height:2;background:linear-gradient(135deg,#ffffff,#f8f1e3);border:1px solid var(--line);border-radius:16px;padding:20px 24px;box-shadow:0 4px 14px rgba(120,90,40,.06)}
/* ABOUT: コンテンツ紹介カード */
.dn-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:1.2em 0 1.6em}
.dn-feat{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;text-decoration:none!important;transition:.2s;box-shadow:0 4px 14px rgba(120,90,40,.06)}
.dn-feat:hover{border-color:var(--amber);transform:translateY(-3px);box-shadow:var(--shadow)}
.dn-feat b{font-family:var(--jpdisp);font-size:1.05rem;color:var(--ember)}
.dn-feat span{font-size:.85rem;line-height:1.7;color:var(--ink-soft)}
/* ABOUT: 運営者情報テーブル */
.dn-infotable{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;font-size:.96rem;margin:1em 0}
.dn-infotable th,.dn-infotable td{padding:13px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.7}
.dn-infotable tr:last-child th,.dn-infotable tr:last-child td{border-bottom:none}
.dn-infotable th{width:30%;background:var(--sand);font-family:var(--jpdisp);font-weight:700;white-space:nowrap}
@media(max-width:640px){.dn-feats{grid-template-columns:1fr 1fr;gap:10px}.dn-infotable th{width:36%;white-space:normal}}
@media(max-width:420px){.dn-feats{grid-template-columns:1fr}}
/* CONTACT: CF7 フォーム */
.dn-cf{margin-top:28px;background:linear-gradient(135deg,#ffffff,#f8f1e3);border:1px solid var(--line);border-radius:20px;padding:26px 28px;box-shadow:0 8px 26px rgba(120,90,40,.08)}
.dn-cf-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.dn-cf p{margin:0 0 18px}
.dn-cf label{display:block;font-weight:700;font-size:.92rem;color:var(--ink)}
.dn-cf .wpcf7-form-control-wrap{display:block;margin-top:7px;font-weight:400}
.dn-cf input[type=text],.dn-cf input[type=email],.dn-cf select,.dn-cf textarea{width:100%;box-sizing:border-box;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;font:inherit;font-size:1rem;background:#fff;color:var(--ink)}
.dn-cf input:focus,.dn-cf select:focus,.dn-cf textarea:focus{outline:none;border-color:var(--ember);box-shadow:0 0 0 3px rgba(201,114,46,.16)}
.dn-cf select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' fill='none'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23b9461f' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:42px;cursor:pointer}
.dn-cf textarea{resize:vertical;min-height:160px}
.dn-cf .dn-cf-accept{font-size:.92rem}
.dn-cf .wpcf7-acceptance .wpcf7-list-item{margin:0}
.dn-cf .wpcf7-acceptance .wpcf7-list-item label{display:inline-flex;align-items:center;gap:9px;font-weight:500;cursor:pointer;color:var(--ink-soft)}
.dn-cf .wpcf7-acceptance input[type=checkbox]{width:19px;height:19px;accent-color:var(--ember);cursor:pointer}
.dn-cf .dn-cf-accept a{color:var(--ember);text-decoration:underline;text-underline-offset:2px}
.dn-cf .dn-cf-submit{margin:6px 0 0;text-align:center}
.dn-cf .dn-cf-btn{background:var(--ember);color:#fff;border:none;border-radius:999px;padding:15px 48px;font:inherit;font-weight:700;font-size:1.05rem;cursor:pointer;transition:.2s;box-shadow:0 6px 16px rgba(185,70,31,.28)}
.dn-cf .dn-cf-btn:hover{background:var(--ink);transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.22)}
.dn-cf .dn-cf-btn:disabled{opacity:.55;cursor:wait;transform:none}
.dn-cf .wpcf7-not-valid-tip{display:block;font-size:.8rem;color:#b3261e;margin-top:6px}
.dn-cf .wpcf7-not-valid{border-color:#b3261e!important}
.wpcf7 form .wpcf7-response-output{margin:18px 0 0;padding:14px 18px;border:1.5px solid var(--line);border-radius:12px;font-size:.92rem;background:#fff}
.wpcf7 form.sent .wpcf7-response-output{border-color:var(--forest);background:#e8f0e2;color:var(--forest);font-weight:700}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output,.wpcf7 form.aborted .wpcf7-response-output,.wpcf7 form.spam .wpcf7-response-output{border-color:var(--ember);background:#f6e4de;color:var(--ember)}
.wpcf7 .wpcf7-spinner{display:block;margin:10px auto 0}
@media(max-width:640px){.dn-cf{padding:20px 18px}.dn-cf-grid{grid-template-columns:1fr}.dn-cf .dn-cf-btn{width:100%;padding:15px 20px}}
/* wpautop対策：固定ページはHTML本文なので pre-wrap を解除／グリッド内に挿入される<p>を無効化 */
.page .desc{white-space:normal}
.dn-feats>p{display:contents}
.dn-cf label br{display:none}

/* ============================================================
   ランキング：リボン型順位バッジ（makeshop参考）／TOP10レール／
   記事下ウィジェット（ランキングタブ・新着ニュース）
   ============================================================ */
/* リボン型順位バッジ：画像の上に重ねる */
.dn-rb{position:absolute;top:-6px;left:14px;width:42px;padding:10px 0 7px;background:#a09b88;color:#fff;text-align:center;font-family:var(--disp);font-weight:700;font-size:1.25rem;line-height:1;z-index:2;filter:drop-shadow(0 3px 4px rgba(36,22,8,.28))}
.dn-rb small{display:block;font-size:.56rem;font-family:var(--body);font-weight:700;margin-top:3px;letter-spacing:.1em}
.dn-rb::after{content:"";position:absolute;top:100%;left:0;width:0;border-left:21px solid #a09b88;border-right:21px solid #a09b88;border-bottom:10px solid transparent}
.dn-rb.rank-1{background:#D1AF28}.dn-rb.rank-1::after{border-left-color:#D1AF28;border-right-color:#D1AF28}
.dn-rb.rank-2{background:#ABA8A8}.dn-rb.rank-2::after{border-left-color:#ABA8A8;border-right-color:#ABA8A8}
.dn-rb.rank-3{background:#D18858}.dn-rb.rank-3::after{border-left-color:#D18858;border-right-color:#D18858}
.dn-rb-s{width:30px;padding:7px 0 5px;font-size:.92rem;left:8px;top:-4px}
.dn-rb-s small{font-size:.5rem;margin-top:2px}
.dn-rb-s::after{border-left-width:15px;border-right-width:15px;border-bottom-width:7px}
/* TOP3カード：旧 .crown(1st/2nd) は廃止、バッジを画像に重ねる */
.rank .pic{position:relative;overflow:visible;background:transparent}
.rank .pic>a{display:block;width:100%;height:100%;border-radius:12px;overflow:hidden;background:var(--sand-2)}
.rank .pic img{border-radius:12px}
/* 4〜10位：小画像の横スクロールレール */
.ranks-rail{display:flex;gap:14px;overflow-x:auto;margin-top:22px;padding:10px 4px 8px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.rrail{flex:0 0 128px;position:relative;scroll-snap-align:start;text-decoration:none}
.rrail .ph{display:block;aspect-ratio:1/1;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#fff}
.rrail .ph img{width:100%;height:100%;object-fit:cover;transition:.25s}
.rrail:hover .ph img{transform:scale(1.06)}
.rrail .t{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:8px;font-size:.78rem;font-weight:700;line-height:1.5;color:var(--ink)}
@media(max-width:640px){.rrail{flex-basis:108px}}
/* 記事下：ランキングTOP10タブウィジェット */
.dn-rankw{background:linear-gradient(135deg,#ffffff,#f8f1e3);border:1px solid var(--line);border-radius:20px;padding:26px 28px;box-shadow:0 8px 26px rgba(120,90,40,.08)}
.dn-rankw-head{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}
.dn-rankw-en{font-family:var(--mono);font-size:.7rem;letter-spacing:.3em;color:var(--amber)}
.dn-rankw-head h2{font-family:var(--jpdisp);font-size:1.35rem;font-weight:800;margin:0}
.dn-rankw-tabs{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.dn-rankw-tab{font:700 .86rem var(--body);color:var(--ink-soft);background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:8px 18px;cursor:pointer;transition:.18s}
.dn-rankw-tab:hover{border-color:var(--amber);color:var(--amber)}
.dn-rankw-tab.on{background:var(--ember);border-color:var(--ember);color:#fff}
.dn-rankw-panel{display:none}.dn-rankw-panel.on{display:block}
.dn-rk-list{list-style:none;margin:0;padding:0}
.dn-rk-list li{border-bottom:1px solid var(--line)}
.dn-rk-list li:last-child{border-bottom:none}
.dn-rk-list a{display:flex;align-items:center;gap:13px;padding:10px 4px;text-decoration:none;transition:.15s;border-radius:10px}
.dn-rk-list a:hover{background:rgba(217,119,43,.07)}
.dn-rk-num{flex:none;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-family:var(--disp);font-weight:700;font-size:.95rem;background:var(--sand-2);color:var(--ink-soft)}
.dn-rk-num.n1{background:#D1AF28;color:#fff}.dn-rk-num.n2{background:#ABA8A8;color:#fff}.dn-rk-num.n3{background:#D18858;color:#fff}
.dn-rk-thumb{flex:none;width:52px;height:52px;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#fff}
.dn-rk-thumb img{width:100%;height:100%;object-fit:cover}
.dn-rk-body{flex:1;min-width:0}
.dn-rk-body b{display:block;font-size:.92rem;font-weight:700;color:var(--ink);line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.dn-rk-body small{display:block;font-family:var(--mono);font-size:.72rem;color:var(--ink-soft);margin-top:2px}
.dn-rk-arrow{flex:none;color:var(--ink-soft);transition:.18s}
.dn-rk-list a:hover .dn-rk-arrow{color:var(--ember);transform:translateX(4px)}
.dn-rankw-more{margin:14px 0 0;text-align:right}
.dn-rankw-more a{font-weight:700;font-size:.88rem;color:var(--ember);text-decoration:none}
.dn-rankw-more a:hover{text-decoration:underline}
@media(max-width:640px){.dn-rankw{padding:20px 16px}.dn-rk-body small{display:none}}
/* 記事下：新着ニュースウィジェット */
.dn-newsw-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:6px}
.dn-newsw-title{display:flex;align-items:baseline;gap:14px}
.dn-newsw-en{font-family:var(--disp);font-weight:700;font-size:2.1rem;color:var(--ink);line-height:1}
.dn-newsw-jp{font-size:.88rem;font-weight:700;color:var(--ink-soft)}
.dn-newsw-all{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:.9rem;color:var(--ink);text-decoration:none}
.dn-newsw-all .circ{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff;transition:.2s}
.dn-newsw-all:hover .circ{background:var(--ember);transform:translateX(3px)}
.dn-newsw-list{list-style:none;margin:0;padding:0}
.dn-newsw-list li{border-bottom:1px solid var(--line)}
.dn-newsw-list a{display:flex;align-items:center;gap:16px;padding:17px 4px;text-decoration:none;transition:.15s}
.dn-newsw-list a:hover{background:rgba(217,119,43,.06)}
.dn-newsw-date{flex:none;font-family:var(--mono);font-size:.82rem;color:var(--ink-soft);letter-spacing:.04em}
.dn-newsw-pill{flex:none;font-size:.72rem;font-weight:700;color:#fff;background:#a8a294;border-radius:999px;padding:5px 14px;white-space:nowrap}
.dn-newsw-t{flex:1;min-width:0;font-size:.95rem;font-weight:500;color:var(--ink);line-height:1.6;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.dn-newsw-arr{flex:none;color:var(--ink-soft);transition:.18s}
.dn-newsw-list a:hover .dn-newsw-arr{color:var(--ember);transform:translateX(4px)}
@media(max-width:640px){.dn-newsw-en{font-size:1.6rem}.dn-newsw-list a{flex-wrap:wrap;gap:8px 12px;padding:14px 2px}.dn-newsw-t{flex-basis:100%;-webkit-line-clamp:2}}

/* ===== 図鑑：スペック表下の画像＋画像ポップアップ（ライトボックス） ===== */
.dino-photo{margin:0 0 28px}
.dino-photo .dn-lb-link{position:relative;display:block;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--sand-2);box-shadow:0 8px 26px rgba(120,90,40,.12);cursor:zoom-in}
.dino-photo img{width:100%;height:auto;display:block;transition:transform .35s}
.dino-photo .dn-lb-link:hover img{transform:scale(1.025)}
.dino-photo-zoom{position:absolute;right:12px;bottom:12px;background:rgba(20,12,4,.55);color:#fff;font-size:.74rem;font-weight:700;padding:6px 13px;border-radius:999px;backdrop-filter:blur(4px);pointer-events:none}
.dino-photo figcaption{font-family:var(--mono);font-size:.74rem;color:var(--ink-soft);margin-top:9px;text-align:center}
.dn-lb{position:fixed;inset:0;z-index:9999;background:rgba(20,12,4,.84);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:26px;opacity:0;transition:opacity .25s;cursor:zoom-out}
.dn-lb.show{opacity:1}
.dn-lb img{max-width:min(1100px,94vw);max-height:86vh;width:auto;height:auto;border-radius:12px;box-shadow:0 24px 60px rgba(0,0,0,.55)}
.dn-lb-x{position:absolute;top:18px;right:18px;width:44px;height:44px;border:none;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;transition:.2s}
.dn-lb-x:hover{background:var(--ember)}
.dn-lb-cap{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:#fff;font-size:.85rem;text-shadow:0 1px 4px rgba(0,0,0,.65);padding:0 20px;margin:0}

/* ===== 図鑑：目次（自動生成 nav.dn-toc） ===== */
.dn-toc{background:linear-gradient(135deg,#ffffff,#f8f1e3);border:1px solid var(--line);border-radius:16px;padding:18px 22px;margin:8px 0 28px;box-shadow:0 4px 14px rgba(120,90,40,.06)}
.dn-toc-ttl{font-family:var(--jpdisp);font-weight:800;font-size:1.05rem;color:var(--ink);margin:0 0 10px;display:flex;align-items:center;gap:8px}
.dn-toc-ic{font-size:1.1rem}
.dn-toc-list{list-style:none;margin:0;padding:0;counter-reset:dntoc}
.dn-toc-list li{counter-increment:dntoc;margin:0;border-bottom:1px dashed var(--line)}
.dn-toc-list li:last-child{border-bottom:none}
.dn-toc-list a{display:flex;gap:10px;align-items:baseline;padding:9px 4px;color:var(--ink-soft);text-decoration:none;font-size:.95rem;font-weight:500;transition:.15s}
.dn-toc-list a::before{content:counter(dntoc);flex:none;width:22px;height:22px;border-radius:50%;background:var(--sand-2);color:var(--ember);font:700 .72rem/22px var(--mono);text-align:center}
.dn-toc-list a:hover{color:var(--ember)}
.dn-toc-list a:hover::before{background:var(--ember);color:#fff}
/* 固定ヘッダーにアンカーが隠れないように */
.desc h2,.desc h3{scroll-margin-top:88px}

/* ===== ニュース（イベント）：公式サイトへの全幅大ボタン ===== */
.news-official-btn{display:flex;align-items:center;gap:16px;width:100%;box-sizing:border-box;margin:30px 0 6px;padding:20px 26px;border-radius:18px;background:linear-gradient(135deg,var(--ember),var(--gold));color:#fff;text-decoration:none;box-shadow:0 10px 26px rgba(185,70,31,.32);transition:.2s}
.news-official-btn:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(185,70,31,.42)}
.news-official-btn .nob-ic{font-size:1.8rem;flex:none;line-height:1}
.news-official-btn .nob-txt{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}
.news-official-btn .nob-label{font-weight:800;font-size:1.18rem;line-height:1.4}
.news-official-btn .nob-sub{font-family:var(--mono);font-size:.78rem;opacity:.92;word-break:break-all}
.news-official-btn .nob-arrow{flex:none;font-size:1.4rem;font-weight:700;transition:transform .2s}
.news-official-btn:hover .nob-arrow{transform:translateX(5px)}
@media(max-width:560px){.news-official-btn{padding:16px 18px;gap:12px}.news-official-btn .nob-label{font-size:1.05rem}}

/* ===== 本文内の動画埋め込み（YouTube/Vimeo）を全幅・16:9レスポンシブに ===== */
.desc iframe[src*="youtube.com"],.desc iframe[src*="youtube-nocookie.com"],
.desc iframe[src*="youtu.be"],.desc iframe[src*="player.vimeo.com"]{
  display:block;width:100%;max-width:100%;height:auto;aspect-ratio:16/9;
  margin:1.4em auto;border:0;border-radius:14px;box-shadow:var(--shadow);background:#000}
/* WordPress標準の埋め込みブロックも全幅化 */
.desc .wp-block-embed,.desc .wp-block-embed__wrapper{width:100%;margin:1.4em 0}
.desc .wp-block-embed iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;border-radius:14px}

/* トップ：雑学リンク行の📖アイコン／クイズCTAのスマホ見出し縮小 */
.event .date.tri{font-size:1.7rem;display:flex;align-items:center;justify-content:center;min-width:1.6em}
@media(max-width:560px){.quizcta h2{font-size:1.45rem;line-height:1.35}}

/* ===== 雑学一覧（/trivia/）＋関連表示の共通カード ===== */
.trivia-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px;align-items:stretch;margin-top:24px}
.tlist-card{display:flex;flex-direction:column;padding:24px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(160deg,#fff,#faf6ee);text-decoration:none;color:var(--ink);box-shadow:0 2px 12px rgba(120,90,40,.07);box-sizing:border-box;height:100%;transition:.2s}
.tlist-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(120,90,40,.14);border-color:var(--amber)}
.tlist-card .qb{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:var(--ember);color:#fff;font-weight:800;font-family:var(--disp,Georgia,serif);font-size:1.1rem}
.tlist-card .tt{display:block;margin:14px 0 8px;font-size:1.1rem;font-weight:700;line-height:1.5;color:var(--ink);font-family:var(--jpdisp)}
.tlist-card .ex{display:block;font-size:.92rem;color:var(--ink-soft);line-height:1.75}
.tlist-card .rd{display:block;margin-top:auto;padding-top:16px;color:var(--ember);font-weight:700;font-size:.92rem}
.trivia-rel-h{font-family:var(--jpdisp);font-size:1.4rem;font-weight:800;color:var(--ink);margin:0 0 4px;display:flex;align-items:center;gap:10px}
.trivia-rel-h::before{content:"📖";font-size:1.1em}
.trivia-pager{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:38px;flex-wrap:wrap}
.trivia-pager .page-numbers{padding:9px 15px;border-radius:10px;border:1px solid var(--line);font-weight:700;color:var(--ink);text-decoration:none;transition:.18s;background:#fff}
.trivia-pager a.page-numbers:hover{background:var(--sand);border-color:var(--amber)}
.trivia-pager .page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink)}
.trivia-pager .page-numbers.dots{border:none;background:none}

/* ===== 恐竜図鑑：表示件数切替＋ページ送り（JS） ===== */
.zperpage{align-items:center}
.zperpage .pp-label{font-size:.8rem;font-weight:700;color:var(--ink-soft);margin-right:4px;letter-spacing:.04em}
.zpager{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:34px;flex-wrap:wrap}
.zpager .zpage{padding:9px 15px;border-radius:10px;border:1px solid var(--line);font-weight:700;color:var(--ink);text-decoration:none;background:#fff;cursor:pointer;transition:.18s}
.zpager a.zpage:hover{background:var(--sand);border-color:var(--amber)}
.zpager .zpage.current{background:var(--ink);color:#fff;border-color:var(--ink)}
.zpager .zpage.dots{border:none;background:none;cursor:default}
