/* generated from src/letter.css by _design/tools/build_css.py — 編集は src/ 側で */
/* ==========================================================================
   設計士からの手紙（XD：SP 390×4677 ／ PC はデザインなし：PC3ページの寸法ルールで制作）
   ========================================================================== */
/* ---------- PC（制作部が PC3ページのルールで構成：ラベル x200/y80・見出し x300/y196・本文カラム 800） ---------- */
.lt-h1 { margin: calc(92 * var(--u)) 0 0 calc(50% - calc(400 * var(--u))); }
.lt-h1 :is(img, .c-chars) { width: calc(434.7 * var(--u)); height: auto; }
.lt-profile { margin: calc(60 * var(--u)) 0 0 calc(50% - calc(400 * var(--u))); }
.lt-profile__role { font-size: calc(12 * var(--u)); line-height: calc(20 * var(--u)); letter-spacing: 0.05em; }
.lt-profile__name { margin-top: calc(11.38 * var(--u)); font-size: calc(18 * var(--u)); line-height: calc(28 * var(--u)); letter-spacing: 0.05em; }
.lt-profile__bio { margin-top: calc(39.62 * var(--u)); font-size: calc(12 * var(--u)); line-height: calc(20 * var(--u)); }
.lt-photo { width: calc(800 * var(--u)); margin: 0 auto; }
.lt-photo img { width: 100%; height: auto; }
.lt-photo--1 { margin-top: calc(82.23 * var(--u)); }
.lt-body { width: calc(800 * var(--u)); margin: 0 auto; }
.lt-h2 { position: relative; top: 0; font-size: calc(18 * var(--u)); line-height: calc(30 * var(--u)); letter-spacing: 0.05em; }
.lt-h2--1 { margin-top: calc(72 * var(--u)); }
.lt-h2--2 { margin-top: calc(64 * var(--u)); }
.lt-h2--3 { margin-top: calc(72 * var(--u)); }
.lt-p { position: relative; top: calc(0.54 * var(--u)); margin-top: calc(26.31 * var(--u)); font-size: calc(15 * var(--u)); line-height: calc(28 * var(--u)); letter-spacing: -0.001em; }
.lt-p--3 { margin-top: calc(31.31 * var(--u)); }
.lt-photo--2 { width: calc(800 * var(--u)); margin-top: calc(72 * var(--u)); }
.lt-view { width: calc(800 * var(--u)); margin: calc(139.52 * var(--u)) auto 0; padding-bottom: calc(101.02 * var(--u)); }
.lt-view .xd-block { width: calc(333 * var(--u)); height: auto; margin-left: 0; }
.pg-letter .c-label__box :is(img, .c-chars):last-child { width: calc(165.1 * var(--u)); }
@media (min-width: 768px) and (max-width: 1023px) {
  .pg-letter .c-label { margin-left: 32px; }
  .lt-h1, .lt-profile { margin-left: 64px; }
  .lt-photo, .lt-body, .lt-view { width: auto; margin-left: 64px; margin-right: 64px; }
}

/* ---------- SP（XD どおり） ---------- */
@media (max-width: 767px) {
  .lt-h1 { margin: calc(82 * var(--u)) 0 0 calc(20 * var(--u)); }
  .lt-h1 :is(img, .c-chars) { width: calc(310.5 * var(--u)); }
  .lt-profile { margin: calc(59.27 * var(--u)) 0 0 calc(20 * var(--u)); }
  .lt-profile__role, .lt-profile__bio { position: relative; top: calc(0.5 * var(--u)); }
  .lt-photo { width: calc(350 * var(--u)); margin-left: calc(20 * var(--u)); }
  .lt-body { width: calc(350 * var(--u)); margin-left: calc(20 * var(--u)); }
  .lt-h2--1 { margin-top: calc(51.65 * var(--u)); }
  .lt-h2--2 { margin-top: calc(53.69 * var(--u)); }
  .lt-h2--3 { margin-top: calc(62.65 * var(--u)); }
  .lt-p { white-space: nowrap; }
  .lt-photo--2 { width: calc(350 * var(--u)); margin: calc(62.04 * var(--u)) 0 0; }
  .lt-view { width: auto; margin: calc(139.52 * var(--u)) 0 0 calc(20 * var(--u)); }
}
