/* =========================================================================
 *  たーね — WP独立フロント スタイル（SWELL非依存・脱AI感）
 *  色: 白ベース × 新芽グリーン(線と点) × やまぶき(amber) × アース
 *  body.tn-portal にスコープして既存テーマCSSとの衝突を抑える。
 * ========================================================================= */
.tn-portal{
  --bg:#fbfbf8; --surface:#fff; --surface-2:#f3f6f1;
  --ink:#27302b; --ink-2:#566159; --ink-3:#8a948c;
  --line:#e4e9e2; --line-2:#eef2ec;
  --green:#2e8b57; --green-d:#1f6b41; --green-bg:#e9f4ee; --green-l:#7cc29b;
  --accent:#dd8a2c; --accent-d:#b96f1c; --accent-bg:#fbf0df;
  --earth:#9c6b3f; --earth-bg:#f4ece2; --warn:#c9772a;
  --r:10px; --r-s:7px; --maxw:1100px;
  margin:0;background:var(--bg);color:var(--ink);
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",system-ui,sans-serif;
  font-size:14.5px;line-height:1.8;-webkit-font-smoothing:antialiased;
}
.tn-portal *{box-sizing:border-box}
.tn-portal a{color:inherit;text-decoration:none}
.tn-portal img{display:block;max-width:100%}
.tn-portal button{font-family:inherit;cursor:pointer;color:inherit}
.tn-portal input{font-family:inherit;font-size:14px}
.tn-portal main{display:block;max-width:var(--maxw);margin:0 auto}
.tn-portal .ico{width:1em;height:1em;display:inline-block;vertical-align:-.13em;flex:none}

/* ヘッダー */
.tn-appbar{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.tn-appbar .row{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:12px;padding:11px 16px}
.tn-brand{display:flex;align-items:center;gap:9px}
.tn-brand .mk{width:28px;height:28px;flex:none}
.tn-brand b{font-size:18px;letter-spacing:.04em;font-weight:800;color:var(--green-d)}
.tn-brand small{display:block;font-size:8.5px;letter-spacing:.18em;color:var(--ink-3);font-weight:700;margin-top:1px}
.tn-appbar .sp{flex:1}
.tn-nav{display:flex;gap:18px;font-size:13px;font-weight:700}
.tn-nav a{color:var(--ink-2)}.tn-nav a:hover{color:var(--green)}

/* フッター */
.tn-footer{border-top:1px solid var(--line);margin-top:34px;padding-top:22px;background:var(--surface)}
.tn-footer .inner{max-width:var(--maxw);margin:0 auto;padding:0 16px 16px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:flex-start}
.tn-footer .fb b{font-size:16px;color:var(--green-d);font-weight:800}
.tn-footer .fb small{color:var(--ink-3);font-size:12px}
.tn-footer .links{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;font-weight:700}
.tn-footer .links a{color:var(--ink-2)}.tn-footer .links a:hover{color:var(--green)}

/* 汎用 */
.wrap{padding:18px 16px}
.tn-bc{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px;color:var(--ink-3);margin:0 0 14px}
.tn-bc a{color:var(--ink-3)}.tn-bc a:hover{color:var(--green)}
.tn-bc .sep{opacity:.5}.tn-bc b{color:var(--ink-2);font-weight:700}
.h-sec{display:flex;align-items:center;gap:9px;margin:30px 2px 14px;padding-bottom:9px;border-bottom:1px solid var(--line)}
.h-sec h2{font-size:17px;margin:0;font-weight:800;letter-spacing:.01em;color:var(--ink)}
.h-sec .ic-h{display:flex;color:var(--green)}.h-sec .ic-h .ico{width:19px;height:19px}
.h-sec .more{margin-left:auto;font-size:12.5px;color:var(--ink-3);font-weight:700}
.h-sec .more:hover{color:var(--green)}
.muted{color:var(--ink-3)}
.notice{font-size:12px;color:var(--ink-2);background:#fff;border:1px solid var(--line);border-radius:var(--r-s);padding:11px 13px;margin:16px 2px 0;display:flex;gap:9px;align-items:flex-start;line-height:1.7}
.notice .nlabel{flex:none;font-size:10.5px;font-weight:800;color:var(--warn);border:1px solid #e6cdac;border-radius:4px;padding:1px 6px;letter-spacing:.04em}

/* ヒーロー */
.hero{position:relative;overflow:hidden;background:var(--surface);border-bottom:1px solid var(--line)}
.hero::before{content:"";position:absolute;right:-40px;top:-30px;width:230px;height:230px;border-radius:50%;background:var(--green-bg);opacity:.6}
.hero .in{position:relative;max-width:660px;padding:34px 18px 30px}
.hero h1{font-size:25px;line-height:1.55;margin:0 0 10px;font-weight:800;letter-spacing:.01em;color:var(--green-d)}
.hero p{margin:0;font-size:13.5px;color:var(--ink-2)}
.bigsearch{margin-top:18px;display:flex;background:#fff;border-radius:var(--r-s);overflow:hidden;border:1px solid var(--line)}
.bigsearch input{flex:1;border:0;outline:0;padding:14px 16px;font-size:15px;color:var(--ink);min-width:0}
.bigsearch button{border:0;background:var(--green);color:#fff;font-weight:800;padding:0 22px;font-size:14px;letter-spacing:.04em}
.bigsearch button:hover{background:var(--green-d)}

/* タイル */
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.tile{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 16px}
.tile:hover{border-color:var(--green);background:#fcfefc}
.tile .ic{width:46px;height:46px;flex:none;display:grid;place-items:center;border:1px solid var(--green-l);border-radius:12px;color:var(--green)}
.tile .ic .ico{width:24px;height:24px}
.tile .tx{flex:1;min-width:0}
.tile .tx b{display:block;font-size:16px;font-weight:800;color:var(--ink)}
.tile .tx small{display:block;font-size:11.5px;color:var(--ink-3);margin-top:2px;line-height:1.5}
.tile .n{flex:none;font-size:18px;font-weight:800;color:var(--green);font-variant-numeric:tabular-nums}
.tile .n::after{content:"件";font-size:10px;color:var(--ink-3);font-weight:700;margin-left:1px}

/* 特集カード */
.ccards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ccard{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:13px 14px}
.ccard:hover{border-color:var(--accent);background:#fffdf9}
.ccard .ic{width:38px;height:38px;flex:none;display:grid;place-items:center;border:1px solid #ecd3a8;border-radius:10px;color:var(--accent-d);background:var(--accent-bg)}
.ccard .ic .ico{width:20px;height:20px}
.ccard .tx{min-width:0}
.ccard .tx b{display:block;font-size:13.5px;font-weight:800;color:var(--ink);line-height:1.4}
.ccard .tx small{font-size:11px;color:var(--ink-3);font-weight:700}

/* チップ */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700;color:var(--ink-2)}
.chip:hover{border-color:var(--green);color:var(--green)}
.chip .gic{display:flex;color:var(--green-l)}.chip .gic .ico{width:15px;height:15px}
.chip:hover .gic{color:var(--green)}
.chip .n{font-size:11px;color:var(--ink-3);font-weight:700}

/* エリア（地方別リスト） */
.arealist{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.areacol{border:1px solid var(--line);border-radius:var(--r-s);background:#fff;padding:11px 13px}
.areacol .rhead{display:inline-block;background:var(--green);color:#fff;border-radius:6px;padding:2px 9px;font-size:11.5px;font-weight:800;margin-bottom:8px}
.areacol .pns{display:flex;flex-wrap:wrap;gap:3px 10px}
.areacol .pn{font-size:11.5px;color:var(--ink-3);line-height:1.7;white-space:nowrap}
.areacol .pn.on{color:var(--ink-2);font-weight:700;display:inline-flex;align-items:baseline;gap:2px}
.areacol .pn.on:hover{color:var(--accent-d);text-decoration:underline;text-underline-offset:2px}
.areacol .pn.on i{font-style:normal;font-size:9.5px;font-weight:700;color:var(--ink-3)}

/* アーカイブ編集文 */
.lead{font-size:15px;line-height:2;color:var(--ink-2);margin:0 2px 18px}
.points{list-style:none;margin:0 2px 18px;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px}
.points li{font-size:12.5px;font-weight:700;color:var(--ink-2);display:inline-flex;align-items:center;gap:5px}
.points li .ico{color:var(--green);width:15px;height:15px}
.faq .qa{border-top:1px solid var(--line);background:#fff}
.faq .qa:last-child{border-bottom:1px solid var(--line)}
.faq .qa summary{padding:13px 4px;font-weight:700;font-size:13.5px;cursor:pointer;list-style:none;position:relative}
.faq .qa summary::after{content:"＋";position:absolute;right:6px;color:var(--ink-3)}
.faq .qa[open] summary::after{content:"－"}
.faq .qa>div{padding:0 4px 14px;font-size:13px;color:var(--ink-2);line-height:1.9}

/* 結果カード */
.wlist{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.wrow{display:flex;gap:14px;padding:16px 15px;border-top:1px solid var(--line-2)}
.wrow:first-child{border-top:0}
.wrow:hover{background:#fcfdfb}
.wrow .thumb{width:148px;height:118px;border-radius:var(--r-s);flex:none;overflow:hidden;position:relative;background:var(--green-bg);display:grid;place-items:center;color:var(--green-l)}
.wrow .thumb img{width:100%;height:100%;object-fit:cover}
.wrow .thumb .ph .ico{width:40px;height:40px}
.wrow .thumb .rec{position:absolute;left:6px;top:6px;font-size:9.5px;font-weight:800;color:var(--accent-d);background:#fff;border:1px solid #ecd3a8;border-radius:4px;padding:1px 6px}
.wrow .body{flex:1;min-width:0}
.wrow h3{margin:0 0 4px;font-size:15.5px;font-weight:800;line-height:1.4}
.wrow h3 a:hover{color:var(--green);text-decoration:underline;text-underline-offset:2px}
.wrow .loc{font-size:12px;color:var(--ink-3);margin-bottom:6px;display:flex;align-items:center;gap:3px;flex-wrap:wrap}
.wrow .loc .ico{width:13px;height:13px}
.wrow .loc .bull{margin:0 4px;opacity:.5}
.kindrow{display:flex;gap:6px;margin-bottom:7px;flex-wrap:wrap}
.kind{font-size:11px;font-weight:700;color:var(--green-d);background:var(--green-bg);border:1px solid #cfe5d8;border-radius:4px;padding:2px 8px}
.kind.sub{color:var(--ink-2);background:#fff;border-color:var(--line)}
a.kind:hover{border-color:var(--green);color:var(--green)}
.kindrow.on-hero .kind{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.4);color:#fff}
.kindrow.on-hero .kind.sub{background:transparent;color:#e7f3ec}
.wrow .sum{font-size:12.5px;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px}
.tagrow{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.tag{font-size:11px;color:var(--ink-2);background:#fff;border:1px solid var(--line);border-radius:4px;padding:2px 8px}
.tag.tg-green{color:var(--green-d);border-color:#cfe5d8}
.tag.tg-gold{color:var(--accent-d);border-color:#ecd3a8}
.tag.tg-earth{color:var(--earth);border-color:#e2d2bf}
a.tag:hover{border-color:var(--green);color:var(--green)}
.amen{display:flex;flex-wrap:wrap;gap:6px}
.pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;border-radius:4px;padding:2px 8px;border:1px solid var(--line);color:var(--ink-3)}
.pill .ico{width:13px;height:13px}
.pill.ok{color:var(--green-d);border-color:#cfe5d8;background:var(--green-bg)}
.pill.mid{color:var(--ink-2)}
.empty{padding:50px 20px;text-align:center;color:var(--ink-3)}

/* 個別ページ */
.dhero{position:relative;background:linear-gradient(135deg,#1f6b41,#2e8b57);min-height:188px;display:flex;align-items:flex-end;overflow:hidden}
.dhero .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,40,24,.05) 30%,rgba(15,40,24,.55))}
.dhero .hero-ic{position:absolute;right:-10px;bottom:-20px;color:rgba(255,255,255,.16)}
.dhero .hero-ic .ico{width:200px;height:200px}
.dhero .in{position:relative;z-index:2;color:#fff;padding:18px 16px;max-width:var(--maxw);margin:0 auto;width:100%}
.dhero .area{font-size:11.5px;color:#d5ebde;font-weight:700;letter-spacing:.04em;margin-bottom:5px}
.dhero h1{margin:0 0 8px;font-size:23px;font-weight:800;letter-spacing:.01em}
.dwrap{padding:16px;max-width:var(--maxw);margin:0 auto}
.tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:18px}
.tab{padding:11px 16px;font-size:14px;font-weight:800;color:var(--ink-3);border:0;background:transparent;border-bottom:2px solid transparent;margin-bottom:-1px}
.tab.on{color:var(--green-d);border-bottom-color:var(--green)}
.firstbottle{background:#fff;border:1px solid var(--line);border-left:2px solid var(--accent);border-radius:var(--r-s);padding:14px 18px;margin-bottom:16px}
.firstbottle .fb-badge{font-size:11.5px;letter-spacing:.04em;font-weight:800;color:var(--accent-d);display:inline-flex;align-items:center;gap:5px}
.firstbottle .fb-badge .ico{width:15px;height:15px}
.firstbottle p{margin:5px 0 0;font-size:13.5px;color:var(--ink);line-height:1.9}
.amen-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid var(--line);border-radius:var(--r-s);overflow:hidden;margin-bottom:18px}
.amen-grid .a{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#fff;border-top:1px solid var(--line-2);border-left:1px solid var(--line-2)}
.amen-grid .a:nth-child(-n+2){border-top:0}
.amen-grid .a:nth-child(odd){border-left:0}
.amen-grid .a .ic{display:flex;color:var(--green)}
.amen-grid .a .ic .ico{width:21px;height:21px}
.amen-grid .a.off{color:var(--ink-3)}.amen-grid .a.off .ic{color:var(--ink-3)}
.amen-grid .a b{display:block;font-size:13px}
.amen-grid .a small{font-size:11px;color:var(--ink-3)}
.itable{border:1px solid var(--line);border-radius:var(--r-s);overflow:hidden;background:#fff}
.irow{display:flex;border-top:1px solid var(--line-2);font-size:13.5px}
.irow:first-child{border-top:0}
.irow .k{width:108px;flex:none;background:var(--surface-2);color:var(--ink-3);font-weight:700;font-size:12.5px;padding:11px 13px}
.irow .v{flex:1;padding:11px 14px}
.irow .v a{color:var(--green);font-weight:700}
.irow .v a:hover{text-decoration:underline;text-underline-offset:2px}
.irow .v .tag{margin:0 4px 4px 0;display:inline-block}
.dsum{font-size:14px;line-height:1.95;margin:16px 2px}
.gmap{width:100%;height:300px;border:1px solid var(--line);border-radius:var(--r-s);display:block}
.cta{display:flex;gap:10px;margin:18px 0 6px}
.cta a{flex:1;text-align:center;padding:13px;border-radius:var(--r-s);font-weight:800;font-size:14px}
.cta .pri{background:var(--green);color:#fff}.cta .pri:hover{background:var(--green-d)}
.cta .sec{background:#fff;border:1px solid var(--accent);color:var(--accent-d)}
.foot-note{font-size:11.5px;color:var(--ink-3);margin:10px 2px}
.lineup .it{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:var(--r-s);padding:12px 14px;margin-bottom:10px;background:#fff}
.lineup .it .bdg{width:38px;height:38px;border-radius:var(--r-s);flex:none;display:grid;place-items:center;color:#fff;background:var(--green)}
.lineup .it .bdg .ico{width:20px;height:20px}
.lineup .it .m{flex:1;min-width:0}.lineup .it .m b{font-size:14px;display:block}.lineup .it .m small{font-size:11.5px;color:var(--ink-3)}
.lineup .it .gr{font-size:11px;color:var(--accent-d);background:var(--accent-bg);border:1px solid #ecd3a8;border-radius:999px;padding:2px 10px;white-space:nowrap;font-weight:700}

/* レスポンシブ */
@media (max-width:860px){
  .arealist{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:680px){
  .ccards{grid-template-columns:repeat(2,1fr)}
  .tn-nav{gap:13px;font-size:12px}
}
@media (max-width:560px){
  .tiles{grid-template-columns:1fr}
  .ccards{grid-template-columns:1fr}
  .arealist{grid-template-columns:1fr}
  .amen-grid{grid-template-columns:1fr 1fr}
  .wrow .thumb{width:104px;height:84px}.wrow h3{font-size:15px}
}
