#home_used .gb-media-668d806d[src*="fv-phone-hotel-ai-sp"] {
	display: block;
	filter: drop-shadow(0 24px 34px rgba(6, 47, 88, 0.18));
	height: auto;
	margin: 0 auto;
	max-width: 88%;
	object-fit: contain;
	width: min(36vw, 460px);
}

#home_used .gb-text-0ed8be08 {
	font-size: 15px;
	letter-spacing: 0.08em;
}

@media (min-width: 769px) and (max-width: 1180px) {
	#site-navigation.main-navigation:not(.slideout-navigation),
	#sticky-navigation.main-navigation:not(.slideout-navigation) {
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	#site-navigation.main-navigation:not(.slideout-navigation) .inside-navigation,
	#sticky-navigation.main-navigation:not(.slideout-navigation) .inside-navigation,
	#site-navigation.main-navigation:not(.slideout-navigation) .inside-navigation.grid-container,
	#sticky-navigation.main-navigation:not(.slideout-navigation) .inside-navigation.grid-container {
		max-width: 100% !important;
		width: 100% !important;
	}
}

.ai-flow-step__image img[src*="ai-representative-phone"],
.ai-quality-card__image img[src*="ai-representative-phone"] {
	object-fit: cover;
	object-position: center center;
}

.ai-roadmap-feature__image[src*="roomtablet-intercom-real"] {
	background: #07182f;
	box-sizing: border-box;
	object-fit: contain;
	padding: 12px;
}

.ai-trust-section {
	background:
		radial-gradient(circle at 16% 18%, rgba(79, 199, 255, 0.18) 0, transparent 26%),
		linear-gradient(135deg, #2d83bb 0%, #4b97c5 100%);
	color: #fff;
	padding-bottom: 104px;
}

.ai-trust-section::before {
	color: rgba(255, 255, 255, 0.16);
	content: "SERVICE";
	top: 36px;
	z-index: 0;
}

.ai-trust-section__inner {
	position: relative;
	z-index: 1;
}

.ai-trust-section__eyebrow {
	color: #fff;
}

.ai-trust-section__heading {
	margin-bottom: 78px;
}

.ai-trust-section__heading h2 {
	color: #fff;
	text-shadow: 0 1px 14px rgba(6, 47, 88, 0.16);
}

.ai-trust-services {
	display: grid;
	gap: 74px 72px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0 auto;
	max-width: 1120px;
}

.ai-trust-service {
	position: relative;
}

.ai-trust-service:nth-child(even) {
	margin-top: 72px;
}

.ai-trust-service__num {
	color: #fff;
	font-size: clamp(58px, 5.4vw, 84px);
	font-style: italic;
	font-weight: 700;
	left: -18px;
	letter-spacing: 0;
	line-height: 1;
	position: absolute;
	text-shadow: 0 8px 24px rgba(6, 47, 88, 0.16);
	top: -44px;
	z-index: 2;
}

.ai-trust-service__media {
	background: rgba(255, 255, 255, 0.18);
	box-shadow: 0 22px 48px rgba(6, 47, 88, 0.16);
	height: 280px;
	margin: 0 0 24px;
	overflow: hidden;
	position: relative;
}

.ai-trust-service__media img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	width: 100%;
}

.ai-trust-service__media--contained {
	align-items: center;
	background: rgba(255, 255, 255, 0.18);
	border: 1px solid rgba(255, 255, 255, 0.28);
	display: flex;
	justify-content: center;
}

.ai-trust-service__media--contained img {
	object-fit: contain;
	padding: 18px;
}

.ai-trust-service__media--dark {
	background: #07182f;
}

.ai-trust-service__body {
	border-left: 4px solid rgba(255, 255, 255, 0.9);
	padding-left: 22px;
}

.ai-trust-service h3 {
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.45;
	margin: 0 0 16px;
}

.ai-trust-service p,
.ai-trust-company p {
	color: rgba(255, 255, 255, 0.92);
	font-size: 15px;
	letter-spacing: 0.02em;
	line-height: 2;
	margin: 0;
}

.ai-trust-company {
	align-items: center;
	border-top: 1px solid rgba(255, 255, 255, 0.28);
	display: flex;
	gap: 22px;
	justify-content: center;
	margin: 72px auto 0;
	max-width: 920px;
	padding-top: 30px;
	text-align: center;
}

.ai-trust-card__cta {
	align-items: center;
	align-self: flex-start;
	background: #fff;
	border-radius: 999px;
	color: #1156b6;
	display: inline-flex;
	font-size: 14px;
	font-weight: 700;
	justify-content: center;
	line-height: 1;
	margin-top: 22px;
	min-height: 42px;
	padding: 0 22px;
	text-decoration: none;
}

.ai-trust-card__cta:hover,
.ai-trust-card__cta:focus {
	color: #1156b6;
	opacity: 0.84;
}

.ai-trust-card__text-link {
	align-items: center;
	color: #fff;
	display: inline-flex;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	margin-top: 16px;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.ai-trust-card__text-link::after {
	content: "";
	border-right: 2px solid currentColor;
	border-top: 2px solid currentColor;
	height: 7px;
	margin-left: 8px;
	transform: rotate(45deg);
	width: 7px;
}

.ai-trust-section__note {
	color: rgba(255, 255, 255, 0.82);
	margin-left: auto;
	margin-right: auto;
	max-width: 1120px;
	text-align: left;
}

@media (max-width: 767px) {
	#home_used .gb-media-668d806d[src*="fv-phone-hotel-ai-sp"] {
		max-width: 92%;
		width: min(84vw, 360px);
	}

	#home_used .gb-text-0ed8be08 {
		font-size: 13px;
	}

	.ai-roadmap-feature__image[src*="roomtablet-intercom-real"] {
		padding: 8px;
	}

	.ai-trust-section {
		padding-bottom: 72px;
	}

	.ai-trust-section::before {
		font-size: 82px;
		left: 0;
		text-align: left;
		top: 36px;
		transform: none;
	}

	.ai-trust-section__heading {
		margin-bottom: 52px;
	}

	.ai-trust-services {
		gap: 54px;
		grid-template-columns: 1fr;
	}

	.ai-trust-service:nth-child(even) {
		margin-top: 0;
	}

	.ai-trust-service__num {
		font-size: 54px;
		left: -4px;
		top: -34px;
	}

	.ai-trust-service__media {
		height: 210px;
		margin-bottom: 20px;
	}

	.ai-trust-service__media--contained img {
		padding: 12px;
	}

	.ai-trust-service__body {
		padding-left: 16px;
	}

	.ai-trust-service h3 {
		font-size: 21px;
	}

	.ai-trust-service p,
	.ai-trust-company p {
		font-size: 14px;
		line-height: 1.9;
	}

	.ai-trust-company {
		align-items: stretch;
		flex-direction: column;
		gap: 16px;
		margin-top: 54px;
		padding-top: 24px;
	}

	.ai-trust-card__cta {
		align-self: stretch;
	}
}

/* Keep the roadmap calm and business-oriented instead of decorative. */
.ai-roadmap-section {
	background-color: #f6f8fb;
	background-image: none;
	color: #0b2f56;
}

.ai-roadmap-section::before,
.ai-roadmap-section::after {
	display: none;
}

.ai-roadmap-section__eyebrow {
	color: #2878e8;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.2;
	margin: 0 0 16px;
}

.ai-roadmap-section__heading {
	position: relative;
}

.ai-roadmap-section__heading::before {
	color: rgba(11, 47, 86, 0.045);
	content: "ROADMAP";
	font-family: Roboto, Arial, sans-serif;
	font-size: 108px;
	font-weight: 400;
	left: 50%;
	letter-spacing: 0.04em;
	line-height: 1;
	position: absolute;
	top: -42px;
	transform: translateX(-50%);
	white-space: nowrap;
	z-index: 0;
}

.ai-roadmap-section__heading > * {
	position: relative;
	z-index: 1;
}

.ai-roadmap-title-line {
	display: block;
}

.ai-roadmap-section__heading h2 {
	color: #0b2f56;
}

.ai-roadmap-section__heading > p:not(.ai-roadmap-section__eyebrow) {
	color: #52667b;
}

.ai-roadmap-feature {
	border: 1px solid #dbe4ee;
	border-radius: 8px;
	box-shadow: 0 16px 36px rgba(15, 41, 68, 0.08);
}

.ai-roadmap-feature__copy {
	color: #0b2f56;
}

.ai-roadmap-feature::before {
	background: #0b2f56;
	width: 5px;
}

.ai-roadmap-feature:nth-child(even)::before {
	width: 5px;
}

.ai-roadmap-feature__phase {
	align-items: center;
	background-color: transparent;
	border-radius: 0;
	color: #5b6f84;
	display: inline-flex;
	flex-wrap: wrap;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 14px;
	font-weight: 700;
	gap: 10px;
	height: auto;
	justify-content: flex-start;
	letter-spacing: 0.04em;
	line-height: 1.4;
	margin: 0 0 20px;
	padding: 0;
}

.ai-roadmap-feature h3 {
	color: #0b2f56;
	font-size: clamp(24px, 2vw, 32px);
	letter-spacing: 0.02em;
}

.ai-roadmap-feature__copy > p:not(.ai-roadmap-feature__phase) {
	color: #344c64;
	line-height: 1.95;
	margin-bottom: 26px;
}

.ai-roadmap-feature__copy > ul {
	gap: 10px;
	justify-items: stretch;
	list-style: none;
	margin-left: 0;
	margin-right: 0;
	padding-inline-start: 0 !important;
	padding-left: 0 !important;
	text-align: left;
	width: 100%;
}

.ai-roadmap-feature li {
	align-items: flex-start;
	background-color: transparent;
	border-radius: 0;
	color: #28445f;
	display: flex;
	font-size: 15px;
	gap: 12px;
	justify-content: flex-start;
	line-height: 1.75;
	padding: 0;
	text-align: left;
	width: 100%;
}

.ai-roadmap-feature li::before {
	background: #7c8fa4;
	box-shadow: none;
	color: transparent;
	content: "";
	height: 6px;
	margin-top: 0.68em;
	width: 6px;
}

.ai-roadmap-feature__visual {
	background: #eef3f8;
}

.ai-roadmap-feature__image {
	filter: saturate(0.86) contrast(0.98);
}

.ai-roadmap-section .ai-status-badge {
	background: #f3f6f9;
	border: 1px solid #cbd6e2;
	border-radius: 4px;
	color: #4e6276;
	font-size: 12px;
	letter-spacing: 0;
	min-height: 24px;
	padding: 3px 8px 4px;
}

.ai-roadmap-section .ai-status-badge--blue {
	background: #edf3f9;
	border-color: #c4d1df;
	color: #28445f;
}

.ai-roadmap-section__note {
	color: #61758c;
}

@media (max-width: 767px) {
	.ai-roadmap-feature::before,
	.ai-roadmap-feature:nth-child(even)::before {
		background: #0b2f56;
		height: 4px;
		inset: 0 0 auto;
		width: auto;
	}

	.ai-roadmap-feature__phase {
		font-size: 13px;
		margin-bottom: 14px;
	}

	.ai-roadmap-feature li {
		font-size: 13px;
		line-height: 1.7;
		padding: 0;
	}
}

/* 2026-08 pricing/content update */
#home_case {
	display: block;
}

.ai-worry-section,
.ai-service-pillars,
.ai-usecase-section,
.ai-price-section {
	box-sizing: border-box;
	color: #0b2f56;
	padding: 104px 24px;
}

.ai-worry-section *,
.ai-service-pillars *,
.ai-usecase-section *,
.ai-price-section * {
	box-sizing: border-box;
}

.ai-worry-section {
	background: linear-gradient(180deg, #f7fbff 0%, #eef6ff 100%);
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.ai-worry-section::after {
	color: rgba(0, 82, 184, 0.05);
	content: "ISSUE";
	font-family: Roboto, sans-serif;
	font-size: clamp(76px, 9vw, 150px);
	font-weight: 400;
	left: 50%;
	letter-spacing: 0.05em;
	line-height: 1;
	position: absolute;
	top: 82px;
	transform: translateX(-50%);
	white-space: nowrap;
	z-index: -1;
}

.ai-service-pillars {
	background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.ai-service-pillars::after {
	color: rgba(0, 82, 184, 0.05);
	content: "SERVICE";
	font-family: Roboto, sans-serif;
	font-size: clamp(76px, 9vw, 150px);
	font-weight: 400;
	left: 50%;
	letter-spacing: 0.05em;
	line-height: 1;
	position: absolute;
	top: 82px;
	transform: translateX(-50%);
	white-space: nowrap;
	z-index: -1;
}

.ai-usecase-section {
	background: linear-gradient(180deg, #f7fbff 0%, #edf5fc 100%);
}

.ai-flow-section {
	background-color: #ffffff;
	background-image: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.ai-flow-section::before {
	display: none;
}

.ai-price-section {
	background:
		linear-gradient(135deg, rgba(13, 30, 62, 0.96), rgba(10, 85, 156, 0.92)),
		#0d1e3e;
	color: #fff;
}

.ai-worry-section__inner,
.ai-service-pillars__inner,
.ai-usecase-section__inner,
.ai-price-section__inner {
	margin: 0 auto;
	max-width: 1120px;
	width: 100%;
}

.ai-worry-section__heading,
.ai-service-pillars__heading,
.ai-usecase-section__heading,
.ai-price-section__heading {
	margin: 0 auto 48px;
	max-width: 780px;
	text-align: center;
}

.ai-worry-section__eyebrow,
.ai-service-pillars__eyebrow,
.ai-usecase-section__eyebrow,
.ai-price-section__eyebrow {
	color: #2874fc;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.2;
	margin: 0 0 14px;
}

.ai-price-section__eyebrow {
	color: #86d6ff;
}

.ai-worry-section h2,
.ai-service-pillars h2,
.ai-usecase-section h2,
.ai-price-section h2 {
	color: inherit;
	font-size: clamp(28px, 4vw, 42px);
	letter-spacing: 0.03em;
	line-height: 1.45;
	margin: 0 0 20px;
}

.ai-worry-section__heading > p:not(.ai-worry-section__eyebrow),
.ai-service-pillars__heading > p:not(.ai-service-pillars__eyebrow),
.ai-usecase-section__heading > p:not(.ai-usecase-section__eyebrow),
.ai-price-section__heading > p:not(.ai-price-section__eyebrow) {
	color: #536982;
	font-size: 16px;
	line-height: 1.95;
	margin: 0;
}

.ai-price-section__heading > p:not(.ai-price-section__eyebrow) {
	color: rgba(255, 255, 255, 0.82);
}

.ai-worry-grid,
.ai-usecase-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.ai-usecase-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ai-worry-card,
.ai-usecase-card,
.ai-service-pillar,
.ai-price-plan,
.ai-price-table-wrap,
.ai-price-usage,
.ai-price-discount,
.ai-price-subsidy {
	background: #fff;
	border: 1px solid rgba(14, 64, 117, 0.12);
	border-radius: 12px;
	box-shadow: 0 18px 44px rgba(14, 64, 117, 0.08);
}

.ai-worry-card {
	min-height: 260px;
	padding: 24px 20px;
}

.ai-worry-card span,
.ai-usecase-card span {
	color: #2874fc;
	display: block;
	font-family: Roboto, sans-serif;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1;
	margin: 0 0 18px;
}

.ai-worry-card h3,
.ai-usecase-card h3,
.ai-service-pillar h3,
.ai-price-section h3 {
	color: #0b2f56;
	font-size: 20px;
	letter-spacing: 0.02em;
	line-height: 1.5;
	margin: 0 0 14px;
}

.ai-worry-card p,
.ai-usecase-card p,
.ai-service-pillar p,
.ai-service-pillar li {
	color: #415b73;
	font-size: 15px;
	letter-spacing: 0.02em;
	line-height: 1.85;
	margin: 0;
}

.ai-service-flowline {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	position: relative;
}

.ai-service-pillar {
	display: flex;
	flex-direction: column;
	min-height: 330px;
	padding: 30px 30px 28px;
	position: relative;
}

.ai-service-pillar--main {
	background: #f4f9ff;
	border-color: rgba(40, 116, 252, 0.24);
	box-shadow: 0 20px 54px rgba(40, 116, 252, 0.14);
}

.ai-service-pillar__top {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 18px;
}

.ai-service-pillar__top strong {
	color: rgba(40, 116, 252, 0.32);
	font-family: Roboto, sans-serif;
	font-size: 42px;
	font-style: italic;
	letter-spacing: 0;
	line-height: 1;
}

.ai-status-badge {
	align-items: center;
	background: #eef2f7;
	border: 1px solid #d7e0ea;
	border-radius: 999px;
	color: #52677d;
	display: inline-flex;
	font-size: 12px;
	font-weight: 800;
	justify-content: center;
	line-height: 1;
	min-height: 28px;
	padding: 0 12px;
	white-space: nowrap;
}

.ai-status-badge--blue {
	background: #eaf4ff;
	border-color: #b9dbff;
	color: #0052b8;
}

.ai-service-pillar ul {
	border-top: 1px solid rgba(14, 64, 117, 0.1);
	margin: 18px 0 0;
	margin-top: auto;
	padding: 0;
	padding-top: 18px;
}

.ai-service-pillar li {
	list-style: none;
	padding-left: 20px;
	position: relative;
}

.ai-service-pillar li + li {
	margin-top: 8px;
}

.ai-service-pillar__note {
	color: #61758c;
	font-size: 12px;
	line-height: 1.7;
	margin: 14px 0 0;
}

.ai-service-pillar li::before {
	background: #2874fc;
	border-radius: 50%;
	content: "";
	height: 6px;
	left: 0;
	position: absolute;
	top: 0.85em;
	width: 6px;
}

.ai-usecase-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ai-usecase-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	padding: 0;
}

.ai-usecase-card__visual {
	aspect-ratio: 4 / 3;
	background: #ffffff;
	border-bottom: 1px solid #e2eaf4;
	margin: 0;
	overflow: hidden;
}

.ai-usecase-card__visual img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.ai-usecase-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 24px 22px 28px;
}

.ai-usecase-card__body p {
	margin-top: 0;
}

.ai-usecase-card__body h3 {
	min-height: 3em;
}

.ai-price-plan,
.ai-price-table-wrap,
.ai-price-usage,
.ai-price-discount,
.ai-price-subsidy {
	background: #ffffff;
	border-color: rgba(10, 35, 68, 0.1);
	box-shadow: 0 18px 42px rgba(3, 18, 42, 0.12);
	color: #0b2f56;
	margin-top: 22px;
	padding: 28px;
}

.ai-price-plan {
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(230px, 0.42fr) 1fr;
	margin-top: 0;
}

.ai-price-plan__head span,
.ai-price-table-wrap > h3,
.ai-price-usage > h3,
.ai-price-discount > h3,
.ai-price-subsidy > h3 {
	color: #174a7c;
	display: block;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.3;
	margin: 0 0 12px;
}

.ai-price-plan__head h3 {
	font-size: 24px;
	margin-bottom: 14px;
}

.ai-price-plan__head p {
	margin: 0;
}

.ai-price-plan__head strong {
	color: #0b2f56;
	display: block;
	font-family: Roboto, "Noto Sans JP", sans-serif;
	font-size: clamp(32px, 4.2vw, 44px);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.08;
	white-space: nowrap;
}

.ai-price-plan__head small,
.ai-price-table small,
.ai-price-usage small {
	color: #61758c;
	display: block;
	font-size: 12px;
	line-height: 1.5;
	margin-top: 5px;
}

.ai-price-plan dl {
	display: grid;
	gap: 12px;
	margin: 0;
}

.ai-price-plan dl > div {
	background: #f6f9fc;
	border-radius: 8px;
	padding: 16px 18px;
}

.ai-price-plan dt {
	color: #0b2f56;
	font-weight: 700;
	margin-bottom: 6px;
}

.ai-price-plan dd,
.ai-price-discount p,
.ai-price-subsidy p,
.ai-price-footnote {
	color: #415b73;
	font-size: 15px;
	line-height: 1.85;
	margin: 0;
}

.ai-price-table {
	border-collapse: collapse;
	font-size: 15px;
	line-height: 1.65;
	margin: 0;
	width: 100%;
}

.ai-price-table th,
.ai-price-table td {
	border-bottom: 1px solid #d8e2ee;
	color: #24445f;
	padding: 17px 14px;
	text-align: left;
	vertical-align: top;
}

.ai-price-table th {
	background: #f3f6f9;
	color: #0b2f56;
	font-weight: 700;
}

.ai-price-table td:nth-child(2) {
	color: #0b2f56;
	font-weight: 700;
	white-space: nowrap;
}

.ai-price-table-wrap .ai-status-badge {
	background: #f5f8fb;
	border-color: #d4dee8;
	border-radius: 999px;
	color: #536a80;
	font-size: 12px;
	font-weight: 700;
	min-height: 26px;
	padding: 0 12px;
}

.ai-price-table-wrap .ai-status-badge--blue {
	background: #edf5fb;
	border-color: #c8dce9;
	color: #174a7c;
}

.ai-price-full {
	background: #0b2342;
	border-radius: 8px;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	margin: 22px 0 0;
	padding: 16px 18px;
	text-align: center;
}

.ai-price-full strong {
	color: #cde8f6;
	font-family: Roboto, "Noto Sans JP", sans-serif;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0;
}

.ai-price-usage__grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ai-price-usage__lead {
	color: #415b73;
	font-size: 14px;
	line-height: 1.8;
	margin: -4px 0 18px;
}

.ai-price-usage__grid div {
	background: #f6f9fc;
	border-radius: 8px;
	padding: 18px;
}

.ai-price-usage__item {
	border: 1px solid transparent;
}

.ai-price-usage__item--overage {
	background: #fff8f7 !important;
	border-color: rgba(179, 38, 30, 0.16);
}

.ai-price-usage__grid span {
	color: #52677d;
	display: block;
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 8px;
}

.ai-price-usage__grid strong {
	color: #0b2f56;
	display: block;
	font-size: 19px;
	line-height: 1.45;
}

.ai-price-overage {
	color: #b3261e !important;
	display: inline !important;
	font-weight: 800;
}

.ai-price-note {
	border-top: 1px solid #dbe6f2;
	margin-top: 18px !important;
	padding-top: 18px;
}

.ai-price-footnote {
	color: rgba(255, 255, 255, 0.78);
	margin-top: 18px;
}

@media (max-width: 1024px) {
	.ai-worry-grid,
	.ai-usecase-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ai-worry-card {
		min-height: 0;
	}

	.ai-price-plan,
	.ai-price-usage__grid {
		grid-template-columns: 1fr;
	}

	.ai-service-pillar {
		min-height: 0;
		padding: 26px 24px 24px;
	}
}

@media (max-width: 767px) {
	.ai-usecase-card__body {
		padding: 22px 20px 24px;
	}

	.ai-usecase-card__body h3 {
		min-height: 0;
	}
}

@media (max-width: 767px) {
	.ai-worry-section,
	.ai-service-pillars,
	.ai-usecase-section,
	.ai-price-section {
		padding: 72px 16px;
	}

	.ai-worry-section__heading,
	.ai-service-pillars__heading,
	.ai-usecase-section__heading,
	.ai-price-section__heading {
		margin-bottom: 34px;
		text-align: left;
	}

	.ai-worry-section h2,
	.ai-service-pillars h2,
	.ai-usecase-section h2,
	.ai-price-section h2 {
		font-size: 28px;
		line-height: 1.45;
	}

	.ai-worry-grid,
	.ai-service-flowline,
	.ai-usecase-grid {
		grid-template-columns: 1fr;
	}

	.ai-worry-card,
	.ai-usecase-card,
	.ai-service-pillar,
	.ai-price-plan,
	.ai-price-table-wrap,
	.ai-price-usage,
	.ai-price-discount,
	.ai-price-subsidy {
		border-radius: 10px;
		padding: 22px 18px;
	}

	.ai-worry-card h3,
	.ai-usecase-card h3,
	.ai-service-pillar h3,
	.ai-price-section h3 {
		font-size: 19px;
	}

	.ai-price-table-wrap {
		overflow-x: visible;
	}

	.ai-price-table {
		display: block;
		min-width: 0;
	}

	.ai-price-table thead {
		display: none;
	}

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

	.ai-price-table tr {
		background: #ffffff;
		border: 1px solid #d8e2ee;
		border-radius: 8px;
		margin-bottom: 12px;
		overflow: hidden;
	}

	.ai-price-table td {
		border-bottom: 1px solid #e5edf5;
		padding: 12px 14px 12px 112px;
		position: relative;
		white-space: normal !important;
	}

	.ai-price-table td:last-child {
		border-bottom: 0;
	}

	.ai-price-table td::before {
		color: #66798c;
		content: "";
		font-size: 12px;
		font-weight: 700;
		left: 14px;
		position: absolute;
		top: 12px;
		width: 82px;
	}

	.ai-price-table td:nth-child(1)::before {
		content: "オプション";
	}

	.ai-price-table td:nth-child(2)::before {
		content: "月額";
	}

	.ai-price-table td:nth-child(3)::before {
		content: "備考";
	}

	.ai-price-full {
		font-size: 16px;
		text-align: left;
	}

	.ai-status-badge {
		font-size: 11px;
		min-height: 26px;
		padding: 0 10px;
	}
}

/* Responsive heading rhythm and compact roadmap cards. */
.ai-heading-line,
.ai-trust-title-line {
	display: block;
}

.ai-heading-keep {
	display: inline-block;
}

.ai-trust-section__heading h2 {
	margin-left: auto;
	margin-right: auto;
	max-width: 980px;
}

.ai-roadmap-section__inner {
	max-width: 1040px;
}

.ai-roadmap-features {
	gap: 26px;
}

.ai-roadmap-feature {
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr);
	min-height: 360px;
}

.ai-roadmap-feature:nth-child(even) {
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
}

.ai-roadmap-feature__copy {
	padding: 38px 42px 36px;
}

.ai-roadmap-feature__phase {
	margin-bottom: 16px;
}

.ai-roadmap-feature h3 {
	font-size: clamp(23px, 1.75vw, 28px);
	margin-bottom: 16px;
}

.ai-roadmap-feature__copy > p:not(.ai-roadmap-feature__phase) {
	font-size: 15px;
	line-height: 1.85;
	margin-bottom: 20px;
}

.ai-roadmap-feature li {
	font-size: 14px;
	line-height: 1.65;
}

@media (min-width: 901px) {
	.ai-roadmap-feature__visual {
		min-height: 0;
		position: relative;
	}

	.ai-roadmap-feature__image {
		bottom: 0;
		height: 100%;
		left: 0;
		min-height: 0;
		position: absolute;
		right: 0;
		top: 0;
	}
}

@media (min-width: 768px) and (max-width: 900px) {
	.ai-price-section h2 {
		font-size: 34px;
	}

	.ai-trust-section__heading h2 {
		font-size: 31px;
	}

	.ai-roadmap-feature__image {
		aspect-ratio: 16 / 9;
	}
}

@media (max-width: 900px) {
	.ai-roadmap-feature__image {
		aspect-ratio: 4 / 3;
	}
}

@media (max-width: 767px) {
	.ai-roadmap-section__heading {
		text-align: center;
	}

	.ai-roadmap-section__heading::before {
		font-size: 64px;
		top: -20px;
	}

	.ai-roadmap-section__eyebrow {
		font-size: 12px;
		margin-bottom: 12px;
	}

	.ai-roadmap-section__heading h2 {
		font-size: 24px;
		letter-spacing: 0;
		line-height: 1.55;
	}

	.ai-service-pillars__heading,
	.ai-price-section__heading {
		max-width: none;
	}

	.ai-service-pillars h2,
	.ai-price-section h2 {
		font-size: 24px;
		letter-spacing: 0;
		line-height: 1.55;
	}

	.ai-heading-line + .ai-heading-line {
		margin-top: 2px;
	}

	.ai-trust-section__heading h2 {
		font-size: 23px;
		letter-spacing: 0;
		line-height: 1.55;
	}

	.ai-roadmap-feature__copy {
		padding: 26px 22px 24px;
	}

	.ai-roadmap-feature h3 {
		font-size: 21px;
	}

	.ai-roadmap-feature__image {
		aspect-ratio: 4 / 3;
	}
}

@media (max-width: 375px) {
	.ai-service-pillars h2,
	.ai-price-section h2,
	.ai-trust-section__heading h2 {
		font-size: 22px;
	}
}

@media (min-width: 768px) and (max-width: 900px) {
	.ai-roadmap-feature__image {
		aspect-ratio: 16 / 9;
	}
}

.ai-roadmap-feature li::before {
	align-items: center;
	background: #2878e8;
	border-radius: 50%;
	color: #ffffff;
	content: "✓";
	display: inline-flex;
	flex: 0 0 18px;
	font-size: 11px;
	font-weight: 700;
	height: 18px;
	justify-content: center;
	line-height: 1;
	margin-top: 0.28em;
	width: 18px;
}
