/* NAZ letter page — sample/letter.html の inline <style> から切り出し */

/* ========== 代表からの手紙 専用 ========== */
.letter-em{color:var(--clr-primary);font-weight:700}
.letter-section{padding:96px 0}
.letter-section.alt{background:var(--clr-bg-soft)}
.letter-wrap{max-width:760px;margin:0 auto}

.letter-h{display:flex;align-items:baseline;gap:18px;margin:0 0 36px;flex-wrap:wrap}
.letter-h .num{font-family:var(--font-en);font-size:14px;font-weight:800;letter-spacing:.28em;color:var(--clr-accent);text-transform:uppercase;white-space:nowrap}
.letter-h .num::before{content:"";display:inline-block;width:36px;height:1px;background:var(--clr-accent);vertical-align:middle;margin-right:14px;transform:translateY(-2px)}
.letter-h .ttl{font-size:clamp(20px,2.4vw,28px);font-weight:700;color:var(--clr-primary);letter-spacing:.04em;line-height:1.55;flex:1 1 auto;min-width:240px}

.letter-body p{font-size:16px;line-height:2.05;letter-spacing:.04em;color:var(--text);margin:0 0 22px}
.letter-body p:last-child{margin-bottom:0}
.letter-body strong{color:var(--clr-primary)}

.letter-list{margin:14px 0 22px;padding:0;list-style:none}
.letter-list li{position:relative;padding:8px 0 8px 32px;font-size:15px;line-height:1.85;color:var(--text)}
.letter-list li::before{content:"✓";position:absolute;left:6px;top:8px;font-family:var(--font-en);font-weight:800;color:var(--clr-accent);font-size:16px}

.letter-pull{background:linear-gradient(135deg,rgba(13,47,92,.04),rgba(201,164,76,.06));border-left:4px solid var(--clr-accent);padding:24px 28px;border-radius:0 8px 8px 0;margin:28px 0;font-size:16px;line-height:2;color:var(--text)}
.letter-pull strong{color:var(--clr-primary)}

.letter-pdf{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid rgba(13,47,92,.12);border-radius:10px;padding:20px 24px;margin:24px 0;box-shadow:0 6px 18px -12px rgba(13,47,92,.18)}
.letter-pdf-ico{flex-shrink:0;width:48px;height:48px;background:var(--clr-primary);color:#fff;border-radius:8px;display:grid;place-items:center;font-family:var(--font-en);font-size:11px;font-weight:800;letter-spacing:.06em}
.letter-pdf-body{flex:1;font-size:14px;line-height:1.7;color:var(--clr-text-primary)}
.letter-pdf-body strong{display:block;color:var(--clr-primary);font-size:15px;margin-bottom:4px}
.letter-pdf a{color:var(--clr-primary);text-decoration:underline;font-weight:600}

.letter-divider{margin:0 auto;width:120px;height:1px;background:rgba(13,47,92,.18);position:relative}
.letter-divider::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;background:var(--clr-accent);border-radius:50%;transform:translate(-50%,-50%)}

.letter-cta{background:var(--clr-primary);color:#fff;border-radius:14px;padding:48px 40px;margin-top:24px;text-align:center}
.letter-cta h3{color:#fff;font-size:clamp(20px,2.4vw,26px);margin:0 0 18px;letter-spacing:.04em;line-height:1.5}
.letter-cta p{color:rgba(255,255,255,.92);font-size:15px;line-height:1.95;margin:0 auto 28px;max-width:520px}
.letter-cta .btn{justify-content:center}
.letter-cta .btn a{background:linear-gradient(135deg,var(--clr-accent) 0%,var(--clr-accent-light) 100%);color:var(--clr-primary);font-weight:800;min-width:280px;border:none}
.letter-cta-sub{margin-top:14px;font-size:12px;color:rgba(255,255,255,.6);letter-spacing:.04em}

@media (max-width:768px){
  .letter-section{padding:64px 0}
  .letter-body p{font-size:15px;line-height:1.95}
  .letter-pull{padding:18px 20px;font-size:15px;line-height:1.85}
  .letter-cta{padding:36px 24px}
  .letter-h{gap:10px}
  .letter-h .num::before{width:24px;margin-right:8px}
}