@charset "UTF-8";

@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");

.ai-main :where(ol, ul, p) {
	margin: 0;
}

/* ai all
----------------------------------------------- */
.ai-main {
	letter-spacing: 0.04em;
	background-color: #f5f8fd;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
}

.ai-contents {
	position: relative;
	margin: 130px 0 0 0;
	padding-right: 20px;
	padding-bottom: 70px;
	padding-left: 20px;
	background-repeat: no-repeat;
	background-position: top center -70px;
	background-size: 300px;
}

.ai-contents-inner {
	max-width: 1240px;
	margin: 0 auto;
}

.ai-subtitle-deco {
	position: absolute;
	z-index: 1;
	top: -120px;
	left: 50%;
	width: 300px;
	margin-left: -770px;
}

.ai-subtitle-title {
	position: relative;
	z-index: 2;
	font-size: 3.6rem;
	font-weight: 700;
	line-height: 1.5;
}

.ai-subtitle-read {
	position: relative;
	z-index: 2;
	padding-top: 25px;
	font-size: 1.7rem;
}

.ai-br-pc {
	display: block;
}

.ai-br-sp {
	display: none;
}

@media (max-width: 1240px) {
	.ai-subtitle-deco {
		top: -120px;
		left: 0;
		width: 300px;
		margin-left: -120px;
	}
}

@media (max-width: 812px) {
	.ai-contents {
		margin: 120px 0 0 0;
		padding-bottom: 0;
	}

	.ai-subtitle-deco {
		top: -60px;
		left: 0;
		width: 150px;
		margin-left: -60px;
	}

	.ai-subtitle-title {
		font-size: 2.0rem;
	}

	.ai-subtitle-read {
		padding-top: 15px;
		font-size: 1.4rem;
	}

	.ai-br-pc {
		display: none;
	}

	.ai-br-sp {
		display: block;
	}
}

/* kv
----------------------------------------------- */
.ai-kv {
	position: relative;
	overflow: hidden;
	padding: 90px 0 110px 0;
}

.ai-kv-deco {
	position: absolute;
	z-index: 1;
	right: 50%;
	bottom: 0;
	width: 810px;
	margin-right: -850px;
}

.ai-kv-img {
	position: absolute;
	z-index: 1;
	right: 50%;
	bottom: 60px;
	width: 677px;
	margin-right: -690px;
}

.ai-kv-deco-sp {
	display: none;
}

.ai-kv-img-sp {
	display: none;
}

.ai-kv-box {
	position: relative;
	z-index: 2;
	max-width: 1240px;
	margin: 0 auto;
}

.ai-kv-text {
	display: flex;
	gap: 10px 0;
	flex-wrap: wrap;
	font-size: 1.4rem;
}

.ai-kv-text .white {
	padding: 6px 20px;
	border-radius: 20px;
	background-color: #ffffff;
}

.ai-kv-text .cross {
	padding: 6px 10px;
}

.ai-kv-catch {
	margin-top: 30px;
	letter-spacing: 0.08em;
	font-size: 5.5rem;
	font-weight: 700;
	line-height: 1.5;
}

.ai-kv-catch .color {
	margin-right: 10px;
	color: #3081c5;
	border-bottom: solid 3px #3081c5;
	font-size: 6.0rem;
	line-height: 1.25;
}

.ai-kv-catch .large {
	font-size: 7.5rem;
}

.ai-kv-read {
	box-sizing: border-box;
	width: 50%;
	margin-top: 35px;
	padding-right: 15px;
	font-size: 1.6rem;
}

.ai-kv-btnarea {
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
	margin-top: 50px;
}

.ai-kv-btn a {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
	box-sizing: border-box;
	width: 300px;
	height: 62px;
	padding: 0 10px 2px 0;
	transition: opacity 0.5s ease-out;
	transition: all 0.2s;
	text-align: center;
	text-decoration: none;
	color: #ffffff;
	border-radius: 500px;
	background-repeat: no-repeat;
	background-position: right 22px center;
	background-size: 25px;
	font-size: 1.6rem;
}

.ai-kv-btn a:hover {
	transition: all 0.2s;
	background-color: #f66922;
}

.ai-kv-btn01 a {
	background-color: #fa9d30;
	background-image: url("../../ai/img/ic-btn01.svg");
}

.ai-kv-btn02 a {
	background-color: #3081c5;
	background-image: url("../../ai/img/ic-btn02.svg");
}

.ai-kv-btn01 a:hover {
	background-color: #f66922;
}

.ai-kv-btn02 a:hover {
	background-color: #0e3474;
}

@media (max-width: 1240px) {
	.ai-kv {
		position: relative;
		padding: 60px 0 80px 0;
	}

	.ai-kv-deco {
		position: absolute;
		z-index: 1;
		right: 50%;
		bottom: 0;
		width: 60%;
		margin-right: -60%;
	}

	.ai-kv-img {
		position: absolute;
		z-index: 1;
		right: 50%;
		bottom: 10%;
		width: 50%;
		margin-right: -50%;
	}

	.ai-kv-box {
		max-width: auto;
		margin: 0 20px;
	}

	.ai-kv-text {
		font-size: 1.0rem;
	}

	.ai-kv-text .white {
		padding: 8px 20px;
	}

	.ai-kv-text .cross {
		padding: 8px 10px;
	}

	.ai-kv-catch {
		margin-top: 30px;
		font-size: 3.5rem;
	}

	.ai-kv-catch .color {
		margin-right: 5px;
		font-size: 4.0rem;
	}

	.ai-kv-catch .large {
		font-size: 4.5rem;
	}

	.ai-kv-read {
		width: 50%;
		margin-top: 35px;
		padding-right: 20px;
		font-size: 1.5rem;
	}

	.ai-kv-btnarea {
		flex-direction: column;
		justify-content: flex-start;
		width: 300px;
		margin-top: 30px;
	}
}

@media (max-width: 812px) {
	.ai-kv {
		padding: 30px 0 0 0;
	}

	.ai-kv-deco {
		display: none;
	}

	.ai-kv-img {
		display: none;
	}

	.ai-kv-box {
		position: relative;
		z-index: 2;
		max-width: auto;
		margin: 0 auto;
	}

	.ai-kv-text {
		margin-left: 15px;
		font-size: 0.8rem;
	}

	.ai-kv-text .white {
		padding: 6px 10px;
		letter-spacing: 0.02em;
		font-size: 0.8rem;
	}

	.ai-kv-text .cross {
		padding: 6px 2px;
	}

	.ai-kv-catch {
		margin-top: 25px;
		padding: 0 20px;
		font-size: min(3.0rem, 7.7vw);
	}

	.ai-kv-catch .color {
		border-bottom: solid 2px #3081c5;
		font-size: 3.6rem;
	}

	.ai-kv-catch .large {
		font-size: 3.6rem;
	}

	.ai-kv-read {
		width: auto;
		margin-top: 30px;
		padding: 0 20px;
		font-size: 1.4rem;
	}

	.ai-kv-btnarea {
		position: relative;
		gap: 10px;
		width: auto;
		margin-top: 0;
		padding-bottom: 100px;
		background-image: url("../../ai/img/kv-back-sp.svg");
		background-repeat: no-repeat;
		background-position: top 30px left calc(50% + 30px);
		background-size: 470px;
	}

	.ai-kv-deco-sp {
		position: absolute;
		z-index: 1;
		top: -35px;
		left: 50%;
		display: block;
		width: 555px;
		margin-left: -180px;
	}

	.ai-kv-img-sp {
		position: relative;
		z-index: 2;
		display: block;
		width: 100%;
		max-width: 390px;
		margin: 55px auto 35px auto;
	}

	.ai-kv-btn {
		position: relative;
		z-index: 2;
	}

	.ai-kv-btn a {
		width: 280px;
		height: 46px;
		padding: 0 10px 2px 0;
		background-position: right 10px center;
		font-size: 1.4rem;
	}
}

/* theme
----------------------------------------------- */
.ai-theme.ai-contents {
	margin-top: 100px;
}

.ai-theme-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	box-sizing: border-box;
	margin-top: 80px;
	padding: 24px;
	color: #ffffff;
}

.ai-theme-bar-office {
	background-color: #179ec7;
}

.ai-theme-bar-factory {
	background-color: #0e3474;
}

.ai-theme-bar-title {
	width: 50%;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.3;
}

.ai-theme-bar-comments {
	flex: 1;
	text-align: right;
	font-size: 1.4rem;
	font-weight: 700;
}

.ai-theme-img {
	margin-top: 14px;
	padding: 40px;
	text-align: center;
	border-radius: 20px;
}

.ai-theme-img-office {
	background-color: #d2edf8;
}

.ai-theme-img-factory {
	background-color: #e5f0fd;
}

.ai-theme-img img {
	width: 100%;
	max-width: 1100px;
	margin: auto;
}

.ai-theme-img img.ai-case-sp {
	display: none;
}

.ai-theme-department {
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
	margin-top: 14px;
}

.ai-theme-department-box {
	box-sizing: border-box;
	width: calc(50% - 2px);
	padding: 12px;
	border-radius: 20px;
	background-color: #ffffff;
	box-shadow: 0 4px 5px rgba(0, 0, 0, 0.05);
}

.ai-theme-department-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	box-sizing: border-box;
	padding: 15px 12px 28px 12px;
}

.ai-theme-department-title-name {
	width: 50%;
	font-size: 2.3rem;
	font-weight: 700;
	line-height: 1.3;
}

.ai-theme-department-title-read {
	flex: 1;
	font-size: 1.6rem;
}

.ai-theme-department-bf-before {
	padding: 18px 18px 26px 18px;
	border-top-left-radius: 15px;
	border-top-right-radius: 15px;
}

.ai-theme-department-office .ai-theme-department-bf-before {
	color: #0083a2;
	background-color: #eff5fc;
}

.ai-theme-department-factory .ai-theme-department-bf-before {
	color: #0e3474;
	background-color: #eff5fc;
}

.ai-theme-department-bf-after {
	padding: 18px 18px 26px 18px;
	color: #ffffff;
	border-bottom-right-radius: 15px;
	border-bottom-left-radius: 15px;
}

.ai-theme-department-office .ai-theme-department-bf-after {
	background-color: #179ec7;
}

.ai-theme-department-factory .ai-theme-department-bf-after {
	background-color: #0e3474;
}

.ai-theme-department-bf p {
	padding-left: 2px;
	font-size: 2.2rem;
	font-weight: 700;
}

.ai-theme-department-bf ul {
	margin-left: 15px;
	padding-top: 10px;
	list-style: none;
}

.ai-theme-department-bf li::before {
	margin-left: -15px;
	content: "・";
}

.ai-theme-department-bf li {
	font-size: 1.5rem;
}

@media (max-width: 1240px) {
	.ai-theme-department-box {
		width: 100%;
	}
}

@media (max-width: 812px) {
	.ai-theme.ai-contents {
		margin-top: 50px;
	}

	.ai-theme-bar {
		flex-direction: column;
		margin-top: 50px;
		margin-right: -20px;
		margin-left: -20px;
		padding: 24px 10px;
	}

	.ai-theme-bar-title {
		width: auto;
		text-align: center;
		font-size: 2.0rem;
	}

	.ai-theme-bar-comments {
		flex: auto;
		padding-top: 15px;
		text-align: center;
		font-size: 1.4rem;
	}

	.ai-theme-img {
		padding: 20px;
	}

	.ai-theme-img img.ai-case-pc {
		display: none;
	}

	.ai-theme-img img.ai-case-sp {
		display: block;
		max-width: 400px;
	}

	.ai-theme-department-title {
		flex-direction: column;
		padding: 15px 12px 30px 12px;
		text-align: center;
	}

	.ai-theme-department-title-name {
		width: auto;
		font-size: 2.2rem;
	}

	.ai-theme-department-title-read {
		padding-top: 12px;
		font-size: 1.4rem;
	}

	.ai-theme-department-bf-before {
		padding: 18px 18px 26px 18px;
		border-top-left-radius: 15px;
		border-top-right-radius: 15px;
	}

	.ai-theme-department-bf-after {
		padding: 18px 18px 26px 18px;
		color: #ffffff;
		border-bottom-right-radius: 15px;
		border-bottom-left-radius: 15px;
	}

	.ai-theme-department-bf p {
		font-size: 2.0rem;
	}

	.ai-theme-department-bf ul {
		margin-left: 14px;
	}

	.ai-theme-department-bf li::before {
		margin-left: -14px;
	}

	.ai-theme-department-bf li {
		font-size: 1.4rem;
	}
}

/* issues
----------------------------------------------- */
.ai-issues-contents {
	position: relative;
	z-index: 2;
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
	margin-top: 60px;
}

.ai-issues-box {
	box-sizing: border-box;
	width: calc(50% - 2px);
	padding: 12px;
	border-radius: 20px;
	background-color: #ffffff;
	background-image: url("../../ai/img/issues-deco.svg");
	background-repeat: no-repeat;
	background-position: top left;
	background-size: 267px;
	box-shadow: 0 4px 5px rgba(0, 0, 0, 0.05);
}

.ai-issues-title {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.ai-issues-img {
	margin: 0 0 15px 25px;
}

.ai-issues-img img {
	width: 216px;
}

.ai-issues-read {
	padding-left: 20px;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.5;
}

.ai-issues-text {
	padding: 0 50px 40px 50px;
}

@media (max-width: 1240px) {
	.ai-issues-contents {
		flex-direction: column;
		margin: 60px auto 0 auto;
	}

	.ai-issues-box {
		width: 100%;
		padding: 12px;
	}
}

@media (max-width: 812px) {
	.ai-issues-contents {
		margin: 40px auto 0 auto;
	}

	.ai-issues-box {
		background-size: 180px;
	}

	.ai-issues-title {
		flex-direction: column;
	}

	.ai-issues-img {
		margin: 10px 0 0 0;
		text-align: center;
	}

	.ai-issues-img img {
		width: 150px;
		margin: auto;
	}

	.ai-issues-read {
		padding-top: 10px;
		padding-left: 0;
		text-align: center;
		font-size: 2.0rem;
	}

	.ai-issues-text {
		padding: 20px 20px 40px 20px;
	}
}

/* features
----------------------------------------------- */
.ai-features-contents {
	position: relative;
	z-index: 2;
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
	margin-top: 60px;
}

.ai-features-box {
	box-sizing: border-box;
	width: calc(33.333% - 3px);
	border-radius: 20px;
	background-color: #ffffff;
	box-shadow: 0 4px 5px rgba(0, 0, 0, 0.05);
}

.ai-features-title {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	justify-content: space-between;
}

.ai-features-number {
	display: block;
	width: 145px;
	height: 120px;
	text-align: center;
	color: #ffffff;
	border-top-left-radius: 20px;
	border-bottom-right-radius: 20px;
	background-color: #0e3474;
}

.ai-features-number-text {
	padding-top: 25px;
	font-size: 1.8rem;
	line-height: 1;
}

.ai-features-number-num {
	padding-top: 10px;
	font-size: 3.2rem;
	line-height: 1;
}



.ai-features-img img {
	width: 100%;
}

.ai-features-img01 {
	width: 177px;
	margin: 50px 45px 0 0;
}

.ai-features-img02 {
	width: 100px;
	margin: 15px 45px 0 0;
}

.ai-features-read {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	height: 100px;
	margin: 30px 45px 0 45px;
	font-size: 2.1rem;
	font-weight: 700;
	line-height: 1.5;
}

.ai-features-text {
	margin: 25px 45px 45px 45px;
	font-size: 1.7rem;
}

.ai-features-service-text {
	margin: 40px 0;
	text-align: center;
}

.ai-features-service-link {
	display: flex;
	gap: 20px;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
}

.ai-features-btn {
	margin-bottom: 30px;
}

.ai-features-btn a {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
	box-sizing: border-box;
	width: 320px;
	height: 93px;
	padding: 0 10px 2px 0;
	transition: opacity 0.5s ease-out;
	transition: all 0.2s;
	text-align: center;
	text-decoration: none;
	color: #ffffff;
	border-radius: 500px;
	background-color: #3081c5;
	background-image: url("../../ai/img/ic-btn02.svg");
	background-repeat: no-repeat;
	background-position: right 22px center;
	background-size: 25px;
	font-size: 1.6rem;
}

.ai-features-btn a:hover {
	transition: all 0.2s;
	background-color: #0e3474;
}

@media (max-width: 1240px) {
	.ai-features-contents {
		flex-direction: column;
		margin: 60px auto 0 auto;
	}

	.ai-features-box {
		width: 100%;
		padding: 0;
	}
}

@media (max-width: 812px) {
	.ai-features-contents {
		margin: 40px auto 0 auto;
	}

	.ai-features-title {
		display: flex;
		align-items: flex-start;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.ai-features-number {
		width: 127px;
		height: 86px;
	}

	.ai-features-number-text {
		padding-top: 18px;
		font-size: 1.4rem;
		line-height: 1;
	}

	.ai-features-number-num {
		padding-top: 8px;
		font-size: 2.4rem;
	}

	.ai-features-img01 {
		width: 150px;
		margin: 40px 20px 0 0;
	}

	.ai-features-img02 {
		width: 89px;
		margin: 15px 20px -20px 0;
	}

	.ai-features-read {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		height: auto;
		margin: 30px 20px 0 20px;
		font-size: 1.8rem;
	}

	.ai-features-text {
		margin: 25px 20px 40px 20px;
		font-size: 1.4rem;
	}

	.ai-features-service-text {
		margin: 40px 0 20px 0;
	}

	.ai-features-service-link {
		gap: 10px;
		flex-direction: column;
	}

	.ai-features-btn {
		margin-bottom: 0;
	}

	.ai-features-btn a {
		width: 280px;
		height: 46px;
		padding: 0 10px 2px 0;
		background-position: right 10px center;
		font-size: 1.4rem;
	}
}

/* flow
----------------------------------------------- */
.ai-flow-contents {
	position: relative;
	z-index: 2;
	display: flex;
	gap: 20px;
	flex-direction: column;
	flex-wrap: wrap;
	margin-top: 60px;
}

.ai-flow-contents::before {
	position: absolute;
	top: 0;
	left: 90px;
	width: 3px;      /* 線の太さ */
	height: 100%;    /* 親要素の高さに追従 */
	content: "";
	background: #179ec7;
}

.ai-flow-box {
	z-index: 1;
	display: flex;
	gap: 30px;
	align-items: center;
	flex-wrap: wrap;
	box-sizing: border-box;
	padding: 30px;
	border-radius: 20px;
	background-color: #ffffff;
	box-shadow: 0 4px 5px rgba(0, 0, 0, 0.05);
}

.ai-flow-number {
	display: flex;
	align-items: center;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: center;
	width: 120px;
	height: 120px;
	text-align: center;
	color: #ffffff;
	border-radius: 20px;
	background-color: #179ec7;
}

.ai-flow-number-text {
	font-size: 1.8rem;
	line-height: 1;
}

.ai-flow-number-num {
	padding-top: 10px;
	font-size: 3.2rem;
	line-height: 1;
}

.ai-flow-textarea {
	flex: 1;
}

.ai-flow-read {
	padding-top: 0;
	font-size: 2.2rem;
	font-weight: 700;
}

.ai-flow-text {
	padding-top: 10px;
	font-size: 1.6rem;
}

@media (max-width: 812px) {
	.ai-flow-contents {
		gap: 20px;
		flex-direction: column;
		margin-top: 50px;
	}

	.ai-flow-contents::before {
		left: 50%;
		height: calc(100% - 30px);
	}

	.ai-flow-box {
		gap: 0;
		flex-direction: column;
		margin-bottom: 20px;
		padding: 0 30px 30px 30px;
	}

	.ai-flow-number {
		align-items: center;
		flex-direction: row;
		justify-content: center;
		width: 112px;
		height: 44px;
		margin-top: -22px;
		border-radius: 10px;
	}

	.ai-flow-number-text {
		font-size: 1.2rem;
	}

	.ai-flow-number-num {
		margin-left: 5px;
		padding-top: 0;
		font-size: 1.8rem;
	}

	.ai-flow-read {
		padding-top: 18px;
		text-align: center;
		font-size: 1.8rem;
	}

	.ai-flow-text {
		padding-top: 15px;
		font-size: 1.4rem;
	}
}

/* cv
----------------------------------------------- */
.ai-cv.ai-contents {
	margin-top: 20px;
	padding-bottom: 100px;
}

.ai-cv-box {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	color: #ffffff;
	border-radius: 20px;
	background-color: #0e3474;
	background-image: url("../../ai/img/cv-deco.svg");
	background-repeat: no-repeat;
	background-position: right -70px top -20px;
	background-size: 700px;
}

.ai-cv-textarea {
	position: relative;
	flex: 1;
	padding: 150px 60px 80px 60px;
}

.ai-cv-read {
	position: absolute;
	top: 80px;
	white-space: nowrap;
	font-size: 4.0rem;
	font-weight: 700;
}

.ai-cv-text {
	padding-top: 20px;
	font-size: 1.7rem;
}

.ai-cv-btn {
	margin-top: 45px;
}

.ai-cv-btn a {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
	box-sizing: border-box;
	width: 300px;
	height: 62px;
	padding: 0 10px 2px 0;
	transition: opacity 0.5s ease-out;
	transition: all 0.2s;
	text-align: center;
	text-decoration: none;
	color: #ffffff;
	border-radius: 500px;
	background-color: #fa9d30;
	background-image: url("../../ai/img/ic-btn01.svg");
	background-repeat: no-repeat;
	background-position: right 22px center;
	background-size: 25px;
	font-size: 1.6rem;
}

.ai-cv-btn a:hover {
	transition: all 0.2s;
	background-color: #f66922;
}

.ai-cv-img {
	width: 390px;
	margin: 30px 70px 30px 0;
}

.ai-cv-img img {
	width: 100%;
}

@media (max-width: 812px) {
	.ai-cv.ai-contents {
		padding-bottom: 40px;
	}

	.ai-cv-box {
		flex-direction: column;
		background-image: url("../../ai/img/cv-deco.svg");
		background-position: center  bottom -20px;
		background-size: 390px;
	}

	.ai-cv-textarea {
		flex: 1;
		padding: 40px 20px 20px 20px;
	}

	.ai-cv-read {
		position: initial;
		text-align: center;
		white-space: initial;
		font-size: min(1.8rem, 4.7vw);
	}

	.ai-cv-text {
		padding-top: 30px;
		font-size: 1.4rem;
	}

	.ai-cv-btn {
		margin-top: 30px;
	}

	.ai-cv-btn a {
		width: 280px;
		height: 46px;
		margin: auto;
		padding: 0 10px 2px 0;
		background-position: right 10px center;
		font-size: 1.4rem;
	}

	.ai-cv-img {
		width: 206px;
		margin: 0 auto 10px auto;
	}
}

/* Helper
----------------------------------------------- */
.inline-block {
	display: inline-block;
}
