/* ==========================================
   SWELL Footer Disable
========================================== */

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



/* ==========================================
   Custom Footer
========================================== */

.hakajimai-footer {
	margin: 0;

	background: #15422f;

	color:
		rgba(
			255,
			255,
			255,
			.85
		);
}


.hakajimai-footer-inner {
	width: 100%;
	max-width: 1080px;

	margin: 0 auto;
	padding:
		44px
		20px
		24px;
}


.hakajimai-footer-grid {
	display: grid;

	grid-template-columns:
		1.4fr
		1fr
		1fr;

	gap: 34px;

	margin-bottom: 30px;
}

/* ==========================================
   Footer About
========================================== */

.hakajimai-footer-logo {
	display: inline-flex;
	align-items: center;

	gap: 7px;

	margin-bottom: 10px;

	color: #fff !important;

	font-size: 1.1rem;
	font-weight: 800;

	line-height: 1.5;

	text-decoration: none !important;
}


.hakajimai-footer-logo i {
	color: #fff;
}


.hakajimai-footer-desc {
	max-width: 300px;

	margin: 0;

	color:
		rgba(
			255,
			255,
			255,
			.85
		);

	font-size: .82rem;
	line-height: 1.8;
}

/* ==========================================
   Footer Navigation
========================================== */

.hakajimai-footer-nav h2 {
	margin:
		0
		0
		12px;

	padding-bottom: 8px;

	border-bottom:
		1px solid
		rgba(
			255,
			255,
			255,
			.25
		);

	color: #fff;

	font-size: .9rem;
	font-weight: 700;
	line-height: 1.5;
}


.hakajimai-footer-nav ul {
	margin: 0;
	padding: 0;

	list-style: none;
}


.hakajimai-footer-nav li {
	margin: 0 0 8px;
	padding: 0;
}


.hakajimai-footer-nav li:last-child {
	margin-bottom: 0;
}


.hakajimai-footer-nav a {
	color:
		rgba(
			255,
			255,
			255,
			.85
		) !important;

	font-size: .84rem;
	line-height: 1.6;

	text-decoration: none !important;

	transition: color .2s;
}


.hakajimai-footer-nav a:hover,
.hakajimai-footer-nav a:focus-visible {
	color: #ffd764 !important;
}

/* ==========================================
   Copyright
========================================== */

.hakajimai-footer-copy {
	margin: 0;
	padding-top: 18px;

	border-top:
		1px solid
		rgba(
			255,
			255,
			255,
			.15
		);

	color:
		rgba(
			255,
			255,
			255,
			.6
		);

	font-size: .76rem;
	line-height: 1.7;

	text-align: center;
}

.hakajimai-footer-logo:focus-visible,
.hakajimai-footer-nav a:focus-visible {
	outline:
		2px solid #ffd764;

	outline-offset: 3px;
}

/* ==========================================
   Responsive
========================================== */

@media (max-width: 900px) {

	.hakajimai-footer-inner {
		padding:
			32px
			16px
			18px;
	}


	.hakajimai-footer-grid {
		grid-template-columns: 1fr;

		gap: 24px;

		margin-bottom: 24px;
	}


	.hakajimai-footer-desc {
		max-width: none;

		font-size: .78rem;
	}


	.hakajimai-footer-logo {
		font-size: 1rem;
	}

}


@media (max-width: 640px) {

	.hakajimai-footer-inner {
		padding:
			30px
			14px
			18px;
	}


	.hakajimai-footer-grid {
		gap: 22px;
	}


	.hakajimai-footer-nav h2 {
		margin-bottom: 10px;

		font-size: .86rem;
	}


	.hakajimai-footer-nav a {
		font-size: .8rem;
	}


	.hakajimai-footer-copy {
		font-size: .68rem;
	}

}