@charset "UTF-8";


	
	
/* top-title
--------------------- */
.top-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 50px;
}
	.top-title h2 {
		font-size: 3.0rem;
		font-weight: 700;
		line-height: 1;
	}

	.top-title .jp {
		font-size: 1.4rem;
		font-weight: 500;
		line-height: 1;
	}
@media screen and (max-width: 1024px) {
	.top-title {
		margin-bottom: 30px;
	}
}
@media screen and (max-width: 768px) {
	.top-title h2 {
		font-size: 2.8rem;
	}

	.top-title .jp {
		font-size: 1.2rem;
	}
}


	
	
/* keyword
--------------------- */
#keyword .row.flex-start .text {
	width: 47.5%;
}
#keyword .row.keyword03 .text {
	order: 2;
}
#keyword .row .pht {
	width: 47.5%;
}
#keyword .row.keyword03 .pht {
	order: 1;
}
	#keyword .row .pht img {
		border-radius: 5px;
	}

	#keyword .row .pht-list {
		margin-top: 30px;
	}
		#keyword .row .pht-list li {
			width: 31.5%;
		}
			#keyword .row .pht-list li img {
				border-radius: 5px;
			}
			#keyword .row .pht-list li .txt {
				margin-top: 10px;
			}

	#keyword .row .pht-list-border {
		margin-top: 30px;
	}
		#keyword .row .pht-list-border li {
			width: 48%;
			border-radius: 5px;
			overflow: hidden;
			border: solid 1px #ddd;
		}
@media screen and (max-width: 1024px) {
	#keyword .row.flex-start {
		display: block;
	}
		#keyword .row.flex-start .text {
			width: 100%;
			margin-bottom: 25px;
		}

		#keyword .row .pht {
			width: 100%;
		}
	
		#keyword .row .pht-list {
			margin-top: 25px;
		}
			#keyword .row .pht-list li {
				width: 31.5%;
			}

		#keyword .row .pht-list-border {
			margin-top: 25px;
		}
}
@media screen and (max-width: 768px) {
	#keyword .row .pht-list {
		display: block;
	}
		#keyword .row .pht-list li {
			width: 100%;
			margin-bottom: 15px;
		}
		#keyword .row .pht-list li:nth-last-child(1) {
			margin-bottom: 0;
		}

	#keyword .row .pht-list-border {
		display: block;
	}
		#keyword .row .pht-list-border li {
			width: 100%;
			margin-bottom: 15px;
		}
		#keyword .row .pht-list-border li:nth-last-child(1) {
			margin-bottom: 0;
		}
}


	
	
/* next-content
--------------------- */
#next-content {
	position: relative;
}
	#next-content #waveCanvas {
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}

	#next-content .list a.linkbox {
		overflow: hidden;
	}
		#next-content .list a.linkbox {
			display: block;
			width: 48%;
		}
			#next-content .list a.linkbox h3 {
				margin-top: 20px;
				margin-bottom: 12px;
				font-size: 2.0rem;
				font-weight: 500;
				line-height: 1.3em;
			}
@media screen and (max-width: 1024px) {
	#next-content .list a.linkbox h3 {
		font-size: 1.8rem;
	}
}
@media screen and (max-width: 768px) {
	#next-content .list {
		display: block;
	}
		#next-content .list a.linkbox {
			width: 100%;
			margin-bottom: 30px;
		}
		#next-content .list a.linkbox:nth-last-child(1) {
			margin-bottom: 0;
		}
			#next-content .list a.linkbox h3 {
				font-size: 1.6rem;
				margin-top: 17px;
			}
}


	
	
/* business
--------------------- */
#business {
	background: url("../../common/img/bg-white.png") no-repeat center top / 100%;
}
	#business #frag1 {
		position: relative;
	}
	#business #frag1:before {
		content: "";
		width: 100vw;
		height: 100%;
		background: linear-gradient( 90deg, #FFFFFF 10%, #D1E4F5 100%);
		position: absolute;
		top: 0;
		right: -4.95vw;
		z-index: -2;
	}
	#business #frag1:after {
		content: "";
		width: 100vw;
		height: 100%;
		background: url("../../common/img/bg-gr.png") no-repeat center top / cover;
		position: absolute;
		top: 0;
		right: -4.95vw;
		z-index: -1;
	}
		#business .set .work {
			margin-top: 30px;
			margin-bottom: 50px;
		}
		#business .set .work.border {
			border: solid 1px #ddd;
			border-radius: 5px;
			padding: 30px 50px;
		}

		#business .set .cell {
			display: flex;
			justify-content: flex-start;
			align-items: flex-start;
			padding-bottom: 30px;
			margin-bottom: 40px;
			border-bottom: dashed 1px #ddd;
		}
		#business #frag1 .cell {
			border-bottom: dashed 1px #fff;
		}
		#business .set .cell:nth-last-child(1),
		#business #frag1 .cell:nth-last-child(1) {
			padding-bottom: 0;
			margin-bottom: 0;
			border-bottom: none;
		}
			#business .set .cell .pht {
				width: 230px;
			}
				#business .set .cell .pht img {
					border-radius: 5px;
				}

			#business .set .cell .text {
				width: -webkit-calc(100% - 230px);
				width: calc(100% - 230px);
				padding-left: 30px;
			}
				#business .set .cell .text h3 {
					font-size: 2.6rem;
					font-weight: 700;
					line-height: 1.3em;
					margin-bottom: 10px;
				}

				#business .set .cell .text h4 {
					font-size: 2.0rem;
					font-weight: 700;
					line-height: 1.3em;
					margin-bottom: 6px;
					margin-top: 15px;
				}
@media screen and (max-width: 1024px) {
	#business #frag1:after {
		background: url("../../common/img/bg-gr.png") no-repeat center top / 100%;
	}
		#business .set .work {
			margin-top: 20px;
			margin-bottom: 40px;
		}
		#business .set .work.border {
			padding: 20px;
		}

		#business .set .cell {
			padding-bottom: 22px;
			margin-bottom: 30px;
		}
			#business .set .cell .pht {
				width: 160px;
			}

			#business .set .cell .text {
				width: -webkit-calc(100% - 160px);
				width: calc(100% - 160px);
				padding-left: 20px;
			}
				#business .set .cell .text h3 {
					font-size: 2.2rem;
				}

				#business .set .cell .text h4 {
					font-size: 1.7rem;
					margin-bottom: 4px;
					margin-top: 12px;
				}
}
@media screen and (max-width: 768px) {
	#business {
		overflow: hidden;
	}
		#business #frag1:before {
			width: 116%;
			right: auto;
			left: -8%;
		}
		#business #frag1:after {
			width: 116%;
			background: url("../../common/img/bg-gr.png") no-repeat left 40% top 5% / 150%;
			right: auto;
			left: -8%;
		}
			#business .set .cell {
				display: block;
				padding-bottom: 22px;
				margin-bottom: 30px;
			}
				#business .set .cell .pht {
					width: 100%;
				}

				#business .set .cell .text {
					width: 100%;
					padding-left: 0;
					margin-top: 20px;
				}
					#business .set .cell .text h3 {
						font-size: 2.0rem;
					}

					#business .set .cell .text h4 {
						font-size: 1.6rem;
					}
}


	
	
/* message-top
--------------------- */
#message-top {
	width: 100%;
	margin-top: 130px;
}
	#message-top .pht {
		width: 100%;
		height: 100%;
		aspect-ratio: 16 / 8;
		position: relative;
	}
	#message-top .pht:before {
		content: "";
		width: 100%;
		height: 100%;
		background: url("../img/message/title_en.svg") no-repeat right 2% center / auto 95%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
	}
		#message-top .pht img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}

	#message-top .inner_900 {
		max-width: 900px;
		margin: 0 auto;
		position: relative;
	}
		#message-top .inner_900 h1 {
			font-size: 3.4rem;
			font-weight: 700;
			line-height: 1.7em;
			color: #FFF;
			position: absolute;
			bottom: -30px;
			left: 0;
		}
			#message-top .inner_900 h1 span {
				display: inline-block;
				background: #0962A8;
				line-height: 1;
				padding: 10px 5px 4px 5px;
			}
@media screen and (max-width: 1024px) {
	#message-top {
		margin-top: 90px;
	}
		#message-top .pht {
			aspect-ratio: 16 / 10;
		}

		#message-top .inner_900 {
			max-width: 100%;
			padding: 0 7%;
		}
			#message-top .inner_900 h1 {
				font-size: 2.8rem;
				bottom: -25px;
				left: 7%;
			}
}
@media screen and (max-width: 768px) {
	#message-top {
		margin-top: 70px;
	}
		#message-top .pht {
			aspect-ratio: 1 / 1;
		}
		#message-top .pht img {
			object-position: 25% 50%;
		}

		#message-top .inner_900 h1 {
			font-size: 2.0rem;
			line-height: 1.9em;
			bottom: -19px;
			left: 0;
		}
			#message-top .inner_900 h1 span {
				padding: 8px 5px 5px 5px;
			}
}


	
	
/* message-conts
--------------------- */
#message-conts .inner_900 {
	max-width: 900px;
	margin: 0 auto;
	padding-top: 80px;
	padding-bottom: 120px;
	position: relative;
}
	#message-conts .inner_900 h3 {
		font-size: 2.6rem;
		font-weight: 700;
		line-height: 1.1em;
		margin-bottom: 30px;
	}
		#message-conts .inner_900 h3 span {
			font-size: 1.6rem;
			font-weight: 500;
		}

	#message-conts .inner_900 .txt {
		margin-bottom: 25px;
	}

	#message-conts .inner_900 .pht {
		margin-top: 40px;
		border-radius: 5px;
	}
@media screen and (max-width: 1024px) {
	#message-conts .inner_900 {
		max-width: 100%;
		padding: 70px 7% 90px 7%;
	}
		#message-conts .inner_900 h3 {
			font-size: 2.4rem;
			margin-bottom: 25px;
		}
			#message-conts .inner_900 h3 span {
				font-size: 1.5rem;
			}

		#message-conts .inner_900 .txt {
			margin-bottom: 20px;
		}

		#message-conts .inner_900 .pht {
			margin-top: 35px;
		}
}
@media screen and (max-width: 768px) {
	#message-conts .inner_900 {
		max-width: 100%;
		padding: 50px 7% 70px 7%;
	}
		#message-conts .inner_900 h3 {
			width: 90px;
		}
}


	
	


	
	


	
	


	
	


	
	
