
	:root {
		--kmc-foot-ink: #f8f2e6;
		--kmc-foot-muted: rgba(248,242,230,.78);
		--kmc-foot-green: #062b24;
		--kmc-foot-green-2: #0e3f35;
		--kmc-foot-green-3: #155347;
		--kmc-foot-gold: #bd8a2d;
		--kmc-foot-gold-2: #d8bb78;
		--kmc-foot-line: rgba(248,242,230,.15);
		--kmc-foot-card: rgba(255,250,240,.075);
		--kmc-foot-card-2: rgba(255,250,240,.115);
	}

	.l-footer {
		margin-top: 0 !important;
		border-top: 5px solid var(--kmc-foot-gold) !important;
		background:
			linear-gradient(180deg, #0e3f35 0%, var(--kmc-foot-green) 62%, #041d18 100%) !important;
		color: var(--kmc-foot-ink) !important;
		box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
	}

	.l-footer__inner {
		background:
			linear-gradient(135deg, rgba(255,250,240,.09) 0%, rgba(255,250,240,0) 42%),
			radial-gradient(circle at 84% 12%, rgba(216,187,120,.22), rgba(216,187,120,0) 30%),
			radial-gradient(circle at 12% 84%, rgba(255,250,240,.08), rgba(255,250,240,0) 34%) !important;
	}

	.l-footer__foot {
		padding: 0 !important;
		color: inherit !important;
	}

	.l-footer__foot .l-container {
		max-width: 1160px !important;
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 24px !important;
		padding: 58px 22px 34px !important;
	}

	.l-footer__foot .l-container::before,
	.l-footer__foot .l-container::after {
		content: none !important;
	}

	.kmc-footer-trust {
		display: grid;
		grid-template-columns: minmax(280px, .95fr) minmax(0, 1.2fr) minmax(220px, .72fr);
		gap: 18px;
		align-items: stretch;
	}

	.kmc-footer-trust,
	.kmc-footer-trust * {
		box-sizing: border-box;
		letter-spacing: 0;
		min-width: 0;
	}

	.kmc-footer-trust a {
		color: inherit;
		text-decoration: none;
	}

	.kmc-footer-trust__brand,
	.kmc-footer-trust__facts,
	.kmc-footer-trust__actions {
		border: 1px solid rgba(216,187,120,.34);
		border-radius: 8px;
		background: linear-gradient(180deg, rgba(255,250,240,.105), rgba(255,250,240,.055));
		box-shadow: 0 18px 42px rgba(0,0,0,.16);
	}

	.kmc-footer-trust__brand {
		display: grid;
		align-content: start;
		gap: 14px;
		padding: 22px;
	}

	.kmc-footer-trust__logo {
		display: inline-flex;
		width: min(288px, 100%);
		padding: 8px 10px;
		border-radius: 6px;
		background: #fffaf0;
		box-shadow: 0 10px 22px rgba(0,0,0,.14);
	}

	.kmc-footer-trust__logo img {
		display: block;
		width: 100%;
		height: auto;
	}

	.kmc-footer-trust__lead {
		margin: 0;
		color: var(--kmc-foot-ink);
		font-size: 15px;
		font-weight: 800;
		line-height: 1.78;
	}

	.kmc-footer-trust__meta {
		display: grid;
		gap: 4px;
		margin: 0;
		color: var(--kmc-foot-muted);
		font-size: 12px;
		line-height: 1.7;
	}

	.kmc-footer-trust__meta a {
		color: #fff8df;
		text-decoration: underline;
		text-underline-offset: 3px;
	}

	.kmc-footer-trust__facts {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 10px;
		padding: 14px;
	}

	.kmc-footer-trust__fact {
		display: grid;
		align-content: start;
		gap: 7px;
		min-height: 152px;
		padding: 18px 16px;
		border: 1px solid rgba(248,242,230,.16);
		border-radius: 8px;
		background: rgba(255,250,240,.075);
		transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
	}

	.kmc-footer-trust__fact::before {
		content: "";
		width: 10px;
		height: 10px;
		border-radius: 50%;
		background: var(--kmc-foot-gold-2);
		box-shadow: 0 0 0 5px rgba(216,187,120,.12);
	}

	.kmc-footer-trust__fact b {
		color: #fff;
		font-size: 17px;
		line-height: 1.42;
	}

	.kmc-footer-trust__fact span {
		color: var(--kmc-foot-muted);
		font-size: 12.5px;
		font-weight: 700;
		line-height: 1.7;
	}

	.kmc-footer-trust__fact:hover,
	.kmc-footer-trust__fact:focus-visible {
		background: rgba(255,250,240,.13);
		border-color: rgba(216,187,120,.56);
		transform: translateY(-1px);
	}

	.kmc-footer-trust__actions {
		display: grid;
		align-content: center;
		gap: 12px;
		padding: 18px;
	}

	.kmc-footer-trust__actions p {
		margin: 0 0 2px;
		color: var(--kmc-foot-muted);
		font-size: 12.5px;
		font-weight: 700;
		line-height: 1.7;
	}

	.kmc-footer-trust__button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 9px;
		min-height: 52px;
		padding: 0 18px;
		border-radius: 6px;
		font-size: 14px;
		font-weight: 900;
		line-height: 1.25;
		text-align: center;
		box-shadow: 0 14px 28px rgba(0,0,0,.16);
		transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
	}

	.kmc-footer-trust__button::before {
		content: "";
		width: 8px;
		height: 8px;
		border-radius: 50%;
		background: currentColor;
		opacity: .72;
	}

	.kmc-footer-trust__button--gold {
		background: linear-gradient(180deg, #c7963a 0%, #a7741e 100%);
		color: #fff !important;
	}

	.kmc-footer-trust__button--green {
		background: linear-gradient(180deg, #155347 0%, #082e27 100%);
		color: #fff !important;
		border: 1px solid rgba(248,242,230,.18);
	}

	.kmc-footer-trust__button:hover,
	.kmc-footer-trust__button:focus-visible {
		transform: translateY(-1px);
		box-shadow: 0 18px 34px rgba(0,0,0,.22);
	}

	.l-footer__nav {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 10px !important;
		margin: 0 !important;
		padding: 22px !important;
		border: 1px solid var(--kmc-foot-line) !important;
		border-radius: 8px !important;
		background: rgba(0,0,0,.12) !important;
		list-style: none !important;
	}

	.l-footer__nav::before {
		content: "サイトメニュー";
		grid-column: 1 / -1;
		display: flex;
		align-items: center;
		gap: 10px;
		margin-bottom: 2px;
		color: #fff;
		font-size: 15px;
		font-weight: 900;
		line-height: 1.4;
	}

	.l-footer__nav::before {
		border-bottom: 1px solid rgba(216,187,120,.36);
		padding-bottom: 12px;
	}

	.l-footer__nav li {
		margin: 0 !important;
		padding: 0 !important;
	}

	.l-footer__nav .kmc-footer-brand {
		display: none !important;
	}

	.l-footer__nav a {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		min-height: 46px !important;
		padding: 9px 12px !important;
		border: 1px solid rgba(248,242,230,.16) !important;
		border-radius: 6px !important;
		background: var(--kmc-foot-card) !important;
		color: #fff8ea !important;
		font-size: 13.5px !important;
		font-weight: 800 !important;
		line-height: 1.45 !important;
		text-align: center !important;
		text-decoration: none !important;
		transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease !important;
	}

	.l-footer__nav a:hover,
	.l-footer__nav a:focus-visible {
		background: var(--kmc-foot-card-2) !important;
		border-color: rgba(216,187,120,.58) !important;
		color: #fff !important;
		transform: translateY(-1px);
		outline: none !important;
	}

	.l-footer__nav a:focus-visible,
	.kmc-footer-trust a:focus-visible {
		box-shadow: 0 0 0 3px rgba(216,187,120,.55) !important;
	}

	.l-footer__nav .kmc-footer-seller > a,
	.l-footer__nav .kmc-footer-cta > a {
		min-height: 52px !important;
		background: linear-gradient(180deg, #c7963a 0%, #a7741e 100%) !important;
		border-color: rgba(216,187,120,.62) !important;
		color: #fff !important;
		box-shadow: 0 12px 24px rgba(0,0,0,.16) !important;
	}

	.l-footer__nav .kmc-footer-legal > a {
		min-height: 40px !important;
		background: rgba(0,0,0,.08) !important;
		color: rgba(248,242,230,.84) !important;
		font-size: 12.5px !important;
		font-weight: 700 !important;
	}

	.l-footer .copyright {
		margin: 0 !important;
		padding: 18px 0 0 !important;
		border-top: 1px solid var(--kmc-foot-line) !important;
		color: rgba(248,242,230,.68) !important;
		font-size: 12px !important;
		line-height: 1.7 !important;
		text-align: left !important;
	}

	@media (max-width: 1080px) {
		.kmc-footer-trust {
			grid-template-columns: 1fr !important;
		}

		.kmc-footer-trust__facts {
			grid-template-columns: repeat(3, minmax(0, 1fr));
		}

		.kmc-footer-trust__actions {
			grid-template-columns: 1fr 1fr;
			align-items: center;
		}

		.kmc-footer-trust__actions p {
			grid-column: 1 / -1;
		}

		.l-footer__nav {
			grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		}
	}

	@media (max-width: 640px) {
		.l-footer__foot .l-container {
			gap: 18px !important;
			padding: 38px 16px 104px !important;
		}

		.kmc-footer-trust__brand,
		.kmc-footer-trust__facts,
		.kmc-footer-trust__actions,
		.l-footer__nav {
			border-radius: 8px;
		}

		.kmc-footer-trust__brand {
			padding: 18px;
		}

		.kmc-footer-trust__logo {
			width: min(260px, 100%);
			margin: 0 auto;
		}

		.kmc-footer-trust__lead {
			font-size: 14px;
			text-align: center;
		}

		.kmc-footer-trust__meta {
			text-align: center;
		}

		.kmc-footer-trust__facts,
		.kmc-footer-trust__actions,
		.l-footer__nav {
			grid-template-columns: 1fr !important;
			padding: 14px !important;
		}

		.kmc-footer-trust__fact {
			min-height: auto;
			grid-template-columns: 18px 1fr;
			column-gap: 12px;
			align-items: start;
			padding: 15px 14px;
		}

		.kmc-footer-trust__fact::before {
			margin-top: 6px;
		}

		.kmc-footer-trust__fact span {
			grid-column: 2;
		}

		.kmc-footer-trust__button,
		.l-footer__nav a {
			min-height: 48px !important;
		}

		.l-footer__nav a {
			justify-content: flex-start !important;
			text-align: left !important;
		}

		.l-footer__nav .kmc-footer-seller > a,
		.l-footer__nav .kmc-footer-cta > a {
			justify-content: center !important;
			text-align: center !important;
		}

		.l-footer .copyright {
			text-align: center !important;
		}
	}

	@media (prefers-reduced-motion: reduce) {
		.kmc-footer-trust__fact,
		.kmc-footer-trust__button,
		.l-footer__nav a {
			transition: none !important;
			transform: none !important;
		}
	}
	