/*=============================================

 * 料金プラン

 *=============================================*/

#pricing {
	margin-bottom: 150px;
	margin-top: 96px;
}

/* Figma: 月額費用 / オプション（Frame 4717:323） */
#pricing .block-1 {
	position: relative;

	display: flex;

	flex-direction: column;

	align-items: stretch;
	padding-bottom: 80px;
}

#pricing .block-1 .pricing-intro-row {
	display: flex;

	align-items: stretch;

	gap: 24px;

	width: 100%;

	margin: 0;

	border: 1px solid #ddd;

	border-radius: 12px;

	background-color: #fff;

	padding-right: 24px;

	box-sizing: border-box;

	overflow: hidden;
}

#pricing .block-1 .pricing-intro-row dt {
	width: 250px;

	flex-shrink: 0;

	display: flex;

	align-items: center;

	margin: 0;

	padding: 40px 32px;

	box-sizing: border-box;

	background-color: #eee;

	border-radius: 12px 0 0 12px;

	font-weight: 700;

	font-size: 20px;

	line-height: 1.5;

	color: #333;

	letter-spacing: 0.6px;
}

#pricing .block-1 .pricing-intro-row dd {
	flex: 1 1 auto;

	min-width: 0;

	display: flex;

	align-items: center;

	margin: 0;

	padding: 24px 0;

	box-sizing: border-box;

	font-weight: 500;

	font-size: 16px;

	line-height: 1.5;

	color: #000;

	letter-spacing: 0.48px;
}

#pricing .block-1 .pricing-intro-join {
	position: relative;

	z-index: 2;

	align-self: center;

	flex-shrink: 0;

	width: 56px;

	height: 56px;

	margin-top: -8px;

	margin-bottom: -8px;

	border-radius: 48px;

	background-color: #555;

	display: flex;

	align-items: center;

	justify-content: center;
}

#pricing .block-1 .pricing-intro-join__icon {
	display: block;

	width: 24px;

	height: 24px;

	background: url('../images/common/icon-plus.png') no-repeat center / 24px;
}

/* Figma: 3プランカード（node 4717:335） */
#pricing .block-2 {
	display: flex;

	flex-direction: row;

	/* align-items: flex-start; */

	justify-content: center;

	gap: 40px;

	/* padding-bottom: 20px; */

	box-sizing: border-box;
}

#pricing .block-2 .pricing-plan-col {
	flex: 1 1 0;

	min-width: 0;

	display: flex;

	flex-direction: column;

	align-items: stretch;

	gap: 23px;

	box-sizing: border-box;
}

#pricing .block-2 .pricing-plan-tagline {
	margin: 0;

	text-align: center;

	font-size: 20px;

	line-height: 1.5;

	letter-spacing: 0;

	padding: 0;
}

@media screen and (max-width: 1200px) {
	#pricing .block-2 .pricing-plan-tagline {
		font-size: 1.55vw;
	}
}
@media screen and (max-width: 1023px) {
	#pricing .block-2 .pricing-plan-tagline {
		font-size: 20px;
	}
}
@media screen and (max-width: 767px) {
	#pricing .block-2 .pricing-plan-tagline {
		font-size: 18px;
	}
}

#pricing .block-2 .col-1 .pricing-plan-tagline {
	color: #000;
}

#pricing .block-2 .col-2 .pricing-plan-tagline,
#pricing .block-2 .col-3 .pricing-plan-tagline {
	color: #333;
}

#pricing .block-2 .pricing-plan-card {
	border: 1px solid #ddd;

	border-radius: 16px;

	overflow: hidden;

	background-color: #fff;

	display: flex;

	flex-direction: column;

	/* gap: 32px; */
	gap: 16px;

	box-sizing: border-box;

	height: 100%;
}

#pricing .block-2 .pricing-plan-card__head {
	margin: 0;

	text-align: center;

	padding: 24px 8px;

	font-size: 24px;

	font-weight: 700;

	line-height: 1.5;

	letter-spacing: 0;

	border-radius: 0;
}
@media screen and (max-width: 767px) {

	#pricing .block-2 .pricing-plan-card__head {
		font-size: 20px;
	}
}

#pricing .block-2 .pricing-plan-card--light .pricing-plan-card__head {
	background-color: #eee;

	color: #000;
}

#pricing .block-2 .pricing-plan-card--standard .pricing-plan-card__head {
	background-color: #333;

	color: #fff;
}

#pricing .block-2 .pricing-plan-card--expert .pricing-plan-card__head {
	background-color: #fdd000;

	color: #333;
}

#pricing .block-2 .pricing-plan-card__body {
	display: flex;

	flex-direction: column;

	gap: 0;

	padding: 0 24px 32px;

	box-sizing: border-box;
}

#pricing .block-2 .pricing-plan-card__body dl {
	display: flex;

	flex-direction: row;

	align-items: flex-start;

	justify-content: space-between;

	gap: 16px;

	margin: 0;

	/* padding: 0; */
	padding-block: 16px;

	box-sizing: border-box;
	&:last-child {
	border-bottom: 1px solid #ececec;
	}
}

#pricing .block-2 .pricing-plan-card__body dl + dl {
	border-top: 1px solid #ececec;

	padding-block: 16px;

	margin-top: 0;
}

#pricing .block-2 .pricing-plan-card__body dt {
	margin: 0;

	font-weight: 500;

	font-size: 16px;

	line-height: 1.5;

	color: #000;

	flex: 0 1 auto;

	/* max-width: 55%; */
}

#pricing .block-2 .pricing-plan-card__body dd {
	margin: 0;

	font-weight: 700;

	font-size: 16px;

	line-height: 1.5;

	color: #000;

	text-align: right;

	flex: 0 1 auto;
}

#pricing .block-2 .pricing-plan-card__body .pricing-plan-dd--stack {
	white-space: normal;
}

/* Figma: コンサルティングプラン + CTA（node 4717:457） */
#pricing .pricing-consult__head{
	padding-block: 32px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 32px;
}

#pricing .pricing-consult__head .pricing-intro-join{
	position: relative;

	z-index: 2;

	align-self: center;

	flex-shrink: 0;

	width: 56px;

	height: 56px;

	margin-top: -8px;

	margin-bottom: -8px;

	border-radius: 48px;

	background-color: #555;

	display: flex;

	align-items: center;

	justify-content: center;
}

#pricing .pricing-consult__head .pricing-intro-join__icon {
	display: block;

	width: 24px;

	height: 24px;

	background: url('../images/common/icon-plus.png') no-repeat center / 24px;
}

#pricing .pricing-consult__title {
	position: relative;
	padding-inline: 60px;
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	line-height: 1.5;
}
#pricing .pricing-consult__title::before,
#pricing .pricing-consult__title::after{
	content: '';
	position: absolute;
	top: 0;
	z-index: 10;
	width: 1px;
	height: 110%;
	background-color: #000;
}
#pricing .pricing-consult__title::before{
	left: 0;
	transform: rotate(-30deg);
	transform-origin: top left;
}
#pricing .pricing-consult__title::after{
	right: 0;
	transform: rotate(30deg);
	transform-origin: top left;
}

@media screen and (max-width: 767px) {

	#pricing .pricing-consult__title {
		padding-inline: 40px;
		font-size: 16px;
	}
	#pricing .pricing-consult__title::before,
	#pricing .pricing-consult__title::after{
		height: 90%;
		top: auto;
		bottom: -10%;
	}
}




#pricing .pricing-consult-figma {
	display: flex;

	flex-direction: column;

	align-items: center;

	gap: 48px;

	padding-bottom: 80px;

	width: 100%;

	box-sizing: border-box;
}

#pricing .pricing-consult-figma__card {
	width: 100%;

	/* max-width: 910px; */

	border: 1px solid #ddd;

	border-radius: 16px;

	overflow: hidden;

	display: flex;

	flex-direction: column;

	align-items: center;

	gap: 32px;

	padding-bottom: 32px;

	box-sizing: border-box;
}

#pricing .pricing-consult-figma__card-head {
	width: 100%;

	background-color: #eee;

	padding: 24px 8px;

	font-weight: 700;

	font-size: 24px;

	line-height: 1.5;

	color: #000;

	text-align: center;

	box-sizing: border-box;
}

#pricing .pricing-consult-figma__card-body {
	display: flex;

	flex-direction: column;

	align-items: center;

	gap: 8px;

	font-size: 16px;

	line-height: 1.5;

	color: #000;

	text-align: center;

	padding: 0 20px;

	box-sizing: border-box;
}

#pricing .pricing-consult-figma__lead {
	margin: 0;

	font-weight: 400;
}

#pricing .pricing-consult-figma__detail {
	margin: 0;

	font-weight: 700;
}

#pricing .pricing-consult-figma__actions {
	display: flex;

	flex-wrap: wrap;

	justify-content: center;

	align-items: stretch;

	gap: 48px;

	width: 100%;

	max-width: 910px;

	box-sizing: border-box;
}

#pricing .pricing-consult-figma__btn {
	position: relative;

	flex: 1 1 280px;

	min-height: 64px;

	display: flex;

	align-items: center;

	justify-content: center;

	padding: 12px 48px 12px 40px;

	box-sizing: border-box;

	border-radius: 40px;

	font-weight: 700;

	font-size: 20px;

	line-height: normal;

	color: #333;

	text-align: center;

	text-decoration: none;

	box-shadow: 0 0 16px rgba(0, 0, 0, 0.15);

	transition: opacity 0.2s ease, background-color 0.2s ease;
}

#pricing .pricing-consult-figma__btn:hover {
	opacity: 0.92;
}

#pricing .pricing-consult-figma__btn--outline {
	background-color: #fff;

	border: 1px solid #ddd;
}

#pricing .pricing-consult-figma__btn--yellow {
	background-color: #fdd000;

	border: 1px solid transparent;
}

#pricing .pricing-consult-figma__btn-text {
	display: block;
}

#pricing .pricing-consult-figma__btn-chev {
	position: absolute;

	right: 15px;

	top: 50%;

	width: 16px;

	height: 16px;

	margin-top: -8px;

	pointer-events: none;
}

#pricing .pricing-consult-figma__btn-chev::before {
	content: '';

	position: absolute;

	left: 50%;

	top: 50%;

	width: 7px;

	height: 7px;

	margin: -4px 0 0 -5px;

	border-right: 2px solid #333;

	border-bottom: 2px solid #333;

	transform: rotate(-45deg);
}

#pricing .pricing-consult-figma__btn--yellow .pricing-consult-figma__btn-chev {
	right: 16px;
}

#pricing .block-4 h3 {
	background-color: #797979;

	color: #fff;

	padding: 22px 0;

	border-radius: 12px 12px 0 0;

	text-align: center;
}

#pricing .block-4 .text {
	border: 2px solid #797979;

	border-top: 0;

	border-radius: 0 0 12px 12px;

	padding: 45px 40px;
}

#pricing .block-4 .text dl {
	display: flex;

	justify-content: space-between;
}

#pricing .block-4 .text dl + dl {
	border-top: 1px solid #ececec;

	margin-top: 15px;

	padding-top: 15px;
}

#pricing .block-4 .text dl dd {
	font-weight: 700;

	font-size: 18px;
}

#pricing .note {
	text-align: right;

	padding-top: 35px;
}

#pricing .bnr {
	display: flex;

	justify-content: center;

	align-items: center;

	gap: 13px;

	padding-top: 40px;
}

#pricing .bnr li {
	width: 240px;
}

#pricing .bnr .btn-trial a,
#pricing .bnr .btn-download a {
	font-size: 20px;

	line-height: 36px;

	letter-spacing: 0.025em;

	text-align: center;

	border-radius: 50px;

	padding: 18px 0;
}

@media screen and (max-width: 1200px) {
	#pricing .block-2 {
		gap: 24px;
	}
}

@media screen and (max-width: 1023px) {
	#pricing .block-2 {
		flex-direction: column;

		align-items: center;

		gap: 30px;
	}

	#pricing .block-2 .pricing-plan-col {
		width: 100%;

		max-width: 400px;
	}
}

@media screen and (max-width: 767px) {
	#pricing {
		margin-top: 64px;
		margin-bottom: 72px;
	}

	#pricing .block-1 {
		padding-bottom: 50px;
		gap: 20px;
	}

	#pricing .block-1 .pricing-intro-row {
		flex-direction: column;

		gap: 0;

		padding-right: 0;
	}

	#pricing .block-1 .pricing-intro-row dt {
		width: 100%;
		font-size: 16px;
		border-radius: 12px 12px 0 0;

		padding: 20px 24px;
	}

	#pricing .block-1 .pricing-intro-row dd {
		padding: 20px 24px 24px;
		font-size: 14px;
		border-top: 1px solid #eee;
	}

	#pricing .block-1 .pricing-intro-join {
		width: 48px;

		height: 48px;

		margin-top: -24px;

		margin-bottom: -24px;
	}

	#pricing .block-1 .pricing-intro-join__icon {
		width: 20px;

		height: 20px;

		background-size: 20px;
	}

	#pricing .block-2 {
		flex-direction: column;

		align-items: stretch;

		padding-bottom: 50px;
	}

	#pricing .block-2 .pricing-plan-col {
		max-width: none;
	}

	#pricing .block-2 .pricing-plan-card__body {
		padding: 0 20px 28px;
	}

	#pricing .block-2 .pricing-plan-card__body dt,
	#pricing .block-2 .pricing-plan-card__body dd {
		/* font-size: 15px; */
		font-size: 14px;
	}

	#pricing .block-2 .pricing-plan-card__body dl + dl {
		padding-top: 12px;
	}

	#pricing .pricing-consult-figma {
		gap: 32px;

		padding-bottom: 50px;
	}

	#pricing .pricing-consult-figma__card-head {
		font-size: 20px;

		padding: 20px 8px;
	}

	#pricing .pricing-consult-figma__card-body {
		font-size: 15px;
	}

	#pricing .pricing-consult-figma__actions {
		flex-direction: column;

		gap: 16px;

		max-width: 100%;
	}

	#pricing .pricing-consult-figma__btn {
		flex: 1 1 auto;

		width: 100%;

		min-height: 56px;

		font-size: 18px;

		padding: 12px 44px 12px 32px;
	}

	#pricing .block-4 .text {
		padding: 30px 20px;
	}

	#pricing .block-4 .text dl + dl {
		margin-top: 10px;
	}

	#pricing .block-4 .text dl dd {
		font-size: 15px;
	}

	#pricing .note {
		padding-top: 15px;
	}

	#pricing .bnr {
		flex-direction: column;

		padding-top: 30px;
	}
}

/* ボタンを中央に配置するコンテナのスタイル */
.price-btn-container {
	display: flex;
	justify-content: center;
	padding: 40px 0 0; /* ボタンの上下に余白を追加 */
}

/* 新しいダウンロードボタンのスタイル */
.btn-price-download {
	/* テキストとフォントのスタイル */
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	font-size: 20px;
	line-height: 1; /* 100% */
	letter-spacing: 0;
	color: #ffffff;
	text-decoration: none;

	/* ボタン自体のスタイル */
	background-color: #ff4200; /* Tailwindのblue-600相当 */
	border-radius: 40px;

	/* レイアウト */
	position: relative; /* 矢印を絶対配置するための基準 */
	display: flex;
	align-items: center;
	justify-content: center; /* テキストを中央揃えにする */

	/* サイズと余白 */
	width: 100%; /* スマホでは幅いっぱいに */
	max-width: 523px; /* PCでの最大幅 */
	height: 74px;
	padding: 16px 48px;
	box-sizing: border-box;

	/* ホバー時のエフェクト */
	transition: background-color 0.3s ease;
}

.btn-price-download:hover {
	background-color: #333; /* ホバー時に背景色を黒に変更 */
	opacity: 1;
}

/* ボタン内の矢印画像のスタイル */
.btn-price-download img {
	position: absolute; /* ボタンを基準に絶対配置 */
	right: 24px; /* ボタンの右パディングと同じ位置に配置 */
	top: 50%;
	transform: translateY(-50%); /* 垂直方向に中央揃え */
	width: 10px;
	height: 14px;
}

/* スマートフォン向けのスタイル (画面幅が640px以下の場合に適用) */
@media (max-width: 767px) {
	.btn-price-download {
		max-width: 300px;
		max-height: 60px;
		font-size: 18px;
	}
	.btn-price-download img {
		right: 20px;
	}
}

.btn-price-download > br {
	display: none;
}
