/* ===== MiraiSW フッター ===== */
.msw-foot {
	padding: 32px 0 24px;
}
.msw-foot__inner {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 20px;
}

/* 上段：左ブランド / 右カテゴリ */
.msw-foot__main {
	display: flex;
	flex-wrap: wrap;
	gap: 24px 40px;
	align-items: center;
}
.msw-foot__brand {
	flex: 0 0 260px;
}
.msw-foot__name {
	font-size: 20px;
	font-weight: 800;
	line-height: 1.4;
	margin: 0 0 6px;
}
.msw-foot__desc {
	font-size: 14px;
	opacity: .85;
	margin: 0;
	line-height: 1.6;
}

.msw-foot__cats {
	flex: 1 1 400px;
	min-width: 0;
}
.msw-foot__cats ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.msw-foot__cats li { margin: 0; }
.msw-foot__cats a {
	font-size: 15px;
	text-decoration: none;
	color: inherit;
	opacity: .95;
}
.msw-foot__cats a:hover {
	opacity: 1;
	text-decoration: underline;
}
/* 子カテゴリは出さない想定だが、出た場合に備えてインライン化 */
.msw-foot__cats .children {
	display: none;
}

/* 下段：リーガルリンク */
.msw-foot__legal {
	margin-top: 24px;
	padding-top: 14px;
	border-top: 1px solid rgba(255,255,255,.15);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px 0;
	font-size: 13px;
}
.msw-foot__legal a {
	color: inherit;
	text-decoration: none;
	opacity: .85;
	padding-inline: 14px;
	border-right: 1px solid rgba(255,255,255,.2);
	line-height: 1.4;
}
.msw-foot__legal a:first-child {
	border-left: 1px solid rgba(255,255,255,.2);
}
.msw-foot__legal a:hover {
	opacity: 1;
	text-decoration: underline;
}

@media (max-width: 767px) {
	.msw-foot__brand { flex-basis: 100%; }
	.msw-foot__cats  { flex-basis: 100%; }
	.msw-foot__legal a { padding-inline: 10px; }
}

/* 検索ボックス（ブランド部の中） */
.msw-foot__search {
	margin-top: 14px;
	max-width: 260px;
}
.msw-foot__search form {
	display: flex;
	gap: 0;
}
.msw-foot__search input[type="search"],
.msw-foot__search input[type="text"] {
	flex: 1 1 auto;
	min-width: 0;
	padding: 9px 12px;
	font-size: 14px;
	line-height: 1.4;
	color: inherit;
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 3px 0 0 3px;
}
.msw-foot__search input::placeholder {
	color: inherit;
	opacity: .65;
}
.msw-foot__search button,
.msw-foot__search input[type="submit"] {
	flex: 0 0 auto;
	padding: 9px 14px;
	font-size: 13px;
	color: inherit;
	background: rgba(255,255,255,.14);
	border: 1px solid rgba(255,255,255,.2);
	border-left: none;
	border-radius: 0 3px 3px 0;
	cursor: pointer;
}
.msw-foot__search button:hover,
.msw-foot__search input[type="submit"]:hover {
	background: rgba(255,255,255,.22);
}

/* 姉妹サイト帯 */
.msw-foot__sites {
	margin-top: 26px;
	padding-top: 18px;
	border-top: 1px solid rgba(255,255,255,.15);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 18px;
}
.msw-foot__sitesLabel {
	font-size: 13px;
	opacity: .75;
	letter-spacing: .04em;
	flex: 0 0 auto;
}
.msw-foot__sites ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	margin: 0;
	padding: 0;
	list-style: none;
	flex: 1 1 auto;
}
.msw-foot__sites li { margin: 0; }
.msw-foot__sites a {
	display: inline-block;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	color: inherit;
	text-decoration: none;
	padding-bottom: 3px;
	border-bottom: 2px solid var(--msw-c, transparent);
	opacity: 1;
	transition: opacity .15s, color .15s;
}
.msw-foot__sites a:hover {
	opacity: 1;
	color: var(--msw-c, inherit);
}

@media (max-width: 767px) {
	.msw-foot__search { max-width: 100%; }
	.msw-foot__sites { gap: 8px 14px; }
	.msw-foot__sites a { font-size: 15px; }
}

/* ===== カスタマイザー「追加CSS」からの移行分（フッターのコピーライト表示順）=====
   移行元: theme_mods_miraisw_child.custom_css_post_id (post ID 66)
   カスタマイザー側は削除せず残置（人間の目視確認後に削除予定） */
.l-footer__foot .l-container {
	display: flex;
	flex-direction: column;
}
.l-footer__foot .l-container > .copyright {
	order: 99;
	margin-top: 20px;
}
.msw-foot { order: 1; }
