@charset "UTF-8";


	
	
/* service
--------------------- */
#service-list .cont .pht {
	border-radius: calc(5 * var(--vw-ratio));
}

#service-list .cont .text .ttl {
	font-size: calc(50 * var(--vw-ratio));
	font-weight: 500;
	line-height: 1;
	margin-bottom: calc(8 * var(--vw-ratio));
	position: relative;
}
	#service-list .cont .text .ttl span {
		display: block;
		text-align: right;
		line-height: 1;
		position: absolute;
		top: calc(7 * var(--vw-ratio));
		left: calc(-22 * var(--vw-ratio));
	}

#service-list .cont .text h3 {
	font-weight: 700;
	line-height: 1;
	margin-bottom: calc(25 * var(--vw-ratio));
}

#service-list .cont .text h4 {
	font-size: calc(32 * var(--vw-ratio));
	font-weight: 700;
	line-height: 1.1em;
	margin-bottom: calc(15 * var(--vw-ratio));
}
	#service-list .cont .text h4 span {
		font-size: calc(22 * var(--vw-ratio));
	}

#service-list .cont .text .read {
	margin-bottom: calc(35 * var(--vw-ratio));
}


#service-list #consulting.cont {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	width: 100%;
	margin-bottom: calc(150 * var(--vw-ratio));
}
	#service-list #consulting.cont .pht {
		width: calc(790 * var(--vw-ratio));
		margin-left: calc(-60 * var(--vw-ratio));
		border-radius: 0 calc(5 * var(--vw-ratio)) calc(5 * var(--vw-ratio)) 0;
	}

	#service-list #consulting.cont .text {
		padding-top: calc(45 * var(--vw-ratio));
		width: calc(450 * var(--vw-ratio));
	}


#service-list #data-analysis.cont {
	width: 42%;
	margin-right: 16%;
}
	#service-list #data-analysis.cont .text {
		margin-bottom: calc(50 * var(--vw-ratio));
	}


#service-list #operation.cont {
	width: 42%;
	margin-top: calc(100 * var(--vw-ratio));
	margin-bottom: calc(150 * var(--vw-ratio));
}
	#service-list #operation.cont .text {
		margin-top: calc(40 * var(--vw-ratio));
	}


#service-list #marketing.cont {
	width: 40%;
	margin-top: calc(100 * var(--vw-ratio));
	margin-left: 5%;
	margin-right: 18%;
}
	#service-list #marketing.cont .text {
		width: 75%;
		margin: 0 auto calc(50 * var(--vw-ratio)) auto;
	}


#service-list #ai-utilization.cont {
	width: 28%;
}
	#service-list #ai-utilization.cont .text {
		margin-top: calc(40 * var(--vw-ratio));
	}
@media screen and (max-width: 767px) {
	#service-list .inner {
		display: block;
	}
		#service-list .cont {
			display: flex !important;
			-ms-flex-wrap: wrap !important;
			flex-wrap: wrap !important;
			width: 100% !important;
			margin: 0 0 calc(60 * var(--vw-ratio)) 0 !important;
		}
		#service-list .cont:nth-last-child(1) {
			margin-bottom: 0 !important;
		}
			#service-list .cont .pht {
				width: 100% !important;
				aspect-ratio: 16 / 9;
				border-radius: calc(5 * var(--vw-ratio)) !important;
				margin: 0 !important;
				order: 1;
			}
				#service-list .cont .pht img {
					width: 100%;
					height: 100%;
					object-fit: cover;
				}

			#service-list .cont .text {
				width: 100% !important;
				padding: calc(25 * var(--vw-ratio)) calc(25 * var(--vw-ratio)) 0 calc(25 * var(--vw-ratio)) !important;
				margin: 0 !important;
				order: 2;
			}
				#service-list .cont .text .ttl {
					font-size: calc(40 * var(--vw-ratio));
					margin-bottom: calc(10 * var(--vw-ratio));
				}
					#service .list .cont .text .ttl span {
						display: none;
					}

				#service-list .cont .text h3 {
					margin-bottom: calc(15 * var(--vw-ratio));
				}

				#service-list .cont .text h4 {
					font-size: calc(26 * var(--vw-ratio));
					margin-bottom: calc(12 * var(--vw-ratio));
				}
					#service-list .cont .text h4 span {
						font-size: calc(16 * var(--vw-ratio));
					}

				#service-list .cont .text .read {
					margin-bottom: calc(25 * var(--vw-ratio));
					line-height: 1.8em;
				}
}




/* overview
--------------------- */
#overview .pht {
	width: calc(600 * var(--vw-ratio));
	margin-left: calc(-60 * var(--vw-ratio));
}
	#overview .flowting {
		border-radius: 0 calc(5 * var(--vw-ratio)) calc(5 * var(--vw-ratio)) 0;
		position: sticky;
		top: calc(130 * var(--vw-ratio));
		left: 0;
	}

#overview .text {
	width: calc(600 * var(--vw-ratio));
}
	#overview .text .cell {
		margin-bottom: calc(80 * var(--vw-ratio));
	}
	#overview .text .cell:nth-last-child(1) {
		margin-bottom: 0;
	}
		#overview .text .cell h2 {
			font-size: calc(32 * var(--vw-ratio));
			font-weight: 700;
			line-height: 1.3em;
			margin-bottom: calc(25 * var(--vw-ratio));
		}
@media screen and (max-width: 767px) {
#overview .inner {
	display: block;
}
	#overview .pht {
		width: -webkit-calc(100% + calc(25 * var(--vw-ratio)));
		width: calc(100% + calc(25 * var(--vw-ratio)));
		margin-left: calc(-25 * var(--vw-ratio));
	}
		#overview .flowting {
			position: relative;
			top: 0;
		}

	#overview .text {
		width: 100%;
		margin-top: calc(50 * var(--vw-ratio));
	}
		#overview .text .cell {
			margin-bottom: calc(50 * var(--vw-ratio));
		}
			#overview .text .cell h2 {
				font-size: calc(24 * var(--vw-ratio));
				line-height: 1.5em;
				margin-bottom: calc(20 * var(--vw-ratio));
			}
}




/* line-list
--------------------- */
.line-list.column4 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	column-gap: calc(50 * var(--vw-ratio));
	row-gap: calc(50 * var(--vw-ratio));
}
.line-list.column3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: calc(50 * var(--vw-ratio));
	row-gap: calc(50 * var(--vw-ratio));
}
	.line-list .box {
		border-top: solid 1px #ddd;
		padding-top: calc(8 * var(--vw-ratio));
		position: relative;
	}
	.line-list .box:before {
		content: "";
		width: calc(20 * var(--vw-ratio));
		height: 1px;
		background: #00053A;
		position: absolute;
		top: -1px;
		left: 0;
	}
		.line-list .box .en {
			font-weight: 400;
			margin-bottom: calc(10 * var(--vw-ratio));
		}

		.line-list .box h3 {
			font-size: calc(22 * var(--vw-ratio));
			font-weight: 700;
			line-height: 1.3em;
			margin-bottom: calc(12 * var(--vw-ratio));
		}

		.line-list .box .txt-14 {
			line-height: 1.8em;
		}
@media screen and (max-width: 767px) {
	.line-list {
		display: block !important;
	}
		.line-list .box {
			margin-bottom: calc(40 * var(--vw-ratio));
		}
		.line-list .box:nth-last-child(1) {
			margin-bottom: 0;
		}
}




/* media
--------------------- */
#media .area .cont {
	width: 47%;
}
	#media .area .cont .ttl {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: calc(20 * var(--vw-ratio));
	}
		#media .area .cont .ttl h3 {
			font-size: calc(24 * var(--vw-ratio));
			font-weight: 700;
			line-height: 1.3em;
		}

	#media .area .cont .list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		column-gap: calc(40 * var(--vw-ratio));
		row-gap: calc(40 * var(--vw-ratio));
	}
		#media .area .cont .list .box h4 {
			display: flex;
			justify-content: center;
			align-items: center;
			height: calc(100 * var(--vw-ratio));
			border-radius: calc(5 * var(--vw-ratio));
			text-align: center;
			margin-bottom: calc(15 * var(--vw-ratio));
		}
@media screen and (max-width: 767px) {
	#media .area {
		display: block;
	}
		#media .area .cont {
			width: 100%;
			border-bottom: solid 1px #DDDFE0;
			margin-bottom: calc(40 * var(--vw-ratio));
			padding-bottom: calc(40 * var(--vw-ratio));
		}
		#media .area .cont:nth-last-child(1) {
			border-bottom: none;
			margin-bottom: 0;
			padding-bottom: 0;
		}
			#media .area .cont .ttl {
				display: block;
				text-align: center;
				margin-bottom: calc(20 * var(--vw-ratio));
			}

			#media .area .cont .list {
				display: block;
			}
				#media .area .cont .list .box {
					margin-bottom: calc(35 * var(--vw-ratio));
				}
				#media .area .cont .list .box:nth-last-child(1) {
					margin-bottom: 0;
				}
					#media .area .cont .list .box h4 {
						height: calc(80 * var(--vw-ratio));
					}
}




/* tools
--------------------- */
#tools .list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: calc(50 * var(--vw-ratio));
	row-gap: calc(50 * var(--vw-ratio));
}
	#tools .list .box h3 {
		display: flex;
		justify-content: center;
		align-items: center;
		height: calc(100 * var(--vw-ratio));
		border-radius: calc(5 * var(--vw-ratio));
		text-align: center;
		margin-bottom: calc(15 * var(--vw-ratio));
	}
@media screen and (max-width: 767px) {
	#tools .list {
		display: block;
	}
		#tools .list .box {
			margin-bottom: calc(35 * var(--vw-ratio));
		}
		#tools .list .box:nth-last-child(1) {
			margin-bottom: 0;
		}
			#tools .list .box h3 {
				height: calc(80 * var(--vw-ratio));
			}
}




/* support
--------------------- */
#support .text-pht {
	border-top: solid 1px #DDDFE0;
	margin-bottom: calc(100 * var(--vw-ratio));
}
	#support .text-pht .title {
		border-top: none;
		width: 42%;
	}
		#support .text-pht .title .read {
			margin-top: calc(40 * var(--vw-ratio));
		}

	#support .text-pht .pht {
		width: 42%;
		margin-top: calc(80 * var(--vw-ratio));
		border-radius: calc(5 * var(--vw-ratio));
	}

#support .vertical-list .box {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	border-bottom: solid 1px #DDDFE0;
	margin-bottom: calc(40 * var(--vw-ratio));
	padding-bottom: calc(40 * var(--vw-ratio));
}
#support .vertical-list .box:nth-last-child(1) {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}
	#support .vertical-list .box .pht {
		width: 15%;
		border-radius: calc(5 * var(--vw-ratio));
		order: 1;
	}

	#support .vertical-list .box .ttl {
		width: 50%;
		padding-left: 3%;
		order: 2;
	}
		#support .vertical-list .box .ttl .en {
			font-size: calc(30 * var(--vw-ratio));
			font-weight: 500;
			line-height: 1.3em;
		}
		#support .vertical-list .box .ttl .txt-16 {
			font-weight: 500;
		}

	#support .vertical-list .box .txt-14 {
		width: 35%;
		order: 3;
	}

#support .beside-list {
	display: grid;
}
#support .beside-list.column3 {
	grid-template-columns: repeat(3, 1fr);
	column-gap: calc(50 * var(--vw-ratio));
	row-gap: calc(50 * var(--vw-ratio));
}
#support .beside-list.column4 {
	grid-template-columns: repeat(4, 1fr);
	column-gap: calc(40 * var(--vw-ratio));
	row-gap: calc(40 * var(--vw-ratio));
}
	#support .beside-list .text {
		padding-top: calc(20 * var(--vw-ratio));
	}
		#support .beside-list .text .en {
			line-height: 1.3em;
			margin-bottom: calc(10 * var(--vw-ratio));
		}
		#support .beside-list .text h3 {
			line-height: 1.3em;
			margin-bottom: calc(12 * var(--vw-ratio));
		}
@media screen and (max-width: 767px) {
	#support .text-pht {
		display: block;
		margin-bottom: calc(60 * var(--vw-ratio));
	}
		#support .text-pht .title {
			width: 100%;
		}
			#support .text-pht .title .read {
				margin-top: calc(20 * var(--vw-ratio));
			}

		#support .text-pht .pht {
			width: 100%;
			margin-top: 0;
		}

	#support .vertical-list .box {
		display: block;
		margin-bottom: calc(30 * var(--vw-ratio));
		padding-bottom: calc(40 * var(--vw-ratio));
	}
		#support .vertical-list .box .pht {
			width: 100%;
		}

		#support .vertical-list .box .ttl {
			width: 100%;
			padding-left: 0;
			margin-bottom: calc(10 * var(--vw-ratio));
		}
			#support .vertical-list .box .ttl .en {
				font-size: calc(26 * var(--vw-ratio));
			}

		#support .vertical-list .box .txt-14 {
			width: 100%;
			margin-bottom: calc(20 * var(--vw-ratio));
		}

	#support .beside-list {
		display: block;
	}
		#support .beside-list .box {
			margin-bottom: calc(40 * var(--vw-ratio));
		}
		#support .beside-list .box:nth-last-child(1) {
			margin-bottom: 0;
		}
}




/* output
--------------------- */
#output {
	overflow: hidden;
}
	#output .textbox .text {
		width: calc(520 * var(--vw-ratio));
	}

	#output .textbox .list {
		width: -webkit-calc(100% - calc(600 * var(--vw-ratio)));
		width: calc(100% - calc(600 * var(--vw-ratio)));
	}
		#output .textbox ul.icon-list {
			margin-right: calc(40 * var(--vw-ratio));
		}
		#output .textbox ul.icon-list:nth-last-child(1) {
			margin-right: 0;
		}

	#output .swiper-container {
		position: relative;
		margin-top: calc(60 * var(--vw-ratio));
		padding-bottom: calc(40 * var(--vw-ratio));
	}
	#output .swiper-container .swiper-pagination {
		bottom: 0;
	}
		#output .swiper-container .swiper-pagination .swiper-pagination-bullet {
			width: 8px;
			height: 8px;
			border-radius: 4px;
			background: #97ABBF;
			border: none;
			opacity: 1;
			transition: 0.3s;
			-webkit-transition: 0.3s;
		}
		#output .swiper-container .swiper-pagination .swiper-pagination-bullet-active {
			width: 22px;
			background: #0D2469;
			opacity: 1;
		}
@media screen and (max-width: 767px) {
	#output .textbox {
		display: block;
	}
		#output .textbox .text {
			width: 100%;
			margin-bottom: calc(15 * var(--vw-ratio));
		}

		#output .textbox .list {
			display: block;
			width: 100%;
		}
			#output .textbox ul.icon-list {
				margin-right: 0;
			}

	#output .swiper-container {
		position: relative;
		margin-top: calc(30 * var(--vw-ratio));
		padding-bottom: calc(40 * var(--vw-ratio));
	}
}


	
	
/* process
--------------------- */
#process .column2 {
	border-top: solid 1px #DDDFE0;
}
	#process .column2 .title {
		width: calc(300 * var(--vw-ratio));
		border-top: none;
		position: sticky;
		top: calc(70 * var(--vw-ratio));
		left: 0;
	}

	#process .column2 .list {
		width: calc(880 * var(--vw-ratio));
		margin-top: calc(80 * var(--vw-ratio));
		position: relative;
	}
	#process .column2 .list:before {
		content: "";
		width: 1px;
		height: 100%;
		background: #00053A;
		position: absolute;
		top: 0;
		left: calc(50 * var(--vw-ratio));
	}
		#process .column2 .list .box {
			display: flex;
			justify-content: flex-start;
			align-items: center;
			padding: calc(20 * var(--vw-ratio)) 0;
			margin-bottom: calc(20 * var(--vw-ratio));
			border: solid 1px #00053A;
			border-radius: calc(5 * var(--vw-ratio));
			position: relative;
		}
		#process .column2 .list .box:nth-last-child(1) {
			margin-bottom: 0;
		}
			#process .column2 .list .box .number {
				width: calc(100 * var(--vw-ratio));
				font-size: calc(25 * var(--vw-ratio));
				text-align: center;
				line-height: 1;
			}
				#process .column2 .list .box .number .txt-12 {
					display: block;
				}

			#process .column2 .list .box dl {
				border-left: solid 1px #ddd;
				padding-left: calc(30 * var(--vw-ratio));
				padding-right: calc(30 * var(--vw-ratio));
			}
				#process .column2 .list .box dl dt {
					font-weight: 700;
					line-height: 1.3em;
					margin-bottom: calc(5 * var(--vw-ratio));
				}
@media screen and (max-width: 767px) {
	#process .column2 {
		display: block;
	}
		#process .column2 .title {
			border-top: none;
			width: 100%;
			position: sticky;
			top: calc(70 * var(--vw-ratio));
			left: 0;
		}

		#process .column2 .list {
			display: block;
			width: 100%;
			margin-top: 0;
		}
			#process .column2 .list .box dl {
				padding-left: calc(20 * var(--vw-ratio));
				padding-right: calc(20 * var(--vw-ratio));
			}
}




/* themes
--------------------- */
#themes .list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: calc(50 * var(--vw-ratio));
	row-gap: calc(50 * var(--vw-ratio));
}
	#themes .list .box {
		padding: calc(40 * var(--vw-ratio));
	}
		#themes .list .box h3 {
			font-weight: 700;
			line-height: 1.3em;
			margin-bottom: calc(15 * var(--vw-ratio));
		}
@media screen and (max-width: 767px) {
	#themes .list {
		display: block;
	}
		#themes .list .box {
			padding: calc(30 * var(--vw-ratio));
			margin-bottom: calc(20 * var(--vw-ratio));
		}
		#themes .list .box:nth-last-child(1) {
			margin-bottom: 0;
		}
			#themes .list .box h3 {
				margin-bottom: calc(12 * var(--vw-ratio));
			}
}




/* coverage
--------------------- */
#coverage .column2 {
	border-top: solid 1px #DDDFE0;
}
	#coverage .column2 .title {
		width: calc(300 * var(--vw-ratio));
		border-top: none;
		position: sticky;
		top: calc(70 * var(--vw-ratio));
		left: 0;
	}

	#coverage .column2 .list {
		width: calc(880 * var(--vw-ratio));
		margin-top: calc(80 * var(--vw-ratio));
	}
		#coverage .column2 .list .box {
			padding: calc(30 * var(--vw-ratio)) calc(40 * var(--vw-ratio));
		}
		#coverage .column2 .list .box:nth-last-child(1) {
			margin-bottom: 0;
		}
			#coverage .column2 .list .box h3 {
				font-weight: 700;
				line-height: 1.3em;
				margin-bottom: calc(15 * var(--vw-ratio));
			}
@media screen and (max-width: 767px) {
	#coverage .column2 {
		display: block;
	}
		#coverage .column2 .title {
			border-top: none;
			width: 100%;
			position: sticky;
			top: calc(70 * var(--vw-ratio));
			left: 0;
		}

		#coverage .column2 .list {
			display: block;
			width: 100%;
			margin-top: 0;
		}
			#coverage .column2 .list .box {
				padding: calc(25 * var(--vw-ratio)) calc(30 * var(--vw-ratio));
			}
				#coverage .column2 .list .box h3 {
					margin-bottom: calc(12 * var(--vw-ratio));
				}
}










































