/* やめどき日和 — 生成り地 × くすみパステル。見出しは丸ゴシック、本文は端末の標準フォント */
:root{
  --bg:#fdf7ec; --bg2:#f9eedb; --card:#fffdf8; --ink:#4a3d33; --muted:#6e5f53; --line:#efe3d0;
  --link:#a14c31; --sun:#f8d98a; --sun-deep:#e2a948;
  --momo:#fde9e4; --momo-line:#f3c7bd; --momo-ink:#a3473a;
  --sora:#e5f1f8; --sora-line:#bcd9ea; --sora-ink:#336888;
  --wakaba:#eaf3e2; --wakaba-line:#c6dfb3; --wakaba-ink:#43702f;
  --kinari:#fdf1d3; --kinari-line:#efd596; --kinari-ink:#8c6410;
  --anzu:#fdeedf; --anzu-line:#f1cfa8; --anzu-ink:#9a5520;
  --fuji:#f0eaf7; --fuji-line:#d6cbea; --fuji-ink:#69539b;
  --na:#73665a; --r:22px; --r-s:14px;
  --measure:44rem; --wide:68rem;
  --maru:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Hiragino Sans",sans-serif;
  --shadow:0 2px 0 rgba(160,128,90,.08),0 8px 24px -14px rgba(120,90,60,.25);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;color-scheme:light;scroll-behavior:smooth;scroll-padding-top:12px}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.9 -apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;overflow-wrap:anywhere;
  background-image:radial-gradient(rgba(226,169,72,.10) 1.2px,transparent 1.4px);background-size:22px 22px}
a{color:var(--link);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--sora-line);outline-offset:2px;border-radius:6px}
.wrap{max-width:var(--measure);margin:0 auto;padding:0 16px}
.wrap.wide,header.site .wrap,.pr .wrap,footer.site .wrap{max-width:var(--wide)}
.ic{width:1.25em;height:1.25em;flex:none;vertical-align:-.25em}

/* ---- ヘッダー ---- */
header.site{background:var(--card);position:relative;padding-bottom:10px}
header.site::after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:12px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 12'%3E%3Cpath d='M0 0h40v4c-5 0-5 6-10 6S25 4 20 4 15 10 10 10 5 4 0 4z' fill='%23fffdf8'/%3E%3C/svg%3E") repeat-x;background-size:40px 12px}
header.site .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;padding-top:14px;padding-bottom:4px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}
.brand .logo{width:42px;height:42px;flex:none}
.brand-text{display:flex;flex-direction:column;line-height:1.35}
.brand-name{font-family:var(--maru);font-weight:700;font-size:1.4rem;letter-spacing:.06em}
.brand small{font-family:var(--maru);font-weight:500;font-size:.74rem;color:var(--muted);letter-spacing:.02em}
nav.main{display:flex;flex-wrap:wrap;gap:6px;font-family:var(--maru);font-weight:500;font-size:.88rem}
nav.main a{color:var(--ink);text-decoration:none;padding:5px 13px;border-radius:999px;background:var(--bg);border:1.5px solid var(--line);line-height:1.5}
nav.main a:hover{background:var(--kinari);border-color:var(--kinari-line)}
nav.main a[aria-current="page"]{background:var(--momo);border-color:var(--momo-line);color:var(--momo-ink)}

/* ---- PR表記（柔らかく、でも必ず見える） ---- */
.pr{font-size:.8rem;line-height:1.65;color:var(--muted);padding-top:20px}
.pr p{margin:0;background:rgba(255,253,248,.85);border:1.5px dashed var(--kinari-line);border-radius:var(--r-s);padding:8px 14px}
.pr strong{display:inline-block;font-family:var(--maru);background:var(--kinari);color:var(--kinari-ink);border:1px solid var(--kinari-line);border-radius:999px;padding:0 9px;margin-right:8px;font-size:.74rem;line-height:1.6}
.pr a{color:var(--muted)}

/* ---- パンくず ---- */
nav.crumbs{font-size:.8rem;color:var(--muted);margin:18px 0 0}
nav.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:nowrap;gap:2px 0}
nav.crumbs li{flex:none;margin:0}
nav.crumbs li+li::before{content:"›";margin:0 .5em;color:var(--na)}
nav.crumbs a{color:var(--muted)}
nav.crumbs li[aria-current]{flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---- 見出し・本文 ---- */
main{padding-bottom:56px}
h1,h2,h3{word-break:auto-phrase}
h1,h2,h3{font-family:var(--maru);font-weight:700;letter-spacing:.03em;color:var(--ink)}
h1{font-size:1.65rem;line-height:1.5;margin:.8em 0 .6em}
h2{font-size:1.28rem;line-height:1.55;margin:2.4em 0 .8em;display:flex;align-items:flex-start;gap:.45em}
h2::before{content:"";flex:none;width:1.35em;height:1.35em;margin-top:.05em;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.5v-8.2' stroke='%237aa862' stroke-width='1.8'/%3E%3Cpath d='M12 13.2C11.6 9 8.6 6.6 4.4 7c-.1 4 2.9 6.5 7.6 6.2z' fill='%23d6eac6' stroke='%237aa862' stroke-width='1.6'/%3E%3Cpath d='M12 11.6c.5-3.7 3.4-6 7.6-5.6.1 3.6-2.8 5.9-7.6 5.6z' fill='%23e3f0d6' stroke='%237aa862' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat}
h3{font-size:1.06rem;margin:1.8em 0 .5em}
h3::before{content:"";display:inline-block;width:.55em;height:.55em;border-radius:50%;background:var(--sun);box-shadow:0 0 0 3px var(--kinari);margin-right:.55em;vertical-align:.12em}
.card h3::before,.svc h3::before{content:none}
.post > h1{margin-top:.3em}
p,ul,ol,dl{margin:0 0 1.15em}
ul,ol{padding-left:1.4em}
li{margin:.3em 0}
li::marker{color:var(--sun-deep)}
.lead{font-size:1.02rem;color:var(--muted)}
.meta{font-size:.82rem;color:var(--muted)}
strong{font-weight:700}

/* ---- ボックス ---- */
.note{background:var(--card);border:1.5px solid var(--wakaba-line);border-radius:var(--r);padding:16px 20px;font-size:.92rem;margin:1.4em 0;box-shadow:var(--shadow)}
.note p:last-child,.note ul:last-child{margin-bottom:0}
.note > p:first-child strong{font-family:var(--maru);color:var(--wakaba-ink)}
.hotline{display:flex;gap:12px;align-items:flex-start;background:var(--sora);border:1.5px solid var(--sora-line);border-radius:var(--r);padding:16px 20px;font-size:.9rem;line-height:1.8;margin:2em 0}
.hotline .ic{color:var(--sora-ink);width:1.6em;height:1.6em;margin-top:.1em}
.hotline strong{font-family:var(--maru);color:var(--sora-ink)}
.empty{background:var(--card);border:1.5px dashed var(--line);border-radius:var(--r);padding:16px 20px;color:var(--muted);font-size:.92rem}

/* ---- トップ ---- */
.hero{position:relative;background:var(--card);border-radius:28px;padding:26px 22px 26px;margin:20px 0 18px;box-shadow:var(--shadow);overflow:hidden;border:1.5px solid var(--line)}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;z-index:0}
.hero::before{width:180px;height:180px;right:-60px;top:-70px;background:var(--momo)}
.hero::after{width:120px;height:120px;left:-40px;bottom:-56px;background:var(--wakaba)}
.hero > *{position:relative;z-index:1}
.hero-kicker{display:inline-block;font-family:var(--maru);font-weight:500;font-size:.82rem;color:var(--momo-ink);background:var(--momo);border-radius:999px;padding:2px 12px;margin:0 0 .4em}
.hero h1{margin:.2em 0 .5em;font-size:1.6rem}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--maru);font-weight:700;background:var(--link);color:#fff;text-decoration:none;border-radius:999px;padding:11px 22px;box-shadow:0 3px 0 #7c3923;margin-top:.2em}
.btn:hover{background:#8e4129}
.btn:active{transform:translateY(2px);box-shadow:0 1px 0 #7c3923}
.promise{list-style:none;padding:0;display:grid;gap:10px;margin:0 0 1.4em}
.promise li{display:flex;gap:12px;align-items:center;margin:0;padding:12px 16px;border-radius:var(--r-s);font-size:.84rem;color:var(--muted);line-height:1.55;border:1.5px solid}
.promise strong{display:block;font-family:var(--maru);font-size:.98rem;color:var(--ink)}
.promise .ic{width:1.9em;height:1.9em}
.cards{display:grid;gap:14px;margin:1.4em 0}
.card{display:block;position:relative;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);padding:18px 20px 16px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .15s ease}
.card:hover{transform:translateY(-2px)}
.card .ic{width:2.2em;height:2.2em;padding:.35em;border-radius:50%;margin-bottom:.3em}
.card h3,.card .card-t{margin:.1em 0 .35em;font-size:1.12rem;line-height:1.55;display:block}
.card .card-t::before{content:none}
.card p{margin:0 0 .6em;font-size:.88rem;color:var(--muted);line-height:1.8}
.card .more{font-family:var(--maru);font-weight:700;font-size:.86rem;color:var(--link)}
.card .more::after{content:" →"}
.article-list{list-style:none;padding:0}
.article-list{display:grid;gap:10px;margin:0 0 1.2em}
.article-list li{margin:0}
.article-list a{display:block;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-s);padding:12px 16px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow)}
.article-list a:hover{border-color:var(--momo-line)}
.al-t{display:block;font-family:var(--maru);font-weight:700;line-height:1.6}
.al-d{display:block;margin-top:4px;font-size:.84rem;line-height:1.75;color:var(--muted)}
.al-m{display:block;margin-top:4px;font-size:.74rem;color:var(--muted)}
.more-link{text-align:right;font-family:var(--maru);font-weight:700;font-size:.9rem}
.more-link a::after{content:" →"}

/* 色トーン（データの項目ごとに固定） */
.t-momo{--tb:var(--momo);--tl:var(--momo-line);--ti:var(--momo-ink)}
.t-sora{--tb:var(--sora);--tl:var(--sora-line);--ti:var(--sora-ink)}
.t-wakaba{--tb:var(--wakaba);--tl:var(--wakaba-line);--ti:var(--wakaba-ink)}
.t-kinari{--tb:var(--kinari);--tl:var(--kinari-line);--ti:var(--kinari-ink)}
.t-anzu{--tb:var(--anzu);--tl:var(--anzu-line);--ti:var(--anzu-ink)}
.t-fuji{--tb:var(--fuji);--tl:var(--fuji-line);--ti:var(--fuji-ink)}
.promise li[class*="t-"]{background:var(--tb);border-color:var(--tl)}
.promise li[class*="t-"] .ic,.card[class*="t-"] .ic{color:var(--ti)}
.card[class*="t-"] .ic{background:var(--tb)}
.card[class*="t-"]{border-top:5px solid var(--tl)}

/* ---- やめどきデータベース（カード） ---- */
.toc{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);padding:14px 16px 6px;margin:1.4em 0 1em}
.toc > p{margin:0 0 .5em;font-family:var(--maru);font-weight:700;font-size:.92rem}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 1em;padding:0;list-style:none}
.chips li{margin:0}
.chips a{display:inline-block;border:1.5px solid var(--momo-line);background:var(--momo);color:var(--ink);border-radius:999px;padding:3px 13px;text-decoration:none;font-size:.84rem;line-height:1.6}
.chips a:hover{background:var(--card)}
.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.78rem;color:var(--muted);margin:0 0 .4em}
.legend span{display:inline-flex;align-items:center;gap:4px}
.legend .ic{color:var(--ti);width:1.35em;height:1.35em}
.svc-list{display:grid;gap:22px;margin:1em 0 1.6em}
.svc{background:var(--card);border:1.5px solid var(--line);border-radius:26px;padding:18px 16px 16px;box-shadow:var(--shadow);scroll-margin-top:12px}
.svc-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:4px 12px;margin:0 0 12px;padding:0 4px 12px;border-bottom:2px dotted var(--line)}
.svc-head h2{margin:0;font-size:1.18rem;line-height:1.5;flex:1 1 100%;display:block}
.svc-head h2::before{content:none}
.svc-head p{margin:0;flex:1 1 auto;font-size:.82rem;color:var(--muted);line-height:1.6}
.svc-head .tgt{display:block}
.official{flex:none;align-self:center;font-family:var(--maru);font-weight:700;font-size:.8rem;text-decoration:none;border:1.5px solid var(--line);border-radius:999px;padding:3px 12px;background:var(--bg)}
.official::after{content:" ↗"}
.fields{display:grid;gap:10px;margin:0}
.fld{background:var(--tb);border:1.5px solid var(--tl);border-radius:var(--r-s);padding:10px 14px 11px}
.fld dt{display:flex;align-items:center;gap:6px;font-family:var(--maru);font-weight:700;font-size:.86rem;color:var(--ti);margin:0 0 4px}
.fld dt .ic{width:1.4em;height:1.4em}
.fld dd{margin:0;font-size:.88rem;line-height:1.8}
.fld.is-na{--ti:var(--na);background:repeating-linear-gradient(-45deg,#fbf6ee 0 8px,#f7f0e5 8px 16px);border:1.5px dashed #e4d6c3}
.na{display:inline-block;color:var(--na);font-family:var(--maru);font-weight:500}
.src{display:block;margin-top:6px;font-size:.72rem;line-height:1.6;color:var(--muted)}
.src a{color:var(--muted)}

/* ---- 運営者情報・お問い合わせ ---- */
.info{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);padding:6px 18px;margin:1.2em 0 1.6em;box-shadow:var(--shadow)}
.info div{display:grid;grid-template-columns:6.5em 1fr;gap:8px;padding:10px 0;border-bottom:1.5px dotted var(--line)}
.info div:last-child{border-bottom:0}
.info dt{font-family:var(--maru);font-weight:700;color:var(--muted);font-size:.9rem}
.info dd{margin:0}
.info .sub{display:block;font-size:.8rem;color:var(--muted);line-height:1.6}
.mailbox{display:flex;align-items:center;gap:10px;font-size:1.08rem;background:var(--card);border:1.5px solid var(--fuji-line);border-radius:var(--r);padding:14px 18px}
.mailbox .ic{color:var(--fuji-ink);width:1.5em;height:1.5em}

/* ---- フッター ---- */
footer.site{background:var(--bg2);font-size:.82rem;color:var(--muted);padding:30px 0 40px;border-radius:32px 32px 0 0}
footer.site .brand{margin-bottom:14px}
footer.site .brand .logo{width:34px;height:34px}
footer.site .brand-name{font-size:1.1rem}
footer.site nav{display:flex;flex-wrap:wrap;gap:4px 16px;margin-bottom:12px;font-family:var(--maru);font-weight:500}
footer.site a{color:var(--muted)}
footer.site .copy{margin:0;font-family:var(--maru)}
code{background:var(--bg2);padding:.05em .35em;border-radius:4px;font-size:.9em}

@media (max-width:420px){
  /* 狭い画面ではメニューを1行に収め、はみ出しは横スクロール（ファーストビューを本文に譲る） */
  nav.main{gap:5px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:100%;padding-bottom:2px}
  nav.main::-webkit-scrollbar{display:none}
  nav.main a{flex:none;padding:3px 11px;font-size:.84rem}
  .pr{padding-top:16px}
  .hero{margin-top:14px}
}
@media (min-width:640px){
  .post{background:var(--card);border:1.5px solid var(--line);border-radius:28px;padding:26px 34px 10px;margin:18px 0 0;box-shadow:var(--shadow)}
  .fields{grid-template-columns:1fr 1fr}
  .promise{grid-template-columns:repeat(3,1fr)}
  .promise li{flex-direction:column;align-items:flex-start;gap:6px}
  .svc{padding:22px 22px 20px}
  .svc-head h2{flex:0 1 auto}
}
@media (min-width:720px){
  body{font-size:17px}
  .cards{grid-template-columns:1fr 1fr}
  h1{font-size:1.95rem}
  .hero{padding:36px 36px 34px}
  .hero h1{font-size:2rem}
}
@media (min-width:1000px){
  .fields{grid-template-columns:repeat(3,1fr)}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card{transition:none}}
@media print{body{background:#fff}.pr p{border:1px solid #999}header.site nav,footer.site nav{display:none}.svc,.card,.note{box-shadow:none}}

/* ---- 記事本文の表・送客ボックス（2026-10-17 追加） ---- */
.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.2em 0 1.6em;border:1.5px solid var(--line);border-radius:var(--r);background:var(--card)}
.tbl table{border-collapse:collapse;width:100%;min-width:520px;font-size:.88rem;line-height:1.7}
.tbl th,.tbl td{padding:9px 12px;border-bottom:1.5px dotted var(--line);text-align:left;vertical-align:top}
.tbl thead th{font-family:var(--maru);font-weight:700;background:var(--kinari);white-space:nowrap}
.tbl tbody th{font-family:var(--maru);font-weight:700;white-space:nowrap}
.tbl tr:last-child td,.tbl tr:last-child th{border-bottom:0}
.tbl caption{caption-side:bottom;text-align:left;padding:8px 12px;font-size:.75rem;color:var(--muted)}
.cta-box{border-color:var(--momo-line,var(--line))}
.cta-box .pr-tag{display:inline-block;font-family:var(--maru);font-weight:700;font-size:.75rem;border:1.5px solid currentColor;border-radius:6px;padding:0 6px;margin-right:6px;color:var(--muted)}

/* ---- 記事の目次・関連記事・DBカードの記事リンク（2026-10-17 監査で追加） ---- */
.post-toc{background:var(--bg);border:1.5px solid var(--kinari-line);border-radius:var(--r-s);padding:12px 16px 4px;margin:1.2em 0 1.6em;font-size:.9rem;line-height:1.7}
.post-toc > p{margin:0 0 .3em;font-family:var(--maru);font-weight:700;color:var(--kinari-ink)}
.post-toc ol{margin:0 0 .6em;padding-left:1.3em}
.post-toc li{margin:.25em 0}
.post-toc a{color:var(--ink);text-decoration-color:var(--kinari-line)}
.post h2{scroll-margin-top:12px}
.related{margin-top:2em}
.related h2{font-size:1.12rem}
.svc-rel{margin-top:12px;padding:10px 14px 4px;border-top:2px dotted var(--line);font-size:.86rem}
.svc-rel > p{display:flex;align-items:center;gap:6px;margin:0 0 .2em;font-family:var(--maru);font-weight:700;color:var(--muted)}
.svc-rel ul{margin:0 0 .4em;padding-left:1.2em}
.btn.cta{max-width:100%;line-height:1.5;text-align:left}

/* ---- 記事冒頭の「要点」箱（いつまでに／いくら／何をする） ---- */
.keypoints{background:var(--card);border:1.5px solid var(--momo-line);border-radius:var(--r);padding:14px 18px 14px;margin:1.2em 0 1.5em;box-shadow:var(--shadow);font-size:.94rem;line-height:1.75}
.keypoints .kp-h{display:inline-block;margin:0 0 .6em;font-family:var(--maru);font-weight:700;font-size:.84rem;color:var(--momo-ink);background:var(--momo);border-radius:999px;padding:0 12px}
.keypoints dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:9px 12px;align-items:start}
.keypoints dt{font-family:var(--maru);font-weight:700;font-size:.8rem;line-height:1.7;white-space:nowrap;border-radius:999px;padding:1px 10px;border:1px solid;margin-top:.1em}
.keypoints dt:nth-of-type(1){background:var(--momo);border-color:var(--momo-line);color:var(--momo-ink)}
.keypoints dt:nth-of-type(2){background:var(--kinari);border-color:var(--kinari-line);color:var(--kinari-ink)}
.keypoints dt:nth-of-type(3){background:var(--wakaba);border-color:var(--wakaba-line);color:var(--wakaba-ink)}
.keypoints dd{margin:0}
@media (max-width:420px){.keypoints dl{grid-template-columns:1fr;gap:3px}.keypoints dt{justify-self:start;margin-top:8px}.keypoints dt:first-of-type{margin-top:0}}
