/*===============================================================================
共通
================================================================================*/
.profile__inner .profile__section:not(:last-of-type){
	margin-bottom: var(--g-sec--md);
}
.profile__section.--has-bgc{
	position: relative;
	padding: var(--g-sec--md) 0;
}
.profile__section.--has-bgc::before{
	position: absolute;
	top: 0;
	left: calc( 50% - 50vw );
	z-index: -1;
	content: "";
	max-width: 100vw;
	width: 100vw;
	height: 100%;
	background: var(--c-blue-light);
}
.profile__head{
	margin-bottom: var(--g-sec--sm);
}



/*===============================================================================
経営理念
================================================================================*/
.profile-mv{
	position: relative;
	margin-bottom: var(--g-sec--md);
	padding: var(--g-sec--sm) 0 clamp(0.75rem, -2.911rem + 9.76vw, 5.875rem);
}
.profile-mv__bgi{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
	max-width: var(--width-sm);
	width: 100%;
	height: 100%;
	margin-inline: auto;
	object-fit: cover;
}
.profile-mv__bgi img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.profile-mv__contents{
	position: relative;
	z-index: 1;
	font-family: var(--ff-m);
}
.profile-mv__lead{
	display: flex;
	flex-direction: column;
	margin-bottom: 1rem;
	line-height: var(--lh-md);
	font-weight: var(--fw-lg);
	font-size: clamp(1.25rem, 0.714rem + 1.43vw, 2rem);
}
.profile-mv__lead > span{
	max-width: fit-content;
	padding: .75rem;
	background: var(--c-light);
}
.profile-mv__lead strong{
	color: var(--c-blue-dark);
}
.profile-mv__desc{
	max-width: fit-content;
	padding: .75rem;
	background: var(--c-light);
	font-weight: var(--fw-lg);
}
.profile-mv__text{
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
}
@media (min-width: 600px){
	.profile-mv__text{
		flex-direction: row;
	}
}



/*===============================================================================
講師プロフィール
================================================================================*/
.profile-personal{
	max-width: var(--width-sm);
	margin-inline: auto;
}
.profile-personal__title{
	margin-bottom: var(--g-sec--xs);
	padding: 1rem;
	text-align: center;
	background: var(--c-main);
	font-size: 1.5rem;
	font-family: var(--ff-m);
	font-weight: var(--fw-lg);
	color: var(--c-light);
}
.profile-personal__flex{
	--count: 1;
	--gap: var(--g-sec--xs);
	--media-width: 50%;
	--body-width: calc( 200% - var(--media-width) );
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
	margin-bottom: var(--g-sec--xs);
}
@media (min-width: 600px){
	.profile-personal__flex{
		--media-width: 60%;
		--count: 2;
	}
}

.profile-personal__picture{
	width: calc( ( var(--media-width) - var(--gap) * (var(--count) - 1) ) / var(--count) );
	margin-inline: auto;
}
.profile-personal__contents{
	width: calc( ( var(--body-width) - var(--gap) * (var(--count) - 1) ) / var(--count) );
}
.profile-personal__textArea:not(:last-of-type){
	margin-bottom: 1.25rem;
}



/*===============================================================================
保護者の皆様へ
================================================================================*/
.profile-message{
	padding: var(--g-sec--xs) 1rem;
	background: var(--c-gray);
}
.profile-message__title{
	margin-bottom: 1.25rem;
	text-align: center;
	font-size: 1.25rem;
	font-weight: var(--fw-lg);
	color: var(--c-blue-dark);
}
.profile-message__contents{
	max-width: 800px;
	margin-inline: auto;
}
.profile-message__textArea:not(:last-of-type){
	margin-bottom: 1.25rem;
}



/*===============================================================================
スクール概要
================================================================================*/
.profile-table{
	--cell-pad-x: clamp(0rem, -1.786rem + 4.76vw, 2.5rem);
	--cell-pad-y: clamp(1.25rem, 0.714rem + 1.43vw, 2rem);
	width: 100%;
	max-width: var(--width-sm);
	margin-inline: auto;
}
.profile-table tr{
	display: flex;
	flex-direction: column;
	gap: .5rem 1em;
	padding-bottom: var(--cell-pad-y);
	border-bottom: 1px solid var(--c-blue-normal);
	line-height: var(--lh-md);
}
.profile-table tr:not(:first-of-type){
	padding-top: var(--cell-pad-y);
}
@media (min-width: 600px){
	.profile-table tr{
		flex-direction: row;
	}
}
.profile-table td{
	padding: 0 var(--cell-pad-x);
}
.profile-table td:nth-of-type(1){
	width: calc( 6em + var(--cell-pad-x) * 2 );
}
.profile-table td:nth-of-type(2){
	flex: 1;
}
.profile-table a{
	text-decoration: underline;
}


