@charset "UTF-8";

/*------------------------------------------------------
	フッター
------------------------------------------------------*/
/* --------------------------------------
PC
-------------------------------------- */

/* 非表示 */
.mobile_catchphrase {
	display: none;
}



footer {
	font-weight: 500;
}

.upper_footer {
	height: 17rem;
	padding-top: 4.5rem;
	background-color: #FBFBFB;
}

.lower_footer {
	height: 9rem;
	padding-top: 3rem;
}

.upper_footer_contents,
.lower_footer_contents {
	max-width: 1350px;
	margin: 0 auto;
	display: flex;
	transition-duration: 0.3s;
}

.upper_footer_contents {
	padding: 0 7.5rem;
	justify-content: space-between;
	align-items: end;

	.title_contents {
		display: flex;
		align-items: center;
	}

	.logo {
		width: 6.5rem;
		margin-right: 1.2cqw;
	}

	.english_caption {
		width: 28rem;
		margin-bottom: 1rem;
	}

	.footer_clinic_name {
		font-size: 3.3rem;
	}

	& address {
		margin-bottom: 0.5rem;
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-basis: 55%;
		font-size: 1.6rem;
	}

	.postal_address {
		display: flex;
	}

	.post_code {
		margin-right: 1rem;
	}

	.tel {
		font-size: 3.7rem;
		line-height: 1;
	}
}

.lower_footer_contents {
	padding: 0 8rem;
	justify-content: space-between;
	align-items: center;

	.global_navigation {
		max-width: 50rem;
		font-size: 1.8rem;
	}

	.copyright {
		margin-left: 3rem;
		font-size: 1.2rem;
	}
}



/* ----------PCレスポンシブ---------- */
@media screen and (min-width: 1921px) {

	.upper_footer_contents,
	.lower_footer_contents {
		max-width: 2000px;
	}
}



@media screen and (max-width: 1350px) {
	.upper_footer_contents {
		.logo {
			width: 4.8vw;
		}

		.english_caption {
			width: 20.7vw;
		}

		.footer_clinic_name {
			font-size: 2.45vw;
		}

		& address {
			margin-bottom: 0;
			flex-basis: 53%;
		}

		.postal_address {
			display: block;
		}

		.tel {
			font-size: 2.74vw;
		}
	}
}



@media screen and (max-width: 1080px) {

	.upper_footer_contents,
	.lower_footer_contents {
		padding: 0;
		max-width: 95%;
		transition-property: max-width, padding;
		transition-duration: 0.3s;
	}

	.upper_footer_contents {
		padding-top: 1.2rem;

		.postal_address {
			font-size: 1.5vw;
		}
	}

	.lower_footer_contents {
		.global_navigation {
			font-size: 1.65vw;
		}
	}
}



/* --------------------------------------
モバイル
-------------------------------------- */
@media screen and (max-width: 768px) {

	/* ↓表示・非表示↓ */
	.lower_footer_contents .global_navigation,
	.pc_catchphrase {
		display: none;
	}

	.mobile_catchphrase {
		display: block;
	}

	& .copyright .mobile_catchphrase {
		display: inline;
	}

	/* ↑表示・非表示↑ */

	.upper_footer {
		height: fit-content;
		padding: 0;
		background-color: #FFF;
	}

	.upper_footer_contents {
		flex-direction: column;
		justify-content: center;
		align-items: center;
		width: 92%;
		padding: 7.1vw 3.6vw 8vw;
		background-color: #FBFBFB;
		border-radius: 3vw;
		text-align: center;

		.title_contents,
		& address {
			display: block;
		}

		.title_contents {
			width: 100%;
			margin-bottom: 8vw;
		}

		.logo {
			width: 14.2vw;
			margin: 0 auto;
		}

		.clinic_name_wrapper {
			margin: 2.3vw auto 3vw;
		}

		.english_caption {
			width: clamp(3rem, 58vw, 44.5rem);
			margin: 0 auto 2vw;
		}

		.footer_clinic_name {
			font-size: 6.5vw;
		}

		.mobile_catchphrase {
			font-size: 3.2vw;
		}

		.postal_address {
			margin-bottom: 2.3vw;
			display: flex;
			justify-content: center;
			font-size: 3.13vw;
		}

		.post_code {
			margin-right: 1.4vw;
		}

		.tel {
			font-size: 7.1vw;
			letter-spacing: 0.4vw;

			&::before {
				width: 8.5vw;
				margin-right: 3vw;
			}
		}
	}

	.lower_footer {
		height: auto;
		padding: 0;
	}

	.lower_footer_contents {
		width: 80%;
		height: 13vw;

		.copyright {
			width: fit-content;
			margin: 0 auto;
			font-size: 3.1vw;
		}
	}

}