/* 暮らしと家計の見直し部屋｜共通スタイル（warm版 2026-09-20）
   参考：HAKAROKKA（紙・水彩・手書き）＋ まだ老眼じゃないポータル（悩み別入口）＋ 朝日生命あんしん介護（角丸カード）
   旧版は site-editorial.css */
:root {
  color-scheme: light;
  --paper: #F7F4EC; --paper-2: #FFFDF8; --ink: #2B3A48; --accent: #147D79; --accent-soft: #CFE6E3;
  --pink: #F6DCD6; --yellow: #FBEFC6; --button-ink: #FFF;
  --sans: "BIZ UDPGothic", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;           /* 本文：読みやすさ優先 */
  --maru: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Rounded Mplus 1c", sans-serif; /* 見出し：丸ゴシック */
  --hand: var(--maru); /* 手書きフォントは使わない（2026-09-20）。手作り感は線・テープ・イラストで出す */
  --line: color-mix(in srgb, var(--ink) 16%, transparent);
  --radius: 16px;
  --gutter: 22px;
  font-family: var(--sans); color: var(--ink); background: var(--paper);
}
* { box-sizing: border-box; }
body { margin: 0; line-height: 1.9; background-image: url("data:image/png;base64,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"); }
h1, h2, h3, h4, p, ul, ol, dl, dd, figure { margin: 0; }
a { color: var(--accent); }
em { font-style: normal; color: var(--accent); }
.skip-link { position: fixed; z-index: 60; left: 12px; top: -100px; padding: 10px 16px; background: var(--paper); color: var(--ink); }
.skip-link:focus { top: 8px; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }

/* マーカー風の強調 */
.mk { background: linear-gradient(transparent 62%, var(--yellow) 62%, var(--yellow) 92%, transparent 92%); padding: 0 .1em; }
.mk-pink { background: linear-gradient(transparent 62%, var(--pink) 62%, var(--pink) 92%, transparent 92%); padding: 0 .1em; }


/* ---------- 手が加わった痕跡（手書きフォントの代わり） ---------- */
.hand-under { display: inline; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'%3E%3Cpath d='M2 8 C 30 4, 60 10, 90 6 S 150 9, 198 5' fill='none' stroke='%23FBEFC6' stroke-width='7' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat left 88% / 100% 9px; padding: 0 .12em 3px; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.tape { position: relative; }
.tape::before { content: ""; position: absolute; left: 50%; top: -12px; width: 96px; height: 24px; transform: translateX(-50%) rotate(-3deg); background: color-mix(in srgb, var(--accent-soft) 85%, transparent); border-left: 2px dashed rgba(255,255,255,.7); border-right: 2px dashed rgba(255,255,255,.7); opacity: .9; }
.tilt-l { transform: rotate(-.6deg); }
.tilt-r { transform: rotate(.5deg); }

/* ヘッダー・フッター */
.site-header { background: var(--paper-2); border-bottom: 2px dashed var(--line); }
.site-header .inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; max-width: 1080px; margin: 0 auto; padding: 14px var(--gutter); }
.site-logo { color: var(--ink); text-decoration: none; font: 700 16px/1.4 var(--maru); letter-spacing: -.01em; white-space: nowrap; }
.site-logo small { display: block; font: 700 11px/1.4 var(--sans); color: var(--accent); letter-spacing: .04em; }
.site-nav { display: flex; gap: 14px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.site-nav a { color: var(--ink); text-decoration: none; padding: 6px 12px; border-radius: 999px; background: var(--accent-soft); }
.pr-bar { margin: 0; padding: 8px var(--gutter); font: 500 12px/1.6 var(--sans); background: var(--yellow); text-align: center; }
.site-footer { margin-top: 56px; padding: 32px var(--gutter) 44px; font-size: 12px; background: var(--paper-2); border-top: 2px dashed var(--line); }
.site-footer .inner { max-width: 1080px; margin: 0 auto; }
.footer-nav { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-bottom: 14px; font-weight: 700; }
.footer-nav a { color: var(--ink); text-decoration: none; }
.footer-note { opacity: .8; line-height: 1.8; }

/* 共通レイアウト */
main { max-width: 1080px; margin: 0 auto; padding: 0 var(--gutter); }
.section { padding: 44px 0; position: relative; }
.section + .section::before { content: ""; display: block; height: 10px; margin: -44px 0 44px; background: radial-gradient(circle at 5px 5px, var(--line) 2px, transparent 2.5px) 0 0 / 14px 10px repeat-x; opacity: .9; }
.eyebrow { display: inline-block; font: 700 13px/1.5 var(--sans); color: var(--accent); margin-bottom: 12px; letter-spacing: .06em; padding: 4px 12px; border: 2px dashed var(--accent-soft); border-radius: 999px; }
.section-title { font: 700 clamp(23px, 6.2vw, 30px)/1.5 var(--maru); letter-spacing: -.01em; margin-bottom: 18px; }
.section-title .soft { display: block; font: 700 clamp(15px, 4.2vw, 18px)/1.6 var(--sans); letter-spacing: .02em; margin-bottom: 2px; color: var(--accent); }
.lead { font-size: 16px; margin-bottom: 20px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 12px 26px; border: 2px solid var(--accent); border-radius: 999px; background: var(--accent); color: var(--button-ink); font: 700 16px/1.4 var(--maru); text-decoration: none; box-shadow: 0 4px 0 color-mix(in srgb, var(--accent) 60%, #000 10%); }
.btn.ghost { background: var(--paper-2); color: var(--accent); box-shadow: none; }
.btn-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }

/* トップ：ヒーロー */
.hero { padding: 36px 0 40px; }
.hero h1 { font: 700 clamp(28px, 8vw, 42px)/1.4 var(--maru); letter-spacing: -.02em; margin-bottom: 16px; }
.hero h1 em { display: block; }
.hero p { font-size: 16px; }
.hero-illust { margin: 22px auto 0; max-width: 480px; }
.hero-illust img { display: block; width: 100%; height: auto; }

/* トップ：悩み別カード */
.card-grid { display: grid; grid-template-columns: 1fr; gap: 14px; list-style: none; padding: 0; }
.card { display: block; position: relative; padding: 20px 20px 18px; border: 2px solid var(--line); border-radius: var(--radius); background: var(--paper-2); color: var(--ink); text-decoration: none; box-shadow: 0 3px 0 var(--line); }
.card strong { display: block; position: relative; padding-left: 18px; font: 700 18px/1.5 var(--maru); margin-bottom: 4px; }
.card strong::before { content: ""; position: absolute; left: 0; top: .62em; width: 9px; height: 9px; border-radius: 50%; background: var(--pink); border: 1.5px solid var(--ink); }
.card span { display: block; font-size: 13px; opacity: .9; }
.card .tag { display: inline-block; margin-top: 10px; padding: 3px 10px; border-radius: 999px; background: var(--accent-soft); font-size: 11px; font-weight: 700; color: var(--accent); }
.card.is-soon { background: transparent; box-shadow: none; border-style: dashed; opacity: .7; }
.card.is-soon strong::before { background: var(--line); border-color: transparent; }
.card.is-soon .tag { background: var(--yellow); color: var(--ink); }

/* トップ：困りごとリスト */
.check-list { list-style: none; padding: 0; display: grid; gap: 10px; }
.check-list li { position: relative; padding: 12px 16px 12px 44px; border-radius: 999px; background: var(--paper-2); font-weight: 700; font-size: 15px; }
.check-list li::before { content: ""; position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--accent); background: var(--accent-soft); }
.check-list li::after { content: ""; position: absolute; left: 20px; top: 50%; width: 5px; height: 9px; border-right: 2px solid var(--accent); border-bottom: 2px solid var(--accent); transform: translateY(-65%) rotate(45deg); }

/* トップ：相談サービス */
.service-card { padding: 24px 22px; border: 2px solid var(--accent-soft); border-radius: var(--radius); background: var(--paper-2); }
.service-card h3 { font: 700 20px/1.5 var(--maru); margin-bottom: 8px; }
.service-card p { font-size: 14px; }
.service-card .meta { margin: 12px 0 0; font-size: 13px; font-weight: 700; }
.service-illust { margin: 0 0 14px; }
.service-illust img { display: block; width: 100%; max-width: 420px; height: auto; margin: 0 auto; }

/* トップ：このサイトについて */
.about-row { display: flex; gap: 16px; align-items: flex-start; padding: 22px 20px 18px; border-radius: 4px; background: var(--yellow); transform: rotate(-.6deg); box-shadow: 2px 3px 0 rgba(43,58,72,.08); }
.about-avatar { flex: 0 0 72px; width: 72px; height: 72px; }
.about-avatar img { display: block; width: 100%; height: 100%; }

/* 記事・固定ページ */
.article { max-width: 720px; }
.article h1 { font: 700 clamp(25px, 6.6vw, 34px)/1.5 var(--maru); letter-spacing: -.01em; margin: 28px 0 12px; }
.article .date { font-size: 12px; opacity: .75; margin-bottom: 26px; }
.article h2 { font: 700 clamp(19px, 5.4vw, 23px)/1.5 var(--maru); margin: 40px 0 12px; padding: 8px 14px; border-left: 6px solid var(--accent-soft); border-radius: 6px; background: var(--paper-2); }
.article h3 { font: 700 17px/1.6 var(--maru); margin: 24px 0 8px; color: var(--accent); }
.article p { margin-bottom: 14px; font-size: 16px; }
.article ul, .article ol { margin: 0 0 14px; padding-left: 1.4em; }
.article li { margin-bottom: 6px; }
.article table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; margin-bottom: 16px; border: 2px solid var(--line); border-radius: 12px; overflow: hidden; }
.article th, .article td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
.article tr:last-child th, .article tr:last-child td { border-bottom: 0; }
.article th { font-weight: 700; white-space: nowrap; background: var(--paper-2); }
.article .note { padding: 14px 16px; border-radius: 12px; background: var(--yellow); font-size: 14px; margin-bottom: 16px; }

@media (min-width: 900px) {
  :root { --gutter: 40px; }
  .site-logo { font-size: 18px; }
  .site-nav { font-size: 14px; }
  .section { padding: 64px 0; }
  .section + .section::before { margin: -64px 0 64px; }
  .hero { padding: 64px 0; display: grid; grid-template-columns: 1.1fr .9fr; gap: 40px; align-items: center; }
  .hero-illust { margin: 0; max-width: none; }
  .card-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .check-list { grid-template-columns: 1fr 1fr; gap: 12px 24px; }
  .service-card { display: grid; grid-template-columns: 1fr 1.2fr; gap: 28px; align-items: center; padding: 28px; }
  .service-illust { margin: 0; }
  .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
}

/* ---------- 記事内CTA・関連記事・出典 ---------- */
.cta-box { margin: 32px 0; padding: 22px 20px; border-radius: var(--radius); border: 2px solid var(--accent-soft); background: var(--paper-2); text-align: center; }
.cta-box__lead { font-size: 15px; margin-bottom: 14px; }
.cta-box .btn { width: 100%; max-width: 420px; }
.cta-box__note { margin-top: 12px; font-size: 12px; opacity: .8; }
.related { margin-top: 40px; padding-top: 20px; border-top: 2px dashed var(--line); }
.related h2 { margin: 0 0 10px; padding: 0; border: 0; background: transparent; font-size: 17px; }
.related ul { list-style: none; padding: 0; margin: 0; }
.related li { padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.related a { color: var(--ink); text-decoration: none; }
.related a::before { content: "→ "; color: var(--accent); }
.article .sources { margin-top: 36px; font-size: 12px; line-height: 1.8; opacity: .85; }
.article .sources-heading { margin: 0 0 8px; padding: 0; border: 0; background: transparent; font-size: 13px; }
.article .source-list { margin: 0; padding-left: 1.4em; }
.article .source-list li { margin-bottom: 6px; scroll-margin-top: 90px; }
.article sup a { color: var(--accent); text-decoration: none; font-weight: 700; }

/* ---------- トップ：読みもの ---------- */
.post-list { list-style: none; padding: 0; display: grid; gap: 12px; }
.post-list a { display: block; padding: 16px 18px; border-radius: var(--radius); background: var(--paper-2); border: 2px solid var(--line); color: var(--ink); text-decoration: none; }
.post-list .post-cat { display: inline-block; margin-bottom: 6px; padding: 2px 10px; border-radius: 999px; background: var(--yellow); font-size: 11px; font-weight: 700; }
.post-list strong { display: block; font: 700 16px/1.6 var(--maru); margin-bottom: 4px; }
.post-list span:last-child { display: block; font-size: 13px; opacity: .85; }
@media (min-width: 900px) { .post-list { grid-template-columns: repeat(3, 1fr); gap: 16px; } }

/* ---------- 記事の器（2026-09-20 読みやすさ対応） ---------- */
.summary-box { margin: 0 0 28px; padding: 16px 18px 14px; border-radius: var(--radius); background: var(--paper-2); border: 2px solid var(--accent-soft); }
.summary-box__title { margin: 0 0 8px; font: 700 14px/1.5 var(--maru); color: var(--accent); }
.summary-box ul { margin: 0; padding: 0; list-style: none; }
.summary-box li { position: relative; padding: 4px 0 4px 22px; font-size: 14px; line-height: 1.8; }
.summary-box li::before { content: ""; position: absolute; left: 4px; top: 12px; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); }
.article .fig { margin: 4px 0 20px; }
.article .fig img { display: block; width: 100%; height: auto; border-radius: 12px; background: var(--paper-2); border: 2px solid var(--line); }
.article .fig figcaption { margin-top: 6px; font-size: 12px; opacity: .8; text-align: center; }
.point { display: flex; gap: 12px; align-items: flex-start; margin: 22px 0 8px; padding: 14px 16px; border-radius: 12px; background: var(--yellow); }
.point__label { flex: 0 0 auto; padding: 2px 10px; border-radius: 999px; background: var(--ink); color: #fff; font: 700 12px/1.6 var(--maru); }
.point p { margin: 0; font-size: 15px; font-weight: 700; line-height: 1.7; }
.balloon { display: flex; gap: 12px; align-items: flex-start; margin: 16px 0; }
.balloon__icon { flex: 0 0 52px; width: 52px; height: 52px; }
.balloon__text { margin: 0; position: relative; padding: 12px 16px; border-radius: 4px 16px 16px 16px; background: var(--paper-2); border: 2px solid var(--line); font-size: 15px; line-height: 1.8; }
.table-wrap { overflow-x: auto; margin: 0 0 16px; -webkit-overflow-scrolling: touch; }
.article table.cmp { min-width: 0; width: 100%; font-size: 13px; table-layout: fixed; }
.article table.cmp small { font-size: 11px; opacity: .8; }
.article table.cmp th { white-space: normal; }
.article table.cmp thead th { background: var(--accent-soft); font-size: 12px; }
.article table.cmp tbody th { width: 30%; padding-right: 6px; }
.article table.cmp th, .article table.cmp td { padding: 9px 8px; }
.article table.cmp tr.is-pick th, .article table.cmp tr.is-pick td { background: var(--yellow); }
.article h2 + .fig { margin-top: 14px; }
@media (min-width: 900px) { .article table.cmp { min-width: 0; font-size: 14px; } .article .fig { max-width: 560px; } }
