/*---------------------------------
	mainvisual start
---------------------------------*/
.mainvisual_inner{
	position: relative;
	padding-top: 100vh;
	overflow: hidden;
}

.mainvisual_img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: left bottom;
}

.mainvisual_catch{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 90%;
	max-height: 100%;
	color: #FFF;
	text-align: center;
	font-size: 300%;
	text-shadow: 
		1px 1px 0.125em #000,
		1px 1px 0.125em #000,
		1px 1px 0.125em #000;
	z-index: 102;
}

@media(max-width: 1024px){
	.mainvisual_catch{
		font-size: 200%;
	}
}

@media(max-width: 600px){
	.mainvisual_catch{
		font-size: 7.5vw;
	}
}

/*---------------------------------
	mainvisual end
---------------------------------*/

/*---------------------------------
	priceTable start
---------------------------------*/

.priceTablePlan{
	width: 20%;
}

.priceTablePrice{
	width: 25%;
}

@media(max-width: 1024px){
	.priceTable{
		& tbody{
			display: flex;
			flex-direction: column;
			gap: 1em;
		}
		& tr{
			display: flex;
			flex-wrap: wrap;
			align-items: flex-start;
			justify-content: flex-start;
			gap: 0.5em 1em;
			width: 100%;
			padding: 0.75em 0.5em
		}
		& .priceTablePlan{
			width: 6em;
			padding: 0;
		}
		& .priceTablePrice{
			width: calc(100% - 1em - 6em);
			padding: 0;
		}
		& .priceTableContent{
			width: 100%;
			padding: 0;
		}
	}
}

@media(max-width: 600px){
	.priceTable{
		& .priceTablePlan,
		& .priceTablePrice,
		& .priceTableContent{
			width: 100%;
			padding: 0;
		}
	}
}

/*---------------------------------
	priceTable end
---------------------------------*/