#footer .container {
	max-width: calc(1200px + 10%);
	padding: 0 5%;
}

#footer .f_bottom {
	padding: 20px 0;
}

#footer .f_menu .f_addr {
	flex: 1 0 auto;
	align-self: flex-start;
	color: #fff;
	margin-right: 40px;
}

#footer .f_menu .f_addr .logo {
	margin-bottom: 16px;
}

#footer .f_menu .f_addr .logo img {
	width: 120px;
	height: auto;
}

#footer .f_menu .f_addr .logo a {
	padding-left: 0;
}

#footer .f_menu .f_addr .logo a::before {
	display: none;
}

#footer .f_menu .f_addr .addr {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
}

#footer .f_menu .f_addr .addr p {
	font-size: 14px;
	margin-bottom: 10px;
}

#footer .f_menu .f_addr .addr p:last-child {
	margin-bottom: 0;
}

#footer .f_menu .f_col.col02,
#footer .f_menu .f_col_treatment {
	width: auto;
	margin-right: 50px;
}

#footer .f_menu .f_col_oral {
	width: auto;
}

#footer .f_menu .f_menu_group ul:first-child {
	margin-right: 30px;
}

#footer .f_menu .f_col .header_sub li {
	padding-left: 0.5em;
}

#footer .f_menu .f_col li:not(.f_menu_ttl) {
	margin-bottom: 8px;
}

#footer .f_menu a {
	font-size: 13px;
}

@media screen and (max-width: 1439px) {
	#footer .f_menu a {
		font-size: 12px;
	}
}

@media screen and (max-width: 640px) {
	#footer .container {
		padding: 0 20px;
	}

	#footer .f_menu {
		display: block;
		padding: 30px 0;
	}

	#footer .f_menu .f_col {
		display: none;
	}

	#footer .f_menu .f_addr {
		margin-right: 0;
	}

	#footer .f_menu .f_addr .logo {
		width: 120px;
		margin-inline: auto;
	}
}

@media screen and (max-width: 389px) {
	#footer .f_menu .f_addr .addr,
	#footer .f_menu .f_addr .addr p {
		font-size: max(12px, calc(12px + (14 - 12) * ((100vw - 320px) / 69)));
	}
}
