  /* トークンは assets/css/guide-article.css と揃える。
     プレスキットは表と定義が多いので、ガイドの wrap-narrow(720) ではなく
     920 を上限にし、その分だけ行長を抑えて可読性を保つ。 */
  .rn-press{
    --ink:#1c1c1c; --ink-2:#555555; --ink-3:#6f6f6f;
    --line:#e0e0e0; --bg:#ffffff; --bg-2:#f8f8f8;
    --todo-bg:#fff7d6; --todo-line:#e2b93b;
    --serif:"STIX Two Text",serif;
    --jp:"Noto Sans JP",sans-serif;
    --max:920px;
  }
  .rn-press *{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%}
  body{margin:0}
  .rn-press{background:var(--bg);color:var(--ink);
    font-family:var(--jp),"Hiragino Kaku Gothic ProN","Hiragino Sans",-apple-system,BlinkMacSystemFont,sans-serif;
    font-weight:400;font-size:15px;line-height:2;letter-spacing:.04em;font-feature-settings:"palt"}
  .rn-press a{color:inherit}
  .rn-press img{max-width:100%;height:auto;display:block}
  .rn-press .wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
  .rn-press .en{font-family:var(--serif);letter-spacing:.06em}

  /* editor note (remove before publishing) */
  .rn-press .todo{background:var(--todo-bg);outline:1px dashed var(--todo-line);outline-offset:2px;padding:0 .2em}
  .rn-press .todo-block{background:var(--todo-bg);border:1px dashed var(--todo-line);padding:18px 20px;font-size:14px;color:var(--ink-2)}

  /* サイトヘッダーは position:fixed なので、コンテナ側で高さ分を空ける。
     編集メモのバナーがヘッダーに隠れないよう、パンくずではなくここで逃がす。 */
  .rn-press{padding-top:clamp(80px,11vh,104px)}

  /* パンくず — ガイドの .g-crumb に合わせる */
  .rn-press .crumb{font-size:11px;letter-spacing:.1em;color:var(--ink-3);padding:28px 0 0}
  .rn-press .crumb a{text-decoration:none}
  .rn-press .crumb a:hover{color:var(--ink)}
  .rn-press .crumb span{margin:0 .7em;color:#c4c4c4}

  .rn-press .hero{padding:56px 0 72px;border-bottom:1px solid var(--line)}
  .rn-press .hero .kicker{font-size:11px;letter-spacing:.28em;color:var(--ink-3);margin:0 0 32px}
  .rn-press .hero h1{font-family:var(--serif);font-size:clamp(28px,4.4vw,42px);font-weight:400;line-height:1.5;letter-spacing:.06em;margin:0 0 32px;color:var(--ink)}
  .rn-press .hero p.lead{font-size:15px;line-height:2;color:var(--ink-2);margin:0 0 36px;max-width:640px}
  .rn-press .hero .meta{font-size:11px;color:var(--ink-3);letter-spacing:.1em}
  .rn-press .hero .meta span+span::before{content:"／";margin:0 .8em;color:#c4c4c4}

  .rn-press nav.toc{border-bottom:1px solid var(--line);background:var(--bg-2)}
  .rn-press nav.toc ol{list-style:none;margin:0;padding:22px 0;display:flex;flex-wrap:wrap;gap:8px 28px;font-size:12px;letter-spacing:.1em}
  .rn-press nav.toc a{text-decoration:none;color:var(--ink-2)}
  .rn-press nav.toc a:hover{color:var(--ink)}
  .rn-press nav.toc li::before{content:attr(data-n);color:var(--ink-3);margin-right:.7em;font-family:var(--serif)}

  .rn-press main section{padding:80px 0;border-bottom:1px solid var(--line)}
  .rn-press main section:last-of-type{border-bottom:0}
  .rn-press .sec-head{display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:baseline;margin-bottom:48px}
  .rn-press .sec-head .n{font-family:var(--serif);font-size:12px;letter-spacing:.28em;color:var(--ink-3)}
  .rn-press .sec-head h2{font-family:var(--serif);font-size:24px;font-weight:400;margin:0;letter-spacing:.08em;line-height:1.6}
  .rn-press .sec-head h2 small{display:block;font-family:var(--serif);font-size:11px;letter-spacing:.28em;color:var(--ink-3);margin-top:10px;font-weight:400}
  .rn-press .grid{display:grid;grid-template-columns:120px 1fr;gap:24px}
  .rn-press .grid>.label{font-size:11px;letter-spacing:.16em;color:var(--ink-3);padding-top:8px}
  .rn-press .grid+.grid{margin-top:40px;padding-top:40px;border-top:1px solid var(--line)}
  .rn-press h3{font-size:15px;font-weight:500;margin:0 0 16px;letter-spacing:.06em}
  .rn-press p{margin:0 0 1em}
  .rn-press p:last-child{margin-bottom:0}
  .rn-press blockquote{margin:0;padding:24px 28px;background:var(--bg-2);border-left:1px solid var(--ink);font-size:15px;line-height:2}
  .rn-press blockquote+blockquote{margin-top:16px}
  .rn-press blockquote .cnt{display:block;font-size:11px;color:var(--ink-3);letter-spacing:.1em;margin-top:12px;font-family:var(--serif)}
  .rn-press .copy-hint{font-size:12px;color:var(--ink-3);margin-top:16px;line-height:1.9}

  .rn-press table{width:100%;border-collapse:collapse;font-size:14px}
  .rn-press th,.rn-press td{text-align:left;vertical-align:top;padding:16px 14px 16px 0;border-bottom:1px solid var(--line);line-height:1.9}
  .rn-press th{font-weight:400;color:var(--ink-3);width:9.5em;letter-spacing:.08em;font-size:12px;white-space:nowrap}
  .rn-press table.def th{width:11em}

  .rn-press .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
  .rn-press .card{background:var(--bg);padding:28px 24px}
  .rn-press .card .sw{aspect-ratio:4/3;margin:-28px -24px 24px}
  .rn-press .card h4{font-family:var(--serif);font-weight:400;font-size:14px;letter-spacing:.2em;margin:0 0 6px}
  .rn-press .card .sub{font-size:11px;color:var(--ink-3);letter-spacing:.14em;margin-bottom:14px}
  .rn-press .card p{font-size:13.5px;color:var(--ink-2);line-height:1.9}
  .rn-press .card .sw img{width:100%;height:100%;object-fit:cover}

  .rn-press .facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
  .rn-press .fact{background:var(--bg);padding:30px 26px}
  .rn-press .fact .num{font-family:var(--serif);font-size:36px;font-weight:400;letter-spacing:.02em;line-height:1.2;margin-bottom:12px}
  .rn-press .fact .num small{font-size:16px;margin-left:.2em}
  .rn-press .fact .desc{font-size:13.5px;color:var(--ink-2);line-height:1.9}
  .rn-press .fact .src{font-size:11px;color:var(--ink-3);margin-top:12px;letter-spacing:.06em}

  .rn-press ul.news{list-style:none;margin:0;padding:0}
  .rn-press ul.news li{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.9}
  .rn-press ul.news li:first-child{border-top:1px solid var(--line)}
  .rn-press ul.news .d{font-family:var(--serif);color:var(--ink-3);letter-spacing:.1em;font-size:12px;padding-top:4px}
  .rn-press ul.news a{text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:1px}
  .rn-press ul.news a:hover{border-color:var(--ink)}

  /* align-items を start にしないと figure が本文の高さまで伸び、
     写真より下にグレーの余りが出る */
  .rn-press .profile{display:grid;grid-template-columns:280px 1fr;gap:44px;align-items:start}
  .rn-press .portrait{margin:0}
  .rn-press .portrait img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 30%}

  .rn-press .asset-group + .asset-group{margin-top:44px;padding-top:44px;border-top:1px solid var(--line)}
  .rn-press .asset-group-title{display:flex;align-items:baseline;gap:14px;margin:0 0 20px;font-size:14px;font-weight:500;letter-spacing:.1em}
  .rn-press .asset-group-title span{font-size:11px;font-weight:400;color:var(--ink-3);letter-spacing:.08em}

  .rn-press .assets{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  .rn-press .assets-2{grid-template-columns:repeat(2,1fr)}
  .rn-press .asset{margin:0;border:1px solid var(--line);padding:20px}
  .rn-press .asset .thumb{aspect-ratio:4/3;background:var(--bg-2);margin:-20px -20px 16px;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--ink-3);border-bottom:1px solid var(--line);overflow:hidden}
  .rn-press .asset .thumb.has-img{padding:0}
  .rn-press .asset .thumb.is-portrait{aspect-ratio:3/4}
  .rn-press .asset .thumb.is-portrait img{object-position:50% 25%}
  .rn-press .asset .thumb img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;cursor:zoom-in}
  /* ロゴは切り抜かず、余白を持たせて全体を見せる */
  .rn-press .asset .thumb.logo-thumb{padding:0 18%}
  /* 'y' の下に伸びる部分があるぶん、幾何的な中央だと上寄りに見える。少し下げて光学的に揃える */
  .rn-press .asset .thumb.logo-thumb img{object-fit:contain;transform:translateY(7%)}
  /* 白ヌキのロゴは明るい背景だと見えないので、この1枚だけ地を暗くする */
  .rn-press .asset .thumb.logo-thumb.is-dark{background:#17171a}
  .rn-press .asset h4{margin:0 0 4px;font-size:13px;font-weight:500;letter-spacing:.08em}
  .rn-press .asset p{font-size:12px;color:var(--ink-3);margin-bottom:14px;line-height:1.8}
  .rn-press .asset .btn{padding:9px 14px;font-size:11px;letter-spacing:.12em}

  /* 画像の拡大表示 */
  .rn-press .zoomable{cursor:zoom-in}
  .rn-lightbox{position:fixed;inset:0;z-index:2000;background:rgba(20,20,20,.94);
    display:flex;align-items:center;justify-content:center;padding:40px;
    opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;cursor:zoom-out}
  .rn-lightbox.is-open{opacity:1;visibility:visible}
  .rn-lightbox img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
  .rn-lightbox .rn-lightbox-cap{position:absolute;left:0;right:0;bottom:20px;text-align:center;
    color:#d8d8d8;font-size:12px;letter-spacing:.1em}
  .rn-lightbox .rn-lightbox-close{position:absolute;top:18px;right:22px;width:40px;height:40px;
    border:0;background:none;color:#fff;font-size:26px;line-height:1;cursor:pointer}

  /* ボタンはサイト共通の rn-btn と同じ見た目にする */
  .rn-press .btn{display:inline-block;font-size:12px;letter-spacing:.16em;text-decoration:none;border:1px solid var(--ink);padding:12px 22px;transition:background .25s,color .25s}
  .rn-press .btn:hover{background:var(--ink);color:#fff}
  .rn-press .btn.ghost{border-color:var(--line);color:var(--ink-2)}
  .rn-press .btn.ghost:hover{border-color:var(--ink);background:transparent;color:var(--ink)}
  .rn-press .btn+.btn{margin-left:10px}

  .rn-press .bca{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  .rn-press .bca figure{margin:0}
  .rn-press .bca img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;background:var(--bg-2)}
  .rn-press .bca figcaption{font-size:12px;color:var(--ink-2);margin-top:12px;line-height:1.8}
  .rn-press .bca figcaption b{display:block;font-family:var(--serif);font-weight:400;letter-spacing:.2em;font-size:11px;color:var(--ink);margin-bottom:3px}
  .rn-press .terms{font-size:13px;color:var(--ink-2);line-height:1.9}
  .rn-press .terms li{margin-bottom:8px}

  .rn-press .contact{background:var(--bg-2);padding:40px}
  .rn-press .contact dl{margin:0;display:grid;grid-template-columns:9em 1fr;gap:12px 16px;font-size:14px}
  .rn-press .contact dt{color:var(--ink-3);font-size:12px;letter-spacing:.1em;padding-top:4px}
  .rn-press .contact dd{margin:0}

  .rn-press .ai-note{border:1px solid var(--line);padding:26px 28px;font-size:13.5px;color:var(--ink-2);line-height:1.9}
  .rn-press .ai-note code{font-family:ui-monospace,Menlo,monospace;font-size:13px;background:var(--bg-2);padding:3px 8px;border:1px solid var(--line)}

  @media (max-width:760px){
    .rn-press .assets,.rn-press .assets-2{grid-template-columns:1fr 1fr;gap:14px}
    .rn-press .asset{padding:14px}
    .rn-press .asset .thumb{margin:-14px -14px 12px}
    .rn-lightbox{padding:16px}
    .rn-press .bca{grid-template-columns:1fr 1fr}
    .rn-press .bca figure:first-child{grid-column:1/-1}
    .rn-press .bca figure:first-child img{aspect-ratio:3/2}
    .rn-press main section{padding:56px 0}
    .rn-press .sec-head,.rn-press .grid{grid-template-columns:1fr;gap:12px}
    .rn-press .sec-head{margin-bottom:32px}
    .rn-press .grid+.grid{margin-top:32px;padding-top:32px}
    .rn-press .cards,.rn-press .facts,.rn-press .assets{grid-template-columns:1fr}
    .rn-press .profile{grid-template-columns:1fr}
    .rn-press .portrait{max-width:240px}
    .rn-press .contact{padding:26px}
    .rn-press .contact dl{grid-template-columns:1fr;gap:4px 0}
    .rn-press .contact dt{margin-top:12px}
    .rn-press ul.news li{grid-template-columns:1fr;gap:4px}
    .rn-press th{width:7em;white-space:normal}
    .rn-press table.def th{width:7em}
    .rn-press .btn+.btn{margin-left:0;margin-top:10px}
  }

/* ── プレスリリース記事 ───────────────────────────
   /press/news/ 配下。プレスキットのトークンをそのまま使う。 */
.rn-press .pr-head{padding:40px 0 56px;border-bottom:1px solid var(--line)}
.rn-press .pr-meta{font-size:11px;letter-spacing:.14em;color:var(--ink-3);margin:0 0 24px}
.rn-press .pr-meta span+span::before{content:"／";margin:0 .8em;color:#c4c4c4}
.rn-press .pr-title{font-family:var(--serif);font-size:clamp(24px,3.4vw,34px);font-weight:400;
  line-height:1.6;letter-spacing:.04em;margin:0 0 20px;color:var(--ink)}
.rn-press .pr-sub{font-size:14px;line-height:2;color:var(--ink-2);margin:0}

.rn-press .pr-body{padding:64px 0 80px}
.rn-press .pr-body>*{max-width:720px}
.rn-press .pr-lead{font-size:15px;line-height:2.1;margin:0 0 48px}
.rn-press .pr-body h2{font-family:var(--serif);font-size:20px;font-weight:400;letter-spacing:.06em;
  line-height:1.7;margin:64px 0 24px;padding-top:32px;border-top:1px solid var(--line)}
.rn-press .pr-body h2:first-of-type{margin-top:0}
.rn-press .pr-body p{font-size:15px;line-height:2.1;margin:0 0 20px}
.rn-press .pr-note{font-size:13px;color:var(--ink-3);line-height:1.9}

/* 図版は本文より広く出して、変化が伝わるようにする */
.rn-press .pr-fig{max-width:100%;margin:40px 0}
.rn-press .pr-fig img{width:100%}
.rn-press .pr-fig figcaption{font-size:12px;color:var(--ink-3);margin-top:12px;letter-spacing:.06em}
.rn-press .pr-ba{max-width:100%;margin:40px 0;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rn-press .pr-ba figure{margin:0}
.rn-press .pr-ba img{width:100%;aspect-ratio:4/3;object-fit:cover}
.rn-press .pr-ba.is-portrait img{aspect-ratio:3/4}
.rn-press .pr-ba figcaption{font-family:var(--serif);font-size:11px;letter-spacing:.2em;
  color:var(--ink-3);margin-top:10px}

.rn-press .pr-quote{max-width:720px;background:var(--bg-2);border-left:1px solid var(--ink);
  padding:28px 30px;margin:32px 0;font-size:15px;line-height:2.1}
.rn-press .pr-quote .who{display:block;font-size:12px;color:var(--ink-3);letter-spacing:.1em;margin-top:16px}

.rn-press .pr-foot{border-top:1px solid var(--line);padding:48px 0 96px}
.rn-press .pr-back{font-size:12px;letter-spacing:.1em;color:var(--ink-3);text-decoration:none;
  border-bottom:1px solid var(--line);padding-bottom:2px}
.rn-press .pr-back:hover{color:var(--ink);border-color:var(--ink)}

@media (max-width:760px){
  .rn-press .pr-body{padding:48px 0 56px}
  .rn-press .pr-body h2{margin:48px 0 20px;padding-top:28px}
  .rn-press .pr-ba{grid-template-columns:1fr;gap:20px}
}
