@charset "UTF-8"; 

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

#kv {
	background-image: url(/assets/img/function/hero_pc.jpg); 
}

#kv .kv_wrap {
	padding-bottom: 415px; 
}

main.sub_page #kv .kv_wrap h1 {
	color: #FFF; 
}

main.sub_page #kv .kv_wrap h2 {
	color: #FFF; 
}

/* #intro ------------------------------------------------------------------------------------------*/

#intro {
	height: 486px; 
	background-image: url(/assets/img/function/lead_bg_pc.jpg); 
	background-size: cover; 
	background-position: center center; 
	display: flex; 
	align-items: center; 
	justify-content: center; 
}

#intro p {
	font-size: 22px; 
	letter-spacing: 4.4px; 
	line-height: 186%; 
	text-align: center; 
}

/* #machine ------------------------------------------------------------------------------------------*/

#machine {
	background-color: #FAFAFA; 
	background-image: url(/assets/img/function/machine_bg_pc.jpg); 
	background-size: cover; 
}

#machine .machine_inner {
	max-width: 1180px; 
	margin: 0 auto; 
	padding: 120px 0 120px; 
}

#machine .training_wrap {
	display: flex; 
	justify-content: space-between; 
}

#machine .training_wrap .training_inner {
	width: 580px; 
}

#machine .training_wrap .training_inner .training_item p {
	font-size: 22px; 
	margin-bottom: 20px; 
}

#machine .training_wrap .training_inner .training_item .traning_btn {
	transition: all ease 0.3s; 
	cursor: pointer; 
	position: relative; 
}

#machine .training_wrap .training_inner .training_item .traning_btn img {
	transition: all ease 0.3s; 
}

#machine .training_wrap .training_inner .training_item .traning_btn:hover img {
	filter: grayscale(0.8); 
	opacity: 0.3; 
}

#machine .training_wrap .training_inner .training_item .traning_btn:hover:before { 
	display: block; 
	font-size: 40px; 
	line-height: 1; 
	white-space: nowrap; 
	position: absolute; 
	top: 40%; 
	left: 50%; 
	transform: translateX(-50%); 
	z-index: 2; 
	opacity: 1; 
}

#machine .training_wrap .training_inner .training_item .traning_btn:hover:after {
	display: block; 
	font-size: 25px; 
	line-height: 1; 
	white-space: nowrap; 
	position: absolute; 
	top: 52%; 
	left: 50%; 
	transform: translateX(-50%); 
	z-index: 2; 
}

#machine .training_wrap .training_inner .training_item .traning_item01.traning_btn:hover:before {
	content: "Training Machine"; 
}

#machine .training_wrap .training_inner .training_item .traning_item01.traning_btn:hover:after {
	content: "トレーニングマシン"; 
}

#machine .training_wrap .training_inner .training_item .traning_item02.traning_btn:hover:before {
	content: "Training"; 
}

#machine .training_wrap .training_inner .training_item .traning_item02.traning_btn:hover:after {
	content: "トレーニング"; 
}

#machine .training_wrap .training_inner:nth-of-type(2) .training_item p {
	text-align: right; 
}

#machine .training_pcwrap .training_detail {
	display: none; 
}

#machine .training_pcwrap .training_detail ul {
	margin-top: 50px; 
	display: flex; 
	flex-wrap: wrap; 
	justify-content: space-between; 
}

#machine .training_pcwrap .training_detail ul li {
	width: 31%; 
	font-size: 18px; 
	text-align: center; 
}

#machine .training_pcwrap .training_detail ul li p {
	text-align: center; 
	margin-bottom: 20px; 
}

#machine .training_pcwrap .training_personal {
	display: none; 
}

#machine .training_pcwrap .training_personal>p {
	margin-top: 50px; 
	font-size: 18px; 
	text-align: center; 
}

#machine .training_pcwrap .training_personal ul {
	margin-top: 20px; 
	display: flex; 
	flex-wrap: wrap; 
	justify-content: space-between; 
}

#machine .training_pcwrap .training_personal ul li {
	width: 49%; 
}

/* #bedrock ------------------------------------------------------------------------------------------*/

#bedrock {
	background-image: url(/assets/img/function/bedrock_bg_pc.jpg); 
	background-size: cover; 
	background-position: center center; 
	height: 980px; 
	padding: 310px 30px 0; 
	display: flex; 
	flex-direction: column; 
	justify-content: flex-end; 
}

#bedrock .bedrock_textWrap {
	display: flex; 
	flex-direction: column; 
	align-items: flex-end; 
	padding-right: 120px; 
}

#bedrock .cont_head.font_gar {
	color: #FFF; 
	line-height: 1.1; 
	white-space: nowrap; 
}

#bedrock .cont_sub {
	font-size: 22px; 
	display: block; 
	color: #FFF; 
	padding-right: 12px; 
}

#bedrock .bedrock_itemWrap ul {
	display: flex; 
	justify-content: space-between; 
	margin-top: 300px; 
}

#bedrock .bedrock_itemWrap ul li {
	width: calc(456/1440*100%); 
	padding: 57px 40px; 
	display: flex; 
	align-items: center; 
	justify-content: space-between; 
	background: rgba(62, 54, 35, 0.68); 
}

#bedrock .bedrock_itemWrap ul li p {
	display: block; 
	font-size: 22px; 
	color: #FFF; 
	text-align: center; 
	flex: 1; 
}

#bedrock .bedrock_itemWrap ul li:nth-of-type(1) img {
	width: 80px; 
}

#bedrock .bedrock_itemWrap ul li:nth-of-type(2) img {
	width: 93px; 
}

#bedrock .bedrock_itemWrap ul li:nth-of-type(3) img {
	width: 90px; 
}

/* #jacuzzi ------------------------------------------------------------------------------------------*/

#jacuzzi {
	display: block; 
	background-image: url(/assets/img/function/jacuzzi_bg_pc.jpg); 
	background-size: cover; 
}

#jacuzzi .pc_only .jacuzzi_wrap {
	display: flex; 
	justify-content: space-between; 
	align-items: center; 
	height: 574px; 
}

#jacuzzi .pc_only .jacuzzi_wrap .jucuzzi_textWrap {
	width: calc(579/1440*100%); 
	height: 100%; 
	display: flex; 
	flex-direction: column; 
	align-items: center; 
	justify-content: center; 
}

#jacuzzi .pc_only .jacuzzi_wrap .jacuzzi_imgWrap {
	width: calc(861/1440*100%); 
	height: 100%; 
	background-size: cover; 
	display: flex; 
	align-items: flex-end; 
}

#jacuzzi .pc_only .jacuzzi_wrap .jacuzzi_imgWrap p {
	font-size: 22px; 
	background-color: #F7F7F7; 
	padding: 0.5em 2.5em; 
}

#jacuzzi .pc_only .jacuzzi_wrap:nth-of-type(1) .jacuzzi_imgWrap {
	background-image: url(/assets/img/function/jacuzzi_01_pc.png); 
}

#jacuzzi .pc_only .jacuzzi_wrap:nth-of-type(2) .jacuzzi_imgWrap {
	background-image: url(/assets/img/function/jacuzzi_02_pc.png); 
	justify-content: flex-end; 
}

#jacuzzi .pc_only .jacuzzi_wrap:nth-of-type(2) .jucuzzi_textWrap .jacuzzi_subText {
	width: 348px; 
	font-size: 19px; 
	line-height: 30px; 
	letter-spacing: 2.09px; 
}

#jacuzzi .pc_only .jacuzzi_wrap .cont_head.font_gar {
	line-height: 1; 
}

#jacuzzi .pc_only .jacuzzi_wrap .cont_sub {
	font-size: 22px; 
}

#jacuzzi .room_wrap {
	padding-bottom: 128px; 
}

#jacuzzi .room_wrap .room_textWrap {
	padding: calc(150/1440*100%) calc(140/1440*100%) calc(80/1440*100%); 
	display: flex; 
	justify-content: space-between; 
	align-items: center; 
}

#jacuzzi .room_wrap .room_textWrap .cont_head.font_gar {
	line-height: 0.6; 
	text-align: center; 
}

#jacuzzi .room_wrap .room_textWrap p {
	font-size: 22px; 
	line-height: 1; 
}

#jacuzzi .room_wrap .room_imgWrap {
	padding: 0 calc(140/1440*100%); 
	display: flex; 
	margin: 0 auto; 
}

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

@media (max-width: 1440px) {

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

	main.sub_page #kv .kv_wrap {
		padding-bottom: min(calc(415/1440*100vw), 415px); 
	}

	/* #intro ------------------------------------------------------------------------------------------*/

	#intro {
		height: min(calc(486/1440*100vw), 486px); 
		background-image: url(/assets/img/function/lead_bg_sp.jpg); 
	}

	#intro p {
		font-size: min(calc(22/1440*100vw), 22px); 
		letter-spacing: min(calc(4.4/1440*100vw), 4.4px); 
	}

	/* #machine ------------------------------------------------------------------------------------------*/

	#machine .machine_inner {
		max-width: 100%; 
		margin: 0 auto; 
		padding: min(calc(120/1440*100vw), 120px) min(calc(130/1440*100vw), 130px) min(calc(120/1440*100vw), 120px); 
	}

	#machine .training_wrap {
		display: flex; 
		justify-content: space-between; 
	}

	#machine .training_wrap .training_inner {
		width: min(calc(560/1440*100vw), 560px); 
	}

	#machine .training_wrap .training_inner .training_item p {
		font-size: min(calc(22/1440*100vw), 22px); 
		margin-bottom: min(calc(20/1440*100vw), 20px); 
	}

	#machine .training_wrap .training_inner .training_item .traning_btn:hover:before { 
		font-size: min(calc(40/1440*100vw), 40px); 
	}

	#machine .training_wrap .training_inner .training_item .traning_btn:hover:after {
		font-size: min(calc(25/1440*100vw), 25px); 
	}

	#machine .training_pcwrap .training_detail ul {
		margin-top: min(calc(50/1440*100vw), 50px); 
	}

	#machine .training_pcwrap .training_detail ul li {
		font-size: min(calc(18/1440*100vw), 18px); 
	}

	#machine .training_pcwrap .training_detail ul li p {
		margin-bottom: min(calc(20/1440*100vw), 20px); 
	}

	#machine .training_pcwrap .training_personal>p {
		margin-top: min(calc(50/1440*100vw), 50px); 
		font-size: min(calc(18/1440*100vw), 18px); 
	}

	#machine .training_pcwrap .training_personal ul {
		margin-top: min(calc(20/1440*100vw), 20px); 
	}

	/* #bedrock ------------------------------------------------------------------------------------------*/

	#bedrock {
		height: min(calc(980/1440*100vw), 980px); 
		padding: min(calc(310/1440*100vw), 310px) min(calc(30/1440*100vw), 30px) 0; 
	}

	#bedrock .cont_head.font_gar {
		margin-left: calc(760/1440*100%); 
	}

	#bedrock .bedrock_textWrap {
		padding-right: min(calc(120/1440*100vw), 120px); 
	}

	#bedrock .cont_sub {
		font-size: min(calc(22/1440*100vw), 22px); 
		display: block; 
		color: #FFF; 
		padding-right: calc(12/1440*100%); 
	}

	#bedrock .bedrock_itemWrap ul {
		margin-top: min(calc(300/1440*100vw), 300px); 
	}

	#bedrock .bedrock_itemWrap ul li {
		width: calc(456/1440*100%); 
		padding: min(calc(57/1440*100vw), 57px) min(calc(40/1440*100vw), 40px); 
		display: flex; 
		align-items: center; 
		justify-content: space-between; 
		background: rgba(62, 54, 35, 0.68); 
	}

	#bedrock .bedrock_itemWrap ul li p {
		display: block; 
		font-size: min(calc(22/1440*100vw), 22px); 
		color: #FFF; 
		text-align: center; 
		flex: 1; 
	}

	#bedrock .bedrock_itemWrap ul li:nth-of-type(1) img {
		width: min(calc(80/1440*100vw), 80px); 
	}

	#bedrock .bedrock_itemWrap ul li:nth-of-type(2) img {
		width: min(calc(93/1440*100vw), 93px); 
	}

	#bedrock .bedrock_itemWrap ul li:nth-of-type(3) img {
		width: min(calc(90/1440*100vw), 90px); 
	}

	/* #jacuzzi ------------------------------------------------------------------------------------------*/

	#jacuzzi .pc_only .jacuzzi_wrap {
		height: min(calc(574/1440*100vw), 574px); 
	}

	#jacuzzi .pc_only .jacuzzi_wrap .jacuzzi_imgWrap p {
		font-size: min(calc(22/1440*100vw), 22px); 
	}

	#jacuzzi .pc_only .jacuzzi_wrap .cont_sub {
		font-size: min(calc(22/1440*100vw), 22px); 
	}

	#jacuzzi .pc_only .jacuzzi_wrap:nth-of-type(2) .jucuzzi_textWrap .jacuzzi_subText {
		width: min(calc(348/1440*100vw), 348px); 
		font-size: min(calc(19/1440*100vw), 19px); 
		line-height: min(calc(30/1440*100vw), 30px); 
		letter-spacing: min(calc(2.09/1440*100vw), 2.09px); 
	}

	#jacuzzi .room_wrap {
		padding-bottom: min(calc(128/1440*100vw), 128px); 
	}

	#jacuzzi .room_wrap .room_textWrap p {
		font-size: min(calc(22/1440*100vw), 22px); 
		line-height: 1; 
	}
}

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

@media (max-width: 1000px) {

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

	#kv {
		background-image: url(/assets/img/function/hero_sp.jpg); 
	}

	main.sub_page #kv .kv_wrap {
		padding-bottom: min(calc(360/786*100vw), 360px); 
	}

	/* #intro ------------------------------------------------------------------------------------------*/

	#intro {
		height: min(calc(366/786*100vw), 366px); 
		background-image: url(/assets/img/function/lead_bg_pc.jpg); 
	}

	#intro p {
		font-size: min(calc(24/786*100vw), 24px); 
		letter-spacing: min(calc(2.4/786*100vw), 2.4px); 
		line-height: 186%; 
		text-align: center; 
		padding-bottom: 10%; 
	}

	/* #machine ------------------------------------------------------------------------------------------*/

	#machine {
		background-color: #FAFAFA; 
		background-image: url(/assets/img/function/machine_bg_sp.jpg); 
		background-size: cover; 
		background-position: center bottom; 
	}

	#machine .machine_inner {
		max-width: 1180px; 
		margin: 0 auto; 
		padding: min(calc(60/786*100vw), 60px) min(calc(40/786*100vw), 40px) min(calc(70/786*100vw), 70px); 
	}

	#machine .cont_head.font_gar {
		font-size: min(calc(48/786*100vw), 48px); 
	}

	#machine .training_wrap {
		display: block; 
		padding: 0; 
	}

	#machine .training_wrap .training_inner {
		width: 100%; 
	}
	
	#machine .training_wrap .training_inner .training_item p {
		font-size: min(calc(20/786*100vw), 20px); 
		margin-bottom: min(calc(30/786*100vw), 30px); 
	}

	#machine .training_wrap .training_inner .training_item .traning_btn {
		transition: all ease 0.3s; 
		cursor: initial; 
		position: relative; 
	}

	#machine .training_wrap .training_inner .training_item .traning_btn img {
		transition: all ease 0.3s; 
	}

	#machine .training_wrap .training_inner .training_item .traning_btn:hover img {
		filter: none; 
		opacity: 1; 
	}

	#machine .training_wrap .training_inner .training_item .traning_btn:hover:before { 
		content: none !important; 
	}

	#machine .training_wrap .training_inner .training_item .traning_btn:hover:after {
		content: none !important; 
	}

	#machine .training_wrap .training_inner:nth-of-type(2) .training_item p {
		text-align: left; 
	}

	#machine .training_wrap .training_inner .training_item .training_detail ul {
		display: flex; 
		flex-wrap: wrap; 
		justify-content: space-between; 
		margin: min(calc(40/786*100vw), 40px) auto min(calc(60/786*100vw), 60px); 
	}

	#machine .training_wrap .training_inner .training_item .training_detail li {
		width: 32%; 
	}

	#machine .training_wrap .training_inner .training_item .training_detail li p {
		font-size: min(calc(20/786*100vw), 20px); 
		margin-bottom: 2%; 
		text-align: center; 
	}

	#machine .training_wrap .training_inner .training_item .training_personal.sp_only p {
		margin: min(calc(30/786*100vw), 30px) auto 2%; 
		text-align: center; 
	}

	#machine .training_wrap .training_inner .training_item .training_personal.sp_only ul {
		display: flex; 
		flex-wrap: wrap; 
		justify-content: space-between; 
	}

	#machine .training_wrap .training_inner .training_item .training_personal.sp_only ul li {
		width: 48%; 
	}

	#machine .training_pcwrap .training_detail {
		display: none; 
	}

	/* #bedrock ------------------------------------------------------------------------------------------*/

	#bedrock {
		background-image: url(/assets/img/function/bedrock_bg_sp.jpg); 
		background-size: cover; 
		background-position: center center; 
		height: min(calc(532/786*100vw), 532px); 
		padding: min(calc(220/786*100vw), 220px) 0 0; 
		display: flex; 
		flex-direction: column; 
	}

	#bedrock .bedrock_textWrap {
		display: flex; 
		flex-direction: column; 
		align-items: flex-end; 
		padding-right: calc(80/786*100%); 
	}

	#bedrock .cont_head.font_gar {
		color: #FFF; 
		margin-left: 0; 
		line-height: 1.1; 
		white-space: nowrap; 
		font-size: min(calc(80/786*100vw), 80px); 
		text-align: right; 
		margin-right: 0; 
	}

	#bedrock .cont_sub {
		font-size: min(calc(24/786*100vw), 24px); 
		text-align: right; 
		display: block; 
		color: #FFF; 
		margin-left: 0; 
		margin-right: 0; 
		padding-right: calc(5/786*100%); 
	}

	#bedrock .bedrock_itemWrap ul {
		display: flex; 
		justify-content: space-between; 
		margin-top: 9%; 
	}

	#bedrock .bedrock_itemWrap ul li {
		width: calc(255/786*100%); 
		padding: min(calc(25/786*100vw), 25px) min(calc(30/786*100vw), 30px); 
		display: flex; 
		align-items: center; 
		justify-content: space-between; 
		background: rgba(62, 54, 35, 0.68); 
	}

	#bedrock .bedrock_itemWrap ul li p {
		display: inline; 
		font-size: min(calc(22/786*100vw), 22px); 
		color: #FFF; 
		text-align: left; 
		flex: 1; 
	}

	#bedrock .bedrock_itemWrap ul li img {
		margin-right: 9%; 
	}

	#bedrock .bedrock_itemWrap ul li:nth-of-type(1) img {
		width: min(calc(48/786*100vw), 48px); 
	}

	#bedrock .bedrock_itemWrap ul li:nth-of-type(2) img {
		width: min(calc(52/786*100vw), 52px); 
	}

	#bedrock .bedrock_itemWrap ul li:nth-of-type(3) img {
		width: min(calc(54/786*100vw), 54px); 
	}

	/* #jacuzzi ------------------------------------------------------------------------------------------*/

	#jacuzzi {
		display: block; 
		background-image: url(/assets/img/function/jacuzzi_bg_sp.jpg); 
		background-size: cover; 
		padding: min(calc(60/786*100vw), 60px) 0 0; 
	}

	#jacuzzi .sp_only .cont_head.font_gar {
		text-align: center; 
		line-height: 1; 
	}

	#jacuzzi .sp_only .cont_sub {
		text-align: center; 
		font-size: min(calc(26/786*100vw), 26px); 
	}

	#jacuzzi .sp_only .jacuzzi_subText {
		width: calc(706/786*100%); 
		margin: 0 auto 1.5em; 
		font-size: min(calc(22/786*100vw), 22px); 
		line-height: 181%; 
		letter-spacing: min(calc(1.1/786*100vw), 1.1px); 
	}

	#jacuzzi .sp_only .jucuzzi_imgOuter .jacuzzi_wrap {
		display: flex; 
		flex-wrap: wrap; 
		justify-content: space-between; 
	}

	#jacuzzi .sp_only .jucuzzi_imgOuter .jacuzzi_imgWrap {
		background-size: cover; 
		width: 50%; 
		height: min(calc(262/786*100vw), 262px); 
		display: flex; 
		align-items: flex-end; 
	}

	#jacuzzi .sp_only .jucuzzi_imgOuter .jacuzzi_imgWrap:nth-of-type(1) {
		background-image: url(/assets/img/function/jacuzzi_01_sp.png); 
	}

	#jacuzzi .sp_only .jucuzzi_imgOuter .jacuzzi_imgWrap:nth-of-type(2) {
		background-image: url(/assets/img/function/jacuzzi_02_sp.png); 
	}

	#jacuzzi .sp_only .jucuzzi_imgOuter .jacuzzi_imgWrap p {
		font-size: min(calc(22/786*100vw), 22px); 
		line-height: 1; 
		background-color: #F7F7F7; 
		padding: 0.5em 2em; 
		display: inline-block; 
	}

	#jacuzzi .room_wrap {
		padding-bottom: min(calc(60/786*100vw), 60px); 
	}

	#jacuzzi .room_wrap .room_textWrap {
		padding: calc(50/786*100%) calc(80/786*100%) calc(20/786*100%); 
		display: flex; 
		justify-content: space-between; 
		align-items: center; 
	}

	#jacuzzi .room_wrap .room_textWrap .cont_head.font_gar {
		font-size: min(calc(40/786*100vw), 40px); 
	}

	#jacuzzi .room_wrap .room_textWrap p {
		line-height: 1; 
	}

	#jacuzzi .room_wrap .room_imgWrap {
		padding: 0 0; 
		display: flex; 
		margin: 0 auto; 
	}

	#jacuzzi .room_wrap>p.sp_only {
		text-align: center; 
		font-size: min(calc(24/786*100vw), 24px); 
		margin-top: 2%; 
	}
}