:root{
  --ink:#3d3a35;--sub:#7a7368;--sun:#f0a05a;--mint:#6faf97;--coral:#e89b7a;
  --cream:#fffaf3;--card:#fff;--line:#f0e4d6;--r:20px;--soft:#fff3e6
}
*{box-sizing:border-box}
body{margin:0;font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:var(--cream);line-height:1.9;font-size:16px}
a{color:#c56b3a}a:hover{color:var(--mint)}
.wrap{max-width:1120px;margin:auto;padding:0 20px}.narrow{max-width:780px}
.prbar{background:#fff0e0;color:var(--sub);font-size:12.5px;text-align:center;padding:6px 12px}.prbar a{margin-left:6px}
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.hd{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;flex-wrap:wrap}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink);font-weight:700;font-size:18px;letter-spacing:.03em}
.brand small{display:block;font-weight:400;font-size:11px;color:var(--sub);letter-spacing:0}
nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;font-size:13.5px}
nav a{text-decoration:none;color:var(--ink)}nav a:hover{color:var(--sun)}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff4e6,#ffe8d4 45%,#e8f6ef);padding:72px 0 88px}
.hero .wrap{position:relative;z-index:1}
.eyebrow{letter-spacing:.22em;font-size:12px;color:var(--coral);text-transform:uppercase}
.hero h1{font-size:clamp(26px,4.5vw,44px);line-height:1.45;margin:.2em 0 .5em;font-weight:700}
.hero p{max-width:560px;color:var(--sub)}
.blob{position:absolute;border-radius:50%;filter:blur(1px);opacity:.55}
.b1{width:360px;height:360px;right:-70px;top:-90px;background:radial-gradient(circle at 30% 30%,#ffd4a8,#f0a05a)}
.b2{width:220px;height:220px;right:200px;bottom:-100px;background:radial-gradient(circle,#c8e6d8,#6faf97)}
.btn{display:inline-block;background:linear-gradient(135deg,var(--sun),var(--coral));color:#fff;text-decoration:none;padding:12px 28px;border-radius:999px;font-weight:700;box-shadow:0 6px 18px rgba(240,160,90,.28)}
.btn:hover{color:#fff;opacity:.92}
.sh{font-size:22px;margin:52px 0 18px;display:flex;align-items:center;gap:10px}
.sh:before{content:"";width:22px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--sun),var(--mint))}
.concept{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:8px 28px 20px;margin-top:-40px;position:relative;z-index:2;box-shadow:0 10px 30px rgba(180,120,70,.08)}
.concept .sh{margin-top:28px}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.cols h3{font-size:16px;color:var(--coral)}.cols ul{padding-left:1.2em;margin:0}
.more{text-align:right;font-size:14px}
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cat{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;text-decoration:none;color:var(--ink);border-top:5px solid var(--sun);transition:.2s}
.cat span{display:block;font-size:13px;color:var(--sub);margin-top:6px;line-height:1.7}
.cat:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(180,120,70,.1)}
.cat em{display:block;font-style:normal;font-size:12.5px;color:var(--cc,var(--sun));margin-top:8px;font-weight:700}
.c-tips{--cc:#f0a05a}.c-goods{--cc:#e89b7a}.c-chiiku{--cc:#6faf97}.c-odekake{--cc:#7eb8c9}
.c-lifestyle{--cc:#c2a36f}.c-shokuiku{--cc:#d98c7a}.c-seasonal{--cc:#b89a6f}
.cat{border-top-color:var(--cc)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.card:hover{box-shadow:0 10px 26px rgba(180,120,70,.12)}
.thumb{height:118px;background:radial-gradient(circle at 25% 35%,rgba(255,255,255,.75) 0 18%,transparent 19%),radial-gradient(circle at 78% 70%,rgba(255,255,255,.45) 0 26%,transparent 27%),linear-gradient(135deg,var(--cc),#fff0e0)}
.cb{padding:16px 18px 20px}
.card h3{font-size:16.5px;line-height:1.6;margin:.4em 0}
.card h3 a{color:var(--ink);text-decoration:none}
.card p{font-size:13.5px;color:var(--sub);margin:0;line-height:1.75}
.tag{display:inline-block;font-size:12px;padding:2px 10px;border-radius:99px;background:#fff0e0;color:#b86a3a}
.rankbox{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:8px 8px 16px;margin:8px 0 28px;box-shadow:0 8px 22px rgba(180,120,70,.06)}
.rankbox .rh{display:flex;align-items:center;gap:10px;padding:12px 16px 6px;font-weight:700;font-size:18px}
.rankbox .rh span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--sun),var(--coral));color:#fff;font-size:13px}
.ranklist{list-style:none;margin:0;padding:0}
.ranklist li{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-top:1px dashed var(--line)}
.ranklist .num{flex:0 0 28px;height:28px;border-radius:50%;background:var(--soft);color:var(--coral);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:13px}
.ranklist a{color:var(--ink);text-decoration:none;font-weight:700}
.ranklist p{margin:4px 0 0;font-size:13px;color:var(--sub);line-height:1.6}
.crumb{font-size:13px;color:var(--sub);margin:22px 0}.crumb a{color:var(--sub)}
.post{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:36px clamp(20px,5vw,48px);margin:24px 0}
.post h1{font-size:clamp(22px,3.4vw,30px);line-height:1.5;margin:.4em 0}
.post h2{font-size:20px;margin:2.2em 0 .8em;padding:10px 14px;background:linear-gradient(90deg,#fff3e6,transparent);border-left:5px solid var(--sun);border-radius:6px}
.meta{font-size:13px;color:var(--sub)}
.lead{font-size:15.5px;background:var(--soft);padding:14px 18px;border-radius:12px}
.toc{border:1px dashed #e8c9a8;border-radius:12px;padding:12px 22px;margin:24px 0;font-size:14.5px}
.toc a{color:var(--ink)}details.toc summary{font-weight:700;cursor:pointer;padding:4px 0}details.toc ol{margin:6px 0 4px}
.note{background:#eef7f2;border-radius:12px;padding:14px 20px;font-size:14px;margin-top:36px}.nt,.an{font-weight:700;margin:0 0 4px}
.author{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--r);padding:16px;margin:26px 0;background:#fff;font-size:14px}
.author .an{font-weight:700;margin:0 0 4px}.author p{margin:0;line-height:1.8}
.av{flex:0 0 56px;height:56px;border-radius:50%;background:radial-gradient(circle at 50% 40%,#ffe4a8 0 40%,#ffc978 41% 100%);display:flex;align-items:center;justify-content:center}
.av svg{width:40px;height:40px}
.info{border-collapse:collapse;width:100%;margin:20px 0;font-size:14.5px}
.info th,.info td{border:1px solid var(--line);padding:10px 14px;text-align:left}
.info th{background:#fff3e6;width:32%}
.formbox{text-align:center;background:var(--soft);padding:24px;border-radius:14px}
.ph{font-size:28px;margin:6px 0}.pd{color:var(--sub)}
.site-footer{background:#3d3a35;color:#efe4d6;margin-top:72px;padding:36px 0;font-size:13.5px}
.site-footer a{color:#ffd9b0}.fpr{background:rgba(255,255,255,.08);padding:12px 16px;border-radius:10px}
.flinks{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px 20px}.copy{opacity:.7}
.faq dt{font-weight:700;margin-top:14px;color:#a86a3a}.faq dd{margin:4px 0 0;padding-left:1.2em}
.ctx{background:var(--soft);border-radius:10px;padding:12px 16px;font-size:14.5px;margin-top:28px}
.box{border-radius:14px;padding:14px 20px;margin:22px 0;font-size:15px;line-height:1.85}
.box .bt{font-weight:700;margin:0 0 6px}.box ul{margin:0;padding-left:1.2em}.box p{margin:6px 0}
.learn{background:#fff3e6;border:2px solid #f0d0a8}.learn .bt::before{content:"✓ ";color:var(--sun)}
.point{background:#eef7f2;border-left:5px solid var(--mint)}.point .bt::before{content:"● ";color:var(--mint)}
.caution{background:#fff8ea;border:1px solid #f0d9a8}.caution .bt::before{content:"! ";color:#c58a1f}
.prline{font-size:12.5px;color:var(--sub);margin:4px 0 14px}
.prline span{display:inline-block;background:var(--sub);color:#fff;border-radius:4px;padding:0 6px;margin-right:6px;font-weight:700}
.chips{margin:34px 0}.chips p{font-weight:700;font-size:14px}
.chip{display:inline-block;margin:4px 6px 4px 0;padding:6px 14px;border-radius:99px;border:1px solid var(--cc,var(--line));color:var(--ink);text-decoration:none;font-size:13.5px}
.backcat{text-align:center;margin:24px 0}
.chead{display:flex;align-items:center;gap:18px;margin:6px 0 18px}
.icon-blob{width:88px;height:88px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ffe4a8,#ffd4b8);font-size:40px;flex:0 0 auto}
.greet{display:flex;align-items:center;gap:14px;margin-top:26px;max-width:520px}
.hero .bubble{position:relative;background:#fff;border-radius:16px;padding:12px 16px;margin:0;font-size:14.5px;line-height:1.7;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.hero .bubble::before{content:"";position:absolute;left:-8px;top:50%;margin-top:-8px;border:8px solid transparent;border-left:0;border-right-color:#fff}
@media(max-width:900px){.grid{grid-template-columns:1fr 1fr}.cats{grid-template-columns:1fr 1fr}.cols{grid-template-columns:1fr}}
@media(max-width:560px){
  .grid,.cats{grid-template-columns:1fr}
  nav ul{gap:2px 12px;font-size:12.5px;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap}
  .hero{padding:52px 0 72px}
  .post h1{font-size:22px}.post h2{font-size:19px}
  .ph{font-size:23px}.chead{gap:12px}.icon-blob{width:64px;height:64px;font-size:28px}
}
