:root{--bg: #f6f5f2;--surface: #ffffff;--text: #22251f;--sub: #6b6e67;--muted: #8a8d86;--faint: #9a9d95;--border: #e6e4de;--border-2: #e7e5df;--accent: #33566b;--green: #2e6b5e;--green-bg: #f4f7f5;--caution: #8a6d3f;--caution-bg: #faf7f0;--caution-border: #e3d9c8;--footer: #24262a;--footer-text: #c9cbc6;--container: 1140px;font-family:Zen Kaku Gothic New,system-ui,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--text);font-family:Zen Kaku Gothic New,system-ui,sans-serif}button,input{font:inherit}button{color:inherit}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.site-header{position:sticky;top:0;z-index:50;background:var(--surface);border-bottom:1px solid var(--border-2)}.header-top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;max-width:var(--container);margin:0 auto;padding:14px 16px 0;flex-wrap:wrap}.brand-button,.hero-title-button{border:0;background:transparent;padding:0;cursor:pointer;text-align:left}.brand-title{display:block;color:var(--text);font-family:Shippori Mincho,serif;font-size:26px;font-weight:700;letter-spacing:.14em;line-height:1}.brand-subtitle{display:block;margin-top:5px;color:var(--muted);font-size:10px;letter-spacing:.22em}.header-actions{display:flex;align-items:center;gap:8px;padding-bottom:10px}.search-field input{width:150px;border:1px solid #e0ded7;border-radius:20px;outline:none;background:var(--bg);color:var(--text);padding:7px 14px;font-size:12px}.outline-pill{border:1px solid var(--accent);border-radius:20px;background:var(--surface);color:var(--accent);padding:7px 14px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.nav-scroll{display:flex;gap:20px;max-width:var(--container);margin:0 auto;padding:0 16px;overflow-x:auto}.nav-link{flex:0 0 auto;border:0;border-bottom:2px solid transparent;background:transparent;color:#7c7f78;padding:11px 2px 13px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}.nav-link.is-active{color:var(--text);border-bottom-color:var(--accent);font-weight:700}.local-notice{position:fixed;right:18px;bottom:18px;z-index:90;max-width:min(360px,calc(100vw - 36px));border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--accent);padding:12px 16px;font-size:12px;font-weight:700}.hero{border-bottom:1px solid var(--border-2);background:var(--surface)}.hero-inner{display:flex;align-items:center;gap:36px;max-width:var(--container);margin:0 auto;padding:44px 16px 48px;flex-wrap:wrap}.hero-copy{flex:1 1 320px;min-width:280px}.section-kicker{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:.3em}h1,h2,h3{font-family:Shippori Mincho,serif}.hero h1{margin:0 0 16px;font-size:clamp(24px,4.6vw,36px);font-weight:600;line-height:1.5;text-wrap:pretty}.hero p{max-width:44em;margin:0 0 22px;color:#5c5f58;font-size:14px;line-height:2}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:24px;background:var(--accent);color:#fff;padding:12px 24px;font-size:13px;font-weight:700;letter-spacing:.08em;cursor:pointer}.secondary-button{background:var(--surface)!important;color:var(--accent)!important;border:1px solid var(--accent)!important}.photo-box{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:12px;background:repeating-linear-gradient(45deg,#edece7 0,#edece7 10px,#e4e3dd 10px,#e4e3dd 20px);color:#8b8d88}.photo-box span{max-width:88%;border-radius:4px;background:#ffffffe0;padding:4px 10px;color:#8b8d88;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;text-align:center}.photo-box--round{width:72px;height:72px;border-radius:50%;flex:0 0 auto}.hero-image{flex:1 1 360px;min-width:280px}.roadmap-section,.content-shell,.footer-inner,.footer-bottom{max-width:var(--container);margin:0 auto}.roadmap-section{padding:40px 16px 8px}.section-heading{margin-bottom:20px}.section-heading h2,.section-title-row h2,.category-section h2,.related-section h2{margin:6px 0 0;font-size:22px;font-weight:600}.step-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.step-card{display:grid;gap:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:22px 20px;text-align:left;cursor:pointer}.step-card:hover,.article-card:hover,.category-card:hover,.category-list-item:hover{border-color:var(--accent)}.step-num{color:var(--accent);font-family:Shippori Mincho,serif;font-size:13px;letter-spacing:.2em}.step-title,.article-card-title{color:var(--text);font-size:16px;font-weight:700}.step-desc{color:var(--sub);font-size:13px;line-height:1.9}.text-link,.text-button{color:var(--accent);font-size:12px;font-weight:700}.text-button{border:0;background:transparent;cursor:pointer}.content-shell{display:flex;align-items:flex-start;gap:36px;padding:32px 16px 56px;flex-wrap:wrap}.content-shell main{min-width:0;flex:1 1 600px}.section-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px}.article-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px 16px}.article-grid--related{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.article-card{display:block;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:0;text-align:left;cursor:pointer}.article-card-body{display:block;padding:14px 16px 16px}.badge-row{display:flex;align-items:center;gap:8px;margin-bottom:9px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;border-radius:3px;padding:3px 8px;color:var(--accent);background:#eef2f4;font-size:10px;font-weight:700;letter-spacing:.08em}.badge--muted{border:1px solid #dddbd4;background:transparent;color:var(--faint);font-size:9px}.badge--subtle{background:#f2f1ed;color:var(--muted)}.date-text,.article-meta,.breadcrumbs,.disclaimer,.category-list-copy small{color:var(--faint);font-size:11px}.article-card-title{display:block;line-height:1.7;text-wrap:pretty}.date-text{display:block;margin-top:10px}.category-section{margin-top:40px}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:16px}.category-card{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:16px 18px;text-align:left;cursor:pointer}.category-card strong,.category-card small{display:block}.category-card small{margin-top:4px;color:var(--faint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.16em}.category-count{color:var(--accent);font-size:12px;white-space:nowrap}.sidebar{display:grid;align-content:start;gap:20px;flex:1 1 300px;max-width:100%}.profile-card,.side-card{border:1px solid var(--border);border-radius:12px;background:var(--surface)}.profile-card{display:grid;justify-items:center;padding:22px;text-align:center}.profile-card strong{margin-top:12px;font-size:14px}.profile-card p{margin:6px 0 14px;color:var(--sub);font-size:12px;line-height:1.9}.side-card{padding:20px 20px 16px}.side-heading{margin-bottom:14px;font-family:Shippori Mincho,serif;font-size:16px;font-weight:600}.ranking-tabs{display:flex;gap:6px;margin-bottom:14px}.ranking-tabs button{flex:1;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--sub);padding:6px 0;font-size:11px;font-weight:700;cursor:pointer}.ranking-tabs button.is-selected{border-color:var(--accent);background:var(--accent);color:#fff}.ranking-list{display:grid;gap:2px}.ranking-item{display:flex;align-items:center;gap:12px;border:0;border-radius:8px;background:transparent;padding:9px 4px;text-align:left;cursor:pointer}.ranking-item:hover{background:var(--bg)}.ranking-item .photo-box{flex:0 0 58px;border-radius:6px}.ranking-item .photo-box span{display:none}.ranking-item>span:last-child{font-size:12px;font-weight:500;line-height:1.6}.rank-number{min-width:1.2em;color:var(--accent);font-family:Shippori Mincho,serif;font-size:17px;font-weight:600;text-align:center}.side-category-list{display:grid}.side-category-list button{display:flex;align-items:center;justify-content:space-between;border:0;border-bottom:1px solid #f0efe9;background:transparent;color:#3c3f38;padding:11px 2px;text-align:left;cursor:pointer}.side-category-list button:hover{color:var(--accent)}.side-category-list small{color:var(--faint)}.ad-slot{border:1px dashed #d8d6cf;border-radius:12px;padding:14px;text-align:center}.ad-slot>div:first-child{margin-bottom:10px;color:#b3b1a9;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;letter-spacing:.24em}.article-detail{border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:clamp(20px,4vw,44px)}.breadcrumbs{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}.breadcrumbs button{border:0;background:transparent;color:var(--faint);padding:0;font-size:11px;cursor:pointer}.pr-notice{margin-bottom:22px;border-radius:8px;background:var(--bg);color:var(--muted);padding:10px 14px;font-size:11px}.article-detail h1{margin:0 0 16px;font-size:clamp(22px,3.6vw,30px);font-weight:600;line-height:1.6;text-wrap:pretty}.article-meta{display:flex;align-items:center;gap:14px;margin-bottom:26px;flex-wrap:wrap}.author-chip{display:flex;align-items:center;gap:7px}.avatar-dot{display:inline-block;width:24px;height:24px;border-radius:50%;background:repeating-linear-gradient(45deg,#edece7 0,#edece7 6px,#e4e3dd 6px,#e4e3dd 12px)}.eyecatch{margin-bottom:28px}.toc{border:1px solid var(--border);border-radius:10px;padding:18px 22px;margin-bottom:32px}.toc ol{margin:12px 0 0;color:#3c3f38;font-size:13px;line-height:2.3;padding-left:20px}.article-detail p{margin:0 0 24px;color:#3c3f38;font-size:15px;line-height:2.2}.article-detail h2{margin:36px 0 16px;border-bottom:2px solid var(--accent);padding-bottom:10px;font-size:20px;font-weight:600}.article-list{margin:-8px 0 28px;padding-left:22px;color:#3c3f38;font-size:14px;line-height:2.1}.article-list li+li{margin-top:4px}.experience-note{border-radius:10px;background:var(--green-bg);padding:18px 22px;margin-bottom:28px}.experience-note strong{display:block;margin-bottom:8px;color:var(--green);font-size:12px}.experience-note p,.caution-box p{margin:0;font-size:13px;line-height:2}.product-card{display:flex;align-items:center;gap:18px;border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:28px;flex-wrap:wrap}.product-photo{flex:0 0 110px;border-radius:8px}.product-card h3{margin:0 0 4px;font-family:Zen Kaku Gothic New,system-ui,sans-serif;font-size:15px}.product-card p{margin-bottom:12px;color:var(--sub);font-size:12px;line-height:1.7}.product-label{margin-bottom:6px;color:var(--faint);font-size:10px;font-weight:700;letter-spacing:.1em}.button-row{display:flex;gap:8px;flex-wrap:wrap}.button-row button{border:0;border-radius:6px;background:var(--accent);color:#fff;padding:9px 18px;font-size:12px;font-weight:700;cursor:pointer}.caution-box{border:1px solid var(--caution-border);border-radius:10px;background:var(--caution-bg);padding:16px 20px;margin-bottom:32px}.caution-box--compact{margin-bottom:22px}.caution-box strong{display:block;margin-bottom:6px;color:var(--caution);font-size:12px}.disclaimer{border-top:1px solid var(--border);padding-top:20px;margin-bottom:28px;line-height:2}.author-footer{display:flex;align-items:center;gap:16px;border-radius:12px;background:var(--bg);padding:20px 22px;flex-wrap:wrap}.author-footer div:nth-child(2){flex:1 1 200px}.author-footer p{margin:4px 0 0;color:var(--sub);font-size:12px;line-height:1.9}.related-section{margin-top:36px}.category-hero-card{border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:28px 28px 24px;margin-bottom:24px}.category-hero-card h1{margin:8px 0 10px;font-size:26px;font-weight:600}.category-hero-card p{max-width:46em;margin:0 0 16px;color:var(--sub);font-size:13px;line-height:2}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.filter-chip{border:0;border-radius:16px;background:#f2f1ed;color:var(--sub);padding:6px 14px;font-size:11px;font-weight:700;cursor:pointer}.filter-chip.is-selected{background:var(--accent);color:#fff}.category-list{display:grid;gap:14px}.empty-state{border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--sub);padding:22px;font-size:13px;line-height:1.9}.category-list-item{display:flex;align-items:center;gap:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:14px;color:inherit;text-align:left;cursor:pointer}.category-thumb{flex:0 0 clamp(96px,24vw,150px);border-radius:8px}.category-list-copy{display:grid;min-width:0}.category-list-copy strong{line-height:1.7;text-wrap:pretty}.category-list-copy>span:not(.badge-row){display:-webkit-box;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.8;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pagination{display:flex;justify-content:center;gap:8px;margin-top:28px}.pagination span{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--sub);font-size:13px}.pagination .is-current{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:700}.about-page{max-width:820px;margin:0 auto;padding:48px 16px 24px}.about-intro{text-align:center;margin-bottom:36px}.about-photo{width:112px;height:112px;margin:0 auto 18px}.about-page h1{margin:10px 0;font-size:26px;font-weight:600}.about-intro p{color:var(--sub);font-size:13px}.about-page>p{margin:0 0 16px;color:#3c3f38;font-size:14px;line-height:2.2}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:36px 0 40px}.stat-card{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:18px 16px;text-align:center}.stat-card span,.stat-card strong{display:block}.stat-card span{color:var(--sub);font-size:12px;margin-bottom:6px}.stat-card strong{color:var(--accent);font-family:Shippori Mincho,serif;font-size:22px;font-weight:600}.about-page h2{margin:0 0 18px;font-size:20px;font-weight:600}.info-page h2{margin-top:34px;margin-bottom:10px}.policy-list{display:grid;gap:12px;margin-bottom:40px}.policy-card{display:flex;align-items:flex-start;gap:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:20px 22px}.policy-card>span{min-width:2em;color:var(--accent);font-family:Shippori Mincho,serif;font-size:15px}.policy-card strong{display:block;margin-bottom:6px;font-size:15px}.policy-card p{margin:0;color:var(--sub);font-size:13px;line-height:1.9}.ad-policy-box{border-radius:12px;background:#eef2f4;color:#4c5a63;padding:22px 24px;font-size:12px;line-height:2;margin-bottom:40px}.ad-policy-box strong{display:block;margin-bottom:6px;color:var(--accent);font-size:13px}.center-action{text-align:center;padding-bottom:24px}.site-footer{background:var(--footer);color:var(--footer-text)}.footer-inner{display:flex;gap:36px;padding:44px 16px 28px;flex-wrap:wrap}.footer-brand{flex:2 1 280px}.footer-brand .brand-title{color:#fff;font-size:22px}.footer-brand .brand-subtitle{color:#8f918c;margin:6px 0 16px}.footer-brand p{max-width:36em;color:#9c9e99;font-size:12px;line-height:2;margin:0}.footer-inner>div:not(.footer-brand){display:grid;align-content:start;gap:9px;flex:1 1 150px}.footer-inner strong{color:#fff;font-size:12px;margin-bottom:3px}.footer-inner button{border:0;background:transparent;color:#9c9e99;padding:0;text-align:left;font-size:12px;cursor:pointer}.footer-inner button:hover{color:#fff}.footer-bottom{border-top:1px solid #35373b;padding:18px 16px 24px}.footer-bottom p{color:#7c7e79;font-size:10px;line-height:1.9;margin:0 0 10px}.footer-bottom span{color:#7c7e79;font-size:11px}@media(max-width:760px){.header-top{align-items:flex-start}.header-actions{width:100%}.search-field{flex:1}.search-field input{width:100%}.hero-inner{padding-top:32px;gap:24px}.content-shell{gap:28px}.sidebar{flex-basis:100%}.category-list-item{align-items:flex-start}.category-list-copy>span:not(.badge-row){-webkit-line-clamp:3}}@media(max-width:520px){.brand-title{font-size:23px}.hero h1{font-size:25px}.section-title-row,.category-list-item,.product-card,.author-footer{align-items:stretch}.section-title-row,.category-list-item{flex-direction:column}.category-thumb{width:100%;flex-basis:auto}.product-photo{flex-basis:100%}}
