.mainvisual-plan {
	background-color:var(--color-gray);
}
.mainvisual-plan-menu {
	display:grid;
	grid-template-columns: 1fr 1fr 1fr;
}
.mainvisual.mainvisual-plan h1,
.mainvisual-plan-menu a {
	display:block;
	text-align: center;
	line-height:100%;
	font-weight:700;
}
.mainvisual-plan-menu a:hover {
	background-color:var(--color-border);
}
.mainvisual.mainvisual-plan h1 {
	color:var(--color-white);
}
.btn-kasoushiki.mainvisual-plan-on {
	background-color:var(--color-wine);
}
.btn-ichinichisou.mainvisual-plan-on {
	background-color:var(--color-green);
}
.btn-kazokusou.mainvisual-plan-on {
	background-color:var(--color-blue);
}
.mainvisual-plan-off {
	background-color:var(--color-white);
}
.btn-kasoushiki.mainvisual-plan-off {
	color:var(--color-wine);
}
.btn-ichinichisou.mainvisual-plan-off {
	color:var(--color-green);
}
.btn-kazokusou.mainvisual-plan-off {
	color:var(--color-blue);
}
@media (width < 767px) {
	.mainvisual-plan {
		padding-top:60px;
		background-color:var(--color-main);
	}
	.mainvisual-plan-menu {
		border-bottom:1px solid var(--color-border);
	}
	.mainvisual.mainvisual-plan h1,
	.mainvisual-plan-menu a {
		height:16vw;
		line-height: 16vw;
		font-size:var(--font-sp-small);
	}
}
@media (768px <= width) {
	.mainvisual-plan {
		background-color:var(--color-gray);
	}
	.mainvisual-plan-menu {
		border-top:1px solid var(--color-border);
	}
	.mainvisual.mainvisual-plan h1,
	.mainvisual-plan-menu a {
		height:60px;
		line-height: 60px;
		font-size:var(--font-pc-large);
	}
}
/*-----------------------------------------
planhead
------------------------------------------*/
.plan-head-pic {
	position: relative;
	z-index: 1;
}
.osusume-icon {
	position:absolute;
	z-index: 2;
}
.plen-head-txt * {
	text-align: center;
	font-weight: 700;
}
.plan-head-lead {
	border-radius:5px;
	color:var(--color-white);
}
.kasoushiki .plan-head-lead,
.kasoushiki .plan-head-tip .on {
	background-color:var(--color-wine);
}
.ichinichisou .plan-head-lead,
.ichinichisou .plan-head-tip .on {
	background-color:var(--color-green);
}
.kazokusou .plan-head-lead,
.kazokusou .plan-head-tip .on {
	background-color:var(--color-blue);
}
.plan-head-normalprice s {
	color:var(--color-black);
}
.plan-head-tip {
	display:grid;
	grid-template-columns: repeat(5, 1fr);
	grid-column-gap:8px;
}
.plan-head-tip li {
	border-radius:5px;
}
.plan-head-tip .on {
	color:var(--color-white);
}
.plan-head-tip .off {
	color:var(--color-inactive);
	background-color:var(--color-gray);
}
.kasoushiki .page-mt strong {
	color:var(--color-wine);
}
.ichinichisou .page-mt strong {
	color:var(--color-green);
}
.kazokusou .page-mt strong {
	color:var(--color-blue);
}
.plan-member-banner {
	display:block;
}
@media (width < 767px) {
	.kasoushiki,
	.ichinichisou,
	.kazokusou {
		padding-top:5vw;
	}
	.osusume-icon {
		top:-3vw;
	}
	.plan-head-pic {
		aspect-ratio: 16 / 9;
		overflow: hidden;
	}
	.plan-head-lead {
		padding:2vw;
		font-size:var(--font-sp-large);
	}
	.plan-head-normalprice {
		padding:5vw 0;
	}
	.plan-head-normalprice s {
		font-size:var(--font-sp-x-large);
	}
	.plan-head-zeikomi {
		padding:5vw;
		font-size:var(--font-sp-x-large);
	}
	.plan-head-tip li {
		font-size:var(--font-sp-small);
		padding:1vw 0;
	}
	.plan-member-banner {
		margin-top:5vw;
	}
	.kasoushiki .plan-head-pic img {
		position:absolute;
		bottom:0;
	}
}
@media (768px <= width) {
	.kasoushiki,
	.ichinichisou,
	.kazokusou {
		padding-top:60px;
	}
	.osusume-icon {
		top:-20px;
	}
	.plan-head-lead {
		padding:12px;
		font-size:var(--font-pc-large);
	}
	.plan-head-normalprice {
		padding:25px 0;
	}
	.plan-head-normalprice s {
		font-size:var(--font-pc-x-large);
	}
	.plan-head-zeikomi {
		padding:4px 16px 16px 16px;
		text-align:right;
	}
	.plan-member-banner {
		margin-top:30px;
	}
}
/*-----------------------------------------
plantop
------------------------------------------*/
.pricetop-table {
	width:100%;
	border-top:1px solid var(--color-black);
	border-left:1px solid var(--color-black);
}
.pricetop-table th,
.pricetop-table td {
	border-right:1px solid var(--color-black);
	border-bottom:1px solid var(--color-black);
}
.pricetop-table td {
	text-align: center;
}
.pricetop-table thead tr th {
	color:var(--color-white);
}
.pricetop-table tbody tr th {
	background-color:#ede5ee;
	text-align: left;
}
@media (width < 767px) {
	.pricetop-table {
		margin:40px auto;
	}
	.pricetop-table th,
	.pricetop-table td {
		font-size:var(--font-sp-small);
		padding:0.25em 0.5em;
	}
}
@media (768px <= width) {
	.pricetop-table {
		margin:40px auto;
	}
	.pricetop-table th,
	.pricetop-table td {
		padding:0.25em 1em;
	}
}