.footer {
	color: #fff;
	background-color: #ef857d;
	padding: 11rem 0 12rem;
}
.footer * {
	color: #fff;
}
.footer__flex {
	color: #fff;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	margin-bottom: 11.6rem;
	column-gap: 6.7rem;
}
.footer__flex__logo {
	width: 19.7rem;
}

@media (max-width: 768px) {
	.footer {
		padding: calc((53 / 750) * 100vw) 0 calc((180 / 750) * 100vw);
	}
	.footer__flex {
		row-gap: calc((100 / 750) * 100vw);
		align-items: center;
		flex-direction: column-reverse;
		margin-bottom: calc((90 / 750) * 100vw);
	}
	.footer__flex__logo {
		width: calc((234 / 750) * 100vw);
	}
	footer .contact__link__text p {
		font-size: calc((28 / 750) * 100vw);
	}
	footer .contact__link__text p.small {
		font-size: calc((11 / 375) * 100vw);
	}
}
.footer__privacy {
	/* display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 2.4rem; */
	text-align: center;
}
.footer__privacy a {
	font-size: 1.629rem;
	line-height: 2;
	display: inline-block;
	margin: 0 1.2rem;
	position: relative;
}
.footer__privacy .is-sp {
	display: none;
}
.footer__privacy a:not(:last-of-type)::after {
	content: "";
	background-color: #fff;
	display: block;
	width: 2px;
	height: 1.4rem;
	position: absolute;
	top: 50%;
	right: -1.4rem;
	transform: translatey(-50%);
}

.footer__produce,
.footer__copy {
	text-align: center;
}
.footer__copy {
	margin-bottom: 5rem;
}
.footer__copy p {
	font-size: 1.378rem;
	line-height: 2.615;
	letter-spacing: 0.05em;
}
.footer__produce a {
	font-size: 1.4rem;
}
.privacy {
	display: flex;
	align-items: center;
	margin: 1.1rem 0 1.6rem 1rem;
}
.footer__insta {
	display: flex;
	justify-content: center;
	margin-bottom: 4rem;
}
.footer__insta img {
	width: 4rem;
	height: 4.2rem;
}
@media (max-width: 768px) {
	/* .footer__privacy {
		column-gap: calc((24 / 750) * 100vw);
	} */
	.footer__privacy a {
		font-size: calc((22 / 750) * 100vw);
	}
	.footer__privacy a:not(:last-of-type)::after {
		width: 1px;
		height: calc((14 / 750) * 100vw);
		/* right: calc((-12/ 750) * 100vw); */
	}
	.footer__privacy a:nth-of-type(3)::after {
		display: none;
	}
	.footer__privacy .is-sp {
		display: inline;
	}
	.footer__produce,
	.footer__copy {
		text-align: center;
	}
	.footer__copy {
		margin-bottom: calc((50 / 750) * 100vw);
	}
	.footer__copy p {
		font-size: calc((20 / 750) * 100vw);
	}
	.footer__produce a {
		font-size: calc((20 / 750) * 100vw);
	}
	.privacy {
		margin: 0 0 calc((20 / 750) * 100vw);
	}
	.footer__insta {
		margin-bottom: calc((40 / 750) * 100vw);
	}
	.footer__insta img {
		width: calc((40 / 750) * 100vw);
		height: calc((42 / 750) * 100vw);
	}
}


/* -- CTA banner -- */
#bannerGymCTA,
#bannerCTA {
	position: fixed;
	z-index: 20;
}
#bannerGymCTA a,
#bannerCTA a {
	display: block;
}
@media (min-width: 768px) {
	#bannerGymCTA {
		top: 50%;
		right: 0;
		transform: translateY(-50%);
	}
	#bannerGymCTA img {
		width: auto;
		height: 559px;
		max-height: 65vh;
	}
	@media (min-width: 1400px) {
		#bannerGymCTA img {
			height: 860px;
		}
	}
}
@media (max-width: 767px) {
	#bannerGymCTA {
		width: calc(100% - 20px);
		max-width: 490px;
		bottom: 20px;
		left: 50%;
		transform: translateX(-50%);
	}
	#bannerGymCTA img {
		width: 100%;
	}
	[id^="banner"] ~ #wpfront-scroll-top-container {
		bottom: 175px;
	}
}

@media (min-width: 1401px) {
	#bannerCTA {
		top: 50%;
		right: 0;
		transform: translateY(-50%);
	}
	#bannerCTA img {
		width: auto;
		height: 559px;
		max-height: 65vh;
	}
	@media (min-width: 1601px) {
		#bannerCTA img {
			height: 860px;
		}
	}
}
@media (max-width: 1400px) {
	#bannerCTA {
		width: calc(100% - 20px);
		max-width: 640px;
		bottom: 20px;
		left: 50%;
		transform: translateX(-50%);
	}
	#bannerCTA img {
		width: 100%;
	}
}

#bannerGymCTA img,
#bannerCTA img {
	filter: drop-shadow(0 0 2px #b2d2df);
}
#bannerGymCTA a:hover,
#bannerCTA a:hover {
	opacity: 1;
	filter: brightness(103%);
}
















/* 移植 */
.contact__link__mail a,
.contact__link__tel a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 6rem;
	padding: 0 7.6rem;
	column-gap: 1.2rem;
	border: 2px solid #fff;
	border-radius: 20px;
}
.contact__link__mail {
	margin-bottom: 1.5rem;
}
.contact__link__text p {
	font-size: 1.5rem;
}
.contact__link__text p.small {
	font-size: 1.2rem;
}
.contact__link__mail a img {
	width: 2.3rem;
	height: 1.7rem;
}
.contact__link__tel a img {
	width: 3rem;
	height: 2.5rem;
}
@media (max-width: 768px) {
	.contact__link {
		margin: 0;
	}
	.contact__link__mail a,
	.contact__link__tel a {
		width: calc((669 / 750) * 100vw);
		height: calc((102 / 750) * 100vw);
		padding: 0;
		column-gap: calc((11 / 750) * 100vw);
		border-width: calc((2 / 750) * 100vw);
		border-radius: calc((20 / 750) * 100vw);
	}
	.contact__link__mail {
		margin-bottom: calc((24 / 750) * 100vw);
	}
	.contact__link__text p {
		font-size: calc((28 / 750) * 100vw);
	}
	.contact__link__mail a img {
		width: calc((39 / 750) * 100vw);
		height: calc((29 / 750) * 100vw);
	}
	.contact__link__tel a img {
		width: calc((50 / 750) * 100vw);
		height: calc((42 / 750) * 100vw);
	}
}
