/* ============================================================
   sk-elementor-removal.css
   歯科求人.com Elementor除去プロジェクト用スタイル

   ・Customizer「追加CSS」から残すべきCSSを最終的にここへ移設
   ・各ページのElementor除去後デザインもここに集約していく
   ・読み込み: 子テーマ functions.php（child-style の後）
   ・キャッシュは filemtime で自動更新

   作成: 2026-06-03
   ============================================================ */


/* ============================================================
   紺セクション「歯科就職情報ライン＠」（本番Elementorの紺LINE@の再現）
   component/section/line-cta.php とセット
   背景 #071E3D（本番Elementorから抽出）／QR画像=白カード一体型
   ============================================================ */
.dm-line-cta {
	background: #071E3D;
	color: #fff;
	width: 100%;
	box-sizing: border-box;
	padding: 64px 24px 72px;
	text-align: center;
}
.dm-line-cta * { box-sizing: border-box; }
.dm-line-cta__overlay { display: none; }
.dm-line-cta__inner { max-width: 1120px; margin: 0 auto; }
.dm-line-cta__title { font-size: 26px; font-weight: 700; letter-spacing: .04em; margin: 0 0 28px; color: #fff; }
.dm-line-cta__desc { font-size: 15px; line-height: 2; margin: 0 0 40px; color: #fff; }
.dm-line-cta__qr-list { display: flex; justify-content: center; gap: 30px; flex-wrap: wrap; }
.dm-line-cta__qr-item {
	display: block;
	line-height: 0;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 6px 18px rgba(0,0,0,.18);
}
.dm-line-cta__qr-item img { display: block; width: 250px; height: auto; max-width: 100%; }

@media (max-width: 880px) {
	.dm-line-cta { padding: 48px 20px 52px; }
	.dm-line-cta__title { font-size: 22px; }
	.dm-line-cta__qr-list { gap: 20px; }
	.dm-line-cta__qr-item img { width: 200px; }
}
@media (max-width: 480px) {
	.dm-line-cta__qr-list { gap: 14px; }
	.dm-line-cta__qr-item img { width: 140px; }
}


/* ============================================================
   共通フッターCTA（本番 Elementor 青フッターの再現）
   component/section/sk-footer.php とセット
   背景 #0072BB / ボタン #F5A623（本番Elementorから抽出）
   ============================================================ */
.sk-footer-cta {
	background: #0072BB;
	color: #fff;
	width: 100%;
	box-sizing: border-box;
	padding: 60px 24px;
}
.sk-footer-cta * { box-sizing: border-box; }
.sk-footer-cta__inner {
	max-width: 1120px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 40px 64px;
	align-items: start;
}
.sk-footer-cta__main { min-width: 0; }

.sk-footer-cta__title {
	font-size: 20px;
	font-weight: 700;
	color: #fff;
	margin: 0 0 20px;
}
.sk-footer-cta__logo { display: inline-block; margin: 0 0 12px; }
.sk-footer-cta__logo img { display: block; width: 300px; max-width: 100%; height: auto; }
.sk-footer-cta__catch { font-size: 14px; margin: 0 0 24px; color: #fff; }

.sk-footer-cta__btn {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	background: #F5A623;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
	padding: 16px 40px;
	border-radius: 6px;
	line-height: 1.2;
	transition: opacity .2s;
}
.sk-footer-cta__btn:hover { opacity: .88; color: #fff; }
.sk-footer-cta__btn-arrow { font-size: 13px; }

.sk-footer-cta__line-title {
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	margin: 40px 0 12px;
}
.sk-footer-cta__line-desc { font-size: 13px; line-height: 1.9; margin: 0 0 20px; color: #fff; }

.sk-footer-cta__qr-list { display: flex; flex-wrap: wrap; gap: 16px; }
.sk-footer-cta__qr-item {
	background: #fff;
	border-radius: 8px;
	padding: 14px 12px;
	text-align: center;
	color: #333;
}
.sk-footer-cta__qr-label { display: block; font-size: 12px; font-weight: 700; margin-bottom: 8px; color: #333; }
.sk-footer-cta__qr-link { display: block; }
.sk-footer-cta__qr-item img { display: block; width: 150px; height: 150px; max-width: 100%; }

.sk-footer-cta__sitemap { flex: 0 0 auto; display: flex; gap: 48px; }
.sk-footer-cta__sitemap-col { list-style: none; margin: 0; padding: 0; }
.sk-footer-cta__sitemap-col li { margin: 0 0 16px; }
.sk-footer-cta__sitemap-col a { color: #fff !important; font-size: 14px; text-decoration: underline; }
.sk-footer-cta__sitemap-col a:hover { text-decoration: none; color: #fff !important; opacity: .85; }

@media (max-width: 880px) {
	.sk-footer-cta { padding: 44px 20px; }
	.sk-footer-cta__inner { grid-template-columns: 1fr; gap: 36px; }
	.sk-footer-cta__sitemap { gap: 32px; }
	.sk-footer-cta__qr-item img { width: 120px; height: 120px; }
}
@media (max-width: 480px) {
	.sk-footer-cta__qr-list { gap: 10px; }
	.sk-footer-cta__qr-item { padding: 10px 8px; }
	.sk-footer-cta__qr-item img { width: 90px; height: 90px; }
	.sk-footer-cta__sitemap { gap: 20px; }
}
