@charset "UTF-8"; 

/* #kv ------------------------------------------------------------------------------------------*/

#kv {
	background-image: url(/assets/img/trainer/hero_pc.jpg); 
	display: flex; 
	justify-content: flex-start; 
	align-items: flex-end; 
}

main.sub_page #kv .kv_wrap {
	width: 830px; 
	height: 338px; 
	background: rgba(180, 180, 180, 0.42); 
	padding: 28px 75px 35px 100px; 
	margin: 0; 
	display: flex; 
	flex-wrap: nowrap; 
	flex-direction: column; 
	align-items: flex-end; 
}

main #kv .kv_wrap h1 {
	font-size: 131.66px; 
	color: #FFF; 
	line-height: 86%; 
}

main #kv .kv_wrap h2 {
	font-size: 30.547px; 
	color: #FFF; 
	text-align: right; 
}

/* #trainer ------------------------------------------------------------------------------------------*/

#trainer {
	background: linear-gradient(180deg, #F0F3F3 0%, #D7E6E8 100%); 
	padding: 100px 0 70px; 
}

#trainer .trainer_list {
	width: 1194px; 
	margin: 0 auto; 
	display: flex; 
	flex-wrap: wrap; 
	justify-content: space-between; 
	gap: 20px 0; 
}

#trainer .trainer_list li {
	width: 589px; 
	padding: 10px 22px 100px; 
	background-color: rgba(255, 255, 255, 0.64); 
}

#trainer .trainer_list .trainer_mainWrap {
	display: flex; 
	align-items: flex-start; 
}

#trainer .trainer_list .trainer_mainWrap img {
	width: 145px; 
}

#trainer .trainer_list .trainer_mainWrap .trainer_text {
	margin-left: 20px; 
}

#trainer .trainer_list .trainer_mainWrap .trainer_text .trainer_name {
	font-size: 29px; 
	line-height: normal; 
	font-weight: 500; 
}

#trainer .trainer_list .trainer_mainWrap .trainer_text .trainer_type {
	font-size: 16px; 
	line-height: 25px; 
}

#trainer .trainer_list .trainer_profile {
	margin-top: 20px; 
}

#trainer .trainer_list .trainer_profile dt {
	color: #7CB1BF; 
	font-size: 28px; 
	font-style: italic; 
	font-weight: 500; 
}

#trainer .trainer_list .trainer_profile dt span {
	font-size: 20px; 
	font-style: normal; 
}

#trainer .trainer_list .trainer_profile dd {
	font-size: 19px; 
	line-height: 29px; 
	margin-bottom: 20px; 
}

/* Liquid ------------------------------------------------------------------------------------------*/

@media (max-width: 1440px) {

	/* #kv ------------------------------------------------------------------------------------------*/

	#kv {
		background-image: url(/assets/img/trainer/hero_pc.jpg); 
		display: flex; 
		justify-content: flex-start; 
		align-items: flex-end; 
	}

	main.sub_page #kv .kv_wrap {
		width: min(calc(830/1440*100vw), 830px); 
		height: min(calc(338/1440*100vw), 338px); 
		padding: min(calc(28/1440*100vw), 28px) min(calc(75/1440*100vw), 75px) min(calc(35/1440*100vw), 35px) min(calc(100/1440*100vw), 100px); 
	}

	main #kv .kv_wrap h1 {
		font-size: min(calc(131/1440*100vw), 131px); 
	}

	main #kv .kv_wrap h2 {
		font-size: min(calc(30.547/1440*100vw), 30.547px); 
	}

	/* #trainer ------------------------------------------------------------------------------------------*/

	#trainer {
		padding: min(calc(100/1440*100vw), 100px) 0 min(calc(70/1440*100vw), 70px); 
	}

	#trainer .trainer_list {
		width: calc(1194/1440*100%); 
		margin: 0 auto; 
		display: flex; 
		flex-wrap: wrap; 
		justify-content: space-between; 
		gap: min(calc(20/1440*100vw), 20px) 0; 
	}

	#trainer .trainer_list li {
		width: min(calc(580/1440*100vw), 580px); 
		padding: min(calc(10/1440*100vw), 10px) min(calc(22/1440*100vw), 22px) min(calc(100/1440*100vw), 100px); 
	}

	#trainer .trainer_list .trainer_mainWrap {
		display: flex; 
	}

	#trainer .trainer_list .trainer_mainWrap img {
		width: min(calc(145/1440*145vw), 145px); 
	}

	#trainer .trainer_list .trainer_mainWrap .trainer_text {
		margin-left: 20px; 
	}

	#trainer .trainer_list .trainer_mainWrap .trainer_text .trainer_name {
		font-size: min(calc(29/1440*100vw), 29px); 
	}

	#trainer .trainer_list .trainer_mainWrap .trainer_text .trainer_type {
		font-size: min(calc(16/1440*100vw), 16px); 
		line-height: min(calc(25/1440*100vw), 25px); 
	}

	#trainer .trainer_list .trainer_profile {
		margin-top: min(calc(20/1440*100vw), 20px); 
	}

	#trainer .trainer_list .trainer_profile dt {
		font-size: min(calc(28/1440*100vw), 28px); 
		font-style: normal; 
	}

	#trainer .trainer_list .trainer_profile dt span {
		font-size: min(calc(20/1440*100vw), 20px); 
	}

	#trainer .trainer_list .trainer_profile dd {
		font-size: min(calc(19/1440*100vw), 19px); 
		line-height: min(calc(29/1440*100vw), 29px); 
	}
}

/* Smartphone ------------------------------------------------------------------------------------------*/

@media (max-width: 1000px) {

	/* #kv ------------------------------------------------------------------------------------------*/

	main.sub_page #kv {
		background-image: url(/assets/img/trainer/hero_sp.jpg); 
		display: flex; 
		justify-content: flex-start; 
		align-items: flex-end; 
		height: min(calc(720/786*100vw), 720px); 
		padding-bottom: min(calc(26/786*100vw), 26px); 
	}

	main.sub_page #kv .kv_wrap {
		width: 100%; 
		height: min(calc(280/786*100vw), 280px); 
		background: rgba(180, 180, 180, 0.42); 
		padding: 0 0 0 min(calc(40/786*100vw), 40px); 
		margin: 0; 
		display: flex; 
		flex-wrap: nowrap; 
		flex-direction: column; 
		justify-content: center; 
		align-items: flex-start; 
	}

	main #kv .kv_wrap h1 {
		font-size: min(calc(110/786*100vw), 110px); 
	}

	main #kv .kv_wrap h2 {
		font-size: min(calc(24/786*100vw), 24px); 
		color: #FFF; 
		text-align: left; 
	}

	/* #trainer ------------------------------------------------------------------------------------------*/

	#trainer {
		background: linear-gradient(180deg, #F0F3F3 0%, #D7E6E8 100%); 
		padding: min(calc(40/786*100vw), 40px) min(calc(36/786*100vw), 36px) min(calc(100/786*100vw), 100px); 
	}

	#trainer .trainer_list {
		width: 100%; 
		margin: 0 auto; 
		display: flex; 
		flex-wrap: wrap; 
		justify-content: space-between; 
		gap: min(calc(40/786*100vw), 40px) 0; 
	}

	#trainer .trainer_list li {
		width: 100%; 
		padding: min(calc(30/786*100vw), 30px) min(calc(40/786*100vw), 40px) min(calc(60/786*100vw), 60px); 
	}

	#trainer .trainer_list .trainer_mainWrap img {
		width: min(calc(290/786*100vw), 290px); 
	}

	#trainer .trainer_list .trainer_mainWrap .trainer_text {
		margin-left: min(calc(30/786*100vw), 30px); 
	}

	#trainer .trainer_list .trainer_mainWrap .trainer_text .trainer_name {
		font-size: min(calc(45/786*100vw), 45px); 
		margin-top: min(calc(20/786*100vw), 20px); 
	}

	#trainer .trainer_list .trainer_mainWrap .trainer_text .trainer_type {
		font-size: min(calc(20/786*100vw), 20px); 
		line-height: 160%; 
	}

	#trainer .trainer_list .trainer_profile {
		margin-top: min(calc(20/786*100vw), 20px); 
	}

	#trainer .trainer_list .trainer_profile dt {
		color: #7CB1BF; 
		font-size: min(calc(40/786*100vw), 40px); 
	}

	#trainer .trainer_list .trainer_profile dt span {
		color: #7CB1BF; 
		font-size: min(calc(24/786*100vw), 24px); 
	}

	#trainer .trainer_list .trainer_profile dd {
		font-size: min(calc(24/786*100vw), 24px); 
		letter-spacing: 0; 
		line-height: 175%; 
		margin-bottom: min(calc(20/786*100vw), 20px); 
	}
}