@charset "UTF-8";

/* plan_archive
----------------------------------------*/
.plan_archive {
	padding: 5.4rem 0 15.4rem;
}
.plan_archive_inner {
	max-width: 110rem;
	margin: 0 auto;
}
.plan_archive_category {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-bottom: 6.4rem;
}
.plan_archive_category a {
	min-width: 17.5rem;
	height: 5rem;
	border-radius: .5rem;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: .05em;
	font-weight: 500;
	color: #A6995A;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: .5rem 1rem;
}
.plan_archive_category a.current {
	background: rgba(166, 153, 90, .6);
	color: #fff;
}
.plan_archive_list li + li {
	margin-top: 2rem;
}
.plan_archive_list a {
	display: flex;
	background: #fff;
	border-radius: .5rem;
	overflow: hidden;
}
.plan_archive_list figure {
	width: 42rem;
	min-height: 42rem;
}
.plan_archive_list figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.plan_archive_list_box {
	flex: 1;
	padding: 2.1rem 6rem 2rem 9rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.plan_archive_list h3 {
	font-weight: 400;
	font-size: 1.6rem;
	letter-spacing: .15em;
	line-height: 1.8;
	margin-bottom: 1.4rem;
}
.plan_archive_list_cat {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-bottom: 1.4rem;
}
.plan_archive_list_cat span {
	display: block;
	background: #A6995A;
	color: #fff;
	font-size: 1.2rem;
	border-radius: .5rem;
	padding: .3rem 1.1rem;
}
.plan_archive_list_price {
	font-size: 1.8rem;
	letter-spacing: .15em;
	color: #004124;
}
.plan_archive_list_txt {
	font-size: 1.3rem;
	letter-spacing: .05em;
	line-height: 2.1;
	margin: 1rem 0 1.4rem;
}
.plan_archive_list_txt p + p {
	margin-top: .1rem;
}
@media only screen and (max-width: 768px) {
	.plan_archive {
		padding: 4.3rem 0 15.4rem;
	}
	.plan_archive_inner {
		margin: 0 2rem;
	}
	.plan_archive_category {
		margin-bottom: 3.4rem;
	}
	.plan_archive_category a {
		min-width: 17rem;
		height: 4.3rem;
		font-size: 1.3rem;
		padding: .3rem 1rem;
	}
	.plan_archive_list li + li {
		margin-top: 1.3rem;
	}
	.plan_archive_list a {
		display: block;
	}
	.plan_archive_list figure {
		width: auto;
		min-height: 0;
	}
	.plan_archive_list figure img {
		height: auto;
		aspect-ratio: 348 / 232;
	}
	.plan_archive_list_box {
		padding: 2.6rem 3rem 2rem;
		display: block;
	}
	.plan_archive_list h3 {
		margin: 0 -.3rem 1.5rem;
	}
	.plan_archive_list_cat {
		margin-bottom: 1rem;
	}
	.plan_archive_list_txt {
		line-height: 1.86;
		margin: .8rem 0 1.8rem;
	}
	.plan_archive_list_txt p + p {
		margin-top: 1.1rem;
	}
	.plan_archive_list .btn_small {
		width: 100%;
		border: 0;
		background: #A6995A;
		color: #fff;
		font-size: 1.4rem;
		letter-spacing: .05em;
		border-radius: .5rem;
		padding: 1.4rem 4.5rem 1.5rem 2.1rem;
	}
	.plan_archive_list .btn_small::before {
		top: 0;
		bottom: 0;
		right: 1rem;
		background: #EFEEE7;
		margin: auto 0;
	}
	.plan_archive_list .btn_small::after {
		top: 0;
		bottom: 0;
		right: 1.7rem;
		border-color: #A6995A;
		margin: auto 0;
	}
}

/* plan_single
----------------------------------------*/
.page_ttl:has(~.plan_single) {
	padding-top: 5.5rem;
}
.page_ttl:has(~.plan_single) h1 .en {
	font-size: 2rem;
	margin-bottom: .5rem;
}
.plan_single {
	padding-bottom: 11.6rem;
}
.plan_single_inner {
	max-width: 100rem;
	margin: 0 auto;
}
.plan_single h2 {
	text-align: center;
	font-size: 1.8rem;
	letter-spacing: .15em;
	line-height: 1.8;
	border-bottom: .1rem solid rgba(51, 51, 51, .2);
	font-weight: 400;
	letter-spacing: .15em;
	color: #004124;
	margin: 8.2rem 0 4.9rem;
	padding-bottom: 1.6rem;
}
.plan_single_main {
	border-radius: .5rem;
	overflow: hidden;
	margin-bottom: 3.9rem;
}
.plan_single_cat {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-bottom: 2.1rem;
}
.plan_single_cat span {
	display: block;
	background: #A6995A;
	color: #fff;
	font-size: 1.2rem;
	border-radius: .5rem;
	padding: .3rem 1.1rem;
}
.plan_single_inner > h3 {
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: .15em;
	line-height: 2.1;
	margin-bottom: 2rem;
}
.plan_single_price {
	font-size: 2rem;
	letter-spacing: .15em;
	color: #004124;
	margin-bottom: .8rem;
}
.plan_single_target {
	font-size: 1.4rem;
	letter-spacing: .05em;
	line-height: 2.1;
	margin-bottom: 1.9rem;
}
.plan_single_txt {
	font-size: 1.3rem;
	letter-spacing: .05em;
	line-height: 2.1;
}
.plan_single_benefit {
	margin-top: 7rem;
}
.plan_single_benefit li {
	display: flex;
	background: #fff;
	border-radius: .5rem;
	overflow: hidden;
	display: flex;
}
.plan_single_benefit li + li {
	margin-top: .7rem;
}
.plan_single_benefit li figure {
	width: 40.4rem;
}
.plan_single_benefit li figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.plan_single_benefit_box {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 1rem 6rem;
}
.plan_single_benefit_box h4 {
	font-weight: 400;
	font-size: 1.6rem;
	color: #004124;
	line-height: 1.8;
	letter-spacing: .15em;
	margin-bottom: .8rem;
}
.plan_single_benefit_box p {
	font-size: 1.3rem;
	letter-spacing: .05em;
	line-height: 2.1;
}
.plan_single_btn {
	margin-top: 7.7rem;
	display: flex;
	justify-content: center;
	gap: 1rem;
}
.plan_single_btn .btn {
	text-align: center;
	font-size: 1.5rem;
	font-weight: 700;
	padding: 1.9rem 4.5rem;
}
.plan_single_btn .btn::before {
	background: #fff;
}
.plan_single_detail {
	margin-top: 6.8rem;
	padding: 4.5rem 0 0;
	border-top: .1rem solid rgba(51, 51, 51, .2);
}
.plan_single_detail > h3 {
	border-radius: .5rem;
	max-width: 100rem;
	margin: 0 auto;
	padding: 1.5rem;
	background: #fff;
	color: #004124;
	font-size: 1.6rem;
	letter-spacing: .15em;
	text-align: center;
	font-weight: 400;
	cursor: pointer;
}
.plan_single_detail > h3::before {
	content: "";
	display: block;
	position: absolute;
	right: 1.5rem;
	top: 50%;
	margin-top: -1.2rem;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: #004124;
}
.plan_single_detail > h3::after {
	content: '';
	display: block;
	width: .5rem;
	height: .5rem;
	border-top: .1rem solid #fff;
	border-right: .1rem solid #fff;
	transform: rotate(-45deg);
	position: absolute;
	top: .4rem;
	bottom: 0;
	right: 2.4rem;
	margin: auto 0;
	transition: .3s ease-in-out;
}
.plan_single_detail > h3.active::after {
	transform: rotate(135deg);
	top: 0;
}
.plan_single_recommend > h3 {
	font-size: 1.8rem;
	letter-spacing: .15em;
	line-height: 1.8;
	text-align: center;
	color: #004124;
	margin-bottom: 4.5rem;
	font-weight: 400;
}
.plan_single_recommend > h3 {
	margin-bottom: 4.9rem;
}
.plan_single_detail dl {
	max-width: 100rem;
	margin: 4rem auto 0;
	background: #fff;
	border-radius: .5rem;
	padding: 3rem 6rem;
	display: grid;
	grid-template-columns: 16.8rem auto;
	font-size: 1.3rem;
	letter-spacing: .05em;
	line-height: 2.1;
}
.plan_single_detail dt {
	border-bottom: .1rem solid #C9C9C3;
	padding: 2rem 0 2.2rem;
	font-weight: 700;
}
.plan_single_detail dd {
	border-bottom: .1rem solid #C9C9C3;
	padding: 2rem 0 2.2rem;
}
.plan_single_detail dt:nth-last-of-type(1),
.plan_single_detail dd:nth-last-of-type(1) {
	border-bottom: 0;
}
.plan_single_recommend {
	margin-top: 7.9rem;
	padding: 6.7rem 0 0;
	border-top: .1rem solid rgba(51, 51, 51, .2);
}
.plan_single .plan_archive_list figure {
	width: 38rem;
	min-height: 38rem;
}
.plan_single .plan_archive_list_box {
	padding: 2.1rem 5rem 2rem 6rem;
}
.plan_single .plan_archive_list_box h3 {
	font-size: 1.5rem;
	margin-top: .5rem;
	margin-bottom: 1.5rem;
}
.plan_single .plan_archive_list_price {
	font-size: 1.6rem;
}
.plan_single .plan_archive_list_cat {
	margin-bottom: 1.2rem;
}
.plan_single .plan_archive_list_txt {
	margin-top: .5rem;
}
.plan_single .plan_archive_list {
	margin-bottom: 7rem;
}
.plan_single_recommend .plan_single_inner > .btn_small {
	margin: 0 auto;
	padding-bottom: 1.4rem;
}
@media only screen and (max-width: 768px) {
	.page_ttl:has(~.plan_single) {
		padding-top: 2.6rem;
	}
	.page_ttl:has(~.plan_single) h1 .en {
		font-size: 1.8rem;
	}
	.plan_single {
		padding-bottom: 9rem;
	}
	.plan_single_inner {
		margin: 0 1.9rem;
	}
	.plan_single h2 {
		text-align: left;
		font-size: 1.6rem;
		margin: 4.4rem 0 2.5rem;
		padding-bottom: 2rem;
	}
	.plan_single_main {
		margin-bottom: 2.1rem;
	}
	.plan_single_cat {
		margin-bottom: 1.7rem;
	}
	.plan_single_inner > h3 {
		font-size: 1.4rem;
		line-height: 1.9;
		margin-bottom: 2.4rem;
	}
	.plan_single_price {
		margin-bottom: 1.7rem;
	}
	.plan_single_target {
		margin-bottom: 1.1rem;
	}
	.plan_single_txt {
		line-height: 2.08;
	}
	.plan_single_benefit {
		margin-top: 4.4rem;
	}
	.plan_single_benefit li {
		display: block;
	}
	.plan_single_benefit li figure {
		width: auto;
		height: 24.8rem;
	}
	.plan_single_benefit_box {
		display: block;
		padding: 2.2rem 2.9rem 2.6rem;
	}
	.plan_single_benefit_box h4 {
		margin-bottom: .5rem;
	}
	.plan_single_benefit_box p {
		line-height: 1.99;
	}
	.plan_single_btn {
		margin-top: 4.2rem;
		display: block;
	}
	.plan_single_btn .btn {
		margin: 1rem auto 0;
		min-width: 33rem;
	}
	.plan_single_detail {
		margin-top: 6.3rem;
		padding: 3.1rem 0 0;
	}
	.plan_single_detail > h3 {
		margin: 0 2rem;
	}
	.plan_single_recommend > h3 {
		margin-bottom: 4rem;
	}
	.plan_single_recommend > h3 {
		margin-bottom: 4rem;
	}
	.plan_single_detail dl {
		margin: 0 2rem;
		padding: 1rem 0;
		grid-template-columns: 10.8rem auto;
		line-height: 2.07;
	}
	.plan_single_detail dt {
		padding: 1.1rem 0 1.1rem 2rem;
	}
	.plan_single_detail dd {
		padding: 1.1rem 2rem 1.1rem 0;
	}
	.plan_single_recommend {
		margin-top: 6rem;
		padding: 4.8rem 0 0;
	}
	.plan_single .plan_archive_list figure {
		width: auto;
		min-height: 0;
	}
	.plan_single .plan_archive_list_box {
		padding: 2.1rem 3rem 2.9rem;
	}
	.plan_single .plan_archive_list_box h3 {
		font-size: 1.6rem;
	}
	.plan_single .plan_archive_list_price {
		font-size: 1.8rem;
	}
	.plan_single .plan_archive_list_cat {
		margin-bottom: 1rem;
	}
	.plan_single .plan_archive_list_txt {
		margin-top: .8rem;
	}
	.plan_single .plan_archive_list {
		margin-bottom: 3rem;
	}
}