.yumeakindo-mobile-sticky-contact,
.yumeakindo-mobile-sticky-spacer {
	display: none;
}

@media (max-width: 767px) {
	.yumeakindo-mobile-sticky-spacer {
		display: block;
		height: calc(70px + env(safe-area-inset-bottom, 0px));
	}

	.yumeakindo-mobile-sticky-contact {
		position: fixed;
		z-index: 99990;
		right: 0;
		bottom: 0;
		left: 0;
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		padding-bottom: env(safe-area-inset-bottom, 0px);
		background: #fff;
		box-shadow: 0 -3px 14px rgba(0, 0, 0, .18);
		transform: translateY(0);
		opacity: 1;
		transition: transform 180ms ease, opacity 180ms ease;
	}

	.yumeakindo-mobile-sticky-contact.is-hidden {
		pointer-events: none;
		transform: translateY(calc(100% + env(safe-area-inset-bottom, 0px)));
		opacity: 0;
	}

	.yumeakindo-mobile-sticky-contact__link {
		position: relative;
		display: flex;
		min-width: 0;
		min-height: 64px;
		align-items: center;
		justify-content: center;
		gap: 8px;
		padding: 10px 8px;
		color: #fff;
		font-size: 16px;
		font-weight: 700;
		line-height: 1.2;
		text-align: center;
		text-decoration: none;
		-webkit-tap-highlight-color: transparent;
	}

	.yumeakindo-mobile-sticky-contact__link:hover,
	.yumeakindo-mobile-sticky-contact__link:visited {
		color: #fff;
		text-decoration: none;
	}

	.yumeakindo-mobile-sticky-contact__link:focus-visible {
		z-index: 1;
		outline: 3px solid #fff;
		outline-offset: -5px;
		box-shadow: inset 0 0 0 6px #1d6fb8;
	}

	.yumeakindo-mobile-sticky-contact__link svg {
		width: 24px;
		height: 24px;
		flex: 0 0 24px;
	}

	.yumeakindo-mobile-sticky-contact__phone {
		background: #8a4b2d;
	}

	.yumeakindo-mobile-sticky-contact__line {
		background: #365947;
	}

	.admin-bar .yumeakindo-mobile-sticky-contact {
		/* WordPress管理バーは画面上部にあるため、下部CTAの位置補正は不要です。 */
	}
}

@media (prefers-reduced-motion: reduce) {
	.yumeakindo-mobile-sticky-contact {
		transition: none;
	}
}
