:root{
  --paper:#f4f1e9; --ink:#141414; --gold:#9a7b3f; --muted:#565049; --dim:#8a8278; --line:#cdc6b8;
}
*{box-sizing:border-box}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:"Inter",system-ui,sans-serif;font-size:16px;line-height:1.85;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{width:min(1060px,calc(100% - 60px));margin:0 auto}

/* 誌面の天 */
.rule-top{height:6px;background:var(--ink)}
.masthead{padding:22px 0 0}
.masthead .line{display:flex;justify-content:space-between;font-size:9.5px;letter-spacing:.32em;color:var(--dim);border-bottom:1px solid var(--line);padding-bottom:10px}
.title{text-align:center;padding:26px 0 18px;border-bottom:3px double var(--ink)}
.title h1{font-family:"Cormorant Garamond",serif;font-size:clamp(40px,7vw,74px);font-weight:500;letter-spacing:.3em;margin:0 0 6px;text-indent:.3em;line-height:1}
.title p{font-size:9.5px;letter-spacing:.44em;color:var(--muted);margin:0}
nav.menu{display:flex;justify-content:center;gap:30px;padding:12px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
nav.menu a{font-size:11.5px;letter-spacing:.16em;color:var(--muted)}
nav.menu a.on{color:var(--ink);border-bottom:1px solid var(--gold);padding-bottom:2px}
nav.menu a.go{color:var(--gold);font-weight:600}

/* 第一面 */
.hero{padding:46px 0 30px;text-align:center;border-bottom:1px solid var(--ink)}
.hero .kick{font-size:9.5px;letter-spacing:.4em;color:var(--gold);margin:0 0 18px}
.hero .display{font-family:"Cormorant Garamond",serif;font-size:clamp(64px,13vw,168px);line-height:.82;letter-spacing:.08em;margin:0 0 18px;font-weight:500;text-indent:.08em}
.hero h2{font-family:"Cormorant Garamond",serif;font-size:clamp(20px,2.6vw,30px);font-weight:500;letter-spacing:.06em;margin:0 0 18px;line-height:1.6}
.hero p{color:var(--muted);font-size:14px;max-width:620px;margin:0 auto 22px}
.btn{display:inline-block;border:1px solid var(--ink);padding:11px 26px;font-size:11.5px;letter-spacing:.24em;background:var(--ink);color:var(--paper)}
.btn.lite{background:transparent;color:var(--ink);margin-left:8px}
.specrow{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:34px}
.specrow div{padding:14px 10px;border-right:1px solid var(--line);text-align:center}
.specrow div:last-child{border-right:0}
.specrow b{display:block;font-family:"Cormorant Garamond",serif;font-size:22px;letter-spacing:.14em}
.specrow span{font-size:9px;letter-spacing:.26em;color:var(--dim)}

/* パートナー */
.strip{padding:18px 0;border-bottom:1px solid var(--line)}
.strip .wrap{display:flex;align-items:center;gap:26px;flex-wrap:wrap;justify-content:center}
.strip .lb{font-size:9px;letter-spacing:.3em;color:var(--dim)}
.strip .row{display:flex;gap:36px;align-items:center;flex-wrap:wrap}
.strip img{height:34px;width:auto;object-fit:contain;opacity:.95}

/* 本文 */
section{padding:42px 0 12px;border-bottom:1px solid var(--line)}
section:last-of-type{border-bottom:0}
.eyebrow{font-size:9.5px;letter-spacing:.36em;color:var(--gold);margin:0 0 10px;text-align:center}
h2{font-family:"Cormorant Garamond",serif;font-size:clamp(24px,3vw,32px);font-weight:500;letter-spacing:.04em;margin:0 0 18px;text-align:center}
.manifesto{max-width:700px;margin:0 auto;column-count:2;column-gap:40px;font-size:14px;color:var(--muted)}
.manifesto p{margin:0 0 12px;break-inside:avoid}
.manifesto p:first-child:first-letter{float:left;font-family:"Cormorant Garamond",serif;font-size:56px;line-height:.8;padding:8px 10px 0 0;color:var(--gold)}
.index{border-top:1px solid var(--ink);max-width:820px;margin:0 auto}
.index a{display:grid;grid-template-columns:64px 1fr 120px;gap:18px;padding:13px 0;border-bottom:1px solid var(--line);align-items:baseline}
.index i{font-style:normal;font-size:10px;letter-spacing:.16em;color:var(--gold)}
.index b{font-family:"Cormorant Garamond",serif;font-size:19px;font-weight:500;letter-spacing:.02em}
.index small{display:block;font-size:11.8px;color:var(--muted);line-height:1.6}
.index u{text-decoration:none;font-size:9.5px;letter-spacing:.2em;color:var(--dim);text-align:right}
.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);max-width:900px;margin:0 auto}
.specs div{padding:18px 20px;border-right:1px solid var(--line)}
.specs div:last-child{border-right:0}
.specs b{display:block;font-size:10px;letter-spacing:.24em;color:var(--gold);margin-bottom:6px}
.specs p{margin:0;font-size:12.6px;color:var(--muted)}

/* 下層見出し */
.pagehead{padding:46px 0 26px;text-align:center;border-bottom:3px double var(--ink)}
.pagehead .lb{font-size:9.5px;letter-spacing:.4em;color:var(--gold);margin:0 0 12px}
.pagehead h1{font-family:"Cormorant Garamond",serif;font-size:clamp(36px,5.4vw,58px);font-weight:500;letter-spacing:.12em;margin:0 0 10px;text-indent:.12em}
.pagehead p{color:var(--muted);font-size:13.6px;max-width:620px;margin:0 auto}

/* 長文 */
.long{max-width:720px;margin:0 auto;padding-top:8px}
.long h2{text-align:left;font-size:26px;margin:34px 0 8px;display:grid;grid-template-columns:46px 1fr;gap:10px;align-items:baseline}
.long h2 i{font-style:normal;font-size:10px;letter-spacing:.16em;color:var(--gold)}
.long p{color:var(--muted);font-size:14px;margin:0 0 12px}
.long ul{color:var(--muted);font-size:13.4px;padding-left:18px}
.long .quote{font-family:"Cormorant Garamond",serif;font-size:19px;color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:22px 0;text-align:center;letter-spacing:.03em}

/* 目録 */
.catalogue{max-width:860px;margin:24px auto 0;border-top:1px solid var(--ink)}
.catalogue div{display:grid;grid-template-columns:54px 190px 1fr 80px;gap:18px;padding:13px 0;border-bottom:1px solid var(--line);align-items:baseline}
.catalogue i{font-style:normal;font-size:10px;letter-spacing:.14em;color:var(--gold)}
.catalogue b{font-family:"Cormorant Garamond",serif;font-size:17px;font-weight:500}
.catalogue p{margin:0;font-size:12.6px;color:var(--muted)}
.catalogue em{font-style:normal;font-size:9.5px;letter-spacing:.16em;color:var(--dim);text-align:right}

/* Q&A */
.qlist{max-width:820px;margin:0 auto;border-top:1px solid var(--ink)}
.qlist div{display:grid;grid-template-columns:40px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.qlist i{font-style:normal;font-size:10px;letter-spacing:.12em;color:var(--gold)}
.qlist b{font-size:14.4px;display:block;margin-bottom:3px;font-weight:500}
.qlist p{margin:0;color:var(--muted);font-size:13px}

/* 奥付 */
.colophon{max-width:640px;margin:0 auto;text-align:center}
.colophon p{color:var(--muted);font-size:13.4px;margin:0 0 12px}
.colophon b{display:block;font-size:9.5px;letter-spacing:.3em;color:var(--gold);margin:22px 0 5px}
footer{background:var(--ink);color:#bdb6aa;margin-top:40px;padding:26px 0 28px;text-align:center}
footer .wm{font-family:"Cormorant Garamond",serif;font-size:30px;letter-spacing:.4em;color:var(--paper);text-indent:.4em;margin-bottom:8px}
footer p{font-size:10px;letter-spacing:.18em;margin:0}

@media(max-width:900px){
  .wrap{width:calc(100% - 34px)}
  .manifesto{column-count:1}
  .specs,.specrow{grid-template-columns:1fr}
  .specs div,.specrow div{border-right:0;border-bottom:1px solid var(--line)}
  .index a{grid-template-columns:44px 1fr}
  .index u{display:none}
  .catalogue div{grid-template-columns:40px 1fr}
  .catalogue p,.catalogue em{grid-column:2}
  nav.menu{gap:16px}
}
