/* 2026-09-07: 既存の色と資料表示を継承する、読み物中心のデザイン。 */
:root{--content-width:72rem;--measure:45rem;--rule:#d6caba;--muted:#5c544a}
body{font-size:1.125rem;background-image:none;line-height:1.85;overflow-wrap:anywhere}
html{scroll-padding-top:1.5rem}
:focus-visible{outline:3px solid var(--ai);outline-offset:5px}
.skip-link{position:absolute;left:1rem;top:-8rem;z-index:10;background:var(--panel);padding:1rem}
.skip-link:focus{top:1rem}
.container,.header-inner,.footer-inner{max-width:var(--content-width)}
.container{padding-inline:1.5rem}
main.container{padding-top:2rem;padding-bottom:4rem}
.narrow{max-width:var(--measure)}
.site-header{border-bottom:1px solid var(--rule)}
.header-inner{padding:1.35rem 1.5rem;gap:1rem 2rem}
.brand{min-width:0;gap:.75rem}
.brand img{width:2.75rem;height:2.75rem;flex-shrink:0}
.brand-name{font-size:1.4rem;letter-spacing:.01em}
.brand-tag{font-size:.8125rem;line-height:1.6}
.gnav{display:block;margin-left:auto}
.gnav ul{display:flex;flex-direction:row;gap:.4rem 1.15rem;border:0;margin:0}
.gnav li{border:0}
.gnav a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;padding:.4rem 0}
h1{font-size:2.25rem}h2{font-size:1.625rem}h3{font-size:1.25rem}
.small,.article-meta,.breadcrumb,.image-disclosure{font-size:.875rem;line-height:1.8}
.lead{font-size:1.125rem;color:var(--ink)}
.btn{margin:0;min-height:48px;padding:.8rem 1.3rem;font-size:1rem;border-radius:3px;text-align:center;font-weight:600}
.btn-primary{box-shadow:none}.text-link{font-size:1rem;font-weight:600}
.home-page .feature-story{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,4vw,3.5rem);padding:1.5rem 0 3.5rem;border-bottom:1px solid var(--rule)}
.feature-visual{min-width:0;margin:0}
.feature-visual a{display:block}
.feature-visual img{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;object-position:50% 60%}
.feature-visual figcaption{font-size:.8125rem;color:var(--sub);margin-top:.5rem}
.eyebrow{font-size:.875rem;font-weight:700;color:var(--enji);letter-spacing:.08em;margin:0 0 1.2rem}
.eyebrow span{display:inline-block;margin-left:1rem;font-weight:400;color:var(--sub);letter-spacing:0}
.feature-copy{min-width:0}
.feature-copy h1{font-size:clamp(2rem,3.1vw,2.9rem);line-height:1.5;letter-spacing:.015em;margin:0 0 1.3rem}
.feature-copy h1 span{display:block;font-family:var(--sans);font-size:1rem;font-weight:500;letter-spacing:.025em;margin-top:1rem}
.feature-copy>p:not(.eyebrow){font-size:1rem;line-height:1.9;color:var(--sub);max-width:29rem}
.feature-actions{display:flex;align-items:center;gap:1rem 1.5rem;flex-wrap:wrap;margin-top:1.75rem}
.feature-actions .btn{display:flex;gap:1.5rem;align-items:center;justify-content:space-between}
.home-section{padding:3.2rem 0;border-bottom:1px solid var(--rule)}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.6rem}
.section-head h2{margin:0;border:0;padding:0;font-size:1.65rem}
.section-head>a{font-size:.875rem;flex-shrink:0}
.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 1.35rem}
.card{border:0;background:transparent;border-radius:0;min-width:0;box-shadow:none}
.card:hover{transform:none;box-shadow:none}
.card .thumb{aspect-ratio:8/5;transition:filter .18s ease}
.card:hover .thumb{filter:brightness(.95)}
.card:hover :is(h2,h3){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
.card .body{padding:1rem 0 0}
.card .era{background:transparent;border-radius:0;padding:0;font-size:.875rem;line-height:1.6}
.card :is(h2,h3){font-family:var(--serif);font-size:1.1875rem;line-height:1.6;margin:.4rem 0 .5rem;border:0;padding:0;color:var(--ink)}
.card p{font-size:.9375rem;line-height:1.8}
.image-disclosure{color:var(--sub);margin:1.3rem 0 0}
.browse-strip{padding:2.25rem 0;border-bottom:1px solid var(--rule);display:flex;gap:1rem 2rem;justify-content:space-between;align-items:center}
.browse-strip h2{font-size:1.35rem;border:0;padding:0;margin:0}
.browse-strip>div{display:flex;gap:.75rem 1.5rem;flex-wrap:wrap}
.browse-strip a{font-size:1rem;min-height:44px;display:inline-flex;align-items:center}
.taste-intro{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.taste-intro h2,.editorial-promise h2,.work-invitation h2{border:0;margin:0 0 1rem;padding:0}
.taste-intro .eyebrow{margin-bottom:.6rem}.taste-intro p{margin-bottom:.75rem}
.taste-intro .btn{flex-shrink:0}
.editorial-promise{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem}
.editorial-promise ul{list-style:none;margin:0}
.editorial-promise li{padding:.65rem 0;border-bottom:1px solid var(--rule);font-size:1rem}
.editorial-promise li:last-child{border:0}.editorial-promise a{font-size:1rem}
.work-invitation{display:flex;gap:1.5rem;align-items:center;justify-content:space-between;background:var(--brown);color:var(--panel);padding:2rem;margin-top:3rem}
.work-invitation h2{font-size:1.4rem;color:var(--panel);margin-bottom:.5rem}
.work-invitation p{font-size:.9375rem;margin:0}.work-invitation a{color:var(--panel);font-size:1rem;flex-shrink:0}
.site-footer{margin-top:0}.footer-inner{font-size:.875rem}
.narrow .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.narrow .related .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.kotae,.toc,.sources li,.kakunin,.panel,.taste{border-radius:3px}
.ad-note{border-radius:0;border:0;border-left:2px solid var(--rule);padding:.35rem .75rem}
.taste .ad-tag{background:#62584d;font-size:.8125rem}
.disabled-link{color:var(--sub)}
.sources .what,.tl-desc{font-size:.9375rem}.sources .kind,.tl-what,.tl-cert{font-size:.8125rem}
.article-jumps{display:flex;gap:.5rem 1.2rem;flex-wrap:wrap;margin:1.5rem 0;border-block:1px solid var(--rule);padding:.6rem 0}
.article-jumps a{font-size:.9375rem;min-height:44px;display:inline-flex;align-items:center}
.video-wrap.landscape{max-width:100%}.video-wrap.landscape iframe{aspect-ratio:16/9}
.article-image{margin:1.5rem 0 2rem}.article-image img{display:block;aspect-ratio:760/486;object-fit:cover;width:100%}.article-image figcaption{font-size:.8125rem;color:var(--sub);margin-top:.5rem}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin:1.5rem 0 2rem}
.taste-card{min-width:0;background:var(--panel);border:1px solid var(--rule);padding:1.5rem}
.taste-card h2{font-family:var(--sans);font-size:1.125rem;margin:.75rem 0;padding:0;border:0}
.taste-card p{font-size:.9375rem;line-height:1.8;margin:0 0 1rem}
.taste-card .ad-label{font-size:.8125rem;display:inline-block;color:var(--sub);border:1px solid var(--rule);padding:0 .45rem}
.taste-card .product-link{display:block;font-size:1rem;line-height:1.7;font-weight:600}
.taste-card .story-link{display:block;border-top:1px solid var(--rule);padding-top:1rem;margin-top:1rem;font-size:.875rem}
.taste-card .selection-note{font-size:.875rem;color:var(--sub)}
.work-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin:1.5rem 0}
.work-examples>article{min-width:0}.work-examples h3{font-size:1.125rem;margin:.5rem 0}.work-examples p{font-size:.9375rem}
.work-examples iframe{display:block;width:100%;aspect-ratio:9/16;border:0;background:var(--brown)}
.work-summary{border-block:1px solid var(--rule);padding:1.4rem 0;margin:1.5rem 0 2rem}
.work-summary p{font-size:1rem}.work-summary .small{font-size:.875rem;margin-top:.8rem}.work-summary h2{margin-top:0}.work-steps{padding-left:1.4rem}.work-steps li{padding:.35rem 0}
@media(max-width:1050px){.gnav{width:100%;margin:0}.gnav ul{justify-content:space-between}}
@media(max-width:700px){
  body{font-size:1.0625rem}.container{padding-inline:1.125rem}.header-inner{padding:1rem 1.125rem;gap:.8rem}
  .brand-name{font-size:1.2rem}.brand-tag{font-size:.8125rem}.brand img{width:2.4rem;height:2.4rem}
  .gnav ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.15rem .9rem}.gnav a{display:flex;font-size:.875rem;padding:.35rem 0}.gnav{width:100%}
  h1{font-size:1.8rem}h2{font-size:1.45rem}.home-page .feature-story{grid-template-columns:1fr;gap:1.4rem;padding-top:0;padding-bottom:2rem}
  .feature-visual img{aspect-ratio:8/5}.feature-copy h1{font-size:2rem}.feature-copy .eyebrow{margin-bottom:.7rem}
  .home-section{padding:2.25rem 0}.section-head{display:block}.section-head h2{font-size:1.45rem;margin-bottom:.65rem}
  .card-grid,.narrow .card-grid,.narrow .related .card-grid{grid-template-columns:1fr;gap:1.75rem}.card :is(h2,h3){font-size:1.25rem}
  .browse-strip,.taste-intro,.work-invitation{display:block}.browse-strip>div{margin-top:.75rem;display:grid;gap:.25rem}.taste-intro .btn{margin-top:1rem}
  .editorial-promise{grid-template-columns:1fr;gap:1.2rem}.work-invitation{padding:1.5rem;margin-top:2rem}.work-invitation a{display:inline-block;margin-top:1rem}
  .catalog-grid{grid-template-columns:1fr}.taste-card{padding:1.25rem}.work-examples{grid-template-columns:1fr}.work-examples iframe{max-width:22rem;margin-inline:auto}
  .kotae,.toc,.taste{padding:1rem}.sources li{padding:1rem}.form-embed iframe{height:1100px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Historical documents retain their full page proportions. */
.article-image.source-image img{aspect-ratio:auto;height:auto;object-fit:contain}
