.apbox {
	--apbox-border: #d9d9d9;
	--apbox-text: #2d2d2d;
	--apbox-muted: #8a8a8a;
	--apbox-pill: #000;
	--apbox-tag: #ff6b00;
	--apbox-tag-bg: #fff3e5;
	box-sizing: border-box;
	position: relative;
	max-width: 1120px;
	margin: 42px auto 34px;
	padding: 30px 18px 0 18px;
	color: var(--apbox-text);
	font-family: "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
	font-size: 17px;
	line-height: 1.75;
	letter-spacing: 0;
	text-align: left;
}

.apbox,
.apbox * {
	box-sizing: border-box;
}

.apbox a {
	color: inherit;
	text-decoration: none;
}

.apbox img {
	display: block;
	max-width: 100%;
	height: auto;
}

.apbox__label {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 18px;
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: 9px 22px 10px;
	border-radius: 0 22px 22px 0;
	background: var(--apbox-pill);
	color: #fff;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0;
	max-width: calc(100% - 44px);
	overflow-wrap: anywhere;
}

.apbox__label::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: -7px;
	width: 0;
	height: 0;
	border-top: 7px solid #000;
	border-left: 16px solid #000;
	border-bottom: 0 solid transparent;
	transform: skewY(-12deg);
	transform-origin: top left;
}

.apbox__inner {
	position: relative;
	z-index: 1;
	min-height: 222px;
	padding: 48px 28px 34px;
	border: 1px solid var(--apbox-border);
	border-radius: 13px;
	background: #fff;
}

.apbox__profile {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 24px;
	align-items: center;
	max-width: 430px;
}

.apbox__avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 86px;
	height: 86px;
	overflow: hidden;
	border-radius: 50%;
	background: #f5f5f5;
	color: #111;
	flex: 0 0 auto;
}

.apbox__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.apbox__avatar-initial {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	border: 2px solid #222;
	border-radius: 50%;
	background:
		radial-gradient(circle at 50% 36%, #fff 0 23%, transparent 24%),
		linear-gradient(135deg, #fff8ef 0 45%, #ffe4bd 46% 100%);
	font-size: 34px;
	font-weight: 800;
	line-height: 1;
}

.apbox__meta {
	min-width: 0;
}

.apbox__name-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 6px;
}

.apbox__name {
	display: inline-flex;
	align-items: center;
	color: var(--apbox-text);
	font-size: 20px;
	font-weight: 800;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.apbox__name:hover {
	text-decoration: none;
}

.apbox__arrow {
	width: 11px;
	height: 11px;
	border-top: 3px solid #9a9a9a;
	border-right: 3px solid #9a9a9a;
	transform: rotate(45deg);
	flex: 0 0 auto;
}

.apbox__role {
	margin: 0 0 8px;
	color: var(--apbox-text);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.apbox__tag {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	min-height: 28px;
	padding: 4px 12px 5px;
	border-radius: 999px;
	background: var(--apbox-tag-bg);
	color: var(--apbox-tag);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

a.apbox__tag:hover {
	filter: brightness(0.96);
}

.apbox__bio {
	margin: 24px 0 0;
	color: var(--apbox-text);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.75;
	overflow-wrap: anywhere;
}

.apbox__bio-text,
.apbox__bio-text p {
	margin: 0;
	padding: 0;
}

.apbox__bio-text p + p {
	margin-top: 0.75em;
}

.apbox__read-more {
	display: inline;
	margin-left: 0.15em;
	color: var(--apbox-muted);
	font-weight: 800;
	white-space: nowrap;
}

.apbox__read-more:hover {
	color: #555;
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 720px) {
	.apbox {
		margin: 34px auto 28px;
		padding: 28px 12px 0;
		font-size: 15px;
	}

	.apbox__label {
		left: 12px;
		min-height: 38px;
		padding: 8px 18px 9px;
		border-radius: 0 19px 19px 0;
		font-size: 15px;
	}

	.apbox__inner {
		min-height: 0;
		padding: 42px 18px 24px;
		border-radius: 11px;
	}

	.apbox__profile {
		grid-template-columns: 74px minmax(0, 1fr);
		gap: 16px;
	}

	.apbox__avatar {
		width: 70px;
		height: 70px;
	}

	.apbox__avatar-initial {
		font-size: 27px;
	}

	.apbox__name {
		font-size: 18px;
	}

	.apbox__role,
	.apbox__bio {
		font-size: 15px;
	}

	.apbox__tag {
		font-size: 13px;
	}
}

@media (max-width: 420px) {
	.apbox__profile {
		grid-template-columns: 1fr;
		justify-items: start;
	}

	.apbox__avatar {
		width: 76px;
		height: 76px;
	}

	.apbox__bio {
		margin-top: 18px;
	}
}
