/** @format */

@charset "utf-8";
/*  price.css
---------------------------------------------- */

/*  pc
---------------------------------------------- */
#price .cont_wrap {
	margin-top: 70px;
}

/*  initial
---------------------------------------------- */
#initial .init_wrap {
	display: flex;
}
#initial .init_wrap .table {
	width: 50%;
}
#initial .table:last-child thead tr th,
#initial .table:last-child tbody tr td {
	border-left: none;
}
#initial .init_wrap .table thead tr th {
	height: 50px;
	font-size: 2.2rem;
}
#initial .init_wrap .table tbody tr td {
	height: 90px;
	text-align: center;
	font-weight: 600;
	font-size: 3.8rem;
}
#initial .init_wrap .table tbody tr td::after {
	content: "円";
	font-size: 2.6rem;
}

/*  monthly
---------------------------------------------- */
#monthly {
	padding: 130px 0 105px;
}
#monthly .table_std {
	width: 100%;
}
#monthly .table_std tbody tr th {
	width: 150px;
}
#monthly .table_std tbody tr td {
	padding: 0 30px;
}
#monthly .mo_price {
	margin: 40px 0 60px;
	color: var(--color_brown);
}
#monthly .mo_price .sum_wrap {
	margin: 0 auto;
	width: fit-content;
}
#monthly .mo_price .sum_wrap .label {
	font-weight: 500;
	font-size: 2.3rem;
}
#monthly .mo_price .sum_wrap .txt {
	position: relative;
	font-weight: 700;
	font-size: 5rem;
	z-index: 1;
}
#monthly .mo_price .sum_wrap .txt::after {
	content: "";
	width: calc(100% + 20px);
	height: 10px;
	position: absolute;
	bottom: 5px;
	left: -10px;
	background: #ffcd41;
	z-index: -1;
}
#monthly .mo_price .sum_wrap .txt span {
	font-size: 3.6rem;
}
#monthly .mo_price .plus {
	margin: 20px 0;
	font-weight: 500;
	font-size: 7rem;
	text-align: center;
}
#monthly .mo_price .desc {
	text-align: center;
	font-weight: 500;
}
#monthly .table_ttl {
	margin-bottom: 20px;
	padding: 5px 20px;
	font-weight: 500;
	color: var(--color_brown);
	background: var(--color_yellow);
}
#monthly .other .table_other,
#monthly .limit .table_lim {
	width: 100%;
}
#monthly .other {
	margin-bottom: 60px;
}
#monthly .other .table_other tbody tr th {
	width: 225px;
}
#monthly .other .table_other tbody tr td {
	padding: 0 30px;
}
#monthly .limit .table_lim thead tr th:first-child,
#monthly .limit .table_lim tbody tr th {
	width: 125px;
}
#monthly .limit .table_lim thead tr th:not(:first-child),
#monthly .limit .table_lim tbody tr td {
	width: calc(100% / 5 - 125px);
}

#monthly .limit .table_lim tbody tr td {
	text-align: center;
}

/*  mobile & smart phone
---------------------------------------------- */
@media only screen and (max-width: 959px) {
	#price .cont_wrap {
		margin-top: 140px;
	}

	/*  initial
	---------------------------------------------- */
	#initial .init_wrap .table tbody tr td {
		height: 80px;
	}

	/*  monthly
	---------------------------------------------- */
	#monthly {
		padding: 100px 0;
	}
	#monthly .table_wrap {
		overflow-x: scroll;
		width: 100%;
	}
	#monthly .table_std {
		width: calc(100px + 600px);
	}
	#monthly .table_std tbody tr th {
		width: 100px;
		position: sticky;
		left: 0;
		z-index: 1;
	}
	#monthly .table_std tbody tr th::after {
		content: "";
		width: 100%;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: 0;
		background: var(--color_white);
	}
	#monthly .table_std tbody tr td {
		padding: 5px 10px;
	}
	#monthly .mo_price {
		margin: 40px 0;
	}
	#monthly .mo_price .sum_wrap .txt {
		font-size: 4.2rem;
	}
	#monthly .mo_price .sum_wrap .txt::after {
		width: calc(100% + 10px);
		left: -5px;
	}
	#monthly .mo_price .sum_wrap .txt span {
		font-size: 3rem;
	}
	#monthly .mo_price .plus {
		margin: 0;
		font-size: 6rem;
	}
	#monthly .table_ttl {
		margin-bottom: 10px;
	}
	#monthly .other .table_other,
	#monthly .limit .table_lim {
		width: 100%;
	}
	#monthly .other {
		margin-bottom: 60px;
	}

	#monthly .other .table_other {
		width: calc(170px + 400px);
	}
	#monthly .other .table_other tbody tr th {
		width: 170px;
		position: sticky;
		left: 0;
		z-index: 1;
	}

	#monthly .other .table_other tbody tr td {
		padding: 5px 10px;
	}
	#monthly .limit .table_lim {
		min-width: calc((80px * 2) + (100px * 5));
	}
	#monthly .limit .table_lim thead tr th:first-child,
	#monthly .limit .table_lim tr th {
		width: 80px !important;
		position: sticky;
		left: 0;
		z-index: 1;
	}
	#monthly .limit .table_lim thead tr th:first-child {
		top: 0;
		left: 0;
		z-index: 2;
	}
	#monthly .limit .table_lim thead tr th:not(:first-child),
	#monthly .limit .table_lim tbody tr td {
		width: 100px !important;
	}
	#monthly .other tbody tr th::after,
	#monthly .limit .table_lim thead tr th:first-child::after,
	#monthly .limit .table_lim tr th::after {
		content: "";
		width: 100%;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: 0;
		background: var(--color_white);
	}
}
