body :is(.post_content, .entry-content) sup.ntg-ref{
	position: relative;
	vertical-align: baseline;
	font-size: inherit;
	line-height: inherit;
	top: 0;
}
body :is(.post_content, .entry-content) sup.ntg-ref > a{
	position: relative;
	display: inline;
	padding-inline-start: 8px;
	font-size: 0;
	line-height: 0;
	color: inherit; /* 点は本文の字の色から作る（ライト・ダーク・雰囲気版のどれでも溶け込む） */
	text-decoration: none;
	border: 0;
	background: none;
	-webkit-tap-highlight-color: transparent;
}
body :is(.post_content, .entry-content) sup.ntg-ref[data-soak-tuck] > a{
	padding-inline-start: 0;
}
body :is(.post_content, .entry-content) sup.ntg-ref > a::before{
	content: "";
	position: absolute;
	inset-block-end: 8px;
	inset-inline-start: 2px;
	inline-size: 5px;
	block-size: 5px;
	border-radius: 50%;
	background: color-mix(in srgb, currentColor 28%, transparent);
	transition: background-color 0.2s ease, transform 0.2s ease;
}
body :is(.post_content, .entry-content) sup.ntg-ref[data-soak-tuck] > a::before{
	inset-inline-start: -7px;
}
body :is(.post_content, .entry-content) sup.ntg-ref > a::after{
	content: "";
	position: absolute;
	inset-block-end: -2px;
	inset-inline-start: -6px;
	inline-size: 22px;
	block-size: 22px;
}
body :is(.post_content, .entry-content) sup.ntg-ref[data-soak-tuck] > a::after{
	inset-inline-start: -15px;
}
@media (hover: hover){
body :is(.post_content, .entry-content) :is(p, li, td, blockquote, figcaption):hover > sup.ntg-ref > a::before,
	body :is(.post_content, .entry-content) :is(p, li, td, blockquote, figcaption):hover > * > sup.ntg-ref > a::before{
		background: color-mix(in srgb, currentColor 50%, transparent);
	}
}
body :is(.post_content, .entry-content) sup.ntg-ref > a:is(:hover, :focus-visible, [aria-expanded="true"])::before{
	background: var(--ntg2-link, #3061a6);
	transform: scale(1.3);
}
body :is(.post_content, .entry-content) sup.ntg-ref > a:focus-visible{
	outline: 2px solid var(--ntg2-link, #3061a6);
	outline-offset: 1px;
	border-radius: 50%;
}
body :where(.post_content) :is(sup.ntg-ref[data-soak-merged], sup.ntg-ref > a[data-soak-merged]):is(*, .ntg-u), body :where(.entry-content) :is(sup.ntg-ref[data-soak-merged], sup.ntg-ref > a[data-soak-merged]):is(*, .ntg-u){
	display: none;
}
html.ntg-soak-touch body :is(.post_content, .entry-content) sup.ntg-ref > a{
	padding-inline-start: 0;
}
html.ntg-soak-touch body :is(.post_content, .entry-content) sup.ntg-ref > a::before{
	display: none;
}
html.ntg-soak-touch body :is(.post_content, .entry-content) sup.ntg-ref > a::after{
	inset-block-end: -8px;
	inset-inline-start: -2px;
	inline-size: 46px;
	block-size: 30px;
}
body :is(.post_content, .entry-content) .ntg-soak-tag{
	display: inline-flex;
	align-items: center;
	gap: 2px;
	margin-inline-start: 2px;
	padding: 0 5px 0 4px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--ntg2-link, #3061a6) 9%, transparent);
	color: var(--ntg2-link, #3061a6);
	font-size: 10.5px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0;
	font-variant-numeric: tabular-nums;
	vertical-align: 0.3em;
	white-space: nowrap;
}
body :is(.post_content, .entry-content) .ntg-soak-tag__icon{
	display: inline-block;
	inline-size: 10px;
	block-size: 10px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 3.5C6.6 2.4 4.4 2 2 2.2v10.3c2.4-.2 4.6.2 6 1.3 1.4-1.1 3.6-1.5 6-1.3V2.2C11.6 2 9.4 2.4 8 3.5zM8 3.5v10.3' fill='none' stroke='%23000' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 3.5C6.6 2.4 4.4 2 2 2.2v10.3c2.4-.2 4.6.2 6 1.3 1.4-1.1 3.6-1.5 6-1.3V2.2C11.6 2 9.4 2.4 8 3.5zM8 3.5v10.3' fill='none' stroke='%23000' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
body :is(.post_content, .entry-content) sup.ntg-ref > a[aria-expanded="true"] .ntg-soak-tag{
	background: var(--ntg2-link, #3061a6);
	color: var(--ntg2-surface, #fff);
}
::highlight(ntg-soak){
	background-color: color-mix(in srgb, var(--ntg2-link, #3061a6) 13%, transparent);
}
.ntg-soak-card{
	position: absolute;
	z-index: 60;
	box-sizing: border-box;
	inline-size: min(340px, calc(100vw - 32px));
	padding: 10px 12px 9px;
	border: 1px solid var(--ntg2-line-2, #d3cec7);
	border-radius: var(--ntg2-radius, 6px);
	background: var(--ntg2-surface, #fff);
	box-shadow: var(--ntg2-shadow-float, 0 2px 10px rgba(0, 0, 0, 0.08));
	color: var(--ntg2-text, #1a1714);
	font-size: 13.5px;
	line-height: 1.65;
	letter-spacing: 0.02em;
	opacity: 0;
	transform: translateY(-3px);
	transition: opacity 0.16s ease, transform 0.16s ease;
	pointer-events: none;
}
.ntg-soak-card.is-open{
	opacity: 1;
	transform: none;
	pointer-events: auto;
}
.ntg-soak-card__item + .ntg-soak-card__item{
	margin-block-start: 8px;
	padding-block-start: 8px;
	border-block-start: 1px solid var(--ntg2-line, #e3e0dc);
}
.ntg-soak-card__label{
	display: block;
	margin-block-end: 1px;
	color: var(--ntg2-muted, #8a847d);
	font-size: 11.5px;
	letter-spacing: 0.06em;
}
.ntg-soak-card__title{
	display: block;
	font-weight: 600;
}
.ntg-soak-card a{
	color: var(--ntg2-link, #3061a6);
	text-decoration: none;
}
.ntg-soak-card a:hover{
	text-decoration: underline;
}
.ntg-soak-card__lines{
	display: block;
	margin-block-start: 2px;
	color: var(--ntg2-sub, #5f5a55);
	font-size: 12.5px;
}
.ntg-soak-card__note{
	display: block;
	margin-block-start: 3px;
	color: var(--ntg2-sub, #5f5a55);
}
.ntg-soak-card__foot{
	display: block;
	margin-block-start: 7px;
	text-align: end;
	font-size: 12px;
}
.ntg-soak-card__close{
	float: inline-start;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--ntg2-sub, #5f5a55);
	font: inherit;
	font-size: 12px;
	cursor: pointer;
	appearance: none;
}
body :is(.post_content, .entry-content) li:has(> a:target){
	animation: ntg-soak-target 2.4s ease-out;
	border-radius: var(--ntg2-radius-sm, 4px);
}
@keyframes ntg-soak-target{
	0%,
	35% {
		background-color: color-mix(in srgb, var(--ntg2-link, #3061a6) 14%, transparent);
	}
	100% {
		background-color: transparent;
	}
}
@media (prefers-reduced-motion: reduce){
.ntg-soak-card,
	body :is(.post_content, .entry-content) sup.ntg-ref > a::before{
		transition: none;
	}
}
@media print{
body :is(.post_content, .entry-content) sup.ntg-ref{
		vertical-align: super;
		font-size: 0.7em;
		line-height: 0;
	}
body :where(.post_content) :is(sup.ntg-ref[data-soak-merged], sup.ntg-ref > a[data-soak-merged]):is(*, .ntg-u), body :where(.entry-content) :is(sup.ntg-ref[data-soak-merged], sup.ntg-ref > a[data-soak-merged]):is(*, .ntg-u){
		display: inline;
	}
body :is(.post_content, .entry-content) sup.ntg-ref > a{
		padding: 0;
		font-size: inherit;
		color: inherit;
	}
body :is(.post_content, .entry-content) sup.ntg-ref > a[data-soak-text]::after,
	html.ntg-soak-touch body :is(.post_content, .entry-content) sup.ntg-ref > a[data-soak-text]::after{
		display: inline;
		content: attr(data-soak-text);
		position: static;
	}
body :is(.post_content, .entry-content) sup.ntg-ref > a::before,
	body :is(.post_content, .entry-content) .ntg-soak-tag,
	.ntg-soak-card{
		display: none;
	}
}
