/* || 余白・テキスト */
.py-80 { padding: 80px 20px; }
.py-100 { padding: 100px 20px; }
.text-center { text-align: center; }
.mb-10 { margin-bottom: 10px; }
.mb-30 { margin-bottom: 30px; }
.mb-40 { margin-bottom: 40px; }
.mb-50 { margin-bottom: 50px; }

/* || TOPページ固有 */
.top-concept { background: #fff; }
.top-concept__txt { line-height: 2; font-size: 1.1rem; color: #444; }
.top-house { background: #fdfdfd; }
.top-more { background: #333; color: #fff; }
.top-more h2 { color: #fff; }

.u-text-center { text-align: center !important; }
.u-fw-b { font-weight: bold !important; }
.u-text-green-large { color: #00b900 !important; font-size: 1.8rem !important; }
.u-highlight-orange { color: #ff6600 !important; }

/* =========================
   スマホ余白統一（追記のみ）
   基準：CONCEPT実測値 = 8vw
========================= */
@media (max-width: 768px) {
    .py-80  { padding-left: 8vw; padding-right: 8vw; }
    .py-100 { padding-left: 8vw; padding-right: 8vw; }
}