.p-breakthrough-lead-box {
    border: 1px solid #BBB;
    padding: 20px 40px;
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.06em;
    margin-top: 50px;
}
@media screen and (max-width: 768px) {
    .p-breakthrough-lead-box {
			border: 1px solid #BBB;
			padding:  calc(20 / var(--design-width) * 100vw) calc(30 / var(--design-width) * 100vw);
			font-size: calc(16 / var(--design-width) * 100vw);
			margin-top: calc(40 / var(--design-width) * 100vw);
	}
}

.p-breakthrough-section {
    display: grid;
    row-gap: 24px;
    padding-bottom: 50px;
}
.p-breakthrough-section + .p-breakthrough-section {
    margin-top: 30px;
}
@media screen and (max-width: 768px) {
	.p-breakthrough-section {
			row-gap: calc(20 / var(--design-width) * 100vw);
			padding-bottom: calc(40 / var(--design-width) * 100vw);
	}
	.p-breakthrough-section + .p-breakthrough-section {
			margin-top: calc(24 / var(--design-width) * 100vw);
	}
}

.p-breakthrough-img {
    padding-block: 30px;
}
.p-breakthrough-img--pdt--0 {
    padding-top: 0;
}
.p-breakthrough-img img {
    display: block;
    border-radius: 30px;
    margin-inline: auto;
}
.p-breakthrough-img figcaption {
    font-size: calc(14 / var(--root-fz) * 1rem);
    line-height: 2;
    letter-spacing: 0.04em;
    text-align: center;
    margin-top: 10px;
}
@media screen and (max-width: 768px) {
	.p-breakthrough-section {
			row-gap: calc(20 / var(--design-width) * 100vw);
			padding-bottom: calc(40 / var(--design-width) * 100vw);
	}
	.p-breakthrough-section + .p-breakthrough-section {
			margin-top: calc(24 / var(--design-width) * 100vw);
	}
	.p-breakthrough-img {
			padding-block: calc(20 / var(--design-width) * 100vw);;
	}
	.p-breakthrough-img img {
			border-radius: calc(20 / var(--design-width) * 100vw);
	}
	.p-breakthrough-img figcaption {
			font-size: calc(14 / var(--design-width) * 100vw);
			margin-top: calc(6 / var(--design-width) * 100vw);
	}
}

.p-breakthrough-article-block {
    padding: 10px;
}
.p-breakthrough-article-block-ttl {
    font-size: calc(20 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.06em;
    margin-bottom: 28px;
}
.p-breakthrough-article-block-ttl::before {
    content: "";
    display: inline-block;
    flex-shrink: 0;
    width: 1.4em;
    height: 1.2px;
    background-color: #333;
    margin-bottom: 0.4em;
		margin-right: 0.6em;
}
.p-breakthrough-article-block-txt {
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.04em;
}
.p-breakthrough-article-block-txt + .p-breakthrough-article-block-txt {
    margin-top: 2em;
}
@media screen and (max-width: 768px) {
	.p-breakthrough-article-block {
			padding: calc(8 / var(--design-width) * 100vw) 0;
	}
	.p-breakthrough-article-block-ttl {
			font-size: calc(18 / var(--design-width) * 100vw);
			margin-bottom: calc(24 / var(--design-width) * 100vw);
	}
	.p-breakthrough-article-block-txt {
			font-size: calc(16 / var(--design-width) * 100vw);
	}
}

.p-breakthrough-box {
    border: 1px solid #848484;
    padding: 16px 24px;
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.04em;
}
.p-breakthrough-box-title {
    font-weight: 700;
}
@media screen and (max-width: 768px) {
	.p-breakthrough-box {
			padding: calc(16 / var(--design-width) * 100vw) calc(20 / var(--design-width) * 100vw);
			font-size: calc(16 / var(--design-width) * 100vw);
	}
}

.interviewee_name {
	font-weight: 700;
  margin-right: 0.8em;
}

/* ---------- self-rating ---------- */
.self-rating {
	background-color: #F4F4F4;
	box-shadow: inset 0 4px 4px rgba(0, 0, 0, 0.25);
	padding: 130px 40px 115px;
	margin-top: 12px;
	margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.self-rating__inner {
	background-color: #fff;
	max-width: 1060px;
	margin-inline: auto;
	box-shadow: 4px 4px 2px -2px rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 767px) {
	.self-rating {
		padding: calc(6 * var(--base-unit)) calc(3 * var(--base-unit)) calc(5 * var(--base-unit));
		margin-top: calc(8 * var(--base-unit));
	}
	.self-rating__inner {
		background-color: #fff;
		max-width: 1060px;
	}
}
.self-rating__head {
	display: grid;
	grid-template-columns: 1fr min(711px, calc(711 / 1060 * 100vw));
	align-items: center;
	padding: 16px 0;
	border-bottom: 1px solid #000;
	position: relative;
}
.self-rating__head::before {
	content: "";
	display: block;
}
@media screen and (max-width: 767px) {
	.self-rating__head {
		grid-template-columns: 1fr;
		grid-template-rows: calc(9 * var(--base-unit)) 1fr;
		align-items: center;
		padding: calc(1.6 * var(--base-unit)) 0;
	}
}
.self-rating__title-group {
	position: absolute;
	top: -22px;
	left: -29px;
	color: #fff;
	text-align: center;
	font-weight: 700;
	z-index: 1;
	padding: 34px 0 22px;
	height: 131px;
	width: min(376px, calc(376 / 1060 * 100vw));
	background: linear-gradient(
    135deg,
    rgb(0, 0, 0, 38%) 0%,
    rgb(102, 102, 102, 100%) 100%
  );
	box-sizing: border-box;
}
.self-rating__title-group::before {
	content: "";
	position: absolute;
	left:0;
	bottom: -33px;
	display: block;
	background-color: #7e7e7e;
	width: 29px;
	height: 34px;
	clip-path: polygon(
    0 0,
    100% 0,
    100% 100%
  );
}
.self-rating__title-group h2 {
	font-size: 2rem;
	text-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
}
.self-rating__title-group p {
	font-size: 1.25rem;
	line-height: calc(32 / 20);
	text-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
	margin-top: 4px;
}
.self-rating__about {
	font-size: 1.5rem;
	line-height: calc(38 / 24);
	letter-spacing: 0.07em;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.self-rating__title-group {
		top: calc(-1.6 * var(--base-unit));
		left: calc(-2 * var(--base-unit));
		padding: calc(2 * var(--base-unit)) 0 calc(1.8 * var(--base-unit));
		width: calc(32 * var(--base-unit));
		height: auto;
	}
	.self-rating__title-group::before {
		bottom: calc(-2.4 * var(--base-unit));
		width: calc(2 * var(--base-unit));
		height: calc(2.5 * var(--base-unit));
	}
	.self-rating__title-group h2 {
		font-size: calc(2.8 * var(--base-unit));
	}
	.self-rating__title-group p {
		font-size: calc(2 * var(--base-unit));
		line-height: calc(24 / 18);
		margin-top: calc(0.4 * var(--base-unit));
	}
	.self-rating__about {
		font-size: calc(1.8 * var(--base-unit));
		line-height: calc(30 / 18);
	}
}

.self-rating__body {
	display: grid;
	grid-template-columns: repeat(2, auto);
	align-items: center;
	column-gap: 58px;
	padding: 70px 78px;
}
.self-rating__image img{
	width: 100%;
	height: auto;
}
.self-rating__content {
	font-size: 1rem;
	line-height: calc(30 / 16);
}
.self-rating__content > p:not(:last-child) {
	border-bottom: 1px solid #000;
	padding-bottom: 16px;
}
.self-rating__content > p:not(:first-child) {
	padding-top: 16px;
}
.self-rating__content-title {
	display: block;
	font-weight: 700;
}
@media screen and (max-width: 767px) {
	.self-rating__body {
		grid-template-columns: auto;
		row-gap: calc(3 * var(--base-unit));
		align-items: start;
		padding: calc(4 * var(--base-unit)) calc(2 * var(--base-unit));
	}
	.self-rating__image img{
		width: 100%;
		height: auto;
	}
	.self-rating__content {
		font-size: calc(1.5 * var(--base-unit));
		line-height: calc(24 / 15);
	}

	.self-rating__content > p:not(:last-child) {
		padding-bottom: calc(1.6 * var(--base-unit));
	}
	.self-rating__content > p:not(:first-child) {
		padding-top: calc(1.6 * var(--base-unit));
	}
}