/**
 * AI検索サービスページ専用CSS
 *
 * .ai-search-page または .ai-search 配下に限定します。
 */

.ai-search-page {
	background-color: #fff;
	color: #333;
}

.ai-search {
	--ai-search-color-primary: #1b27b9;
	--ai-search-color-accent: #16cbe2;
	--ai-search-color-border-blue: #42b4ff;
	--ai-search-color-text: #171d23;
	--ai-search-color-white: #fff;
	--ai-search-gradient-aqua-purple: linear-gradient(135deg, #d1ffff 0%, 75.1912%, #a6a5ff 100%);

	--ai-search-font-size-body: 18px;
	--ai-search-font-size-large: 20px;
	--ai-search-font-size-heading-small: 30px;
	--ai-search-font-size-heading-medium: 40px;

	--ai-search-content-width: 1080px;
	--ai-search-side-space: 24px;

	--ai-search-header-height: 77px;
	--ai-search-first-view-height: 700px;
	--ai-search-first-view-height-b: 550px;

	width: 100%;
	color: var(--ai-search-color-text);
	text-align: justify;
	word-break: break-all;
}

.ai-search,
.ai-search * {
	box-sizing: border-box;
}

.ai-search :where(h1,
	h2,
	h3,
	h4,
	p,
	ul,
	ol,
	dl,
	dd,
	figure) {
	margin: 0;
}

.ai-search :where(ul, ol) {
	padding: 0;
	list-style: none;
}

.ai-search img,
.ai-search svg {
	display: block;
	max-width: 100%;
	height: auto;
}

.ai-search a {
	color: inherit;
	text-decoration: none;
}

.ai-search button,
.ai-search input,
.ai-search select,
.ai-search textarea {
	font: inherit;
}

.ai-search table {
	border-spacing: 0;
	border-collapse: collapse;
}

.ai-search summary {
	cursor: pointer;
}

.ai-search :where(a, button, summary):focus-visible {
	outline: 3px solid var(--ai-search-color-accent);
	outline-offset: 4px;
}

.ai-search .sp-only {
	display: none;
}

.ai-search .pc-only {
	display: initial;
}

@media screen and (max-width: 768px) {
	.ai-search .sp-only {
		display: initial;
	}

	.ai-search .pc-only {
		display: none;
	}
}

.ai-search :where(.ai-search-hero__inner,
	.ai-search-problems__inner,
	.ai-search-solution__inner,
	.ai-search-strengths__inner,
	.ai-search-download__inner,
	.ai-search-comparison__inner,
	.ai-search-diagnosis__inner,
	.ai-search-plan__inner,
	.ai-search-faq__inner,
	.ai-search-contact__inner) {
	width: min(calc(100% - (var(--ai-search-side-space) * 2)),
			var(--ai-search-content-width));
	margin-inline: auto;
}

.ai-search :where(#ai-search-download,
	#ai-search-diagnosis,
	#ai-search-contact) {
	scroll-margin-top: 100px;
}

@media screen and (max-width: 768px) {
	.ai-search {
		--ai-search-side-space: 24px;
	}
}

@media (prefers-reduced-motion: reduce) {

	.ai-search *,
	.ai-search *::before,
	.ai-search *::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* 資料ダウンロードCTA
---------------------------------------- */

.ai-search .ai-search-download {
	padding-block: 72px;
	background-color: var(--ai-search-color-white);
}

.ai-search .ai-search-download__inner {
	display: flex;
	justify-content: center;
}

.ai-search .ai-search-download__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: min(100%, 380px);
	min-height: 60px;
	padding: 12px 32px;
	border: 2px solid var(--ai-search-color-primary);
	border-radius: 999px;
	background-color: var(--ai-search-color-white);
	box-shadow: 0 4px 8px rgb(0 0 0 / 18%);
	color: var(--ai-search-color-primary);
	font-size: var(--ai-search-font-size-large);
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	transition:
		background-color 0.2s ease,
		color 0.2s ease,
		box-shadow 0.2s ease;
}

@media (hover: hover) {
	.ai-search .ai-search-download__button:hover {
		background-color: var(--ai-search-color-primary);
		box-shadow: 0 6px 12px rgb(0 0 0 / 22%);
		color: var(--ai-search-color-white);
		opacity: 1;
	}
}

.ai-search .ai-search-download__button:active {
	box-shadow: 0 2px 4px rgb(0 0 0 / 16%);
}

@media screen and (max-width: 768px) {

	.ai-search .ai-search-download {
		padding-block: clamp(48px, 12.8vw, 64px);
	}

	.ai-search .ai-search-download__button {
		width: 100%;
		max-width: 340px;
		min-height: 55px;
		padding: 8px 20px;
		font-size: clamp(16px, 4.27vw, 20px);
	}
}

/* KV
---------------------------------------- */

.ai-search .ai-search-hero {
	position: relative;
	overflow: hidden;
	height: calc(var(--ai-search-first-view-height) - var(--ai-search-header-height));
	background-color: var(--ai-search-color-white);
}

.ai-search .ai-search-hero__inner {
	position: relative;
	width: min(calc(100% - 48px), 1280px);
	height: 100%;
	margin-inline: auto;
}

.ai-search .ai-search-hero__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	width: 780px;
	padding-top: 24px;
}

.ai-search .ai-search-hero__label {
	position: relative;
	isolation: isolate;
	width: fit-content;
	padding-bottom: 12px;
	background: linear-gradient(90deg, #00ddec 0%, #693aff 100%);
	background-clip: text;
	color: transparent;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.35;
}

.ai-search .ai-search-hero__label::before {
	position: absolute;
	z-index: -1;
	right: -6px;
	bottom: -4px;
	left: -6px;
	height: 6px;
	background: linear-gradient(90deg,
			rgb(0 221 236 / 55%),
			rgb(105 58 255 / 50%));
	filter: blur(6px);
	content: "";
	pointer-events: none;
}

.ai-search .ai-search-hero__label::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 2px;
	background-color: var(--ai-search-color-white);
	content: "";
}

.ai-search .ai-search-hero__title {
	margin-top: 32px;
	color: var(--ai-search-color-primary);
	font-size: 50px;
	font-weight: 700;
	line-height: 1.25;
}

.ai-search .ai-search-hero__title-main {
	display: flex;
	align-items: baseline;
	white-space: nowrap;
}

.ai-search .ai-search-hero__title-line {
	display: flex;
	align-items: baseline;
}

.ai-search .ai-search-hero__title-sub {
	display: block;
}

.ai-search .ai-search-hero__categories {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 26px;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.5;
}

.ai-search .ai-search-hero__categories [aria-hidden="true"] {
	color: #77d8f1;
	font-size: 28px;
	font-weight: 300;
}

.ai-search .ai-search-hero__features {
	position: relative;
	z-index: 1;
	isolation: isolate;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	width: 720px;
	margin-top: 38px;
	border-radius: 10px;
}

.ai-search .ai-search-hero__features::before,
.ai-search .ai-search-hero__features::after {
	position: absolute;
	border-radius: inherit;
	content: "";
	pointer-events: none;
}

.ai-search .ai-search-hero__features::before {
	z-index: -2;
	inset: -10px;
	background: linear-gradient(90deg,
			rgb(166 165 255 / 55%),
			rgb(209 255 255 / 55%));
	filter: blur(14px);
}

.ai-search .ai-search-hero__features::after {
	z-index: -1;
	inset: 0;
	background-color: var(--ai-search-color-white);
}

.ai-search .ai-search-hero__feature {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 0;
	min-height: 110px;
	padding: 14px 10px;
	text-align: center;
}

.ai-search .ai-search-hero__feature+.ai-search-hero__feature::before {
	position: absolute;
	top: 16px;
	bottom: 16px;
	left: 0;
	width: 1px;
	background-color: #ccecf7;
	content: "";
}

.ai-search .ai-search-hero__feature-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 42px;
}

.ai-search .ai-search-hero__feature-icon img {
	width: 46px;
	max-height: 42px;
}

.ai-search .ai-search-hero__feature:nth-child(2) .ai-search-hero__feature-icon img {
	width: 40px;
}

.ai-search .ai-search-hero__feature:nth-child(3) .ai-search-hero__feature-icon img {
	width: 89px;
}

.ai-search .ai-search-hero__feature:nth-child(4) .ai-search-hero__feature-icon img {
	width: 40px;
}

.ai-search .ai-search-hero__feature-text {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
}

.ai-search .ai-search-hero__actions {
	display: flex;
	gap: 24px;
	margin-top: 38px;
}

.ai-search .ai-search-hero__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 280px;
	min-height: 60px;
	padding: 12px 28px;
	border: 2px solid var(--ai-search-color-primary);
	border-radius: 999px;
	box-shadow: 0 6px 12px rgb(0 0 0 / 18%);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		color 0.2s ease;
}

.ai-search .ai-search-hero__button--download {
	background-color: var(--ai-search-color-white);
	color: var(--ai-search-color-primary);
}

.ai-search .ai-search-hero__button--diagnosis {
	position: relative;
	overflow: hidden;
	border: none;
	background: linear-gradient(90deg,
			#00ffff 0%,
			#3f91ff 50%,
			#693aff 100%);
	color: var(--ai-search-color-white);
}

.ai-search .ai-search-hero__button--diagnosis::before {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg,
			#00ffff 0%,
			#3f91ff 50%,
			#693aff 100%);
	transform: translateX(-100%);
	content: "";
	transition: transform 0.2s ease-out;
}

.ai-search .ai-search-hero__button--diagnosis span {
	position: relative;
	z-index: 1;
}

@media (hover: hover) {
	.ai-search .ai-search-hero__button--download:hover {
		background-color: var(--ai-search-color-primary);
		color: var(--ai-search-color-white);
		opacity: 1;
	}

	.ai-search .ai-search-hero__button--diagnosis:hover::before {
		transform: translateX(0);
	}
}

.ai-search .ai-search-hero__visual {
	position: absolute;
	z-index: 1;
	top: -130px;
	left: 600px;
	width: 800px;
	pointer-events: none;
}

.ai-search .ai-search-hero__visual picture,
.ai-search .ai-search-hero__background-image {
	display: block;
	width: 100%;
}

@media screen and (min-width: 769px) and (max-height: 700px) {
	.ai-search .ai-search-hero {
		height: calc(var(--ai-search-first-view-height-b) - var(--ai-search-header-height));
		/* height: 650px; */
		background-color: var(--ai-search-color-white);
	}

	.ai-search .ai-search-hero__content {
		padding-top: 0;
	}

	.ai-search .ai-search-hero__inner {
		/* padding-block: 20px; */
		padding-top: 0;
	}

	.ai-search .ai-search-hero__label {}

	.ai-search .ai-search-hero__title {
		margin-top: 16px;
		font-size: clamp(40px, 3.5vw, 50px);
		line-height: 1.25;
	}

	.ai-search .ai-search-hero__categories {
		margin-top: 16px;
	}

	.ai-search .ai-search-hero__features {
		margin-top: 16px;
	}

	.ai-search .ai-search-hero__feature {
		min-height: 95px;
		gap: 0;
	}

	.ai-search .ai-search-hero__actions {
		margin-top: 26px;
	}

	.ai-search .ai-search-hero__features::before {
		background: linear-gradient(90deg, rgb(166 165 255 / 30%), rgb(209 255 255 / 30%));
		filter: blur(5px);
	}
}

@media screen and (max-width: 768px) {
	.ai-search .ai-search-hero {
		height: auto;
		min-height: 0;
		padding-bottom: 32px;
	}

	.ai-search .ai-search-hero__inner {
		width: calc(100% - 32px);
		max-width: 736px;
		height: auto;
		margin-inline: auto;
	}

	.ai-search .ai-search-hero__content {
		width: 100%;
		padding-top: clamp(18px, 4.8vw, 28px);
	}

	.ai-search .ai-search-hero__label {
		padding-bottom: clamp(7px, 1.87vw, 10px);
		font-size: clamp(18px, 4.8vw, 24px);
	}

	.ai-search .ai-search-hero__label::before {
		right: -4px;
		bottom: -3px;
		left: -4px;
		height: 5px;
		filter: blur(5px);
	}

	.ai-search .ai-search-hero__label::after {
		height: 1px;
	}

	/* KV：タイトル SP
---------------------------------------- */

	.ai-search .ai-search-hero__title {
		margin-top: clamp(18px, 4.8vw, 28px);
		color: var(--ai-search-color-primary);
		line-height: 1;
		filter:
			drop-shadow(0 0 7px rgb(255 255 255 / 100%)) drop-shadow(0 0 15px rgb(255 255 255 / 85%)) drop-shadow(0 0 22px rgb(255 255 255 / 55%));
	}

	.ai-search .ai-search-hero__title-main {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		white-space: normal;
	}

	.ai-search .ai-search-hero__title-line {
		display: flex;
		align-items: baseline;
		line-height: 1;
	}

	/* AI / 人 */
	.ai-search .ai-search-hero__title-emphasis {
		font-size: clamp(70px, 18.67vw, 100px);
		font-weight: 700;
		line-height: 0.9;
	}

	/* からも、 / からも選ばれる */
	.ai-search .ai-search-hero__title-text {
		padding-bottom: 0;
		font-size: clamp(26px, 6.93vw, 36px);
		font-weight: 700;
		line-height: 1;
	}

	/* 2行目だけ少し右へ */
	.ai-search .ai-search-hero__title-line:nth-child(2) {
		margin-top: 8px;
	}

	.ai-search .ai-search-hero__title-selected {
		font-size: clamp(43px, 11.47vw, 60px);
		font-weight: 700;
		line-height: 0.9;
	}

	/* 必要なのはコンテンツの力 */
	.ai-search .ai-search-hero__title-sub {
		display: block;
		margin-top: clamp(18px, 4.8vw, 26px);
		font-size: clamp(26px, 6.93vw, 36px);
		font-weight: 700;
		line-height: 1.2;
		white-space: nowrap;
	}

	.ai-search .ai-search-hero__categories {
		position: relative;
		width: 100%;
		max-width: 340px;
		height: 70px;
		margin-top: 20px;
		margin-inline: auto;
		font-size: 16px;
		font-weight: 400;
		line-height: 1;
	}

	.ai-search .ai-search-hero__categories span {
		position: absolute;
		white-space: nowrap;
	}

	.ai-search .ai-search-hero__categories span:nth-child(1) {
		z-index: 2;
		top: 0;
		left: 0;
	}

	.ai-search .ai-search-hero__categories span:nth-child(2),
	.ai-search .ai-search-hero__categories span:nth-child(4) {
		z-index: 1;
		color: #ccecff;
		font-size: 36px;
		font-weight: 400;
		line-height: 1;
	}

	.ai-search .ai-search-hero__categories span:nth-child(2) {
		top: 2px;
		left: 34px;
	}

	.ai-search .ai-search-hero__categories span:nth-child(3) {
		z-index: 2;
		top: 25px;
		left: 52px;
	}

	.ai-search .ai-search-hero__categories span:nth-child(4) {
		top: 29px;
		left: 200px;
	}

	.ai-search .ai-search-hero__categories span:nth-child(5) {
		z-index: 2;
		right: 0;
		bottom: 0;
	}

	.ai-search .ai-search-hero__features {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 100%;
		max-width: none;
		margin-top: clamp(16px, 4.27vw, 24px);
		border-radius: 10px;
	}

	.ai-search .ai-search-hero__feature {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		gap: 0;
		min-height: clamp(72px, 19.2vw, 96px);
		padding-block: clamp(8px, 2.13vw, 12px);
	}

	.ai-search .ai-search-hero__feature+.ai-search-hero__feature::before {
		display: none;
	}

	.ai-search .ai-search-hero__feature:nth-child(1)::after,
	.ai-search .ai-search-hero__feature:nth-child(3)::after {
		position: absolute;
		right: 0;
		width: 1px;
		background-color: #ccecf7;
		content: "";
	}

	.ai-search .ai-search-hero__feature:nth-child(1)::after {
		top: 10px;
		bottom: 0;
	}

	.ai-search .ai-search-hero__feature:nth-child(3)::after {
		top: 0;
		bottom: 10px;
	}

	.ai-search .ai-search-hero__feature:nth-child(1)::before,
	.ai-search .ai-search-hero__feature:nth-child(2)::before {
		position: absolute;
		display: block;
		top: auto;
		bottom: 0;
		width: auto;
		height: 1px;
		background-color: #ccecf7;
		content: "";
	}

	.ai-search .ai-search-hero__feature:nth-child(1)::before {
		right: 0;
		left: 10px;
	}

	.ai-search .ai-search-hero__feature:nth-child(2)::before {
		right: 10px;
		left: 0;
	}

	.ai-search .ai-search-hero__feature-icon {
		display: flex;
		/* align-items: center; */
		/* justify-content: center; */
		flex-shrink: 0;
		width: clamp(56px, 14.93vw, 72px);
		height: clamp(44px, 11.73vw, 56px);
	}

	.ai-search .ai-search-hero__feature:nth-child(1) .ai-search-hero__feature-icon img {
		width: clamp(40px, 10.67vw, 52px);
		transform: translateX(-4px);
	}

	.ai-search .ai-search-hero__feature:nth-child(2) .ai-search-hero__feature-icon img {
		width: clamp(30px, 8vw, 40px);
		transform: translateX(-4px);
	}

	.ai-search .ai-search-hero__feature:nth-child(3) .ai-search-hero__feature-icon img {
		width: clamp(45px, 12vw, 58px);
		transform: translateX(-2px);
	}

	.ai-search .ai-search-hero__feature:nth-child(4) .ai-search-hero__feature-icon img {
		width: clamp(30px, 8vw, 40px);
		transform: translateX(-5px);
	}

	.ai-search .ai-search-hero__feature-text {
		font-size: clamp(16px, 4.27vw, 20px);
		font-weight: 600;
		line-height: 1.35;
		white-space: nowrap;
		text-align: center;
	}

	.ai-search .ai-search-hero__actions {
		width: 100%;
		max-width: 340px;
		align-items: center;
		align-self: center;
		flex-direction: column;
		gap: 20px;
		margin-top: clamp(26px, 4.27vw, 24px);
	}

	.ai-search .ai-search-hero__button {
		width: 100%;
		min-height: 55px;
		padding: 8px 20px;
		font-size: 20px;
	}

	.ai-search .ai-search-hero__visual {
		top: clamp(-70px, -8vw, -40px);
		right: clamp(-140px, -20vw, -80px);
		left: auto;
		width: clamp(330px, 88vw, 500px);
	}
}



/* AI検索に関する課題提起
---------------------------------------- */

.ai-search .ai-search-problems {
	padding-block: 40px 48px;
	background: var(--ai-search-gradient-aqua-purple);
}

.ai-search .ai-search-problems__header {
	text-align: center;
}

.ai-search .ai-search-problems__title {
	color: var(--ai-search-color-primary);
	font-size: var(--ai-search-font-size-heading-medium);
	font-weight: 700;
	line-height: 1.4;
}

.ai-search .ai-search-problems__list {
	display: grid;
	gap: 22px;
	width: fit-content;
	max-width: 100%;
	margin: 46px auto 0;
}

.ai-search .ai-search-problems__item {
	position: relative;
	min-height: 25px;
	padding-left: 38px;
	font-size: var(--ai-search-font-size-large);
	font-weight: 600;
	line-height: 1.5;
}

.ai-search .ai-search-problems__item::before {
	position: absolute;
	top: calc((1.5em - 25px) / 2 + 1px);
	left: 0;
	width: 30px;
	height: 25px;
	background:
		url("../../images/service/ai-search/icon-check.svg") no-repeat center / contain;
	content: "";
}

.ai-search .ai-search-problems__message {
	margin-top: 48px;
	padding: 28px 48px 32px;
	border: 2px solid transparent;
	border-radius: 12px;
	background:
		linear-gradient(var(--ai-search-color-white),
			var(--ai-search-color-white)) padding-box,
		linear-gradient(90deg,
			#00ffff 0%,
			#693aff 100%) border-box;
	text-align: center;
}

.ai-search .ai-search-problems__message-title {
	color: var(--ai-search-color-primary);
	font-size: var(--ai-search-font-size-heading-small);
	font-weight: 700;
	line-height: 1.45;
}

.ai-search .ai-search-problems__message-content {
	display: grid;
	gap: 4px;
	margin-top: 20px;
}

.ai-search .ai-search-problems__message-content p {
	font-size: var(--ai-search-font-size-body);
	font-weight: 500;
	line-height: 1.6;
}

@media screen and (max-width: 768px) {

	.ai-search .ai-search-problems {
		padding-block:
			clamp(32px, 10.67vw, 48px) clamp(40px, 12.8vw, 56px);
	}

	.ai-search .ai-search-problems__title {
		font-size: clamp(24px, 6.4vw, 32px);
		line-height: 1.4;
	}

	.ai-search .ai-search-problems__list {
		gap: clamp(16px, 4.27vw, 22px);
		width: 100%;
		margin-top: clamp(32px, 8.53vw, 44px);
	}

	.ai-search .ai-search-problems__item {
		min-height: 22px;
		padding-left: 32px;
		font-size: clamp(16px, 4.27vw, 18px);
		line-height: 1.5;
	}

	.ai-search .ai-search-problems__item::before {
		top: calc((1.5em - 18px) / 2);
		width: 24px;
		height: 20px;
	}

	.ai-search .ai-search-problems__message {
		margin-top: clamp(36px, 9.6vw, 48px);
		padding:
			clamp(20px, 5.33vw, 28px) clamp(16px, 4.27vw, 28px) clamp(24px, 6.4vw, 32px);
		border-radius: 10px;
	}

	.ai-search .ai-search-problems__message-title {
		font-size: clamp(21px, 5.6vw, 26px);
		line-height: 1.45;
	}

	.ai-search .ai-search-problems__message-content {
		gap: 8px;
		margin-top: clamp(16px, 4.27vw, 20px);
		text-align: left;
	}

	.ai-search .ai-search-problems__message-content p {
		font-size: clamp(15px, 4vw, 17px);
		line-height: 1.65;
	}
}

/* AI検索サービスの全体構成
---------------------------------------- */

.ai-search .ai-search-solution {
	padding-top: 40px;
	background-color: var(--ai-search-color-white);
}

.ai-search .ai-search-solution__header {
	/* text-align: center; */
}

.ai-search .ai-search-solution__title {
	width: fit-content;
	margin-inline: auto;
	color: var(--ai-search-color-primary);
	font-size: var(--ai-search-font-size-heading-medium);
	font-weight: 700;
	line-height: 1.4;
	text-align: left;
}

.ai-search .ai-search-solution__description {
	margin-top: 32px;
	font-size: var(--ai-search-font-size-large);
	font-weight: 400;
	line-height: 1.6;
	text-align: left;
}

@media screen and (max-width: 768px) {

	.ai-search .ai-search-solution {
		padding-top: clamp(40px, 10.67vw, 56px);
	}

	.ai-search .ai-search-solution__title {
		width: 100%;
		font-size: clamp(24px, 6.4vw, 32px);
		line-height: 1.4;
	}

	.ai-search .ai-search-solution__description {
		margin-top: clamp(24px, 6.4vw, 32px);
		font-size: clamp(16px, 4.27vw, 18px);
		line-height: 1.65;
	}
}

/* クロスメディアのAI検索サービス全体像
---------------------------------------- */

.ai-search .ai-search-overview {
	margin-top: 40px;
}

.ai-search .ai-search-overview__header {
	text-align: center;
}

.ai-search .ai-search-overview__title {
	color: #000;
	font-size: var(--ai-search-font-size-heading-small);
	font-weight: 700;
	line-height: 1.4;
}

.ai-search .ai-search-overview__diagram {
	position: relative;
	height: 560px;
	margin-top: 24px;
}

.ai-search .ai-search-overview__visual {
	position: static;
	width: 100%;
	height: auto;
	margin: 34px 0 0;
}

.ai-search .ai-search-overview__visual picture {
	display: block;
}

.ai-search .ai-search-overview__image {
	display: block;
	width: 100%;
	height: auto;
}


.ai-search .ai-search-overview__steps {
	display: none;
}

@media screen and (max-width: 768px) {

	.ai-search .ai-search-overview__title {
		color: #000;
		font-size: clamp(24px, 6.4vw, 30px);
		font-weight: 700;
		line-height: 1.4;
	}

	.ai-search .ai-search-overview__steps {
		display: grid;
		gap: clamp(18px, 5.33vw, 24px);
		margin-top: clamp(32px, 8.53vw, 40px);
		counter-reset: overview-step;
	}

	.ai-search .ai-search-overview__step {
		display: grid;
		gap: 4px;
		counter-increment: overview-step;
	}

	.ai-search .ai-search-overview__step-title::before {
		content: counter(overview-step) "｜";
	}

	.ai-search .ai-search-overview__step-title {
		font-size: clamp(18px, 5.34vw, 20px);
		font-weight: 700;
		line-height: 1.4;
	}

	.ai-search .ai-search-overview__step-description {
		color: #222;
		font-size: clamp(16px, 4.8vw, 18px);
		font-weight: 500;
		line-height: 1.4;
	}

	.ai-search .ai-search-overview__step--analysis .ai-search-overview__step-title,
	.ai-search .ai-search-overview__step--strategy .ai-search-overview__step-title,
	.ai-search .ai-search-overview__step--improvement .ai-search-overview__step-title {
		color: var(--ai-search-color-border-blue);
	}

	.ai-search .ai-search-overview__step--interview .ai-search-overview__step-title,
	.ai-search .ai-search-overview__step--production .ai-search-overview__step-title,
	.ai-search .ai-search-overview__step--publishing .ai-search-overview__step-title {
		color: #ff8500;
	}
}

/* AIOプランニング・フレーム
---------------------------------------- */

.ai-search .ai-search-framework {
	margin-top: 64px;
}

.ai-search .ai-search-framework__header {
	text-align: center;
}

.ai-search .ai-search-framework__title {
	color: var(--ai-search-color-primary);
	font-size: var(--ai-search-font-size-heading-medium);
	font-weight: 700;
	line-height: 1.4;
}

.ai-search .ai-search-framework__visual {
	width: min(100%, 1080px);
	margin: 40px auto 0;
}

.ai-search .ai-search-framework__visual picture {
	display: block;
}

.ai-search .ai-search-framework__image {
	display: block;
	width: 100%;
	height: auto;
}

@media screen and (max-width:768px) {
	.ai-search .ai-search-framework {
		margin-top: clamp(48px, 12.8vw, 64px);
	}

	.ai-search .ai-search-framework__title {
		font-size: clamp(24px, 6.4vw, 30px);
		line-height: 1.35;
	}

	.ai-search .ai-search-framework__visual {
		width: 100%;
		margin-top: clamp(24px, 6.4vw, 32px);
	}
}

/* ビジネス書出版社の編集力
---------------------------------------- */

.ai-search .ai-search-editorial {
	padding-block: 64px 72px;
}

.ai-search .ai-search-editorial__header {
	margin-bottom: 48px;
}

.ai-search .ai-search-editorial__title {
	color: #804d1d;
	font-size: var(--ai-search-font-size-heading-medium);
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}

.ai-search .ai-search-editorial__lead {
	margin-top: 44px;
	font-size: var(--ai-search-font-size-heading-small);
	font-weight: 700;
	line-height: 1.35;
}

.ai-search .ai-search-editorial__description {
	display: grid;
	gap: 4px;
	margin-top: 26px;
}

.ai-search .ai-search-editorial__description p {
	font-size: var(--ai-search-font-size-large);
	font-weight: 500;
	line-height: 1.6;
}

.ai-search .ai-search-editorial__achievements {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 340px));
	justify-content: center;
	gap: 30px;
}

.ai-search .ai-search-editorial__achievement {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	height: auto;
	min-height: 270px;
	min-width: 0;
	padding: 12px 14px 14px;
	border: 2px solid #ff8a00;
	border-radius: 10px;
	background-color: #fffff5;
}

.ai-search .ai-search-editorial__achievement-title {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}

.ai-search .ai-search-editorial__achievement-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 50px;
	margin-top: 6px;
}

.ai-search .ai-search-editorial__achievement--publications .ai-search-editorial__achievement-icon img {
	width: 56px;
	height: 50px;
}

.ai-search .ai-search-editorial__achievement--publications .ai-search-editorial__achievement-icon {
	margin-top: 16px;
}

.ai-search .ai-search-editorial__achievement--awards .ai-search-editorial__achievement-icon img {
	width: 44px;
	height: 48px;
}

.ai-search .ai-search-editorial__achievement--bestsellers .ai-search-editorial__achievement-icon img {
	width: 59px;
	height: 39px;
}


.ai-search .ai-search-editorial__publication-count {
	margin-top: auto;
	margin-bottom: 24px;
	color: #000;
	line-height: 1;
	text-align: center;
}

.ai-search .ai-search-editorial__publication-number {
	font-family: "Oswald", sans-serif;
	font-size: 64px;
	letter-spacing: -0.02em;
}

.ai-search .ai-search-editorial__publication-unit {
	margin-left: 0;
	font-size: 40px;
}

.ai-search .ai-search-editorial__publication-suffix {
	display: inline-block;
	margin-top: 6px;
	font-size: 40px;
}


.ai-search .ai-search-editorial__award-list {
	display: grid;
	gap: 8px;
	width: 100%;
	margin-top: 14px;
}

.ai-search .ai-search-editorial__award-item {
	position: relative;
	padding-left: 24px;
	font-size: var(--ai-search-font-size-body);
	font-weight: 700;
	line-height: 1.3;
}

.ai-search .ai-search-editorial__award-item::before {
	position: absolute;
	top: calc((1.3em - 19px) / 2);
	left: 0;
	width: 18px;
	height: 19px;
	background:
		url("../../images/service/ai-search/editorial-icon-sparkle.svg") no-repeat center / contain;
	content: "";
}

.ai-search .ai-search-editorial__achievement--bestsellers {
	padding-inline: 12px;
}

.ai-search .ai-search-editorial__book-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: end;
	gap: 8px;
	width: 100%;
	margin-top: auto;
}

.ai-search .ai-search-editorial__book {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 0;
}

.ai-search .ai-search-editorial__book-sales {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: auto auto;
	align-content: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	margin-bottom: -7px;
	border-radius: 50%;
	background: radial-gradient(circle at 30% 25%,
			#ff2900 5%,
			#ff763b 55%,
			#ffd588 85%);
	box-shadow: 2px 3px 5px rgb(0 0 0 / 18%);
	color: var(--ai-search-color-white);
	font-weight: 700;
	line-height: 1;
	text-align: center;
}

.ai-search .ai-search-editorial__book-sales-number {
	align-self: end;
	font-family: "Oswald", sans-serif;
	font-size: 23px;
	letter-spacing: -0.03em;
}

.ai-search .ai-search-editorial__book-sales-unit {
	align-self: end;
	margin-left: 1px;
	padding-bottom: 2px;
	font-size: 10px;
	white-space: nowrap;
}

.ai-search .ai-search-editorial__book-sales-label {
	grid-column: 1 / -1;
	margin-top: 2px;
	font-size: 11px;
	white-space: nowrap;
}

.ai-search .ai-search-editorial__book-cover {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 100%;
	height: 96px;
}

.ai-search .ai-search-editorial__book-image {
	width: auto;
	max-width: 100%;
	height: 96px;
	object-fit: contain;
	filter: drop-shadow(2px 3px 3px rgb(0 0 0 / 20%));
}

@media screen and (max-width: 768px) {

	/* .ai-search .ai-search-editorial {
		margin-top: clamp(48px, 12.8vw, 64px);
	} */

	.ai-search .ai-search-editorial__title {
		color: #8a501f;
		font-size: clamp(24px, 6.4vw, 30px);
		line-height: 1.35;
		text-align: center;
	}

	.ai-search .ai-search-editorial__lead {
		margin-top: clamp(28px, 7.47vw, 36px);
		font-size: clamp(20px, 5.87vw, 26px);
		line-height: 1.55;
		text-align: center;
	}

	.ai-search .ai-search-editorial__description {
		gap: 0;
		margin-top: clamp(28px, 7.47vw, 36px);
	}

	.ai-search .ai-search-editorial__description p {
		font-size: clamp(16px, 4.27vw, 18px);
		line-height: 1.75;
	}

	.ai-search .ai-search-editorial__achievements {
		grid-template-columns: 1fr;
		gap: 30px;
		width: 100%;
	}

	.ai-search .ai-search-editorial__achievement {
		flex-direction: row;
		flex-wrap: wrap;
		padding: clamp(20px, 5.33vw, 28px) clamp(16px, 4.27vw, 24px);
		align-content: flex-start;
		align-items: center;
		justify-content: center;
		column-gap: 10px;
		min-height: 0;
	}

	.ai-search .ai-search-editorial__achievement-title {
		flex: 0 1 auto;
		order: 2;
		font-size: clamp(24px, 6.4vw, 30px);
		line-height: 1.2;
	}

	.ai-search .ai-search-editorial__achievement-icon {
		flex: 0 0 auto;
		order: 1;
		height: auto;
		margin-top: 0;
	}

	.ai-search .ai-search-editorial__achievement--publications .ai-search-editorial__achievement-icon img {
		width: 42px;
		height: auto;
	}

	.ai-search .ai-search-editorial__achievement--awards .ai-search-editorial__achievement-icon img {
		width: 34px;
		height: auto;
	}

	.ai-search .ai-search-editorial__achievement--bestsellers .ai-search-editorial__achievement-icon img {
		width: 44px;
		height: auto;
	}

	.ai-search .ai-search-editorial__achievement--publications .ai-search-editorial__achievement-icon {
		margin-top: 0;
	}

	.ai-search .ai-search-editorial__publication-count,
	.ai-search .ai-search-editorial__award-list,
	.ai-search .ai-search-editorial__book-list {
		order: 3;
		flex-basis: 100%;
		width: 100%;
	}

	.ai-search .ai-search-editorial__publication-count {
		margin-top: 20px;
		margin-bottom: 0;
	}

	.ai-search .ai-search-editorial__award-list {
		margin-top: 20px;
	}

	.ai-search .ai-search-editorial__book-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: clamp(18px, 4.8vw, 26px);
		row-gap: 0;
		margin-top: clamp(18px, 4.8vw, 24px);
	}

	.ai-search .ai-search-editorial__book {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		min-width: 0;
		padding-top: clamp(54px, 14.4vw, 70px);
	}

	.ai-search .ai-search-editorial__book-sales {
		position: absolute;
		z-index: 2;
		top: 0;
		left: calc(50% + clamp(22px, 5.33vw, 36px));
		width: clamp(82px, 21.87vw, 100px);
		height: clamp(82px, 21.87vw, 100px);
		margin: 0;
		transform: translateX(-30%) translateY(20px);
	}

	.ai-search .ai-search-editorial__book-sales-number {
		font-size: clamp(38px, 10.13vw, 48px);
	}

	.ai-search .ai-search-editorial__book-sales-unit {
		font-size: clamp(14px, 3.73vw, 18px);
	}

	.ai-search .ai-search-editorial__book-sales-label {
		font-size: clamp(17px, 4.53vw, 21px);
	}

	.ai-search .ai-search-editorial__book-cover {
		justify-content: center;
		height: clamp(170px, 46vw, 220px);
		padding-left: 0;
	}

	.ai-search .ai-search-editorial__book-image {
		width: auto;
		max-width: 100%;
		height: 100%;
		object-fit: contain;
	}
}

/* クロスメディア・マーケティングの強み
---------------------------------------- */

.ai-search .ai-search-strengths {
	padding-block: 40px 64px;
	background: var(--ai-search-gradient-aqua-purple);
}

.ai-search .ai-search-strengths__header {
	margin-bottom: 40px;
	text-align: center;
}

.ai-search .ai-search-strengths__title {
	color: var(--ai-search-color-primary);
	font-size: var(--ai-search-font-size-heading-medium);
	font-weight: 700;
	line-height: 1.4;
}

.ai-search .ai-search-strengths__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px 40px;
}

.ai-search .ai-search-strengths__item {
	min-width: 0;
}

.ai-search .ai-search-strengths__card {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 420px;
	padding: 28px 30px 26px;
	border: 2px solid var(--ai-search-color-border-blue);
	border-radius: 10px;
	background-color: var(--ai-search-color-white);
}

.ai-search .ai-search-strengths__card-title {
	color: var(--ai-search-color-primary);
	font-size: 26px;
	font-weight: 700;
	line-height: 1.35;
}

.ai-search .ai-search-strengths__item--editorial .ai-search-strengths__card-title,
.ai-search .ai-search-strengths__item--production .ai-search-strengths__card-title {
	min-height: 2.7em;
}

.ai-search .ai-search-strengths__card-content {
	display: grid;
	gap: 4px;
	margin-top: 28px;
}

.ai-search .ai-search-strengths__card-content p {
	font-size: var(--ai-search-font-size-large);
	font-weight: 500;
	line-height: 1.65;
}

.ai-search .ai-search-strengths__card-visual {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 20px;
	min-height: 150px;
	margin-top: auto;
	padding-top: 24px;
}

.ai-search .ai-search-strengths__book-image {
	flex: 0 0 auto;
	width: auto;
	height: 118px;
	object-fit: contain;
}

.ai-search .ai-search-strengths__formats-image {
	width: min(100%, 376px);
	height: auto;
}

.ai-search .ai-search-strengths__analysis-image {
	width: 194px;
	height: auto;
}

.ai-search .ai-search-strengths__media-image {
	flex: 0 1 163px;
	width: 163px;
	height: auto;
	min-width: 0;
}

.ai-search .ai-search-strengths__item--editorial .ai-search-strengths__card-visual {
	min-height: 118px;
}

.ai-search .ai-search-strengths__item--production .ai-search-strengths__card-visual {
	align-items: center;
}

.ai-search .ai-search-strengths__item--improvement .ai-search-strengths__card-visual {
	min-height: 175px;
}

.ai-search .ai-search-strengths__item--external-media .ai-search-strengths__card-visual {
	min-height: 131px;
}

@media screen and (max-width: 768px) {

	.ai-search .ai-search-strengths {
		padding-block:
			clamp(40px, 10.67vw, 56px) clamp(48px, 12.8vw, 64px);
	}

	.ai-search .ai-search-strengths__header {
		margin-bottom: clamp(32px, 8.53vw, 40px);
	}

	.ai-search .ai-search-strengths__title {
		font-size: clamp(24px, 6.4vw, 32px);
		line-height: 1.4;
	}

	.ai-search .ai-search-strengths__list {
		grid-template-columns: 1fr;
		gap: clamp(24px, 6.4vw, 32px);
	}

	.ai-search .ai-search-strengths__card {
		min-height: 0;
		padding:
			clamp(24px, 6.4vw, 32px) clamp(20px, 5.33vw, 28px);
	}

	.ai-search .ai-search-strengths__card-title {
		font-size: clamp(20px, 5.33vw, 24px);
		line-height: 1.45;
	}

	.ai-search .ai-search-strengths__card-content {
		margin-top: clamp(16px, 4.27vw, 20px);
	}

	.ai-search .ai-search-strengths__card-content p {
		font-size: clamp(15px, 4vw, 17px);
		line-height: 1.65;
	}

	.ai-search .ai-search-strengths__card-visual {
		margin-top: 0;
	}

	.ai-search .ai-search-strengths__item--editorial .ai-search-strengths__card-visual {
		display: flex;
		align-items: flex-end;
		justify-content: center;
		gap: 8px;
		width: 100%;
		margin-inline: auto;
	}

	.ai-search .ai-search-strengths__item--editorial .ai-search-strengths__book-image {
		width: auto;
		max-width: calc((100% - 24px) / 4);
		height: clamp(92px, 24.53vw, 112px);
		object-fit: contain;
	}
}

/* 他社との比較
---------------------------------------- */

.ai-search .ai-search-comparison {
	padding-block: 48px 64px;
	background-color: var(--ai-search-color-white);
}

.ai-search .ai-search-comparison__header {
	margin-bottom: 24px;
	text-align: center;
}

.ai-search .ai-search-comparison__title {
	color: var(--ai-search-color-primary);
	font-size: var(--ai-search-font-size-heading-medium);
	font-weight: 700;
	line-height: 1.4;
}

.ai-search .ai-search-comparison__table-wrapper {
	overflow-x: auto;
}

.ai-search .ai-search-comparison__table {
	width: 100%;
	table-layout: fixed;
	border: 1px solid #222;
}

.ai-search .ai-search-comparison__table th,
.ai-search .ai-search-comparison__table td {
	border: 1px solid #222;
	vertical-align: middle;
	text-align: center;
}

.ai-search .ai-search-comparison__table thead th {
	height: 76px;
	padding: 8px 6px;
	background-color: var(--ai-search-color-primary);
	color: var(--ai-search-color-white);
	font-size: var(--ai-search-font-size-large);
	font-weight: 700;
	line-height: 1.35;
}

.ai-search .ai-search-comparison__table thead th:not(:last-child) {
	border-right-color: #fff;
}

.ai-search .ai-search-comparison__table thead th+th {
	border-left: 0;
}

.ai-search .ai-search-comparison__column--item {
	width: 20%;
}

.ai-search .ai-search-comparison__column--consulting,
.ai-search .ai-search-comparison__column--production {
	width: 25%;
}

.ai-search .ai-search-comparison__column--cmm {
	width: 30%;
}

.ai-search .ai-search-comparison__table thead th:last-child {
	padding-inline: 8px;
	white-space: normal;
	overflow-wrap: anywhere;
}

.ai-search .ai-search-comparison__table tbody tr {
	height: 76px;
}

.ai-search .ai-search-comparison__table tbody th {
	padding: 12px 16px;
	background-color: #e9f5ff;
	font-size: var(--ai-search-font-size-body);
	font-weight: 500;
	line-height: 1.4;
}

.ai-search .ai-search-comparison__table tbody td {
	padding: 8px 16px;
	font-size: var(--ai-search-font-size-body);
	font-weight: 500;
	line-height: 1.4;
}

.ai-search .ai-search-comparison__table tbody td:last-child {
	padding-block: 4px;
	background-color: #fffff5;
}

.ai-search .ai-search-comparison__table tbody td:last-child p {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
}

.ai-search .ai-search-comparison__rating {
	display: inline-block;
	font-size: 18px;
	line-height: 1;
}

.ai-search .ai-search-comparison__table tbody td:last-child .ai-search-comparison__rating {
	display: block;
	margin: 0 auto 3px;
}

.ai-search .ai-search-comparison__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 28px;
	margin-top: 24px;
}

.ai-search .ai-search-comparison__legend::before {
	flex: 0 0 auto;
	content: "凡例";
}

.ai-search .ai-search-comparison__legend,
.ai-search .ai-search-comparison__legend-item {
	align-items: center;
}

.ai-search .ai-search-comparison__legend-item {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	white-space: nowrap;
}

.ai-search .ai-search-comparison__table-wrapper--sp {
	display: none;
}

@media screen and (max-width: 768px) {

	.ai-search .ai-search-comparison__table-wrapper--pc {
		display: none;
	}

	.ai-search .ai-search-comparison__table-wrapper--sp {
		display: block;
	}

	.ai-search .ai-search-comparison__table-wrapper--sp {
		width: 100%;
		overflow-x: auto;
		overscroll-behavior-inline: contain;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 8px;
	}

	.ai-search .ai-search-comparison__table--sp th,
	.ai-search .ai-search-comparison__table--sp td {
		word-break: normal;
		overflow-wrap: normal;
	}

	.ai-search .ai-search-comparison__table--sp {
		width: 1080px;
		min-width: 1080px;
		table-layout: fixed;
	}

	.ai-search .ai-search-comparison__header {
		margin-bottom: clamp(16px, 4.27vw, 20px);
		text-align: center;
	}

	.ai-search .ai-search-comparison__title {
		font-size: clamp(24px, 6.4vw, 30px);
		line-height: 1.3;
	}

	.ai-search .ai-search-comparison__legend {
		display: grid;
		grid-template-columns: 1fr;
		justify-items: start;
		gap: 0;
		width: 100%;
		margin-top: clamp(16px, 4.27vw, 20px);
		text-align: left;
	}

	.ai-search .ai-search-comparison__legend::before {
		margin-bottom: 0;
		font-size: 14px;
		font-weight: 700;
		line-height: 1.5;
	}

	.ai-search .ai-search-comparison__legend-item {
		font-size: 14px;
		font-weight: 500;
		line-height: 1.5;
		white-space: normal;
	}

	.ai-search .ai-search-comparison__table--sp {
		border: 1px solid #222;
	}

	.ai-search .ai-search-comparison__table--sp thead th {
		border-color: #222;
		background-color: #e9f5ff;
		color: #222;
	}

	.ai-search .ai-search-comparison__table--sp thead th+th {
		border-left-color: #222;
	}

	.ai-search .ai-search-comparison__table--sp thead th:first-child {
		border-color: #222;
		border-bottom-color: var(--ai-search-color-white);
		background-color: var(--ai-search-color-primary);
		color: var(--ai-search-color-white);
	}

	.ai-search .ai-search-comparison__table--sp thead th:not(:last-child) {
		border-right-color: #222;
	}

	.ai-search .ai-search-comparison__table--sp tbody th {
		border-color: #222;
		border-bottom-color: var(--ai-search-color-white);
		background-color: var(--ai-search-color-primary);
		color: var(--ai-search-color-white);
	}

	.ai-search .ai-search-comparison__table--sp tbody tr:last-child th {
		border-bottom-color: #222;
	}

	.ai-search .ai-search-comparison__table--sp tbody td {
		background-color: var(--ai-search-color-white);
	}

	.ai-search .ai-search-comparison__table--sp tbody tr:not(.ai-search-comparison__row--cmm) td:last-child {
		background-color: var(--ai-search-color-white);
	}

	.ai-search .ai-search-comparison__table--sp .ai-search-comparison__row--cmm td {
		background-color: #fffff5;
	}
}

/* このような企業様におすすめです
---------------------------------------- */

.ai-search .ai-search-recommendation {
	margin-top: 64px;
	padding: 28px 48px 32px;
	border: 2px solid transparent;
	border-radius: 10px;
	background:
		linear-gradient(var(--ai-search-color-white),
			var(--ai-search-color-white)) padding-box,
		linear-gradient(90deg,
			#00ffff 0%,
			#693aff 100%) border-box;
}

.ai-search .ai-search-recommendation__header {
	text-align: center;
}

.ai-search .ai-search-recommendation__title {
	color: var(--ai-search-color-primary);
	font-size: var(--ai-search-font-size-heading-small);
	font-weight: 700;
	line-height: 1.4;
}

.ai-search .ai-search-recommendation__list {
	display: grid;
	gap: 12px;
	width: fit-content;
	max-width: 100%;
	margin: 24px auto 0;
}

.ai-search .ai-search-recommendation__item {
	position: relative;
	padding-left: 20px;
	font-size: var(--ai-search-font-size-large);
	font-weight: 600;
	line-height: 1.5;
}

.ai-search .ai-search-recommendation__item::before {
	position: absolute;
	top: calc((1.5em - 14px) / 2 + 1px);
	left: 0;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background-color: var(--ai-search-color-border-blue);
	content: "";
}

@media screen and (max-width: 768px) {

	.ai-search .ai-search-recommendation {
		margin-top: clamp(40px, 10.67vw, 56px);
		padding: clamp(24px, 6.4vw, 32px) clamp(18px, 4.8vw, 28px) clamp(28px, 7.47vw, 36px);
		border-radius: 10px;
	}

	.ai-search .ai-search-recommendation__title {
		font-size: clamp(24px, 6.4vw, 30px);
		line-height: 1.4;
	}

	.ai-search .ai-search-recommendation__list {
		gap: clamp(10px, 2.67vw, 14px);
		width: 100%;
		margin-top: clamp(20px, 5.33vw, 28px);
	}

	.ai-search .ai-search-recommendation__item {
		padding-left: 18px;
		font-size: clamp(16px, 4.27vw, 18px);
		line-height: 1.6;
	}

	.ai-search .ai-search-recommendation__item::before {
		top: calc((1.6em - 12px) / 2);
		width: 12px;
		height: 12px;
	}
}

/* 無料AI簡易診断CTA
---------------------------------------- */

.ai-search .ai-search-diagnosis {
	padding-block: 56px;
	background: var(--ai-search-gradient-aqua-purple);
}

.ai-search .ai-search-diagnosis__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
	gap: 72px;
}

.ai-search .ai-search-diagnosis__content {
	text-align: center;
}

.ai-search .ai-search-diagnosis__title {
	color: var(--ai-search-color-primary);
	font-size: var(--ai-search-font-size-heading-small);
	font-weight: 700;
	line-height: 1.6;
}

.ai-search .ai-search-diagnosis__action {
	position: relative;
	isolation: isolate;
	width: min(100%, 440px);
	margin: 48px auto 0;
}

.ai-search .ai-search-diagnosis__action::before {
	position: absolute;
	z-index: -1;
	inset: -8px;
	border-radius: 999px;
	background: linear-gradient(90deg,
			#693aff 0%,
			#00ffff 100%);
	filter: blur(18px);
	opacity: 0.6;
	pointer-events: none;
	content: "";
}

.ai-search .ai-search-diagnosis__button {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 70px;
	padding: 12px 64px;
	border-radius: 999px;
	background-color: var(--ai-search-color-white);
	color: var(--ai-search-color-primary);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	text-shadow: none;
	transition:
		background-color 0.2s ease,
		color 0.2s ease;
}

@media (hover: hover) {
	.ai-search .ai-search-diagnosis__action:hover .ai-search-diagnosis__button {
		background-color: var(--ai-search-color-primary);
		color: var(--ai-search-color-white);
		opacity: 1;
	}
}

.ai-search .ai-search-diagnosis__details-label {
	margin-bottom: 18px;
	font-size: var(--ai-search-font-size-body);
	font-weight: 500;
	line-height: 1.5;
}

.ai-search .ai-search-diagnosis__list {
	display: grid;
	gap: 14px;
}

.ai-search .ai-search-diagnosis__item {
	position: relative;
	min-height: 25px;
	padding-left: 32px;
	font-size: var(--ai-search-font-size-large);
	font-weight: 500;
	line-height: 1.5;
}

.ai-search .ai-search-diagnosis__item::before {
	position: absolute;
	top: calc((1.5em - 23px) / 2 + 1px);
	left: 0;
	width: 27px;
	height: 23px;
	background:
		url("../../images/service/ai-search/icon-check.svg") no-repeat center / contain;
	content: "";
}

@media screen and (max-width: 768px) {

	.ai-search .ai-search-diagnosis {
		padding-block: clamp(48px, 12.8vw, 64px);
	}

	.ai-search .ai-search-diagnosis__inner {
		grid-template-columns: 1fr;
		gap: clamp(32px, 8.53vw, 40px);
	}

	.ai-search .ai-search-diagnosis__content {
		text-align: center;
	}

	.ai-search .ai-search-diagnosis__title {
		font-size: clamp(24px, 6.4vw, 30px);
		line-height: 1.45;
	}

	.ai-search .ai-search-diagnosis__action {
		display: flex;
		justify-content: center;
		margin-top: clamp(24px, 6.4vw, 32px);
	}

	.ai-search .ai-search-diagnosis__button {
		width: 100%;
		max-width: 340px;
		min-height: 55px;
		padding: 8px 20px;
		font-size: 20px;
	}

	.ai-search .ai-search-diagnosis__details {
		width: 100%;
	}

	.ai-search .ai-search-diagnosis__details-label {
		font-size: clamp(16px, 4.27vw, 18px);
	}

	.ai-search .ai-search-diagnosis__list {
		gap: clamp(12px, 3.2vw, 16px);
		margin-top: clamp(16px, 4.27vw, 20px);
	}

	.ai-search .ai-search-diagnosis__item {
		font-size: clamp(16px, 4vw, 17px);
		line-height: 1.6;
	}
}

/* プラン内容
---------------------------------------- */

.ai-search .ai-search-plan {
	padding-block: 40px 64px;
	background-color: var(--ai-search-color-white);
}

.ai-search .ai-search-plan__header {
	text-align: center;
}

.ai-search .ai-search-plan__title {
	color: var(--ai-search-color-primary);
	font-weight: 600;
}

.ai-search .ai-search-plan__label {
	display: block;
	width: fit-content;
	margin-inline: auto;
	color: var(--ai-search-color-border-blue);
	font-size: 22px;
	line-height: 1.5;
}

.ai-search .ai-search-plan__label::after {
	display: block;
	width: 180px;
	height: 2px;
	margin: 8px auto 0;
	background: linear-gradient(90deg,
			#00ffff 0%,
			#693aff 100%);
	content: "";
}

.ai-search .ai-search-plan__heading {
	display: block;
	margin-top: 40px;
	font-size: var(--ai-search-font-size-heading-medium);
	line-height: 1.4;
}

.ai-search .ai-search-plan__pricing {
	display: grid;
	grid-template-columns: minmax(280px, 0.8fr) minmax(max-content, 1.6fr);
	align-items: center;
	gap: 42px;
	margin-top: 32px;
	padding: 32px 42px;
	border: 2px solid var(--ai-search-color-border-blue);
	border-radius: 10px;
}

.ai-search .ai-search-plan__price {
	text-align: center;
}

.ai-search .ai-search-plan__price-label {
	color: var(--ai-search-color-primary);
	font-size: 27px;
	font-weight: 600;
	line-height: 1.4;
}

.ai-search .ai-search-plan__price-value {
	margin-top: 4px;
	padding-bottom: 20px;
	color: var(--ai-search-color-primary);
}

.ai-search .ai-search-plan__price-value strong {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	line-height: 1;
}

.ai-search .ai-search-plan__price-number {
	font-size: 108px;
	font-weight: 700;
}

.ai-search .ai-search-plan__price-details {
	position: relative;
	display: block;
	margin-bottom: 6px;
}

.ai-search .ai-search-plan__price-unit {
	font-size: 48px;
	font-weight: 700;
	line-height: 1;
}

.ai-search .ai-search-plan__price-tax {
	position: absolute;
	top: calc(100% + 4px);
	left: -8px;
	color: #777;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	white-space: nowrap;
}

.ai-search .ai-search-plan__features {
	display: grid;
	gap: 16px;
	white-space: nowrap;
}

.ai-search .ai-search-plan__feature {
	position: relative;
	padding-left: 20px;
	font-size: var(--ai-search-font-size-large);
	font-weight: 600;
	line-height: 1.5;
}

.ai-search .ai-search-plan__feature::before {
	position: absolute;
	top: calc((1.5em - 14px) / 2 + 1px);
	left: 0;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background-color: var(--ai-search-color-border-blue);
	content: "";
}

.ai-search .ai-search-plan__options {
	margin-top: 46px;
}

.ai-search .ai-search-plan__options-header {
	text-align: center;
}

.ai-search .ai-search-plan__options-title {
	color: var(--ai-search-color-primary);
	font-size: var(--ai-search-font-size-heading-small);
	font-weight: 700;
	line-height: 1.4;
}

.ai-search .ai-search-plan__option-list {
	display: grid;
	grid-template-columns: repeat(3, 340px);
	grid-auto-rows: 1fr;
	gap: 20px 30px;
	margin-top: 26px;
}

.ai-search .ai-search-plan__option {
	height: 100%;
	min-height: 100px;
	padding: 20px;
	border-radius: 10px;
	background-color: #ffffe7;
}

.ai-search .ai-search-plan__option-title {
	position: relative;
	padding-left: 16px;
	color: var(--ai-search-color-primary);
	font-size: var(--ai-search-font-size-large);
	font-weight: 700;
	line-height: 1.4;
}

.ai-search .ai-search-plan__option-title::before {
	position: absolute;
	top: 0.35em;
	left: 0;
	width: 0;
	height: 0;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 8px solid var(--ai-search-color-primary);
	content: "";
}

.ai-search .ai-search-plan__option-description {
	margin-top: 6px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
}

/* お問い合わせボタン
---------------------------------------- */

.ai-search .ai-search-plan__action {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

.ai-search .ai-search-plan__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: min(100%, 380px);
	min-height: 60px;
	padding: 12px 32px;
	border-radius: 999px;
	background-color: var(--ai-search-color-border-blue);
	box-shadow: 0 4px 8px rgb(0 0 0 / 20%);
	color: var(--ai-search-color-white);
	font-size: var(--ai-search-font-size-large);
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	transition:
		background-color 0.2s ease,
		box-shadow 0.2s ease;
}

@media (hover: hover) {
	.ai-search .ai-search-plan__button:hover {
		background-color: var(--ai-search-color-primary);
		box-shadow: 0 6px 12px rgb(0 0 0 / 24%);
		color: var(--ai-search-color-white);
		opacity: 1;
	}
}

.ai-search .ai-search-plan__button:active {
	box-shadow: 0 2px 4px rgb(0 0 0 / 16%);
}

@media (max-width: 1080px) {

	.ai-search .ai-search-plan__pricing {
		grid-template-columns: minmax(340px, 0.8fr) minmax(0, 1.6fr);
	}

	.ai-search .ai-search-plan__feature {
		min-width: 0;
		white-space: normal;
	}

	.ai-search .ai-search-plan__option-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (max-width: 768px) {

	.ai-search .ai-search-plan {
		padding-block:
			clamp(48px, 12.8vw, 64px) clamp(56px, 14.93vw, 72px);
	}

	.ai-search .ai-search-plan__label {
		font-size: clamp(18px, 4.8vw, 22px);
	}

	.ai-search .ai-search-plan__label::after {
		width: clamp(140px, 37.33vw, 180px);
	}

	.ai-search .ai-search-plan__heading {
		margin-top: clamp(24px, 6.4vw, 32px);
		font-size: clamp(24px, 6.4vw, 32px);
		line-height: 1.45;
	}

	.ai-search .ai-search-plan__pricing {
		grid-template-columns: 1fr;
		gap: clamp(24px, 6.4vw, 32px);
		margin-top: clamp(28px, 7.47vw, 36px);
		padding:
			clamp(24px, 6.4vw, 32px) clamp(20px, 5.33vw, 28px);
	}

	.ai-search .ai-search-plan__price-label {
		font-size: clamp(22px, 5.87vw, 26px);
	}

	.ai-search .ai-search-plan__price-value {
		padding-bottom: 16px;
	}

	.ai-search .ai-search-plan__price-number {
		font-size: clamp(72px, 19.2vw, 96px);
	}

	.ai-search .ai-search-plan__price-unit {
		font-size: clamp(34px, 9.07vw, 44px);
	}

	.ai-search .ai-search-plan__price-tax {
		font-size: 14px;
	}

	.ai-search .ai-search-plan__features {
		gap: 14px;
		white-space: normal;
	}

	.ai-search .ai-search-plan__feature {
		padding-left: 18px;
		font-size: clamp(15px, 4vw, 17px);
		line-height: 1.6;
	}

	.ai-search .ai-search-plan__feature::before {
		top: calc((1.6em - 12px) / 2);
		width: 12px;
		height: 12px;
	}

	.ai-search .ai-search-plan__options {
		margin-top: clamp(40px, 10.67vw, 52px);
	}

	.ai-search .ai-search-plan__options-title {
		font-size: clamp(22px, 5.87vw, 28px);
	}

	.ai-search .ai-search-plan__option-list {
		grid-template-columns: 1fr;
		gap: 12px;
		margin-top: clamp(24px, 6.4vw, 30px);
	}

	.ai-search .ai-search-plan__option {
		min-height: 0;
		padding: 16px 18px;
	}

	.ai-search .ai-search-plan__option-title {
		padding-left: 14px;
		font-size: clamp(17px, 4.53vw, 20px);
		line-height: 1.4;
	}

	.ai-search .ai-search-plan__option-title::before {
		top: 0.35em;
		border-top-width: 6px;
		border-bottom-width: 6px;
		border-left-width: 7px;
	}

	.ai-search .ai-search-plan__option-description {
		margin-top: 4px;
		font-size: clamp(14px, 3.73vw, 16px);
		line-height: 1.55;
		word-break: normal;
		overflow-wrap: anywhere;
	}

	.ai-search .ai-search-plan__action {
		margin-top: clamp(32px, 8.53vw, 40px);
	}

	.ai-search .ai-search-plan__button {
		width: 100%;
		max-width: 340px;
		min-height: 55px;
		padding: 8px 20px;
		font-size: 20px;
	}
}


/* FAQ
---------------------------------------- */

.ai-search .ai-search-faq {
	padding-block:
		clamp(40px, 10.67vw, 56px) clamp(48px, 12.8vw, 64px);
	background-color: var(--ai-search-color-white);
}

.ai-search .ai-search-faq__header {
	margin-bottom: clamp(28px, 7.47vw, 36px);
	text-align: center;
}

.ai-search .ai-search-faq__title {
	color: var(--ai-search-color-primary);
	font-weight: 700;
}

.ai-search .ai-search-faq__label {
	display: block;
	width: fit-content;
	margin-inline: auto;
	color: var(--ai-search-color-border-blue);
	font-size: 22px;
	line-height: 1.5;
}

.ai-search .ai-search-faq__label::after {
	display: block;
	width: 180px;
	height: 2px;
	margin: 8px auto 0;
	background: linear-gradient(90deg,
			#00ffff 0%,
			#693aff 100%);
	content: "";
}

.ai-search .ai-search-faq__heading {
	display: block;
	margin-top: 40px;
	font-size: var(--ai-search-font-size-heading-medium);
	line-height: 1.4;
}

.ai-search .ai-search-faq__list {
	--ai-search-faq-content-start: 40px;
	--ai-search-faq-answer-inset: 8px;
	--ai-search-faq-mark-width: 32px;
	--ai-search-faq-mark-gap: 24px;

	margin-top: 52px;
}

.ai-search .ai-search-faq__item {
	border-bottom: 1px solid #bfe9ff;
}


.ai-search .ai-search-faq__question {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 96px;
	padding:
		38px 56px 36px var(--ai-search-faq-content-start);
	list-style: none;
}

.ai-search .ai-search-faq__question::-webkit-details-marker {
	display: none;
}

.ai-search .ai-search-faq__question::marker {
	content: "";
}

.ai-search .ai-search-faq__question-title {
	display: grid;
	grid-template-columns:
		var(--ai-search-faq-mark-width) minmax(0, 1fr);
	align-items: center;
	gap: var(--ai-search-faq-mark-gap);
	width: 100%;
}

.ai-search .ai-search-faq__question-text {
	font-size: var(--ai-search-font-size-large);
	font-weight: 600;
	line-height: 1.5;
}

.ai-search .ai-search-faq__question-mark,
.ai-search .ai-search-faq__answer-mark {
	display: flex;
	align-items: center;
	justify-content: center;
}

.ai-search .ai-search-faq__question-mark img,
.ai-search .ai-search-faq__answer-mark img {
	display: block;
	width: auto;
	height: 30px;
}

.ai-search .ai-search-faq__question::before,
.ai-search .ai-search-faq__question::after {
	position: absolute;
	top: 50%;
	right: 20px;
	width: 20px;
	height: 2px;
	background-color: var(--ai-search-color-border-blue);
	transform: translateY(-50%);
	content: "";
}

.ai-search .ai-search-faq__question::before {
	transform: translateY(-50%) rotate(90deg);
	transition: transform 0.2s ease;
}

.ai-search .ai-search-faq__item[open] .ai-search-faq__question::before {
	transform: translateY(-50%) rotate(0deg);
}

.ai-search .ai-search-faq__answer {
	display: grid;
	grid-template-columns:
		var(--ai-search-faq-mark-width) minmax(0, 1fr);
	align-items: start;
	gap: var(--ai-search-faq-mark-gap);
	margin:
		0 var(--ai-search-faq-answer-inset) 42px;
	padding: 22px 32px 28px;
	padding-left: calc(var(--ai-search-faq-content-start) - var(--ai-search-faq-answer-inset));
	border-radius: 10px;
	background-color: #e9f5ff;
}

.ai-search .ai-search-faq__answer-content {
	min-width: 0;
}

.ai-search .ai-search-faq__answer-content p {
	font-size: var(--ai-search-font-size-large);
	font-weight: 500;
	line-height: 1.65;
}

.ai-search .ai-search-faq__answer-content p+p {
	margin-top: 4px;
}

.ai-search .ai-search-faq__answer-content a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media screen and (max-width: 768px) {

	.ai-search .ai-search-faq {
		padding-block: 48px;
	}

	.ai-search .ai-search-faq__header {
		margin-bottom: clamp(28px, 7.47vw, 36px);
		text-align: center;
	}

	.ai-search .ai-search-faq__label {
		font-size: clamp(18px, 4.8vw, 22px);
	}

	.ai-search .ai-search-faq__heading {
		margin-top: clamp(24px, 6.4vw, 32px);
		font-size: clamp(24px, 6.4vw, 32px);
		line-height: 1.45;
	}

	.ai-search .ai-search-faq__list {
		margin-top: clamp(20px, 5.33vw, 28px);
	}

	.ai-search .ai-search-faq__item {
		border-radius: 0;
	}

	.ai-search .ai-search-faq__question {
		padding: 20px 56px 20px 16px;
		border-radius: 0;
	}

	.ai-search .ai-search-faq__question-title {
		gap: 8px;
	}

	.ai-search .ai-search-faq__question-mark img,
	.ai-search .ai-search-faq__answer-mark img {
		width: 18px;
		min-width: 18px;
		font-size: 18px;
		line-height: 1;
	}

	.ai-search .ai-search-faq__question-text,
	.ai-search .ai-search-faq__answer-content p {
		font-size: 16px;
		line-height: 1.4;
	}

	.ai-search .ai-search-faq__answer {
		grid-template-columns: 18px minmax(0, 1fr);
		column-gap: 12px;
		padding: 20px 16px 24px;
	}
}

/* お問い合わせフォーム
---------------------------------------- */

.ai-search .ai-search-contact {
	padding-block: 56px 72px;
	background-color: #e9f5ff;
}

.ai-search .ai-search-contact__header {
	text-align: center;
}

.ai-search .ai-search-contact__lead {
	display: table;
	margin-inline: auto;
	padding-bottom: 12px;
	background:
		linear-gradient(90deg,
			#00ffff 0%,
			#693aff 100%) left bottom / 100% 2px no-repeat;
	color: var(--ai-search-color-primary);
	font-size: 26px;
	font-weight: 700;
	line-height: 1.4;
}

.ai-search .ai-search-contact__description {
	display: grid;
	gap: 4px;
	margin-top: 32px;
}

.ai-search .ai-search-contact__description p {
	font-size: var(--ai-search-font-size-large);
	font-weight: 500;
	line-height: 1.65;
}

.ai-search .ai-search-contact__form-area {
	margin-top: 46px;
}

.ai-search .ai-search-contact__title {
	color: var(--ai-search-color-primary);
	font-size: var(--ai-search-font-size-heading-medium);
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}

.ai-search .ai-search-contact__form {
	width: min(100%, 840px);
	margin: 48px auto 0;
}

.ai-search .ai-search-contact__form iframe {
	display: block;
	width: 100%;
	height: 1900px;
	margin-inline: auto;
	border: 0;
}

@media screen and (max-width: 768px) {

	.ai-search .ai-search-contact {
		padding-block: 48px 56px;
	}

	.ai-search .ai-search-contact__lead {
		padding-bottom: 8px;
		font-size: 20px;
		line-height: 1.4;
	}

	.ai-search .ai-search-contact__description {
		gap: 6px;
		margin-top: 24px;
		text-align: left;
	}

	.ai-search .ai-search-contact__description p {
		font-size: 16px;
		line-height: 1.65;
	}

	.ai-search .ai-search-contact__form-area {
		margin-top: 40px;
	}

	.ai-search .ai-search-contact__title {
		font-size: 28px;
		line-height: 1.4;
	}

	.ai-search .ai-search-contact__form {
		width: 100%;
		margin-top: 32px;
	}

	.ai-search .ai-search-contact__form iframe {
		width: 100%;
		height: 1900px;
	}
}