/*
 * @site-assets-manager-description: bzlog.jp sitewide layout, footer, mobile header, and shared display CSS
 * @site-assets-manager-public: true
 * @site-assets-manager-priority: 10
 * @site-assets-manager-scope: all
 * @site-assets-manager-updated-by: rest
 */

/* 401. 関連サイトカード */
	.bzlog-related-sites {
		width: 100vw;
		margin: 0 0 0 calc(50% - 50vw);
		padding: 46px 0 50px;
		background: #f3f3f3;
	}

	.bzlog-related-sites__grid {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 28px;
		width: min(1180px, calc(100% - 48px));
		margin: 0 auto;
	}

	.bzlog-related-sites__card {
		display: flex;
		flex-direction: column;
		min-height: 100%;
		padding: 46px 38px 40px;
		border: 1px solid #e1d8ca;
		border-radius: 22px;
		background: #fff;
		box-shadow: 0 18px 34px rgba(31, 42, 68, 0.08);
		box-sizing: border-box;
	}

	.bzlog-related-sites__logo {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 112px;
		margin: 0 0 18px;
	}

	.bzlog-related-sites__logo img {
		display: block;
		width: auto;
		height: auto;
		max-width: 250px;
		max-height: 76px;
		object-fit: contain;
	}

	.bzlog-related-sites__logo--arcx img {
		max-width: 240px;
		max-height: 84px;
	}

	.bzlog-related-sites__logo--arctangent img {
		max-width: 170px;
		max-height: 84px;
	}

	.bzlog-related-sites__card h3 {
		position: relative;
		margin: 0 0 22px;
		padding: 0 0 20px;
		border-bottom: 1px solid #d9d3c9;
		color: #13243f;
		font-size: 22px;
		font-weight: 700;
		line-height: 1.45;
		letter-spacing: 0;
		text-align: center;
	}

	.bzlog-related-sites__card h3::after {
		content: "";
		position: absolute;
		left: 50%;
		bottom: -1px;
		width: 96px;
		height: 1px;
		background: #2388c4;
		transform: translateX(-50%);
	}

	.bzlog-related-sites__card p {
		margin: 0 0 26px;
		color: #111827;
		font-size: 16px;
		line-height: 1.9;
	}

	.bzlog-related-sites__button {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 12px;
		min-height: 54px;
		margin-top: auto;
		padding: 12px 18px;
		border-radius: 4px;
		background: #1f2a44;
		color: #fff;
		font-size: 17px;
		font-weight: 700;
		line-height: 1.35;
		text-align: center;
		text-decoration: none;
	}

	.bzlog-related-sites__button:hover {
		background: #17223a;
		color: #fff;
		opacity: 0.96;
	}

	.bzlog-related-sites__button i {
		font-size: 15px;
	}

/* 402. フッター関連サイトロゴ帯 */
	.bzlog-footer-logo-band {
		width: 100vw;
		margin-left: calc(50% - 50vw);
		border-top: 1px solid #1f2a44;
		border-bottom: 1px solid #1f2a44;
		background: #f3f3f3;
	}

	.bzlog-footer-logo-band__inner {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 18px;
		width: min(1080px, calc(100% - 36px));
		margin: 0 auto;
		padding: 12px 0;
	}

	.bzlog-footer-logo-band__link {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 240px;
		height: 50px;
		padding: 7px 18px;
		border: 1px solid #d9e2ef;
		border-radius: 7px;
		background: #fff;
		box-shadow: 0 8px 18px rgba(31, 42, 68, 0.04);
		box-sizing: border-box;
	}

	.bzlog-footer-logo-band__link img {
		display: block;
		width: auto;
		height: auto;
		max-width: 162px;
		max-height: 34px;
		object-fit: contain;
	}

	.bzlog-footer-logo-band__link--arcx img {
		max-width: 162px;
		max-height: 38px;
	}

	.bzlog-footer-logo-band__link--arctangent img {
		max-width: 108px;
		max-height: 34px;
	}

/* 403. 既存フッターの整列 */
	.site-footer-content {
		overflow: hidden;
	}

	.site-footer-content .row {
		justify-content: center;
	}

	.site-footer-content .widget {
		max-width: 100%;
		box-sizing: border-box;
	}

	.site-footer-content figure {
		margin-right: auto;
		margin-left: auto;
		text-align: center;
	}

	.site-footer-content img {
		max-width: 100%;
		height: auto;
	}

	.site-footer-content #block-42 img {
		width: min(100%, 300px) !important;
		max-width: 100% !important;
		height: auto !important;
	}

	.site-footer-content .wp-block-columns {
		max-width: 360px;
		margin-right: auto;
		margin-left: auto;
	}

	@media (max-width: 991px) {
		.bzlog-related-sites {
			padding: 34px 0 38px;
		}

		.bzlog-related-sites__grid {
			grid-template-columns: 1fr;
			width: min(100% - 28px, 620px);
		}

		.site-footer-content .row {
			gap: 22px;
		}

		.site-footer-content .col-lg-4,
		.site-footer-content .col-md-6 {
			flex: 0 0 100%;
			max-width: 100%;
		}
	}

	@media (max-width: 767px) {
		.bzlog-footer-logo-band__inner {
			flex-direction: column;
			gap: 10px;
			width: min(100% - 72px, 390px);
			padding: 18px 0 20px;
		}

		.bzlog-footer-logo-band__link {
			width: 100%;
			height: 86px;
			padding: 12px 28px;
		}

		.bzlog-footer-logo-band__link img {
			max-width: 250px;
			max-height: 54px;
		}

		.bzlog-footer-logo-band__link--arcx img {
			max-width: 250px;
			max-height: 58px;
		}

		.bzlog-footer-logo-band__link--arctangent img {
			max-width: 150px;
			max-height: 58px;
		}
	}

/* 404. スマホ固定ヘッダー */
	@media (max-width: 991px) {
		body {
			padding-top: 58px;
		}

		body.admin-bar #site-header,
		body.admin-bar #vk-mobile-nav-menu-btn {
			top: 46px;
		}

		#site-header {
			position: fixed;
			top: 0;
			right: 0;
			left: 0;
			z-index: 10000;
			background: #fff;
			border-bottom: 1px solid #d9e2ef;
			box-shadow: 0 6px 18px rgba(31, 42, 68, 0.08);
		}

		#site-header-container {
			display: flex;
			align-items: center;
			justify-content: space-between;
			min-height: 58px;
			padding: 8px 68px 8px 14px;
		}

		#site-header .site-header-logo {
			margin: 0;
			line-height: 1;
		}

		#site-header .site-header-logo a {
			display: flex;
			align-items: center;
		}

		#site-header .site-header-logo img {
			display: block;
			width: auto;
			max-width: min(190px, 58vw);
			max-height: 38px;
			object-fit: contain;
		}

		#global-nav {
			display: none;
		}

		#vk-mobile-nav-menu-btn {
			position: fixed;
			top: 8px;
			right: 14px;
			z-index: 10020;
			width: 42px;
			height: 42px;
			padding: 0;
			border: 1px solid #1f2a44;
			border-radius: 4px;
			background: #fff;
			box-shadow: none;
			color: transparent;
			font-size: 0;
			line-height: 1;
			text-indent: -9999px;
		}

		#vk-mobile-nav-menu-btn::before {
			content: "";
			position: absolute;
			top: 12px;
			left: 10px;
			width: 20px;
			height: 2px;
			background: #1f2a44;
			box-shadow: 0 8px 0 #1f2a44, 0 16px 0 #1f2a44;
		}

	}

/* 405. スマホヘッダー左右配置の補強 */
	@media (max-width: 991px) {
		#site-header-container.site-header-container.container {
			display: flex !important;
			align-items: center !important;
			justify-content: flex-start !important;
			width: 100% !important;
			max-width: none !important;
			margin: 0 !important;
			padding: 8px 68px 8px 14px !important;
			box-sizing: border-box !important;
		}

		#site-header .site-header-logo {
			flex: 0 1 auto !important;
			width: auto !important;
			max-width: calc(100% - 64px) !important;
			margin: 0 !important;
			float: none !important;
			text-align: left !important;
		}

		#site-header .site-header-logo span,
		#site-header .site-header-logo a {
			display: flex !important;
			align-items: center !important;
			justify-content: flex-start !important;
		}

		#site-header .site-header-logo img {
			width: auto !important;
			max-width: min(190px, 58vw) !important;
			max-height: 38px !important;
			margin: 0 !important;
		}

		#global-nav.global-nav {
			display: none !important;
		}

		#vk-mobile-nav-menu-btn.vk-mobile-nav-menu-btn {
			display: block !important;
			top: 8px !important;
			right: 14px !important;
			left: auto !important;
			margin: 0 !important;
			background-image: none !important;
			transform: none !important;
		}
	}

/* 406. スマホメニューの開閉位置 */
	@media (max-width: 991px) {
		body {
			padding-top: 76px !important;
		}

		#site-header {
			min-height: 76px !important;
		}

		#site-header-container.site-header-container.container {
			min-height: 76px !important;
			height: 76px !important;
			padding-top: 10px !important;
			padding-bottom: 10px !important;
		}

		#site-header .site-header-logo,
		#site-header .site-header-logo a,
		#site-header .site-header-logo span {
			height: 100% !important;
			align-items: center !important;
		}

		#site-header .site-header-logo img {
			max-height: 42px !important;
		}

		#vk-mobile-nav-menu-btn.vk-mobile-nav-menu-btn {
			top: 17px !important;
			right: 14px !important;
		}

		body.admin-bar #site-header {
			top: 46px !important;
		}

		body.admin-bar #vk-mobile-nav-menu-btn.vk-mobile-nav-menu-btn {
			top: 63px !important;
		}

		#vk-mobile-nav.vk-mobile-nav-drop-in {
			top: -2000px !important;
			right: 0 !important;
			left: 0 !important;
			width: 100% !important;
			height: auto !important;
			max-height: calc(100vh - 76px) !important;
			padding: 14px 10px 24px !important;
			overflow-y: auto !important;
			box-shadow: 0 10px 22px rgba(31, 42, 68, 0.12);
		}

		#vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-drop-in {
			top: 76px !important;
		}

		body.admin-bar #vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-drop-in {
			top: 122px !important;
			max-height: calc(100vh - 122px) !important;
		}
	}

/* 407. スクロール時のスマホロゴ表示維持 */
	@media (max-width: 991px) {
		body.header_scrolled #site-header .site-header-logo,
		body.header_scrolled #site-header .site-header-logo a,
		body.header_scrolled #site-header .site-header-logo span,
		body.header_scrolled #site-header .site-header-logo img {
			display: flex !important;
			visibility: visible !important;
			opacity: 1 !important;
		}

		body.header_scrolled #site-header .site-header-logo {
			position: relative !important;
			z-index: 10030 !important;
			flex: 0 1 auto !important;
			width: auto !important;
			max-width: calc(100% - 64px) !important;
			margin: 0 !important;
			padding: 0 !important;
			text-align: left !important;
		}

		body.header_scrolled #site-header .site-header-logo a,
		body.header_scrolled #site-header .site-header-logo span {
			align-items: center !important;
			justify-content: flex-start !important;
			height: 100% !important;
		}

		body.header_scrolled #site-header .site-header-logo img {
			width: auto !important;
			max-width: min(190px, 58vw) !important;
			max-height: 42px !important;
			margin: 0 !important;
		}
	}

/* 430. 共通表示調整 */
.site-footer-copyright p:nth-child(2) {
	display: none;
}

.entry-meta-item-updated {
	display: none;
}

.vk_post_imgOuter_singleTermLabel,
.padCate {
	min-height: 0 !important;
	padding: 2px 5px !important;
	background-color: #2d8cc8 !important;
	color: #fff !important;
	font-size: 10px !important;
	line-height: 1.1 !important;
}
