/* =========================================================
   つきじ治作 — utilities.css
   反復していたインラインstyleを意味的クラスへ集約（構造と表現の分離）。
   最後に読み込むことでインライン同等の優先順を保持。
   ========================================================= */
.u-gold-nowrap{color:var(--gold);white-space:nowrap;}
.u-note{margin-top:32px;font-family:var(--serif);font-size:12px;line-height:1.9;letter-spacing:.06em;color:var(--caption);}
.u-list-note{list-style:none;padding:0;margin:12px 0;font-size:12px;color:var(--caption);letter-spacing:.06em;}
.u-lead{font-family:var(--serif);font-weight:300;font-size:14px;line-height:2.2;letter-spacing:.08em;color:var(--mute);}
.u-meta{font-family:var(--serif);font-style:normal;font-size:13px;color:var(--mute);}
.u-measure-center{max-width:680px;margin:0 auto;text-align:center;}
.u-measure{max-width:680px;margin:0 auto;}
.u-en-accent{margin-top:18px;font-family:var(--en-body);font-style:italic;font-size:18px;color:var(--gold-hi);letter-spacing:.04em;}
.u-lead-center{font-family:var(--serif);font-size:14px;line-height:2;letter-spacing:.08em;color:var(--mute);margin-bottom:28px;text-align:center;}
.u-deflist{display:grid;grid-template-columns:auto 1fr;gap:10px 20px;font-family:var(--serif);font-size:13px;line-height:2;letter-spacing:.06em;color:var(--mute);}
.u-img-cover{width:100%;height:clamp(280px,50vw,520px);object-fit:cover;display:block;}
.u-mt-lg{margin-top:clamp(28px,3vw,44px);}
.u-mt-xl{margin-top:clamp(32px,4vw,48px);}
.u-clip{overflow:hidden;}

/* --- 追加: 反復していた長尾パターン（≥3回）。宣言が内容を示す --- */
.u-t01{max-width:680px;margin:0 auto clamp(48px,6vw,80px);font-family:var(--serif);font-weight:300;font-size:clamp(13px,1.1vw,15px);line-height:2;letter-spacing:.08em;color:var(--mute);text-align:center;}
.u-t02{margin-top:10px;}
.u-t03{max-width:680px;margin:0 auto;text-align:center;font-family:var(--serif);font-weight:300;font-size:14px;line-height:2.2;letter-spacing:.08em;color:var(--mute);}
.u-t04{width:100%;height:clamp(280px,40vw,480px);overflow:hidden;}
.u-t05{width:100%;height:100%;object-fit:cover;display:block;}
.u-t06{margin-top:clamp(48px,6vw,80px);}
.u-t07{margin-top:28px;}
.u-t08{font-size:13px;}
.u-t09{max-width:680px;margin:0 auto clamp(32px,4vw,48px);text-align:center;font-family:var(--serif);font-weight:300;font-size:14px;line-height:2.2;letter-spacing:.08em;color:var(--mute);}
.u-t10{font-family:var(--serif);font-size:13px;line-height:2;letter-spacing:.08em;color:var(--caption);margin-top:24px;}
.u-t11{margin-bottom:10px;}
.u-t12{font-family:var(--serif);font-size:12px;line-height:1.8;letter-spacing:.06em;color:var(--caption);margin:0;}
.u-t13{font-family:var(--serif);font-style:normal;font-size:12px;color:var(--mute);}
.u-t14{font-family:var(--en-body);font-style:italic;}
.u-t15{color:var(--gold-hi);text-decoration:underline;text-underline-offset:4px;}
.u-t16{grid-column:1 / -1;}
.u-t17{text-decoration:none;color:inherit;display:block;}
.u-t18{font-family:var(--serif-display);font-weight:500;font-size:var(--fs-h4);letter-spacing:.14em;color:var(--gold);margin:0 0 12px;}
.u-t19{font-family:var(--serif);font-size:13px;line-height:2.2;letter-spacing:.08em;color:var(--caption);margin:0;}
.u-t20{padding-left:40px;}
.u-t21{margin-top:24px;font-family:var(--serif);font-size:12px;line-height:1.9;letter-spacing:.06em;color:var(--caption);}
