/**
 * Shared styles for BtoB service detail pages (RPO / HR).
 */

:root {
	--svc-rpo: #4962f0;
	--svc-rpo-soft: #e8ebf9;
	--svc-rpo-grad: linear-gradient(105deg, #4962f0 0%, #aab6ff 100%);
	--svc-hr: #af322c;
	--svc-hr-hot: #ff351a;
	--svc-hr-soft: #ffebe8;
	--svc-mid: #5f97ef;
	--svc-mid-soft: #f1f2f9;
	--svc-mid-fill: #7cafff;
}

/* -------------------------------------------------------------------------- */
/* Hero
/* -------------------------------------------------------------------------- */

.c-svc-hero {
	box-sizing: border-box;
	width: 100%;
	padding: 156px 100px 72px;
}

.c-svc-hero--rpo {
	background: var(--svc-rpo-grad);
}

.c-svc-hero--hr {
	background: var(--tokumori-gradient);
}

.c-svc-hero__inner {
	box-sizing: border-box;
	max-width: 1240px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 450px);
	gap: 24px;
	align-items: center;
}

.c-svc-hero__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	color: #fff;
}

.c-svc-hero__chip {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 8px 16px;
	border-radius: 8px;
	background: #fff;
}

.c-svc-hero__chip-label {
	font-family: var(--tokumori-font-display);
	font-size: clamp(10px, calc(24 * 100vw / 410), 24px);
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 1.2;
}

.c-svc-hero--rpo .c-svc-hero__chip-label {
	color: var(--svc-rpo);
}

.c-svc-hero--hr .c-svc-hero__chip-label {
	color: var(--svc-hr-hot);
}

.c-svc-hero__chip-mark {
	display: block;
	height: 30px;
	width: auto;
}

.c-svc-hero__chip-marks {
	display: flex;
	align-items: center;
	gap: 8px;
}

.c-svc-hero__title {
	margin: 0;
	font-family: var(--tokumori-font-display);
	font-size: clamp(28px, 4vw, 50px);
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 1.3;
	color: #fff;
}

.c-svc-hero__lead {
	margin: 0;
	font-family: var(--tokumori-font-display);
	font-size: clamp(10px, calc(16 * 100vw / 410), 16px);
	font-weight: 400;
	letter-spacing: 1.2px;
	line-height: 1.8;
	color: #fff;
}

.c-svc-hero--hr .c-svc-hero__lead {
	font-size: clamp(10px, calc(18 * 100vw / 410), 18px);
}

.c-svc-hero__illust {
	margin: 0;
	width: 100%;
}

.c-svc-hero__illust img {
	display: block;
	width: 100%;
	height: auto;
}

.c-svc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
	min-height: 48px;
	padding: 12px 28px;
	border: 1px solid var(--color-main-dark, #333);
	border-radius: 37px;
	background: #fff;
	font-family: var(--tokumori-font-display);
	font-size: clamp(10px, calc(16 * 100vw / 410), 16px);
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 1.5;
	color: var(--color-main-dark, #333);
	text-decoration: none;
}

.c-svc-btn:hover {
	text-decoration: none;
	color: var(--color-main-dark, #333);
	opacity: 0.92;
}

.c-svc-btn--ghost {
	background: #fff;
}

.c-svc-btn--accent {
	border-color: transparent;
	color: var(--color-primary, #af322c);
}

/* -------------------------------------------------------------------------- */
/* Section chrome
/* -------------------------------------------------------------------------- */

.c-svc-section {
	box-sizing: border-box;
	width: 100%;
	padding: 104px 100px;
}

.c-svc-section--gray {
	background: var(--color-sub-base-gray, #fafafa);
}

.c-svc-section--tight {
	padding: 40px 0;
	background: var(--color-sub-base-gray, #fafafa);
}

.c-svc-section__inner {
	box-sizing: border-box;
	max-width: 1240px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 56px;
}

.c-svc-section--tight .c-svc-section__inner {
	gap: 30px;
	align-items: center;
}

.c-svc-section__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	text-align: center;
}

.c-svc-section__title {
	margin: 0;
	font-family: var(--tokumori-font-display);
	font-size: clamp(10px, calc(48 * 100vw / 410), 48px);
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 1.6;
	color: var(--color-main-dark, #333);
}

.c-svc-section__title--rpo {
	color: var(--svc-rpo);
}

.c-svc-section__title--hr {
	color: var(--svc-hr);
}

.c-svc-section__lead {
	margin: 0;
	max-width: 960px;
	font-family: var(--tokumori-font-display);
	font-size: clamp(10px, calc(22 * 100vw / 410), 22px);
	font-weight: 400;
	letter-spacing: 1.2px;
	line-height: 1.8;
	color: var(--color-main-dark, #333);
}

.c-svc-section__sub {
	margin: 0;
	font-family: var(--tokumori-font-display);
	font-size: clamp(10px, calc(32 * 100vw / 410), 32px);
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 1.6;
	color: var(--color-main-dark, #333);
	text-align: center;
}

/* -------------------------------------------------------------------------- */
/* Logos strip
/* -------------------------------------------------------------------------- */

.c-svc-logos {
	overflow: hidden;
}

.c-svc-logos .c-svc-section__inner {
	margin-bottom: 30px;
}

.c-svc-logos__title {
	margin: 0;
	font-family: var(--tokumori-font-display);
	font-size: clamp(28px, 5vw, 56px);
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 1.4;
	text-align: center;
	background: var(--tokumori-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.c-svc-logos--rpo .c-svc-logos__title {
	background: var(--svc-rpo-grad);
	-webkit-background-clip: text;
	background-clip: text;
}

/* 単体トラック（就活・転職など静止／1枚画像） */
.c-svc-logos__track {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
	overflow: hidden;
}

.c-svc-logos__track img {
	display: block;
	width: 100%;
	max-width: 1451px;
	height: auto;
	margin: 0 auto;
	object-fit: contain;
}

/* 無限マーキー（RPO / HR Support / 就活 / 転職） */
.c-svc-logos__marquee {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
	overflow: hidden;
}

.c-svc-logos__marquee .c-svc-logos__track {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	width: max-content;
	max-width: none;
	gap: 40px;
	overflow: visible;
	will-change: transform;
}

.c-svc-logos__marquee .c-svc-logos__set {
	display: flex;
	flex-direction: row;
	align-items: center;
	flex-shrink: 0;
	gap: 40px;
}

.c-svc-logos__marquee .c-svc-logos__track--upper {
	animation: c-svc-logos-marquee var(--logo-marquee-duration, 40s) linear infinite;
}

.c-svc-logos__marquee .c-svc-logos__track--lower,
.c-svc-logos__marquee .c-svc-logos__track--slow {
	animation: c-svc-logos-marquee-ltr var(--logo-marquee-duration, 40s) linear infinite;
}

.c-svc-logos__marquee .c-svc-logos__track img {
	display: block;
	flex: 0 0 auto;
	flex-shrink: 0;
	width: auto;
	height: 72px;
	max-height: 72px;
	max-width: none;
	margin: 0;
	object-fit: contain;
}

@keyframes c-svc-logos-marquee {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(calc(-1 * var(--logo-marquee-shift, 50%)));
	}
}

@keyframes c-svc-logos-marquee-ltr {
	from {
		transform: translateX(calc(-1 * var(--logo-marquee-shift, 50%)));
	}

	to {
		transform: translateX(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.c-svc-logos__marquee .c-svc-logos__track,
	.c-svc-logos__marquee .c-svc-logos__track--upper,
	.c-svc-logos__marquee .c-svc-logos__track--lower,
	.c-svc-logos__marquee .c-svc-logos__track--slow {
		animation: none;
		flex-wrap: wrap;
		width: 100%;
		justify-content: center;
		transform: none;
	}

	.c-svc-logos__marquee .c-svc-logos__set:not(:first-child) {
		display: none;
	}

	.c-svc-logos__marquee .c-svc-logos__track img {
		width: auto;
		height: 72px;
		max-height: 72px;
		margin: 0;
	}

	.c-svc-logos__marquee {
		padding: 0 16px;
	}
}

@media (max-width: 1100px) {
	.c-svc-logos__marquee .c-svc-logos__track,
	.c-svc-logos__marquee .c-svc-logos__set {
		gap: 24px;
	}
}

/* -------------------------------------------------------------------------- */
/* Metrics / cards
/* -------------------------------------------------------------------------- */

.c-svc-metrics {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 20px;
	width: 100%;
}

.c-svc-show-pc {
	display: block;
}

.c-svc-show-sp {
	display: none;
}

.c-svc-metric__label .c-svc-show-pc,
.c-svc-metric__label .c-svc-show-sp {
	display: inline;
}

.c-svc-br-pc {
	display: inline;
}

.c-svc-metrics--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* RPO 実績: 上段2 + 下段3 */
.c-svc-metrics--rpo {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.c-svc-metrics__row {
	display: grid;
	gap: 20px;
	width: 100%;
}

.c-svc-metrics__row--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.c-svc-metrics__row--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.c-svc-metric {
	box-sizing: border-box;
	padding: 28px 24px;
	border: 2px solid #d9d9d9;
	border-radius: 8px;
	background: #fff;
	text-align: center;
}

.c-svc-metric--wide {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 275px;
	padding: 30px 40px;
	text-align: left;
}

.c-svc-metric__main {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	min-width: 0;
}

.c-svc-metric--wide .c-svc-metric__label {
	margin: 0;
	text-align: left;
}

.c-svc-metric--wide .c-svc-metric__value {
	text-align: left;
}

.c-svc-metric__chart {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 140px;
}

.c-svc-metric__chart svg {
	display: block;
	width: 100%;
	height: auto;
}

.c-svc-metric__label {
	margin: 0 0 12px;
	font-family: var(--tokumori-font-display);
	font-size: clamp(10px, calc(24 * 100vw / 410), 24px);
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 1.4;
	color: var(--color-main-dark, #333);
}

.c-svc-metric__value {
	margin: 0;
	font-family: var(--tokumori-font-en);
	font-size: clamp(40px, 6vw, 72px);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.02em;
	background: var(--svc-rpo-grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.c-svc-metric__value--red {
	background: var(--tokumori-gradient);
	-webkit-background-clip: text;
	background-clip: text;
}

.c-svc-metric__note {
	margin: 0;
	font-family: var(--tokumori-font-display);
	font-size: clamp(10px, calc(20 * 100vw / 410), 20px);
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--color-main-dark, #333);
}

.c-svc-cases--rpo {
	gap: 24px;
}

/* -------------------------------------------------------------------------- */
/* Case cards
/* -------------------------------------------------------------------------- */

.c-svc-cases {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.c-svc-cases--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.c-svc-case {
	display: flex;
	flex-direction: column;
	gap: 14px;
	box-sizing: border-box;
	padding: 20px;
	border: 1px solid #cfcece;
	border-radius: 8px;
	background: #fff;
	text-decoration: none;
	color: inherit;
}

.c-svc-case__thumb {
	position: relative;
	margin: 0;
	width: 100%;
	aspect-ratio: 360 / 222;
	overflow: hidden;
	border-radius: 4px;
	background: #eee;
}

.c-svc-case__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.c-svc-case__tag {
	position: absolute;
	left: 12px;
	bottom: 12px;
	z-index: 1;
	display: inline-flex;
	padding: 6px 14px;
	border-radius: 4px;
	font-size: clamp(10px, calc(12 * 100vw / 410), 12px);
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--color-main-dark, #333);
	background: #fff;
}

.c-svc-case__title {
	margin: 0;
	font-size: clamp(10px, calc(14 * 100vw / 410), 14px);
	font-weight: 500;
	line-height: 1.6;
	color: var(--color-main-dark, #333);
}

.c-svc-case__company {
	margin: 0;
	font-size: clamp(10px, calc(18 * 100vw / 410), 18px);
	font-weight: 500;
	color: var(--color-main-dark, #333);
}

.c-svc-section__actions {
	display: flex;
	justify-content: center;
}

/* -------------------------------------------------------------------------- */
/* Feature rows
/* -------------------------------------------------------------------------- */

.c-svc-features {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.c-svc-feature {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 200px;
	gap: 32px;
	align-items: center;
	box-sizing: border-box;
	padding: 32px 40px;
	border-radius: 8px;
	background: #fff;
}

.c-svc-feature__head {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	margin-bottom: 12px;
}

.c-svc-feature__icon {
	width: 45px;
	height: 45px;
	flex-shrink: 0;
}

.c-svc-feature__title {
	margin: 0;
	font-family: var(--tokumori-font-display);
	font-size: clamp(10px, calc(28 * 100vw / 410), 28px);
	font-weight: 500;
	letter-spacing: 1.2px;
	line-height: 1.5;
	color: var(--color-main-dark, #333);
}

.c-svc-feature__title em {
	font-style: normal;
	color: var(--svc-rpo);
}

.c-svc-feature__title--hr em {
	color: var(--svc-hr);
}

.c-svc-features .c-svc-feature__title--hr {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.c-svc-features .c-svc-feature__title--hr::before {
	content: "";
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	margin-top: 6px;
	border-radius: 50%;
	background: var(--svc-hr) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10' fill='none'%3E%3Cpath d='M1 5.2 4.2 8.4 11 1.6' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat;
}

.c-svc-feature__body {
	margin: 0;
	font-size: clamp(10px, calc(14 * 100vw / 410), 14px);
	font-weight: 500;
	letter-spacing: 1.2px;
	line-height: 1.8;
	color: var(--color-gray, #838586);
}

.c-svc-feature__art {
	margin: 0;
	width: 100%;
}

.c-svc-feature__art img {
	display: block;
	width: 100%;
	height: auto;
}

/* -------------------------------------------------------------------------- */
/* Download band
/* -------------------------------------------------------------------------- */

.c-svc-dl {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 24px;
	align-items: center;
	box-sizing: border-box;
	padding: 40px 48px;
	border-radius: 8px;
	color: #fff;
}

.c-svc-dl__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}

.c-svc-dl__copy .c-svc-btn {
	margin-top: 8px;
}

.c-svc-dl__art {
	margin: 0;
	justify-self: end;
}

.c-svc-dl__art img {
	display: block;
	width: 100%;
	max-width: 211px;
	height: auto;
}

.c-svc-dl--rpo {
	background: var(--svc-rpo);
	border: 2px solid var(--svc-rpo);
	max-width: 960px;
	width: 100%;
	margin-inline: auto;
	padding: 40px;
	gap: 40px;
	box-shadow: 0 16px 24px rgba(0, 0, 0, 0.08);
}

.c-svc-dl--rpo .c-svc-dl__eyebrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 10px 20px;
	border: 1px solid #fff;
	border-radius: 8px;
	font-size: clamp(10px, calc(12 * 100vw / 410), 12px);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0;
}

.c-svc-dl--rpo .c-svc-dl__copy {
	gap: 24px;
}

.c-svc-dl--rpo .c-svc-dl__copy .c-svc-btn {
	margin-top: 0;
	min-width: 270px;
	padding: 20px 20px 20px 40px;
	justify-content: space-between;
}

.c-svc-dl--rpo .c-svc-btn--accent {
	background: #fff;
	color: var(--color-primary, #af322c);
}

.c-svc-dl--rpo .c-svc-btn--accent:hover {
	color: var(--color-primary, #af322c);
}

.c-svc-dl--rpo .c-svc-dl__title {
	margin: 0;
	letter-spacing: 0;
	line-height: 1.3;
}

.c-svc-dl--rpo .c-svc-dl__text {
	margin: 0;
	letter-spacing: 0.1em;
	line-height: 1.5;
}

.c-svc-dl--rpo .c-svc-dl__art {
	justify-self: end;
	align-self: end;
}

.c-svc-dl--rpo .c-svc-dl__art img {
	max-width: 220px;
}

.c-svc-dl--hr {
	background: var(--svc-hr);
}

.c-svc-dl__eyebrow {
	margin: 0 0 8px;
	font-size: clamp(10px, calc(12 * 100vw / 410), 12px);
	font-weight: 700;
}

.c-svc-dl__title {
	margin: 0 0 12px;
	font-size: clamp(10px, calc(32 * 100vw / 410), 32px);
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 1.4;
}

.c-svc-dl__text {
	margin: 0;
	font-size: clamp(10px, calc(12 * 100vw / 410), 12px);
	font-weight: 700;
	line-height: 1.6;
}

/* -------------------------------------------------------------------------- */
/* Scope columns / tags
/* -------------------------------------------------------------------------- */

.c-svc-scope {
	display: flex;
	align-items: center;
	gap: 16px;
	width: 100%;
}

.c-svc-scope__col {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 40px;
	flex: 1 1 0;
	min-width: 0;
	align-self: stretch;
	padding: 40px 32px;
	border: 1px solid #cfcece;
	border-radius: 8px;
	background: var(--color-sub-base-gray, #fafafa);
}

.c-svc-scope__col--mid {
	flex: 1.92 1 0;
}

.c-svc-scope__col-title {
	margin: 0;
	font-family: var(--tokumori-font-display);
	font-size: clamp(10px, calc(28 * 100vw / 410), 28px);
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 1.5;
	color: var(--color-main-dark, #333);
}

.c-svc-scope__groups {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.c-svc-scope__group {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.c-svc-scope__group-title {
	margin: 0;
	padding-bottom: 8px;
	border-bottom: 1px solid #d9d9d9;
	font-size: clamp(10px, calc(16 * 100vw / 410), 16px);
	font-weight: 700;
	line-height: 1.6;
	color: var(--color-main-dark, #333);
}

.c-svc-scope__arrow {
	flex: 0 0 auto;
	width: 20px;
	height: 40px;
	background: #d9d9d9;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.c-svc-chips {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.c-svc-chips li {
	box-sizing: border-box;
	padding: 4px 10px;
	border-radius: 8px;
	background: #fff;
	font-size: clamp(10px, calc(16 * 100vw / 410), 16px);
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 1.6;
	color: var(--color-main-dark, #333);
}

.c-svc-section--rpo-scope .c-svc-section__head {
	gap: 20px;
}

.c-svc-section--rpo-scope .c-svc-section__inner {
	gap: 56px;
}

/* -------------------------------------------------------------------------- */
/* Pricing
/* -------------------------------------------------------------------------- */

.c-svc-section--rpo-plans .c-svc-section__head {
	gap: 20px;
}

.c-svc-section--rpo-plans .c-svc-section__inner {
	gap: 80px;
}

.c-svc-rpo-plans-top {
	display: flex;
	flex-direction: column;
	gap: 56px;
	width: 100%;
}

.c-svc-rpo-plans-compare {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
}

.c-svc-plans {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	width: 100%;
}

.c-svc-plan {
	display: flex;
	flex-direction: column;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
	min-height: 100%;
}

.c-svc-plan__hook {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	min-height: 116px;
	padding: 10px 16px;
	background: var(--svc-rpo-soft, #e8ebf9);
	font-family: var(--tokumori-font-display);
	font-size: clamp(10px, calc(20 * 100vw / 410), 20px);
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 1.6;
	color: var(--svc-rpo, #4962f0);
	text-align: center;
}

.c-svc-plan__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	padding: 24px 32px;
	flex: 1;
	background: #fff;
}

.c-svc-plan__name {
	margin: 0 0 24px;
	font-family: var(--tokumori-font-display);
	font-size: clamp(10px, calc(24 * 100vw / 410), 24px);
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 1.3;
	color: var(--color-main-dark, #333);
}

.c-svc-plan__price {
	display: inline-flex;
	align-items: flex-end;
	gap: 4px;
	margin: 0 0 32px;
	color: var(--color-main-dark, #333);
}

.c-svc-plan__price--text {
	align-items: center;
	min-height: 56px;
}

.c-svc-plan__price-num {
	font-family: var(--tokumori-font-en);
	font-size: clamp(10px, calc(64 * 100vw / 410), 64px);
	font-weight: 600;
	line-height: 0.9;
	color: var(--svc-rpo, #4962f0);
}

.c-svc-plan__price-unit {
	font-size: clamp(10px, calc(15 * 100vw / 410), 15px);
	font-weight: 500;
	line-height: 1.3;
	padding-bottom: 6px;
}

.c-svc-plan__price-text {
	font-size: clamp(10px, calc(20 * 100vw / 410), 20px);
	font-weight: 500;
	line-height: 1.3;
	color: #000;
}

.c-svc-plan__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
}

.c-svc-plan__list li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: clamp(10px, calc(14 * 100vw / 410), 14px);
	font-weight: 500;
	letter-spacing: 1.2px;
	line-height: 1.45;
	color: var(--color-main-dark, #333);
}

.c-svc-plan__list li::before {
	content: "";
	flex-shrink: 0;
	width: 12px;
	height: 9px;
	margin-top: 5px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='9' viewBox='0 0 12 9' fill='none'%3E%3Cpath d='M1 4.5 4.2 7.7 11 1' stroke='%234962f0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
		center / contain no-repeat;
}

/* -------------------------------------------------------------------------- */
/* Comparison
/* -------------------------------------------------------------------------- */

.c-svc-compare {
	display: flex;
	flex-direction: column;
	gap: 56px;
	width: 100%;
}

.c-svc-compare__title {
	margin: 0;
	font-family: var(--tokumori-font-display);
	font-size: clamp(10px, calc(32 * 100vw / 410), 32px);
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 1.3;
	color: var(--color-main-dark, #333);
	text-align: left;
}

.c-svc-compare__block {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 32px;
	width: 100%;
	padding: 56px 40px;
	background: var(--svc-rpo-soft, #e8ebf9);
}

.c-svc-compare__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	width: 100%;
	max-width: 964px;
}

.c-svc-compare__head-copy {
	display: flex;
	flex-direction: column;
	gap: 24px;
	min-width: 0;
	flex: 1;
}

.c-svc-compare__art {
	flex: 0 0 auto;
	margin: 0;
	width: 150px;
}

.c-svc-compare__art img {
	display: block;
	width: 100%;
	height: auto;
}

.c-svc-compare__art--premium {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.c-svc-compare__art--premium::before {
	content: "";
	position: absolute;
	inset: 8% 4%;
	border-radius: 50%;
	background: rgba(171, 184, 255, 0.35);
	z-index: 0;
}

.c-svc-compare__art--premium img {
	position: relative;
	z-index: 1;
}

.c-svc-compare__intro {
	margin: 0;
	font-size: clamp(10px, calc(22 * 100vw / 410), 22px);
	font-weight: 400;
	letter-spacing: 1.2px;
	line-height: 1.6;
	color: var(--color-main-dark, #333);
	text-align: left;
}

.c-svc-compare__plan {
	margin: 0;
	font-family: var(--tokumori-font-display);
	font-size: clamp(10px, calc(28 * 100vw / 410), 28px);
	font-weight: 500;
	letter-spacing: 1.2px;
	line-height: 1.5;
	color: var(--color-main-dark, #333);
	text-align: left;
}

.c-svc-compare__scroll {
	width: 100%;
	max-width: 1160px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.c-svc-compare__board {
	position: relative;
	box-sizing: border-box;
	width: 964px;
	min-height: 343px;
	margin: 0 auto;
	padding: 16px 16px 36px;
	border-radius: 8px;
	background: #fff;
}

/* Left labels + full-width dashed guides sit behind the cards */
.c-svc-compare__rail {
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 36px;
	z-index: 0;
	display: flex;
	flex-direction: column;
	height: 247px;
	pointer-events: none;
}

.c-svc-compare__rail-item {
	display: flex;
	box-sizing: border-box;
	padding: 0 8px;
	font-size: clamp(10px, calc(14 * 100vw / 410), 14px);
	font-weight: 700;
	line-height: 1.64;
	color: var(--color-main-dark, #333);
	border-bottom: 1px dashed #d2d3d3;
}

.c-svc-compare__rail-item--cost {
	align-items: center;
	flex: 0 0 42px;
}

.c-svc-compare__rail-item--value {
	align-items: center;
	flex: 1 1 auto;
}

.c-svc-compare__board--advisory {
	min-height: 323px;
}

.c-svc-compare__board--advisory .c-svc-compare__rail {
	height: 227px;
}

.c-svc-compare__board--advisory .c-svc-compare__rail-item--cost {
	flex-basis: 62px;
}

.c-svc-compare__board--advisory .c-svc-compare__col-body {
	min-height: 227px;
}

.c-svc-compare__board--premium {
	min-height: 380px;
}

.c-svc-compare__board--premium .c-svc-compare__rail {
	height: 284px;
}

.c-svc-compare__board--premium .c-svc-compare__rail-item--cost {
	flex-basis: 56px;
}

.c-svc-compare__board--premium .c-svc-compare__col-body {
	min-height: 284px;
}

.c-svc-compare__cols {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 298px 242px 242px;
	gap: 8px;
	width: 800px;
	margin-left: 116px;
	align-items: end;
}

.c-svc-compare__col {
	display: flex;
	flex-direction: column;
	min-width: 0;
	background: #fff;
}

.c-svc-compare__col-head {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	min-height: 54px;
	padding: 12px 27px;
	border-radius: 8px 8px 0 0;
	font-size: clamp(10px, calc(16 * 100vw / 410), 16px);
	font-weight: 700;
	line-height: 1.3;
	color: #fff;
	text-align: center;
	background: var(--color-gray, #838586);
}

.c-svc-compare__col.is-tokumori .c-svc-compare__col-head {
	min-height: 64px;
	padding: 16px 27px;
	background: var(--color-primary, #af322c);
}

.c-svc-compare__col-head img {
	display: block;
	width: 180px;
	max-width: 100%;
	height: auto;
}

.c-svc-compare__col-body {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	min-height: 247px;
	padding: 20px 24px;
	border: 1px solid var(--color-gray, #838586);
	border-top: 0;
	border-radius: 0 0 8px 8px;
	background: #fff;
}

.c-svc-compare__col.is-tokumori .c-svc-compare__col-body {
	border-color: var(--color-primary, #af322c);
}

.c-svc-compare__cost {
	margin: 0;
	width: 100%;
	font-size: clamp(10px, calc(16 * 100vw / 410), 16px);
	font-weight: 500;
	letter-spacing: 0.75px;
	line-height: 1.3;
	text-align: center;
	color: var(--color-gray, #838586);
}

.c-svc-compare__col.is-tokumori .c-svc-compare__cost {
	font-weight: 700;
	color: var(--color-main-dark, #333);
}

.c-svc-compare__rule {
	display: block;
	width: 100%;
	margin: 0;
	border: 0;
	border-top: 1px dashed var(--color-gray, #838586);
}

.c-svc-compare__col.is-tokumori .c-svc-compare__rule {
	border-top-color: var(--color-primary, #af322c);
}

.c-svc-compare__value {
	margin: 0;
	width: 100%;
	max-width: 184px;
	font-size: clamp(10px, calc(13 * 100vw / 410), 13px);
	font-weight: 500;
	letter-spacing: 0.75px;
	line-height: 1.3;
	text-align: center;
	color: var(--color-gray, #838586);
}

.c-svc-compare__col.is-tokumori .c-svc-compare__value {
	font-size: clamp(10px, calc(16 * 100vw / 410), 16px);
	font-weight: 700;
	color: var(--color-main-dark, #333);
}

.c-svc-compare__points {
	margin: 0;
	padding: 0;
	width: 100%;
	min-height: 80px;
	flex: 1 1 auto;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.75px;
	line-height: 1.3;
	text-align: left;
	color: var(--color-gray, #838586);
}

.c-svc-compare__col.is-tokumori .c-svc-compare__points {
	font-size: clamp(10px, calc(12 * 100vw / 410), 12px);
	font-weight: 700;
	color: #000;
}

.c-svc-compare__points li {
	margin: 0;
}

.c-svc-compare__col-body .c-svc-compare__rule:last-child {
	margin-top: auto;
}

.c-svc-table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
}

.c-svc-table th,
.c-svc-table td {
	padding: 16px 14px;
	border: 1px solid #e8e8e8;
	font-size: clamp(10px, calc(14 * 100vw / 410), 14px);
	line-height: 1.6;
	vertical-align: top;
	text-align: left;
}

.c-svc-table thead th {
	font-size: clamp(10px, calc(16 * 100vw / 410), 16px);
	font-weight: 700;
	color: #fff;
	text-align: center;
}

.c-svc-table .is-tokumori {
	background: var(--color-primary, #af322c);
}

.c-svc-table .is-other {
	background: var(--color-gray, #838586);
}

.c-svc-table .is-feature {
	font-weight: 700;
	background: #fafafa;
	white-space: nowrap;
}

.c-svc-notes {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: clamp(10px, calc(14 * 100vw / 410), 14px);
	font-weight: 500;
	line-height: 1.6;
	color: var(--color-gray, #838586);
}

/* -------------------------------------------------------------------------- */
/* Dual CTA
/* -------------------------------------------------------------------------- */

.c-svc-cta-pair {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px;
}

.c-svc-cta-pair .c-btn-wrap {
	width: 100%;
	max-width: none;
}

/* -------------------------------------------------------------------------- */
/* Flow steps
/* -------------------------------------------------------------------------- */

/* RPO: 導入の流れ */
.c-svc-section--rpo-flow {
	background: #fff;
}

.c-svc-section--rpo-flow .c-svc-section__inner {
	gap: 80px;
	align-items: center;
}

.c-svc-flow-panel {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: 1240px;
	padding: 70px 56px 100px;
	border-radius: 30px 30px 0 0;
	background: var(--color-sub-base-gray, #fafafa);
}

.c-svc-flow-panel__head {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	max-width: 1021px;
	margin-bottom: 56px;
}

.c-svc-flow-panel__copy {
	display: flex;
	flex-direction: column;
	gap: 24px;
	min-width: 0;
	max-width: 720px;
}

.c-svc-flow-panel__title {
	margin: 0;
	font-family: var(--tokumori-font-display);
	font-size: clamp(10px, calc(50 * 100vw / 410), 50px);
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 1.3;
	color: var(--color-main-dark, #333);
}

.c-svc-flow-panel__lead {
	margin: 0;
	font-size: clamp(10px, calc(16 * 100vw / 410), 16px);
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.8;
	color: var(--color-main-dark, #333);
}

.c-svc-flow-illust {
	position: absolute;
	top: -30px;
	right: 40px;
	z-index: 2;
	margin: 0;
	width: min(32vw, 370px);
	pointer-events: none;
}

.c-svc-flow-illust img {
	display: block;
	width: 100%;
	height: auto;
}

.c-svc-flow {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 56px;
	width: 100%;
	max-width: 1128px;
	margin: 0 auto;
}

.c-svc-flow::before {
	content: "";
	position: absolute;
	top: 29px;
	left: 12%;
	right: 12%;
	z-index: 0;
	border-top: 1px dashed var(--svc-rpo, #4962f0);
}

.c-svc-step {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	min-height: 256px;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
}

.c-svc-step__label {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	min-height: 58px;
	padding: 10px 12px;
	background: var(--svc-rpo-soft, #e8ebf9);
	font-family: var(--tokumori-font-display);
	font-size: clamp(10px, calc(24 * 100vw / 410), 24px);
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 1.8;
	text-align: center;
	color: var(--svc-rpo, #4962f0);
}

.c-svc-step__content {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 0;
	flex: 1;
	padding: 24px 16px;
	background: #fff;
}

.c-svc-step__body {
	margin: 0;
	font-size: clamp(10px, calc(20 * 100vw / 410), 20px);
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 1.6;
	text-align: center;
	color: var(--color-main-dark, #333);
}

.c-svc-step__note {
	margin: 24px 0 0;
	align-self: flex-start;
	font-size: clamp(10px, calc(14 * 100vw / 410), 14px);
	font-weight: 500;
	line-height: 1.6;
	text-align: left;
	color: var(--color-gray, #838586);
}

.c-svc-btn--flow-back {
	min-width: 270px;
	padding: 20px;
	justify-content: space-between;
}

.c-svc-btn--flow-back .c-svc-btn__chev {
	color: var(--svc-rpo, #4962f0);
	border-color: var(--svc-rpo, #4962f0);
}

/* -------------------------------------------------------------------------- */
/* HR-specific
/* -------------------------------------------------------------------------- */

.c-svc-results-stats {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
}

.c-svc-stats-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.c-svc-stat-card {
	box-sizing: border-box;
	padding: 40px 24px;
	border: 2px solid #d9d9d9;
	border-radius: 8px;
	background: #fff;
}

.c-svc-stat-card--split {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.c-svc-stat-card__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
}

.c-svc-stat-card__pill {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 8px;
	font-size: clamp(10px, calc(16 * 100vw / 410), 16px);
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.04em;
	color: var(--color-main-dark, #333);
	margin-bottom: 16px;
}

.c-svc-stat-card__pill--newgrad {
	background: rgba(255, 53, 26, 0.1);
	color: var(--color-main-dark, #333);
}

.c-svc-stat-card__pill--mid {
	background: rgba(91, 155, 255, 0.1);
	color: var(--color-main-dark, #333);
}

.c-svc-stat-card__text {
	margin: 0;
	font-size: clamp(10px, calc(32 * 100vw / 410), 32px);
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.04em;
	color: var(--svc-hr);
}

.c-svc-stat-card__text--sm {
	font-size: clamp(10px, calc(18 * 100vw / 410), 18px);
	font-weight: 500;
	line-height: 1.5;
	color: var(--color-main-dark, #333);
	margin-bottom: 4px;
}

.c-svc-stat-card__value {
	margin: 0;
	flex-shrink: 0;
	font-family: var(--tokumori-font-en);
	font-size: clamp(10px, calc(64 * 100vw / 410), 64px);
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.02em;
	color: var(--svc-hr);
	white-space: nowrap;
}

.c-svc-stat-card__sub {
	margin: 0;
	font-size: clamp(10px, calc(22 * 100vw / 410), 22px);
	font-weight: 500;
	letter-spacing: 0.04em;
	color: var(--color-main-dark, #333);
}

.c-svc-stat-card__suffix {
	margin-left: 4px;
	font-size: clamp(10px, calc(20 * 100vw / 410), 20px);
	font-family: var(--tokumori-font-display);
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--color-main-dark, #333);
	vertical-align: baseline;
}

.c-svc-annual {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 60px;
	box-sizing: border-box;
	width: 100%;
	padding: 30px 50px;
	border: 2px solid #d9d9d9;
	border-radius: 8px;
	background: #fff;
}

.c-svc-annual__label {
	flex-shrink: 0;
	font-size: clamp(10px, calc(24 * 100vw / 410), 24px);
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--color-main-dark, #333);
}

.c-svc-annual__metrics {
	display: flex;
	align-items: flex-start;
	gap: 60px;
	min-width: 0;
}

.c-svc-annual__item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	min-width: 0;
}

.c-svc-annual__item .c-svc-stat-card__pill {
	margin-bottom: 0;
}

.c-svc-annual__num {
	margin: 0;
	font-family: var(--tokumori-font-en);
	font-size: clamp(10px, calc(64 * 100vw / 410), 64px);
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.02em;
	color: var(--svc-hr);
	text-align: center;
}

.c-svc-annual__unit {
	font-family: var(--tokumori-font-display);
	font-size: 0.45em;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin-left: 0.08em;
}

.c-svc-annual__icon {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 131px;
	color: var(--svc-hr);
}

.c-svc-annual__icon svg {
	display: block;
	width: 100%;
	height: auto;
}

.c-svc-service-card {
	box-sizing: border-box;
	padding: 48px 40px;
	border-radius: 8px;
	background: #fff;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.c-svc-service-card__top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 346px;
	gap: 40px;
	align-items: start;
}

.c-svc-service-card__labels {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 20px;
	margin-bottom: 16px;
}

.c-svc-service-card__en {
	margin: 0;
	font-family: var(--tokumori-font-en);
	font-size: clamp(10px, calc(30 * 100vw / 410), 30px);
	font-weight: 300;
	letter-spacing: 0.1em;
}

.c-svc-service-card__title {
	margin: 0;
	font-size: clamp(10px, calc(29 * 100vw / 410), 29px);
	font-weight: 700;
}

.c-svc-service-card--s01 .c-svc-service-card__en,
.c-svc-service-card--s01 .c-svc-service-card__title {
	color: var(--svc-hr-hot);
}

.c-svc-service-card--s02 .c-svc-service-card__en,
.c-svc-service-card--s02 .c-svc-service-card__title {
	color: var(--svc-mid);
}

.c-svc-service-card__catch {
	margin: 0 0 12px;
	font-size: clamp(10px, calc(22 * 100vw / 410), 22px);
	font-weight: 400;
	line-height: 1.6;
	color: var(--color-main-dark, #333);
}

.c-svc-service-card__body {
	margin: 0 0 16px;
	font-size: clamp(10px, calc(16 * 100vw / 410), 16px);
	font-weight: 500;
	line-height: 1.8;
	color: var(--color-gray, #838586);
}

.c-svc-service-card__illust {
	margin: 0;
}

.c-svc-service-card__illust img {
	display: block;
	width: 100%;
	height: auto;
}

.c-svc-mini-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.c-svc-mini-stats--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.c-svc-mini-stat {
	padding: 20px 16px;
	border-radius: 8px;
	text-align: center;
}

.c-svc-service-card--s01 .c-svc-mini-stat {
	background: var(--svc-hr-soft);
}

.c-svc-service-card--s02 .c-svc-mini-stat {
	background: var(--svc-mid-soft);
}

.c-svc-mini-stat__label {
	margin: 0 0 8px;
	font-size: clamp(10px, calc(18 * 100vw / 410), 18px);
	font-weight: 700;
	color: #000;
}

.c-svc-mini-stat__value {
	margin: 0;
	font-family: var(--tokumori-font-en);
	font-size: clamp(10px, calc(36 * 100vw / 410), 36px);
	font-weight: 500;
	color: var(--svc-hr);
}

.c-svc-service-card--s02 .c-svc-mini-stat__value {
	color: var(--svc-mid-fill);
}

.c-svc-chips--hr-s01 li {
	background: var(--svc-hr-soft);
}

.c-svc-chips--hr-s02 li {
	background: var(--svc-mid-soft);
}

.c-svc-model-table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
}

.c-svc-model-table th,
.c-svc-model-table td {
	padding: 18px 16px;
	border: 1px solid #e8e8e8;
	font-size: clamp(10px, calc(14 * 100vw / 410), 14px);
	line-height: 1.6;
	vertical-align: top;
}

.c-svc-model-table thead th {
	color: #fff;
	font-weight: 700;
	text-align: center;
}

.c-svc-model-table .is-tokumori {
	background: var(--svc-hr);
}

.c-svc-model-table .is-other {
	background: var(--color-gray, #838586);
}

.c-svc-model-table .is-label {
	font-weight: 700;
	white-space: nowrap;
	background: #fafafa;
}

@media (max-width: 1100px) {
	.c-svc-hero {
		padding: 48px 16px 40px;
	}

	.c-svc-hero__inner {
		grid-template-columns: 1fr;
	}

	.c-svc-hero__illust {
		order: -1;
		max-width: 320px;
		margin: 0 auto;
	}

	.c-svc-hero__title {
		font-size: clamp(10px, calc(28 * 100vw / 410), 28px);
	}

	.c-svc-section {
		padding: 48px 16px;
	}

	.c-svc-section__title {
		font-size: clamp(10px, calc(28 * 100vw / 410), 28px);
	}

	.c-svc-section__lead {
		font-size: clamp(10px, calc(16 * 100vw / 410), 16px);
		width: 100%;
		text-align: left;
	}

	.c-svc-section__head {
		align-items: center;
		text-align: center;
	}

	.c-svc-section__title {
		text-align: center;
	}

	.c-svc-cases,
	.c-svc-cases--3 {
		grid-template-columns: 1fr;
	}

	.c-svc-feature {
		grid-template-columns: 1fr;
	}

	.c-svc-feature__art {
		max-width: 200px;
		margin: 0 auto;
	}

	.c-svc-metrics {
		grid-template-columns: 1fr;
	}

	.c-svc-metrics__row--2,
	.c-svc-metrics__row--3 {
		grid-template-columns: 1fr;
	}

	.c-svc-metric--wide {
		flex-direction: column;
		align-items: stretch;
		min-height: 0;
		padding: 16px 20px 24px;
		text-align: center;
	}

	.c-svc-metric--wide .c-svc-metric__main {
		align-items: center;
		width: 100%;
	}

	.c-svc-metric--wide .c-svc-metric__label,
	.c-svc-metric--wide .c-svc-metric__value {
		text-align: center;
		width: 100%;
	}

	.c-svc-metric__chart {
		display: none;
	}

	.c-svc-metric__label {
		font-size: clamp(10px, calc(18 * 100vw / 410), 18px);
	}

	.c-svc-metric__value {
		font-size: clamp(10px, calc(48 * 100vw / 410), 48px);
	}

	.c-svc-metric__note {
		font-size: clamp(10px, calc(16 * 100vw / 410), 16px);
		width: 100%;
		text-align: center;
	}

	.c-svc-br-pc {
		display: none;
	}

	.c-svc-show-pc {
		display: none;
	}

	.c-svc-show-sp {
		display: block;
	}

	.c-svc-metric__label .c-svc-show-pc {
		display: none;
	}

	.c-svc-metric__label .c-svc-show-sp {
		display: inline;
	}

	.c-svc-cases--rpo {
		display: flex;
		gap: 16px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding-bottom: 4px;
		-webkit-overflow-scrolling: touch;
	}

	.c-svc-cases--rpo .c-svc-case {
		flex: 0 0 min(300px, 85vw);
		scroll-snap-align: start;
	}

	.c-svc-plans,
	.c-svc-flow,
	.c-svc-cta-pair,
	.c-svc-stats-row {
		grid-template-columns: 1fr;
	}

	.c-svc-section--rpo-flow {
		padding: 48px 16px;
		background: var(--color-sub-base-gray, #fafafa);
	}

	.c-svc-section--rpo-flow .c-svc-section__inner {
		gap: 56px;
	}

	.c-svc-flow-panel {
		padding: 0;
		border-radius: 0;
		background: transparent;
	}

	.c-svc-flow-panel__head {
		flex-direction: column;
		align-items: center;
		max-width: none;
		margin-bottom: 16px;
		text-align: center;
	}

	.c-svc-flow-panel__copy {
		align-items: center;
		gap: 20px;
		max-width: none;
		width: 100%;
	}

	.c-svc-flow-panel__title {
		font-size: clamp(10px, calc(24 * 100vw / 410), 24px);
		line-height: 1.8;
	}

	.c-svc-flow-panel__lead {
		font-size: clamp(10px, calc(18 * 100vw / 410), 18px);
		font-weight: 400;
		letter-spacing: 1.2px;
		text-align: left;
		width: 100%;
	}

	.c-svc-flow-illust {
		display: none;
	}

	.c-svc-flow {
		gap: 24px;
		max-width: none;
	}

	.c-svc-flow::before {
		display: none;
	}

	.c-svc-step {
		min-height: 0;
	}

	.c-svc-step__label {
		min-height: 52px;
		font-size: clamp(10px, calc(18 * 100vw / 410), 18px);
	}

	.c-svc-step__content {
		padding: 16px;
	}

	.c-svc-step__body {
		font-size: clamp(10px, calc(18 * 100vw / 410), 18px);
		line-height: 1.8;
	}

	.c-svc-step__note {
		margin-top: 16px;
	}

	.c-svc-section--rpo-plans {
		padding: 48px 16px;
	}

	.c-svc-section--rpo-plans .c-svc-section__inner {
		gap: 56px;
	}

	.c-svc-section--rpo-plans .c-svc-section__head {
		align-items: center;
		text-align: center;
	}

	.c-svc-section--rpo-plans .c-svc-section__title {
		font-size: clamp(10px, calc(24 * 100vw / 410), 24px);
	}

	.c-svc-section--rpo-plans .c-svc-section__lead {
		font-size: clamp(10px, calc(18 * 100vw / 410), 18px);
		text-align: left;
	}

	.c-svc-plans {
		gap: 24px;
	}

	.c-svc-plan__hook {
		font-size: clamp(10px, calc(20 * 100vw / 410), 20px);
	}

	.c-svc-plan__body {
		padding: 24px 32px;
	}

	.c-svc-compare {
		gap: 56px;
	}

	.c-svc-compare__title {
		display: none;
	}

	.c-svc-rpo-plans-compare {
		gap: 56px;
	}

	.c-svc-compare {
		gap: 56px;
	}

	.c-svc-compare__block {
		padding: 24px 16px;
		gap: 32px;
		align-items: stretch;
	}

	.c-svc-compare__head {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
		max-width: none;
	}

	.c-svc-compare__head-copy {
		gap: 12px;
		width: 100%;
	}

	.c-svc-compare__art {
		align-self: center;
		width: 120px;
	}

	.c-svc-compare__plan {
		font-size: clamp(10px, calc(20 * 100vw / 410), 20px);
	}

	.c-svc-compare__intro {
		font-size: clamp(10px, calc(16 * 100vw / 410), 16px);
	}

	.c-svc-compare__scroll {
		max-width: none;
	}

	.c-svc-section--rpo-scope {
		padding: 48px 16px;
	}

	.c-svc-section--rpo-scope .c-svc-section__inner {
		gap: 56px;
	}

	.c-svc-section--rpo-scope .c-svc-section__head {
		align-items: center;
		text-align: center;
		gap: 20px;
	}

	.c-svc-section--rpo-scope .c-svc-section__title {
		font-size: clamp(10px, calc(24 * 100vw / 410), 24px);
	}

	.c-svc-section--rpo-scope .c-svc-section__lead {
		font-size: clamp(10px, calc(18 * 100vw / 410), 18px);
		text-align: left;
	}

	.c-svc-scope {
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
	}

	.c-svc-scope__col,
	.c-svc-scope__col--mid {
		flex: none;
		width: 100%;
		padding: 24px 16px;
	}

	.c-svc-scope__col-title {
		font-size: clamp(10px, calc(18 * 100vw / 410), 18px);
		line-height: 1.8;
	}

	.c-svc-scope__arrow {
		width: 40px;
		height: 20px;
		margin: 0 auto;
		clip-path: polygon(0 0, 100% 0, 50% 100%);
	}

	.c-svc-annual {
		flex-direction: column;
		gap: 24px;
		padding: 16px 20px 28px;
	}

	.c-svc-annual__label {
		font-size: clamp(10px, calc(18 * 100vw / 410), 18px);
	}

	.c-svc-annual__metrics {
		flex-direction: column;
		align-items: center;
		gap: 24px;
		width: 100%;
	}

	.c-svc-annual__item {
		align-items: center;
		width: 100%;
	}

	.c-svc-annual__num {
		font-size: clamp(10px, calc(48 * 100vw / 410), 48px);
		width: 100%;
		text-align: center;
	}

	.c-svc-annual__icon {
		display: none;
	}

	.c-svc-stat-card {
		padding: 16px 24px 28px;
	}

	.c-svc-stat-card--split {
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
	}

	.c-svc-stat-card__pill {
		font-size: clamp(10px, calc(12 * 100vw / 410), 12px);
		margin-bottom: 12px;
	}

	.c-svc-stat-card__text {
		font-size: clamp(10px, calc(18 * 100vw / 410), 18px);
	}

	.c-svc-stat-card__text--sm {
		font-size: clamp(10px, calc(14 * 100vw / 410), 14px);
	}

	.c-svc-stat-card__sub {
		font-size: clamp(10px, calc(18 * 100vw / 410), 18px);
	}

	.c-svc-stat-card__value {
		font-size: clamp(10px, calc(48 * 100vw / 410), 48px);
		text-align: center;
		width: 100%;
	}

	.c-svc-service-card {
		padding: 32px 20px;
	}

	.c-svc-service-card__top {
		grid-template-columns: 1fr;
	}

	.c-svc-mini-stats,
	.c-svc-mini-stats--2 {
		grid-template-columns: 1fr;
	}

	.c-svc-dl {
		grid-template-columns: 1fr;
		padding: 28px 20px;
	}

	.c-svc-dl__title {
		font-size: clamp(10px, calc(24 * 100vw / 410), 24px);
	}

	.c-svc-table,
	.c-svc-model-table {
		display: block;
		overflow-x: auto;
	}

	.c-svc-traits {
		grid-template-columns: 1fr;
	}
}

/* -------------------------------------------------------------------------- */
/* Newgrad / Midcareer theme variants
/* -------------------------------------------------------------------------- */

.c-svc-hero--newgrad {
	background: linear-gradient(105deg, #ff351a 0%, #ff9775 100%);
}

.c-svc-hero--mid {
	background: linear-gradient(105deg, #73aaff 0%, #b4d1ff 100%);
}

.c-svc-hero--newgrad .c-svc-hero__chip-label {
	color: #ff351a;
}

.c-svc-hero--mid .c-svc-hero__chip-label {
	color: #7cafff;
}

.c-svc-section__title--newgrad {
	color: #ff351a;
}

.c-svc-section__title--mid {
	color: #7cafff;
}

.c-svc-feature__title--newgrad em {
	color: #ff351a;
}

.c-svc-feature__title--mid em {
	color: #7cafff;
}

.c-svc-dl--newgrad {
	background: #ff351a;
}

.c-svc-dl--mid {
	background: #7cafff;
}

.c-svc-dl--newgrad .c-svc-btn--accent,
.c-svc-dl--mid .c-svc-btn--accent {
	color: var(--color-primary, #af322c);
}

.c-svc-metric__value--hot {
	background: linear-gradient(105deg, #ff351a 0%, #ff9775 100%);
	-webkit-background-clip: text;
	background-clip: text;
}

.c-svc-metric__value--blue {
	background: linear-gradient(105deg, #73aaff 0%, #b4d1ff 100%);
	-webkit-background-clip: text;
	background-clip: text;
}

.c-svc-metric__value--plain {
	background: none;
	color: var(--color-main-dark, #333);
	font-family: var(--tokumori-font-display);
	font-size: clamp(28px, 4vw, 40px);
	font-weight: 700;
	line-height: 1.3;
}

.c-svc-features-panel {
	display: flex;
	flex-direction: column;
	gap: 24px;
	box-sizing: border-box;
	padding: 56px 40px;
	border-radius: 8px;
	background: var(--color-sub-base-gray, #fafafa);
}

.c-svc-feature--bordered {
	border: 1px solid #cfcece;
}

/* RPO: なぜ選ばれるか + DL */
.c-svc-section--rpo-why .c-svc-section__inner {
	gap: 56px;
	align-items: center;
}

.c-svc-rpo-why-block {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 80px;
	width: 100%;
}

.c-svc-features-panel--rpo {
	width: 100%;
	padding: 56px 40px;
	background: #fff;
}

.c-svc-features--rpo {
	gap: 16px;
}

.c-svc-feature--rpo {
	grid-template-columns: minmax(0, 1fr) 230px;
	gap: 50px;
	align-items: center;
	padding: 40px 32px;
	background: #fff;
}

.c-svc-feature--rpo .c-svc-feature__content {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	min-width: 0;
}

.c-svc-feature--rpo .c-svc-feature__main {
	display: flex;
	flex-direction: column;
	gap: 24px;
	min-width: 0;
	flex: 1;
}

.c-svc-feature__check {
	flex-shrink: 0;
	width: 45px;
	height: 45px;
	margin-top: 4px;
	border-radius: 50%;
	background: var(--svc-rpo, #4962f0)
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='18' viewBox='0 0 24 18' fill='none'%3E%3Cpath d='M2 9.2 8.2 15.4 22 1.6' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
		center / 24px 18px no-repeat;
}

.c-svc-feature--rpo .c-svc-feature__title {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	font-size: clamp(10px, calc(28 * 100vw / 410), 28px);
	font-weight: 500;
	letter-spacing: 1.2px;
	line-height: 1.5;
	color: var(--color-main-dark, #333);
}

.c-svc-feature--rpo .c-svc-feature__title-main {
	display: block;
	color: var(--color-main-dark, #333);
}

.c-svc-feature--rpo .c-svc-feature__title-em {
	display: block;
	font-style: normal;
	color: var(--svc-rpo, #4962f0);
}

.c-svc-feature__rule {
	display: block;
	width: 100%;
	margin: 0;
	border: 0;
	border-top: 1px dashed #b4b4b4;
}

.c-svc-feature--rpo .c-svc-feature__body {
	margin: 0;
	font-size: clamp(10px, calc(14 * 100vw / 410), 14px);
	font-weight: 500;
	letter-spacing: 1.2px;
	line-height: 1.8;
	color: var(--color-gray, #838586);
}

.c-svc-feature--rpo .c-svc-feature__art {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 230px;
	height: 160px;
	margin: 0;
	padding: 8px;
	background: #f6f6f6;
	overflow: hidden;
}

.c-svc-feature--rpo .c-svc-feature__art img {
	width: auto;
	max-width: 100%;
	max-height: 146px;
	height: auto;
	object-fit: contain;
}

.c-svc-traits {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px 56px;
}

.c-svc-trait {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
	box-sizing: border-box;
	min-height: 280px;
	padding: 32px 24px;
	border: 1px solid #d9d9d9;
	border-radius: 8px;
	background: #fff;
	text-align: center;
}

.c-svc-trait__label {
	margin: 0;
	font-size: clamp(10px, calc(20 * 100vw / 410), 20px);
	font-weight: 700;
	color: var(--color-main-dark, #333);
}

.c-svc-trait__value {
	margin: 0;
	font-family: var(--tokumori-font-en);
	font-size: clamp(36px, 5vw, 56px);
	font-weight: 500;
	line-height: 1.1;
	background: var(--tokumori-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.c-svc-trait__value--hot {
	background: linear-gradient(105deg, #ff351a 0%, #ff9775 100%);
	-webkit-background-clip: text;
	background-clip: text;
}

.c-svc-trait__value--blue {
	background: linear-gradient(105deg, #73aaff 0%, #b4d1ff 100%);
	-webkit-background-clip: text;
	background-clip: text;
}

.c-svc-trait__art {
	margin: 0;
	max-width: 280px;
	width: 100%;
}

.c-svc-trait__art img {
	display: block;
	width: 100%;
	height: auto;
}

.c-svc-trait__rows {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.c-svc-trait__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 14px 16px;
	border-radius: 8px;
	background: #fafafa;
	font-size: clamp(10px, calc(16 * 100vw / 410), 16px);
	font-weight: 700;
	color: var(--color-main-dark, #333);
}

.c-svc-trait__row strong {
	font-family: var(--tokumori-font-en);
	font-size: clamp(10px, calc(28 * 100vw / 410), 28px);
	font-weight: 500;
	background: var(--tokumori-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.c-svc-stats-pair {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

@media (max-width: 1100px) {
	.c-svc-features-panel {
		padding: 24px 16px;
	}

	.c-svc-stats-pair {
		grid-template-columns: 1fr;
	}

	.c-svc-section--rpo-why {
		padding: 48px 16px;
	}

	.c-svc-section--rpo-why .c-svc-section__inner {
		gap: 16px;
		align-items: stretch;
	}

	.c-svc-section--rpo-why .c-svc-section__head {
		align-items: center;
		text-align: center;
	}

	.c-svc-section--rpo-why .c-svc-section__title {
		font-size: clamp(10px, calc(24 * 100vw / 410), 24px);
		line-height: 1.8;
	}

	.c-svc-rpo-why-block {
		gap: 56px;
		padding: 0;
		border-radius: 8px;
		background: #fff;
	}

	.c-svc-features-panel--rpo {
		padding: 0 16px;
		background: transparent;
		border-radius: 0;
	}

	.c-svc-features--rpo {
		gap: 16px;
	}

	.c-svc-feature--rpo {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 24px 16px;
	}

	.c-svc-feature--rpo .c-svc-feature__content {
		flex-direction: column;
		gap: 16px;
	}

	.c-svc-feature--rpo .c-svc-feature__main {
		gap: 16px;
	}

	.c-svc-feature--rpo .c-svc-feature__check {
		width: 30px;
		height: 30px;
		margin-top: 4px;
		background-size: 16px 12px;
	}

	.c-svc-feature--rpo .c-svc-feature__title {
		display: block;
		gap: 0;
		font-size: clamp(10px, calc(18 * 100vw / 410), 18px);
		font-weight: 700;
		letter-spacing: 1.2px;
		line-height: 1.6;
	}

	.c-svc-feature--rpo .c-svc-feature__title-main,
	.c-svc-feature--rpo .c-svc-feature__title-em {
		display: inline;
	}

	.c-svc-feature--rpo .c-svc-feature__art {
		width: 100%;
		max-width: none;
		height: 160px;
		margin: 0;
		padding: 8px;
	}

	.c-svc-dl--rpo {
		max-width: none;
		margin: 0;
		padding: 24px 24px 0;
		gap: 0;
		grid-template-columns: 1fr;
		box-shadow: none;
		border-width: 2px;
	}

	.c-svc-dl--rpo .c-svc-dl__copy {
		gap: 8px;
		align-items: flex-start;
	}

	.c-svc-dl--rpo .c-svc-dl__title {
		font-size: clamp(10px, calc(20 * 100vw / 410), 20px);
	}

	.c-svc-dl--rpo .c-svc-dl__text {
		font-weight: 400;
		letter-spacing: 0;
	}

	.c-svc-dl--rpo .c-svc-dl__copy .c-svc-btn {
		margin-top: 8px;
		min-width: 0;
		width: 100%;
		max-width: 270px;
		padding: 16px 20px;
		justify-content: center;
	}

	.c-svc-dl--rpo .c-svc-dl__art {
		justify-self: center;
		align-self: end;
		margin-top: 8px;
	}

	.c-svc-dl--rpo .c-svc-dl__art img {
		max-width: 211px;
	}
}

/* -------------------------------------------------------------------------- */
/* Shukatsu (とくもり就活) extensions
/* -------------------------------------------------------------------------- */

.c-svc-logos__title--hot {
	color: #ff351a;
}

.c-svc-btn--hot {
	border-color: transparent;
	background: linear-gradient(105deg, #ff351a 0%, #ff9775 100%);
	color: #fff;
}

.c-svc-btn--hot:hover {
	color: #fff;
}

.c-svc-btn__chev {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(-45deg);
	margin-left: 4px;
}

.c-svc-btn--back {
	padding-left: 20px;
	position: relative;
	transition: background 0.2s ease, color 0.2s ease;
}

.c-svc-btn--back::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-left: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	margin-right: 8px;
}

.c-svc-btn--back:hover {
	background: var(--color-main-dark, #333);
	border-color: var(--color-main-dark, #333);
	color: #fff;
}

.c-svc-soft-cta {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(200px, 340px);
	gap: 24px;
	align-items: center;
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	padding: 40px 48px;
	border: 2px solid #ff351a;
	border-radius: 8px;
	background: #ffebe8;
}

.c-svc-soft-cta__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}

.c-svc-soft-cta__title {
	margin: 0;
	font-family: var(--tokumori-font-display);
	font-size: clamp(10px, calc(24 * 100vw / 410), 24px);
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 1.4;
	color: var(--color-main-dark, #333);
}

.c-svc-soft-cta__text {
	margin: 0;
	font-size: clamp(10px, calc(14 * 100vw / 410), 14px);
	font-weight: 700;
	letter-spacing: 0.6px;
	line-height: 1.7;
	color: var(--color-main-dark, #333);
}

.c-svc-soft-cta__art {
	margin: 0;
	justify-self: end;
}

.c-svc-soft-cta__art img {
	display: block;
	width: 100%;
	max-width: 280px;
	height: auto;
}

.c-svc-section__head--left {
	align-items: flex-start;
	text-align: left;
}

.c-svc-br-pc {
	display: inline;
}

.c-svc-br-sp {
	display: none;
}

.c-svc-companies {
	position: relative;
}

.c-svc-companies__illust {
	position: absolute;
	right: 24px;
	top: -120px;
	margin: 0;
	width: 271px;
	z-index: 1;
	pointer-events: none;
}

.c-svc-companies__illust img {
	display: block;
	width: 100%;
	height: auto;
}

.c-svc-companies__panel {
	box-sizing: border-box;
	padding: 56px 48px 40px;
	border-radius: 8px;
	background: #fff;
}

.c-svc-companies__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px 40px;
}

.c-svc-companies__col {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: clamp(10px, calc(16 * 100vw / 410), 16px);
	font-weight: 500;
	letter-spacing: 1.2px;
	line-height: 1.8;
	color: var(--color-main-dark, #333);
}

.c-svc-companies__note {
	margin: 24px 0 0;
	text-align: right;
	font-size: clamp(10px, calc(12 * 100vw / 410), 12px);
	font-weight: 500;
	color: var(--color-gray, #838586);
}

.c-svc-advisors {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 56px 48px;
}

.c-svc-advisor {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.c-svc-advisor__photo {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 16 / 10;
	width: 100%;
	border-radius: 8px;
	background: #d9d9d9;
}

.c-svc-advisor__photo-label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 20px;
	border-radius: 8px;
	border: 1px solid #333;
	background: #fff;
	font-size: clamp(10px, calc(14 * 100vw / 410), 14px);
	font-weight: 700;
	letter-spacing: 1.2px;
	color: #333;
}

.c-svc-advisor__body {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.c-svc-advisor__name {
	margin: 0;
	font-size: clamp(10px, calc(24 * 100vw / 410), 24px);
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 1.4;
	color: var(--color-main-dark, #333);
}

.c-svc-advisor__en {
	display: inline-block;
	margin-left: 12px;
	font-size: clamp(10px, calc(16 * 100vw / 410), 16px);
	font-weight: 400;
	color: var(--color-gray, #838586);
}

.c-svc-advisor__bio {
	margin: 0;
	font-size: clamp(10px, calc(14 * 100vw / 410), 14px);
	font-weight: 500;
	letter-spacing: 1.2px;
	line-height: 1.8;
	color: var(--color-main-dark, #333);
}

.c-svc-advisor__tags {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.c-svc-advisor__tag-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.c-svc-advisor__tag {
	display: inline-flex;
	align-items: center;
	padding: 4px 12px;
	border-radius: 8px;
	font-size: clamp(10px, calc(14 * 100vw / 410), 14px);
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 1.8;
}

.c-svc-advisor__tag--fill {
	background: #ffebe8;
	color: #ff351a;
}

.c-svc-advisor__tag--outline {
	border: 1px solid #ff351a;
	background: #fff;
	color: #ff351a;
}

/* ToC (shukatsu / tenshoku) advisor cards — shared; page CSS only sets section bg. */
.c-svc-section--toc-advisors {
	padding: 104px 100px;
}

.c-svc-section--toc-advisors > .c-svc-section__inner {
	max-width: 1240px;
	gap: 56px;
	align-items: center;
}

.c-svc-section--toc-advisors .c-svc-section__title {
	margin: 0;
	font-size: clamp(10px, calc(36 * 100vw / 410), 36px);
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 1.6;
	color: var(--color-main-dark, #333);
	text-align: center;
}

.c-svc-advisors--toc {
	width: 100%;
	gap: 56px;
}

.c-svc-advisors--toc .c-svc-advisor {
	box-sizing: border-box;
	gap: 12px;
	padding: 24px;
	background: #fff;
	border-radius: 8px;
}

.c-svc-advisors--toc .c-svc-advisor__photo {
	position: relative;
	display: block;
	aspect-ratio: 544 / 544;
	border-radius: 8px;
	overflow: hidden;
	background: #d9d9d9;
}

.c-svc-advisors--toc .c-svc-advisor__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.c-svc-advisors--toc .c-svc-advisor__photo-label {
	position: absolute;
	top: 16px;
	left: 16px;
	padding: 10px 20px;
	border: 1px solid var(--color-main-dark, #333);
	border-radius: 8px;
	background: #fff;
	font-size: clamp(10px, calc(12 * 100vw / 410), 12px);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.6;
	color: #0900ff;
}

.c-svc-advisors--toc .c-svc-advisor__body {
	gap: 20px;
}

.c-svc-advisors--toc .c-svc-advisor__name {
	font-size: clamp(10px, calc(28 * 100vw / 410), 28px);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.6;
}

.c-svc-advisors--toc .c-svc-advisor__en {
	font-family: var(--tokumori-font-en, var(--tokumori-font-display));
	font-size: clamp(10px, calc(18 * 100vw / 410), 18px);
	font-weight: 500;
	letter-spacing: 0;
	color: var(--color-gray, #838586);
}

.c-svc-advisors--toc .c-svc-advisor__bio {
	font-size: clamp(10px, calc(14 * 100vw / 410), 14px);
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.8;
	color: var(--color-main-dark, #333);
}

.c-svc-diff {
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	gap: 24px;
	align-items: stretch;
}

.c-svc-diff__labels {
	display: grid;
	grid-template-rows: repeat(4, 1fr);
	padding-top: 68px;
	padding-bottom: 16px;
	gap: 0;
}

.c-svc-diff__labels span {
	display: flex;
	align-items: center;
	font-size: clamp(10px, calc(14 * 100vw / 410), 14px);
	font-weight: 700;
	letter-spacing: 1.2px;
	color: var(--color-main-dark, #333);
}

.c-svc-diff__cols {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: 16px;
	min-width: 0;
}

.c-svc-diff__col {
	display: flex;
	flex-direction: column;
	min-width: 0;
	border-radius: 8px;
	overflow: hidden;
}

.c-svc-diff__col--tokumori {
	border: 2px solid #ff351a;
}

.c-svc-diff__col--other {
	border: 2px solid #838586;
}

.c-svc-diff__head {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 68px;
	padding: 12px 16px;
	color: #fff;
	font-size: clamp(10px, calc(16 * 100vw / 410), 16px);
	font-weight: 700;
	letter-spacing: 1.2px;
	text-align: center;
}

.c-svc-diff__col--tokumori .c-svc-diff__head {
	background: #ff351a;
}

.c-svc-diff__col--other .c-svc-diff__head {
	background: #838586;
	font-weight: 400;
}

.c-svc-diff__head img {
	display: block;
	width: auto;
	height: 28px;
}

.c-svc-diff__list {
	flex: 1;
	display: grid;
	grid-template-rows: repeat(4, 1fr);
	margin: 0;
	padding: 8px 0;
	list-style: none;
	background: #fff;
}

.c-svc-diff__list li {
	display: flex;
	align-items: center;
	padding: 16px 24px;
	font-size: clamp(10px, calc(16 * 100vw / 410), 16px);
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 1.5;
	color: var(--color-main-dark, #333);
	border-bottom: 1px dashed #f7c9cc;
}

.c-svc-diff__col--other .c-svc-diff__list li {
	border-bottom-color: #d9d9d9;
	font-weight: 400;
}

.c-svc-diff__list li:last-child {
	border-bottom: 0;
}

@media (max-width: 1100px) {
	.c-svc-soft-cta {
		grid-template-columns: 1fr;
		padding: 28px 20px;
		max-width: none;
	}

	.c-svc-soft-cta__art {
		justify-self: center;
		order: -1;
	}

	.c-svc-soft-cta__art img {
		max-width: 220px;
	}

	.c-svc-br-pc {
		display: none;
	}

	.c-svc-br-sp {
		display: inline;
	}

	.c-svc-logos__title {
		font-size: clamp(10px, calc(24 * 100vw / 410), 24px);
		line-height: 1.4;
	}

	.c-svc-hero__chip-label {
		font-size: clamp(10px, calc(18 * 100vw / 410), 18px);
	}

	.c-svc-hero__chip-mark {
		height: 23px;
	}

	.c-svc-soft-cta .c-svc-btn--hot,
	.c-svc-soft-cta .c-svc-btn--mid {
		display: none;
	}

	.c-svc-companies__illust {
		position: static;
		width: 180px;
		margin: 0 auto 16px;
	}

	.c-svc-companies__panel {
		padding: 28px 20px;
	}

	.c-svc-companies__grid {
		grid-template-columns: 1fr 1fr;
		gap: 20px 24px;
	}

	.c-svc-companies__col {
		font-size: clamp(10px, calc(14 * 100vw / 410), 14px);
	}

	.c-svc-companies__note {
		text-align: left;
	}

	.c-svc-advisors {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.c-svc-section--toc-advisors {
		padding: 56px 16px;
	}

	.c-svc-section--toc-advisors > .c-svc-section__inner {
		gap: 32px;
	}

	.c-svc-section--toc-advisors .c-svc-section__title {
		font-size: clamp(10px, calc(24 * 100vw / 410), 24px);
		letter-spacing: 1.2px;
		line-height: 1.6;
		text-align: center;
	}

	.c-svc-advisors--toc {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.c-svc-advisors--toc .c-svc-advisor {
		padding: 16px;
		gap: 12px;
	}

	.c-svc-advisors--toc .c-svc-advisor__photo-label {
		top: 12px;
		left: 12px;
		padding: 8px 12px;
		font-size: clamp(10px, calc(11 * 100vw / 410), 11px);
	}

	.c-svc-advisors--toc .c-svc-advisor__name {
		font-size: clamp(10px, calc(24 * 100vw / 410), 24px);
	}

	.c-svc-advisors--toc .c-svc-advisor__en {
		display: block;
		margin: 0;
	}

	.c-svc-advisor__name {
		font-size: clamp(10px, calc(20 * 100vw / 410), 20px);
	}

	.c-svc-advisor__en {
		display: block;
		margin: 4px 0 0;
	}

	.c-svc-diff {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.c-svc-diff__labels {
		display: none;
	}

	.c-svc-diff__cols {
		grid-template-columns: 1fr;
	}

	.c-svc-diff__list li {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
		padding: 14px 16px;
		font-size: clamp(10px, calc(14 * 100vw / 410), 14px);
	}

	.c-svc-diff__list li[data-label]::before {
		content: attr(data-label);
		font-size: clamp(10px, calc(12 * 100vw / 410), 12px);
		font-weight: 700;
		color: var(--color-gray, #838586);
	}
}

/* -------------------------------------------------------------------------- */
/* Tenshoku (とくもり転職) mid theme
/* -------------------------------------------------------------------------- */

.c-svc-logos__title--mid {
	color: #ff351a;
}

.c-svc-btn--mid {
	border-color: transparent;
	background: linear-gradient(105deg, #73aaff 0%, #b4d1ff 100%);
	color: #fff;
}

.c-svc-btn--mid:hover {
	color: #fff;
}

.c-svc-soft-cta--mid {
	border-color: #7cafff;
	background: #f1f2f9;
}

.c-svc-advisor__tag--fill-mid {
	background: #f1f2f9;
	color: #5f97ef;
}

.c-svc-advisor__tag--outline-mid {
	border: 1px solid #7cafff;
	background: #fff;
	color: #5f97ef;
}

.c-svc-diff--mid .c-svc-diff__col--tokumori {
	border-color: #7cafff;
}

.c-svc-diff--mid .c-svc-diff__col--tokumori .c-svc-diff__head {
	background: #7cafff;
}

.c-svc-diff--mid .c-svc-diff__list li {
	border-bottom-color: #c9daf5;
}

.c-svc-diff--rows5 .c-svc-diff__labels,
.c-svc-diff--rows5 .c-svc-diff__list {
	grid-template-rows: repeat(5, 1fr);
}

@media (max-width: 767px) {
	.c-svc-advisors--toc .c-svc-advisor__photo {
		aspect-ratio: 544 / 544;
	}
}
