/* AI LIFE — editorial. Paper, ink, one vermilion. */
@font-face{font-family:"Bodoni Moda";src:url(/fonts/bodoni-moda.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Bodoni Moda";src:url(/fonts/bodoni-moda-italic.woff2) format("woff2");font-weight:400 900;font-style:italic;font-display:swap}
:root{--paper:#F6F2EA;--ink:#141414;--ink2:#24231F;--muted:#5E5A53;--rule:#CFC8BA;--sand:#EBE3D3;--ver:#E8452C;--ver-t:#C23A22;--focus:#FFD43D;
--sans:"Noto Sans JP","Noto Sans CJK JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI",Meiryo,sans-serif;
--serif:"Noto Serif JP","Noto Serif CJK JP","Hiragino Mincho ProN","Yu Mincho",serif;
--disp:"Bodoni Moda","Didot","Bodoni 72",serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink2);font-family:var(--sans);font-size:17px;line-height:1.9;letter-spacing:.03em;font-feature-settings:"palt";-webkit-font-smoothing:antialiased;position:relative}
body::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:100;opacity:.06;mix-blend-mode:multiply;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
h1,h2,h3{color:var(--ink);word-break:auto-phrase;line-break:strict;font-feature-settings:"palt"}
p,li{line-break:strict;overflow-wrap:anywhere}
a{color:var(--ink);text-decoration-thickness:1px;text-underline-offset:.25em}a:hover{color:var(--ver-t)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 5px var(--ink)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px}.skip:focus{left:8px;top:8px;background:var(--paper);color:var(--ink);padding:10px 14px;z-index:200}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.en{font-family:var(--disp);font-style:italic;font-weight:500;letter-spacing:.02em}
.ln{display:block}.ph{display:inline-block}
/* masthead */
.masthead{border-bottom:1px solid var(--ink)}
.folio{display:flex;flex-wrap:wrap;gap:0;margin:0;padding:10px 0 8px;border-bottom:1px solid var(--rule);font-size:.6875rem;letter-spacing:.14em;color:var(--muted)}
.folio span+span::before{content:"";display:inline-block;width:1px;height:.9em;background:var(--rule);margin:0 12px;vertical-align:-1px}
.mh-row{padding:14px 0 6px}
.wordmark{display:inline-block;word-spacing:.18em;white-space:nowrap;font-family:var(--disp);font-weight:800;font-size:clamp(3rem,15vw,5.5rem);line-height:.9;letter-spacing:-.045em;color:var(--ink);text-decoration:none;padding:4px 0;font-variation-settings:"opsz" 96}
.wordmark:hover{color:var(--ink)}
.mh-tag{margin:8px 0 0;font-family:var(--serif);font-weight:600;font-size:.875rem;letter-spacing:.12em;color:var(--ink)}
.gnav{display:flex;overflow-x:auto;margin:6px -10px 0;scrollbar-width:none}
.gnav a{flex:none;display:flex;flex-direction:column;justify-content:center;min-height:48px;padding:0 10px;text-decoration:none;font-size:.8125rem;font-weight:700;color:var(--ink);line-height:1.3;border-bottom:3px solid transparent}
.gnav a .en{font-size:.75rem;font-weight:400;color:var(--muted)}
.gnav a[aria-current]{border-bottom-color:var(--ver)}
/* cover */
.cover{display:grid;gap:28px;padding-top:36px;padding-bottom:40px;border-bottom:1px solid var(--ink)}
.v-label{display:none}
.kicker{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:0 0 18px;font-size:.75rem;letter-spacing:.16em;color:var(--ink)}
.kicker span:first-child{font-family:var(--disp);font-style:italic;font-size:1rem;letter-spacing:.02em;color:var(--ver-t)}
.cover-h{margin:0;font-family:var(--serif);font-weight:800;font-size:clamp(2rem,8.6vw,3.75rem);line-height:1.28;letter-spacing:.01em}
.cover-h .ln:last-child{color:var(--ink)}
.deck{margin:24px 0 0;max-width:30em;font-size:.9375rem;color:var(--ink2)}
.cover-no{display:grid;align-content:start;text-decoration:none;color:var(--ink);border-top:1px solid var(--ink);padding-top:12px;min-height:44px}
.cn-lbl{font-family:var(--disp);font-style:italic;font-size:1rem}
.cn-big{white-space:nowrap;font-family:var(--disp);font-weight:500;font-size:clamp(6rem,30vw,9.5rem);line-height:.82;letter-spacing:-.05em;color:var(--ver);margin:10px 0 12px;font-variant-numeric:lining-nums;font-variation-settings:"opsz" 96}
.cn-date{font-size:.75rem;letter-spacing:.12em;color:var(--muted)}
.cover-no:hover .cn-big{color:var(--ink)}
/* spread */
.spread{border-bottom:1px solid var(--ink)}
.sp-grid{display:grid;padding:0}
.sp-block{background:var(--ver);color:var(--ink);padding:20px 20px 16px;display:flex;flex-direction:column;justify-content:space-between;min-height:220px}
.sp-lbl{margin:0;display:flex;justify-content:space-between;font-family:var(--disp);font-style:italic;font-size:1.125rem;color:var(--ink)}
.sp-lbl span{font-family:var(--sans);font-style:normal;font-size:.75rem;letter-spacing:.16em;font-weight:700}
.sp-no{margin:0;font-family:var(--disp);font-size:1.25rem;font-style:italic;color:var(--ink);line-height:1.2}
.sp-no b{display:block;color:var(--paper);margin-bottom:10px;font-style:normal;font-weight:500;font-size:clamp(7rem,34vw,15rem);line-height:.8;letter-spacing:-.06em;font-variation-settings:"opsz" 96}
.sp-text{padding:28px 20px 36px}
.meta{display:flex;flex-wrap:wrap;gap:2px 0;margin:0;font-size:.75rem;letter-spacing:.12em;color:var(--muted)}
.meta>*+*::before{content:"";display:inline-block;width:1px;height:.9em;background:var(--rule);margin:0 12px;vertical-align:-1px}
.meta .sr+*::before{display:none}
.sp-h{margin:14px 0 16px;font-family:var(--serif);font-weight:800;font-size:clamp(1.75rem,7vw,3rem);line-height:1.38}
.sp-h a{text-decoration:none}.sp-h a:hover{color:var(--ink);text-decoration:underline;text-decoration-thickness:2px}
.sp-deck{margin:0;max-width:32em;font-size:1rem}
.tagline-list{margin:18px 0 0;font-size:.8125rem;color:var(--ink2);letter-spacing:.04em}
.tagline-list .lbl{font-family:var(--disp);font-style:italic;color:var(--ver-t);margin-right:10px;font-size:.9375rem}
.tagline-list .sep{color:var(--rule2,#9A9387)}
.readmore{display:inline-flex;align-items:center;gap:14px;min-height:48px;margin-top:20px;font-weight:700;font-size:.9375rem;text-decoration:none;border-bottom:1px solid var(--ink)}
.readmore span{font-family:var(--disp);font-size:1.25rem}
/* index */
.sec-head{display:flex;justify-content:space-between;align-items:end;margin-top:56px;padding-bottom:10px;border-bottom:3px solid var(--ink)}
.sec-head h2{margin:0;font-family:var(--serif);font-weight:800;font-size:1.25rem;letter-spacing:.08em;display:flex;align-items:baseline;gap:14px}
.sec-head h2 .en{font-size:2rem;letter-spacing:-.01em;font-weight:500}
.sec-more{background:var(--paper);padding-left:10px;display:flex;align-items:center;min-height:44px;font-size:.8125rem;font-weight:700}
.index{list-style:none;margin:0;padding:0}
.index li{border-bottom:1px solid var(--rule)}
.index a{display:grid;grid-template-columns:4.2em 1fr;column-gap:16px;padding:18px 0;text-decoration:none;color:var(--ink);min-height:44px}
.ix-no{grid-row:span 2;font-family:var(--disp);font-size:2.25rem;line-height:.95;letter-spacing:-.04em;color:var(--ink)}
.ix-t{font-family:var(--serif);font-weight:800;font-size:1.0625rem;line-height:1.6}
.ix-d{font-size:.75rem;letter-spacing:.1em;color:var(--muted);margin-top:4px}
.ix-c{margin-left:12px}
.index a:hover .ix-no{color:var(--ver)}.index a:hover .ix-t{text-decoration:underline;text-decoration-thickness:1px}
/* ad */
.ad{margin:56px 0;border:1px solid var(--ink);padding:18px 20px 20px;display:grid;gap:10px;position:relative}
.ad-lbl{margin:0;font-size:.6875rem;letter-spacing:.2em;color:var(--ink);font-weight:700}
.ad-body p{margin:0}
.ad-title{font-family:var(--serif);font-weight:800;font-size:1.125rem;color:var(--ink);line-height:1.6}
.ad-text{margin-top:6px!important;font-size:.8125rem;line-height:1.8;color:var(--ink2)}
.ad-link{justify-self:start;display:inline-flex;align-items:center;min-height:44px;padding:0 18px;background:var(--ink);color:var(--paper);text-decoration:none;font-size:.8125rem;font-weight:700;letter-spacing:.08em}
.ad-link:hover{background:var(--ver-t);color:#fff}
.ad.top{margin:40px 0}
/* issue */
.is-head{border-bottom:1px solid var(--ink)}
.is-grid{display:grid;padding-top:28px;padding-bottom:36px}
.is-no{white-space:nowrap;margin:0 0 8px;font-family:var(--disp);font-weight:500;font-size:clamp(6.5rem,32vw,13rem);line-height:.8;letter-spacing:-.06em;color:var(--ver);font-variation-settings:"opsz" 96}
.is-no span{font-style:italic;font-size:.22em;letter-spacing:0;color:var(--ink);margin-right:.15em}
.is-h{margin:16px 0 18px;font-family:var(--serif);font-weight:800;font-size:clamp(1.75rem,7.4vw,3rem);line-height:1.38}
.is-deck{margin:0;font-size:1rem;max-width:34em}
.is-body{padding-top:36px}
.col{max-width:40em}
.prose{font-size:1.0625rem;line-height:1.95;max-width:40em;color:var(--ink2)}
.prose h2{margin:64px 0 18px;padding-top:16px;border-top:3px solid var(--ink);font-family:var(--serif);font-weight:800;font-size:1.375rem;line-height:1.55}
.prose h2 .hn{display:block;font-family:var(--disp);font-weight:500;font-size:2.75rem;line-height:1;letter-spacing:-.04em;color:var(--ver);margin-bottom:10px}
.prose>h2:first-child{margin-top:0}
.prose p{margin:0 0 1.2em}
.prose ul,.prose ol{padding-left:1.4em}
.prose ul.plain{list-style:none;padding:0}.prose ul.plain li{padding:10px 0;border-bottom:1px solid var(--rule)}
.prose blockquote{margin:20px 0 0;padding:14px 0 0 0;border-top:1px solid var(--rule);color:var(--ink)}
.prose blockquote p{margin:0}
.prose blockquote strong{display:block;font-family:var(--serif);font-weight:800;font-size:.8125rem;letter-spacing:.16em;color:var(--ver-t);margin-bottom:4px}
.prose code{font-family:var(--mono);font-size:.875em;background:var(--sand);padding:.1em .4em}
.prose pre{background:var(--sand);padding:16px 18px;overflow-x:auto;font-size:.875rem;line-height:1.7}
.prose pre code{background:none;padding:0}
.prose a{overflow-wrap:anywhere}
.prose p:has(> a[href*="x.com"]){font-size:.75rem;letter-spacing:.08em;color:var(--muted)}
/* pager */
.pager{display:grid;margin-top:72px;border-top:3px solid var(--ink)}
.pager a{display:block;padding:18px 0;min-height:44px;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink);font-family:var(--serif);font-weight:800;line-height:1.6}
.pager small{display:block;font-family:var(--sans);font-weight:400;font-size:.75rem;letter-spacing:.12em;color:var(--muted)}
/* pages */
.pg-head{padding:36px 0 18px;border-bottom:3px solid var(--ink);margin-bottom:32px}
.pg-head .en{margin:0;font-size:1.25rem;color:var(--ver-t)}
.pg-head h1{margin:4px 0 0;font-family:var(--serif);font-weight:800;font-size:clamp(2rem,8vw,3.25rem);line-height:1.3}
.page .prose h2 .hn{display:none}
/* footer */
.site-footer{margin-top:96px;background:var(--ink);color:#CFC9BE;padding:40px 0 44px;font-size:.8125rem}
.site-footer a{color:var(--paper)}
.ft-grid{display:grid;gap:20px}
.ft-mark{margin:0;word-spacing:.18em;white-space:nowrap;font-family:var(--disp);font-weight:800;font-size:clamp(3.5rem,18vw,7rem);line-height:.85;letter-spacing:-.045em;color:var(--paper)}
.ft-theme{margin:0 0 14px;font-family:var(--serif);font-weight:600;font-size:1.0625rem;line-height:1.7;color:var(--paper)}
.ft-note{margin:0;max-width:40em;line-height:1.8}
.fnav{display:flex;flex-wrap:wrap;margin:0 -10px}.fnav a{display:flex;flex-direction:column;justify-content:center;min-height:48px;padding:0 10px;text-decoration:none;line-height:1.3;font-weight:700}
.fnav a .en{color:#A8A296;font-weight:400}.fnav a:hover{color:var(--ver)}
.ft-copy{margin:0;font-size:.6875rem;letter-spacing:.14em}
/* ---------- desktop */
@media(min-width:900px){
  .wrap{padding:0 48px}
  .mh-row{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding:18px 0 8px}
  .mh-tag{margin:0 0 10px;text-align:right}
  .gnav{margin-top:0;border-top:1px solid var(--rule);margin:8px 0 0}
  .gnav a{padding:0 18px 0 0;margin-right:18px}
  .cover{grid-template-columns:48px minmax(0,1fr) 300px;gap:0;padding-top:56px;padding-bottom:64px}
  .v-label{display:block;margin:0;writing-mode:vertical-rl;font-family:var(--serif);font-weight:600;font-size:.8125rem;letter-spacing:.4em;color:var(--ink);border-right:1px solid var(--rule);padding-right:14px;align-self:stretch}
  .cover-main{padding:0 48px 0 36px;border-right:1px solid var(--rule)}
  .cover-no{border-top:0;padding:0 0 0 32px}
  .sp-grid{grid-template-columns:5fr 7fr}
  .sp-block{min-height:440px;padding:28px 32px 24px}
  .sp-text{padding:48px 0 48px 56px;align-self:center}
  .index a{grid-template-columns:7rem minmax(0,1fr) 14rem;align-items:baseline;padding:22px 0}
  .ix-no{grid-row:auto;font-size:3rem}
  .ix-t{font-size:1.25rem}.ix-d{text-align:right;margin:0}
  .ad{grid-template-columns:11rem 1fr auto;align-items:center;column-gap:32px;padding:24px 28px}
  .ad-lbl{border-right:1px solid var(--rule);align-self:stretch;display:flex;align-items:center}
  .ad.top{grid-template-columns:1fr auto}.ad.top .ad-lbl{grid-column:1/-1;border:0}
  .is-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:56px;align-items:end;padding-top:48px;padding-bottom:56px}
  .is-no{margin:0;font-size:clamp(8rem,15vw,13rem)}
  .is-body{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:56px}
  .is-body .col{grid-column:2;font-size:1.0625rem}
  .is-body .prose{font-size:1.125rem}
  .pager{grid-template-columns:1fr 1fr;column-gap:48px}.pager .nx{text-align:right}
  .page .col{margin-left:calc((100% - 56px)*5/12 + 56px)}
  .ft-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:56px}
  .fnav,.ft-copy{grid-column:2}
}
/* toc + in-column ad */
.toc{display:none}
.ad.inline{grid-template-columns:1fr}
@media(min-width:900px){
  .toc{display:block;position:sticky;top:28px;align-self:start;border-top:3px solid var(--ink);padding-top:12px}
  .toc-h{margin:0 0 6px;font-family:var(--serif);font-weight:800;font-size:.875rem;letter-spacing:.12em;display:flex;gap:10px;align-items:baseline}
  .toc-h .en{font-size:1.25rem;color:var(--ver-t)}
  .toc ol{list-style:none;margin:0;padding:0}
  .toc li{border-bottom:1px solid var(--rule)}
  .toc a{display:grid;grid-template-columns:2.4rem 1fr;gap:8px;padding:9px 0;min-height:44px;font-size:.8125rem;line-height:1.6;text-decoration:none;color:var(--ink2)}
  .toc a span{font-family:var(--disp);font-size:1.125rem;line-height:1.2;color:var(--ink)}
  .toc a:hover{color:var(--ver-t)}.toc a:hover span{color:var(--ver)}
  .is-body .col{grid-column:2}
  .col .ad{grid-template-columns:1fr auto;column-gap:28px}.col .ad .ad-lbl{grid-column:1/-1;border:0}
}

/* ================= v4 additions ================= */
.mh-date{display:none}
.rail{display:none}
.stamp{display:inline-grid;justify-items:center;align-content:center;width:76px;height:76px;border:1px solid currentColor;outline:1px solid currentColor;outline-offset:3px;font-family:var(--disp);line-height:1;letter-spacing:.08em;transform:rotate(-6deg)}
.st-m,.st-w{font-size:.6875rem;letter-spacing:.2em}.st-d{font-size:2rem;font-weight:500;margin:2px 0}
.cover-no .stamp{position:static;margin:18px 0 0 6px;color:var(--ink)}
.cover-no{position:relative}
/* reveal */
.js .rv{opacity:0;transform:translateY(16px);transition:opacity .9s cubic-bezier(.2,.7,.2,1) var(--d,0s),transform .9s cubic-bezier(.2,.7,.2,1) var(--d,0s)}
.js .rv.in{opacity:1;transform:none}
.js .rv-line{opacity:0;transform:translateY(.4em);animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(.15s + var(--i) * .14s)}
@keyframes rise{to{opacity:1;transform:none}}
/* marquee */
.marquee{border-bottom:1px solid var(--ink);overflow:hidden;background:var(--paper);padding:12px 0}
.mq-track{display:flex;width:max-content;animation:mq 80s linear infinite}
.marquee:hover .mq-track{animation-play-state:paused}
.mq-set{display:flex;flex:none}
.mq-i{flex:none;font-family:var(--serif);font-weight:600;font-size:.9375rem;color:var(--ink);padding:0 28px;white-space:nowrap}
.mq-i::before{content:"No.";font-family:var(--disp);font-style:italic;color:var(--ver-t);margin-right:10px;font-weight:400}
.mq-i::before{content:"—";font-style:normal}
@keyframes mq{to{transform:translateX(-50%)}}
/* section head backdrop */
.sec-head{position:relative}
.sec-bg{position:absolute;right:0;bottom:.35em;opacity:.7;margin:0;font-family:var(--disp);font-style:italic;font-size:clamp(4.5rem,16vw,10rem);line-height:.8;color:transparent;-webkit-text-stroke:1px #BDB4A3;pointer-events:none;letter-spacing:-.03em;white-space:nowrap;z-index:0}
.sec-head h2,.sec-more{position:relative;z-index:1}
.pg-head{position:relative;overflow:hidden}.pg-head .sec-bg{bottom:.05em}
/* index hover sweep */
.index li{position:relative}
.index a{position:relative}
.index a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ver);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.index a:hover::after,.index a:focus-visible::after{transform:scaleX(1)}
.ix-s{display:block;font-family:var(--sans);font-weight:400;font-size:.8125rem;line-height:1.7;color:var(--muted);margin-top:4px}
/* poster block (spread + issue) */
.sp-block{position:relative;overflow:hidden;text-decoration:none;min-height:300px}
.sp-lbl{position:relative;z-index:2}
.sp-crop,.ip-no{position:absolute;left:-.06em;bottom:-.2em;font-family:var(--disp);font-weight:500;font-size:clamp(14rem,70vw,30rem);line-height:.8;letter-spacing:-.07em;color:var(--paper);white-space:nowrap;font-variation-settings:"opsz" 96;z-index:1}
.sp-v{position:absolute;right:16px;top:56px;max-height:45%!important;z-index:2;writing-mode:vertical-rl;font-family:var(--serif);font-weight:800;font-size:1.0625rem;line-height:1.6;color:var(--ink);max-height:calc(100% - 80px);overflow:hidden;letter-spacing:.08em}
.sp-topics{list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--rule)}
.sp-topics li{display:grid;grid-template-columns:2.4em 1fr;padding:10px 0;border-bottom:1px solid var(--rule);font-size:.9375rem;line-height:1.6;color:var(--ink)}
.sp-topics span{font-family:var(--disp);color:var(--ver-t);font-size:1.0625rem}
.is-poster{position:relative;overflow:hidden;background:var(--ver);color:var(--ink);min-height:240px;margin:0 -20px 28px;padding:18px 20px}
.ip-lbl{position:relative;z-index:2;font-family:var(--disp);font-style:italic;font-size:1.125rem}
.is-poster .stamp{position:absolute;right:20px;top:18px;z-index:2;color:var(--ink)}
.ip-no{font-size:clamp(12rem,62vw,26rem)}
.is-no{display:none}
/* progress */
.progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:150;pointer-events:none}
.progress span{display:block;height:100%;background:var(--ver);transform:scaleX(0);transform-origin:left}
.toc-prog{display:flex;align-items:center;gap:10px;margin:12px 0 0;font-family:var(--disp);font-size:.875rem;color:var(--muted)}
.tp-bar{flex:1;height:1px;background:var(--rule);position:relative}.tp-bar span{position:absolute;inset:-1px 0;background:var(--ink);transform:scaleX(0);transform-origin:left}
.toc a[aria-current]{color:var(--ink);font-weight:700}.toc a[aria-current] span{color:var(--ver)}
/* ad refinement */
.ad{border:1px solid var(--ink);outline:1px solid var(--ink);outline-offset:-6px;padding:26px 26px 26px}
.ad-side{display:none}
.ad-link span{margin-left:12px;font-family:var(--disp)}
/* CTA */
.cta{margin:80px 0 0;border-top:3px solid var(--ink);padding-top:14px}
.cta-k{margin:0 0 18px;display:flex;align-items:baseline;gap:12px;font-size:.75rem;letter-spacing:.16em;color:var(--ink)}
.cta-k .en{font-size:1.125rem;letter-spacing:.02em;color:var(--ver-t)}
.cta-h{margin:0 0 14px;font-family:var(--serif);font-weight:800;font-size:clamp(1.5rem,6vw,2.25rem);line-height:1.45}
.cta-lead{margin:0 0 24px;font-size:1rem;color:var(--ink2);max-width:36em}
.cta-acts{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.cta-acts li{border-bottom:1px solid var(--ink)}
.cta-a{position:relative;display:grid;grid-template-columns:3em 1fr 2em;column-gap:12px;padding:20px 0;min-height:56px;text-decoration:none;color:var(--ink)}
.cta-no{grid-row:span 2;font-family:var(--disp);font-size:1.75rem;line-height:1;color:var(--ink)}
.cta-t{font-family:var(--serif);font-weight:800;font-size:1.1875rem;line-height:1.5}
.cta-n{grid-column:2;font-size:.875rem;color:var(--muted);margin-top:4px;line-height:1.7}
.cta-arr{grid-column:3;grid-row:1/span 2;align-self:center;justify-self:end;font-family:var(--disp);font-size:1.5rem;transition:transform .4s}
.cta-a.primary .cta-no{color:var(--ver-t)}
.cta-a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ver);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.cta-a:hover{color:var(--ink)}.cta-a:hover::after{transform:scaleX(1)}.cta-a:hover .cta-arr{transform:translateX(6px)}
/* corner folio */
.corner-folio{display:none}
/* footer v4 */
.site-footer .wrap{display:block}
.ft-top{border-bottom:1px solid #3A3936;padding-bottom:28px;margin-bottom:28px}
.ft-top .ft-theme{margin:16px 0 0;font-size:1.125rem}
.ft-grid{display:grid;gap:28px}
.ft-h{margin:0 0 8px;font-family:var(--disp);font-style:italic;font-size:1.125rem;color:#A8A296}
.ft-note{margin:0 0 12px;max-width:36em;line-height:1.85}
.site-footer .fnav{flex-direction:column;margin:0}
.site-footer .fnav a{padding:0;flex-direction:row;gap:10px;align-items:center;justify-content:flex-start;text-align:left}
.site-footer .fnav a .en{min-width:5.5em}
.ft-copy{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:36px;padding-top:18px;border-top:1px solid #3A3936}
.ft-copy span:last-child{font-family:var(--disp);font-style:italic;letter-spacing:.04em;font-size:.875rem}
@media(min-width:900px){
  .mh-row{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:40px}
  .mh-tag{text-align:left;margin:0 0 12px;border-left:1px solid var(--rule);padding-left:20px;align-self:end}
  .mh-date{display:block;margin:0 0 8px;text-align:right}
  .mh-date time{display:grid}
  .md-en{font-family:var(--disp);font-size:1.75rem;line-height:1;letter-spacing:.02em;color:var(--ink)}
  .md-ja{font-size:.75rem;letter-spacing:.12em;color:var(--muted);margin-top:6px}
  .sp-block{min-height:520px}
  .sp-crop{font-size:28rem}
  .sp-v{right:28px;top:72px;font-size:1.25rem}
  .is-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:56px;align-items:stretch;padding-top:0;padding-bottom:0}
  .is-poster{margin:0;min-height:520px;padding:26px 28px}
  .is-poster .stamp{right:28px;top:26px}
  .ip-no{font-size:26rem}
  .is-txt{align-self:center;padding:56px 0}
  .ad.inline,.ad.top{grid-template-columns:1fr auto}
  .ad.wide{grid-template-columns:3rem 11rem 1fr auto}
  .ad.wide .ad-side{display:flex;align-self:stretch;justify-content:center;border-right:1px solid var(--rule);writing-mode:vertical-rl;font-family:var(--disp);font-style:italic;font-size:.875rem;color:var(--muted);padding-right:12px}
  .cta{margin-top:96px}
  .cta-a{grid-template-columns:4.5em 1fr 3em;padding:26px 0}
  .cta-no{font-size:2.5rem}
  .cta-t{font-size:1.375rem}
  .ft-grid{grid-template-columns:2fr 1fr 1.2fr;column-gap:56px}
  .ft-top{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:56px}
  .ft-top .ft-theme{margin:0 0 6px;font-size:1.25rem}
}
@media(min-width:1280px){
  .rail{display:flex;position:fixed;left:14px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;margin:0;gap:28px;font-size:.6875rem;letter-spacing:.3em;color:var(--muted);z-index:50}
  .rail span:first-child{font-family:var(--disp);font-weight:800;color:var(--ink);letter-spacing:.1em}
  .corner-folio{display:block;position:fixed;right:14px;bottom:20px;margin:0;writing-mode:vertical-rl;font-size:.6875rem;letter-spacing:.2em;color:var(--muted);z-index:50}
}
@media(prefers-reduced-motion:reduce){
  .js .rv,.js .rv-line{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
  .mq-track{animation:none}.marquee{overflow-x:auto}
  .index a::after,.cta-a::after,.cta-arr{transition:none}
  html{scroll-behavior:auto}
}
html{scroll-behavior:smooth}
.prose h2{scroll-margin-top:24px}
@media(max-width:899px){.sec-bg{display:none}.sp-v{display:none}.sec-more{padding-left:0}}
.cover-no .stamp{margin:18px 0 14px 6px}
@media(min-width:900px){.sec-bg{font-size:7.5rem;bottom:.45em}}
@media(min-width:1280px){.corner-folio{background:var(--paper);padding:6px 2px}}
.cta-f{display:grid;grid-template-columns:3em 1fr 2em;column-gap:12px;padding:20px 0}
.cta-f .cta-n{grid-column:2}
.cta-sns{grid-column:2;list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;border:0}
.cta-sns li{border:0}
.cta-sns a{display:inline-block;padding:6px 0;font-size:.875rem;letter-spacing:.04em;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink)}
.cta-sns a:hover{color:var(--ver-t);border-color:var(--ver)}
@media(min-width:900px){.cta-f{grid-template-columns:4.5em 1fr 3em;padding:26px 0}}
