.sainou-top-strengths-section {
	box-sizing: border-box;
	padding-block-start: 92px;
	padding-block-end: 98px;
	background: #f2f2f2;
	color: var(--wp--preset--color--text-normal);
}

.sainou-top-strengths-section .sainou-section-heading {
	flex-direction: column;
	align-items: center;
	gap: 18px;
	width: min(740px, calc(100% - 50px));
	margin-bottom: 96px;
	color: var(--wp--preset--color--text-normal);
}

.sainou-top-strengths-section .sainou-section-heading__title {
	font-size: 30px;
	line-height: 45px;
}

.sainou-top-strengths-section .sainou-section-heading__english {
	font-size: 16px;
	line-height: 30px;
}

.sainou-strengths-list-block {
	box-sizing: border-box;
	width: min(740px, 100%);
	margin-inline: auto;
	color: var(--wp--preset--color--text-normal);
}

.sainou-strengths-list__track {
	display: block;
}

.sainou-strengths-list__featured-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 100px;
}

.sainou-strengths-list__standard-grid {
	display: grid;
	grid-template-columns: repeat(2, 310px);
	justify-content: center;
	gap: 80px 80px;
	margin-top: 118px;
}

.sainou-strengths-list__featured-grid:empty,
.sainou-strengths-list__standard-grid:empty {
	display: none;
}

.sainou-strengths-list__standard-grid:first-child {
	margin-top: 0;
}

.sainou-strength-card {
	min-width: 0;
	transition: opacity 0.36s ease;
}

.sainou-strength-card--featured {
	justify-self: center;
	width: 740px;
	max-width: 100%;
}

.sainou-strength-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.sainou-strength-card--featured .sainou-strength-card__link {
	display: grid;
	grid-template-columns: 350px 50px minmax(0, 340px);
	align-items: center;
	width: 740px;
	max-width: 100%;
}

.sainou-strength-card--featured.sainou-strength-card--reverse
	.sainou-strength-card__link {
	grid-template-columns: minmax(0, 340px) 50px 350px;
}

.sainou-strength-card--featured .sainou-strength-card__media {
	grid-area: 1 / 1 / 2 / 2;
}

.sainou-strength-card--featured .sainou-strength-card__content {
	grid-area: 1 / 3 / 2 / 4;
}

.sainou-strength-card--featured.sainou-strength-card--reverse
	.sainou-strength-card__media {
	grid-area: 1 / 3 / 2 / 4;
}

.sainou-strength-card--featured.sainou-strength-card--reverse
	.sainou-strength-card__content {
	display: flex;
	justify-content: flex-end;
	grid-area: 1 / 1 / 2 / 2;
}

.sainou-strength-card__media {
	overflow: hidden;
}

.sainou-strength-card--featured .sainou-strength-card__media,
.sainou-strength-card--featured .sainou-strength-card__image {
	border-radius: 20px 60px 8px 8px;
}

.sainou-strength-card--featured .sainou-strength-card__media {
	width: 350px;
	height: 224px;
}

.sainou-strength-card--standard {
	width: 310px;
}

.sainou-strength-card--standard .sainou-strength-card__media,
.sainou-strength-card--standard .sainou-strength-card__image {
	border-radius: 18px 53px 7px 7px;
}

.sainou-strength-card--standard .sainou-strength-card__media {
	width: 310px;
	height: 195px;
}

.sainou-strength-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.sainou-strength-card__heading {
	margin: 0;
	color: inherit;
	font-weight: inherit;
}

.sainou-strength-card__catchphrase,
.sainou-strength-card__title {
	display: block;
}

.sainou-strength-card__catchphrase {
	font-size: 20px;
	line-height: 28px;
}

.sainou-strength-card__title-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 18px;
}

.sainou-strength-card__title {
	min-width: 0;
	padding-inline-start: 1em;
	font-size: 28px;
	line-height: 42px;
	letter-spacing: 0.05em;
	text-indent: -1em;
}

.sainou-strength-card__title::before {
	content: "\2212";
}

.sainou-strength-card__title-line {
	display: inline;
}

@media (min-width: 760px) {
	.sainou-strength-card__title-line:not(:first-child) {
		display: block;
		margin-bottom: -16px;
		text-indent: 0;
	}
}


.sainou-strength-card__arrow {
	display: inline-block;
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	background:
		var(--sainou-common-circle-arrow18, var(--sainou-common-circle-arrow18, url("../../assets/images/circle-arrow18-min.svg")))
		center / contain no-repeat;
	transition:
		transform 0.25s ease,
		background-image 0.25s ease;
}

.sainou-strength-card--standard .sainou-strength-card__content {
	margin-top: 12px;
}

.sainou-strength-card--standard .sainou-strength-card__catchphrase {
	font-size: 16px;
	line-height: 30px;
	letter-spacing: 0.05em;
}

.sainou-strength-card--standard .sainou-strength-card__title-row {
	margin-top: 0;
}

.sainou-strength-card--standard .sainou-strength-card__title {
	font-size: 20px;
	line-height: 32px;
	letter-spacing: 0.05em;
}

.sainou-strengths-slider-controls {
	display: none;
}

@media (min-width: 760px) {
	.sainou-strength-card__title-row {
		--sainou-strength-title-line-height: 42px;
		align-items: flex-end;
		justify-content: flex-start;
		gap: 8px;
	}

	.sainou-strength-card--standard .sainou-strength-card__title-row {
		--sainou-strength-title-line-height: 32px;
	}

	.sainou-strength-card__arrow {
		margin-block-end:
			calc(
				(var(--sainou-strength-title-line-height) - 18px) / 2
				- 1.5px
			);
	}

	/*
	 * 2行タイトルの時だけ、2行目の負マージン分に合わせて
	 * 矢印もさらに16px上へ補正する。
	 */
	.sainou-strength-card__title-row:has(
			.sainou-strength-card__title-line:not(:first-child)
		)
		.sainou-strength-card__arrow {
		margin-block-end:
			calc(
				(var(--sainou-strength-title-line-height) - 18px) / 2
				- 1.5px
				- 16px
			);
	}
}

@media (any-hover: hover) and (any-pointer: fine) {
	.sainou-strengths-list:has(.sainou-strength-card__link:hover)
		.sainou-strength-card:not(:hover),
	.sainou-strengths-list:has(.sainou-strength-card__link:focus-visible)
		.sainou-strength-card:not(:focus-within) {
		opacity: 0.45;
	}

	.sainou-strength-card__link:hover .sainou-strength-card__arrow {
		transform: translateX(5px);
		background-image:
			var(--sainou-common-circle-arrow18-hover, var(--sainou-common-circle-arrow18-hover, url("../../assets/images/circle-arrow18-hover-min.svg")));
	}

	.sainou-strength-card__link:hover .sainou-strength-card__image {
		transform: scale(1.1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.sainou-strength-card,
	.sainou-strength-card__arrow,
	.sainou-strength-card__image {
		transition: none;
	}
}

@media (width < 760px) {
	.sainou-top-strengths-section {
		width: 100% !important;
		max-width: 100% !important;
		padding-block-start: 58px;
		padding-block-end: 40px;
	}

	.sainou-top-strengths-section .sainou-section-heading {
		width: calc(100% - 50px);
		gap: 13px;
		margin-bottom: 68px;
	}

	.sainou-top-strengths-section .sainou-section-heading__title {
		font-size: 28px;
		line-height: 40px;
		letter-spacing: 0.01em;
	}

	.sainou-top-strengths-section .sainou-section-heading__english {
		font-size: 16px;
		line-height: 19px;
		letter-spacing: 0.05em;
	}

	.sainou-strengths-list-block {
		width: 100% !important;
		max-width: 100% !important;
	}

	.sainou-strengths-list {
		position: relative;
	}

	.sainou-strengths-list__track {
		display: flex;
		justify-content: flex-start;
		gap: 15px;
		overflow-x: auto;
		padding-inline: max(25px, calc((100vw - 310px) / 2));
		scrollbar-width: none;
		overscroll-behavior-inline: contain;
		-webkit-overflow-scrolling: touch;
	}

	.sainou-strengths-list__track::-webkit-scrollbar {
		display: none;
	}

	.sainou-strengths-list__featured-grid,
	.sainou-strengths-list__standard-grid {
		display: contents;
	}

	.sainou-strength-card,
	.sainou-strength-card--featured,
	.sainou-strength-card--standard {
		flex: 0 0 310px;
		width: 310px;
		max-width: none;
	}

	.sainou-strength-card--featured .sainou-strength-card__link,
	.sainou-strength-card__link {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		width: auto;
		max-width: none;
	}

	.sainou-strength-card--featured .sainou-strength-card__media,
	.sainou-strength-card--featured .sainou-strength-card__content,
	.sainou-strength-card--featured.sainou-strength-card--reverse
		.sainou-strength-card__media,
	.sainou-strength-card--featured.sainou-strength-card--reverse
		.sainou-strength-card__content {
		grid-area: auto;
	}

	.sainou-strength-card--featured .sainou-strength-card__media,
	.sainou-strength-card--featured .sainou-strength-card__image,
	.sainou-strength-card--standard .sainou-strength-card__media,
	.sainou-strength-card--standard .sainou-strength-card__image {
		border-radius: 18px 53px 7px 7px;
	}

	.sainou-strength-card--featured .sainou-strength-card__media,
	.sainou-strength-card--standard .sainou-strength-card__media {
		width: 310px;
		height: 195px;
	}

	.sainou-strength-card__content,
	.sainou-strength-card--standard .sainou-strength-card__content {
		margin-top: 11px;
	}

	.sainou-strength-card__catchphrase {
		font-size: 16px;
		line-height: 30px;
	}

	.sainou-strength-card__title-row,
	.sainou-strength-card--standard .sainou-strength-card__title-row {
		align-items: center;
		justify-content: flex-start;
		gap: 8px;
		margin-top: 0;
	}

	.sainou-strength-card__title {
		margin-inline-start: 0;
	}

	.sainou-strength-card__title,
	.sainou-strength-card--standard .sainou-strength-card__title {
		font-size: 20px;
		line-height: 35px;
		letter-spacing: 0;
		overflow-wrap: normal;
		word-break: normal;
		white-space: normal;
	}

	.sainou-strength-card__title-line {
		display: inline;
	}

	.sainou-strengths-list-block.is-mobile-stack .sainou-strengths-list__track {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 55px;
		overflow-x: visible;
		padding-inline: 25px;
	}

	.sainou-strengths-list-block.is-mobile-stack
		.sainou-strengths-list__featured-grid,
	.sainou-strengths-list-block.is-mobile-stack
		.sainou-strengths-list__standard-grid {
		display: contents;
	}

	.sainou-strengths-list-block.is-mobile-stack .sainou-strength-card {
		flex: none;
	}

	.sainou-strengths-list-block.is-mobile-stack .sainou-strength-card__content,
	.sainou-strengths-list-block.is-mobile-stack
		.sainou-strength-card--standard .sainou-strength-card__content {
		margin-top: 13px;
	}

	.sainou-strengths-list-block.is-mobile-stack
		.sainou-strength-card--standard .sainou-strength-card__catchphrase {
		letter-spacing: 0;
	}

	.sainou-strengths-list-block.is-mobile-stack .sainou-strength-card__title,
	.sainou-strengths-list-block.is-mobile-stack
		.sainou-strength-card--standard .sainou-strength-card__title {
		letter-spacing: 0.06em;
	}

	.sainou-strengths-slider-controls {
		display: grid;
		grid-template-columns: 48px minmax(0, 1fr) 48px;
		align-items: center;
		gap: 6px;
		width: min(360px, calc(100% - 20px));
		margin: 4px auto 0;
	}

	.sainou-strengths-slider-button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		width: 48px;
		height: 48px;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: transparent;
		cursor: pointer;
	}

	.sainou-strengths-slider-button span {
		display: block;
		width: 18px;
		height: 18px;
		background:
			var(--sainou-common-circle-arrow18, var(--sainou-common-circle-arrow18, url("../../assets/images/circle-arrow18-min.svg")))
			center / contain no-repeat;
	}

	.sainou-strengths-slider-button--previous span {
		transform: rotate(180deg);
	}

	.sainou-strengths-slider-button:disabled {
		opacity: 0.35;
		cursor: default;
	}

	.sainou-strengths-slider-button:focus-visible {
		outline: 2px solid currentColor;
		outline-offset: 2px;
	}

	.sainou-strengths-slider-status {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 52px;
		font-size: 14px;
		font-variant-numeric: tabular-nums;
		line-height: 20px;
		letter-spacing: 0;
		text-align: center;
	}

	.sainou-strengths-slider-status__separator {
		margin-inline: 6px;
	}
}
