/* Figmaの「ポートフォリオ v1」を忠実に再現するための共通スタイル。数値はFigmaの値そのまま */
:root{
  --ink:#12233a; --sub:#5c6b7e; --muted:#9aa7b6; --muted2:#8a97a6; --note:#8c9aab;
  --brand:#2f80c9; --brand-deep:#2d6fb3; --line:#e4e9f0; --soft:#f4f8fc; --soft-line:#dbe8f5;
  --tl-line:#cfe0f0; --cover-bg:#f4f6fa; --cover-sub:#4a5a6e;
}
*{box-sizing:border-box;-webkit-print-color-adjust:exact;print-color-adjust:exact}
html,body{margin:0;padding:0;background:#fff}
p,h1,h2,h3,ul,ol,figure{margin:0;padding:0}
body{font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased;font-feature-settings:normal;font-kerning:normal;text-spacing-trim:space-all}
.slide{position:relative;width:1280px;height:720px;overflow:hidden;background:#fff;font-family:'Noto Sans JP',sans-serif}
.a{position:absolute}
/* テキスト：Figmaの自動幅（W）は折り返さない、固定幅（H）は幅で折り返す */
.t{position:absolute;margin:0;white-space:pre;color:var(--ink);font-weight:400}
.t.w{white-space:pre-wrap;word-break:normal;line-break:strict;overflow-wrap:anywhere}
.b{font-weight:700} .m{font-weight:500} .k{font-weight:900}
/* よく使う文字スタイル（Figmaの値） */
.label{font-size:12px;line-height:1.4;letter-spacing:.18em;color:var(--muted)}
.h1{font-size:32px;line-height:1.35;font-weight:700;color:var(--ink)}
.lead{font-size:15px;line-height:1.6;color:var(--sub)}
.pn{font-size:12px;line-height:1.2;letter-spacing:.08em;color:var(--muted)}
.rule{position:absolute;left:72px;width:1136px;height:1px;background:var(--line)}
/* 画像：FILL＝cover。Figmaのトリミング位置は書き出し済み画像で合わせている */
.img{position:absolute;overflow:hidden}
.img img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.stroke-in{box-shadow:inset 0 0 0 1px var(--line)}
@page{size:1280px 720px;margin:0}
/* 太い大きな文字は、ブラウザとFigmaで字面の縦位置が1〜2pxずれるため補正（textcheck.mjsで実測） */
.h1{transform:translateY(-1px)}
.fix-48k{transform:translateY(-2px)}
.fix-22b{transform:translateY(-1px)}
