/* /16chara/type/ — エディトリアル層（not a hotel 寄せ）。
   トークンは client/src/styles/globals.css の Editorial layer と同じ値を使う。
   原則: 色は"面"に塗らず"点"だけ / 影と大きな角丸を使わない / 区切りは罫線1本 /
        見出しは font-light + 広トラッキング / gold・グラデーションは使わない。 */
:root{
  --ink:#14110F;--ink-70:#4A443F;--ink-50:#7C7570;--ink-30:#A9A29B;
  --paper:#FBFAF8;--paper-2:#F2EFEA;--line:#E4DFD8;--accent:#A8785F;
  --ff-d:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;
  --ff-b:"Noto Sans JP",sans-serif;
  --ff-s:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--ff-b);background:var(--paper);color:var(--ink);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3{font-family:var(--ff-d);font-weight:300}
ul{list-style:none}
a{color:inherit}
.wrap{max-width:800px;margin:0 auto;padding:0 1.75rem}

/* セクション頭の極小欧文ラベル */
.label{display:block;font-size:.6875rem;font-weight:500;letter-spacing:.24em;
  text-transform:uppercase;color:var(--ink-30)}

/* ── パンくず ── */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;
  font-size:.6875rem;letter-spacing:.12em;color:var(--ink-30);padding:2rem 0 4.5rem}
.crumbs a{text-decoration:none;transition:color .5s var(--ease)}
.crumbs a:hover{color:var(--ink)}
.crumbs em{font-style:normal;color:var(--ink-70)}

/* ── HERO ── */
.hero{display:grid;grid-template-columns:1fr 260px;gap:4rem;align-items:start;
  padding-bottom:5rem;border-bottom:1px solid var(--line)}
.hero-code{font-family:var(--ff-d);font-weight:300;font-size:clamp(56px,9vw,92px);
  line-height:1;letter-spacing:.14em;color:var(--ink);margin:1.4rem 0 1.6rem}
.hero-name{font-family:var(--ff-s);font-weight:400;font-size:clamp(19px,2.6vw,25px);
  line-height:1.6;letter-spacing:.08em;color:var(--ink);margin-bottom:1rem}
.hero-tg{font-size:.9375rem;line-height:1.9;letter-spacing:.02em;color:var(--ink-70);max-width:26em}
.hero-art{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.hero-art svg,.hero-art img{width:100%;height:100%;object-fit:contain}

/* ── 4指標 ── */
.axes{display:grid;grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--line)}
.ax{padding:2.2rem 1.5rem 2.4rem;border-right:1px solid var(--line)}
.ax:last-child{border-right:none}
.ax-n{font-size:.625rem;letter-spacing:.22em;color:var(--ink-30);text-transform:uppercase}
.ax-key{font-family:var(--ff-d);font-weight:300;font-size:38px;line-height:1;
  letter-spacing:.08em;color:var(--ink);margin:.9rem 0 .7rem}
.ax-lbl{font-size:.8125rem;letter-spacing:.06em;color:var(--ink);margin-bottom:.3rem}
.ax-note{font-size:.75rem;line-height:1.8;letter-spacing:.04em;color:var(--ink-30)}

/* ── 本文 ── */
.lead{font-family:var(--ff-s);font-weight:400;font-size:clamp(15.5px,2vw,17.5px);
  line-height:2.35;letter-spacing:.06em;color:var(--ink);
  padding:5rem 0;max-width:34em}

.sec{padding-top:4.5rem}
.sec-h{display:flex;align-items:baseline;gap:1.6rem;padding-bottom:2.2rem}
.sec-n{font-size:.6875rem;font-weight:500;letter-spacing:.24em;color:var(--ink-30);
  flex-shrink:0;padding-top:.35em}
.sec-t{font-family:var(--ff-d);font-weight:300;font-size:clamp(17px,2.2vw,21px);
  line-height:1.5;letter-spacing:.1em;color:var(--ink)}

/* 強み — 罫線で区切るだけ */
.str{border-top:1px solid var(--line)}
.str li{display:flex;align-items:baseline;gap:1.1rem;padding:1.1rem .2rem;
  border-bottom:1px solid var(--line);font-size:.9375rem;letter-spacing:.04em;color:var(--ink)}
.str li::before{content:"";width:4px;height:4px;flex-shrink:0;background:var(--accent);
  transform:translateY(-.25em)}

/* 3つの並び — 箱を使わず、罫線と番号だけ */
.items{border-top:1px solid var(--line)}
.items li{padding:1.9rem .2rem 2rem;border-bottom:1px solid var(--line)}
.it-n{font-size:.625rem;letter-spacing:.22em;color:var(--ink-30);display:block;margin-bottom:.7rem}
.it-h{font-family:var(--ff-d);font-weight:500;font-size:1rem;line-height:1.65;
  letter-spacing:.06em;color:var(--ink);margin-bottom:.6rem}
.it-d{font-size:.875rem;line-height:2.05;letter-spacing:.03em;color:var(--ink-70);max-width:40em}
/* 合いにくい職場だけ、頭にアクセントの点を置いて区別する */
.items.neg .it-n{color:var(--accent)}

/* ── CTA（唯一の"面"） ── */
.cta{background:var(--ink);color:var(--paper);margin-top:6rem;padding:6rem 0 6.5rem;text-align:center}
.cta .label{color:rgba(251,250,248,.42);margin-bottom:2rem}
.cta-h{font-family:var(--ff-s);font-weight:400;font-size:clamp(21px,3.4vw,29px);
  line-height:1.75;letter-spacing:.1em;color:var(--paper);margin-bottom:1.4rem}
.cta-sub{font-size:.8125rem;line-height:2.1;letter-spacing:.04em;color:rgba(251,250,248,.6);
  max-width:30em;margin:0 auto 2.8rem}
.cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:1.1rem;
  padding:1.15rem 2.9rem;border:1px solid rgba(251,250,248,.35);color:var(--paper);
  font-size:.8125rem;font-weight:500;letter-spacing:.14em;text-decoration:none;
  transition:background-color .5s var(--ease),border-color .5s var(--ease)}
.cta-btn:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.cta-sub2{display:block;width:fit-content;margin:1.8rem auto 0;font-size:.75rem;
  letter-spacing:.08em;color:rgba(251,250,248,.5);text-decoration:none;
  padding-bottom:3px;border-bottom:1px solid rgba(251,250,248,.2);
  transition:color .5s var(--ease),border-color .5s var(--ease)}
.cta-sub2:hover{color:var(--paper);border-bottom-color:rgba(251,250,248,.6)}

/* ── 前後のタイプ ── */
.pn{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.pn-a{display:block;padding:2.4rem 1.6rem;text-decoration:none;
  border-right:1px solid var(--line);transition:background-color .5s var(--ease)}
.pn-a:last-child{border-right:none}
.pn-a:hover{background:var(--paper-2)}
.pn-a .label{margin-bottom:1rem}
.pn-code{font-family:var(--ff-d);font-weight:300;font-size:24px;letter-spacing:.12em;
  color:var(--ink);margin-bottom:.4rem}
.pn-nm{font-size:.8125rem;letter-spacing:.05em;color:var(--ink-50)}
.pn-next{text-align:right}

/* ── 16タイプの一覧 ── */
.mx{border-top:1px solid var(--line)}
.mx-row{padding:1.8rem 0 1.9rem;border-bottom:1px solid var(--line)}
.mx-lbl{font-size:.625rem;letter-spacing:.22em;color:var(--ink-30);margin-bottom:1.2rem}
.mx-cells{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.mx-cell{display:block;text-decoration:none;transition:opacity .5s var(--ease)}
.mx-cell b{display:block;font-family:var(--ff-d);font-weight:300;font-size:18px;
  letter-spacing:.12em;color:var(--ink);margin-bottom:.35rem}
.mx-cell span{font-size:.75rem;line-height:1.7;letter-spacing:.04em;color:var(--ink-50)}
a.mx-cell:hover{opacity:.5}
.mx-cur b{color:var(--accent)}
.mx-cur span{color:var(--accent)}

/* ── サイト内リンク ── */
.sitelinks{padding:4rem 0 0}
.sitelinks-h{font-size:.6875rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;
  color:var(--ink-30);margin-bottom:1.6rem}
.sitelinks-grid{display:grid;grid-template-columns:1fr 1fr;gap:.1rem 2.5rem}
.sitelinks-grid a{display:block;font-size:.8125rem;letter-spacing:.05em;color:var(--ink-70);
  text-decoration:none;padding:.7rem 0;border-bottom:1px solid var(--line);
  transition:color .5s var(--ease)}
.sitelinks-grid a:hover{color:var(--ink)}

.foot{padding:4rem 0 5rem;font-size:.625rem;letter-spacing:.22em;color:var(--ink-30);text-align:center}

@media(max-width:860px){
  .hero{grid-template-columns:1fr;gap:2.5rem}
  .hero-art{max-width:220px;order:-1}
}
@media(max-width:720px){
  .axes{grid-template-columns:1fr 1fr}
  .ax{border-bottom:1px solid var(--line);padding:1.6rem 1.2rem 1.8rem}
  .ax:nth-child(2n){border-right:none}
  .ax:nth-child(n+3){border-bottom:none}
  .mx-cells{grid-template-columns:1fr 1fr;gap:1.3rem 1.4rem}
}
@media(max-width:540px){
  .wrap{padding:0 1.35rem}
  .crumbs{padding:1.5rem 0 3rem}
  .hero{padding-bottom:3.2rem}
  .hero-code{font-size:52px;margin:1rem 0 1.2rem}
  .lead{padding:3.2rem 0;line-height:2.2}
  .sec{padding-top:3.2rem}
  .sec-h{gap:1rem;padding-bottom:1.6rem}
  .cta{margin-top:4rem;padding:4.2rem 0 4.5rem}
  .pn{grid-template-columns:1fr}
  .pn-a{border-right:none;border-bottom:1px solid var(--line);padding:1.8rem 0}
  .pn-a:last-child{border-bottom:none}
  .pn-next{text-align:left}
  .sitelinks-grid{grid-template-columns:1fr;gap:0}
}
