.uc-page { color:#333; line-height:1.8; font-size:15px; }
.uc-page *, .uc-page *::before, .uc-page *::after { box-sizing:border-box; }
.uc-page img { max-width:100%; height:auto; }
.uc-page a { color:#2b7a9e; }
.uc-page p { margin:0 0 1em; }
.uc-page ul { margin:0; padding-left:1.4em; }
.uc-page li { margin-bottom:.4em; }

.uc-inner { max-width:1320px; margin:0 auto; padding:0 16px; }


.uc-banner-title { font-size:45px; font-weight:bold; margin:0; letter-spacing:.05em; color:#fff}
.uc-banner-sub { font-size:15px; letter-spacing:.2em; margin-top:8px; opacity:.85; color:#fff}
.uc-banner {
  background:
 
    url('/uniform-cleaning/assets/img/banner-uniform-cleaning.jpg') center center / cover no-repeat;
  color: #fff;
  text-align: center;
  padding: 48px 16px;
  min-height: 300px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* パンくず */
.uc-breadcrumb { font-size:13px; padding:12px 0; color:#666; }
.uc-breadcrumb a { color:#2b7a9e; text-decoration:none; }
.uc-breadcrumb span { margin:0 6px; color:#aaa; }

/* セクション共通 */
.uc-section { padding:48px 0; }
.uc-section-gray { background:#f5f8fa; }
.uc-h2 { font-size:25px; font-weight:bold; color:#1F5C8B; margin:0 0 24px; padding-bottom:10px; border-bottom:1px solid #1F5C8B; }
.uc-h3 { font-size:17px; font-weight:bold; color:#1F5C8B; margin:24px 0 12px; }
.uc-lead { font-size:16px; margin-bottom:16px; }
.uc-note { font-size:13px; color:#666; }

/* グリッド */
.uc-grid { display:flex; flex-wrap:wrap; margin:0 -8px; }
.uc-col { padding:0 8px; margin-bottom:16px; width:100%; }
@media (min-width:640px) {
	.uc-col-2 { width:50%; }
	.uc-col-3 { width:33.333%; }
	.uc-col-4 { width:25%; }
}

/* カード */
.uc-card { background:#fff; border:1px solid #e2e8ee; border-radius:6px; padding:20px; height:100%; }
.uc-card h3 { font-size:20px; font-weight:bold; margin:0 0 10px; color:#1F5C8B; }
.uc-card-head { background:#1F5C8B; color:#fff; font-weight:bold; font-size:20px; margin:-20px -20px 14px; padding:12px 20px; border-radius:6px 6px 0 0; }
.uc-card p, .uc-card ul { font-size:16px; margin:0; }

/* 番号付き理由 */
.uc-reason { display:flex; gap:14px; margin-bottom:22px; }
.uc-reason-num { flex:0 0 40px; height:40px; border-radius:50%; background:#1F5C8B; color:#fff; display:flex; align-items:center; justify-content:center; font-weight:bold; font-size:17px; }
.uc-reason-body h3 { font-size:20px; font-weight:bold; margin:0 0 6px; color:#1F5C8B; }
.uc-reason-body p { font-size:16px; margin:0; }

/* メリットリスト */
.uc-merit { background:#fff; border:1px solid #e2e8ee; border-left:4px solid #4fa6c6; border-radius:6px; padding:16px 20px; height:100%; }
.uc-merit h3 { font-size:20px; font-weight:bold; margin:0 0 6px; color:#1F5C8B; }
.uc-merit p { font-size:16px; margin:0; }

/* ステップ */
.uc-step { background:#fff; border:1px solid #e2e8ee; border-radius:6px; padding:20px; height:100%; }
.uc-step-num { color:#4fa6c6; font-weight:bold; font-size:13px; letter-spacing:.1em; margin-bottom:6px; }
.uc-step h3 { font-size:16px; font-weight:bold; margin:0 0 8px; }
.uc-step p { font-size:14px; margin:0; }

/* フロー（集配サイクル） */
.uc-flow { display:flex; flex-wrap:wrap; gap:8px; align-items:stretch; }
.uc-flow-item { flex:1 1 140px; background:#fff; border:1px solid #e2e8ee; border-radius:6px; padding:16px 12px; text-align:center; }
.uc-flow-item strong { display:block; color:#1F5C8B; font-size:20px; margin-bottom:6px; }
.uc-flow-item p { font-size:16px; margin:0; }
.uc-flow-arrow { display:none; }
@media (min-width:640px) {
	.uc-flow { flex-wrap:nowrap; align-items:center; }
	.uc-flow-arrow { display:block; color:#4fa6c6; font-size:20px; flex:0 0 auto; }
}

/* 料金目安テーブル */
.uc-table { width:100%; border-collapse:collapse; background:#fff; font-size:14px; }
.uc-table th, .uc-table td { border:1px solid #e2e8ee; padding:12px 14px; text-align:left; vertical-align:top; font-size:17px;}
.uc-table th { background:#1F5C8B; color:#fff; font-weight:bold; white-space:nowrap; }

/* FAQ */
.uc-faq details { background:#fff; border:1px solid #e2e8ee; border-radius:6px; margin-bottom:12px; overflow:hidden; }
.uc-faq summary { cursor:pointer; padding:16px 20px; font-weight:bold; font-size:18px; list-style:none; display:flex; align-items:center; gap:10px; }
.uc-faq summary::-webkit-details-marker { display:none; }
.uc-faq summary::before { content:"Q"; flex:0 0 26px; height:26px; border-radius:50%; background:#1F5C8B; color:#fff; display:flex; align-items:center; justify-content:center; font-size:16px; }
.uc-faq summary::after { content:"＋"; margin-left:auto; color:#999; font-weight:normal; }
.uc-faq details[open] summary::after { content:"－"; }
.uc-faq .uc-faq-a { padding:0 20px 18px 56px; font-size:16px; margin:0; }

/* CTA */
.uc-cta { background: linear-gradient(90deg, #6ec7e8 0%, #0d3e80 25%, #0d3e80 100%) !important; color:#fff; text-align:center; padding:56px 16px; }
.uc-cta h2 { font-size:36px; font-weight:bold; margin:0 0 14px; color:#fff; }
.uc-cta p { margin:0 0 26px; font-size:18px; opacity:.92; color:#fff;}
.uc-btn { display:inline-block; text-decoration:none; font-weight:bold; padding:15px 32px; border-radius:6px; font-size:16px; margin:6px; }
.uc-btn-primary { background:#fff; color:#1F5C8B; }
.uc-btn-outline { background:#fff; color:#1F5C8B; }

/* 切り替え訴求ボックス */
.uc-switch { background:#fff; border:2px solid #4fa6c6; border-radius:8px; padding:24px; }
.uc-switch h3 { font-size:20px; font-weight:bold; color:#1F5C8B; margin:0 0 12px; }

/* 関連リンク */
.uc-links { display:flex; flex-wrap:wrap; gap:10px; padding:0; margin:0; list-style:none; }
.uc-links li { margin:0; }
.uc-links a { display:block; text-decoration:none; font-size:14px; background:#fff; border:1px solid #d7e3ec; border-radius:6px; padding:10px 14px; color:#1F5C8B; font-weight:bold; }

@media (max-width:639px) {
	.uc-banner { padding:36px 16px; }
	.uc-banner-title { font-size:22px; }
	.uc-h2 { font-size:19px; }
	.uc-section { padding:36px 0; }
	.uc-btn { display:block; width:100%; max-width:320px; margin:8px auto; }
}
