:root{--paper:#f7f5f0;--white:#fffefa;--ink:#262722;--muted:#777970;--line:#dedbd2;--accent:#a54d50;--green:#5f8170;--blue:#6d829c;--yellow:#b39b57;--pink:#b9798d;--orange:#bd8057;--purple:#85729d;--shadow:0 8px 28px #27251b0a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.65}a{color:inherit}.site-header{height:68px;padding:0 clamp(18px,5vw,76px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(247,245,240,.94)}.wordmark{text-decoration:none;display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:.13em;font-weight:500}.wordmark b{font-weight:800}.mini-rule{display:block;width:19px;height:2px;background:var(--accent)}.header-link{text-decoration:none;font-size:10px;letter-spacing:.16em;color:var(--muted)}.header-link span{color:var(--accent);font-size:15px;margin-left:5px}.hero{padding:clamp(44px,8vw,104px) clamp(20px,10vw,150px) 0;max-width:1500px;margin:auto}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:700;color:var(--muted);display:flex;align-items:center;gap:9px}.dot{width:7px;height:7px;background:var(--accent);border-radius:50%}.hero-kicker{font-size:clamp(10px,1.1vw,13px);letter-spacing:.3em;color:var(--accent);font-weight:700;margin:28px 0 4px}.hero h1{font-size:clamp(54px,11vw,144px);line-height:.88;letter-spacing:-.07em;margin:0;font-weight:850}.hero h1 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.075em;color:var(--accent)}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-top:clamp(30px,5vw,58px);padding-bottom:32px}.hero-bottom p{font-size:clamp(13px,1.6vw,17px);line-height:1.9;margin:0}.hero-count{text-align:right;display:flex;flex-direction:column;line-height:1}.hero-count strong{font-family:Georgia,serif;font-size:38px;font-weight:400}.hero-count span{font-size:9px;letter-spacing:.18em;color:var(--muted);margin-top:8px}.color-line{display:flex;gap:4px;height:4px;margin:0 calc(clamp(20px,10vw,150px)*-0.0) 0}.color-line i{height:4px;flex:1;opacity:.76}.color-line i:nth-child(1){background:#b64b4d}.color-line i:nth-child(2){background:#638b72}.color-line i:nth-child(3){background:#6c88b2}.color-line i:nth-child(4){background:#c2a34b}.color-line i:nth-child(5){background:#bf7f9a}.color-line i:nth-child(6){background:#c68a57}.color-line i:nth-child(7){background:#8875a8}.archive{max-width:1500px;margin:auto;padding:clamp(54px,8vw,100px) clamp(20px,7vw,100px) 100px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px;gap:15px}.section-head .eyebrow{margin:0 0 8px}.section-head h2{font-size:clamp(30px,4vw,44px);letter-spacing:-.055em;line-height:1.1;margin:0}.heading-period{color:var(--accent)}.section-note{font-size:9px;letter-spacing:.16em;color:var(--muted);white-space:nowrap}.search-panel{padding:18px;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow)}.search-wrap{height:52px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.search-icon{font-size:27px;color:var(--accent);line-height:1}.search-wrap input{border:0;outline:0;background:transparent;min-width:0;flex:1;font:inherit;font-size:14px;color:var(--ink)}.search-wrap input::placeholder{color:#999990}.clear-search{border:0;background:transparent;color:var(--muted);font-size:22px;cursor:pointer}.filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:18px}.filters label{display:flex;flex-direction:column;gap:5px}.filters label span,.filter-caption{font-size:10px;letter-spacing:.06em;color:var(--muted)}select{width:100%;border:1px solid var(--line);border-radius:0;background:#fffefa;padding:10px 28px 10px 10px;color:var(--ink);font:inherit;font-size:12px;min-width:0}.tag-filter{display:flex;align-items:flex-start;gap:14px;border-top:1px solid var(--line);margin-top:18px;padding-top:15px}.filter-caption{padding-top:7px;font-weight:800;letter-spacing:.15em}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{border:1px solid var(--line);background:transparent;border-radius:30px;padding:5px 10px;font:inherit;font-size:11px;color:#686960;cursor:pointer;max-width:100%}.chip.active{background:#eee7e0;border-color:#c8b8ab;color:#5a3d3e}.results-bar{display:flex;align-items:center;justify-content:space-between;margin:26px 0 16px;gap:12px}.results-bar p{font-size:12px;color:var(--muted);margin:0}.results-bar p strong{font-size:19px;color:var(--ink);font-weight:600;margin-right:5px}.text-button{background:none;border:0;padding:6px 0;font:inherit;font-size:11px;color:var(--muted);cursor:pointer;white-space:nowrap}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px}.article-card{min-width:0;background:var(--white);border:1px solid var(--line);transition:transform .2s,border-color .2s;display:flex;flex-direction:column}.article-card:hover{transform:translateY(-3px);border-color:#c6b9ac}.card-link{display:flex;flex-direction:column;height:100%;text-decoration:none}.card-image{aspect-ratio:16/10;background:#ebe7df;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}.article-card:hover .card-image img{transform:scale(1.025)}.image-placeholder{font-family:Georgia,serif;font-size:28px;letter-spacing:-.04em;color:#c2b9ab}.card-type{position:absolute;left:12px;top:12px;background:rgba(255,254,250,.94);padding:5px 8px;font-size:9px;letter-spacing:.06em}.card-body{padding:17px 17px 16px;display:flex;flex-direction:column;flex:1}.card-media{font-size:10px;letter-spacing:.04em;color:var(--accent);font-weight:700;margin-bottom:8px;overflow-wrap:anywhere}.card-title{font-size:15px;line-height:1.65;letter-spacing:-.025em;font-weight:700;margin:0 0 15px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto}.card-tag{font-size:10px;background:#f1eee7;color:#777166;padding:3px 7px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #eae7df;margin-top:15px;padding-top:11px;font-size:10px;color:var(--muted)}.card-arrow{color:var(--accent);font-size:16px}.empty-state{text-align:center;padding:70px 20px;border:1px dashed var(--line);background:#ffffff50}.empty-state>span{font-size:10px;letter-spacing:.2em;color:var(--accent)}.empty-state h3{margin:10px 0 4px;font-size:18px}.empty-state p{font-size:12px;color:var(--muted)}.load-error{padding:30px;text-align:center;color:var(--accent)}.site-footer{border-top:1px solid var(--line);padding:32px clamp(20px,7vw,100px) 28px;display:grid;grid-template-columns:1fr auto;gap:8px 20px;align-items:end}.footer-title{font-size:18px;font-weight:800;letter-spacing:-.04em}.footer-title em{font-family:Georgia,serif;color:var(--accent);font-weight:400}.site-footer p{font-size:10px;line-height:1.8;color:var(--muted);margin:0}.site-footer>span{grid-column:2;grid-row:1/3;font-size:9px;letter-spacing:.13em;color:var(--muted)}
@media(min-width:1200px){.article-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 20px}.card-body{padding:20px}.card-title{font-size:16px}}@media(max-width:800px){.article-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.archive{padding-top:58px}.hero{padding-top:56px}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.search-panel{padding:13px}.card-body{padding:13px}.card-title{font-size:13px}.card-media{font-size:9px}.card-type{left:8px;top:8px;font-size:8px}.section-note{display:none}}@media(max-width:420px){.site-header{height:58px}.hero h1{font-size:clamp(47px,13vw,60px)}.hero-bottom p{font-size:12px}.hero-count strong{font-size:30px}.article-grid{gap:10px}.card-image{aspect-ratio:4/3}.card-body{padding:10px}.card-title{font-size:12px;line-height:1.55;-webkit-line-clamp:4}.card-meta{font-size:9px}.card-tags{gap:4px}.card-tag{font-size:9px;padding:3px 5px}.tag-filter{gap:9px}.chip{font-size:10px;padding:5px 8px}.site-footer{grid-template-columns:1fr}.site-footer>span{grid-column:1;grid-row:auto;margin-top:8px}.hero-bottom{margin-top:25px}}