@charset "UTF-8";
#main-contents{
	background: #f5f1f0;
	background: #141414;
}
/* PC */
@media screen and (min-width:768px) {
	:root{
		--container: 1200px;
		--side-margin: max(0px, calc((100vw - var(--container)) / 2));
	}
}

/*------------------------
intro
------------------------*/
	.page-intro .inner.js-load-view {
		opacity: 0;
		transform: translateY(30px);
		transition: opacity .8s cubic-bezier(0.25, 1, 0.5, 1), 
							transform .8s cubic-bezier(0.25, 1, 0.5, 1);
		will-change: opacity, transform;
	}
	.page-intro  .inner.js-load-view.is-show {
		opacity: 1;
		transform: translateY(0);
		transition-delay: 0.3s;
	}

	.page-intro {
		line-height: 2.0;
		letter-spacing: 0.04em;
		text-align: center;
		color: #fff;
	}
/* PC */
@media screen and (min-width:768px) {
	.page-intro {
		padding: 100px 0;
		font-size: 18px;
	}
	.page-intro .inner{
		width: var(--container);
		margin: 0 auto;
	}
}

/* SP */
@media screen and (max-width:767px) {
	.page-intro {
		padding: 16vw 0;
	}
}

/*------------------------
コンテンツinnner
------------------------*/
/* PC */
@media screen and (min-width:768px) {
	#plan-list .inner{
		width: var(--container);
		margin-right: auto;
		margin-left: auto;
	}
}
/*------------------------
plan 一覧
------------------------*/
#plan-list .inner.js-load-view {
		opacity: 0;
		transform: translateY(30px);
		transition: opacity .8s cubic-bezier(0.25, 1, 0.5, 1), 
							transform .8s cubic-bezier(0.25, 1, 0.5, 1);
		will-change: opacity, transform;
	}
#plan-list .inner.js-load-view.is-show {
		opacity: 1;
		transform: translateY(0);
		transition-delay: 0.6s;
	}
#plan-list .sec-title{
	color: #fff;
}
.plan-cards{}
.plan-cards .plan-card{
	background: #fff;
	box-shadow: 0 10px 25px rgba(0, 0, 0, .06);
}
.plan-cards .plan-card .ukeire{
	text-align: center;
	letter-spacing: 0.04em;
	font-weight: 500;
}
.plan-cards .plan-card h3{
	letter-spacing: 0;
}
.plan-card.sp3 h3{
	letter-spacing: 0.04em;
}
.plan-name .en,
.separate .en{
	font-weight: bold;
	background-image: var(--goldgrad2);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	font-weight:500;
	line-height: 1;
	display: inline-block;
}
.plan-card .item-wrap dt,
.plan-card .point .en{
	font-weight: bold;
	background-image: var(--goldgrad2);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	font-weight:500;
	letter-spacing: 0.08em;
	line-height: 1;
	display: inline-block;
}
.plan-card .dt{
	font-weight: bold;
	background-image: var(--goldgrad3);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	font-weight:500;
	letter-spacing: 0.08em;
	line-height: 1;
	display: inline-block;
}
.plan-card .tokuten {
	background:#f7f3e6;
}
.plan-card .tokuten p{
	line-height: 1.40;
	letter-spacing: 0;
}
.price-example-wrap .midashi{
	color: #056bc5;
}
/* PC */
@media screen and (min-width:768px) {
	#plan-list{
		padding-bottom: 120px;
	}
	.plan-cards{
		display: flex;
		flex-direction: column;
		gap: 20px;
		width: 1000px;
		margin-bottom: 75px;
	}
	.plan-cards,
	.plan-common,
	.plan-block{
		width: 1060px;
		margin-left: auto;
		margin-right: auto;
	}
	.plan-cards .plan-card{
	/*	width: calc((100% - 20px) / 2);*/
		padding: 38px 35px 38px 0;
	}
	.plan-cards .plan-card .plan-inner{
		display: flex;
	}
	.plan-cards .names{
		width: 420px;
		padding-top: 5px;
		text-align: center;
	}
	.plan-cards .gaiyou{
		flex: 1;
	}
	.plan-cards .plan-name::after{
		content: "";
		display: block;
		width: 56px;
		height: 1px;
		margin: 12px auto 22px;
	background-image: var(--goldgrad2);
}
	.plan-cards .plan-name h3{
		font-size: 26px;
		margin-bottom:3px;
	}
	.plan-cards .plan-name .en{
		font-size: 15px;
	}
	.plan-cards .plan-card .ukeire{
		font-size: 18px;
		margin-bottom: 20px;

	}
	.plan-card .item-wrap{
		padding-bottom: 7px;
		border-bottom: 1px solid #ddd;
		margin-bottom: 14px;
	}
	.plan-card .item-wrap dt {
		font-size: 15px;
		padding: 0 3px;
	}
	.plan-card .item-wrap dd {
		font-size: 16px;
		padding: 0 3px;
	}

	.plan-card .item-wrap .time{
		padding-right: 1em;
		width: 10em;
		}
	.plan-cards .point{
		margin-top: 21px;
		font-size: 15px;
		line-height: 1.85;
	}
	.plan-card .point .en{
		margin-bottom:5px;
	}
	.plan-card .tokuten{
		padding: 12px 15px;
		border-radius:6px;
	}
	.plan-card .tokuten .dt {
		font-size: 15px;
	}
	.plan-card .tokuten p{
		font-size: 18px;
		margin-top: -2px;
	}
	.plan-card .separate{
		margin-bottom: 30px;
	}
	.plan-card .separate .head-wrap{
		margin-bottom: 10px;
		padding: 0 3px;
	}
	.plan-card .separate h4{
		font-size: 23px;
		margin-bottom: -5px;
	}
	.plan-card .separate .en{
		font-size: 12px;
	}
	.price-example-wrap{
		margin-top: 10px;
		font-size: 15px;
	}
	.price-example{
		display: flex;
		flex-wrap: wrap;
		gap: 6px;
		margin-top: 10px;
	}

	.price-example span{
		display: inline-flex;
		align-items: center;
		padding: 7px 14px;
		border: 1px solid #ddd;
		border-radius: 999px;
		font-size: 14px;
		line-height: 1.4;
	}
}
/* SP */
@media screen and (max-width:767px) {
		#plan-list{
		padding-bottom:16vw;
	}
	.plan-cards{
		display: flex;
		flex-direction: column;
		gap: 5.33vw;
		margin-bottom:16vw;
	}
	.plan-cards .plan-card{
		padding: 8vw 5.33vw 6.4vw;
	}
	.plan-cards .plan-card .plan-inner{
	}
	.plan-cards .names{
		text-align: center;
	}
	.plan-cards .gaiyou{
	}
	.plan-cards .plan-name::after{
		content: "";
		display: block;
		width: 13.33vw;
		height: 1px;
		margin: 3.2vw auto 4.0vw;
	background-image: var(--goldgrad2);
}
	.plan-cards .plan-name h3{
		font-size:5.86vw;
	}
	.plan-cards .plan-name .en{
		font-size: 3.47vw;
	}
	.plan-cards .plan-card .ukeire{
		font-size: 4.8vw;
		margin-bottom:3.2vw;

	}
	.plan-card .item-wrap{
		padding-bottom:1.87vw;
		border-bottom: 1px solid #ddd;
		margin-bottom: 3.2vw;
	}
	.plan-card .item-wrap dt {
		padding: 0 0.53vw;
	}
	.plan-card .item-wrap dd {
		font-size:4.27vw;
		margin-bottom: -.53vw;
		padding: 0 0.53vw;
	}
	.plan-card .item-wrap.price p{
			margin-bottom: 1.6vw;
	}
	.plan-card .item-wrap.price dt{
			margin-bottom: 1.6vw;
	}
	.plan-card .item-wrap.price .time {
		display: block;
		font-size: 3.47vw;
		margin-bottom: -1.0vw;
	}

	.plan-cards .point{
		margin-top: 5.6vw;
		line-height: 1.75;
		font-size: 3.47vw;
	}
	.plan-card .point .en{
		margin-bottom: 2.1vw;
	}
	.plan-card .tokuten{
		padding:2.1vw 4vw 3.0vw;
		border-radius: 1.2vw;
	}
	.plan-card .tokuten .dt{
			font-size: 3.47vw;
		}
	.plan-card .tokuten p{
		margin-top: -0.05em;
		font-size: 4vw;
	}
	.plan-cards.sp3 .plan-name::after {
		margin-bottom: 5.8vw;
	}
	.price-example-wrap{
		margin-top: 3.74vw;
		font-size: 3.47vw;
	}
	.price-example-wrap .midashi{
		font-size: 3.74vw;
	}
	.price-example{
		display:flex;
		flex-wrap:wrap;
		gap:1.67vw;
		margin-top:2.13vw;
	}
	.price-example span{
		display:inline-flex;
		align-items:center;
		padding:1.6vw 3.74vw;
		border:1px solid #ddd;
		border-radius:999px;
		line-height:1.4;
	}
	.plan-card .separate .item-wrap{
		margin-bottom:3.2vw;
	}
	.plan-card .separate .head-wrap{
		margin-bottom:1.6vw;
		padding: 0 0.53vw;
	}
	.plan-card .separate{
		margin-bottom: 9.33vw;
	}
	.gaiyou .separate.last{
		margin-bottom: 8vw;
	}		
	.plan-card .separate h4{
		font-size:5.06vw;
		margin-bottom: -1.33vw;
	}
		.plan-card .separate .en{
		font-size:2.93vw;
	}
}
/*------------------------
プラン共通
-------------------------*/
.plan-common{
	color: #fff;
	border: 1px solid;
 border-image: var(--goldgrad2) 1;}
.plan-common .sec-title{
		position: relative;
		width: fit-content;
		margin-left: auto;
		margin-right: auto;
		z-index: 0;
}

.plan-common .sec-title:after{
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: #141414;
  z-index: -1; /* 文字の下に回す */
}
.plan-common .block .ttl h3{
	line-height: 1.3;
	font-weight: 500;
}
.plan-common .block .ttl .en{
	font-weight: bold;
	background-image: var(--goldgrad2);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	font-weight:500;
	letter-spacing: 0.08em;
	line-height: 1;
	display: inline-block;
}

/* PC */
@media screen and (min-width:768px) {
	.plan-common{
		padding: 35px 80px 0;
	}
	.plan-common .sec-title{
		margin-top: -55px;
		margin-bottom: 16px;
	}

	.plan-common .sec-title:after{
		width: calc(100% + 20px);
		height: calc(100% + 20px); /* 上下 +10px */
	}
	.plan-common .sec-title .en{
		font-size: 36px;
	}
	.plan-common .block{
		margin-bottom: 50px;
	}
	.plan-common .block .ttl{
		margin-bottom: 15px;
	}
	.plan-common .block h3{
		font-size: 22px;
	}
	.plan-common .block .ttl .en{
		font-size: 13px;
	}
	.plan-common .block .ttl::after{
		content: "";
		display: block;
		width: 100%;
		height: 1px;
		margin: 12px auto 22px;
		background-image: var(--goldgrad2);
	}
	.plan-common .block li{
		margin-bottom: 5px;
		font-size: 16px;
	}
}
/* SP */
@media screen and (max-width:767px) {
	.plan-common{
		padding: 8vw 5.33vw 0;
	}
	.plan-common .sec-title{
		margin-top: -12.8vw;
		margin-bottom: 4.8vw;
	}

	.plan-common .sec-title:after{
		width: calc(100% + 5.33vw);
		height: calc(100% + 5.33vw); /* 上下 +20px */
	}
	.plan-common .sec-title .en{
		font-size: 8vw;
	}
	.plan-common .block{
		margin-bottom: 11.2vw;
	}
	.plan-common .block .ttl{
		margin-bottom:4vw;
	}
	.plan-common .block h3{
		font-size: 5.33vw;
	}
	.plan-common .block .ttl .en{
		font-size:3.2vw
	}
	.plan-common .block .ttl::after{
		content: "";
		display: block;
		width: 100%;
		height: 1px;
		margin: 1.87vw auto 0;
		background-image: var(--goldgrad2);
	}
	.plan-common .block li{
		margin-bottom:1.6vw;
	}
	.plan-common .block p.ex{
		font-size: 3.2vw;
		margin-top: 2.1vw;
	}
}



/* PC */
@media screen and (min-width:768px) {
}
/* SP */
@media screen and (max-width:767px) {
}



/* PC */
@media screen and (min-width:768px) {
}
/* SP */
@media screen and (max-width:767px) {
}
/* PC */
@media screen and (min-width:768px) {
}
/* SP */
@media screen and (max-width:767px) {
}