/* N's Create. 不動産レポート — A4縦（794×1123px）
   紙 #F5F3EF／パネル #EAE7E1／墨 #141414／補足 #66635D／罫線 #D6D2CA／錆 #8C4F2B／マイナス #A33B2B */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Noto+Sans+JP:wght@400;500&display=swap');

.nsr{--paper:#F5F3EF;--panel:#EAE7E1;--ink:#141414;--muted:#66635D;--line:#D6D2CA;--acc:#8C4F2B;--neg:#A33B2B;
  --num:Inter,'Noto Sans JP',sans-serif}
.nsr .page{width:794px;height:1123px;box-sizing:border-box;padding:40px 48px 32px;background:var(--paper);color:var(--ink);
  font-family:'Noto Sans JP',sans-serif;font-feature-settings:'palt';letter-spacing:.03em;display:flex;flex-direction:column;
  overflow:hidden;margin:0 auto 24px;box-shadow:none;position:relative}
.nsr .page.cover{padding:72px 72px 64px}
.nsr *{box-sizing:border-box}
.nsr img{display:block}

/* ヘッダー・フッター */
.nsr .hd{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:12px;border-bottom:1px solid var(--ink)}
.nsr .hd img{height:24px;width:auto}
.nsr .ft{margin-top:auto;padding-top:12px;border-top:1px solid var(--ink);display:flex;justify-content:space-between;align-items:flex-end;gap:24px;font-size:11px;color:var(--muted)}
.nsr .ft b{font-family:var(--num);font-weight:600;letter-spacing:.16em}
.nsr .co{font-family:var(--num);font-size:14px;font-weight:600;letter-spacing:.04em;color:var(--ink)}
.nsr .co-sub{margin-top:4px;font-size:12px;line-height:19px;color:var(--muted)}
.nsr .co-r{text-align:right;font-family:var(--num);font-size:12px;line-height:19px;color:var(--ink)}

/* 見出し */
.nsr .lab{font-family:var(--num);font-size:11px;font-weight:600;letter-spacing:.16em;color:var(--muted)}
.nsr .sec{margin-top:16px;padding-bottom:6px;border-bottom:1px solid var(--ink)}
.nsr .sec2{margin-top:12px;padding-bottom:5px;border-bottom:1px solid var(--ink)}
.nsr .conf{color:var(--acc);border-bottom-color:var(--acc)}
.nsr h1{margin:6px 0 0;font-size:20px;line-height:30px;font-weight:500}
.nsr .lead{margin-top:8px;font-size:12px;line-height:19px}
.nsr .note{color:var(--muted);font-size:11px;line-height:17px}

/* KPI帯 */
.nsr .kpis{margin-top:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.nsr .kpis.k3{grid-template-columns:repeat(3,minmax(0,1fr))}
.nsr .kpis>div{padding:10px 0}
.nsr .kpis>div+div{border-left:1px solid var(--line);padding-left:14px}
.nsr .kl{font-size:11px;color:var(--muted)}
.nsr .big{font-family:var(--num);font-weight:300;font-size:28px;line-height:36px}
.nsr .big small{font-size:12px;font-weight:400;margin-left:2px}
.nsr .sub{font-size:11px;color:var(--muted);line-height:16px}

/* 前提条件ボックス */
.nsr .box{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);font-size:11.5px;line-height:18px;margin-top:10px}
.nsr .box>div{padding:8px 12px}
.nsr .box>div+div{border-left:1px solid var(--line);background:var(--panel)}
.nsr .box .bt{font-weight:500;font-size:12px}

/* 表 */
.nsr table{border-collapse:collapse;width:100%;font-size:12px;line-height:17px}
.nsr th,.nsr td{border-bottom:1px solid var(--line);padding:4px 8px 4px 0;text-align:left;vertical-align:top;font-weight:400}
.nsr .tight th,.nsr .tight td{padding-top:3px;padding-bottom:3px}
.nsr thead th{color:var(--muted);font-size:11px;border-bottom:1px solid var(--ink)}
.nsr .num{text-align:right;font-family:var(--num);font-variant-numeric:tabular-nums;white-space:nowrap;padding-right:0;padding-left:6px}
.nsr tr.sum td{font-weight:500;border-bottom:1px solid var(--ink)}
.nsr td.note,.nsr th.nt{padding-left:18px}
.nsr .grp{text-align:center;color:var(--ink);font-size:12px;font-weight:500;border-bottom:1px solid var(--line)}
.nsr .sep{border-left:1px solid var(--line)}
.nsr .cum{background:var(--panel);padding-right:6px}
.nsr .acc{color:var(--acc)}
.nsr .neg{color:var(--neg)}
.nsr .kv th{width:130px;color:var(--muted);font-size:12px}

/* 訴求点 */
.nsr .pts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
.nsr .pts>div{padding:7px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:18px}
.nsr .pts b{font-weight:500;display:block}
.nsr .src{font-size:10.5px;color:var(--muted);margin-left:4px;font-weight:400}

/* 物件概要 */
.nsr .ttl{margin:10px 0 0;font-size:24px;line-height:34px;font-weight:500;letter-spacing:.04em}
.nsr .specline{margin-top:4px;font-size:13px;display:flex;gap:14px;align-items:center}
.nsr .specline i{width:1px;height:12px;background:var(--line);display:inline-block}
.nsr .media{margin-top:16px;display:grid;grid-template-columns:290px 1fr;gap:24px}
.nsr .media .ph{width:100%;height:256px;object-fit:cover;background:var(--panel)}
.nsr .mapwrap{position:relative}
.nsr .mapwrap img.map{width:100%;height:232px;object-fit:cover;background:var(--panel)}
.nsr .qr{position:absolute;right:6px;bottom:6px;background:#fff;padding:4px 4px 2px;text-align:center;font-family:var(--num);font-size:7px;font-weight:600;letter-spacing:.08em}
.nsr .qr img{width:56px;height:56px}
.nsr .nearby{margin-top:12px;padding:8px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:16px;font-size:12px;align-items:center}
.nsr .nearby span.m{color:var(--muted);font-size:11px;margin-left:4px}
.nsr .two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}

/* 間取り図 */
.nsr .plan-head{margin-top:24px;display:flex;gap:20px;align-items:flex-start}
.nsr .plan-type{font-family:var(--num);font-weight:300;font-size:64px;line-height:60px;text-align:center}
.nsr .plan-type small{display:block;font-size:10px;letter-spacing:.2em;font-weight:600;color:var(--muted);line-height:14px;margin-top:6px}
.nsr .plan-meta{border-left:1px solid var(--line);padding-left:20px}
.nsr .plan-body{margin-top:20px;display:grid;grid-template-columns:400px 1fr;gap:28px;flex:1;min-height:0}
.nsr .plan-body img.plan{width:100%;max-height:610px;object-fit:contain;object-position:top left}
.nsr .item{padding:7px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:18px}
.nsr .item .it{display:flex;justify-content:space-between;gap:8px;font-weight:500}
.nsr .item .it span{font-size:11px;color:var(--muted);font-weight:400;white-space:nowrap}

/* 承認欄 */
.nsr .stamps{margin-top:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line)}
.nsr .stamps>div{height:76px;padding:6px 8px;font-size:11px;color:var(--muted)}
.nsr .stamps>div+div{border-left:1px solid var(--line)}

/* はみ出すページは文言を削らず、段階的に詰める（NSReport.fit が付ける） */
.nsr .page.fit1 table{font-size:11.5px;line-height:16px}
.nsr .page.fit1 th,.nsr .page.fit1 td{padding-top:3px;padding-bottom:3px}
.nsr .page.fit1 .sec{margin-top:12px}
.nsr .page.fit1 .lead{font-size:11.5px;line-height:18px}
.nsr .page.fit2 table{font-size:11px;line-height:15px}
.nsr .page.fit2 th,.nsr .page.fit2 td{padding-top:2px;padding-bottom:2px}
.nsr .page.fit2 .kpis>div{padding:6px 0}
.nsr .page.fit2 .kpis>div+div{padding-left:12px}
.nsr .page.fit2 .big{font-size:24px;line-height:30px}
.nsr .page.fit2 .box{font-size:11px;line-height:16px}
.nsr .page.fit2 .note{font-size:10.5px;line-height:15px}
.nsr .page.fit3 table{font-size:10.5px;line-height:14px}
.nsr .page.fit3 .lead{font-size:11px;line-height:16px}
.nsr .page.fit3 .sec,.nsr .page.fit3 .sec2{margin-top:9px}
.nsr .page.fit3 .note{font-size:10px;line-height:14px}

@page{size:A4;margin:0}
@media print{
  html,body{margin:0;background:#F5F3EF;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .nsr .page{margin:0;break-after:page}
  .nsr .page:last-child{break-after:auto}
  .nsr-noprint{display:none!important}
}
