/* ========== 基本リセット（このページのmain内のみ） ========== */
.bc-page { color:#333; line-height:1.8; font-size:20px;; }
.bc-page *, .bc-page *::before, .bc-page *::after { box-sizing:border-box; }
.bc-page img { max-width:100%; height:auto; }
.bc-page a { color:#2b7a9e; }
.bc-page p { margin:0 0 1em; }
.bc-page ul { margin:0; padding-left:1.4em; }
.bc-page li { margin-bottom:.4em; }

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

/* ========== ページバナー ========== */

.bc-banner-title {font-size:45px; font-weight:bold; margin:0; letter-spacing:.05em; color:#fff; }
.bc-banner-sub {font-size:15px;; letter-spacing:.2em; margin-top:8px; opacity:.85; color:#fff; }
.bc-banner {
  background:
 
    url('/business-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;
}

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

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

/* ========== グリッド（flexbox・Bootstrap非依存） ========== */
.bc-grid { display:flex; flex-wrap:wrap; margin:0 -8px; }
.bc-col { padding:0 8px; margin-bottom:16px; width:100%; }
@media (min-width:640px) {
	.bc-col-2 { width:50%; }
	.bc-col-3 { width:33.333%; }
	.bc-col-4 { width:25%; }
}

/* ========== カード ========== */
.bc-card {
	background:#fff; border:1px solid #e2e8ee; border-radius:6px;
	padding:20px; height:100%;
}
.bc-card h3 { font-size:20px; font-weight:bold; margin:0 0 10px; color:#1F5C8B; }
.bc-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;
}
.bc-card p { ffont-size:16px; margin:0; }

/* ========== 理由リスト（番号付き） ========== */
.bc-reason { display:flex; gap:14px; margin-bottom:22px; }
.bc-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;
}
.bc-reason-body h3 { font-size:20px; font-weight:bold; margin:0 0 6px; color:#222; }
.bc-reason-body p { ffont-size:15px; margin:0; }

/* ========== 業種タグ ========== */
.bc-tag {
	display:block; text-align:center;
	background:#fff; border:1px solid #d7e3ec; border-radius:6px;
	padding:14px 8px; font-weight:bold; ffont-size:16px;
}
.bc-tag small { display:block; font-weight:normal; font-size:12px; color:#777; margin-top:4px; }

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

/* ========== FAQ（開閉式） ========== */
.bc-faq details {
	background:#fff; border:1px solid #e2e8ee; border-radius:6px;
	margin-bottom:12px; overflow:hidden;
}
.bc-faq summary {
	cursor:pointer; padding:16px 20px;
	font-weight:bold; font-size:20px;; list-style:none;
	display:flex; align-items:center; gap:10px;
}
.bc-faq summary::-webkit-details-marker { display:none; }
.bc-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:13px;
}
.bc-faq summary::after { content:"＋"; margin-left:auto; color:#999; font-weight:normal; }
.bc-faq details[open] summary::after { content:"－"; }
.bc-faq .bc-faq-a { padding:0 20px 18px 56px; ffont-size:16px; margin:0; }

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

/* ========== 拠点リスト ========== */
.bc-office { background:#fff; border:1px solid #e2e8ee; border-radius:6px; padding:20px; }
.bc-office dl { margin:0; }
.bc-office dt { font-weight:bold; ffont-size:16px; margin-top:12px; }
.bc-office dt:first-child { margin-top:0; }
.bc-office dd { margin:2px 0 0; ffont-size:16px; color:#444; }

/* ========== 関連リンク ========== */
.bc-links { display:flex; flex-wrap:wrap; gap:10px; padding:0; margin:0; list-style:none; }
.bc-links li { margin:0; }
.bc-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) {
	.bc-banner { padding:36px 16px; }
	.bc-banner-title { font-size:22px; }
	.bc-h2 { font-size:19px; }
	.bc-section { padding:36px 0; }
	.bc-btn { display:block; width:100%; max-width:320px; margin:8px auto; }
}
