/**
 * 外装NEXT 専用スタイル
 *
 * NEXT のページ（/next/ /next/login/ /next/member/）でだけ読み込む。
 * セレクタは .next-auth-* / .next-member-* / .next-root-* に限定し、
 * 既存画面へ影響する広域セレクタ（要素セレクタ・共通クラスの上書き）を書かない。
 *
 * 配色・余白・角丸・影はすべて base.css のカスタムプロパティを参照する。
 *
 * @package tsk-v2
 */

/* =========================================================================
 * ログイン（/next/login/）
 * ====================================================================== */

.next-auth {
	padding-bottom: var(--section-y);
}

.next-auth__notice {
	margin-bottom: var(--sp-md);
	padding: var(--sp-sm) var(--sp-md);
	background-color: var(--paper-200);
	border-left: 3px solid var(--accent-500);
	border-radius: var(--r-sm);
	color: var(--color-text);
	font-size: var(--fs-sm);
	line-height: var(--lh-snug);
}

.next-auth__notice--alert {
	background-color: #fdf3f3;
	border-left-color: #b23b3b;
	color: #7d2a2a;
}

.next-auth__form {
	max-width: 26rem;
	margin-inline: auto;
	padding: var(--sp-lg) var(--sp-md);
	background-color: var(--paper-000);
	border: 1px solid var(--color-border);
	border-radius: var(--r);
	box-shadow: var(--shadow-sm);
}

.next-auth__field {
	display: flex;
	flex-direction: column;
	gap: var(--sp-3xs);
	margin-bottom: var(--sp-md);
}

.next-auth__label {
	color: var(--color-text);
	font-size: var(--fs-sm);
	font-weight: 700;
	letter-spacing: var(--ls-wide);
}

.next-auth__input {
	width: 100%;
	min-height: 50px;
	padding: var(--sp-2xs) var(--sp-sm);
	background-color: var(--paper-000);
	border: 1px solid var(--line-strong);
	border-radius: var(--r-sm);
	color: var(--color-text);
	font-family: inherit;
	font-size: var(--fs-base);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.next-auth__input:focus {
	border-color: var(--accent-500);
	box-shadow: 0 0 0 3px rgba(26, 127, 193, 0.14);
	outline: none;
}

.next-auth__row {
	margin-bottom: var(--sp-md);
}

.next-auth__remember {
	display: inline-flex;
	align-items: center;
	gap: var(--sp-2xs);
	color: var(--color-text-muted);
	font-size: var(--fs-sm);
	cursor: pointer;
}

.next-auth__remember input:focus-visible {
	outline: 2px solid var(--accent-500);
	outline-offset: 2px;
}

.next-auth__submit {
	display: block;
	width: 100%;
	min-height: 56px;
	padding: 0 var(--sp-md);
	background-color: var(--accent-500);
	border: 0;
	border-radius: var(--r-sm);
	color: var(--ink-000);
	font-family: inherit;
	font-size: var(--fs-md);
	font-weight: 700;
	letter-spacing: 0.02em;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.next-auth__submit:hover,
.next-auth__submit:focus-visible {
	background-color: var(--navy-600);
}

.next-auth__submit:focus-visible {
	outline: 2px solid var(--accent-500);
	outline-offset: 2px;
}

.next-auth__help {
	max-width: 26rem;
	margin: var(--sp-md) auto 0;
	font-size: var(--fs-sm);
	text-align: center;
}

.next-auth__note {
	max-width: 26rem;
	margin: var(--sp-sm) auto 0;
	color: var(--color-text-muted);
	font-size: var(--fs-xs);
	line-height: var(--lh-snug);
}

/* =========================================================================
 * 会員TOP（/next/member/）
 * ====================================================================== */

.next-member {
	padding-bottom: var(--section-y);
}

.next-member__notice {
	padding: var(--sp-sm) var(--sp-md);
	background-color: var(--paper-200);
	border-left: 3px solid var(--accent-500);
	border-radius: var(--r-sm);
	font-size: var(--fs-sm);
}

.next-member__status {
	margin-bottom: var(--sp-xs);
	font-size: var(--fs-md);
	font-weight: 700;
}

.next-member__lead {
	margin-bottom: var(--sp-lg);
	color: var(--color-text-muted);
	font-size: var(--fs-base);
	line-height: var(--lh-normal);
}

.next-member__logout {
	margin-top: var(--sp-lg);
	padding-top: var(--sp-md);
	border-top: 1px solid var(--color-border);
}

.next-member__logout-button {
	min-height: 48px;
	padding: 0 var(--sp-lg);
	background-color: transparent;
	border: 1px solid var(--color-border-strong);
	border-radius: var(--r-sm);
	color: var(--color-brand);
	font-family: inherit;
	font-size: var(--fs-sm);
	font-weight: 700;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.next-member__logout-button:hover,
.next-member__logout-button:focus-visible {
	background-color: var(--paper-200);
	border-color: var(--color-brand);
}

.next-member__logout-button:focus-visible {
	outline: 2px solid var(--accent-500);
	outline-offset: 2px;
}

/* =========================================================================
 * 会員コンテンツ（一覧・カード・詳細）
 * ====================================================================== */

.next-member__categories {
	margin-bottom: var(--sp-lg);
	padding-bottom: var(--sp-sm);
	border-bottom: 1px solid var(--color-border);
}

.next-member__category-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-2xs) var(--sp-xs);
	margin: 0;
	padding: 0;
	list-style: none;
}

.next-member__category {
	display: inline-block;
	padding: var(--sp-3xs) var(--sp-xs);
	border: 1px solid var(--color-border-strong);
	border-radius: var(--r-sm);
	color: var(--color-brand);
	font-size: var(--fs-sm);
	text-decoration: none;
}

.next-member__category:hover,
.next-member__category:focus-visible {
	background-color: var(--paper-200);
	border-color: var(--color-brand);
}

.next-member__category.is-current {
	background-color: var(--color-brand);
	border-color: var(--color-brand);
	color: var(--ink-000);
}

.next-member__section {
	margin-bottom: var(--sp-xl);
}

.next-member__heading {
	margin-bottom: var(--sp-md);
	font-size: var(--fs-lg);
	line-height: var(--lh-tight);
}

.next-member__empty {
	padding: var(--sp-md);
	background-color: var(--paper-200);
	border-radius: var(--r-sm);
	color: var(--color-text-muted);
	font-size: var(--fs-sm);
}

.next-content-list {
	display: grid;
	gap: var(--sp-md);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 768px) {

	.next-content-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.next-content-card {
	display: flex;
	flex-direction: column;
	gap: var(--sp-3xs);
	padding: var(--sp-md);
	background-color: var(--paper-000);
	border: 1px solid var(--color-border);
	border-radius: var(--r);
}

.next-content-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-3xs);
	margin: 0;
}

.next-content-card__category {
	display: inline-block;
	padding: 0 var(--sp-2xs);
	background-color: var(--paper-200);
	border-radius: var(--r-xs);
	color: var(--color-text-muted);
	font-size: var(--fs-2xs);
	letter-spacing: var(--ls-wide);
}

.next-content-card__title {
	margin: 0;
	font-size: var(--fs-md);
	line-height: var(--lh-tight);
}

.next-content-card__link {
	color: var(--color-brand);
	text-decoration: none;
}

.next-content-card__link:hover,
.next-content-card__link:focus-visible {
	text-decoration: underline;
}

.next-content-card__date {
	margin: 0;
	color: var(--color-text-muted);
	font-size: var(--fs-xs);
}

.next-content-card__excerpt {
	margin: 0;
	color: var(--color-text-muted);
	font-size: var(--fs-sm);
	line-height: var(--lh-snug);
}

.next-member__pagination {
	margin-top: var(--sp-lg);
}

.next-member__pages {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-2xs);
	margin: 0;
	padding: 0;
	list-style: none;
}

.next-member__page {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 var(--sp-2xs);
	border: 1px solid var(--color-border-strong);
	border-radius: var(--r-sm);
	color: var(--color-brand);
	font-size: var(--fs-sm);
	text-decoration: none;
}

.next-member__page:hover,
.next-member__page:focus-visible {
	background-color: var(--paper-200);
	border-color: var(--color-brand);
}

.next-member__page.is-current {
	background-color: var(--color-brand);
	border-color: var(--color-brand);
	color: var(--ink-000);
}

/* ---- 詳細 ---- */

.next-content {
	padding-bottom: var(--section-y);
}

.next-content__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-2xs);
	margin-bottom: var(--sp-2xs);
}

.next-content__category {
	display: inline-block;
	padding: 0 var(--sp-2xs);
	background-color: var(--paper-200);
	border-radius: var(--r-xs);
	color: var(--color-text-muted);
	font-size: var(--fs-2xs);
	letter-spacing: var(--ls-wide);
	text-decoration: none;
}

.next-content__category:hover,
.next-content__category:focus-visible {
	background-color: var(--paper-300);
	color: var(--color-brand);
}

.next-content__date {
	margin-bottom: var(--sp-md);
	color: var(--color-text-muted);
	font-size: var(--fs-xs);
}

.next-content__body {
	margin-bottom: var(--sp-xl);
}

.next-content__back {
	margin-bottom: var(--sp-md);
}

/* ---- 関連資料 ---- */

.next-materials {
	margin-bottom: var(--sp-xl);
	padding: var(--sp-md);
	background-color: var(--paper-200);
	border-radius: var(--r);
}

.next-materials__heading {
	margin-bottom: var(--sp-sm);
	font-size: var(--fs-md);
	line-height: var(--lh-tight);
}

.next-materials__list {
	display: flex;
	flex-direction: column;
	gap: var(--sp-sm);
	margin: 0;
	padding: 0;
	list-style: none;
}

.next-materials__item {
	display: flex;
	flex-direction: column;
	gap: var(--sp-3xs);
	padding-bottom: var(--sp-sm);
	border-bottom: 1px solid var(--color-border);
}

.next-materials__item:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.next-materials__link {
	color: var(--color-link);
	font-size: var(--fs-base);
	font-weight: 700;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.next-materials__link:hover,
.next-materials__link:focus-visible {
	color: var(--color-link-hover);
	text-decoration: underline;
}

.next-materials__link:focus-visible {
	outline: 2px solid var(--accent-500);
	outline-offset: 2px;
}

.next-materials__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sp-2xs);
	color: var(--color-text-muted);
	font-size: var(--fs-xs);
}

.next-materials__type {
	display: inline-block;
	padding: 0 var(--sp-2xs);
	background-color: var(--paper-000);
	border: 1px solid var(--color-border-strong);
	border-radius: var(--r-xs);
	font-weight: 700;
	letter-spacing: var(--ls-wide);
}

.next-materials__filename {
	overflow-wrap: anywhere;
}

/* =========================================================================
 * NEXT 公開サイト（/next/ 配下の一般公開ページ）
 * ====================================================================== */

.next-public {
	padding-bottom: var(--section-y);
}

/* ---- 公開TOP（/next/）の外枠（PHASE NEXT-16） ----
 * 他の公開ページ（本文幅 780px）より広い本文幅で、写真と読み物の行を並べる。
 */

.next-public--root {
	width: 100%;
	max-width: var(--w-main);
	margin-inline: auto;
	padding-inline: var(--gutter);
}

/* ---- ファーストビュー（公開TOPのみ） ----
 * PHASE NEXT-16 で濃紺の箱をやめ、明るい面に文字と実写の写真を左右で置く形にした。
 * 写真が未登録のときは文字だけの 1 列になる。
 */

.next-public-fv {
	display: grid;
	gap: var(--sp-lg);
	padding-block: var(--sp-md) var(--sp-xl);
}

@media (min-width: 900px) {

	.next-public-fv--photo {
		grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
		align-items: center;
		gap: var(--sp-2xl);
		padding-block: var(--sp-lg) var(--sp-2xl);
	}
}

.next-public-fv__eyebrow {
	margin-bottom: var(--sp-xs);
	color: var(--accent-500);
	font-size: var(--fs-xs);
	font-weight: 700;
	letter-spacing: var(--ls-label);
}

.next-public-fv__title {
	margin-bottom: var(--sp-md);
	color: var(--color-brand-deep);
	font-size: var(--fs-3xl);
	line-height: var(--lh-tight);
	letter-spacing: var(--ls-tight);
}

.next-public-fv__lead {
	margin-bottom: var(--sp-lg);
	color: var(--ink-700);
	font-size: var(--fs-md);
	line-height: var(--lh-normal);
	word-break: auto-phrase;
}

.next-public-fv__facts {
	margin: 0 0 var(--sp-lg);
	padding: 0;
	border-top: 1px solid var(--color-border-strong);
	list-style: none;
	color: var(--ink-700);
	font-size: var(--fs-sm);
	line-height: var(--lh-snug);
}

.next-public-fv__facts li {
	padding: var(--sp-xs) 0;
	border-bottom: 1px solid var(--color-border);
}

.next-public-fv__facts-term {
	display: inline-block;
	min-width: 3.5em;
	margin-right: var(--sp-xs);
	color: var(--color-brand);
	font-weight: 700;
}

.next-public-fv__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sp-sm) var(--sp-md);
}

.next-public-fv__event,
.next-public-fv__member {
	font-size: var(--fs-sm);
	text-decoration: underline;
	text-underline-offset: 0.25em;
}

.next-public-fv__event {
	color: var(--color-brand);
	font-weight: 700;
}

.next-public-fv__member {
	color: var(--color-text-muted);
}

.next-public-fv__event:hover,
.next-public-fv__event:focus-visible,
.next-public-fv__member:hover,
.next-public-fv__member:focus-visible {
	color: var(--accent-500);
}

.next-public-fv__event:focus-visible,
.next-public-fv__member:focus-visible {
	outline: 2px solid var(--accent-500);
	outline-offset: 3px;
}

.next-public-fv__photo {
	margin: 0;
}

.next-public-fv__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--r-xs);
}

.next-public-fv__caption {
	margin-top: var(--sp-2xs);
	color: var(--color-text-muted);
	font-size: var(--fs-2xs);
	line-height: var(--lh-snug);
}

/* ---- サブナビ ---- */

.next-public-nav {
	margin-bottom: var(--sp-xl);
	padding-bottom: var(--sp-sm);
	border-bottom: 1px solid var(--color-border);
}

.next-public-nav__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-2xs) var(--sp-xs);
	margin: 0;
	padding: 0;
	list-style: none;
}

.next-public-nav__link {
	display: inline-block;
	padding: var(--sp-3xs) var(--sp-xs);
	border: 1px solid var(--color-border-strong);
	border-radius: var(--r-sm);
	color: var(--color-brand);
	font-size: var(--fs-sm);
	text-decoration: none;
}

.next-public-nav__link:hover,
.next-public-nav__link:focus-visible {
	background-color: var(--paper-200);
	border-color: var(--color-brand);
}

.next-public-nav__link:focus-visible {
	outline: 2px solid var(--accent-500);
	outline-offset: 2px;
}

.next-public-nav__link.is-current {
	background-color: var(--color-brand);
	border-color: var(--color-brand);
	color: var(--ink-000);
}

/* ---- セクション ---- */

.next-public-section {
	margin-bottom: var(--sp-xl);
}

.next-public-section__title {
	margin-bottom: var(--sp-sm);
	padding-left: var(--sp-sm);
	border-left: 3px solid var(--accent-500);
	font-size: var(--fs-lg);
	line-height: var(--lh-tight);
}

.next-public-section__body {
	margin-bottom: var(--sp-sm);
	font-size: var(--fs-base);
	line-height: var(--lh-normal);
}

.next-public-section__list {
	margin-bottom: var(--sp-sm);
}

.next-public-section__more {
	margin-top: var(--sp-sm);
}

/* ---- カード ---- */

.next-public-cards {
	display: grid;
	gap: var(--sp-md);
	margin: 0 0 var(--sp-sm);
	padding: 0;
	list-style: none;
}

@media (min-width: 768px) {

	.next-public-cards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.next-public-card {
	display: flex;
	flex-direction: column;
	gap: var(--sp-2xs);
	padding: var(--sp-md);
	background-color: var(--paper-000);
	border: 1px solid var(--color-border);
	border-radius: var(--r);
}

.next-public-card__label {
	margin: 0;
	color: var(--accent-500);
	font-size: var(--fs-sm);
	font-weight: 700;
	letter-spacing: var(--ls-label);
}

.next-public-card__title {
	margin: 0;
	font-size: var(--fs-md);
	line-height: var(--lh-tight);
}

.next-public-card__body {
	margin: 0;
	color: var(--color-text-muted);
	font-size: var(--fs-sm);
	line-height: var(--lh-snug);
}

/* ---- 定義リスト ---- */

.next-public-defs {
	margin: 0 0 var(--sp-sm);
	border-top: 1px solid var(--color-border);
}

.next-public-defs__row {
	display: flex;
	flex-direction: column;
	gap: var(--sp-3xs);
	padding: var(--sp-sm) 0;
	border-bottom: 1px solid var(--color-border);
}

@media (min-width: 768px) {

	.next-public-defs__row {
		flex-direction: row;
		gap: var(--sp-md);
	}
}

.next-public-defs__term {
	flex-shrink: 0;
	color: var(--color-brand);
	font-size: var(--fs-sm);
	font-weight: 700;
}

@media (min-width: 768px) {

	.next-public-defs__term {
		width: 10rem;
	}
}

.next-public-defs__desc {
	margin: 0;
	font-size: var(--fs-base);
	line-height: var(--lh-snug);
}

/* ---- 手順 ---- */

.next-public-steps {
	display: grid;
	gap: var(--sp-md);
	margin: 0 0 var(--sp-sm);
	padding: 0;
	list-style: none;
	counter-reset: none;
}

@media (min-width: 768px) {

	.next-public-steps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.next-public-step {
	display: flex;
	flex-direction: column;
	gap: var(--sp-2xs);
	padding: var(--sp-md);
	background-color: var(--paper-200);
	border-radius: var(--r);
}

.next-public-step__label {
	margin: 0;
	color: var(--accent-500);
	font-size: var(--fs-2xs);
	font-weight: 700;
	letter-spacing: var(--ls-label);
}

.next-public-step__title {
	margin: 0;
	font-size: var(--fs-md);
	line-height: var(--lh-tight);
}

.next-public-step__body {
	margin: 0;
	color: var(--color-text-muted);
	font-size: var(--fs-sm);
	line-height: var(--lh-snug);
}

/* ---- FAQ ---- */

.next-public-faq {
	margin: 0 0 var(--sp-xl);
	border-top: 1px solid var(--color-border);
}

.next-public-faq__item {
	padding: var(--sp-md) 0;
	border-bottom: 1px solid var(--color-border);
}

.next-public-faq__q {
	margin-bottom: var(--sp-2xs);
	color: var(--color-brand);
	font-size: var(--fs-md);
	font-weight: 700;
	line-height: var(--lh-tight);
}

.next-public-faq__a {
	margin: 0;
	font-size: var(--fs-base);
	line-height: var(--lh-normal);
}

.next-public-faq__a p {
	margin: 0;
}

/* ---- CTA ---- */

.next-public-cta {
	margin-top: var(--sp-xl);
	padding: var(--sp-lg) var(--sp-md);
	background-color: var(--paper-200);
	border-radius: var(--r-lg);
	text-align: center;
}

.next-public-cta__title {
	margin-bottom: var(--sp-sm);
	font-size: var(--fs-lg);
	line-height: var(--lh-tight);
}

.next-public-cta__body {
	margin-bottom: var(--sp-2xs);
	font-size: var(--fs-base);
	line-height: var(--lh-normal);
}

.next-public-cta__note {
	margin-bottom: var(--sp-md);
	color: var(--color-text-muted);
	font-size: var(--fs-sm);
	line-height: var(--lh-snug);
}

.next-public-cta__action {
	margin-bottom: var(--sp-md);
}

.next-public-cta__member {
	margin: 0;
	color: var(--color-text-muted);
	font-size: var(--fs-sm);
}

.next-public-cta__member-link {
	color: var(--color-link);
}

.next-public-cta__member-link:focus-visible {
	outline: 2px solid var(--accent-500);
	outline-offset: 2px;
}

/* =========================================================================
 * 外装NEXT 公開TOP（/next/）の読み物の行（PHASE NEXT-16）
 * template-parts/next/top-sections.php 専用。番号・カード・アイコンを使わず、
 * 大きめの見出しと罫線、実写の写真で「経営者が集まる場」の空気を出す。
 * ====================================================================== */

.next-public--root .next-public-nav {
	margin-bottom: 0;
}

.next-top-row {
	display: grid;
	gap: var(--sp-sm);
	padding-block: var(--sp-xl);
	border-bottom: 1px solid var(--color-border);
}

@media (min-width: 900px) {

	.next-top-row {
		grid-template-columns: 16rem minmax(0, 1fr);
		column-gap: var(--sp-2xl);
		padding-block: var(--sp-2xl);
	}
}

.next-top-row__title {
	margin: 0;
	color: var(--color-brand-deep);
	font-size: var(--fs-xl);
	line-height: var(--lh-tight);
	letter-spacing: var(--ls-tight);
	word-break: auto-phrase;
}

.next-top-row__content {
	max-width: 44rem;
}

.next-top-row__body {
	margin-bottom: var(--sp-sm);
	color: var(--ink-700);
	font-size: var(--fs-base);
	line-height: var(--lh-relaxed);
}

.next-top-row__body:last-child {
	margin-bottom: 0;
}

.next-top-row__more {
	margin: var(--sp-md) 0 0;
}

/* 写真と本文を左右に置く行。SP は 見出し → 写真 → 本文 の順 */

.next-top-row--media {
	grid-template-areas:
		"head"
		"media"
		"content";
}

.next-top-row--media .next-top-row__head {
	grid-area: head;
}

.next-top-row--media .next-top-row__media {
	grid-area: media;
}

.next-top-row--media .next-top-row__content {
	grid-area: content;
}

@media (min-width: 900px) {

	.next-top-row--media {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-rows: auto 1fr;
		grid-template-areas:
			"media head"
			"media content";
		row-gap: var(--sp-md);
		align-items: start;
	}
}

.next-top-row__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--r-xs);
}

/* 本文の後に置く横長の写真 */

.next-top-band {
	padding-top: var(--sp-xl);
}

@media (min-width: 900px) {

	.next-top-band {
		padding-top: var(--sp-2xl);
	}
}

.next-top-band__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: var(--r-xs);
}

@media (min-width: 700px) {

	.next-top-band__img {
		aspect-ratio: 21 / 8;
	}
}

/* このような経営者の方へ（チェックアイコンではなく罫線の行） */

.next-top-list {
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--color-border-strong);
	list-style: none;
}

.next-top-list__item {
	position: relative;
	padding: var(--sp-sm) 0 var(--sp-sm) var(--sp-md);
	border-bottom: 1px solid var(--color-border);
	color: var(--ink-900);
	font-size: var(--fs-md);
	font-weight: 500;
	line-height: var(--lh-snug);
}

.next-top-list__item::before {
	content: "";
	position: absolute;
	top: calc(var(--sp-sm) + 0.8em);
	left: 0;
	width: 0.75em;
	height: 2px;
	background-color: var(--accent-500);
}

/* NEXTで得られるもの（番号・カードにしない） */

.next-top-points__item {
	padding: var(--sp-md) 0;
	border-top: 1px solid var(--color-border-strong);
}

.next-top-points__item:first-child {
	padding-top: 0;
	border-top: 0;
}

.next-top-points__title {
	margin-bottom: var(--sp-2xs);
	color: var(--color-brand-deep);
	font-size: var(--fs-lg);
	line-height: var(--lh-tight);
	word-break: auto-phrase;
}

.next-top-points__body {
	margin: 0;
	color: var(--ink-700);
	font-size: var(--fs-base);
	line-height: var(--lh-normal);
}

.next-top-defs {
	margin-top: var(--sp-md);
	margin-bottom: 0;
}

/* 入会のご相談（公開TOPのみ、濃紺の面で締める） */

.next-public--root .next-public-cta {
	margin-top: var(--sp-2xl);
	padding: var(--sp-xl) var(--sp-md);
	background-color: var(--navy-800);
	border-radius: var(--r-xs);
	color: var(--ink-000);
	text-align: left;
}

@media (min-width: 900px) {

	.next-public--root .next-public-cta {
		padding: var(--sp-2xl) var(--sp-2xl);
	}
}

.next-public--root .next-public-cta__title {
	color: var(--ink-000);
	font-size: var(--fs-xl);
}

.next-public--root .next-public-cta__body {
	max-width: 44rem;
	color: rgba(255, 255, 255, 0.88);
}

.next-public--root .next-public-cta__note {
	color: rgba(255, 255, 255, 0.72);
}

.next-public--root .next-public-cta__note strong {
	color: var(--ink-000);
}

.next-public--root .next-public-cta__member {
	color: rgba(255, 255, 255, 0.72);
}

.next-public--root .next-public-cta__member-link {
	color: var(--accent-200);
}

.next-public--root .next-public-cta__member-link:focus-visible {
	outline-color: var(--accent-300);
}

.next-public--root .next-public-cta .cta {
	word-break: auto-phrase;
}
