.footer-main {
	width: 100%;
	background: #000;
	color: #fff;
	min-width: 0;
}

.renew-contact {
	position: relative;
	width: 100%;
	min-height: 420px;
	overflow: hidden;
	background: #ffa400;
	color: #000;
	font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.renew-contact *,
.renew-contact *::before,
.renew-contact *::after {
	box-sizing: border-box;
}

@keyframes renewCircleSoftFade {
	0% {
		opacity: 0;
		filter: blur(10px);
		transform: translate3d(-28px, 24px, 0) scale(0.82);
	}
	12% {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(0, 0, 0) scale(1);
	}
	46% {
		opacity: 0.8;
		filter: blur(1px);
		transform: translate3d(34px, -28px, 0) scale(1.05);
	}
	64% {
		opacity: 0;
		filter: blur(12px);
		transform: translate3d(58px, -46px, 0) scale(1.18);
	}
	100% {
		opacity: 0;
		filter: blur(12px);
		transform: translate3d(58px, -46px, 0) scale(1.18);
	}
}

@keyframes renewSvgCircleSoftFade {
	0% {
		opacity: 0;
		filter: blur(7px);
	}
	14% {
		opacity: 1;
		filter: blur(0);
	}
	48% {
		opacity: 0.82;
		filter: blur(1px);
	}
	66% {
		opacity: 0;
		filter: blur(8px);
	}
	100% {
		opacity: 0;
		filter: blur(8px);
	}
}

.renew-contact__inner {
	position: relative;
	z-index: 2;
	width: min(100%, 640px);
	margin: 0 auto;
	padding: 82px 24px 72px;
	text-align: center;
}

.renew-contact__title {
	margin: 0 0 14px;
	line-height: 1;
}

.renew-contact__title img {
	display: block;
	width: clamp(230px, 26vw, 330px);
	height: auto;
	margin: 0 auto;
}

.renew-contact__label {
	margin: 0 0 26px;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.04em;
}

.renew-contact__text {
	margin: 0 0 38px;
	font-size: 1.45rem;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.04em;
}

.renew-contact__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	min-width: 190px;
	min-height: 58px;
	padding: 0 34px;
	border-radius: 999px;
	background: #000;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.06em;
	text-decoration: none;
	transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.renew-contact__button:hover {
	background-color: #fff;
	color: #000;
	transform: translateY(-1px);
}

.renew-contact__decor {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
}

.renew-contact__svg {
	position: absolute;
	overflow: visible;
}

.renew-contact__svg--left {
	left: 0;
	top: -40px;
	width: 480px;
	height: 400px;
}

.renew-contact__svg--right {
	right: -100px;
	top: 0px;
	width: 640px;
	height: 450px;
}

.renew-contact__svg-line {
	fill: none;
	stroke: rgba(255, 255, 255, 0.62);
	stroke-width: 1;
}

.renew-contact__svg-dot--white {
	fill: #fff;
	/* animation: renewSvgCircleSoftFade 3.8s cubic-bezier(0.22, 0.61, 0.36, 1) infinite; */
}

.renew-contact__svg-dot--black {
	fill: #1d1d1d;
	/* animation: renewSvgCircleSoftFade 4.6s cubic-bezier(0.22, 0.61, 0.36, 1) -1.5s infinite; */
}

.renew-contact__svg-dot--gray {
	fill: #a0a0a0;
}

.consultationBlock {
	position: relative;
	width: 100%;
	min-height: 340px;
	overflow: hidden;
	background: #6f7a7d url("../img/consultation_bg.webp") center center / cover no-repeat;
	color: #000;
	font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.consultationBlock *,
.consultationBlock *::before,
.consultationBlock *::after {
	box-sizing: border-box;
}

.consultationBlock__inner {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 40px;
	width: min(100% - 48px, 980px);
	min-height: 340px;
	margin: 0 auto;
	padding: 58px 0 58px;
}

.consultationBlock__content {
	width: min(100%, 670px);
}

.consultationBlock__title {
	margin: 0 0 26px;
	font-size: 2.8rem;
	font-weight: 900;
	line-height: 1.45;
	letter-spacing: 0.02em;
}

.consultationBlock__title span,
.consultationBlock__text span {
	display: inline;
	padding: 3px 8px;
	background: #fff;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

.consultationBlock__text {
	margin: 0;
	font-size: 1.55rem;
	font-weight: 700;
	line-height: 1.75;
	letter-spacing: 0.04em;
}

.consultationBlock__button {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	gap: 16px;
	min-width: 280px;
	min-height: 68px;
	margin: 0 8px 0 0;
	padding: 0 34px;
	border-radius: 999px;
	background: #ffa400;
	color: #000;
	font-size: 1.45rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
	text-decoration: none;
	transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.consultationBlock__button:hover {
	background: #000;
	color: #ffa400;
	transform: translateY(-1px);
}

.catalogBtnBlock {
	position: relative;
	width: 100%;
	max-width: none;
	margin: 0 auto;
	padding: 90px 5vw 90px;
	overflow: hidden;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='88'%3E%3Crect width='5' height='5' fill='%23898989' fill-opacity='0.32'/%3E%3C/svg%3E");
	background-position: 68px 0;
	background-size: 88px 88px;
}

.catalogBtnBlock.catalogBtnBlock--top,
.catalogBtnBlock.catalogBtnBlock--sub,
.catalogBtnBlock.catalogBtnBlock--noT {
	margin: 0 auto;
}

.catalogBtnBlock__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(290px, 0.9fr) minmax(360px, 1.1fr);
	align-items: center;
	width: min(100%, 980px);
	min-height: 300px;
	margin: 0 auto;
	padding: 56px 72px 56px 106px;
	overflow: visible;
	border: 0;
	border-radius: 999px;
	background: #000;
	color: #fff;
	text-decoration: none;
}

.catalogBtnBlock__inner::before {
	content: none;
}

.catalogBtnBlock__point,
.catalogBtnBlock__ttl,
.catalogBtnBlock__text,
.catalogBtnBlock__btn {
	position: relative;
	z-index: 2;
	grid-column: 1;
}

.catalogBtnBlock__point {
	display: inline-block;
	width: fit-content;
	margin: 0 0 20px;
	padding: 7px 24px;
	border: 2px solid #ffa400;
	border-radius: 999px;
	background: transparent;
	color: #ffa400;
	font-size: 2.0rem;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: 0.04em;
	text-align: left;
}

.catalogBtnBlock__ttl {
	width: auto;
	margin: 0 0 24px;
	color: #fff;
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.06em;
	text-align: left;
	white-space: nowrap;
}

.catalogBtnBlock__text {
	width: auto;
	max-width: 410px;
	margin: 0;
	color: #fff;
	font-size: 1.45rem;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0.05em;
	text-align: left;
}

.catalogBtnBlock__img {
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	margin: 0;
	overflow: hidden;
	border-radius: 999px;
	transform: none;
}

.catalogBtnBlock__img::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, #000 0%, rgba(0, 0, 0, 0.78) 10%, rgba(0, 0, 0, 0.2) 42%, rgba(0, 0, 0, 0) 100%);
}

.catalogBtnBlock__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: right center;
}

.catalogBtnBlock__btn {
	position: absolute;
	z-index: 3;
	right: 102px;
	bottom: -14px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 70px;
	margin: 0;
	border-radius: 50%;
	background: #000;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.catalogBtnBlock__inner:hover .catalogBtnBlock__btn {
	background-color: #ffa400;
	color: #000;
	transform: translateY(-1px);
}

.renew-contact__circle {
	position: absolute;
	border-radius: 50%;
	animation: renewCircleSoftFade 4.8s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
	will-change: opacity, filter, transform;
}

.renew-contact__circle--left {
	left: clamp(-92px, -3vw, -36px);
	bottom: -78px;
	width: 184px;
	height: 184px;
	background: #72736c;
}

.renew-contact__circle--top {
	right: 13.2%;
	top: -72px;
	width: 120px;
	height: 120px;
	background: #fff;
	animation-duration: 5.2s;
	animation-delay: -1.1s;
}

.renew-contact__circle--right {
	right: 1.4%;
	top: 62px;
	width: 72px;
	height: 72px;
	background: #9c9c9c;
	animation-duration: 4.2s;
	animation-delay: -2.2s;
}

@media screen and (min-width: 521px) {
	.header {
		width: max-content;
		min-width: 100%;
	}
}

@media screen and (min-width: 1081px) {
	.header {
		min-width: 1300px;
		min-width: max(100%, 1300px);
	}
}

.renew-footer {
	width: 100%;
	min-width: 0;
	min-height: 400px;
	background: #000;
	color: #fff;
	font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.renew-footer * {
	box-sizing: border-box;
}

.renew-footer a {
	color: inherit;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.renew-footer a:hover {
	opacity: 0.7;
}

.renew-footer__inner {
	width: min(100%, 1280px);
	min-height: 400px;
	margin: 0 auto;
	padding: 50px 30px 28px;
	display: grid;
	grid-template-columns: minmax(210px, 290px) minmax(0, 1fr);
	grid-template-rows: 1fr auto;
	column-gap: clamp(32px, 4vw, 60px);
}

.renew-footer__brand {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 245px;
}

.renew-footer__logo {
	display: block;
	width: 160px;
	line-height: 0;
}

.renew-footer__logo img {
	display: block;
	width: 100%;
	height: auto;
}

.renew-footer__iso img {
	display: block;
	width: 118px;
	height: auto;
	background: #fff;
}

.renew-footer__iso-number {
	margin: 10px 0 6px;
	font-size: 1.2rem;
	line-height: 1.3;
	letter-spacing: 0;
}

.renew-footer__iso-text {
	margin: 0;
	color: #b8b8b8;
	font-size: 0.9rem;
	line-height: 1.75;
	letter-spacing: 0;
}

.renew-footer__nav {
	display: grid;
	grid-template-columns: 76px minmax(220px, 1fr) 70px 70px minmax(210px, 258px);
	column-gap: clamp(16px, 2.2vw, 30px);
	align-items: start;
}

.renew-footer__column {
	min-width: 0;
	margin-bottom: 0;
}

.renew-footer__heading {
	display: inline-block;
	margin: 0 0 28px;
	color: #fff;
	font-family: "Arial", "Helvetica Neue", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.12em;
}

.renew-footer__list,
.renew-footer__primary-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.renew-footer__list li,
.renew-footer__primary-list li {
	margin: 0 0 18px;
}

.renew-footer__list a {
	display: inline-block;
	color: #f2f2f2;
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.renew-footer__column--contact .renew-footer__list a,
.renew-footer__column--services .renew-footer__list a {
	white-space: normal;
	overflow-wrap: break-word;
}

.renew-footer__primary-list .renew-footer__heading {
	margin-bottom: 0;
}

.renew-footer__bottom {
	grid-column: 1 / -1;
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 30px;
	margin-top: 30px;
}

.renew-footer__policy {
	display: grid;
	gap: 8px;
}

.renew-footer__policy a {
	font-size: 1.2rem;
	line-height: 1.4;
	letter-spacing: 0.04em;
}

.renew-footer__copy {
	margin: 0;
	font-size: 1.0rem;
	line-height: 1.4;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

@media screen and (max-width: 1180px) {
	.consultationBlock__inner {
		width: min(100%, 960px);
		padding: 54px 32px;
	}

	.consultationBlock__title {
		font-size: 2.5rem;
	}

	.consultationBlock__text {
		font-size: 1.45rem;
	}

	.consultationBlock__button {
		min-width: 250px;
		margin-right: 0;
	}

	.catalogBtnBlock {
		padding: 80px 24px 110px;
	}

	.catalogBtnBlock__inner {
		width: min(100%, 980px);
		padding: 50px 64px 50px 86px;
	}

	.catalogBtnBlock__ttl {
		font-size: 2.5rem;
	}

	.renew-contact {
		min-height: 480px;
	}

	.renew-contact__svg {
		width: 620px;
		height: 372px;
	}

	.renew-contact__circle--left {
		width: 150px;
		height: 150px;
	}

	.renew-footer__inner {
		padding: 44px 24px 26px;
		grid-template-columns: 210px 1fr;
		column-gap: 36px;
	}

	.renew-footer__nav {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 22px 22px;
	}

	.renew-footer__column--services,
	.renew-footer__column--contact {
		grid-column: span 2;
	}
}

@media screen and (max-width: 920px) {
	.consultationBlock {
		background-position: 62% center;
	}

	.consultationBlock__inner {
		display: block;
		min-height: 360px;
		padding: 52px 24px;
	}

	.consultationBlock__content {
		width: min(100%, 620px);
	}

	.consultationBlock__button {
		min-width: 236px;
		min-height: 60px;
		margin: 30px 0 0;
		padding: 0 28px;
	}

	.catalogBtnBlock {
		padding: 70px 24px 96px;
		background-size: 74px 74px;
	}

	.catalogBtnBlock__inner {
		grid-template-columns: minmax(0, 1fr);
		width: min(100%, 680px);
		min-height: 0;
		padding: 48px 54px 220px;
		border-radius: 130px;
	}

	.catalogBtnBlock__ttl {
		white-space: normal;
	}

	.catalogBtnBlock__text {
		max-width: 430px;
	}

	.catalogBtnBlock__img {
		top: auto;
		bottom: 0;
		width: 100%;
		height: 230px;
		border-radius: 0 0 130px 130px;
	}

	.catalogBtnBlock__img::before {
		background: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0.72) 18%, rgba(0, 0, 0, 0.16) 62%, rgba(0, 0, 0, 0) 100%);
	}

	.catalogBtnBlock__btn {
		right: 58px;
		bottom: 28px;
	}

	.renew-contact__svg {
		width: 540px;
		height: 324px;
	}

	.renew-contact__circle--top {
		right: 8%;
	}

	.renew-contact__circle--right {
		right: -18px;
	}

	.renew-footer__inner {
		grid-template-columns: 180px 1fr;
		column-gap: 28px;
	}

	.renew-footer__nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px 26px;
	}

	.renew-footer__column--services,
	.renew-footer__column--contact {
		grid-column: 1 / -1;
	}
}

@media screen and (max-width: 767px) {
	.consultationBlock {
		min-height: 0;
		background-position: 67% center;
	}

	.consultationBlock::before {
		content: "";
		position: absolute;
		inset: 0;
		background: rgba(255, 255, 255, 0.24);
	}

	.consultationBlock__inner {
		z-index: 1;
		min-height: 0;
		padding: 42px 18px 46px;
	}

	.consultationBlock__title {
		margin-bottom: 18px;
		font-size: 2.0rem;
		line-height: 1.55;
	}

	.consultationBlock__title span,
	.consultationBlock__text span {
		padding: 3px 6px;
	}

	.consultationBlock__text {
		font-size: 1.25rem;
		line-height: 1.75;
	}

	.consultationBlock__button {
		width: 100%;
		max-width: 290px;
		min-width: 0;
		min-height: 54px;
		margin-top: 26px;
		font-size: 1.25rem;
	}

	.catalogBtnBlock,
	.catalogBtnBlock.catalogBtnBlock--top,
	.catalogBtnBlock.catalogBtnBlock--sub,
	.catalogBtnBlock.catalogBtnBlock--noT {
		width: 100%;
		margin: 0 auto;
		padding: 54px 16px 70px;
		background-position: 36px 0;
		background-size: 58px 58px;
	}

	.catalogBtnBlock__inner {
		width: 100%;
		margin: 0 auto;
		padding: 36px 28px 190px;
		border-radius: 72px;
	}

	.catalogBtnBlock__point {
		margin-bottom: 16px;
		padding: 6px 12px;
		font-size: 1.5rem;
	}

	.catalogBtnBlock__ttl {
		margin-bottom: 16px;
		font-size: 2.0rem;
		line-height: 1.45;
	}

	.catalogBtnBlock__text {
		font-size: 1.25rem;
		line-height: 1.7;
	}

	.catalogBtnBlock__img {
		height: 190px;
		border-radius: 0 0 72px 72px;
	}

	.catalogBtnBlock__btn {
		right: 34px;
		bottom: 22px;
		width: 62px;
		height: 62px;
		font-size: 1.2rem;
	}

	.renew-contact {
		min-height: 410px;
	}

	.renew-contact__inner {
		padding: 64px 22px 58px;
	}

	.renew-contact__title {
		font-size: 4.6rem;
	}

	.renew-contact__label {
		margin-bottom: 20px;
		font-size: 1.4rem;
	}

	.renew-contact__text {
		margin-bottom: 30px;
		font-size: 1.25rem;
	}

	.renew-contact__button {
		min-width: 176px;
		min-height: 52px;
		font-size: 1.35rem;
	}

	.renew-contact__svg--left {
		left: -50px;
		bottom: 0;
		width: 330px;
		height: 275px;
	}

	.renew-contact__svg--right {
		right: -90px;
		top: -20px;
		width: 380px;
		height: 310px;
	}

	.renew-contact__circle--left {
		width: 118px;
		height: 118px;
		left: -66px;
		bottom: -48px;
	}

	.renew-contact__circle--top {
		width: 84px;
		height: 84px;
		right: -20px;
		top: -42px;
	}

	.renew-contact__circle--right {
		width: 48px;
		height: 48px;
		right: -22px;
		top: 82px;
	}

	.footer-main,
	.renew-footer {
		width: 100%;
		min-width: 0;
		min-height: 0;
	}

	.renew-footer__inner {
		width: 100%;
		min-height: 0;
		padding: 42px 22px 26px;
		display: block;
	}

	.renew-footer__brand {
		min-height: 0;
		display: block;
	}

	.renew-footer__logo {
		width: 168px;
		margin-bottom: 36px;
	}

	.renew-footer__iso {
		margin-bottom: 34px;
	}

	.renew-footer__iso img {
		width: 116px;
	}

	.renew-footer__iso-text {
		font-size: 1.0rem;
	}

	.renew-footer__nav {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 24px 24px;
	}

	.renew-footer__column--services,
	.renew-footer__column--contact {
		grid-column: 1 / -1;
	}

	.renew-footer__heading {
		margin-bottom: 16px;
		font-size: 1.4rem;
	}

	.renew-footer__list li,
	.renew-footer__primary-list li {
		margin-bottom: 13px;
	}

	.renew-footer__list a {
		font-size: 1.15rem;
		line-height: 1.45;
		white-space: normal;
	}

	.renew-footer__bottom {
		display: block;
		margin-top: 36px;
	}

	.renew-footer__policy {
		display: grid;
		gap: 10px;
		margin-bottom: 28px;
	}

	.renew-footer__policy a {
		font-size: 1.1rem;
	}

	.renew-footer__copy {
		font-size: 0.95rem;
		white-space: normal;
	}
}

.led-renew-main {
	/* background: #f1f1f1; */
	color: #111;
	font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.led-renew,
.led-renew *,
.led-renew *::before,
.led-renew *::after {
	box-sizing: border-box;
}

.led-renew {
	position: relative;
	overflow: hidden;
	/* padding: 42px 0 0; */
	/* background: #f1f1f1; */
}

.led-renew__inner {
	width: min(100% - 48px, 1060px);
	margin: 0 auto;
}

.led-renew__breadcrumbs {
	width: 100%;
	padding-top: 18px;
	background-color: #f1f1f1;
	color: #777;
	font-size: 1.4rem;
	line-height: 1.6;
}

.led-renew__breadcrumbs-inner {
	width: min(100% - 48px, 1060px);
	margin: 0 auto;
	color: #777;
}

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

.led-renew__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 40px;
	padding: 0 26px;
	border-radius: 999px;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
}

.led-renew__button:hover {
	opacity: 0.8;
	transform: translateY(-1px);
}

.led-renew__button--orange {
	background: #ffa400;
	color: #000;
}

.led-renew__button--black {
	background: #000;
	color: #fff;
}

.led-renew .led-renew__button--orange:hover {
	background-color: #000;
	color: #ffa400;
	opacity: 1;
}

.led-renew .led-renew__button--black:hover {
	background-color: #ffa400;
	color: #000;
	opacity: 1;
}

.led-renew-center {
	margin-top: 34px;
	text-align: center;
}

.led-renew-hero {
	padding: 54px 0 80px;
	background-color: #f1f1f1;
}

.led-renew-hero__head {
	position: relative;
	z-index: 2;
	padding: 0 0 34px;
}

.led-renew-hero__eyebrow {
	display: inline-block;
	margin: 8px 0 0;
	padding: 1px 5px 2px;
	background: #ffa400;
	color: #000;
	font-size: 2rem;
	font-weight: 900;
	line-height: 1.25;
	letter-spacing: 0;
}

.led-renew-hero__title {
	display: block;
	width: min(560px, 100%);
	margin: 0;
	font-size: 0;
	line-height: 0;
}

.led-renew-hero__title img {
	display: block;
	width: 100%;
	height: auto;
}

.led-renew-hero__visual {
	position: relative;
	z-index: 0;
	overflow: visible;
	margin-right: calc(50% - 50vw);
	background: #111;
}

.led-renew-hero__decor {
	position: absolute;
	right: 10px;
	top: -285px;
	z-index: -1;
	width: 800px;
	height: 760px;
	overflow: visible;
	pointer-events: none;
}

.led-renew-hero__decor-line {
	fill: none;
	stroke: rgba(180, 180, 180, 0.72);
	stroke-width: 1;
}

.led-renew-hero__decor-dot {
	/* animation: renewSvgCircleSoftFade 4.2s cubic-bezier(0.22, 0.61, 0.36, 1) infinite; */
	/* will-change: opacity, filter; */
}

.led-renew-hero__decor-dot--white {
	fill: #ffa400;
}

.led-renew-hero__decor-dot--black {
	fill: #8f8f8f;
	/* animation-duration: 4.9s; */
	/* animation-delay: -1.8s; */
}

.led-renew-hero__visual img {
	position: relative;
	z-index: 2;
	display: block;
	width: 100%;
	height: 380px;
	object-fit: cover;
	object-position: center center;
}

.led-renew-hero__copy {
	position: absolute;
	right: 104px;
	bottom: -20px;
	left: 0;
	z-index: 3;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
}

.led-renew-hero__points {
	display: grid;
	gap: 0px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.led-renew-hero__points li {
	width: fit-content;
	padding: 2px 7px;
	background: #ffa400;
	color: #000;
	font-size: 1.85rem;
	font-weight: 900;
	line-height: 1.25;
	letter-spacing: 0;
}

.led-renew-hero__points li::before {
	content: "・";
	margin-right: 1px;
}

.led-renew-hero__copy .led-renew__button {
	flex: 0 0 auto;
	min-width: 280px;
	min-height: 68px;
	padding: 0 44px;
	font-size: 1.45rem;
	font-weight: 900;
}

.led-renew-section {
	--led-renew-divider-offset: 54px;
	--led-renew-divider-color: #cfcfcf;
	padding: 54px 0;
	border-top: 0;
}

.led-renew-section > .led-renew__inner {
	position: relative;
}

.led-renew-section > .led-renew__inner::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: calc(var(--led-renew-divider-offset) * -1);
	border-top: 1px solid var(--led-renew-divider-color);
	pointer-events: none;
}

.led-renew-section--about {
	--led-renew-divider-offset: 42px;
	--led-renew-divider-color: #111;
	position: relative;
	padding: 42px 0 88px;
}

.led-renew-section--about::before,
.led-renew-section--about::after {
	content: "";
	position: absolute;
	right: calc(50% - 540px);
	border-radius: 50%;
	pointer-events: none;
}

.led-renew-section--about::before {
	bottom: 118px;
	width: 20px;
	height: 20px;
	background: #ffa400;
}

.led-renew-section--about::after {
	bottom: 40px;
	width: 30px;
	height: 30px;
	background: #77756d;
}

.led-renew-section--about .led-renew-section__head {
	margin-bottom: 26px;
}

.led-renew-section--about .led-renew-section__title {
	padding-left: 0;
	font-size: 3.0rem;
	font-weight: 500;
	letter-spacing: 0;
}

.led-renew-section--about .led-renew-section__title::before {
	display: none;
}

.led-renew-section__head {
	margin-bottom: 28px;
}

.led-renew-section__title {
	position: relative;
	margin: 0;
	padding-left: 18px;
	color: #111;
	font-size: 2.4rem;
	font-weight: 900;
	line-height: 1.45;
	letter-spacing: 0.04em;
}

.led-renew-section__title::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.72em;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #ffa400;
}

.led-renew-section__lead {
	max-width: 760px;
	margin: 12px 0 0;
	color: #555;
	font-size: 1.35rem;
	font-weight: 500;
	line-height: 1.9;
}

.led-renew-about {
	display: block;
}

.led-renew-about__text {
	max-width: 1000px;
	color: #222;
	font-size: 1.45rem;
	font-weight: 500;
	line-height: 1.9;
}

.led-renew-about__text p {
	margin: 0 0 4px;
}

.led-renew-about__table-wrap {
	margin-top: 42px;
	padding: 40px;
	border-radius: 20px;
	background: #fff;
}

.led-renew-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	border: 1px solid #d8d8d8;
	border-radius: 8px;
	background: #fff;
	font-size: 1.2rem;
	line-height: 1.65;
}

.led-renew-table--compare {
	border-collapse: collapse;
	border: 1px solid #c8c8c8;
	border-radius: 0;
	background: #eee;
	font-size: 1.25rem;
	table-layout: fixed;
}

.led-renew-table--compare tr {
	border: none !important;
}

.led-renew-table th,
.led-renew-table td {
	padding: 14px 16px;
	border-bottom: 1px solid #e4e4e4;
	vertical-align: top;
}

.led-renew-table tr:last-child th,
.led-renew-table tr:last-child td {
	border-bottom: 0;
}

.led-renew-table th {
	width: 126px;
	background: #d8d8d8;
	font-weight: 800;
	text-align: left;
}

.led-renew-table td {
	background: #fff;
	color: #333;
}

.led-renew-table--compare th,
.led-renew-table--compare td {
	padding: 10px 14px;
	border: 1px solid #c8c8c8;
	background: #eee;
	color: #000;
	font-weight: 500;
	vertical-align: middle;
	width: auto;
}

.led-renew-table--compare thead th {
	background: #a7a8a8;
	color: #fff;
	font-weight: 900;
	text-align: center;
}

.led-renew-table--compare thead th:first-child {
	background: #d0d0d0;
}

.led-renew-table--compare thead th:nth-child(3) {
	background: #8f979d;
}

.led-renew-table--compare tbody th {
	width: 20%;
	background: #eee;
	font-weight: 500;
	text-align: left;
}

.led-renew-table--compare thead th:first-child {
	width: 20%;
}

.led-renew-table--compare thead th:nth-child(2),
.led-renew-table--compare tbody td:nth-child(2),
.led-renew-table--compare thead th:nth-child(3),
.led-renew-table--compare tbody td:nth-child(3) {
	width: 40%;
}

.led-renew-table--compare th:last-child,
.led-renew-table--compare td:last-child {
	border-right: 1px solid #c8c8c8;
}

.led-renew-table--compare tbody tr:last-child th,
.led-renew-table--compare tbody tr:last-child td {
	border-bottom: 1px solid #c8c8c8;
}

.led-renew-scenes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.led-renew-section--scenes {
	--led-renew-divider-offset: 66px;
	position: relative;
	padding: 66px 0 96px;
	border-top: 0;
}

.led-renew-section--scenes::before,
.led-renew-section--scenes::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}

.led-renew-section--scenes::before {
	left: calc(50% - 610px);
	top: 134px;
	width: 30px;
	height: 30px;
	background: #ffa400;
}

.led-renew-section--scenes::after {
	right: calc(50% - 610px);
	top: 560px;
	width: 30px;
	height: 30px;
	background: #77756d;
}

.led-renew-section--scenes .led-renew-section__head {
	margin-bottom: 44px;
}

.led-renew-section--scenes .led-renew-section__title {
	padding-left: 0;
	font-size: 3.0rem;
	font-weight: 500;
	letter-spacing: 0;
}

.led-renew-section--scenes .led-renew-section__title::before {
	display: none;
}

.led-renew-section--scenes .led-renew-section__lead {
	/* max-width: 780px; */
	margin-top: 20px;
	color: #000;
	font-size: 1.45rem;
	line-height: 1.9;
}

.led-renew-section--scenes .led-renew-scenes {
	gap: 22px;
}

.led-renew-scene-card,
.led-renew-reason-card,
.led-renew-work-card,
.led-renew-service-link {
	overflow: hidden;
	border-radius: 8px;
	/* background: #fff; */
	/* box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05); */
}

.led-renew-section--scenes .led-renew-scene-card {
	padding: 34px 40px 36px;
	border-radius: 18px;
	background: #fff;
	box-shadow: none;
}

.led-renew-section--scenes .led-renew-scene-card h3 {
	width: min(100%, 324px);
	margin: 0 auto 30px;
	padding: 12px 18px;
	border-radius: 999px;
	background: #e1e6e9;
	font-size: 1.55rem;
	font-weight: 900;
	line-height: 1.35;
	text-align: center;
}

.led-renew-scene-card__img img,
.led-renew-reason-card figure img,
.led-renew-work-card figure img,
.led-renew-service-link figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.led-renew-scene-card__img {
	aspect-ratio: 16 / 9;
	margin: 0;
}

.led-renew-section--scenes .led-renew-scene-card__img {
	aspect-ratio: 448 / 253;
}

.led-renew-scene-card__body {
	padding: 18px 20px 22px;
}

.led-renew-section--scenes .led-renew-scene-card__body {
	padding: 18px 0 0;
}

.led-renew-scene-card h3,
.led-renew-reason-card h3,
.led-renew-work-card h3 {
	margin: 0 0 10px;
	font-size: 1.65rem;
	font-weight: 900;
	line-height: 1.45;
}

.led-renew-section--scenes .led-renew-scene-card p {
	color: #000;
	font-size: 1.35rem;
	line-height: 1.9;
}

.led-renew-scene-card p,
.led-renew-reason-card p {
	margin: 0;
	color: #555;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.8;
}

.led-renew-section--lineup {
	--led-renew-divider-offset: 66px;
	position: relative;
	padding: 66px 0 96px;
	/* background: #f7f7f7; */
}

.led-renew-section--lineup::before,
.led-renew-section--lineup::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}

.led-renew-section--lineup::before {
	right: calc(50% - 500px);
	top: 148px;
	width: 22px;
	height: 22px;
	background: #ffa400;
}

.led-renew-section--lineup::after {
	right: calc(50% - 610px);
	top: 1180px;
	width: 18px;
	height: 18px;
	background: #77756d;
}

.led-renew-section--lineup .led-renew-section__head {
	margin-bottom: 42px;
}

.led-renew-section--lineup .led-renew-section__title {
	padding-left: 0;
	font-size: 3.0rem;
	font-weight: 900;
	letter-spacing: 0;
}

.led-renew-section--lineup .led-renew-section__title::before {
	display: none;
}

.led-renew-section--lineup .led-renew-section__lead {
	/* max-width: 780px; */
	margin-top: 20px;
	color: #000;
	font-size: 1.35rem;
	line-height: 1.9;
}

.led-renew-products {
	display: grid;
	gap: 20px;
}

.led-renew-product-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 45%);
	gap: 42px;
	align-items: center;
	min-height: 258px;
	padding: 34px 34px 34px 40px;
	border-radius: 14px;
	background: #fff;
	box-shadow: none;
}

.led-renew-product-card:nth-child(even) {
	grid-template-columns: minmax(0, 1fr) minmax(360px, 45%);
}

.led-renew-product-card:nth-child(even) .led-renew-product-card__body {
	grid-column: 1;
	grid-row: 1;
}

.led-renew-product-card:nth-child(even) .led-renew-product-card__img {
	grid-column: 2;
	grid-row: 1;
}

.led-renew-product-card__body h3 {
	margin: 0 0 6px;
	font-size: 2.4rem;
	font-weight: 900;
	line-height: 1.3;
}

.led-renew-product-card__subtitle {
	margin: 0 0 20px;
	color: #ffa400;
	font-size: 1.35rem;
	font-weight: 900;
	line-height: 1.5;
}

.led-renew-product-card__body p:not(.led-renew-product-card__subtitle) {
	margin: 0 0 30px;
	color: #000;
	font-size: 1.28rem;
	font-weight: 500;
	line-height: 1.9;
}

.led-renew-product-card .led-renew__button {
	min-width: 142px;
	min-height: 42px;
	padding: 0 22px;
	font-size: 1.15rem;
	font-weight: 800;
}

.led-renew-product-card__img {
	margin: 0;
	overflow: hidden;
	border-radius: 0;
	aspect-ratio: 386 / 218;
	background: #e6e6e6;
}

.led-renew-product-card__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.led-renew-reasons {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.led-renew-section--reasons {
	--led-renew-divider-offset: 72px;
	position: relative;
	padding: 72px 0 104px;
	border-top: 0;
	/* background: #f1f1f1; */
}

.led-renew-section--reasons::before {
	content: "";
	position: absolute;
	left: calc(50% - 610px);
	top: 86px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #77756d;
	pointer-events: none;
}

.led-renew-section--about::before,
.led-renew-section--about::after,
.led-renew-section--scenes::before,
.led-renew-section--scenes::after,
.led-renew-section--lineup::before,
.led-renew-section--lineup::after,
.led-renew-section--reasons::before {
	animation: renewCircleSoftFade 4.4s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
	will-change: opacity, filter, transform;
}

.led-renew-section--about::after,
.led-renew-section--scenes::after,
.led-renew-section--lineup::after,
.led-renew-section--reasons::before {
	animation-duration: 5.0s;
	animation-delay: -1.7s;
}

.led-renew-section--scenes::before,
.led-renew-section--lineup::before {
	animation-delay: -0.9s;
}

.led-renew-section--reasons .led-renew-section__head {
	margin-bottom: 48px;
}

.led-renew-section--reasons .led-renew-section__title {
	padding-left: 0;
	font-size: 3.0rem;
	font-weight: 500;
	letter-spacing: 0;
}

.led-renew-section--reasons .led-renew-section__title::before {
	display: none;
}

.led-renew-section--reasons .led-renew-reasons {
	gap: 20px;
}

.led-renew-section--reasons .led-renew-reason-card {
	overflow: visible;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.led-renew-reason-card figure {
	margin: 0;
	aspect-ratio: 5 / 4;
}

.led-renew-reason-card__visual {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
}

.led-renew-section--reasons .led-renew-reason-card figure {
	aspect-ratio: 344 / 500;
}

.led-renew-reason-card__visual h3 {
	position: absolute;
	left: 0;
	bottom: 58px;
	z-index: 2;
	display: grid;
	justify-items: start;
	gap: 4px;
	margin: 0;
	color: #000;
	font-size: 4.0rem;
	font-weight: 900;
	line-height: 1.05;
	letter-spacing: 0;
}

.led-renew-reason-card__visual h3 {
	color: #000;
}

.led-renew-reason-card__label,
.led-renew-reason-card__title {
	display: inline-block;
	padding: 0 5px;
	background: #ffa400;
	color: #000;
}

.led-renew-reason-card__label {
	font-size: 2.4rem;
	line-height: 1.15;
}

.led-renew-reason-card__title {
	font-size: 4.0rem;
	line-height: 1.05;
}

.led-renew-reason-card__visual h3::after {
	display: none;
}

.led-renew-reason-card h3,
.led-renew-reason-card p {
	padding-right: 18px;
	padding-left: 18px;
}

.led-renew-reason-card h3 {
	margin-top: 18px;
}

.led-renew-reason-card p {
	padding-bottom: 22px;
}

.led-renew-section--reasons .led-renew-reason-card p {
	margin: 18px 0 0;
	padding: 0;
	color: #000;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.75;
}

.led-renew-section--reasons .led-renew-reason-card__visual h3 {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 2;
	display: grid;
	justify-items: start;
	gap: 4px;
	margin: 0;
	padding: 0;
	font-size: 4.0rem;
	font-weight: 900;
	line-height: 1.05;
	letter-spacing: 0;
}

.led-renew-section--reasons .led-renew-center {
	margin-top: 58px;
}

.led-renew-section--reasons .led-renew__button {
	min-width: 280px;
	min-height: 68px;
	color: #ffa400;
	font-size: 1.45rem;
	font-weight: 900;
}

.led-renew-section--works {
	--led-renew-divider-offset: 72px;
	--led-renew-divider-color: #111;
	padding: 72px 0 104px;
	border-top: 0;
	/* background: #f1f1f1; */
}

.led-renew-section--works .led-renew-section__head {
	margin-bottom: 50px;
}

.led-renew-section--works .led-renew-section__title {
	padding-left: 0;
	font-size: 3.0rem;
	font-weight: 500;
	letter-spacing: 0;
}

.led-renew-section--works .led-renew-section__title::before {
	display: none;
}

.led-renew-section--works .led-renew-section__lead {
	max-width: 720px;
	margin-top: 24px;
	color: #000;
	font-size: 1.45rem;
	line-height: 1.9;
}

.led-renew-works {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px 20px;
}

.led-renew-work-card a {
	display: block;
	color: inherit;
	text-decoration: none;
	transition: transform 0.35s ease;
}

.led-renew-work-card figure {
	margin: 0;
	overflow: hidden;
	aspect-ratio: 344 / 230;
	border-radius: 10px;
	background: #ddd;
}

.led-renew-work-card figure img {
	transition: transform 0.55s cubic-bezier(0.22, 0.61, 0.36, 1), filter 0.35s ease;
}

.led-renew-work-card h3 {
	min-height: 2.7em;
	margin: 20px 0 16px;
	padding: 0;
	color: #000;
	font-size: 1.75rem;
	font-weight: 900;
	line-height: 1.5;
	transition: color 0.3s ease;
}

.led-renew-work-card a:focus-visible {
	outline: 3px solid #ffa400;
	outline-offset: 6px;
}

@media (hover: hover) and (pointer: fine) {
	.led-renew-work-card a:hover {
		transform: translateY(-6px);
	}

	.led-renew-work-card a:hover figure img {
		transform: scale(1.06);
		filter: brightness(1.04);
	}

	.led-renew-work-card a:hover h3 {
		color: #d97f00;
	}
}

.led-renew-work-card__terms {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.led-renew-work-card__terms li {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding: 3px 14px;
	border: 1px solid #000;
	border-radius: 999px;
	background: #fff;
	color: #000;
	font-size: 1.05rem;
	font-weight: 500;
	line-height: 1.3;
}

.led-renew-works__empty {
	grid-column: 1 / -1;
	margin: 0;
	font-size: 1.4rem;
	line-height: 1.8;
}

.led-renew-section--works .led-renew-center {
	margin-top: 58px;
}

.led-renew-section--works .led-renew__button {
	min-width: 280px;
	min-height: 68px;
	color: #ffa400;
	font-size: 1.45rem;
	font-weight: 900;
}

.led-renew-section--flow {
	--led-renew-divider-offset: 72px;
	--led-renew-divider-color: #111;
	padding: 72px 0 104px;
	/* background: #f1f1f1; */
}

.led-renew-section--flow .led-renew-section__head {
	margin-bottom: 64px;
}

.led-renew-section--flow .led-renew-section__title {
	padding-left: 0;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.led-renew-section--flow .led-renew-section__title::before {
	display: none;
}

.led-renew-section--flow .led-renew-section__lead {
	max-width: 760px;
	margin-top: 24px;
	color: #000;
	font-size: 1.45rem;
	line-height: 1.9;
}

.led-renew-flow {
	display: grid;
	grid-template-columns: 400px minmax(0, 1fr);
	gap: 0;
	align-items: stretch;
}

.led-renew-flow__list {
	position: relative;
	z-index: 2;
	display: grid;
	margin: 0;
	padding: 34px 28px 34px 50px;
	border-radius: 24px;
	background: #d7dbe1;
	list-style: none;
}

/* 番号サークルを貫く縦の実線 */
.led-renew-flow__list::before {
	content: "";
	position: absolute;
	left: 72px;
	top: 0;
	bottom: 0;
	border-left: 1px solid #36383a;
	pointer-events: none;
}

.led-renew-flow__list li {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	min-height: 68px;
	padding: 0;
}

.led-renew-flow__list span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #36383a;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
}

.led-renew-flow__list strong {
	display: flex;
	align-items: center;
	color: #1c1c1c;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.45;
	white-space: nowrap;
}

/* 破線コネクタ + 終端の黒ドット */
.led-renew-flow__list strong::before {
	content: "";
	flex-shrink: 0;
	width: 42px;
	height: 7px;
	margin: 0 10px 0 0;
	background:
		radial-gradient(circle 3.5px at calc(100% - 3.5px) 50%, #36383a 98%, transparent) no-repeat,
		repeating-linear-gradient(90deg, #36383a 0 4px, transparent 4px 8px) left center / calc(100% - 10px) 1px no-repeat;
}

.led-renew-flow__img {
	position: relative;
	z-index: 1;
	margin: 28px 0;
	overflow: hidden;
	border-radius: 0 24px 24px 0;
}

.led-renew-flow__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 78% center;
}

.led-renew-section--compare {
	--led-renew-divider-offset: 72px;
	position: relative;
	overflow: hidden;
	padding: 72px 0 100px;
	border-top: 0;
	/* background: #f1f1f1; */
}

.led-renew-section--compare::before {
	display: none;
}

.led-renew-section--compare::after {
	display: none;
}

/* 汎用: 背景円アニメーション (js/float-circles.js とセットで使用)
   data-float-circles 属性を付けた要素に適用される */
.has-float-circles {
	position: relative;
	z-index: 0;
}

.float-circles {
	position: absolute;
	inset: 0;
	z-index: -1;
	overflow: hidden;
	pointer-events: none;
}

/* body に data-float-circles を付けた場合のページ全体レイヤー */
.float-circles--fixed {
	position: fixed;
}

.float-circles__circle {
	position: absolute;
	border-radius: 50%;
	transform: scale(0);
	will-change: transform;
}

/* ledvision: 円アニメーションと入れ替えた静的ドット装飾を無効化 */
.led-renew-section--about::before,
.led-renew-section--about::after,
.led-renew-section--scenes::before,
.led-renew-section--scenes::after,
.led-renew-section--lineup::before,
.led-renew-section--lineup::after,
.led-renew-section--reasons::before {
	display: none;
}

/* ページ背景は body 側に置く(z-index:-1 の円レイヤーより背面になる) */
.led-renew-body {
	background: #f1f1f1;
}

.led-renew-section--compare .led-renew__inner {
	position: relative;
	z-index: 1;
}

.led-renew-section--compare .led-renew-section__head {
	margin-bottom: 64px;
}

.led-renew-section--compare .led-renew-section__title {
	padding-left: 0;
	font-size: 3.0rem;
	font-weight: 500;
	letter-spacing: 0;
}

.led-renew-section--compare .led-renew-section__title::before {
	display: none;
}

.led-renew-section--compare .led-renew-section__lead {
	max-width: 970px;
	margin-top: 24px;
	color: #000;
	font-size: 1.45rem;
	line-height: 1.9;
}

.led-renew-price {
	position: relative;
	z-index: 1;
	padding: 40px;
	border-radius: 20px;
	background: #fff;
}

.led-renew-table--price {
	border-collapse: collapse;
	border: 1px solid #c8c8c8;
	border-radius: 0;
	background: #eee;
	font-size: 1.25rem;
	line-height: 1.65;
	table-layout: fixed;
}

.led-renew-table--price tr {
	border: none !important;
}

.led-renew-table--price th,
.led-renew-table--price td {
	width: auto;
	padding: 10px 14px;
	border: 1px solid #c8c8c8;
	background: #eee;
	color: #000;
	font-weight: 500;
	text-align: left;
	vertical-align: middle;
}

.led-renew-table--price thead th {
	background: #8f979d;
	color: #fff;
	font-weight: 900;
	text-align: center;
}

.led-renew-table--price thead th:first-child {
	width: 21%;
	background: #d0d0d0;
}

.led-renew-table--price thead th:last-child,
.led-renew-table--price tbody td {
	width: 79%;
}

.led-renew-table--price tbody th {
	width: 21%;
	font-weight: 500;
	text-align: left;
}

.led-renew-table--price th:last-child,
.led-renew-table--price td:last-child {
	border-right: 1px solid #c8c8c8;
}

.led-renew-table--price tbody tr:last-child th,
.led-renew-table--price tbody tr:last-child td {
	border-bottom: 1px solid #c8c8c8;
}

.led-renew-price__link {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 6px;
	margin-top: 12px;
	color: #000;
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
	transition: color 0.2s ease;
}

.led-renew-price__link span {
	color: #ffa400;
	transition: transform 0.2s ease;
}

.led-renew-price__link:hover {
	color: #ffa400;
}

.led-renew-price__link:hover span {
	transform: translateX(4px);
}

.led-renew-section--compare .led-renew-center {
	margin-top: 60px;
}

.led-renew-section--compare .led-renew__button {
	min-width: 280px;
	min-height: 68px;
	color: #ffa400;
	font-size: 1.45rem;
	font-weight: 900;
}

.led-renew-message {
	/* padding: 0 0 86px 0; */
	background: #fff;
	text-align: left;
}

.led-renew-message .ledAboutMain {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background:
		radial-gradient(circle at 82% 18%, rgba(255, 164, 0, 0.3) 0, rgba(255, 164, 0, 0.08) 18%, transparent 42%),
		linear-gradient(125deg, #080808 0%, #1d1d1d 58%, #292929 100%);
}

.led-renew-message .ledAboutMain::before {
	content: "";
	position: absolute;
	top: -180px;
	right: -80px;
	z-index: 0;
	width: 430px;
	height: 430px;
	border: 1px solid rgba(255, 164, 0, 0.55);
	border-radius: 50%;
	box-shadow: 0 0 70px rgba(255, 164, 0, 0.12);
	pointer-events: none;
}

.led-renew-message .ledAboutMain::after {
	content: "";
	position: absolute;
	top: 38px;
	left: -4%;
	z-index: 0;
	width: 46%;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.38), transparent);
	transform: rotate(-8deg);
	transform-origin: center;
	pointer-events: none;
}

.led-renew-message .ledAboutMain__ttl {
	position: relative;
	z-index: 1;
	max-width: 1060px;
	text-align: center;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.45);
}

.led-renew-message .ledAboutMain__ttl::before {
	content: "";
	display: block;
	width: 52px;
	height: 4px;
	margin: 0 auto 22px;
	border-radius: 999px;
	background: #ffa400;
}

.led-renew-message .ledAboutMain__inner {
	position: relative;
	z-index: 1;
	box-shadow: 0 -14px 40px rgba(0, 0, 0, 0.18);
}

/* LEDビジョン選定ガイド（2026年パンフレット準拠） */
.led-selection {
	--selection-red: #e32636;
	--selection-blue: #126394;
	--selection-navy: #152536;
	--selection-pale: #edf3f7;
	background: #fff;
	color: var(--selection-navy);
}

.led-selection *,
.led-selection *::before,
.led-selection *::after {
	box-sizing: border-box;
}

.led-selection__inner {
	width: min(100% - 48px, 1060px);
	margin: 0 auto;
}

.led-selection__hero {
	position: relative;
	overflow: hidden;
	padding: 88px 0 82px;
	background:
		radial-gradient(circle at 86% 18%, rgba(227, 38, 54, 0.22), transparent 28%),
		linear-gradient(125deg, #0d1b28 0%, #17354b 66%, #0d5578 100%);
	color: #fff;
}

.led-selection__hero::after {
	content: "";
	position: absolute;
	right: -110px;
	top: -180px;
	width: 480px;
	height: 480px;
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: 50%;
}

.led-selection__eyebrow {
	margin: 0 0 16px;
	color: rgba(255, 255, 255, 0.68);
	font-family: Arial, sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.28em;
}

.led-selection__hero h2 {
	position: relative;
	z-index: 1;
	margin: 0;
	font-size: clamp(3.2rem, 5vw, 5.4rem);
	font-weight: 900;
	line-height: 1.25;
	letter-spacing: 0.01em;
}

.led-selection__hero h2::after {
	content: "";
	display: block;
	width: 72px;
	height: 5px;
	margin-top: 28px;
	border-radius: 99px;
	background: var(--selection-red);
}

.led-selection__intro {
	position: relative;
	z-index: 1;
	max-width: 760px;
	margin: 28px 0 0;
	color: rgba(255, 255, 255, 0.86);
	font-size: 1.45rem;
	line-height: 1.9;
}

.led-selection__points {
	padding: 76px 0 104px;
}

.led-selection-point {
	padding: 0 0 76px;
	margin-bottom: 76px;
	border-bottom: 1px solid #cbd6de;
}

.led-selection-point:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: 0;
}

.led-selection-point__head {
	display: flex;
	align-items: flex-start;
	gap: 22px;
	margin-bottom: 20px;
}

.led-selection-point__head > span {
	flex: 0 0 auto;
	padding: 8px 18px;
	border-radius: 4px;
	background: var(--selection-red);
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0.08em;
}

.led-selection-point__head h3 {
	margin: 0;
	color: var(--selection-navy);
	font-size: 2.45rem;
	font-weight: 900;
	line-height: 1.35;
}

.led-selection-point__head p {
	margin: 5px 0 0;
	color: #788693;
	font-size: 1.2rem;
	line-height: 1.5;
}

.led-selection-point__lead {
	margin: 0 0 32px;
	color: #3e4a55;
	font-size: 1.35rem;
	line-height: 1.9;
}

.led-selection-point__media {
	display: grid;
	grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
	align-items: stretch;
	gap: 34px;
}

.led-selection-point__media > *,
.led-ip-layout > * {
	min-width: 0;
}

.led-selection-point__media--reverse {
	grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
}

.led-selection-point__media--reverse figure {
	grid-column: 2;
	grid-row: 1;
}

.led-selection-point__media--reverse > div {
	grid-column: 1;
	grid-row: 1;
}

.led-selection-point__media figure,
.led-selection-point__wide-image {
	overflow: hidden;
	margin: 0;
	border-radius: 16px;
	background: #dfe7ec;
}

.led-selection-point__media figure {
	min-height: 330px;
}

.led-selection-point__media figure img,
.led-selection-point__wide-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.led-selection-point__wide-image {
	height: 420px;
	margin-bottom: 32px;
}

.led-brightness {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	align-items: stretch;
	gap: 12px;
}

.led-brightness__direction {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	padding: 2px 0;
	color: #7e8992;
	font-size: 1.05rem;
	font-weight: 700;
}

.led-brightness__direction::after {
	content: "";
	position: absolute;
	top: 30px;
	bottom: 30px;
	left: 50%;
	width: 4px;
	border-radius: 999px;
	background: linear-gradient(to bottom, #a9c6d8 0%, var(--selection-blue) 48%, var(--selection-red) 100%);
	transform: translateX(-50%);
}

.led-brightness__direction span {
	position: relative;
	z-index: 1;
	padding: 2px 4px;
	background: #fff;
	white-space: nowrap;
}

.led-brightness__direction span:last-child {
	color: var(--selection-red);
}

.led-brightness ol {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.led-brightness li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: baseline;
	gap: 8px;
	padding: 11px 14px;
	border-left: 5px solid var(--selection-blue);
	background: linear-gradient(90deg, var(--selection-pale), #fff);
}

.led-brightness li:nth-child(4),
.led-brightness li:nth-child(5) {
	border-left-color: var(--selection-red);
}

.led-brightness li span {
	font-size: 1.1rem;
	font-weight: 700;
}

.led-brightness li strong {
	color: var(--selection-blue);
	font-size: 1.5rem;
}

.led-brightness li small {
	font-size: 0.95rem;
}

.led-formula {
	margin-bottom: 22px;
	padding: 24px 26px;
	border-left: 8px solid var(--selection-red);
	background: var(--selection-pale);
}

.led-formula > span {
	display: block;
	margin-bottom: 8px;
	color: #667683;
	font-size: 1.1rem;
	font-weight: 800;
}

.led-formula strong {
	display: block;
	font-size: 2.05rem;
	line-height: 1.4;
}

.led-formula em {
	color: var(--selection-red);
	font-style: normal;
}

.led-formula p {
	margin: 8px 0 0;
	color: #667683;
	font-size: 1.05rem;
}

.led-selection-table-wrap {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.led-selection-table {
	display: table;
	width: 100%;
	max-width: 100%;
	margin: 0;
	border-collapse: collapse;
	border-spacing: 0;
	background: #fff;
	font-size: 1.05rem;
	line-height: 1.45;
	table-layout: fixed;
}

.led-selection-table th,
.led-selection-table td {
	display: table-cell;
	width: auto;
	min-width: 0;
	padding: 11px 12px;
	border-bottom: 1px solid #cbd6de;
	vertical-align: middle;
	white-space: normal;
	word-break: normal;
	overflow-wrap: anywhere;
	text-align: left;
}

.led-selection-table thead th {
	background: #e8eef2;
	color: #586976;
	font-weight: 800;
}

.led-selection-table tbody th {
	color: var(--selection-navy);
	font-weight: 800;
}

.led-selection-table td strong {
	color: var(--selection-blue);
}

.led-selection-point__media .led-selection-table th,
.led-selection-point__media .led-selection-table td {
	width: 33.333%;
}

.led-refresh-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
}

.led-refresh-list li {
	padding: 18px 14px;
	border: 1px solid #d1dbe2;
	border-radius: 10px;
	background: #fff;
	text-align: center;
}

.led-refresh-list strong,
.led-refresh-list span {
	display: block;
}

.led-refresh-list strong {
	margin-bottom: 4px;
	color: var(--selection-blue);
	font-size: 1.6rem;
}

.led-refresh-list span {
	color: #667683;
	font-size: 1.0rem;
}

.led-selection-note {
	margin: 0;
	padding: 18px 20px;
	border-left: 7px solid var(--selection-blue);
	background: var(--selection-pale);
	font-size: 1.05rem;
	line-height: 1.75;
}

.led-selection-note strong {
	display: block;
	margin-bottom: 4px;
	color: var(--selection-red);
	font-size: 1.25rem;
}

.led-maintenance-grid,
.led-cabinet-grid {
	display: grid;
	gap: 16px;
}

.led-maintenance-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 20px;
}

.led-maintenance-grid section {
	padding: 24px;
	border-top: 5px solid var(--selection-blue);
	background: var(--selection-pale);
}

.led-maintenance-grid h4,
.led-cabinet-grid h4 {
	margin: 0 0 10px;
	font-size: 1.3rem;
	font-weight: 900;
	line-height: 1.45;
}

.led-maintenance-grid p,
.led-cabinet-grid p {
	margin: 0;
	color: #586672;
	font-size: 1.0rem;
	line-height: 1.75;
}

.led-maintenance-grid ul {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.led-maintenance-grid li {
	padding: 3px 8px;
	border: 1px solid #8fc5ab;
	background: #fff;
	color: #38855f;
	font-size: 0.9rem;
}

.led-cabinet-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-bottom: 24px;
}

.led-cabinet-grid section {
	padding: 20px;
	border-left: 5px solid var(--selection-blue);
	background: #fff;
	box-shadow: inset 0 0 0 1px #d3dde4;
}

.led-ip-layout {
	display: grid;
	grid-template-columns: 0.72fr 1.28fr;
	gap: 18px;
	margin-bottom: 18px;
}

.led-ip-layout .led-selection-table th:first-child,
.led-ip-layout .led-selection-table td:first-child {
	width: 27%;
}

.led-ip-layout .led-selection-table th:nth-child(2),
.led-ip-layout .led-selection-table td:nth-child(2) {
	width: 21%;
}

.led-ip-layout .led-selection-table th:nth-child(3),
.led-ip-layout .led-selection-table td:nth-child(3) {
	width: 52%;
}

.led-ip-guide {
	padding: 22px 24px;
	border-left: 7px solid var(--selection-blue);
	background: var(--selection-pale);
}

.led-ip-guide > span {
	display: block;
	color: #637582;
	font-size: 1.05rem;
	font-weight: 800;
}

.led-ip-guide > strong {
	display: block;
	margin: 8px 0;
	font-size: 3.0rem;
	line-height: 1;
}

.led-ip-guide em {
	margin-left: 8px;
	color: var(--selection-red);
	font-style: normal;
	text-decoration: underline;
}

.led-ip-guide p {
	margin: 5px 0 0;
	font-size: 0.95rem;
}

.led-option-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 18px;
	padding: 14px 16px;
	background: #e8eef2;
}

.led-option-list strong {
	margin-right: 12px;
	font-size: 1.05rem;
}

.led-option-list span {
	padding: 5px 12px;
	border: 1px solid var(--selection-red);
	background: #fff;
	color: var(--selection-red);
	font-size: 0.95rem;
	font-weight: 700;
}

.led-wire-compare {
	padding: 22px 24px;
	border: 1px solid #e5c363;
	background: #fff9e9;
}

.led-wire-compare h4 {
	margin: 0 0 14px;
	color: #98751e;
	font-size: 1.2rem;
}

.led-wire-compare > div {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.led-wire-compare section > strong {
	display: inline-block;
	margin-bottom: 8px;
	padding: 4px 12px;
	background: #9b8022;
	color: #fff;
}

.led-wire-compare section:first-child > strong {
	background: #b29a14;
}

.led-wire-compare p {
	margin: 4px 0;
	font-size: 0.95rem;
	line-height: 1.65;
}

.led-system {
	padding: 96px 0 110px;
	background: #f2f5f7;
}

.led-system__head {
	margin-bottom: 48px;
}

.led-system__head > p:first-child {
	margin: 0 0 10px;
	color: #7b8994;
	font-family: Arial, sans-serif;
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: 0.24em;
}

.led-system__head h2 {
	margin: 0;
	color: var(--selection-navy);
	font-size: clamp(3.0rem, 4.5vw, 4.8rem);
	font-weight: 900;
	line-height: 1.3;
}

.led-system__head h2::after {
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	margin-top: 24px;
	background: #cbd6de;
}

.led-system__head > p:last-child {
	max-width: 820px;
	margin: 24px 0 0;
	color: #52616d;
	font-size: 1.35rem;
	line-height: 1.85;
}

.led-system__cases {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: 20px;
}

.led-system-case {
	--case-color: #657581;
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid #cbd6de;
	border-top: 7px solid var(--case-color);
	background: #fff;
}

.led-system-case--cloud { --case-color: #126394; }
.led-system-case--remote { --case-color: #26909a; }
.led-system-case--usb { --case-color: #e32636; }

.led-system-case > header {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	min-height: 84px;
	padding: 14px 16px;
	background: #e8eef2;
}

.led-system-case > header > span {
	flex: 0 0 auto;
	padding: 5px 10px;
	border-radius: 4px;
	background: var(--case-color);
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 0.95rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.led-system-case > header h3 {
	margin: 0;
	font-size: 1.3rem;
	font-weight: 900;
	line-height: 1.35;
}

.led-system-case > header p {
	margin: 2px 0 0;
	color: #6f7e89;
	font-size: 0.9rem;
}

.led-system-case__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 16px;
}

.led-system-case__overview {
	margin-bottom: 20px;
}

.led-system-case__overview p {
	margin: 0 0 12px;
	color: #44525e;
	font-size: 1.0rem;
	line-height: 1.65;
}

.led-system-case__overview ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.led-system-case__overview ul li {
	padding: 3px 8px;
	border: 1px solid #cbd6de;
	background: #f8fafb;
	color: #63727e;
	font-size: 0.82rem;
}

.led-system-diagram {
	width: 100%;
	margin-top: auto;
	overflow: hidden;
	border: 1px solid #d3dce2;
	background: #eef1f3;
	-webkit-overflow-scrolling: touch;
}

.led-system-case--usb .led-system-diagram {
	background: linear-gradient(90deg, #eef1f3 0 50%, #fff 50% 100%);
}

.led-system-diagram ol {
	display: grid;
	grid-template-columns: repeat(var(--node-count), minmax(0, 1fr));
	align-items: center;
	gap: 12px;
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 18px 10px 14px;
	list-style: none;
}

.led-system-diagram li {
	position: relative;
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	min-height: 82px;
	color: #126394;
	text-align: center;
}

.led-system-diagram li > span {
	display: grid;
	place-items: center;
	width: min(100%, 58px);
	height: 46px;
	margin-bottom: 5px;
	color: inherit;
}

.led-system-diagram li svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.led-system-diagram li svg .screen {
	fill: rgba(18, 99, 148, 0.13);
}

.led-system-diagram li strong {
	color: #263743;
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.35;
}

.led-system-diagram li:not(:last-child)::after {
	content: "";
	position: absolute;
	right: -11px;
	top: 23px;
	width: 12px;
	border-top: 2px solid var(--case-color);
}

.led-system-diagram li:not(:last-child)::before {
	content: "";
	position: absolute;
	right: -11px;
	top: 20px;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 6px solid var(--case-color);
}

.led-system-diagram li.is-cloud {
	color: #7a2aa6;
}

.led-system-diagram li.is-usb {
	color: #d89500;
}

.led-system-diagram li.is-display {
	color: var(--selection-red);
}

.led-system-diagram li.is-display svg .screen {
	fill: rgba(227, 38, 54, 0.12);
}

.led-system-compare {
	margin-top: 26px;
}

.led-system-compare .led-selection-table {
	display: table;
	width: 100%;
	min-width: 720px;
	text-align: center;
	table-layout: fixed;
}

.led-system-compare .led-selection-table th,
.led-system-compare .led-selection-table td {
	text-align: center;
}

.led-system-compare .led-selection-table th:first-child {
	text-align: left;
}

.led-system-compare small {
	font-weight: 500;
}

@media screen and (max-width: 920px) {
	.led-selection-point__media,
	.led-selection-point__media--reverse,
	.led-ip-layout {
		grid-template-columns: 1fr;
	}

	.led-selection-point__media--reverse figure,
	.led-selection-point__media--reverse > div {
		grid-column: auto;
		grid-row: auto;
	}

	.led-selection-point__media--reverse figure {
		order: -1;
	}

	.led-maintenance-grid {
		grid-template-columns: 1fr;
	}

	.led-cabinet-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (max-width: 767px) {
	.led-selection__inner {
		width: min(100% - 28px, 520px);
	}

	.led-selection__hero {
		padding: 58px 0 54px;
	}

	.led-selection__hero h2 {
		font-size: 3.0rem;
	}

	.led-selection__intro,
	.led-system__head > p:last-child {
		font-size: 1.18rem;
	}

	.led-selection__points {
		padding: 52px 0 72px;
	}

	.led-selection-point {
		padding-bottom: 54px;
		margin-bottom: 54px;
	}

	.led-selection-point__head {
		display: block;
	}

	.led-selection-point__head > span {
		display: inline-block;
		margin-bottom: 14px;
		font-size: 1.0rem;
	}

	.led-selection-point__head h3 {
		font-size: 2.0rem;
	}

	.led-selection-point__lead {
		font-size: 1.18rem;
	}

	.led-selection-point__media {
		gap: 22px;
	}

	.led-selection-point__media figure {
		min-height: 0;
		aspect-ratio: 16 / 9;
	}

	.led-selection-point__wide-image {
		height: auto;
		aspect-ratio: 16 / 9;
	}

	.led-brightness li {
		grid-template-columns: 1fr auto;
	}

	.led-brightness li small {
		grid-column: 2;
	}

	.led-formula strong {
		font-size: 1.65rem;
	}

	.led-refresh-list,
	.led-cabinet-grid,
	.led-wire-compare > div {
		grid-template-columns: 1fr;
	}

	.led-ip-layout .led-selection-table {
		min-width: 0;
		font-size: 0.92rem;
	}

	.led-ip-layout .led-selection-table th,
	.led-ip-layout .led-selection-table td {
		padding: 9px 7px;
	}

	.led-option-list {
		align-items: flex-start;
	}

	.led-option-list strong {
		width: 100%;
	}

	.led-system {
		padding: 68px 0 76px;
	}

	.led-system__head h2 {
		font-size: 2.75rem;
	}

	.led-system-case > header {
		align-items: flex-start;
		padding: 16px;
	}

	.led-system-case > header h3 {
		font-size: 1.3rem;
	}

	.led-system-case__body {
		padding: 16px;
	}

	.led-system-case__overview p {
		font-size: 1.05rem;
	}
}

.led-renew-section--faq {
	--led-renew-divider-offset: 72px;
	--led-renew-divider-color: #111;
	padding: 72px 0 104px;
	border-top: 0;
	/* background: #f1f1f1; */
}

.led-renew-section--faq .led-renew-section__head {
	margin-bottom: 42px;
}

.led-renew-section--faq .led-renew-section__title {
	padding-left: 0;
	font-size: 3.0rem;
	font-weight: 500;
	letter-spacing: 0;
}

.led-renew-section--faq .led-renew-section__title::before {
	display: none;
}

.led-renew-faq {
	display: grid;
	gap: 20px;
}

.led-renew-faq details {
	overflow: hidden;
	border-radius: 18px;
	background: #fff;
	box-shadow: none;
}

.led-renew-faq summary {
	position: relative;
	display: block;
	min-height: 80px;
	padding: 28px 88px 24px 40px;
	cursor: pointer;
	color: #000;
	font-size: 1.7rem;
	font-weight: 900;
	line-height: 1.55;
}

.led-renew-faq summary::-webkit-details-marker {
	display: none;
}

.led-renew-faq summary::after {
	content: "";
	position: absolute;
	right: 40px;
	top: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #000;
	color: #fff;
	line-height: 1;
	transform: translateY(-50%);
	transition: background-color 0.2s ease;
}

.led-renew-faq summary::before {
	content: "";
	position: absolute;
	right: 55px;
	top: 50%;
	z-index: 1;
	width: 10px;
	height: 10px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: translateY(-68%) rotate(45deg);
	transition: border-color 0.2s ease, transform 0.2s ease;
}

.led-renew-faq details[open] summary::before {
	transform: translateY(-30%) rotate(225deg);
}

@media (hover: hover) and (pointer: fine) {
	.led-renew-faq summary:hover::after {
		background-color: #ffa400;
	}

	.led-renew-faq summary:hover::before {
		border-color: #000;
	}
}

.led-renew-faq__answer {
	padding: 0 88px 32px 40px;
	color: #000;
	font-size: 1.35rem;
	font-weight: 500;
	line-height: 1.9;
}

.led-renew-faq__answer p {
	margin: 0;
}

.led-renew-faq__answer p + p {
	margin-top: 1em;
}

.led-renew-faq__empty {
	margin: 0;
	padding: 28px 40px;
	border-radius: 18px;
	background: #fff;
	font-size: 1.4rem;
	line-height: 1.8;
}

.led-renew-consult {
	min-height: 300px;
	padding: 54px 0;
	background: #6f7a7d url("../img/consultation_bg.webp") center center / cover no-repeat;
}

.led-renew-consult__body {
	width: min(100%, 700px);
}

.led-renew-consult h2 {
	display: inline;
	margin: 0;
	padding: 2px 8px;
	background: #fff;
	font-size: 2.6rem;
	font-weight: 900;
	line-height: 1.55;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

.led-renew-consult p {
	width: fit-content;
	margin: 24px 0;
	padding: 2px 8px;
	background: #fff;
	font-size: 1.35rem;
	font-weight: 800;
	line-height: 1.8;
}

.led-renew-section--services {
	/* background: #ededed; */
}

.led-renew-service-links {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.led-renew-service-link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.led-renew-service-link figure {
	margin: 0;
	aspect-ratio: 16 / 10;
}

.led-renew-service-link span {
	display: block;
	padding: 13px 16px 16px;
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1.4;
}

@media screen and (max-width: 920px) {
	.led-renew__inner {
		width: min(100% - 36px, 720px);
	}

	.led-renew-hero .led-renew__inner {
		width: min(100% - 36px, 720px);
	}

	.led-renew-about,
	.led-renew-flow,
	.led-renew-product-card,
	.led-renew-product-card:nth-child(even) {
		grid-template-columns: 1fr;
	}

	.led-renew-product-card:nth-child(even) .led-renew-product-card__body,
	.led-renew-product-card:nth-child(even) .led-renew-product-card__img {
		grid-column: auto;
		grid-row: auto;
	}

	.led-renew-reasons,
	.led-renew-works,
	.led-renew-service-links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.led-renew-hero__visual {
		margin-right: 0;
	}

	.led-renew-hero__decor {
		right: -40px;
		top: -156px;
		width: 620px;
		height: 590px;
	}

	.led-renew-hero__copy {
		right: 24px;
		bottom: -20px;
		gap: 18px;
	}

	.led-renew-hero__points li {
		font-size: 1.45rem;
	}

	.led-renew-hero__copy .led-renew__button {
		min-width: 210px;
		min-height: 56px;
		padding: 0 28px;
	}

	.led-renew-section--flow .led-renew-section__head {
		margin-bottom: 36px;
	}

	.led-renew-flow {
		gap: 0;
	}

	.led-renew-flow__img {
		margin: 0;
		border-radius: 0 0 16px 16px;
		aspect-ratio: 16 / 10;
	}
}

@media screen and (max-width: 767px) {
	.led-renew-main {
		margin-top: 0;
	}

	.led-renew {
		padding-top: 0;
	}

	.led-renew-hero {
		padding-top: 28px;
	}

	.led-renew__inner {
		width: min(100% - 28px, 520px);
	}

	.led-renew-hero__title {
		font-size: 5.1rem;
	}

	.led-renew-hero__eyebrow {
		font-size: 1.45rem;
	}

	.led-renew-hero__head {
		padding-bottom: 20px;
	}

	.led-renew-hero__decor {
		right: -210px;
		top: -132px;
		width: 560px;
		height: 510px;
	}

	.led-renew-hero__visual img {
		height: 360px;
		object-fit: cover;
		object-position: center center;
	}

	.led-renew-hero__copy {
		position: static;
		left: 0;
		right: 0;
		bottom: 18px;
		display: grid;
		gap: 14px;
		width: auto;
		margin-top: 12px;
		padding: 0;
	}

	.led-renew-hero__points {
		gap: 2px;
		max-width: none;
	}

	.led-renew-hero__points li {
		font-size: 1.18rem;
	}

	.led-renew-hero__copy .led-renew__button {
		position: static;
		justify-self: stretch;
		min-width: 0;
		width: 100%;
		min-height: 50px;
		padding: 0 18px;
		font-size: 1.2rem;
	}

	.led-renew-section {
		--led-renew-divider-offset: 42px;
		padding: 42px 0;
	}

	.led-renew-section--about {
		padding-bottom: 62px;
	}

	.led-renew-section--about::before {
		right: 18px;
		bottom: 92px;
	}

	.led-renew-section--about::after {
		right: 42px;
		bottom: 28px;
		width: 24px;
		height: 24px;
	}

	.led-renew-section--scenes {
		--led-renew-divider-offset: 48px;
		padding: 48px 0 64px;
	}

	.led-renew-section--scenes::before {
		left: 12px;
		top: 110px;
		width: 22px;
		height: 22px;
	}

	.led-renew-section--scenes::after {
		right: 16px;
		top: auto;
		bottom: 28px;
		width: 24px;
		height: 24px;
	}

	.led-renew-section--scenes .led-renew-section__title {
		font-size: 2.2rem;
	}

	.led-renew-section--scenes .led-renew-section__lead {
		font-size: 1.25rem;
	}

	.led-renew-section--lineup {
		--led-renew-divider-offset: 48px;
		padding: 48px 0 64px;
	}

	.led-renew-section--lineup::before {
		right: 20px;
		top: 100px;
	}

	.led-renew-section--lineup::after {
		right: 14px;
		top: auto;
		bottom: 120px;
	}

	.led-renew-section--lineup .led-renew-section__title {
		font-size: 2.2rem;
	}

	.led-renew-section--lineup .led-renew-section__lead {
		font-size: 1.25rem;
	}

	.led-renew-section--reasons {
		--led-renew-divider-offset: 48px;
		padding: 48px 0 66px;
	}

	.led-renew-section--reasons::before {
		left: 16px;
		top: 54px;
	}

	.led-renew-section--reasons .led-renew-section__title {
		font-size: 2.2rem;
	}

	.led-renew-section--reasons .led-renew-reason-card__visual h3 {
		bottom: 0;
	}

	.led-renew-section--reasons .led-renew-reason-card__label {
		font-size: 1.85rem;
	}

	.led-renew-section--reasons .led-renew-reason-card__title {
		font-size: 3.1rem;
	}

	.led-renew-section--reasons .led-renew__button {
		min-width: 0;
		width: 100%;
		min-height: 56px;
		font-size: 1.25rem;
	}

	.led-renew-section--works {
		--led-renew-divider-offset: 48px;
		padding: 48px 0 66px;
	}

	.led-renew-section--works .led-renew-section__title {
		font-size: 2.2rem;
	}

	.led-renew-section--works .led-renew-section__lead {
		font-size: 1.25rem;
	}

	.led-renew-work-card h3 {
		min-height: 0;
		margin-top: 14px;
		font-size: 1.45rem;
	}

	.led-renew-section--works .led-renew__button {
		min-width: 0;
		width: 100%;
		min-height: 56px;
		font-size: 1.25rem;
	}

	.led-renew-section--flow {
		--led-renew-divider-offset: 48px;
		padding: 48px 0 66px;
	}

	.led-renew-section--flow .led-renew-section__head {
		margin-bottom: 28px;
	}

	.led-renew-section--flow .led-renew-section__title {
		font-size: 2.2rem;
	}

	.led-renew-section--flow .led-renew-section__lead {
		margin-top: 18px;
		font-size: 1.25rem;
	}

	.led-renew-flow__list {
		padding: 22px 18px 22px 24px;
		border-radius: 16px 16px 0 0;
	}

	.led-renew-flow__list::before {
		left: 44px;
		top: 0;
		bottom: 0;
	}

	.led-renew-flow__list li {
		min-height: 58px;
	}

	.led-renew-flow__list span {
		width: 40px;
		height: 40px;
		font-size: 1.35rem;
	}

	.led-renew-flow__list strong {
		font-size: 1.35rem;
	}

	.led-renew-flow__list strong::before {
		width: 28px;
		margin: 0 8px 0 0;
	}

	.led-renew-flow__img {
		aspect-ratio: 16 / 10;
	}

	.led-renew-section--compare {
		--led-renew-divider-offset: 48px;
		padding: 48px 0 66px;
	}

	.led-renew-section--compare .led-renew-section__head {
		margin-bottom: 28px;
	}

	.led-renew-section--compare .led-renew-section__title {
		font-size: 2.2rem;
	}

	.led-renew-section--compare .led-renew-section__lead {
		margin-top: 18px;
		font-size: 1.25rem;
	}

	.led-renew-price {
		padding: 18px;
		border-radius: 16px;
	}

	.led-renew-table--price {
		border: 0;
		background: transparent;
		font-size: 1.15rem;
	}

	.led-renew-table--price thead {
		display: none;
	}

	.led-renew-table--price tbody,
	.led-renew-table--price tr,
	.led-renew-table--price th,
	.led-renew-table--price td {
		display: block;
		width: 100%;
	}

	.led-renew-table--price tr {
		overflow: hidden;
		margin-bottom: 10px;
		border: 1px solid #bdbdbd !important;
		border-radius: 8px;
		background: #eee;
	}

	.led-renew-table--price tr:last-child {
		margin-bottom: 0;
	}

	.led-renew-table--price th,
	.led-renew-table--price td {
		padding: 10px 12px;
		border: 0;
		white-space: normal;
	}

	.led-renew-table--price tbody th {
		width: 100%;
		border-bottom: 1px solid #bdbdbd;
		background: #d8d8d8;
		font-weight: 800;
	}

	.led-renew-table--price tbody td {
		border-bottom: 0;
	}

	.led-renew-price__link {
		min-width: 0;
		font-size: 1.2rem;
	}

	.led-renew-section--compare .led-renew-center {
		margin-top: 34px;
	}

	.led-renew-section--compare .led-renew__button {
		min-width: 0;
		width: 100%;
		min-height: 56px;
		font-size: 1.25rem;
	}

	.led-renew-section--faq {
		--led-renew-divider-offset: 48px;
		padding: 48px 0 66px;
	}

	.led-renew-section--faq .led-renew-section__head {
		margin-bottom: 28px;
	}

	.led-renew-section--faq .led-renew-section__title {
		font-size: 2.2rem;
	}

	.led-renew-faq {
		gap: 14px;
	}

	.led-renew-faq details {
		border-radius: 14px;
	}

	.led-renew-faq summary {
		min-height: 64px;
		padding: 20px 62px 18px 18px;
		font-size: 1.35rem;
	}

	.led-renew-faq summary::after {
		right: 18px;
		width: 34px;
		height: 34px;
	}

	.led-renew-faq summary::before {
		right: 31px;
		width: 8px;
		height: 8px;
	}

	.led-renew-faq__answer {
		padding: 0 18px 22px;
		font-size: 1.2rem;
	}

	.led-renew-section__title {
		font-size: 2.0rem;
	}

	.led-renew-about__text {
		font-size: 1.25rem;
	}

	.led-renew-about__table-wrap {
		margin-top: 26px;
		padding: 18px;
		overflow-x: auto;
		border-radius: 16px;
		background: #fff;
	}

	.led-renew-scenes,
	.led-renew-reasons,
	.led-renew-works,
	.led-renew-service-links {
		grid-template-columns: 1fr;
	}

	.led-renew-section--scenes .led-renew-scene-card {
		padding: 24px 18px 26px;
	}

	.led-renew-section--scenes .led-renew-scene-card h3 {
		width: min(100%, 240px);
		margin-bottom: 20px;
		font-size: 1.35rem;
	}

	.led-renew-section--scenes .led-renew-scene-card p {
		font-size: 1.2rem;
	}

	.led-renew-product-card {
		padding: 22px 18px 24px;
	}

	.led-renew-product-card__body h3 {
		font-size: 1.9rem;
	}

	.led-renew-product-card__subtitle {
		margin-bottom: 14px;
		font-size: 1.2rem;
	}

	.led-renew-product-card__body p:not(.led-renew-product-card__subtitle) {
		margin-bottom: 20px;
		font-size: 1.18rem;
	}

	.led-renew-table th,
	.led-renew-table td {
		display: block;
		width: 100%;
	}

	.led-renew-table--compare {
		min-width: 720px;
	}

	.led-renew-table--compare th,
	.led-renew-table--compare td {
		display: table-cell;
		width: auto;
		padding: 12px 14px;
		white-space: nowrap;
	}

	.led-renew-table--compare tbody th {
		width: 20%;
	}

	.led-renew-message {
		padding: 58px 0;
	}

	.led-renew-message p {
		font-size: 1.25rem;
	}

	.led-renew-consult {
		padding: 42px 0;
		background-position: 67% center;
	}

	.led-renew-consult h2 {
		font-size: 2.0rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.led-renew-work-card a,
	.led-renew-work-card figure img,
	.led-renew-work-card h3 {
		transition: none;
	}

	.led-renew-work-card a:hover,
	.led-renew-work-card a:hover figure img {
		transform: none;
	}

	.renew-contact__svg-dot--white,
	.renew-contact__svg-dot--black,
	.renew-contact__circle,
	.led-renew-hero__decor-dot,
	.led-renew-section--about::before,
	.led-renew-section--about::after,
	.led-renew-section--scenes::before,
	.led-renew-section--scenes::after,
	.led-renew-section--lineup::before,
	.led-renew-section--lineup::after,
	.led-renew-section--reasons::before {
		animation: none;
		filter: none;
		opacity: 1;
	}
}

/* 横スクロール防止のセーフティネット:
   コンテンツのはみ出しがあってもページ全体の横スクロールは発生させない。
   overflow-x: hidden ではなく clip を使うことで position: sticky を壊さない */
html,
body {
	overflow-x: clip;
}

/* ============================================================
   リニューアルヘッダー (common/nav-sub.php)
   ============================================================ */
.renew-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: #f1f1f1;
	font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.renew-header *,
.renew-header *::before,
.renew-header *::after {
	box-sizing: border-box;
}

.renew-header__bar {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 16px;
	height: 85px;
	padding: 0 24px 0 30px;
	border-bottom: 1px solid #dcdcdc;
	/* background: #fff; */
}

.renew-header__logo {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	margin: 0;
	font-size: 0;
	line-height: 1;
}

.renew-header__logo a {
	display: flex;
	align-items: center;
}

.renew-header__logo img {
	display: block;
	width: 132px;
	height: auto;
}

.renew-header__nav {
	margin-left: auto;
}

.renew-header__list {
	display: flex;
	align-items: stretch;
	margin: 0;
	padding: 0;
	list-style: none;
}

.renew-header__item {
	display: flex;
}

.renew-header__link {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	height: 66px;
	margin: 0;
	padding: 0 13px;
	border: 0;
	background: none;
	color: #111;
	cursor: pointer;
	font-family: inherit;
	font-size: 1.6rem !important;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1;
	text-decoration: none;
	transition: color 0.15s ease;
}

.renew-header__link span {
	color: #626262;
	font-size: 1.0rem;
	font-weight: 300;
	letter-spacing: 0.05em;
	transition: color 0.15s ease;
	margin-top: 2px;
}

.renew-header__link:hover,
.renew-header__link:hover span {
	color: #ffa400;
}

/* メガメニュー展開中のナビ項目: グレー文字 + 黒下線 */
.renew-header__item--mega.is-open .renew-header__link,
.renew-header__item--mega.is-open .renew-header__link span {
	color: #b0b0b0;
}

.renew-header__item--mega.is-open .renew-header__link::after {
	content: "";
	position: absolute;
	left: 6px;
	right: 6px;
	bottom: -1px;
	height: 2px;
	background: #111;
}

.renew-header__contact {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	min-height: 44px;
	padding: 0 30px;
	border-radius: 999px;
	background: #000;
	color: #fff;
	font-size: 1.35rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-decoration: none;
	transition: background 0.15s ease;
}

.renew-header__contact:hover {
	background: #ffa400;
}

.renew-header__mobile-contact,
.renew-header .hamburger-menu {
	display: none;
}

/* ---------- メガメニュー ---------- */
.renew-header__mega {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	z-index: 1;
	background: #d9d9d9;
	box-shadow: 0 24px 40px rgba(0, 0, 0, 0.14);
	/* 画面高の70%を上限にし、収まらない内容はパネル内でスクロールする */
	max-height: 70vh;
	max-height: 70dvh;
	overflow-y: auto;
	overscroll-behavior: contain;
	/* ふわっと開閉 */
	opacity: 0;
	visibility: hidden;
	transform: translateY(-8px);
	pointer-events: none;
	transition: opacity 0.28s ease, transform 0.28s ease, visibility 0s linear 0.28s;
}

.renew-header__mega.is-open {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
	transition: opacity 0.28s ease, transform 0.28s ease, visibility 0s linear 0s;
}

@media (prefers-reduced-motion: reduce) {
	.renew-header__mega {
		transition: none;
	}
}

.renew-header__mega-inner {
	width: min(100% - 48px, 1080px);
	margin: 0 auto;
	padding: 44px 0 64px;
}

.renew-header__mega-head {
	display: flex;
	align-items: flex-end;
	gap: 32px;
	margin-bottom: 38px;
}

.renew-header__mega-title {
	flex-shrink: 0;
	margin: 0;
}

.renew-header__mega-title-en {
	display: inline-block;
	padding: 3px 12px;
	background: #fff;
	color: #111;
	font-size: 2.6rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.25;
}

.renew-header__mega-title-ja {
	display: table;
	margin-top: 6px;
	padding: 2px 9px;
	background: #fff;
	color: #111;
	font-size: 1.2rem;
	line-height: 1.5;
}

.renew-header__mega-more {
	display: flex;
	flex: 1;
	align-items: flex-end;
	justify-content: flex-end;
	align-self: stretch;
	padding: 0 2px 18px;
	border-bottom: 1px dashed #9f9f9f;
	color: #111;
	font-size: 1.4rem;
	font-weight: 500;
	text-decoration: none;
}

.renew-header__mega-more:hover {
	color: #ffa400;
}

.renew-header__mega-groups {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 46px 56px;
	align-items: start;
}

.renew-header__mega-heading {
	display: inline-block;
	color: #111;
	font-size: 1.55rem;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
}

.renew-header__mega-heading:hover {
	background: #ffa400;
}

.renew-header__mega-list {
	margin: 14px 0 0;
	padding: 0 0 0 14px;
	list-style: none;
}

.renew-header__mega-list li {
	margin: 0 0 11px;
}

.renew-header__mega-list li:last-child {
	margin-bottom: 0;
}

.renew-header__mega-list a {
	display: inline-block;
	color: #6f6f6f;
	font-size: 1.35rem;
	line-height: 1.55;
	text-decoration: none;
}

.renew-header__mega-list a small {
	color: #8a8a8a;
	font-size: 1.15rem;
}

.renew-header__mega-list a:hover {
	background: #ffa400;
	color: #111;
}

.renew-header__mega-list a:hover small {
	color: #111;
}

@media screen and (max-width: 1250px) {
	.renew-header__link {
		padding: 0 8px;
		font-size: 1.4rem;
	}

	.renew-header__contact {
		padding: 0 22px;
	}
}

/* 1080px以下: PCナビが収まらないためハンバーガーメニューに切り替える */
@media screen and (max-width: 1080px) {
	.renew-header__nav,
	.renew-header__contact,
	.renew-header__mega {
		display: none;
	}

	.renew-header__bar {
		height: 80px;
		padding: 0 72px 0 20px;
		border-bottom-color: #d8d8d8;
	}

	.renew-header__logo img {
		width: 126px;
	}

	.renew-header__mobile-contact {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 112px;
		min-height: 40px;
		margin-left: auto;
		padding: 0 20px;
		border-radius: 999px;
		background: #000;
		color: #fff;
		font-size: 1.2rem;
		font-weight: 500;
		letter-spacing: 0.04em;
		text-decoration: none;
	}

	.renew-header .hamburger-menu {
		display: block;
	}

	.renew-header .menu-btn {
		position: fixed;
		top: 20px;
		right: 20px;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		padding: 0;
		border: 0;
		border-radius: 50%;
		z-index: 1002;
		background: #000;
		cursor: pointer;
		transition: top 0.25s ease, right 0.25s ease, transform 0.2s ease;
	}

	.renew-header .menu-btn span,
	.renew-header .menu-btn span::before,
	.renew-header .menu-btn span::after {
		content: "";
		position: absolute;
		display: block;
		width: 18px;
		height: 2px;
		border-radius: 999px;
		background: #fff;
		transition: top 0.22s ease, transform 0.22s ease, opacity 0.15s ease;
	}

	.renew-header .menu-btn span::before {
		top: -6px;
	}

	.renew-header .menu-btn span::after {
		top: 6px;
	}

	.renew-header .hamburger-menu.is-open .menu-btn {
		top: 20px;
		right: 20px;
	}

	.renew-header .hamburger-menu.is-open .menu-btn span {
		background: transparent;
	}

	.renew-header .hamburger-menu.is-open .menu-btn span::before {
		top: 0;
		transform: rotate(45deg);
	}

	.renew-header .hamburger-menu.is-open .menu-btn span::after {
		top: 0;
		transform: rotate(-45deg);
	}

	.renew-header .menu-content {
		position: fixed;
		inset: 0;
		z-index: 1001;
		width: 100%;
		height: 100vh;
		height: 100dvh;
		overflow-y: auto;
		overflow-x: hidden;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
		padding: 0 0 80px;
		border-radius: 0 0 10px 10px;
		background: #dedede;
		opacity: 0;
		visibility: hidden;
		transform: translateX(100%);
		pointer-events: none;
		transition: opacity 0.3s ease, transform 0.35s ease, visibility 0s linear 0.35s;
	}

	.renew-header .hamburger-menu.is-open .menu-content {
		opacity: 1;
		visibility: visible;
		transform: translateX(0);
		pointer-events: auto;
		transition-delay: 0s;
	}

	.is-mobile-menu-open {
		overflow: hidden;
	}

	.renew-header .mobile-menu__head {
		display: flex;
		align-items: center;
		height: 80px;
		padding: 20px;
	}

	.renew-header .mobile-menu__logo {
		display: inline-flex;
		align-items: center;
	}

	.renew-header .mobile-menu__logo img {
		display: block;
		width: 126px;
		height: auto;
	}

	.renew-header .mobile-menu__nav {
		padding: 7px 20px 0;
	}

	.renew-header .mobile-menu__list,
	.renew-header .mobile-menu__sub-list {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.renew-header .mobile-menu__item {
		border-bottom: 1px dashed #b7b7b7;
	}

	.renew-header .mobile-menu__row {
		display: flex;
		align-items: center;
		min-height: 78px;
	}

	.renew-header .mobile-menu__row > a,
	.renew-header .mobile-menu__row--link {
		display: grid;
		grid-template-columns: 145px minmax(0, 1fr);
		align-items: center;
		flex: 1;
		align-self: stretch;
		color: #111;
		text-decoration: none;
	}

	.renew-header .mobile-menu__en {
		font-size: 2.2rem;
		font-weight: 500;
		letter-spacing: 0.08em;
		line-height: 1.15;
	}

	.renew-header .mobile-menu__ja {
		color: #777;
		font-size: 1.3rem;
		font-weight: 400;
		line-height: 1.4;
	}

	.renew-header .mobile-menu__toggle {
		position: relative;
		flex: 0 0 72px;
		width: 72px;
		height: 72px;
		margin: 0 -14px 0 0;
		padding: 0;
		border: 0;
		background: transparent;
		cursor: pointer;
	}

	.renew-header .mobile-menu__toggle span::before,
	.renew-header .mobile-menu__toggle span::after {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		width: 15px;
		height: 2px;
		background: #111;
		transform: translate(-50%, -50%);
		transition: transform 0.2s ease;
	}

	.renew-header .mobile-menu__toggle span::after {
		transform: translate(-50%, -50%) rotate(90deg);
	}

	.renew-header .mobile-menu__toggle[aria-expanded="true"] span::after {
		transform: translate(-50%, -50%) rotate(0deg) scaleX(0);
	}

	.renew-header .mobile-menu__accordion-panel {
		display: grid;
		grid-template-rows: 0fr;
		visibility: hidden;
		transition: grid-template-rows 0.3s ease, visibility 0s linear 0.3s;
	}

	.renew-header [data-mobile-accordion].is-open > .mobile-menu__accordion-panel {
		grid-template-rows: 1fr;
		visibility: visible;
		transition-delay: 0s;
	}

	.renew-header .mobile-menu__accordion-inner {
		min-height: 0;
		overflow: hidden;
	}

	.renew-header .mobile-menu__item > .mobile-menu__accordion-panel > .mobile-menu__accordion-inner {
		padding: 0 20px;
	}

	.renew-header .mobile-menu__item.is-open > .mobile-menu__accordion-panel > .mobile-menu__accordion-inner {
		padding-bottom: 10px;
	}

	.renew-header .mobile-menu__group-row {
		display: flex;
		align-items: center;
		min-height: 52px;
	}

	.renew-header .mobile-menu__group-row > a {
		flex: 1;
		color: #111;
		font-size: 1.5rem;
		font-weight: 700;
		letter-spacing: 0.02em;
		line-height: 1.5;
		text-decoration: none;
	}

	.renew-header .mobile-menu__sub-list {
		padding: 0 20px;
	}

	.renew-header .mobile-menu__service-group.is-open > .mobile-menu__accordion-panel > .mobile-menu__sub-list {
		padding-top: 4px;
		padding-bottom: 12px;
	}

	.renew-header .mobile-menu__sub-list li {
		margin: 0 0 14px;
	}

	.renew-header .mobile-menu__sub-list li:last-child {
		margin-bottom: 10px;
	}

	.renew-header .mobile-menu__sub-list a {
		display: inline-block;
		color: #111;
		font-size: 1.55rem;
		font-weight: 400;
		letter-spacing: 0.04em;
		line-height: 1.6;
		text-decoration: none;
	}

	.renew-header .mobile-menu__sub-list--recruit {
		padding-top: 0;
	}

	.renew-header .mobile-menu__item.is-open .mobile-menu__sub-list--recruit {
		padding-top: 12px;
	}

	.renew-header .mobile-menu__contact {
		display: flex;
		align-items: center;
		justify-content: center;
		width: min(calc(100% - 112px), 300px);
		min-height: 40px;
		margin: 26px auto 0;
		border-radius: 999px;
		background: #000;
		color: #fff;
		font-size: 1.2rem;
		font-weight: 500;
		letter-spacing: 0.04em;
		text-decoration: none;
	}

	@media (prefers-reduced-motion: reduce) {
		.renew-header .menu-content,
		.renew-header .menu-btn span,
		.renew-header .menu-btn span::before,
		.renew-header .menu-btn span::after,
		.renew-header .mobile-menu__accordion-panel {
			transition: none;
		}
	}
}

@media screen and (max-width: 520px) {
	.renew-header__bar {
		gap: 10px;
		padding-left: 20px;
	}
}

/* SP: 料金テーブルはラッパー内で横スクロールさせる */
@media screen and (max-width: 767px) {
	.led-renew-price {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.led-renew-table--price {
		min-width: 560px;
	}
}
/* Digital signage renewed landing page */
.ds-renew-body {
	position: relative;
	z-index: 0;
	background: #f1f1f1;
}

.ds-renew-body > .float-circles--fixed {
	z-index: 0;
}

.ds-renew-body .led-renew__breadcrumbs,
.ds-renew-main {
	position: relative;
	z-index: 1;
}

.ds-renew-main {
	margin-top: 0;
}

.ds-renew {
	background: transparent;
}

.ds-renew .led-renew-section__title {
	text-wrap: balance;
}

.ds-renew-hero {
	position: relative;
	padding: 62px 0 94px;
}

.ds-renew-hero__title {
	width: min(963px, 100%);
}

.ds-renew-hero__visual {
	margin-right: calc(50% - 50vw);
	border-radius: 0;
	background: #111;
}

.ds-renew-hero__visual > img {
	height: 379px;
	min-height: 0;
	border-radius: 0;
	object-fit: cover;
	object-position: center;
}

.ds-renew-hero__copy {
	right: 104px;
	bottom: -20px;
	left: 0;
	align-items: flex-end;
}

.ds-renew-hero__copy::before {
	display: none;
}

.ds-renew-hero__copy .led-renew-hero__points {
	gap: 0px;
	padding: 0;
}

.ds-renew-hero__copy .led-renew-hero__points li {
	padding: 4px 8px;
	font-size: 1.75rem;
	line-height: 1.25;
}

.ds-renew-hero__copy .led-renew__button {
	width: 280px;
	min-width: 280px;
	min-height: 64px;
	padding: 0 38px;
	font-size: 1.35rem;
}

.ds-renew-about {
	position: relative;
	padding: 42px 0 88px;
}

.ds-renew-table thead th:first-child,
.ds-renew-table tbody th {
	width: 20%;
}

.ds-renew-table thead th:nth-child(2),
.ds-renew-table tbody td:nth-child(2),
.ds-renew-table thead th:nth-child(3),
.ds-renew-table tbody td:nth-child(3) {
	width: 40%;
}

.ds-renew-table th,
.ds-renew-table td {
	padding: 10px 14px;
}

.ds-renew-table thead th:nth-child(2) {
	background: #a7a8a8;
}

.ds-renew-table thead th:nth-child(3) {
	background: #8f979d;
}

.ds-renew-scenes {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ds-renew-scenes .led-renew-scene-card:last-child {
	grid-column: 1 / -1;
	width: calc(50% - 11px);
}

.ds-renew-benefits {
	padding: 76px 0 88px;
	background: #0b0b0b;
	color: #fff;
}

.ds-renew-benefits__head {
	margin-bottom: 38px;
}

.ds-renew-benefits__head h2 {
	margin: 0;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0.02em;
}

.ds-renew-benefits__head p {
	margin: 18px 0 0;
	color: #d1d1d1;
	font-size: 1.4rem;
	line-height: 1.8;
}

.ds-renew-benefits__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.ds-renew-benefit-card {
	overflow: hidden;
	border-radius: 14px;
	background: #ffa400;
	color: #000;
}

.ds-renew-benefit-card figure {
	margin: 0;
	aspect-ratio: 4 / 3;
	background: #333;
}

.ds-renew-benefit-card figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ds-renew-benefit-card > div {
	position: relative;
	min-height: 210px;
	padding: 28px 24px 30px;
}

.ds-renew-benefit-card span {
	position: absolute;
	right: 18px;
	top: 17px;
	color: rgba(0, 0, 0, 0.18);
	font-family: Arial, sans-serif;
	font-size: 5rem;
	font-weight: 900;
	line-height: 1;
}

.ds-renew-benefit-card h3 {
	position: relative;
	margin: 0 0 16px;
	padding-top: 30px;
	font-size: 2rem;
	font-weight: 900;
	line-height: 1.4;
}

.ds-renew-benefit-card p {
	position: relative;
	margin: 0;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.85;
}

.ds-renew-lineup {
	padding-top: 76px;
}

.ds-renew-products {
	gap: 18px;
}

.ds-renew-products .led-renew-product-card {
	border: 1px solid rgba(0, 0, 0, 0.04);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.035);
}

.ds-renew-products .led-renew-product-card:nth-child(even) {
	grid-template-columns: minmax(360px, 45%) minmax(0, 1fr);
}

.ds-renew-products .led-renew-product-card:nth-child(even) .led-renew-product-card__body {
	grid-column: 2;
}

.ds-renew-products .led-renew-product-card:nth-child(even) .led-renew-product-card__img {
	grid-column: 1;
}

.ds-renew-products .led-renew-product-card__body p:not(.led-renew-product-card__subtitle) {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}

.ds-renew-products .led-renew-product-card__img {
	/* border-radius: 10px; */
}

.led-renew-section--lineup .led-renew-product-card__img img {
	transition: transform 0.55s cubic-bezier(0.22, 0.61, 0.36, 1);
}

@media (hover: hover) and (pointer: fine) {
	.led-renew-section--lineup .led-renew-product-card:hover .led-renew-product-card__img img {
		transform: scale(1.04);
	}
}

.ds-renew-reasons-section {
	padding-top: 76px;
}

.ds-renew-works-section,
.ds-renew-flow-section,
.ds-renew-price-section,
.ds-renew-faq-section,
.ds-renew-services-section {
	--led-renew-divider-offset: 72px;
	--led-renew-divider-color: #111;
	padding: 72px 0 100px;
}

.ds-renew-flow-section .led-renew-section__title,
.ds-renew-price-section .led-renew-section__title,
.ds-renew-faq-section .led-renew-section__title,
.ds-renew-services-section .led-renew-section__title {
	padding-left: 0;
	font-size: 3rem;
	font-weight: 500;
	letter-spacing: 0;
}

.ds-renew-flow-section .led-renew-section__title::before,
.ds-renew-price-section .led-renew-section__title::before,
.ds-renew-faq-section .led-renew-section__title::before,
.ds-renew-services-section .led-renew-section__title::before {
	display: none;
}

.ds-renew-flow {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ds-renew-flow li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 45%;
	align-items: stretch;
	overflow: hidden;
	min-height: 235px;
	border-radius: 16px;
	background: #fff;
}

.ds-renew-flow__body {
	padding: 28px 24px;
}

.ds-renew-flow__body span {
	display: inline-flex;
	margin-bottom: 18px;
	padding: 5px 12px;
	border-radius: 999px;
	background: #ffa400;
	font-size: 1.05rem;
	font-weight: 900;
	line-height: 1;
}

.ds-renew-flow__body h3 {
	margin: 0 0 12px;
	font-size: 1.65rem;
	font-weight: 900;
	line-height: 1.45;
}

.ds-renew-flow__body p {
	margin: 0;
	color: #444;
	font-size: 1.15rem;
	line-height: 1.8;
}

.ds-renew-flow figure {
	margin: 0;
	background: #ddd;
}

.ds-renew-flow figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ds-renew-price-section .led-renew-section__lead,
.ds-renew-flow-section .led-renew-section__lead {
	max-width: 820px;
	color: #000;
}

.ds-renew-faq-section .led-renew-center {
	margin-top: 42px;
}

.ds-renew-faq-section .led-renew-center .led-renew__button {
	min-width: 280px;
	min-height: 58px;
	color: #ffa400;
}

.ds-renew-services-section {
	padding-bottom: 84px;
}

.ds-renew-empty {
	margin: 0;
	padding: 30px;
	border-radius: 14px;
	background: #fff;
	font-size: 1.4rem;
}

@media screen and (max-width: 900px) {
	.ds-renew-hero__title {
		font-size: clamp(5.4rem, 9vw, 7.4rem);
	}

	.ds-renew-hero__copy {
		right: 24px;
		left: 0;
	}

	.ds-renew-hero__visual > img {
		height: 330px;
	}

	.ds-renew-hero__copy .led-renew-hero__points li {
		font-size: 1.25rem;
	}

	.ds-renew-hero__copy .led-renew__button {
		width: 240px;
		min-width: 240px;
	}

	.ds-renew-benefits__grid {
		grid-template-columns: 1fr;
	}

	.ds-renew-benefit-card {
		display: grid;
		grid-template-columns: 42% minmax(0, 1fr);
	}

	.ds-renew-benefit-card > div {
		min-height: 0;
	}

	.ds-renew-flow {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 767px) {
	.ds-renew-body .led-renew__breadcrumbs {
		padding-top: 10px;
		font-size: 1.1rem;
	}

	.ds-renew-body .led-renew__breadcrumbs-inner {
		width: min(100% - 28px, 520px);
	}

	.ds-renew-hero {
		padding-top: 26px;
		padding-bottom: 46px;
	}

	.ds-renew-hero__title {
		font-size: clamp(3.4rem, 11.4vw, 5rem);
		letter-spacing: -0.055em;
	}

	.ds-renew-hero .led-renew-hero__eyebrow {
		font-size: 1.16rem;
	}

	.ds-renew-hero__visual {
		margin: 0 calc(50% - 50vw);
		border-radius: 0;
	}

	.ds-renew-hero__visual > img {
		width: 100%;
		height: auto;
		min-height: 0;
		border-radius: 0;
		aspect-ratio: 1178 / 379;
		object-fit: cover;
	}

	.ds-renew-hero__visual::before {
		display: none;
	}

	.ds-renew-hero__copy {
		position: static;
		gap: 12px;
		margin: 0;
		padding: 14px;
		background: #111;
	}

	.ds-renew-hero__copy::before {
		display: none;
	}

	.ds-renew-hero__copy .led-renew-hero__points li {
		font-size: 1.08rem;
	}

	.ds-renew-hero__copy .led-renew__button {
		width: 100%;
		min-width: 0;
		min-height: 50px;
	}

	.ds-renew-about {
		padding-top: 42px;
	}

	.ds-renew-about .led-renew-about__table-wrap {
		overflow: visible;
	}

	.ds-renew-table,
	.ds-renew-table thead,
	.ds-renew-table tbody,
	.ds-renew-table tr,
	.ds-renew-table th,
	.ds-renew-table td {
		display: block;
		width: 100% !important;
		min-width: 0;
		white-space: normal;
	}

	.ds-renew-table thead tr {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.ds-renew-table thead th:first-child {
		display: none;
	}

	.ds-renew-table tbody tr {
		display: grid;
		grid-template-columns: 1fr 1fr;
		margin-top: 12px;
		border: none !important;
	}

	.ds-renew-table tbody th {
		grid-column: 1 / -1;
		border-right: 0;
		background: #d8d8d8;
		font-weight: 800;
	}

	.ds-renew-table tbody td {
		border-bottom: 0;
		font-size: 1.05rem;
	}

	.ds-renew-scenes {
		grid-template-columns: 1fr;
	}

	.ds-renew-scenes .led-renew-scene-card:last-child {
		grid-column: auto;
		width: 100%;
	}

	.ds-renew-benefits {
		padding: 48px 0 56px;
	}

	.ds-renew-benefits__head h2 {
		font-size: 2.2rem;
	}

	.ds-renew-benefits__head p {
		font-size: 1.2rem;
	}

	.ds-renew-benefit-card {
		display: block;
	}

	.ds-renew-benefit-card figure {
		aspect-ratio: 16 / 10;
	}

	.ds-renew-benefit-card > div {
		min-height: 190px;
		padding: 24px 20px 26px;
	}

	.ds-renew-benefit-card h3 {
		padding-top: 20px;
		font-size: 1.8rem;
	}

	.ds-renew-benefit-card p {
		font-size: 1.15rem;
	}

	.ds-renew-lineup,
	.ds-renew-reasons-section,
	.ds-renew-works-section,
	.ds-renew-flow-section,
	.ds-renew-price-section,
	.ds-renew-faq-section,
	.ds-renew-services-section {
		--led-renew-divider-offset: 48px;
		padding: 48px 0 64px;
	}

	.ds-renew-products .led-renew-product-card,
	.ds-renew-products .led-renew-product-card:nth-child(even) {
		display: flex;
		flex-direction: column-reverse;
		gap: 22px;
		min-height: 0;
		padding: 18px 18px 24px;
	}

	.ds-renew-products .led-renew-product-card:nth-child(even) .led-renew-product-card__body,
	.ds-renew-products .led-renew-product-card:nth-child(even) .led-renew-product-card__img {
		grid-column: auto;
		grid-row: auto;
	}

	.ds-renew-products .led-renew-product-card__body {
		width: 100%;
	}

	.ds-renew-products .led-renew-product-card__img {
		width: 100%;
	}

	.ds-renew-products .led-renew-product-card__body p:not(.led-renew-product-card__subtitle) {
		-webkit-line-clamp: initial;
	}

	.ds-renew-flow-section .led-renew-section__title,
	.ds-renew-price-section .led-renew-section__title,
	.ds-renew-faq-section .led-renew-section__title,
	.ds-renew-services-section .led-renew-section__title {
		font-size: 2.2rem;
	}

	.ds-renew-flow li {
		grid-template-columns: 1fr;
	}

	.ds-renew-flow figure {
		grid-row: 1;
		aspect-ratio: 16 / 9;
	}

	.ds-renew-flow__body {
		padding: 24px 20px 26px;
	}

	.ds-renew-price-section .led-renew-price {
		overflow: hidden;
	}

	.ds-renew-faq-section .led-renew-center .led-renew__button {
		width: 100%;
		min-width: 0;
	}
}

@media screen and (max-width: 390px) {
	.ds-renew-hero__title {
		font-size: 3.25rem;
	}
}

/* Sections based on the 2026 digital signage design */
.ds-renew-scenes-section {
	--led-renew-divider-offset: 72px;
	--led-renew-divider-color: #111;
	padding: 72px 0 100px;
}

.ds-renew-scenes-section .led-renew-section__head {
	margin-bottom: 38px;
}

.ds-renew-scenes-section .led-renew-section__title {
	padding-left: 0;
	font-size: 3rem;
	font-weight: 500;
	letter-spacing: 0;
}

.ds-renew-scenes-section .led-renew-section__title::before {
	display: none;
}

.ds-renew-scenes-section .led-renew-scenes {
	gap: 22px;
}

.ds-renew-scenes-section .led-renew-scene-card {
	padding: 34px 40px 36px;
	border-radius: 18px;
	background: #fff;
}

.ds-renew-scenes-section .led-renew-scene-card h3 {
	width: min(100%, 260px);
	margin: 0 auto 30px;
	padding: 12px 18px;
	border-radius: 999px;
	background: #e1e6e9;
	font-size: 1.55rem;
	font-weight: 900;
	line-height: 1.35;
	text-align: center;
}

.ds-renew-scenes-section .led-renew-scene-card__body {
	padding: 18px 0 0;
}

.ds-renew-scenes-section .led-renew-scene-card p {
	color: #000;
	font-size: 1.35rem;
	line-height: 1.9;
}

.ds-renew-benefits {
	margin: 0;
	padding: 108px 0 100px;
	border-radius: 20px;
	background: #050505;
}

.ds-renew-benefits__head {
	margin-bottom: 42px;
}

.ds-renew-benefits__head h2 {
	font-size: 3.4rem;
	font-weight: 500;
	letter-spacing: 0;
}

.ds-renew-benefits__head p {
	margin-top: 22px;
	color: #fff;
	font-size: 1.35rem;
}

.ds-renew-benefits__grid {
	gap: 20px;
}

.ds-renew-benefit-card {
	border-radius: 14px;
}

.ds-renew-benefit-card figure {
	aspect-ratio: 344 / 320;
}

.ds-renew-benefit-card > div {
	min-height: 158px;
	padding: 20px 20px 22px;
}

.ds-renew-benefit-card h3 {
	margin-bottom: 12px;
	padding-top: 0;
	font-size: 2.35rem;
}

.ds-renew-benefit-card p {
	font-size: 1.15rem;
	line-height: 1.75;
}

.ds-renew-lineup {
	padding: 72px 0 106px;
}

.ds-renew-lineup .led-renew-section__head {
	margin-bottom: 44px;
}

.ds-renew-products {
	gap: 18px;
}

.ds-renew-products .led-renew-product-card,
.ds-renew-products .led-renew-product-card:nth-child(even) {
	grid-template-columns: minmax(0, 1fr) minmax(360px, 45%);
	gap: 42px;
}

.ds-renew-products .led-renew-product-card:nth-child(even) .led-renew-product-card__body {
	grid-column: 1;
	grid-row: 1;
}

.ds-renew-products .led-renew-product-card:nth-child(even) .led-renew-product-card__img {
	grid-column: 2;
	grid-row: 1;
}

.ds-renew-products .led-renew-product-card:not(.is-featured) {
	padding: 34px 34px 34px 40px;
	border-radius: 14px;
	background: #fff;
}

.ds-renew-products .led-renew-product-card.is-featured {
	min-height: 330px;
	padding: 44px 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.ds-renew-products .led-renew-product-card.is-featured + .led-renew-product-card.is-featured {
	margin-top: 8px;
}

.ds-renew-products .is-featured .led-renew-product-card__body h3 {
	font-size: 3rem;
}

.ds-renew-products .is-featured .led-renew-product-card__body p:not(.led-renew-product-card__subtitle) {
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 2;
}

.ds-renew-products .is-featured .led-renew-product-card__img {
	min-height: 310px;
	border-radius: 14px;
	aspect-ratio: 4 / 3;
}

.ds-renew-products .led-renew-product-card .led-renew__button {
	min-width: 142px;
	min-height: 42px;
	color: #fff;
}

.ds-renew-reasons-section,
.ds-renew-works-section,
.ds-renew-flow-section,
.ds-renew-price-section,
.ds-renew-faq-section {
	--led-renew-divider-offset: 72px;
	--led-renew-divider-color: #111;
	padding: 72px 0 100px;
}

.ds-renew-reasons-section .led-renew-section__title,
.ds-renew-works-section .led-renew-section__title,
.ds-renew-flow-section .led-renew-section__title,
.ds-renew-price-section .led-renew-section__title,
.ds-renew-faq-section .led-renew-section__title {
	padding-left: 0;
	font-size: 3rem;
	font-weight: 500;
	letter-spacing: 0;
}

.ds-renew-reasons-section .led-renew-section__title::before,
.ds-renew-works-section .led-renew-section__title::before,
.ds-renew-flow-section .led-renew-section__title::before,
.ds-renew-price-section .led-renew-section__title::before,
.ds-renew-faq-section .led-renew-section__title::before {
	display: none;
}

.ds-renew-reasons-section .led-renew-center,
.ds-renew-works-section .led-renew-center,
.ds-renew-price-section .led-renew-center,
.ds-renew-faq-section .led-renew-center {
	margin-top: 58px;
}

.ds-renew-reasons-section .led-renew__button,
.ds-renew-works-section .led-renew__button,
.ds-renew-price-section .led-renew__button,
.ds-renew-faq-section .led-renew__button {
	min-width: 280px;
	min-height: 68px;
	color: #ffa400;
	font-size: 1.45rem;
	font-weight: 900;
}

.ds-renew-flow-section .led-renew-section__head {
	margin-bottom: 42px;
}

.ds-renew-flow-section .led-renew-section__lead,
.ds-renew-price-section .led-renew-section__lead {
	max-width: 960px;
	margin-top: 22px;
	color: #000;
	font-size: 1.35rem;
	line-height: 1.9;
}

.ds-renew-flow {
	display: grid;
	grid-template-columns: 400px minmax(0, 1fr);
	gap: 0;
	align-items: stretch;
}

.ds-renew-flow__list {
	position: relative;
	z-index: 2;
	display: grid;
	margin: 0;
	padding: 30px 28px 30px 50px;
	border-radius: 20px;
	background: #d7dbe1;
	list-style: none;
}

.ds-renew-flow__list::before {
	content: "";
	position: absolute;
	left: 72px;
	top: 62px;
	bottom: 62px;
	border-left: 1px solid #36383a;
	pointer-events: none;
}

.ds-renew-flow .ds-renew-flow__list li {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	overflow: visible;
	min-height: 68px;
	padding: 0;
	border-radius: 0;
	background: transparent;
}

.ds-renew-flow__list span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #36383a;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
}

.ds-renew-flow__list strong {
	display: flex;
	align-items: center;
	color: #1c1c1c;
	font-size: 1.35rem;
	font-weight: 500;
	line-height: 1.45;
	white-space: nowrap;
}

.ds-renew-flow__list strong::before {
	content: "";
	flex: 0 0 42px;
	width: 42px;
	height: 7px;
	margin: 0 10px 0 12px;
	background:
		radial-gradient(circle 3.5px at calc(100% - 3.5px) 50%, #36383a 98%, transparent) no-repeat,
		repeating-linear-gradient(90deg, #36383a 0 4px, transparent 4px 8px) left center / calc(100% - 10px) 1px no-repeat;
}

.ds-renew-flow .ds-renew-flow__image {
	position: relative;
	z-index: 1;
	margin: 28px 0;
	overflow: hidden;
	border-radius: 0 20px 20px 0;
	background: #ddd;
}

.ds-renew-flow__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 58% center;
}

.ds-renew-price-section {
	position: relative;
	overflow: hidden;
}

.ds-renew-price-section .led-renew__inner {
	position: relative;
	z-index: 1;
}

.ds-renew-price-section .led-renew-table--price thead th:first-child,
.ds-renew-price-section .led-renew-table--price tbody th {
	width: 21%;
}

.ds-renew-price-section .led-renew-table--price thead th:last-child,
.ds-renew-price-section .led-renew-table--price tbody td {
	width: 79%;
}

.ds-renew-faq-section .led-renew-faq {
	gap: 20px;
}

.ds-renew-faq-section .led-renew-faq details {
	border-radius: 18px;
}

@media screen and (max-width: 900px) {
	.ds-renew-benefits {
		padding: 72px 0;
	}

	.ds-renew-benefits__grid {
		grid-template-columns: 1fr;
	}

	.ds-renew-benefit-card {
		display: grid;
		grid-template-columns: 42% minmax(0, 1fr);
	}

	.ds-renew-benefit-card figure {
		aspect-ratio: auto;
	}

	.ds-renew-products .led-renew-product-card,
	.ds-renew-products .led-renew-product-card:nth-child(even) {
		grid-template-columns: minmax(0, 1fr) minmax(300px, 43%);
		gap: 28px;
	}

	.ds-renew-flow {
		grid-template-columns: 1fr;
	}

	.ds-renew-flow .ds-renew-flow__image {
		margin: 0;
		border-radius: 0 0 20px 20px;
		aspect-ratio: 16 / 9;
	}
}

@media screen and (max-width: 767px) {
	.ds-renew-scenes-section,
	.ds-renew-lineup,
	.ds-renew-reasons-section,
	.ds-renew-works-section,
	.ds-renew-flow-section,
	.ds-renew-price-section,
	.ds-renew-faq-section {
		--led-renew-divider-offset: 48px;
		padding: 48px 0 64px;
	}

	.ds-renew-scenes-section .led-renew-section__title,
	.ds-renew-reasons-section .led-renew-section__title,
	.ds-renew-works-section .led-renew-section__title,
	.ds-renew-flow-section .led-renew-section__title,
	.ds-renew-price-section .led-renew-section__title,
	.ds-renew-faq-section .led-renew-section__title {
		font-size: 2.2rem;
	}

	.ds-renew-scenes-section .led-renew-scenes {
		grid-template-columns: 1fr;
	}

	.ds-renew-scenes-section .led-renew-scene-card,
	.ds-renew-scenes-section .led-renew-scene-card:last-child {
		width: 100%;
		padding: 24px 18px 26px;
	}

	.ds-renew-scenes-section .led-renew-scene-card h3 {
		margin-bottom: 20px;
		font-size: 1.35rem;
	}

	.ds-renew-benefits {
		padding: 52px 0 60px;
		border-radius: 14px;
	}

	.ds-renew-benefits__head h2 {
		font-size: 2.2rem;
	}

	.ds-renew-benefits__head p {
		font-size: 1.2rem;
	}

	.ds-renew-benefit-card {
		display: block;
	}

	.ds-renew-benefit-card figure {
		aspect-ratio: 16 / 10;
	}

	.ds-renew-benefit-card > div {
		min-height: 0;
	}

	.ds-renew-benefit-card h3 {
		font-size: 1.8rem;
	}

	.ds-renew-products .led-renew-product-card,
	.ds-renew-products .led-renew-product-card:nth-child(even),
	.ds-renew-products .led-renew-product-card.is-featured {
		display: flex;
		flex-direction: column-reverse;
		gap: 22px;
		min-height: 0;
		padding: 18px 18px 24px;
		border-radius: 14px;
	}

	.ds-renew-products .led-renew-product-card.is-featured {
		padding: 28px 0;
		border-radius: 0;
		background: transparent;
	}

	.ds-renew-products .is-featured .led-renew-product-card__img {
		min-height: 0;
		aspect-ratio: 4 / 3;
	}

	.ds-renew-products .is-featured .led-renew-product-card__body h3 {
		font-size: 2.2rem;
	}

	.ds-renew-reasons-section .led-renew__button,
	.ds-renew-works-section .led-renew__button,
	.ds-renew-price-section .led-renew__button,
	.ds-renew-faq-section .led-renew__button {
		width: 100%;
		min-width: 0;
		min-height: 56px;
		font-size: 1.25rem;
	}

	.ds-renew-flow__list {
		padding: 22px 18px 22px 24px;
		border-radius: 16px 16px 0 0;
	}

	.ds-renew-flow__list::before {
		left: 44px;
		top: 58px;
		bottom: 58px;
	}

	.ds-renew-flow .ds-renew-flow__list li {
		min-height: 58px;
	}

	.ds-renew-flow__list span {
		flex-basis: 40px;
		width: 40px;
		height: 40px;
		font-size: 1.35rem;
	}

	.ds-renew-flow__list strong {
		font-size: 1.2rem;
		white-space: normal;
	}

	.ds-renew-flow__list strong::before {
		flex-basis: 28px;
		width: 28px;
		margin: 0 8px 0 10px;
	}

	.ds-renew-flow .ds-renew-flow__image {
		grid-row: auto;
		border-radius: 0 0 16px 16px;
	}

	.ds-renew-price-section .led-renew-table--price thead th:first-child,
	.ds-renew-price-section .led-renew-table--price thead th:last-child,
	.ds-renew-price-section .led-renew-table--price tbody th,
	.ds-renew-price-section .led-renew-table--price tbody td {
		width: 100%;
	}

	.ds-renew-faq-section .led-renew-faq summary {
		padding-right: 62px;
	}
}

/* Digital signage: SiG / POSUMERU / rental feature blocks */
.ds-renew-products .ds-renew-feature-card,
.ds-renew-products .ds-renew-feature-card:nth-child(even) {
	grid-template-columns: minmax(0, 0.94fr) minmax(460px, 1.06fr);
	gap: clamp(48px, 5vw, 76px);
	align-items: center;
	min-height: 0;
	padding: 48px 0;
}

.ds-renew-products .ds-renew-feature-card + .ds-renew-feature-card {
	margin-top: 0;
}

.ds-renew-feature-card__eyebrow {
	margin: 0 0 8px !important;
	font-size: 1.45rem !important;
	font-weight: 900 !important;
	line-height: 1.5 !important;
}

.ds-renew-products .ds-renew-feature-card .led-renew-product-card__body h3 {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 0 0 38px;
	font-size: clamp(2.8rem, 3vw, 3.8rem);
	font-weight: 900;
	line-height: 1.15;
}

.ds-renew-feature-card--sig .led-renew-product-card__body h3 > span {
	letter-spacing: 0.18em;
}

.ds-renew-feature-card .led-renew-product-card__body h3 small {
	font-size: 0.5em;
	font-weight: 900;
}

.ds-renew-products .ds-renew-feature-card .ds-renew-feature-card__copy {
	margin: 0 0 38px;
	font-size: clamp(1.35rem, 1.4vw, 1.7rem);
	font-weight: 800;
	line-height: 1.55;
}

.ds-renew-feature-card__copy > span {
	display: table;
	width: fit-content;
	margin-bottom: 6px;
	padding: 3px 7px;
	background: #fff;
}

.ds-renew-feature-card__copy em {
	color: #f39800;
	font-style: normal;
}

.ds-renew-products .ds-renew-feature-card .led-renew-product-card__img {
	width: 100%;
	min-height: 0;
	border-radius: 18px;
	aspect-ratio: 9 / 8;
}

.ds-renew-products .ds-renew-feature-card .led-renew__button {
	min-width: 166px;
	min-height: 46px;
	padding-inline: 26px;
}

@media (hover: hover) and (pointer: fine) {
	.ds-renew-products .ds-renew-feature-card .led-renew__button--black:hover {
		background-color: #ffa400;
		color: #000;
	}
}

@media screen and (max-width: 900px) {
	.ds-renew-products .ds-renew-feature-card,
	.ds-renew-products .ds-renew-feature-card:nth-child(even) {
		grid-template-columns: minmax(0, 0.9fr) minmax(340px, 1.1fr);
		gap: 32px;
	}

	.ds-renew-products .ds-renew-feature-card .led-renew-product-card__body h3 {
		margin-bottom: 28px;
	}

	.ds-renew-products .ds-renew-feature-card .ds-renew-feature-card__copy {
		font-size: 1.3rem;
	}
}

@media screen and (max-width: 767px) {
	.ds-renew-products .ds-renew-feature-card,
	.ds-renew-products .ds-renew-feature-card:nth-child(even),
	.ds-renew-products .led-renew-product-card.ds-renew-feature-card.is-featured {
		display: flex;
		flex-direction: column;
		gap: 28px;
		padding: 38px 0;
	}

	.ds-renew-products .ds-renew-feature-card .led-renew-product-card__body {
		width: 100%;
	}

	.ds-renew-products .ds-renew-feature-card .led-renew-product-card__body h3 {
		margin-bottom: 24px;
		font-size: 2.6rem;
	}

	.ds-renew-products .ds-renew-feature-card .ds-renew-feature-card__copy {
		margin-bottom: 28px;
		font-size: 1.2rem;
	}

	.ds-renew-feature-card__copy > span {
		margin-bottom: 4px;
	}

	.ds-renew-products .ds-renew-feature-card .led-renew-product-card__img {
		aspect-ratio: 9 / 8;
	}
}
/* Pricing page */
:root {
	--pricing-orange: #ffa400;
	--pricing-black: #111;
	--pricing-gray: #7d7c73;
	--pricing-bg: #f1f1f1;
}

.pricing-page {
	background: var(--pricing-bg);
	color: var(--pricing-black);
}

.pricing {
	overflow: hidden;
	background: transparent;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
	letter-spacing: 0.03em;
}

.pricing *,
.pricing *::before,
.pricing *::after {
	box-sizing: border-box;
}

.pricing-shell {
	width: min(1120px, calc(100% - 64px));
	margin-inline: auto;
}

.pricing-center {
	display: flex;
	justify-content: center;
	margin-top: 54px;
}

.pricing-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	min-height: 62px;
	padding: 0 36px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
	transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.pricing-button:hover {
	transform: translateY(-1px);
}

.pricing-button--orange:hover {
	background: #000;
	color: var(--pricing-orange);
}

.pricing-button--black:hover {
	background: var(--pricing-orange);
	color: #000;
}

.pricing-button--orange {
	background: var(--pricing-orange);
	color: #111;
}

.pricing-button--black {
	background: #000;
	color: var(--pricing-orange);
}

.pricing-hero {
	position: relative;
	isolation: isolate;
	min-height: 663px;
	padding: 100px 0 110px;
	background: #f2f2f2;
}

.pricing-hero::before {
	content: "";
	position: absolute;
	z-index: 1;
	top: 160px;
	right: 0;
	left: max(32px, calc(50% - 538px));
	height: 70px;
	background: var(--pricing-orange);
}

.pricing-hero .pricing-shell {
	position: relative;
	z-index: 2;
	width: min(1076px, calc(100% - 64px));
}

.pricing-hero__title {
	position: relative;
	display: block;
	width: min(611px, 100%);
	margin: 0 0 74px;
	font-size: 0;
	line-height: 0;
}

.pricing-hero__title img {
	display: block;
	width: 100%;
	height: auto;
}

.pricing-hero__content {
	display: grid;
	grid-template-columns: minmax(0, 680px) auto;
	align-items: end;
	justify-content: space-between;
	gap: 56px;
}

.pricing-hero__lead {
	margin: 0 0 22px;
	font-size: clamp(28px, 3vw, 36px);
	font-weight: 900;
	line-height: 1.55;
}

.pricing-hero__text {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	line-height: 2;
}

.pricing-hero__orbit {
	position: absolute;
	z-index: 0;
	top: 70px;
	right: max(32px, calc((100vw - 1076px) / 2));
	width: 474px;
	height: 474px;
	overflow: visible;
	pointer-events: none;
}

.pricing-hero__orbit-line {
	fill: none;
	stroke: #d9d9d9;
	stroke-width: 1;
}

.pricing-dot--orange {
	fill: var(--pricing-orange);
}

.pricing-dot--gray {
	fill: var(--pricing-gray);
}

.pricing-hero .pricing-button {
	min-width: 280px;
	min-height: 70px;
	margin-bottom: 18px;
}

.pricing-section-head {
	margin-bottom: 58px;
	padding-top: 34px;
	border-top: 1px solid #565656;
}

.pricing-section-head h2 {
	margin: 0 0 22px;
	font-size: clamp(28px, 3vw, 34px);
	font-weight: 500;
	line-height: 1.45;
}

.pricing-section-head p {
	margin: 0;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.9;
}

.pricing-section-head .pricing-section-head__tax-note {
	display: inline-block;
	margin-top: 16px;
	padding: 7px 14px 7px 12px;
	border-left: 4px solid #ffa400;
	background: #fff3dc;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
}

.pricing-guide {
	position: relative;
	padding: 0 0 130px;
}

.pricing-guide > .pricing-shell {
	position: relative;
	z-index: 1;
	width: min(1072px, calc(100% - 64px));
}

.pricing-guide > .pricing-shell > .pricing-section-head {
	margin-bottom: 38px;
	padding-top: 24px;
}

.pricing-plan-group {
	position: relative;
	margin-top: 84px;
}

.pricing-plan-group:first-of-type {
	margin-top: 0;
}

.pricing-guide > .pricing-shell > .pricing-plan-group:not(.pricing-plan-group--rental) + .pricing-plan-group:not(.pricing-plan-group--rental) {
	margin-top: 62px;
}

.pricing-plan-group__title {
	position: relative;
	display: inline-block;
	margin: 0 0 25px 18px;
	padding: 0 12px;
	font-size: 24px;
	font-weight: 800;
}

.pricing-plan-group__title::before,
.pricing-plan-group__title::after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
}

.pricing-plan-group__title::before {
	left: -18px;
	top: -9px;
	border-width: 9px 9px 0 0;
	border-color: #111 transparent transparent transparent;
}

.pricing-plan-group__title::after {
	right: -18px;
	bottom: -8px;
	border-width: 0 0 9px 9px;
	border-color: transparent transparent #111 transparent;
}

.pricing-plan-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.pricing-plan-card {
	min-height: 420px;
	padding: 34px 30px 32px;
	border-radius: 18px;
	background: #fff;
}

.pricing-plan-card__label {
	width: fit-content;
	min-width: 180px;
	margin: 0 auto 14px;
	padding: 10px 24px;
	border-radius: 999px;
	background: #e9edef;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
}

.pricing-plan-card__spec {
	display: flex;
	min-height: 54px;
	margin: 0 0 28px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 5px 8px;
	color: #555;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.55;
	text-align: center;
}

.pricing-plan-card__spec span {
	display: inline-block;
	padding: 3px 8px;
	border: 1px solid #ffa400;
	border-radius: 999px;
	color: #9b6200;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
}

.pricing-plan-card__price {
	margin: 0 0 40px;
	font-family: "Noto Sans JP", sans-serif;
	/* font-family: Arial, Helvetica, sans-serif; */
	font-size: clamp(48px, 5.5vw, 64px);
	font-weight: 900;
	line-height: 0.95;
	letter-spacing: -0.04em;
	text-align: center;
	white-space: nowrap;
}

.pricing-plan-card__price small {
	display: block;
	margin-top: 14px;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 28px;
	font-weight: 800;
	line-height: 1;
	text-align: right;
	letter-spacing: 0;
}

.pricing-plan-card__period {
	width: fit-content;
	margin: -18px auto 24px;
	padding: 5px 12px;
	border-radius: 999px;
	background: #f4f5f5;
	color: #555;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}

.pricing-plan-card__extra {
	margin: -12px 0 18px;
	color: #9b6200;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.pricing-plan-card__text {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.85;
}

.pricing-plan-group__detail {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	margin-top: 24px;
	color: #333;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	transition: color 0.2s ease;
}

.pricing-plan-group__detail span {
	color: var(--pricing-orange);
	transition: transform 0.2s ease;
}

.pricing-plan-group__detail:hover {
	color: var(--pricing-orange);
}

.pricing-plan-group__detail:hover span {
	transform: translateX(4px);
}

.pricing-guide .pricing-center {
	margin-top: 61px;
}

.pricing-guide .pricing-button--black {
	min-height: 70px;
}

.pricing-plan-group--rental {
	margin-top: 110px;
}

.pricing-plan-group--rental .pricing-section-head {
	margin-bottom: 39px;
	padding-top: 21px;
}

.pricing-plan-group--rental .pricing-section-head h2 {
	margin-bottom: 19px;
}

.pricing-plan-group--rental .pricing-section-head p {
	font-size: 14px;
	line-height: 1.8;
}

.pricing-plan-group__note {
	margin: 46px 0 0;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.8;
}

.pricing-plan-group--rental .pricing-plan-group__note {
	margin-top: 21px;
}

.pricing-plan-group--rental .pricing-center {
	margin-top: 64px;
}

.pricing-plan-group--rental .pricing-button {
	min-width: 280px;
}

.pricing-factors {
	padding: 85px 0 100px;
	border-radius: 22px;
	background: #000;
	color: #fff;
}

.pricing-factors .pricing-shell {
	width: min(1072px, calc(100% - 64px));
}

.pricing-factors__head {
	margin-bottom: 22px;
}

.pricing-factors__head h2 {
	margin: 0 0 20px;
	font-size: clamp(30px, 3vw, 36px);
	font-weight: 500;
}

.pricing-factors__head p {
	margin: 0;
	font-size: 13px;
	line-height: 1.9;
}

.pricing-factor-controls {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-bottom: 18px;
}

.pricing-factor-control {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1px solid #fff;
	border-radius: 50%;
	background: transparent;
	color: #fff;
	font: inherit;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

.pricing-factor-control:hover {
	border-color: var(--pricing-orange);
	background: var(--pricing-orange);
	color: #000;
}

.pricing-factor-control:focus-visible {
	outline: 2px solid var(--pricing-orange);
	outline-offset: 3px;
}

.pricing-factor-control:disabled {
	border-color: #777;
	color: #777;
	cursor: default;
	opacity: 0.55;
}

.pricing-factor-control:disabled:hover {
	border-color: #777;
	background: transparent;
	color: #777;
}

.pricing-factor-scroll {
	display: grid;
	grid-auto-columns: 344px;
	grid-auto-flow: column;
	gap: 20px;
	width: calc(100vw - max(32px, (100vw - 1072px) / 2));
	overflow-x: auto;
	padding: 0 32px 0 0;
	overscroll-behavior-inline: contain;
	scroll-snap-type: inline mandatory;
	scrollbar-width: none;
	cursor: grab;
	user-select: none;
	-webkit-user-select: none;
}

.pricing-factor-scroll.is-dragging {
	cursor: grabbing;
	scroll-snap-type: none;
}

.pricing-factor-scroll::-webkit-scrollbar {
	display: none;
}

.pricing-factor-card {
	overflow: hidden;
	border-radius: 14px;
	background: var(--pricing-orange);
	color: #111;
	scroll-snap-align: start;
}

.pricing-factor-card img {
	display: block;
	width: 100%;
	aspect-ratio: 344 / 321;
	object-fit: cover;
}

.pricing-factor-card > div {
	min-height: 158px;
	padding: 18px 20px 20px;
}

.pricing-factor-card h3 {
	margin: 0 0 10px;
	font-size: 22px;
	font-weight: 900;
	line-height: 1.4;
}

.pricing-factor-card p {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.65;
}

.pricing-flow,
.pricing-faq {
	padding: 112px 0 124px;
}

.pricing-flow__body {
	display: grid;
	grid-template-columns: 400px minmax(0, 1fr);
	align-items: stretch;
}

.pricing-flow__list {
	position: relative;
	z-index: 2;
	display: grid;
	margin: 0;
	padding: 30px 28px 30px 50px;
	border-radius: 20px;
	background: #d7dbe1;
	list-style: none;
}

.pricing-flow__list::before {
	content: "";
	position: absolute;
	left: 72px;
	top: 62px;
	bottom: 62px;
	border-left: 1px solid #36383a;
	pointer-events: none;
}

.pricing-flow__list li {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	overflow: visible;
	min-height: 68px;
	padding: 0;
	border-radius: 0;
	background: transparent;
}

.pricing-flow__list span {
	display: inline-flex;
	flex: 0 0 44px;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #36383a;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
}

.pricing-flow__list strong {
	display: flex;
	align-items: center;
	color: #1c1c1c;
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1.45;
	white-space: nowrap;
}

.pricing-flow__list strong::before {
	content: "";
	flex: 0 0 42px;
	width: 42px;
	height: 7px;
	margin: 0 10px 0 12px;
	background:
		radial-gradient(circle 3.5px at calc(100% - 3.5px) 50%, #36383a 98%, transparent) no-repeat,
		repeating-linear-gradient(90deg, #36383a 0 4px, transparent 4px 8px) left center / calc(100% - 10px) 1px no-repeat;
}

.pricing-flow figure {
	margin: 28px 0;
	overflow: hidden;
	border-radius: 0 20px 20px 0;
	background: #ddd;
}

.pricing-flow figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 58% center;
}

.pricing-faq {
	padding-top: 0;
}

.pricing-faq__list {
	display: grid;
	gap: 20px;
}

.pricing-faq details {
	overflow: hidden;
	border-radius: 18px;
	background: #fff;
	box-shadow: none;
}

.pricing-faq summary {
	position: relative;
	display: block;
	min-height: 80px;
	padding: 28px 88px 24px 40px;
	color: #000;
	font-size: 17px;
	font-weight: 900;
	line-height: 1.55;
	cursor: pointer;
}

.pricing-faq summary::-webkit-details-marker {
	display: none;
}

.pricing-faq summary::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #000;
	color: #fff;
	line-height: 1;
	transform: translateY(-50%);
	transition: background-color 0.2s ease;
}

.pricing-faq summary::before {
	content: "";
	position: absolute;
	z-index: 1;
	top: 50%;
	right: 55px;
	width: 10px;
	height: 10px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: translateY(-68%) rotate(45deg);
	transition: border-color 0.2s ease, transform 0.2s ease;
}

.pricing-faq details[open] summary::before {
	transform: translateY(-30%) rotate(225deg);
}

@media (hover: hover) and (pointer: fine) {
	.pricing-faq summary:hover::after {
		background-color: var(--pricing-orange);
	}

	.pricing-faq summary:hover::before {
		border-color: #000;
	}
}

.pricing-faq details > div {
	padding: 0 88px 32px 40px;
	color: #000;
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1.9;
}

.pricing-faq details p {
	margin: 0;
	font-size: inherit;
	line-height: inherit;
}

.pricing-faq details p + p {
	margin-top: 1em;
}

.pricing-faq details > div a {
	color: #b56800;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

@media (hover: hover) and (pointer: fine) {
	.pricing-faq details > div a:hover {
		color: var(--pricing-orange);
		text-decoration-color: transparent;
	}
}

.pricing-faq details > div a:focus-visible {
	border-radius: 2px;
	outline: 2px solid var(--pricing-orange);
	outline-offset: 3px;
}

.pricing-faq__empty {
	margin: 0;
	padding: 28px 40px;
	border-radius: 18px;
	background: #fff;
	font-size: 14px;
	line-height: 1.8;
}

.pricing-catalog {
	background-color: var(--pricing-bg);
}

@media screen and (max-width: 900px) {
	.pricing-shell {
		width: min(100% - 40px, 720px);
	}

	.pricing-hero .pricing-shell {
		width: min(100% - 40px, 720px);
	}

	.pricing-guide > .pricing-shell {
		width: min(100% - 40px, 720px);
	}

	.pricing-factors .pricing-shell {
		width: min(100% - 40px, 720px);
	}

	.pricing-hero {
		min-height: 0;
		padding: 80px 0 92px;
	}

	.pricing-hero::before {
		top: 142px;
		left: max(20px, calc(50% - 360px));
		height: 52px;
	}

	.pricing-hero__title {
		margin-bottom: 84px;
		font-size: clamp(68px, 15vw, 110px);
	}

	.pricing-hero__content {
		grid-template-columns: 1fr;
	}

	.pricing-hero__content .pricing-button {
		justify-self: start;
		margin-bottom: 0;
	}

	.pricing-hero__orbit {
		top: 80px;
		right: -120px;
		width: 390px;
		height: 390px;
	}

	.pricing-plan-grid {
		grid-template-columns: 1fr;
	}

	.pricing-plan-card {
		min-height: 0;
	}

	.pricing-plan-card__price {
		font-size: 64px;
	}

	.pricing-flow__body {
		grid-template-columns: 1fr;
	}

	.pricing-flow__list {
		border-radius: 20px 20px 0 0;
	}

	.pricing-flow figure {
		margin: 0;
		border-radius: 0 0 20px 20px;
		aspect-ratio: 16 / 10;
	}

}

@media screen and (max-width: 640px) {
	.pricing-shell {
		width: calc(100% - 32px);
	}

	.pricing-hero .pricing-shell {
		width: calc(100% - 32px);
	}

	.pricing-guide > .pricing-shell {
		width: calc(100% - 32px);
	}

	.pricing-factors .pricing-shell {
		width: calc(100% - 32px);
	}

	.pricing-button {
		width: 100%;
		min-height: 56px;
		padding: 0 22px;
		font-size: 12px;
	}

	.pricing-center {
		margin-top: 38px;
	}

	.pricing-guide .pricing-center {
		margin-top: 38px;
	}

	.pricing-guide .pricing-button--black {
		min-height: 56px;
	}

	.pricing-hero {
		padding: 62px 0 78px;
	}

	.pricing-hero .pricing-button {
		min-width: 0;
		min-height: 56px;
	}

	.pricing-hero::before {
		top: 110px;
		left: 16px;
		height: 38px;
	}

	.pricing-hero__title {
		margin-bottom: 70px;
		font-size: clamp(58px, 20vw, 82px);
	}

	.pricing-hero__lead {
		margin-bottom: 24px;
		font-size: 25px;
	}

	.pricing-hero__text {
		font-size: 12px;
		line-height: 1.85;
	}

	.pricing-hero__orbit {
		top: 48px;
		right: -150px;
		width: 330px;
		height: 330px;
	}

	.pricing-section-head {
		margin-bottom: 36px;
		padding-top: 24px;
	}

	.pricing-section-head h2 {
		margin-bottom: 16px;
		font-size: 25px;
	}

	.pricing-section-head p {
		font-size: 11px;
	}

	.pricing-section-head .pricing-section-head__tax-note {
		margin-top: 12px;
		padding: 6px 10px;
		font-size: 11px;
	}

	.pricing-guide {
		padding-bottom: 82px;
	}

	.pricing-plan-group {
		margin-top: 68px;
	}

	.pricing-plan-group__title {
		margin-bottom: 28px;
		font-size: 20px;
	}

	.pricing-plan-grid {
		gap: 16px;
	}

	.pricing-plan-card {
		padding: 28px 24px;
	}

	.pricing-plan-card__label {
		margin-bottom: 12px;
	}

	.pricing-plan-card__spec {
		min-height: 0;
		margin-bottom: 24px;
		font-size: 10px;
	}

	.pricing-plan-card__price {
		margin-bottom: 32px;
		font-size: clamp(48px, 16vw, 62px);
	}

	.pricing-plan-card__price small {
		font-size: 23px;
	}

	.pricing-plan-card__period {
		margin-top: -14px;
		font-size: 10px;
	}

	.pricing-plan-card__text {
		font-size: 12px;
	}

	.pricing-plan-group__detail {
		font-size: 11px;
	}

	.pricing-plan-group--rental {
		margin-top: 82px;
	}

	.pricing-factors {
		padding: 66px 0 72px;
		border-radius: 16px;
	}

	.pricing-factors__head h2 {
		font-size: 28px;
	}

	.pricing-factors__head p {
		font-size: 11px;
	}

	.pricing-factor-control {
		width: 42px;
		height: 42px;
		font-size: 18px;
	}

	.pricing-factor-scroll {
		grid-auto-columns: 280px;
		width: calc(100vw - 16px);
	}

	.pricing-flow,
	.pricing-faq {
		padding: 78px 0 88px;
	}

	.pricing-flow__list {
		padding: 22px 18px 22px 24px;
		border-radius: 16px 16px 0 0;
	}

	.pricing-flow__list::before {
		left: 44px;
		top: 58px;
		bottom: 58px;
	}

	.pricing-flow__list li {
		min-height: 58px;
	}

	.pricing-flow__list span {
		width: 40px;
		height: 40px;
		font-size: 13px;
	}

	.pricing-flow__list strong {
		font-size: 12px;
		white-space: normal;
	}

	.pricing-flow__list strong::before {
		flex-basis: 28px;
		width: 28px;
		margin: 0 8px 0 10px;
	}

	.pricing-flow figure {
		border-radius: 0 0 16px 16px;
	}

	.pricing-faq {
		padding-top: 0;
	}

	.pricing-faq__list {
		gap: 14px;
	}

	.pricing-faq details {
		border-radius: 14px;
	}

	.pricing-faq summary {
		min-height: 64px;
		padding: 20px 62px 18px 18px;
		font-size: 13.5px;
	}

	.pricing-faq summary::after {
		right: 18px;
		width: 34px;
		height: 34px;
	}

	.pricing-faq summary::before {
		right: 31px;
		width: 8px;
		height: 8px;
	}

	.pricing-faq details > div {
		padding: 0 18px 22px;
		font-size: 12px;
	}

	.pricing-faq details p {
		font-size: inherit;
	}

}

/* Strengths page */
.strengths-page {
	position: relative;
	z-index: 0;
	background: #f1f1f1;
	color: #111;
}

.strengths-page > .float-circles--fixed {
	z-index: 0;
}

.strengths {
	position: relative;
	z-index: 1;
	overflow: hidden;
	background: transparent;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
	letter-spacing: 0.03em;
}

.strengths *,
.strengths *::before,
.strengths *::after {
	box-sizing: border-box;
}

.strengths-shell {
	width: min(1120px, calc(100% - 64px));
	margin-inline: auto;
}

.strengths-hero {
	position: relative;
	isolation: isolate;
	min-height: 470px;
	padding: 100px 0 82px;
	background: #f2f2f2;
}

.strengths-hero::before {
	content: "";
	position: absolute;
	z-index: 1;
	top: 158px;
	right: 0;
	left: max(32px, calc(50% - 560px));
	height: 70px;
	background: #ffa400;
}

.strengths-hero .strengths-shell {
	position: relative;
	z-index: 2;
}

.strengths-hero h1 {
	position: relative;
	display: block;
	width: min(899px, 100%);
	margin: 0 0 88px;
	font-size: 0;
	line-height: 0;
}

.strengths-hero h1 img {
	display: block;
	width: 100%;
	height: auto;
}

.strengths-hero .strengths-shell > p {
	margin: 0;
	font-size: clamp(24px, 2.5vw, 34px);
	font-weight: 900;
	line-height: 1.5;
}

.strengths-hero__orbit {
	position: absolute;
	z-index: 0;
	top: 52px;
	right: max(32px, calc((100vw - 1120px) / 2));
	width: 420px;
	height: 420px;
	overflow: visible;
	pointer-events: none;
}

.strengths-hero__orbit-line {
	fill: none;
	stroke: #d8d8d8;
	stroke-width: 1;
}

.strengths-hero__dot--orange {
	fill: #ffa400;
}

.strengths-hero__dot--gray {
	fill: #7d7c73;
}

.strengths-overview {
	padding: 0 0 104px;
}

.strengths-section-head {
	padding-top: 34px;
	border-top: 1px solid #111;
}

.strengths-section-head h2 {
	margin: 0 0 18px;
	font-size: clamp(26px, 2.4vw, 32px);
	font-weight: 500;
	line-height: 1.4;
}

.strengths-section-head p {
	margin: 0;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.9;
}

.strengths-overview__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 46px;
}

.strengths-overview__cards a {
	position: relative;
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	grid-template-rows: auto 1fr;
	align-items: start;
	column-gap: 16px;
	min-height: 236px;
	padding: 32px 30px 44px;
	border-radius: 14px;
	background: #fff;
	color: #111;
	text-decoration: none;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.strengths-overview__cards a:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

.strengths-overview__number {
	display: flex;
	align-items: center;
	align-self: stretch;
	padding-right: 16px;
	border-right: 1px dotted #777;
	color: #888;
	font-size: 28px;
	font-weight: 800;
	line-height: 1;
}

.strengths-overview__main {
	align-self: center;
}

.strengths-overview__cards small {
	display: block;
	margin-bottom: 8px;
	font-size: 13px;
	font-weight: 700;
}

.strengths-overview__cards strong {
	display: block;
	color: #f39800;
	font-size: clamp(22px, 2vw, 28px);
	font-weight: 900;
	line-height: 1.35;
}

.strengths-overview__cards p {
	grid-column: 1 / -1;
	margin: 26px 0 0;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.7;
}

.strengths-overview__cards i {
	position: absolute;
	right: 0;
	bottom: 16px;
	left: 0;
	font-style: normal;
	font-size: 20px;
	text-align: center;
}

.strengths-detail {
	padding: 54px 0 78px;
	scroll-margin-top: 100px;
}

.strengths-detail__title {
	display: flex;
	align-items: stretch;
	gap: 18px;
	margin: 0 0 48px;
	font-size: clamp(22px, 2vw, 27px);
	font-weight: 900;
	line-height: 1.5;
}

.strengths-detail__title span {
	display: flex;
	align-items: center;
	font-size: 32px;
	line-height: 1;
}

.strengths-detail__title strong {
	display: flex;
	align-items: center;
	min-height: 54px;
	padding-left: 22px;
	border-left: 1px dotted #555;
	font: inherit;
}

.strengths-experience {
	display: grid;
	grid-template-columns: minmax(400px, 508px) minmax(0, 1fr);
	align-items: center;
	gap: 34px;
}

.strengths-experience figure {
	margin: 0;
	overflow: hidden;
	border-radius: 14px;
	aspect-ratio: 3 / 2;
}

.strengths-experience .strengths-experience__collage {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: 4px;
	background: #fff;
}

.strengths-experience img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.strengths-experience > div {
	font-size: 13px;
	font-weight: 500;
	line-height: 1.9;
}

.strengths-experience ul {
	margin: 0 0 28px;
	padding: 0;
	font-weight: 700;
	list-style: none;
}

.strengths-experience li {
	position: relative;
	padding-left: 18px;
}

.strengths-experience li::before {
	content: "";
	position: absolute;
	top: 0.65em;
	left: 0;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	border-left: 9px solid #777;
	transform: translateY(-50%);
}

.strengths-experience > div > p:last-child,
.strengths-detail__copy {
	margin: 24px 0 0;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.9;
}

.strengths-process {
	overflow: hidden;
	padding: 34px 38px;
	border-radius: 14px;
	background: #fff;
	-webkit-overflow-scrolling: touch;
}

.strengths-process__label {
	margin: 0;
	/* font-family: Arial, Helvetica, sans-serif; */
	font-family: "Noto Sans JP", sans-serif;
	font-size: 24px;
	font-weight: 900;
}

.strengths-process ol {
	position: relative;
	width: 100%;
	min-width: 920px;
	height: 233px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.strengths-process li {
	--process-x: 0%;
	--process-y: 0px;
	z-index: 1;
	position: absolute;
	bottom: var(--process-y);
	left: var(--process-x);
	width: 54px;
	height: 54px;
	text-align: left;
}

.strengths-process li:nth-child(1) { --process-x: 4%; --process-y: 0px; }
.strengths-process li:nth-child(2) { --process-x: 19%; --process-y: 40px; }
.strengths-process li:nth-child(3) { --process-x: 34%; --process-y: 80px; }
.strengths-process li:nth-child(4) { --process-x: 49%; --process-y: 120px; }
.strengths-process li:nth-child(5) { --process-x: 64%; --process-y: 160px; }
.strengths-process li:nth-child(6) { --process-x: 79%; --process-y: 200px; }

.strengths-process li::after {
	content: "";
	position: absolute;
	z-index: -1;
	top: 26px;
	left: 48px;
	width: clamp(125px, 12vw, 150px);
	border-top: 1px dotted #444;
	transform: rotate(-15deg);
	transform-origin: left center;
}

.strengths-process li:last-child::after {
	display: none;
}

.strengths-process li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border: 3px solid #fff;
	border-radius: 50%;
	background: #3f4245;
	box-shadow: 0 0 0 1px #333;
	color: #fff;
	font-size: 14px;
	font-weight: 800;
}

.strengths-process li strong {
	position: absolute;
	top: 43px;
	left: 82px;
	width: 170px;
	font-size: 12px;
	line-height: 1.5;
	white-space: nowrap;
}

.strengths-process li strong::before {
	content: "";
	position: absolute;
	top: 0.7em;
	right: calc(100% + 8px);
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #444;
	transform: translateY(-50%);
}

.strengths-process li strong::after {
	content: "";
	position: absolute;
	top: 0.7em;
	right: calc(100% + 15px);
	width: 28px;
	border-top: 1px dotted #777;
	transform: translateY(-50%) rotate(16deg);
	transform-origin: right center;
}

.strengths-process li small {
	display: block;
	margin-top: 2px;
	font-size: 10px;
	font-weight: 500;
	white-space: nowrap;
}

.strengths-mini-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 40px;
}

.strengths-mini-cards article {
	min-height: 150px;
	padding: 30px 28px;
	border-radius: 14px;
	background: #fff;
}

.strengths-mini-cards h3 {
	margin: 0 0 18px;
	padding: 10px 16px;
	border-radius: 999px;
	background: #e3e6e8;
	font-size: 14px;
	font-weight: 800;
	text-align: center;
}

.strengths-mini-cards p {
	margin: 0;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.75;
}

.strengths-map {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 335px;
	padding: 16px;
	overflow: hidden;
	border-radius: 14px;
	background: #8b9095;
}

.strengths-map > p {
	position: absolute;
	top: 28px;
	left: 32px;
	margin: 0;
	color: #fff;
	/* font-family: Arial, Helvetica, sans-serif; */
	font-family: "Noto Sans JP", sans-serif;
	font-size: 24px;
	font-weight: 900;
}

.strengths-map__visual {
	position: relative;
	width: min(60%, 650px);
	aspect-ratio: 3 / 2;
}

.strengths-map img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.strengths-map__labels {
	position: absolute;
	inset: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.strengths-map__label {
	position: absolute;
	z-index: 1;
	transform: translate(-50%, -100%);
	padding: 4px 8px;
	border-radius: 999px;
	background: #111;
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	line-height: 1.35;
	white-space: nowrap;
}

.strengths-map__label--sapporo { top: 10%; left: 76.2%; }
.strengths-map__label--tohoku { top: 46%; left: 68.4%; }
.strengths-map__label--tokyo { top: 61%; left: 60.9%; }
.strengths-map__label--nagoya { top: 65%; left: 49.5%; }
.strengths-map__label--osaka { top: 51%; left: 42.5%; }
.strengths-map__label--chushikoku { top: 61%; left: 36.3%; }
.strengths-map__label--hiroshima { top: 51%; left: 29.6%; }
.strengths-map__label--kyushu { top: 61%; left: 20.8%; }

.strengths-offices {
	margin-top: 64px;
}

.strengths-offices > h3 {
	position: relative;
	display: inline-block;
	margin: 0 0 30px;
	padding: 0 30px;
	font-size: 24px;
	font-weight: 900;
}

.strengths-offices > h3::before,
.strengths-offices > h3::after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
}

.strengths-offices > h3::before {
	top: -8px;
	left: 0;
	border-width: 10px 10px 0 0;
	border-color: #111 transparent transparent transparent;
}

.strengths-offices > h3::after {
	right: 0;
	bottom: -8px;
	border-width: 0 0 10px 10px;
	border-color: transparent transparent #111 transparent;
}

.strengths-offices__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 32px;
	padding: 38px 40px 28px;
	border-radius: 14px;
	background: #fff;
}

.strengths-offices__grid article {
	padding: 18px 0 28px;
	border-top: 1px dashed #aab0b4;
}

.strengths-offices__grid h4 {
	margin: 0 0 12px;
	font-size: 14px;
	font-weight: 900;
}

.strengths-offices__grid p {
	margin: 0 0 10px;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.75;
}

.strengths-offices__grid a {
	color: #111;
	font-size: 11px;
	font-weight: 800;
	text-decoration: none;
}

.strengths-offices__grid a:hover {
	color: #f39800;
}

.strengths-catalog {
	margin-top: 0;
	padding-top: 70px;
}

@media screen and (max-width: 900px) {
	.strengths-shell {
		width: min(100% - 40px, 720px);
	}

	.strengths-hero {
		min-height: 420px;
		padding: 90px 0 72px;
	}

	.strengths-hero::before {
		top: 158px;
		left: max(20px, calc(50% - 360px));
		height: 52px;
	}

	.strengths-hero h1 {
		margin-bottom: 74px;
		font-size: clamp(60px, 12vw, 90px);
	}

	.strengths-hero__orbit {
		right: -100px;
		width: 350px;
		height: 350px;
	}

	.strengths-overview__cards {
		gap: 12px;
	}

	.strengths-overview__cards a {
		grid-template-columns: 54px minmax(0, 1fr);
		column-gap: 12px;
		padding: 24px 20px;
	}

	.strengths-overview__number {
		padding-right: 12px;
	}

	.strengths-experience {
		grid-template-columns: 42% minmax(0, 1fr);
		gap: 28px;
	}

	.strengths-process {
		overflow-x: auto;
		padding-inline: 24px;
	}

	.strengths-process li strong {
		font-size: 10px;
	}

	.strengths-process li span {
		flex-basis: 46px;
		width: 46px;
		height: 46px;
	}
}

@media screen and (max-width: 640px) {
	.strengths-shell {
		width: calc(100% - 32px);
	}

	.strengths-hero {
		min-height: 340px;
		padding: 66px 0 56px;
	}

	.strengths-hero::before {
		top: 110px;
		left: 16px;
		height: 38px;
	}

	.strengths-hero h1 {
		margin-bottom: 66px;
		font-size: clamp(48px, 15vw, 68px);
	}

	.strengths-hero .strengths-shell > p {
		font-size: 22px;
	}

	.strengths-hero__orbit {
		top: 36px;
		right: -150px;
		width: 300px;
		height: 300px;
	}

	.strengths-overview {
		padding-bottom: 56px;
	}

	.strengths-section-head {
		padding-top: 26px;
	}

	.strengths-section-head h2 {
		font-size: 24px;
	}

	.strengths-section-head p {
		font-size: 11px;
	}

	.strengths-overview__cards,
	.strengths-mini-cards {
		grid-template-columns: 1fr;
	}

	.strengths-overview__cards {
		margin-top: 30px;
	}

	.strengths-overview__cards a {
		grid-template-columns: auto 1fr;
		min-height: 190px;
	}

	.strengths-detail {
		padding: 44px 0 56px;
	}

	.strengths-detail__title {
		align-items: flex-start;
		gap: 12px;
		margin-bottom: 30px;
		font-size: 20px;
	}

	.strengths-detail__title span {
		font-size: 28px;
	}

	.strengths-detail__title strong {
		min-height: 46px;
		padding-left: 14px;
	}

	.strengths-experience {
		grid-template-columns: 1fr;
	}

	.strengths-experience > div,
	.strengths-detail__copy {
		font-size: 12px;
	}

	.strengths-process {
		overflow-x: auto;
		padding: 26px 22px 34px;
	}

	.strengths-process__label {
		margin-bottom: 26px;
		font-size: 20px;
	}

	.strengths-process ol {
		width: 920px;
		min-width: 920px;
	}

	.strengths-process li strong {
		font-size: 10px;
	}

	.strengths-mini-cards {
		gap: 12px;
		margin-top: 28px;
	}

	.strengths-mini-cards article {
		min-height: 0;
		padding: 22px 18px;
	}

	.strengths-map {
		min-height: 290px;
	}

	.strengths-map img {
		width: 100%;
	}

	.strengths-map__visual {
		width: 100%;
	}

	.strengths-map__label {
		padding: 3px 5px;
		font-size: 8px;
	}

	.strengths-map__label--osaka {
		left: 46%;
	}

	.strengths-offices {
		margin-top: 44px;
	}

	.strengths-offices__grid {
		grid-template-columns: 1fr;
		padding: 8px 18px;
	}

	.strengths-offices__grid article:nth-last-child(2) {
		border-bottom: 0;
	}

	.strengths-offices__grid article:last-child {
		border-bottom: 0;
	}

	.strengths-catalog {
		padding-top: 50px;
	}
}

/* Service cards: match the installation case-study cards */
.led-renew-section--services .led-renew-service-link {
	overflow: visible;
	transition: transform 0.35s ease;
}

.led-renew-section--services .led-renew-service-link figure {
	overflow: hidden;
	aspect-ratio: 344 / 230;
	border-radius: 10px;
	background: #ddd;
}

.led-renew-section--services .led-renew-service-link figure img {
	transition: transform 0.55s cubic-bezier(0.22, 0.61, 0.36, 1), filter 0.35s ease;
}

.led-renew-section--services .led-renew-service-link span {
	margin: 20px 0 0;
	padding: 0;
	color: #000;
	font-size: 1.75rem;
	font-weight: 900;
	line-height: 1.5;
	transition: color 0.3s ease;
}

.led-renew-section--services .led-renew-service-link:focus-visible {
	outline: 3px solid #ffa400;
	outline-offset: 6px;
}

@media (hover: hover) and (pointer: fine) {
	.led-renew-section--services .led-renew-service-link:hover {
		transform: translateY(-6px);
	}

	.led-renew-section--services .led-renew-service-link:hover figure img {
		transform: scale(1.06);
		filter: brightness(1.04);
	}

	.led-renew-section--services .led-renew-service-link:hover span {
		color: #d97f00;
	}
}

@media screen and (max-width: 767px) {
	.led-renew-section--services .led-renew-service-link span {
		margin-top: 16px;
		font-size: 1.45rem;
	}
}
