@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
*/

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Murecho:wght@400;500;600;700;800&family=Zen+Kaku+Gothic+New:wght@400;700&display=swap');

:root {
  --paper: #EFEDE6;
  --plate: #FAF9F5;
  --rule:  #CFC9B8;
  --rule2: #E1DCCE;
  --ink:   #191710;
  --ink2:  #5D5748;
  --ink3:  #8E8878;
  --mark:  #C8451F;
  --mark-soft: #F6E7E1;
  --sans: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}

body.body {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16.5px;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
}
#container { background: var(--paper); }
#content.content { margin-top: 0; }

::selection { background: var(--mark); color: var(--paper); }
:focus-visible { outline: 2px solid var(--mark); outline-offset: 2px; }
input, textarea { caret-color: var(--mark); }
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: var(--paper); }
::-webkit-scrollbar-thumb { background: var(--rule); border: 3px solid var(--paper); }
::-webkit-scrollbar-thumb:hover { background: var(--ink3); }
html { scrollbar-color: var(--rule) var(--paper); }

.entry-content a {
  color: var(--ink);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-color: var(--rule);
  transition: text-decoration-color 140ms ease;
}
.entry-content a:hover { text-decoration-color: var(--mark); }

#header-container { background: var(--paper); border-bottom: 2px solid var(--ink); }
#header-container-in { background: transparent; }
#header .header-in {
  display: flex; align-items: baseline; justify-content: flex-start;
  gap: 18px; padding: 20px 0 14px; min-height: 0;
}
#header .tagline { order: 2; margin: 0; font-size: 12px; color: var(--ink3); text-align: left; }
#header .logo-header { order: 1; margin: 0; }
#header .logo-header a,
#header .logo-header .site-name-text {
  font-family: var(--sans); font-weight: 900; font-size: 22px;
  letter-spacing: 0.02em; color: var(--ink); text-decoration: none;
}
#header .logo-header .site-name-text::before {
  content: ""; display: inline-block; width: 22px; height: 22px;
  margin-right: 9px; vertical-align: -3px;
  background-repeat: no-repeat; background-size: contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30' fill='none'%3E%3Cpath d='M15 5v20M9 25h12M4 9h22' stroke='%23191710' stroke-width='1.8' stroke-linecap='round'/%3E%3Cpath d='M8 9 4.5 17h7L8 9Z' stroke='%23191710' stroke-width='1.5' stroke-linejoin='round'/%3E%3Cpath d='M22 9l-3.5 8h7L22 9Z' stroke='%23C8451F' stroke-width='1.5' stroke-linejoin='round'/%3E%3Ccircle cx='15' cy='6' r='1.6' fill='%23191710'/%3E%3C/svg%3E");
}

#navi { background: var(--paper); border: 0; }
#navi .navi-in > ul { justify-content: flex-start; gap: 4px; }
#navi .navi-in > ul > li { height: auto; }
#navi .navi-in > ul > li > a {
  height: auto; padding: 10px 14px 12px; font-size: 13.5px; font-weight: 500;
  color: var(--ink2); border-bottom: 2px solid transparent;
  transition: color 140ms ease, border-color 140ms ease;
}
#navi .navi-in > ul > li > a:hover { background: transparent; color: var(--ink); border-bottom-color: var(--rule); }
#navi .navi-in > ul > li.current-menu-item > a { color: var(--ink); font-weight: 700; border-bottom-color: var(--mark); }

#content-in.wrap { max-width: 1180px; }
#main { background: transparent; padding: 34px 0 0; border: 0; box-shadow: none; }
.article { background: transparent; }
#main .sns-share, #main .sns-follow { display: none; }
.article-header .date-tags { margin-bottom: 6px; }
.article-header .post-date { font-family: var(--mono); font-size: 12px; color: var(--ink3); }

.entry-title {
  font-size: 33px; font-weight: 900; line-height: 1.42; letter-spacing: -0.01em;
  color: var(--ink); text-wrap: balance; margin: 0 0 10px; padding: 0; border: 0;
}
.entry-content { font-size: 16.5px; }
.entry-content > p { max-width: 40em; }

.entry-content h2 {
  font-size: 22px; font-weight: 900; line-height: 1.5; color: var(--ink);
  background: transparent; border: 0; border-top: 2px solid var(--ink); border-radius: 0;
  padding: 14px 0 0; margin: 56px 0 18px; text-wrap: balance;
}
.entry-content h3 {
  font-size: 18.5px; font-weight: 700; color: var(--ink);
  background: transparent; border: 0; border-left: 1px solid var(--mark);
  padding: 0 0 0 12px; margin: 38px 0 14px;
}
.entry-content h4 { font-size: 16.5px; font-weight: 700; border: 0; padding: 0; margin: 30px 0 10px; }
.entry-content ul, .entry-content ol { max-width: 40em; }
.entry-content li { margin-bottom: 6px; }
.entry-content ul li::marker { color: var(--mark); }
.entry-content ol li::marker { font-family: var(--mono); color: var(--ink3); }

.entry-content table {
  width: 100%; border-collapse: collapse; border: 0; border-top: 2px solid var(--ink);
  font-size: 14.5px; margin: 26px 0; font-variant-numeric: tabular-nums;
}
.entry-content table th, .entry-content table td {
  border: 0; border-bottom: 1px solid var(--rule); padding: 13px 14px;
  background: transparent; vertical-align: middle;
}
.entry-content table thead th {
  background: transparent; color: var(--ink3); font-family: var(--mono);
  font-weight: 500; font-size: 11.5px; letter-spacing: 0.06em;
  border-bottom: 1px solid var(--ink); white-space: nowrap;
}
.entry-content table tbody tr:hover td { background: var(--plate); }
.entry-content table td strong { font-family: var(--mono); font-weight: 600; }
.entry-content figure.wp-block-table { overflow-x: auto; }

#toc.toc {
  background: transparent; border: 0;
  border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule);
  border-radius: 0; width: 100%; max-width: 40em; padding: 16px 0;
}
#toc .toc-title { font-size: 12px; font-weight: 700; color: var(--ink3); letter-spacing: 0.08em; text-align: left; }
#toc .toc-content { font-size: 14px; }
#toc .toc-list a { color: var(--ink2); text-decoration: none; }
#toc .toc-list a:hover { color: var(--mark); }

.fe-equiv { display: inline-block; border: 1.5px solid var(--ink); padding: 7px 12px; line-height: 1.35; background: var(--plate); }
.fe-equiv .fe-equiv-l { display: block; font-size: 10.5px; color: var(--ink2); }
.fe-equiv .fe-equiv-v { display: block; font-family: var(--mono); font-variant-numeric: tabular-nums; font-size: 21px; font-weight: 500; letter-spacing: -0.02em; }
.fe-equiv .fe-equiv-v small { font-size: 11px; color: var(--ink2); }

.fe-unit { display: inline-flex; align-items: stretch; border: 1.5px solid var(--ink); vertical-align: middle; }
.fe-unit .fe-unit-u { background: var(--ink); color: var(--paper); font-family: var(--mono); font-size: 10.5px; letter-spacing: 0.06em; padding: 0 8px; display: flex; align-items: center; }
.fe-unit .fe-unit-n { font-family: var(--mono); font-variant-numeric: tabular-nums; font-size: 18px; font-weight: 500; padding: 3px 11px; }

.fe-shift { display: inline-flex; align-items: center; gap: 4px; font-family: var(--mono); font-size: 11.5px; font-weight: 500; border: 1px solid currentColor; padding: 1px 7px; }
.fe-shift.is-up { color: var(--mark); }
.fe-shift.is-down { color: #6E7C93; }
.fe-shift.is-flat { color: var(--ink3); }
.fe-shift.is-new { color: var(--paper); background: var(--ink); border-color: var(--ink); }
.fe-shift::before { content: ""; width: 8px; height: 8px; display: inline-block; background-repeat: no-repeat; background-position: center; background-size: contain; }
.fe-shift.is-up::before { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' fill='none'%3E%3Cpath d='M4 1v6M1.5 3.5 4 1l2.5 2.5' stroke='%23C8451F' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.fe-shift.is-down::before { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' fill='none'%3E%3Cpath d='M4 7V1M1.5 4.5 4 7l2.5-2.5' stroke='%236E7C93' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.fe-shift.is-flat::before { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' fill='none'%3E%3Cpath d='M1.5 4h5' stroke='%238E8878' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E"); }
.fe-shift.is-new::before { display: none; }

.fe-compare { border: 1px solid var(--ink); background: var(--plate); padding: 22px 24px; margin: 30px 0; max-width: 40em; box-shadow: 0 18px 34px -30px rgba(25,23,16,0.6); }
.fe-compare-t { font-size: 16px; font-weight: 900; margin: 0 0 4px; }
.fe-compare-d { font-size: 12.5px; color: var(--ink2); margin: 0 0 18px; }
.fe-track { display: grid; grid-template-columns: 108px 1fr 92px; gap: 12px; align-items: center; margin-bottom: 9px; }
.fe-track-who { font-size: 12px; font-weight: 700; line-height: 1.5; }
.fe-track-who span { display: block; font-weight: 400; font-size: 10.5px; color: var(--ink3); }
.fe-rail { height: 24px; background: #E3DFD2; position: relative; }
.fe-rail i { position: absolute; top: 0; bottom: 0; left: 0; display: block; }
.fe-rail i.is-store { background: #B3AC99; }
.fe-rail i.is-furusato { background: var(--mark); }
.fe-track-amt { font-family: var(--mono); font-variant-numeric: tabular-nums; font-size: 15px; font-weight: 500; text-align: right; }
.fe-compare-note { font-size: 10.5px; color: var(--ink3); line-height: 1.7; margin: 14px 0 0; }

.fe-calc { border-left: 1px solid var(--mark); background: var(--plate); padding: 13px 18px; margin: 22px 0; max-width: 40em; }
.fe-calc-ex { font-family: var(--mono); font-variant-numeric: tabular-nums; font-size: 16px; font-weight: 500; margin: 0; }
.fe-calc-ex b { font-weight: 600; }
.fe-calc-note { font-size: 11.5px; color: var(--ink2); margin: 5px 0 0; }

.fe-source { display: block; font-size: 11.5px; color: var(--ink3); border-top: 1px solid var(--rule); padding-top: 7px; margin: 8px 0 26px; max-width: 40em; }
.fe-source::before { content: "出典"; font-family: var(--mono); font-size: 9.5px; letter-spacing: 0.1em; border: 1px solid var(--rule); padding: 1px 5px; margin-right: 8px; }

.fe-pr { background: var(--ink); color: #B9B2A2; font-size: 12px; line-height: 1.7; padding: 11px 16px; margin: 0 0 26px; max-width: 40em; display: flex; gap: 11px; align-items: flex-start; }
.fe-pr::before { content: "PR"; flex: none; font-family: var(--mono); font-size: 10px; letter-spacing: 0.1em; color: var(--paper); border: 1px solid #3E392C; padding: 1px 7px; }

.fe-plate { display: block; width: 100%; aspect-ratio: 4 / 3; position: relative; background: repeating-linear-gradient(-45deg, #E3DFD2 0 7px, #E8E4D8 7px 14px); border: 1px solid var(--rule); }
.fe-plate::after { content: "写真スロット"; position: absolute; left: 0; bottom: 0; background: var(--ink); color: var(--paper); font-family: var(--mono); font-size: 9px; letter-spacing: 0.08em; padding: 2px 6px; }

#sidebar { font-size: 14px; }
#sidebar .widget { background: transparent; border: 0; padding: 0; margin-bottom: 30px; }
#sidebar .widget h3, #sidebar .widget-sidebar-title {
  font-size: 12px; font-weight: 700; color: var(--ink3); letter-spacing: 0.08em;
  background: transparent; border: 0; border-bottom: 1px solid var(--rule); padding: 0 0 6px; margin: 0 0 12px;
}
#sidebar a { color: var(--ink2); text-decoration: none; }
#sidebar a:hover { color: var(--mark); }

#breadcrumb { font-size: 11.5px; color: var(--ink3); border-top: 1px solid var(--rule); padding-top: 12px; margin-top: 40px; }
#breadcrumb a { color: var(--ink3); }
#breadcrumb a:hover { color: var(--mark); }

#footer { background: var(--paper); color: var(--ink2); border-top: 2px solid var(--ink); margin-top: 56px; padding: 26px 0 34px; }
#footer .footer-bottom { padding: 0; }
#footer .logo-footer a, #footer .logo-footer .site-name-text { font-family: var(--sans); font-weight: 900; font-size: 16px; color: var(--ink); text-decoration: none; }
#navi-footer .menu-footer { justify-content: flex-start; gap: 22px; }
#navi-footer .menu-footer li a { color: var(--ink2); font-size: 12.5px; padding: 0; text-decoration: underline; text-decoration-color: var(--rule); text-underline-offset: 3px; }
#navi-footer .menu-footer li a:hover { color: var(--ink); text-decoration-color: var(--mark); }
#footer .copyright { font-size: 11.5px; color: var(--ink3); }

@media screen and (max-width: 834px) {
  body.body { font-size: 16px; line-height: 1.85; }
  .entry-title { font-size: 25px; }
  .entry-content h2 { font-size: 19.5px; margin-top: 44px; }
  .entry-content h3 { font-size: 17px; }
  #header .header-in { flex-direction: column; align-items: flex-start; gap: 4px; padding: 16px 0 12px; }
  #header .tagline { order: 2; }
  .fe-track { grid-template-columns: 88px 1fr 76px; gap: 9px; }
  .fe-compare { padding: 18px 16px; }
  .entry-content table { font-size: 13.5px; }
  .entry-content table th, .entry-content table td { padding: 10px 10px; }
}

@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}


/* ============================================================
   ヘッダーの詰め
   ============================================================ */
#header-in.wrap, #navi-in.wrap { max-width: 1180px; }
#header .header-in { flex-wrap: nowrap; align-items: baseline; }
#header .logo-header { text-align: left; flex: 0 0 auto; }
#header .tagline { flex: 1 1 auto; width: auto; }
/* ヘッダーメニューが未設定のうちは、空の帯を出さない */
#navi:not(:has(ul)) { display: none; }


/* ============================================================
   フロントページ
   ============================================================ */
.home #sidebar { display: none; }
.home #main, .home .content-in > .main { width: 100%; max-width: 100%; }
.home .article-header, .home #breadcrumb, .home .article-footer { display: none; }
.home .entry-content > * { max-width: none; }

.fh-open {
  display: grid; grid-template-columns: 1fr 340px; gap: 0;
  border-bottom: 1px solid var(--rule); margin-bottom: 0;
}
.fh-open-l { padding: 48px 44px 42px 0; }
.fh-open-r { border-left: 1px solid var(--rule); padding: 48px 0 42px 34px; }
.fh-title {
  font-size: 46px; font-weight: 900; line-height: 1.3; letter-spacing: -0.015em;
  margin: 0 0 20px; text-wrap: balance; color: var(--ink);
}
.fh-title .fh-neg { background: var(--ink); color: var(--paper); padding: 0 11px; }
.fh-lede { font-size: 15px; color: var(--ink2); max-width: 38em; margin: 0; line-height: 1.95; }
.fh-lede strong { color: var(--ink); }
.fh-fig-cap { font-size: 11.5px; color: var(--ink3); margin: 0; }
.fh-fig-v {
  font-family: var(--mono); font-variant-numeric: tabular-nums;
  font-size: 40px; font-weight: 500; line-height: 1.15; letter-spacing: -0.03em;
  margin: 6px 0 2px;
}
.fh-fig-v small { font-size: 15px; color: var(--ink2); }
.fh-fig-note { font-size: 12px; color: var(--ink2); margin: 0; }
.fh-beam { margin-top: 22px; height: 30px; width: 100%;
  background-repeat: no-repeat; background-size: 100% 100%;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 30' preserveAspectRatio='none'%3E%3Cpath d='M0 24h320' stroke='%23CFC9B8'/%3E%3Cg stroke='%23CFC9B8'%3E%3Cpath d='M8 24v-5M20 24v-5M32 24v-5M44 24v-5M56 24v-9M68 24v-5M80 24v-5M92 24v-5M104 24v-5M116 24v-9M128 24v-5M140 24v-5M152 24v-5M164 24v-5M176 24v-9M188 24v-5M200 24v-5M212 24v-5M224 24v-5M236 24v-9M248 24v-5M260 24v-5M272 24v-5M284 24v-5M296 24v-9M308 24v-5'/%3E%3C/g%3E%3C/svg%3E");
}

.fh-h {
  font-size: 21px; font-weight: 900; margin: 52px 0 0; padding: 14px 0 0;
  border-top: 2px solid var(--ink); letter-spacing: 0.005em;
}
.fh-sub { font-size: 12.5px; color: var(--ink3); margin: 4px 0 20px; }

.fh-row {
  display: grid; grid-template-columns: 152px 1fr 168px; gap: 26px;
  align-items: baseline; padding: 20px 0; border-bottom: 1px solid var(--rule);
}
.fh-row-k { font-size: 16px; font-weight: 900; letter-spacing: 0.02em; }
.fh-row-d { font-size: 13.5px; color: var(--ink2); line-height: 1.85; }
.fh-row-x {
  font-family: var(--mono); font-size: 11.5px; color: var(--ink3);
  text-align: right; letter-spacing: 0.04em;
}
.fh-row-x .fh-ready { color: var(--mark); }

.fh-cat {
  display: grid; grid-template-columns: 128px 1fr 152px; gap: 26px;
  align-items: center; padding: 20px 0; border-bottom: 1px solid var(--rule);
  color: inherit; text-decoration: none;
}
.fh-cat:hover { background: var(--plate); }
.fh-cat-n { font-size: 25px; font-weight: 900; letter-spacing: 0.03em; }
.fh-cat-d { font-size: 13px; color: var(--ink2); }
.fh-cat-s { font-family: var(--mono); font-size: 11.5px; color: var(--ink3); text-align: right; }

.fh-note {
  margin: 34px 0 0; padding: 16px 18px; background: var(--plate);
  border: 1px solid var(--rule); font-size: 12px; color: var(--ink2); line-height: 1.85;
}

@media screen and (max-width: 834px) {
  .fh-open { grid-template-columns: 1fr; }
  .fh-open-l { padding: 32px 0 26px; }
  .fh-open-r { border-left: 0; border-top: 1px solid var(--rule); padding: 24px 0 30px; }
  .fh-title { font-size: 30px; }
  .fh-row, .fh-cat { grid-template-columns: 1fr; gap: 6px; }
  .fh-row-x, .fh-cat-s { text-align: left; }
}


/* ============================================================
   フロントページの詰め
   ============================================================ */
/* トップに自動目次は不要 */
.home #toc { display: none; }
/* 一行が長くなりすぎないように、和文で40〜45字に収める */
.fh-row-d, .fh-cat-d { max-width: 44em; }
.fh-note { max-width: 62em; }


/* ============================================================
   積み上げ計算機
   ============================================================ */
.sim { margin: 26px 0 0; }
.sim * { box-sizing: border-box; }
.sim-step { border-top: 2px solid var(--ink); padding-top: 14px; margin-top: 34px; }
.sim-step:first-child { margin-top: 0; }
.sim-h { font-size: 17px; font-weight: 900; margin: 0 0 3px; }
.sim-d { font-size: 12.5px; color: var(--ink3); margin: 0 0 16px; }
.sim-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 18px; }
.sim-f label { display: block; font-size: 11.5px; color: var(--ink2); margin-bottom: 5px; font-weight: 700; }
.sim-f select {
  width: 100%; padding: 10px 12px; font-size: 15px; font-family: var(--mono);
  border: 1.5px solid var(--ink); border-radius: 0; background: var(--plate); color: var(--ink); appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);
  background-position: calc(100% - 17px) 52%, calc(100% - 12px) 52%; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat;
}
.sim-limit { background: var(--ink); color: var(--paper); padding: 16px 20px; display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.sim-limit-l { font-size: 12px; color: #A69E8C; }
.sim-limit-v { font-family: var(--mono); font-variant-numeric: tabular-nums; font-size: 32px; font-weight: 600; letter-spacing: -0.02em; }
.sim-limit-v small { font-size: 15px; color: #A69E8C; }
.sim-cat { font-size: 12px; font-weight: 700; color: var(--ink3); letter-spacing: 0.06em; margin: 20px 0 6px; }
.sim-item { display: grid; grid-template-columns: 22px 1fr 88px 74px 84px; gap: 12px; align-items: center; padding: 11px 0; border-bottom: 1px solid var(--rule); cursor: pointer; }
.sim-item:hover { background: var(--plate); }
.sim-item input { width: 17px; height: 17px; accent-color: var(--mark); cursor: pointer; margin: 0; }
.sim-nm { font-size: 13.5px; font-weight: 700; line-height: 1.5; display: block; }
.sim-mu { font-size: 11px; color: var(--ink3); display: block; }
.sim-n { font-family: var(--mono); font-variant-numeric: tabular-nums; font-size: 13.5px; text-align: right; }
.sim-n small { font-size: 10px; color: var(--ink3); }
.sim-out { background: var(--plate); border: 1px solid var(--ink); padding: 20px 22px; margin-top: 10px; }
.sim-bar { height: 30px; background: #E3DFD2; position: relative; overflow: hidden; }
.sim-bar i { position: absolute; top: 0; bottom: 0; left: 0; background: var(--ink); transition: width 220ms cubic-bezier(.16,1,.3,1); }
.sim-bar i.over { background: var(--mark); }
.sim-bar-lb { display: flex; justify-content: space-between; font-family: var(--mono); font-size: 10.5px; color: var(--ink3); margin: 5px 0 16px; }
.sim-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--rule); border: 1px solid var(--rule); }
.sim-cell { background: var(--plate); padding: 12px 14px; }
.sim-cell .k { font-size: 10.5px; color: var(--ink3); }
.sim-cell .v { font-family: var(--mono); font-variant-numeric: tabular-nums; font-size: 21px; font-weight: 600; line-height: 1.25; }
.sim-cell .v small { font-size: 11px; color: var(--ink3); }
.sim-cell.hot .v { color: var(--mark); }
.sim-msg { margin-top: 14px; font-size: 13px; line-height: 1.8; }
.sim-msg.warn { color: var(--mark); font-weight: 700; }
.sim-note { font-size: 10.5px; color: var(--ink3); line-height: 1.75; margin-top: 16px; border-top: 1px solid var(--rule); padding-top: 11px; }
@media screen and (max-width: 700px) {
  .sim-inputs { grid-template-columns: 1fr; }
  .sim-item { grid-template-columns: 22px 1fr 80px; row-gap: 2px; }
  .sim-item .sim-n { text-align: left; }
  .sim-grid { grid-template-columns: 1fr 1fr; }
}


/* ============================================================
   記事内の比較表とカート
   ============================================================ */
.entry-content .fe-table th:first-child,
.entry-content .fe-table td:first-child { width: 62px; text-align: center; }
.fe-pick label { display: inline-flex; flex-direction: column; align-items: center; gap: 3px; cursor: pointer; }
.fe-pick input { width: 17px; height: 17px; accent-color: var(--mark); cursor: pointer; margin: 0; }
.fe-pick-lb { font-size: 10px; color: var(--ink3); }
.fe-pick input:checked + .fe-pick-lb { color: var(--mark); font-weight: 700; }
.entry-content .fe-table tbody tr:has(input:checked) td { background: var(--mark-soft); }
.fe-table-src { font-size: 10.5px; color: var(--ink3); line-height: 1.7; margin: 8px 0 0; }
.fe-table-src strong { color: var(--mark); }

.fe-cart {
  position: sticky; bottom: 10px; z-index: 20;
  margin-top: 14px; background: var(--ink); color: var(--paper);
  padding: 11px 16px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  box-shadow: 0 12px 26px -16px rgba(25,23,16,0.8);
}
.fe-cart-t { font-size: 11px; color: #A69E8C; }
.fe-cart-n, .fe-cart-y, .fe-cart-g { font-family: var(--mono); font-variant-numeric: tabular-nums; font-size: 15px; font-weight: 500; }
.fe-cart-go {
  margin-left: auto; background: var(--mark); color: var(--paper) !important;
  font-size: 12.5px; font-weight: 700; padding: 7px 14px; text-decoration: none !important;
}
.fe-cart-go:hover { opacity: 0.88; }
.fe-cart-clear {
  background: none; border: 1px solid #3E392C; color: #A69E8C;
  font-size: 11px; padding: 6px 10px; cursor: pointer; font-family: inherit;
}
.fe-cart-clear:hover { color: var(--paper); border-color: #6B6455; }
@media screen and (max-width: 700px) {
  .fe-cart { gap: 9px; padding: 10px 12px; }
  .fe-cart-go { margin-left: 0; width: 100%; text-align: center; }
  .entry-content .fe-table th:first-child, .entry-content .fe-table td:first-child { width: 46px; }
}


/* 比較表の外部リンク */
.entry-content .fe-table a.fe-item-link {
  color: var(--ink);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-color: var(--rule);
}
.entry-content .fe-table a.fe-item-link:hover { text-decoration-color: var(--mark); color: var(--mark); }
.entry-content .fe-table a.fe-item-muni { color: var(--ink2); font-size: 0.95em; }
.fe-ext {
  display: inline-block; width: 9px; height: 9px; margin-left: 5px; vertical-align: 1px;
  background-repeat: no-repeat; background-size: contain; opacity: 0.55;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='none'%3E%3Cpath d='M3.6 1H1v8h8V6.4M6 1h3v3M4.2 5.8 9 1' stroke='%23191710' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.entry-content .fe-table a.fe-item-link:hover .fe-ext { opacity: 1; }
.screen-reader-text {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}


/* ============================================================
   モバイル：ヘッダーのジャンルを折りたたむ
   7項目が縦に並ぶと1画面目を丸ごと占有してしまうため。
   ============================================================ */
.fe-navtoggle { display: none; }

@media screen and (max-width: 834px) {
  .fe-navtoggle {
    display: flex; align-items: center; justify-content: space-between;
    width: 100%; gap: 10px; margin: 0;
    padding: 12px 16px;
    background: var(--plate); color: var(--ink);
    border: 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule);
    font-family: inherit; font-size: 14px; font-weight: 700; letter-spacing: .02em;
    text-align: left; cursor: pointer;
    -webkit-appearance: none; appearance: none;
  }
  .fe-navtoggle::after {
    content: ""; flex: none; width: 9px; height: 9px;
    border-right: 1.5px solid var(--ink3); border-bottom: 1.5px solid var(--ink3);
    transform: rotate(45deg) translateY(-2px);
    transition: transform 160ms ease;
  }
  .fe-navtoggle[aria-expanded="true"]::after { transform: rotate(225deg) translateY(-2px); }
  .fe-navtoggle:focus-visible { outline: 2px solid var(--mark); outline-offset: -2px; }

  #navi { display: none; }
  #navi.fe-open { display: block; }
  #navi .navi-in > ul { flex-direction: column; gap: 0; }
  #navi .navi-in > ul > li { width: 100%; border-bottom: 1px solid var(--rule); }
  #navi .navi-in > ul > li:last-child { border-bottom: 0; }
  #navi .navi-in > ul > li > a {
    justify-content: flex-start; padding: 13px 16px;
    font-size: 15px; border-bottom: 0;
  }
  #navi .navi-in > ul > li.current-menu-item > a {
    border-bottom: 0; box-shadow: inset 3px 0 0 var(--mark);
  }
}

@media (prefers-reduced-motion: reduce) {
  .fe-navtoggle::after { transition: none; }
}


/* ---- モバイル：比較表を詰める ----
   数字の列を折り返さないようにして、自治体名と返礼品名に幅を回す。 */
@media screen and (max-width: 834px) {
  .fe-table { font-size: 12px; }
  .fe-table th, .fe-table td { padding: 9px 4px; }
    .fe-table td:nth-child(3) { overflow-wrap: anywhere; }
  .fe-table th:first-child, .fe-table td:first-child { width: 32px; padding-left: 2px; padding-right: 2px; }
  .fe-table .fe-pick-lb { display: none; }
  .fe-table th:nth-child(6), .fe-table td:nth-child(6) { white-space: nowrap; }
  .fe-table td:nth-child(2) { word-break: keep-all; overflow-wrap: anywhere; }
}


/* アイキャッチ側にジャンル名を入れているので、Cocoonのカテゴリバッジは外す。
   黒い箱が紙の色とぶつかるうえ、サムネイルの表記と重なるため。 */
.cat-label { display: none; }

/* === FE-EDIT 2026-09-15 引き算 === */
/* 1. Cocoonのブログ部品を消して1カラムに */
.sidebar, .sns-share, .sns-follow, .breadcrumb, .related-entries, .comment-area,
.pager-post-navi, .author-box, .footer-widgets, .toc { display: none !important; }
.main { width: 100% !important; max-width: 860px; margin: 0 auto; padding: 0 24px; }
.wrap { max-width: 1180px; }
.entry-footer .post-date, .entry-footer .post-update, .entry-footer .entry-categories-tags { display: none; }
.date-tags { display: none; }
.article-header .entry-title { font-size: 2rem; line-height: 1.35; letter-spacing: -0.01em; max-width: 22em; }
.article .entry-content > *:first-child { margin-top: 0; }

/* 2. ヘッダーを1行に */
.header-container-in { padding: 8px 0; }
.navi-in > ul { justify-content: center; flex-wrap: nowrap; gap: 0; }
.navi-in > ul > li > a { font-size: 13.5px; letter-spacing: 0.06em; padding: 0 14px; height: 40px; line-height: 40px; }
.navi-in > ul > li:last-child > a { font-weight: 700; color: var(--mark); }
.tagline { font-size: 11px; letter-spacing: 0.18em; color: var(--ink3); }
#header .site-name-text { font-size: 22px; letter-spacing: 0.02em; }

/* 3. PR表記を黒ブロックから罫線1本に */
.fe-pr { background: transparent !important; color: var(--ink3) !important; font-size: 12px; letter-spacing: 0.04em;
  border: 0; border-top: 2px solid var(--mark); padding: 8px 0 0; margin: 0 0 28px; }
.fe-pr { max-width: none; }

/* 4. 表：数字を主役に */
.fe-table th { font-weight: 500; color: var(--ink3); font-size: 12px; letter-spacing: 0.08em; }
.fe-table td:nth-child(6) { font-family: var(--mono); font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fe-table td:nth-child(4), .fe-table td:nth-child(5) { font-family: var(--mono); font-variant-numeric: tabular-nums; color: var(--ink2); }
.fe-table tbody tr:first-child td:nth-child(6) { color: var(--mark); }
.fe-table tbody tr:hover { background: var(--plate); }
.fe-table td, .fe-table th { border-color: var(--rule2); }
.fe-table td:nth-child(4), .fe-table td:nth-child(5) { white-space: nowrap; }
.fe-table .fe-pick-lb { display: none; }
.fe-table td:first-child { width: 36px; }
.article-header { margin-bottom: 8px; }
.eye-catch-wrap { margin-bottom: 20px; }

/* === FE-EDIT 2 アーカイブ・フッター === */
/* アーカイブ見出し：フォルダアイコンをやめて活字に */
.archive-title { font-size: 30px; font-weight: 700; letter-spacing: 0.02em; color: var(--ink);
  border: 0; padding: 0 0 14px; margin: 12px 0 8px; border-bottom: 2px solid var(--ink); }
.archive-title::after { content: "の記事"; font-size: 13px; font-weight: 500; color: var(--ink3); margin-left: 10px; letter-spacing: 0.1em; }
.archive-title::before { display: none !important; }
.archive-title .fa { display: none; }

/* 記事カード：画像＋見出しだけで見せる */
.ect-entry-card.list .entry-card-wrap, .ect-entry-card .entry-card-wrap { border: 0; border-bottom: 1px solid var(--rule2); padding: 26px 0; margin: 0; }
.ect-entry-card .entry-card-wrap:hover { background: transparent; }
.ect-entry-card .entry-card-thumb { width: 38%; margin-right: 28px; }
.ect-entry-card .entry-card-thumb-image { border: 1px solid var(--rule2); }
.ect-entry-card .entry-card-title { font-size: 19px; line-height: 1.5; font-weight: 700; letter-spacing: -0.005em; color: var(--ink); margin: 2px 0 10px; }
.ect-entry-card .entry-card-wrap:hover .entry-card-title { color: var(--mark); }
.ect-entry-card .entry-card-snippet { font-size: 14px; line-height: 1.75; color: var(--ink2);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ect-entry-card .admin-pv, .ect-entry-card .entry-card-meta .fa, .ect-entry-card .cat-label { display: none !important; }
.ect-entry-card .entry-card-meta { margin-top: 10px; }
.ect-entry-card .entry-card-info, .ect-entry-card .entry-card-date { font-family: var(--mono); font-size: 11px; letter-spacing: 0.08em; color: var(--ink3); }
.ect-entry-card .entry-card-date::before { content: "更新 "; }
.pagination { margin: 40px 0 0; }

/* フッター：紙色に */
.footer { background: var(--paper); color: var(--ink3); border-top: 1px solid var(--rule); margin-top: 72px; }
.footer-in { padding: 28px 24px 40px; }
.footer .site-name-text, .footer .footer-bottom-logo a { color: var(--ink); font-size: 15px; letter-spacing: 0.04em; }
.footer .navi-footer a { color: var(--ink3); font-size: 12px; letter-spacing: 0.08em; }
.footer .navi-footer a:hover { color: var(--mark); }
.footer .source-org, .footer .copyright { font-family: var(--mono); font-size: 11px; color: var(--ink3); letter-spacing: 0.06em; }
.footer .footer-bottom-content { align-items: center; }

/* 記事：アイキャッチを本文幅に合わせて中央へ */
.article .eye-catch-wrap { text-align: center; }
.article .eye-catch { max-width: 100%; }
.article .eye-catch img { border: 1px solid var(--rule2); }

/* ページ全体：フッター上の余白と、上部固定バーの影を消す */
.header-container { box-shadow: none; }
#header-container { border-bottom: 1px solid var(--rule); }

/* === FE-EDIT 3 トップのジャンルグリッド === */
.fh-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--rule); border: 1px solid var(--rule); margin: 18px 0 0; }
.fh-grid .fh-cat { display: block; position: relative; background: var(--paper); padding: 24px 24px 54px; margin: 0; border: 0;
  color: var(--ink); text-decoration: none; min-height: 190px; transition: background .15s; }
.fh-grid .fh-cat:hover { background: var(--plate); }
.fh-grid .fh-cat:first-child { grid-column: span 2; padding: 30px 30px 60px; }
.fh-grid .fh-cat-n { font-size: 12px; font-weight: 500; letter-spacing: 0.18em; color: var(--ink3); margin: 0; }
.fh-grid .fh-cat-v { font-family: var(--mono); font-weight: 700; font-size: 38px; line-height: 1.05; letter-spacing: -0.02em; margin: 16px 0 8px; color: var(--ink); font-variant-numeric: tabular-nums; }
.fh-grid .fh-cat:first-child .fh-cat-v { font-size: 68px; margin-top: 22px; }
.fh-grid .fh-cat-v .fe-u { font-size: 0.42em; font-weight: 500; color: var(--ink2); margin-left: 6px; letter-spacing: 0; }
.fh-grid .fh-cat-m { font-size: 13px; color: var(--ink2); letter-spacing: 0.02em; }
.fh-grid .fh-cat-m::before { content: "最安 "; color: var(--ink3); }
.fh-grid .fh-cat-d { display: none; }
.fh-grid .fh-cat:first-child .fh-cat-d { display: block; font-size: 14px; line-height: 1.7; color: var(--ink2); margin-top: 14px; max-width: 30em; }
.fh-grid .fh-cat-s { position: absolute; left: 24px; bottom: 18px; margin: 0; }
.fh-grid .fh-cat:first-child .fh-cat-s { left: 30px; }
.fh-grid .fh-ready { font-size: 12px; letter-spacing: 0.1em; color: var(--mark); }
.fh-grid .fh-ready::after { content: " →"; }
@media screen and (max-width: 834px) {
  .fh-grid { grid-template-columns: 1fr 1fr; }
  .fh-grid .fh-cat { padding: 18px 16px 46px; min-height: 150px; }
  .fh-grid .fh-cat:first-child { grid-column: span 2; padding: 22px 18px 52px; }
  .fh-grid .fh-cat-v { font-size: 28px; }
  .fh-grid .fh-cat:first-child .fh-cat-v { font-size: 48px; }
  .fh-grid .fh-cat-s, .fh-grid .fh-cat:first-child .fh-cat-s { left: 16px; bottom: 14px; }
}
/* 計算機カード（グリッド外）の見え方をそろえる */
.entry-content > .fh-cat { border: 1px solid var(--rule); }
/* 8枚で3行ちょうど埋まるため last-child の span2 は不要（2026-09-15 解除） */

/* === FE-EDIT 4 グリッド微調整 === */
/* 1段目の右カードにも説明文を出して、空白を埋める */
@media screen and (min-width: 835px) {
  .fh-grid .fh-cat:nth-child(2) .fh-cat-d { display: block; font-size: 13.5px; line-height: 1.7; color: var(--ink2); margin-top: 14px; }

}
/* 計算機カード（グリッド外）をグリッドと同じ質感に */
.entry-content > .fh-cat { display: block; position: relative; background: var(--paper); border: 1px solid var(--rule);
  padding: 26px 30px 56px; text-decoration: none; color: var(--ink); margin-top: 18px; }
.entry-content > .fh-cat:hover { background: var(--plate); }
.entry-content > .fh-cat .fh-cat-n { font-size: 12px; font-weight: 500; letter-spacing: 0.18em; color: var(--ink3); }
.entry-content > .fh-cat .fh-cat-d { font-size: 14px; line-height: 1.75; color: var(--ink2); margin-top: 10px; max-width: 34em; }
.entry-content > .fh-cat .fh-cat-s { position: absolute; left: 30px; bottom: 18px; }
.entry-content > .fh-cat .fh-ready { font-size: 12px; letter-spacing: 0.1em; color: var(--mark); }
.entry-content > .fh-cat .fh-ready::after { content: " →"; }

/* モバイル下部の固定ボタン（Cocoon既定）を消す */
.mobile-footer-menu-buttons, .mobile-menu-buttons { display: none !important; }
body.mobile-button-fmb { padding-bottom: 0 !important; }

/* 2列時の最終行の孤立を防ぐ */
@media screen and (max-width: 834px) {
  .fh-grid .fh-cat:last-child { grid-column: span 2; }
}

/* === FE-EDIT 7 引用と注記 === */
.fe-quote { margin: 26px 0; padding: 0 0 0 20px; border-left: 3px solid var(--mark); background: transparent; }
.fe-quote::before, .fe-quote::after { content: none !important; display: none !important; }
.fe-quote p { margin: 0; font-size: 15px; line-height: 1.95; color: var(--ink2); }
.fe-note { font-size: 12.5px; line-height: 1.85; color: var(--ink3); border-top: 1px solid var(--rule2);
  padding-top: 14px; margin-top: 40px; }

/* 既存の wp-block-quote も同じ見た目に */
.entry-content blockquote, .entry-content .wp-block-quote {
  margin: 26px 0; padding: 0 0 0 20px; border: 0; border-left: 3px solid var(--mark);
  background: transparent; border-radius: 0; }
.entry-content blockquote::before, .entry-content blockquote::after,
.entry-content .wp-block-quote::before, .entry-content .wp-block-quote::after { content: none !important; display: none !important; }
.entry-content blockquote p { margin: 0 0 6px; font-size: 15px; line-height: 1.95; color: var(--ink2); }
.entry-content blockquote cite, .entry-content blockquote em:last-child { display: block; font-style: normal;
  font-family: var(--mono); font-size: 11.5px; letter-spacing: 0.04em; color: var(--ink3); margin-top: 8px; }

/* 本文中の箇条書き */
.entry-content .fe-list { list-style: none; margin: 18px 0; padding: 0; max-width: 40em; }
.entry-content .fe-list li { position: relative; padding: 9px 0 9px 22px; border-bottom: 1px solid var(--rule2); font-size: 15px; }
.entry-content .fe-list li:first-child { border-top: 1px solid var(--rule2); }
.entry-content .fe-list li::before { content: ""; position: absolute; left: 0; top: 18px; width: 8px; height: 2px; background: var(--mark); }

/* === FE-EDIT 8 案C ランキングアプリ型 2026-09-30（このブロックを消せば案C適用前に戻る） === */
:root{
  --paper:#FFFDF8; --plate:#FFFFFF; --rule:#E8E1D2; --rule2:#F1ECE1;
  --ink:#221E17; --ink2:#5B5448; --ink3:#8A8274;
  --mark:#B35A00; --mark-soft:#FFF1D6;
  --hi:#FFB23F; --dark2:#3A342A;
  --sans:"Murecho","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  --mono:"Murecho","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  --r:12px;
}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px}
body table, .fe-cart, .fc-num{font-variant-numeric:tabular-nums}

/* ヘッダー：黒帯＋ジャンルタブ（固定） */
#header-container{background:var(--ink)!important;position:sticky;top:0;z-index:60;border:0!important}
.admin-bar #header-container{top:32px}
@media (max-width:782px){.admin-bar #header-container{top:0}}
#header,#header-in{background:transparent!important}
#header-in{display:flex;align-items:center;justify-content:flex-start;padding:12px 16px 8px!important;min-height:0!important;max-width:892px!important;margin:0 auto!important}
#header .tagline{display:none!important}
#header .logo{margin:0!important;padding:0!important;text-align:left!important}
#header .logo a,#header .site-name-text{color:#FFFDF8!important;font-family:var(--sans);font-weight:800!important;font-size:18px!important;letter-spacing:.02em;text-decoration:none}
#feNaviToggle{display:none!important}
#navi,#navi-in{background:transparent!important;display:block!important;height:auto!important;border:0!important}
#navi-in{max-width:892px!important;margin:0 auto!important;padding:0 16px 10px!important}
.fe-pr::before{color:var(--ink2)!important;border-color:var(--ink3)!important;font-size:10.5px!important}
#navi .menu-top{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0!important;padding:0!important;justify-content:flex-start!important;height:auto!important}
#navi .menu-top::-webkit-scrollbar{display:none}
#navi .menu-top>li{flex:none!important;width:auto!important;margin:0!important;border:0!important;height:auto!important}
#navi .menu-top>li>a{display:block;background:var(--dark2)!important;color:#FFFDF8!important;border-radius:8px;padding:7px 14px!important;font-size:14px!important;font-weight:600!important;letter-spacing:.02em!important;line-height:1.4!important;height:auto!important;white-space:nowrap;border:0!important}
#navi .menu-top>li>a:hover{background:#4A4336!important}
#navi .menu-top>li.current-menu-item>a,#navi .menu-top>li.current-post-ancestor>a,#navi .menu-top>li.current-category-ancestor>a,#navi .menu-top>li.current-menu-parent>a{background:var(--hi)!important;color:var(--ink)!important}
#navi .menu-top>li:last-child>a{background:transparent!important;box-shadow:inset 0 0 0 1.5px var(--hi);color:var(--hi)!important}
#navi .menu-top>li:last-child.current-menu-item>a{background:var(--hi)!important;color:var(--ink)!important}
#navi .menu-top .sub-menu{display:none!important}
@media (min-width:835px){#navi .menu-mobile{display:none!important}}
@media (max-width:834px){#navi .menu-pc{display:none!important}#navi .menu-mobile{display:flex!important}#navi .menu-top>li>a{padding:6px 12px!important;font-size:13.5px!important}}

/* 本文まわり */
#content,.content,.main,.article{background:transparent!important}
.main{padding-top:8px!important}
.entry-title,.article h1{font-family:var(--sans);font-weight:800!important;font-size:26px!important;line-height:1.45!important;letter-spacing:.01em;color:var(--ink)}
.date-tags{font-size:12.5px;color:var(--ink3)}
.entry-content{font-size:16px!important;line-height:1.85!important;color:var(--ink)}
.entry-content p{margin-bottom:1.3em}
.entry-content a{color:var(--mark)}
.entry-content h2,.article h2{background:none!important;border:0!important;padding:0!important;margin:44px 0 14px!important;font-size:21px!important;font-weight:800!important;line-height:1.45!important;color:var(--ink)!important;display:flex;gap:10px;align-items:baseline}
.entry-content h2::before,.article h2::before{content:"";flex:none;width:8px;height:.95em;border-radius:3px;background:var(--hi);transform:translateY(.1em)}
.entry-content h2::after,.article h2::after{display:none!important}
.entry-content h3,.article h3{background:none!important;border:0!important;border-bottom:1px solid var(--rule)!important;padding:0 0 6px!important;margin:30px 0 10px!important;font-size:18px!important;font-weight:800!important}
.fe-pr{font-size:12px!important;color:var(--ink3)!important;border-color:var(--rule)!important}
.fe-source,.fe-table-src{font-size:12.5px!important;color:var(--ink3)!important}
.fe-calc{background:var(--plate)!important;border:1px solid var(--rule)!important;border-radius:var(--r)!important}
.entry-content blockquote{border-radius:var(--r)}

/* 結論カード（JSで挿入） */
.fc-ans{background:var(--ink);color:#FFFDF8;border-radius:14px;padding:16px 18px;margin:8px 0 14px;display:grid;gap:2px}
.fc-ans-k{font-size:12px;font-weight:800;color:var(--hi);letter-spacing:.06em}
.fc-ans-v{font-size:30px;font-weight:800;line-height:1.25}
.fc-ans-m{font-size:14px;color:#E9E3D6}
.fc-jump{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 0 20px;padding:2px 0}
.fc-jump::-webkit-scrollbar{display:none}
.fc-jump a{flex:none;border:1px solid var(--rule);background:var(--plate);border-radius:999px;padding:6px 14px;font-size:13.5px;font-weight:600;color:var(--ink)!important;text-decoration:none;white-space:nowrap}
.fc-jump a:hover{border-color:var(--ink)}

/* ランキング表（PC） */
.fe-table-wrap{border:1px solid var(--rule);border-radius:var(--r);background:var(--plate);overflow:hidden}
.fe-table-wrap .wp-block-table{margin:0!important;overflow-x:auto}
.fe-table{border:0!important;margin:0!important}
.fe-table th{background:var(--rule2)!important;color:var(--ink2)!important;font-size:12.5px!important;font-weight:700!important;border:0!important;border-bottom:1px solid var(--rule)!important}
.fe-table td{border:0!important;border-bottom:1px solid var(--rule2)!important;font-size:14.5px}
.fe-table tbody tr:first-child td{background:var(--mark-soft)!important}
.fe-table td strong{font-weight:800;color:var(--ink)}
.fe-table tbody tr:first-child td strong{color:var(--mark)}
.fe-table .fe-item-link{color:var(--ink)!important;font-weight:600}
.fe-table-wrap .fe-table-src{padding:8px 12px;margin:0!important}

/* ランキング表（スマホ）＝1件ずつのカード */
@media (max-width:834px){
  .fe-table-wrap{border:0;background:transparent;overflow:visible;border-radius:0}
  .fe-table-wrap .wp-block-table{overflow:visible}
  .fe-table,.fe-table tbody{display:block!important;width:100%!important}
  .fe-table thead{display:none!important}
  .fe-table tbody{counter-reset:fcr}
  .fe-table tbody tr{counter-increment:fcr;display:grid!important;grid-template-columns:auto 1fr auto;grid-template-areas:"rk pr pk" "nm nm nm" "mu mu mu" "yn tt tt";gap:4px 8px;align-items:center;background:var(--plate);border:1px solid var(--rule);border-radius:var(--r);padding:12px 14px;margin:0 0 10px}
  .fe-table tbody tr::before{content:counter(fcr) "位";grid-area:rk;justify-self:start;font-size:12px;font-weight:800;background:var(--rule2);border-radius:5px;padding:1px 8px}
  .fe-table tbody tr:first-child::before{background:var(--hi)}
  .fe-table tbody tr:first-child{border-color:var(--hi);box-shadow:0 0 0 1px var(--hi)}
  .fe-table tbody tr td{display:block!important;border:0!important;padding:0!important;background:transparent!important;font-size:14px;min-width:0}
  .fe-table tbody tr td:nth-child(1){grid-area:pk}
  .fe-table tbody tr td:nth-child(2){grid-area:mu;font-size:12.5px;color:var(--ink3)}
  .fe-table tbody tr td:nth-child(2) a{color:var(--ink3)!important;font-weight:400!important}
  .fe-table tbody tr td:nth-child(3){grid-area:nm}
  .fe-table tbody tr td:nth-child(3) a{display:block;font-size:14.5px;font-weight:700!important;line-height:1.5;padding:8px 26px 8px 10px;border:1.5px solid var(--ink);border-radius:8px;position:relative;text-decoration:none}
  .fe-table tbody tr td:nth-child(3) a::after{content:"›";position:absolute;right:10px;top:50%;transform:translateY(-52%);font-size:20px;font-weight:800}
  .fe-table tbody tr td:nth-child(4){grid-area:yn;font-size:12.5px;color:var(--ink2)}
  .fe-table tbody tr td:nth-child(4)::before{content:"寄付額 "}
  .fe-table tbody tr td:nth-child(5){grid-area:tt;font-size:12.5px;color:var(--ink2);text-align:right}
  .fe-table tbody tr td:nth-child(5)::before{content:"総量 "}
  .fe-table tbody tr td:nth-child(6){grid-area:pr;text-align:left}
  .fe-table tbody tr td:nth-child(6) strong{font-size:18px}
  .fe-table .fe-pick label{display:inline-flex;align-items:center;gap:4px;font-size:12px;border:1px solid var(--rule);border-radius:999px;padding:3px 10px;background:var(--paper);white-space:nowrap}
  .fe-table-wrap .fe-table-src{padding:0 2px}
}

/* 比較表・その他の表 */
.entry-content .wp-block-table:not(.fe-table-wrap .wp-block-table){overflow-x:auto}
.fe-compare{border-radius:var(--r);overflow-x:auto}

/* 積むカート（既存の追従バー） */
.fe-cart{border-radius:var(--r)!important;background:var(--ink)!important;color:#FFFDF8!important}

/* 1位へ戻る追従ボタン（JSで挿入） */
.fc-top1{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:55;width:min(560px,calc(100% - 24px));display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--hi);color:var(--ink)!important;border-radius:12px;padding:11px 16px;font-weight:800;font-size:14px;text-decoration:none!important;box-shadow:0 6px 18px rgba(34,30,23,.25)}
.fc-top1[hidden]{display:none!important}
.fc-top1 span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* スマホ下部タブバー（JSで挿入） */
.fc-tabbar{display:none}
@media (max-width:834px){
  .fc-tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:58;background:#fff;border-top:1px solid var(--rule);padding:6px 0 calc(6px + env(safe-area-inset-bottom,0px))}
  .fc-tabbar a{display:grid;justify-items:center;gap:2px;font-size:11px;font-weight:600;color:var(--ink3)!important;text-decoration:none!important;padding:2px 0}
  .fc-tabbar a.on{color:var(--ink)!important}
  .fc-tabbar svg{width:22px;height:22px}
  body.fc-has-tabbar{padding-bottom:64px}
  .fc-top1{bottom:calc(72px + env(safe-area-inset-bottom,0px))}
  .fe-cart{bottom:calc(70px + env(safe-area-inset-bottom,0px))!important}
  .go-to-top{bottom:80px!important}
  .entry-title,.article h1{font-size:22px!important}
  .entry-content h2,.article h2{font-size:19px!important}
}

/* アーカイブ・カード */
.ect-entry-card .entry-card-wrap,.entry-card-wrap{background:transparent}
.archive-title{border-color:var(--ink)!important}

/* フッター */
#footer{background:var(--ink)!important;color:#E9E3D6!important;border:0!important}
#footer a{color:#FFFDF8!important}

/* トップ（固定ページ38）案C */
.fc-home{display:grid;gap:18px;margin-top:4px}
.fc-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:18px;align-items:stretch}
@media (max-width:834px){.fc-hero{grid-template-columns:minmax(0,1fr)}}
.fc-q{background:var(--ink);color:#FFFDF8;border-radius:16px;padding:20px 20px 18px;display:grid;gap:4px;align-content:start}
.fc-q h1{font-size:15px!important;font-weight:700!important;color:#E9E3D6!important;margin:0!important;line-height:1.5!important}
.fc-big{font-size:56px;font-weight:800;line-height:1.05;letter-spacing:-.01em}
.fc-big small{font-size:20px;margin-left:4px}
.fc-by{font-size:14px;color:#E9E3D6}
.fc-by b{color:var(--hi)}
.fc-q p.fc-lede{font-size:13.5px;line-height:1.75;color:#CFC7B7;margin:10px 0 0!important}
.fc-bars{background:var(--plate);border:1px solid var(--rule);border-radius:16px;padding:16px 18px;display:grid;gap:12px;align-content:start}
.fc-bars-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.fc-bars-h b{font-size:15px;font-weight:800}
.fc-bars-h span{font-size:12px;color:var(--ink3)}
a.fc-b{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:center;text-decoration:none!important;color:var(--ink)!important}
.fc-b .n{font-weight:800;text-align:center}
.fc-b .t{display:grid;gap:4px;min-width:0}
.fc-b .t span{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fc-b .t i{display:block;height:9px;border-radius:5px;background:var(--hi);min-width:6px}
.fc-b:nth-child(n+4) .t i{background:#E3DCCD}
.fc-b .p{font-weight:800;font-size:15px;text-align:right}
.fc-b .p small{display:block;font-size:11px;color:var(--ink3);font-weight:500}
a.fc-b:hover .t span{text-decoration:underline}
.fc-sec-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:14px 0 0}
.fc-sec-h h2{margin:0!important;font-size:19px!important}
.fc-sec-h span{font-size:12.5px;color:var(--ink3)}
.fc-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media (max-width:834px){.fc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
a.fc-kpi{background:var(--plate);border:1px solid var(--rule);border-radius:var(--r);padding:12px 14px;display:grid;gap:2px;text-decoration:none!important;color:var(--ink)!important}
a.fc-kpi:hover{border-color:var(--ink)}
.fc-kpi b{font-size:12.5px;color:var(--ink3);font-weight:600}
.fc-kpi .v{font-size:19px;font-weight:800;line-height:1.35}
.fc-kpi .m{font-size:12px;color:var(--ink2)}
.fc-kpi .go{font-size:12px;font-weight:700;color:var(--mark);margin-top:4px}
a.fc-calc{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;align-items:center;background:var(--hi);border-radius:16px;padding:18px 20px;color:var(--ink)!important;text-decoration:none!important}
.fc-calc b{font-size:18px;font-weight:800}
.fc-calc span{font-size:13.5px;grid-column:1}
.fc-calc em{font-style:normal;grid-row:1/3;grid-column:2;background:var(--ink);color:#FFFDF8;border-radius:10px;padding:10px 16px;font-weight:800;font-size:14px;white-space:nowrap}
.fc-note{font-size:12.5px!important;color:var(--ink3)!important;line-height:1.75!important}
.fc-home .fh-cat-d,.fc-home .fh-grid{display:none}
/* 旧ヒーロー（残っていれば隠す） */
.fc-home~.fh-open{display:none}
.home #header-in,.home #navi-in{max-width:1212px!important}
/* fc-gutter */
@media (max-width:834px){#main,.main{padding-left:16px!important;padding-right:16px!important;box-sizing:border-box}.fe-table tbody tr:first-child td{background:transparent!important}.fe-table tbody tr:first-child{background:#FFFBF1}.fe-table tbody tr:first-child td strong{color:var(--ink)}}
/* fc-tables2 */
.entry-content .wp-block-table:not(.fe-table-wrap .wp-block-table) tr>*:first-child{white-space:nowrap}
.fc-bars-h{flex-wrap:wrap}
/* fc-top-v2 トップ：紹介から始める構成（2026-09-30） */
.fc-home{gap:36px!important}
.fc-intro{display:grid;gap:14px;padding-top:14px}
.fc-home p.fc-eyebrow{font-size:13px!important;font-weight:700;color:var(--mark)!important;margin:0!important}
.fc-intro h1{font-size:clamp(30px,6vw,48px)!important;font-weight:800!important;line-height:1.3!important;letter-spacing:.01em;margin:0!important;color:var(--ink)!important;text-wrap:balance}
.fc-intro h1 em{font-style:normal;background:linear-gradient(transparent 62%,var(--hi) 62%)}
.fc-home p.fc-intro-lede{max-width:40em;font-size:16.5px!important;line-height:1.85!important;margin:0!important}
.fc-cta{display:flex;flex-wrap:wrap;gap:10px}
a.fc-btn{display:inline-block;background:var(--ink);color:#FFFDF8!important;text-decoration:none!important;font-weight:800;border-radius:10px;padding:12px 20px;font-size:15px}
a.fc-btn.fc-btn-w{background:var(--plate);color:var(--ink)!important;box-shadow:inset 0 0 0 1.5px var(--ink)}
ul.fc-facts{list-style:none!important;margin:6px 0 0!important;padding:0!important;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
ul.fc-facts li{list-style:none!important;margin:0!important;padding:12px 14px;display:grid;gap:2px;border-left:1px solid var(--rule)}
ul.fc-facts li::before,ul.fc-facts li::marker{content:none!important;display:none!important}
ul.fc-facts li:first-child{border-left:0;padding-left:0}
.fc-facts b{font-size:22px;font-weight:800}
.fc-facts span{font-size:12.5px;color:var(--ink2);line-height:1.6}
@media (max-width:640px){ul.fc-facts{grid-template-columns:1fr}ul.fc-facts li{border-left:0;border-top:1px solid var(--rule);padding-left:0;grid-template-columns:7.5em 1fr;align-items:baseline}ul.fc-facts li:first-child{border-top:0}.fc-facts b{font-size:18px}}
.fc-home section{display:grid;gap:14px}
ol.fc-steps{list-style:none!important;margin:0!important;padding:0!important;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;counter-reset:fcs}
@media (max-width:760px){ol.fc-steps{grid-template-columns:1fr}}
ol.fc-steps li{list-style:none!important;counter-increment:fcs;background:var(--plate);border:1px solid var(--rule);border-radius:var(--r);padding:14px 16px!important;margin:0!important;display:grid;gap:4px;align-content:start}
ol.fc-steps li::marker{content:none}
ol.fc-steps li::before{content:"STEP " counter(fcs)!important;font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--mark);position:static!important;background:none!important;width:auto!important;height:auto!important}
.fc-steps b{font-size:16px;font-weight:800}
.fc-steps span{font-size:14px;color:var(--ink2);line-height:1.7}
.fc-steps .fc-formula{margin-top:6px;background:var(--rule2);border-radius:8px;padding:8px 10px;font-weight:700;font-size:14.5px;color:var(--ink);font-family:var(--sans)}
.fc-kpis.fc-kpis-8{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:834px){.fc-kpis.fc-kpis-8{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fc-kpi b{color:var(--ink)!important;font-size:14px!important;font-weight:800!important}
.fc-home p.fc-q-cap{font-size:14px!important;color:#E9E3D6!important;font-weight:700;margin:0!important}
.fc-hero .fc-big{font-size:52px}
.fc-home a.fc-b:nth-of-type(n+3) .t i{background:#E3DCCD}
.fc-home a.fc-b:nth-of-type(-n+2) .t i{background:var(--hi)}
@media (max-width:480px){a.fc-calc{grid-template-columns:1fr}.fc-calc em{grid-row:auto!important;grid-column:1!important;text-align:center;margin-top:6px}}
/* fc-top-v2b */
.fc-home ul,.fc-home ol,.fc-home p{max-width:none!important}
.fc-home p.fc-intro-lede{max-width:40em!important}
/* fc-top-v2c */
.fc-home .fc-sec-h h2{font-size:23px!important}
@media (max-width:834px){.fc-home .fc-sec-h h2{font-size:20px!important}}
/* fc-afflist 広告リンク */
.fe-table td:nth-child(3) a{color:var(--ink)!important;font-weight:600}
.fe-table td:nth-child(3) img[width="1"]{position:absolute;width:1px;height:1px}
.fc-afflist{margin:10px 0}
.fc-afflist ul{margin:6px 0 0!important;font-size:14px}
.fc-afflist[hidden]{display:none!important}
/* === /FE-EDIT 8 === */
