@charset "utf-8";
/* ====================================================================================================

	css/top.css

==================================================================================================== */

/* ----------------------------------------------------------------------------------------------------
	news
---------------------------------------------------------------------------------------------------- */
#news {
	position:relative;
	top:-144px;
	width:100%;
	max-width:1200px;
	background:#ffffff;
	box-shadow:16px 5px 10px rgba(0,0,0,0.03);
	margin:0 auto -70px auto;
	transition:none;
	}
	#news .inner {
		position:relative;
		padding:clamp(30px,4.687vw,40px) clamp(30px,4.687vw,60px) clamp(30px,4.687vw,25px) clamp(30px,4.687vw,60px);
		}
		#news .inner h2 {
			position:static !important;
			display:inline-block !important;
			width:auto !important;
			height:auto !important;
			font-size:42px !important;
			font-family:Montserrat !important;
			font-weight:500 !important;
			text-align:left !important;
			line-height:1 !important;
			letter-spacing:clamp(0.1px,0.015vw,2px) !important;
			background:-webkit-linear-gradient(160deg,#3393df,#1e48b8) !important;
			background:-o-linear-gradient(160deg,#3393df,#1e48b8) !important;
			background:linear-gradient(160deg,#3393df,#1e48b8) !important;
			-webkit-background-clip:text !important;
			-webkit-text-fill-color:transparent !important;
			margin:0 0 15px 0 !important;
			}
		#news .inner ul {
			display:flex;
			flex-direction:column;
			list-style:none;
			}
			#news .inner ul li {
				width:100%;
				text-align:left;
				border-top:1px solid #e4e4e4;
				}
			#news .inner ul li:nth-of-type(1) {
				border:none;
				}
				#news .inner ul li a {
					position:relative;
					display:flex;
					flex-wrap:nowrap;
					align-items:flex-start;
					gap:20px;
					padding:20px 35px 20px 0;
					}
				#news .inner ul li a::after {
					content:"";
					position:absolute;
					top:0;
					right:10px;
					bottom:0;
					width:12px;
					height:12px;
					border-top:2px solid #0c6cb8;
					border-right:2px solid #0c6cb8;
					margin:auto;
					-webkit-transform:rotate(45deg);
					transform:rotate(45deg);
					transition:all 0.4s ease-in-out;
					}
				#news .inner ul li a:hover {
					color:#1068bf;
					}
				#news .inner ul li a:hover::after {
					right:2px;
					}
					#news .inner ul li a time {
						display:inline-block;
						flex-basis:95px;
						flex-shrink:0;
						width:95px;
						font-family:Montserrat;
						font-weight:600;
						}
					#news .inner ul li a:hover time {
						color:var(--black);
						}
					#news .inner ul li a p {
						display:-webkit-box;
						-webkit-box-orient:vertical;
						-webkit-line-clamp:3;
						overflow:hidden;
						}
		#news .inner .pagelink {
			position:absolute;
			top:clamp(32px,5vw,45px);
			right:clamp(30px,4.687vw,60px);
			}

@media screen and (max-width:1260px) {
#news {
	width:100%;
	transition:none;
	}
}

@media screen and (max-width:800px) {
		#news .inner h2 {
			font-size:clamp(30px,4.687vw,42px) !important;
			margin:0 0 clamp(0.1px,0.015vw,15px) 0 !important;
			}
}

@media screen and (max-width:640px) {
		#news .inner h2 {
			margin:0 !important;
			}
				#news .inner ul li a {
					flex-direction:column;
					gap:5px;
					}
					#news .inner ul li a time {
						flex-basis:auto;
						flex-shrink:0;
						width:100%;
						}
}


/* ----------------------------------------------------------------------------------------------------
	business_activities
---------------------------------------------------------------------------------------------------- */
#business_activities {
	margin:0;
	}
	#business_activities .inner {
		width:100% !important;
		max-width:initial !important;
		}
		#business_activities .inner ul {
			display:flex;
			flex-wrap:wrap;
			list-style:none;
			}
			#business_activities .inner ul li {
				width:50%;
				}
			#business_activities .inner ul li:nth-of-type(3) {
				width:100%;
				}
				#business_activities .inner ul li dl {
					position:relative;
					display:flex;
					flex-direction:column;
					width:100%;
					height:100%;
					color:#fffcfd;
					text-align:left;
					padding:100px 50px 85px 50px;
					}
				#business_activities .inner ul li dl::after {
					content:"";
					position:absolute;
					top:0;
					left:0;
					display:block;
					width:100%;
					height:100%;
					background:#214159;
					mix-blend-mode:multiply;
					opacity:0.6;
					z-index:111;
					}
				#business_activities .inner ul li:nth-of-type(1) dl { background:transparent url('../image/contents/top/business_activities_bg01.jpg') center center / cover no-repeat; }
				#business_activities .inner ul li:nth-of-type(2) dl { background:transparent url('../image/contents/top/business_activities_bg02.jpg') center center / cover no-repeat; }
				#business_activities .inner ul li:nth-of-type(3) dl { background:transparent url('../image/contents/top/business_activities_bg03.jpg') center center / cover no-repeat; }
					#business_activities .inner ul li dl dt {
						position:relative;
						font-size:32px;
						font-weight:700;
						line-height:1;
						letter-spacing:1px;
						z-index:211;
						}
					#business_activities .inner ul li dl dd {
						position:relative;
						flex:1;
						margin:35px 0 0 0;
						padding:0 0 100px 0;
						z-index:211;
						}
						#business_activities .inner ul li dl dd p:not(.button) {
							font-weight:400;
							letter-spacing:1px;
							word-break:keep-all;
							}
						#business_activities .inner ul li dl dd p.button {
							position:absolute;
							right:0;
							bottom:0;
							left:0;
							margin:0 auto;
							}

@media screen and (max-width:1260px) {
#business_activities {
	margin:0 -30px;
	}
		#business_activities .inner ul {
			display:block;
			}
			#business_activities .inner ul li {
				width:100%;
				transition:none;
				}
				#business_activities .inner ul li dl {
					padding:100px 30px 85px 30px;
					}
}

@media screen and (max-width:640px) {
#business_activities {
	margin:0 -20px;
	}
}

#business_activities.thumnailed {
	padding-left: 50px;
	padding-right: 50px;
}

#business_activities.thumnailed:after {
	display: block;
	float: none;
	clear: both;
	content: "";
}

.business_activities-list-primary {
	width: calc(100% + 30px);
}

.business_activities-list-primary .list {
	width: calc(33.333% - 30px);
	margin-right: 30px;
	margin-bottom: 30px;
	float: left;
	position: relative;
	padding-bottom: 100px;
}

@media screen and (max-width:1000px) {
	.business_activities-list-primary {
		width: 100%;
	}
	.business_activities-list-primary .list {
		width: 100%;
		margin-left: left;
		margin-right: auto;
		margin-bottom: 50px;
		float: none;
	}
}

.business_activities-list-primary .list .thum {
	width: 100%;
	height: 300px;
	display: block;
	object-fit: cover;
	margin-bottom: 30px;
}

.business_activities-list-primary .list .thum img {
	width: 100%;
	height: 300px;
	display: block;
	margin-left: auto;
	margin-right: auto;
	object-fit: cover;
}

.business_activities-list-primary .list h3 {
	text-align: left;
	font-size: 28px;
	margin-bottom: 15px;
}

.business_activities-list-primary .list .button {
	position: absolute;
	bottom: 0;
	left: 0;
}

/* ----------------------------------------------------------------------------------------------------
	introducing_achievements
---------------------------------------------------------------------------------------------------- */
#introducing_achievements {
	position:relative;
	background:#f5f7f6;
	margin:80px 0 0 0;
	padding:80px 0 60px 0;
	overflow:hidden;
	transition:none;
	}
#introducing_achievements::before {
	content:"";
	position:absolute;
	inset:0;
	display:block;
	width:calc(100vw + 1346px);
	height:100%;
	background-image:linear-gradient(-19.5deg,#0066b0 0%,#0066b0 50%,#f5f7f6 50.05%,#f5f7f6 100%);
	background-position:right -673px top;
	margin:0 -673px;
	transition:none;
	z-index:111;
	}
	#introducing_achievements .inner {
		position:relative;
		z-index:122;
		transition:none;
		}
			#introducing_achievements .inner h2 i {
				background:-webkit-linear-gradient(180deg,#e5ecf4,#e5e9f2) !important;
				background:-o-linear-gradient(180deg,#e5ecf4,#e5e9f2) !important;
				background:linear-gradient(180deg,#e5ecf4,#e5e9f2) !important;
				-webkit-background-clip:text !important;
				-webkit-text-fill-color:transparent !important;
				transition:none;
				}
		#introducing_achievements .inner ul {
			display:flex;
			gap:40px;
			list-style:none;
			transition:none;
			}
			#introducing_achievements .inner ul li {
				width:calc((100% - 80px) / 3);
				background:#ffffff;
				transition:none;
				}
				#introducing_achievements .inner ul li a {
					display:block;
					border:2px solid transparent;
					transition:none;
					}
				#introducing_achievements .inner ul li a:hover {
					/*
					display:block;
					border:2px solid #0065a7;
					*/
					}
					#introducing_achievements .inner ul li a figure {
						display:flex;
						flex-direction:column;
						gap:10px;
						padding:26px;
						transition:none;
						}
						#introducing_achievements .inner ul li a figure div {
							position:relative;
							aspect-ratio:53 / 30;
							background:#ffffff;
							overflow:hidden;
							transition:none;
							}
						#introducing_achievements .inner ul li a figure div::after {
							content:"詳細を見る";
							position:absolute;
							inset:0;
							display:flex;
							justify-content:center;
							align-items:center;
							color:#ffffff;
							font-weight:300;
							letter-spacing:1px;
							background:rgba(32,32,32,0.6);
							margin:auto;
							opacity:0;
							transition:all 0.4s ease-in-out;
							}
						#introducing_achievements .inner ul li a:hover figure div::after {
							opacity:1;
							}
							#introducing_achievements .inner ul li a figure div img {
								position:absolute;
								inset:0;
								width:100%;
								height:100%;
								object-fit:cover;
								transition:all 0.5s 0s ease;
								}
							#introducing_achievements .inner ul li a:hover figure div img {
								transform:scale(1.3,1.3);
								transition:all 0.5s 0s ease;
								}
						#introducing_achievements .inner ul li a figure figcaption {
							margin:0;
							transition:none;
							}
							#introducing_achievements .inner ul li a figure figcaption dl {
								transition:none;
								}
								#introducing_achievements .inner ul li a figure figcaption dl dt {
									color:#1068bf;
									font-size:18px;
									font-weight:bold;
									letter-spacing:1px;
									padding:0 0 5px 0;
									transition:none;
									}
								#introducing_achievements .inner ul li a figure figcaption dl dd {
									display:-webkit-box;
									-webkit-box-orient:vertical;
									-webkit-line-clamp:3;
									overflow:hidden;
									transition:none;
									}
								#introducing_achievements .inner ul li a:hover figure figcaption dl dd {
									color:#1068bf;
									}

@media screen and (max-width:1260px) {
#introducing_achievements {
	margin:80px -30px 0 -30px;
	}
	#introducing_achievements .inner {
		padding:0 30px;
		}
}

@media screen and (max-width:1040px) {
		#introducing_achievements .inner ul {
			flex-direction:column;
			gap:20px;
			}
			#introducing_achievements .inner ul li {
				width:100%;
				}
					#introducing_achievements .inner ul li a figure {
						display:flex;
						flex-direction:row;
						gap:20px;
						padding:20px;
						}
						#introducing_achievements .inner ul li a figure div {
							flex-shrink:0;
							width:150px;
							height:112px;
							}
						#introducing_achievements .inner ul li a figure figcaption {
							margin:0;
							}
}

@media screen and (max-width:640px) {
#introducing_achievements {
	margin:80px -20px 0 -20px;
	}
	#introducing_achievements .inner {
		padding:0 20px;
		}
					#introducing_achievements .inner ul li a figure {
						flex-direction:column;
						gap:10px;
						}
						#introducing_achievements .inner ul li a figure div {
							width:100%;
							height:auto;
							}
						#introducing_achievements .inner ul li a figure div::after {
							content:"詳細を見る";
							position:absolute;
							inset:0;
							display:flex;
							justify-content:center;
							align-items:center;
							color:#ffffff;
							font-weight:300;
							letter-spacing:1px;
							background:rgba(32,32,32,0.6);
							margin:auto;
							opacity:0;
							transition:all 0.4s ease-in-out;
							}
						#introducing_achievements .inner ul li a:hover figure div::after {
							opacity:1;
							}
							#introducing_achievements .inner ul li a figure div img {
								position:absolute;
								top:0;
								right:0;
								bottom:0;
								left:0;
								width:100%;
								height:100%;
								object-fit:cover;
								transition:all 0.5s 0s ease;
								}
							#introducing_achievements .inner ul li a:hover figure div img {
								transform:scale(1.3,1.3);
								transition:all 0.5s 0s ease;
								}
						#introducing_achievements .inner ul li a figure figcaption {
							margin:0;
							}
							#introducing_achievements .inner ul li a figure figcaption dl {
								}
								#introducing_achievements .inner ul li a figure figcaption dl dt {
									color:#1068bf;
									font-size:18px;
									font-weight:bold;
									letter-spacing:1px;
									padding:0 0 5px 0;
									}
								#introducing_achievements .inner ul li a figure figcaption dl dd {
									display:-webkit-box;
									-webkit-box-orient:vertical;
									-webkit-line-clamp:3;
									overflow:hidden;
									}
								#introducing_achievements .inner ul li a:hover figure figcaption dl dd {
									color:#1068bf;
									}
}

