:root{--cream:#f2ead8;--ivory:#ece2ca;--paper:#f7f2e6;--ink:#1f1b15;--ink-soft:#3a3328;--forest:#2a3d2a;--moss:#4a5d3a;--rust:#b5532a;--rust-deep:#8f3f1d;--sun:#d9a441;--honey:#c48a3b;--stone:#8a7d64;--stone-soft:#a99c81;--line:#d8cdb0;--line-soft:#e4dbc4;--serif-jp:"Noto Serif JP",serif;--sans-jp:"Noto Sans JP",system-ui,sans-serif;--num:"Noto Sans JP",system-ui,sans-serif;--radius:4px;--radius-lg:10px;--shadow-sm:0 1px 3px rgba(40,30,10,.08),0 1px 2px rgba(40,30,10,.06);--shadow-md:0 8px 24px rgba(40,30,10,.10);--shadow-lg:0 24px 60px rgba(40,30,10,.16);--maxw:1240px}[data-theme=modern]{--bg:#f4f2ee;--bg-2:#ffffff;--surface:#ffffff;--surface-2:#f4f2ee;--text:#1c1a17;--text-2:#524d44;--text-3:#8d8579;--accent:#b5532a;--accent-2:#2a3d2a;--accent-ink:#ffffff;--brand-bar:#1c1a17;--hd-font:var(--sans-jp);--body-font:var(--sans-jp);--ui-font:var(--sans-jp);--card-bg:#ffffff;--hairline:#e6e2da}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--body-font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}::selection{background:var(--accent);color:var(--accent-ink)}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.kicker{font-size:11px;letter-spacing:.22em;color:var(--accent);font-weight:700}.eyebrow,.kicker{font-family:var(--ui-font);text-transform:uppercase}.eyebrow{font-size:12px;letter-spacing:.16em;color:var(--text-3)}.num{font-family:var(--num);font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hairline{height:1px;background:var(--hairline);border:0;margin:0}.clamp-2{-webkit-line-clamp:2}.clamp-2,.clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.clamp-3{-webkit-line-clamp:3}.cat-tech{--c:#3b6ea5}.cat-camp{--c:#4a5d3a}.cat-travel{--c:#b5532a}.cat-food{--c:#c48a3b}.cat-news{--c:#7a4b8f}.btn{font-family:var(--ui-font);font-weight:600;font-size:14px;border-radius:999px;padding:11px 22px;display:inline-flex;align-items:center;gap:8px;transition:.16s;border:1px solid transparent;line-height:1}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{filter:brightness(1.06);transform:translateY(-1px)}.btn-ghost{border-color:var(--hairline);color:var(--text);background:var(--surface)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.btn-sm{padding:7px 14px;font-size:13px}.tag{font-family:var(--ui-font);font-size:11px;letter-spacing:.06em;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--surface-2);color:var(--text-2);display:inline-flex;align-items:center;gap:6px}.tag .dot{width:7px;height:7px;border-radius:50%;background:var(--c,var(--accent))}.adslot{position:relative;background:repeating-linear-gradient(45deg,var(--surface-2) 0 10px,transparent 10px 20px);border:1px dashed var(--hairline);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--text-3);font-family:var(--ui-font);font-size:11px;letter-spacing:.14em;text-transform:uppercase;min-height:90px;overflow:hidden}.adslot:before{content:"AD · Google AdSense"}.adslot[data-label]:before{content:attr(data-label)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes fadeUp{0%{transform:translateY(8px)}to{transform:none}}.fade-up{animation:fadeUp .4s ease}.lift{transition:transform .18s,box-shadow .18s}.lift:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.brandbar{background:var(--brand-bar);color:var(--cream);height:30px;font-family:var(--ui-font);font-size:12px}.brandbar,.brandbar .wrap{display:flex;align-items:center}.brandbar .wrap{justify-content:space-between;width:100%}.brandbar a{color:var(--sun)}.mainnav{position:sticky;top:0;z-index:50;height:64px;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--hairline)}.mainnav .wrap{justify-content:space-between;height:100%;gap:20px}.lockup,.mainnav .wrap{display:flex;align-items:center}.lockup{gap:10px}.wordmark{font-family:var(--sans-jp);font-weight:900;font-size:24px;line-height:1;letter-spacing:-.01em}.wordmark .so{color:var(--accent)}.brand-sub{font-size:9px;letter-spacing:.12em;color:var(--text-3)}.topnav{display:flex;align-items:center;gap:22px;font-family:var(--ui-font);font-weight:600;font-size:15px}.topnav a{position:relative;padding:4px 0;color:var(--text-2);white-space:nowrap}.topnav a.active{color:var(--accent)}.topnav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--accent)}.iconbtn{width:38px;height:38px;border-radius:50%;border:1px solid var(--hairline);display:inline-flex;align-items:center;justify-content:center;background:var(--surface)}.langtoggle{background:none;color:var(--cream);font-family:var(--ui-font);font-size:12px;cursor:pointer}.hero{background:var(--bg-2);padding:56px 0 40px}.hero-lead{text-align:center;max-width:760px;margin:0 auto 36px}.hero-lead h1{font-family:var(--hd-font);font-weight:700;font-size:clamp(30px,4vw,46px);line-height:1.25;margin:10px 0 12px}.hero-lead p{color:var(--text-2);font-size:18px;line-height:1.7;margin:0}.hero-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:28px}.section{padding:40px 0}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px}.section-head h2{font-family:var(--hd-font);font-weight:700;font-size:26px;margin:0}.cat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.feed-grid{display:grid;grid-template-columns:1fr 320px;gap:28px}.feed-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.card{background:var(--card-bg);border:1px solid var(--hairline);border-radius:var(--radius-lg);overflow:hidden;transition:.18s;display:flex;flex-direction:column}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.card .body{padding:14px 16px 18px;display:flex;flex-direction:column;gap:8px}.card h3{font-family:var(--hd-font);font-weight:600;font-size:18.5px;line-height:1.4;margin:0}.card .meta{font-size:12px;color:var(--text-3)}.cover{aspect-ratio:16/9;background:var(--surface-2);position:relative}.cat-card{background:var(--card-bg);border:1px solid var(--hairline);border-radius:var(--radius-lg);overflow:hidden;transition:.18s}.cat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.cat-card .cover{aspect-ratio:auto;height:84px}.cat-card .body{padding:12px 14px}.rank-row{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--hairline)}.rank-row .n{font-family:var(--num);font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:26px;color:var(--accent);line-height:1}.rank-row h4{font-family:var(--hd-font);font-weight:600;font-size:15px;line-height:1.4;margin:0 0 4px}.sidebar-box{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:18px;margin-bottom:20px}.article-body{overflow-wrap:break-word}.page-lead{padding:50px 0 20px}.page-lead h1{font-family:var(--hd-font);font-weight:700;font-size:clamp(28px,3.4vw,42px);margin:8px 0 12px}@media (max-width:1080px){.article-layout,.feed-grid{grid-template-columns:1fr!important}.article-layout aside{position:static!important}.header-cta{display:none!important}}@media (max-width:860px){.hero-grid{grid-template-columns:1fr!important}.cat-grid{grid-template-columns:repeat(2,1fr)!important}.topnav{display:none!important}.footer-cols{grid-template-columns:1fr 1fr!important}}@media (max-width:680px){.wrap{padding-left:16px!important;padding-right:16px!important}.feed-cards{grid-template-columns:1fr!important}.cat-grid{grid-template-columns:repeat(2,1fr)!important}}@media (prefers-reduced-motion:reduce){.fade-up{animation:none}}