@charset "UTF-8";

/* KV */
#kv {
	width: 100%;
	height: 80vh;
	min-height: 550px;
	margin: 0 auto;
	padding: 0 0 5%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: url(../images/contents/kv_bg_sp.jpg) center bottom / cover no-repeat;
	position: relative;
}
	#kv h2 {
		width: 100%;
		margin: 0 auto;
		padding: 0 3%;
	}
		#kv h2 span {
			display: block;
			margin: 0;
			padding: 0;
			font-size: 7.4vw;
			line-height: 160%;
			font-weight: var(--weight-extrabold1);
			color: #16334f;
			text-align: left;
			text-shadow:0 0 10px #fff,
				0 0 15px #fff;
		}
	#kv h3 {
		width: 100%;
		margin: 0 auto;
		padding: 0 0 10px;
	}
		#kv h3 span {
			display: block;
			margin: 0.5em 0 0;
			padding: 0 3% 0 calc(3% + 1.2em);
			font-size: 4.0vw;
			line-height: 160%;
			font-weight: var(--weight-bold2);
			color: #009e95;
			font-family: "Roboto", sans-serif;
			text-align: left;
			text-indent: -1.2em;
			text-shadow:0 0 10px #fff,
				0 0 15px #fff;
		}


/* 共通 */
div.cont_ttl {
	padding: 0;
	position: relative;
	z-index: 1;
}
	div.cont_ttl h3.ttl_en {
		position: absolute;
		margin: 0;
		padding: 0 5%;
		font-size: 10.8vw;
		line-height: 100%;
		font-weight: var(--weight-extrabold1);
		color: rgba(0,158,149,0.07);
		font-family: "Roboto", sans-serif;
		font-style: italic;
		white-space: nowrap;
		top: -0.5em;
	}
	div.cont_ttl h2.ttl_jp {
		margin: 1em 0 0;
		padding: 0;
		font-size: 5.4vw;
		line-height: 120%;
		font-weight: var(--weight-extrabold1);
		color: #16334f;
		text-shadow:0 0 10px #fff,
			0 0 15px #fff,
			0 0 15px #fff,
			0 0 15px #fff;
		position: relative;
		z-index: 1;
	}
div.contents_in {
	width: 100%;
	margin: 0 auto;
	padding: 0 4%;
}
div.txt_cont {
	margin: 10% 0 0;
	padding: 0 5%;
	text-align: left;
}
	div.txt_cont p {
		margin: 3% auto 0;
	}
div.contents_cont {
	margin: 10% auto 0;
	padding: 0;
}

/* メッセージ */
#mission {
	margin: 0 auto;
	padding: 0;
	background: #16334f;
	position: relative;
}
	#mission:after {
		position: absolute;
		content: '';
		display: block;
		width: 100%;
		height: 7em;
		margin: 0;
		padding: 0;
		background: url(../images/contents/concept_btm_sp.png) right bottom / cover no-repeat;
		left: 0;
		bottom: 0;
	}
	#mission div {
		margin: 0 auto;
		padding: 5% 3% 4em;
		text-align: left;
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		z-index: 1;
	}
		#mission div h2 {
			position: absolute;
			margin: 0;
			padding: 0 3%;
			font-size: 10.6vw;
			line-height: 100%;
			color: rgba(255,255,255,0.3);
			font-family: "Roboto", sans-serif;
			font-weight: var(--weight-bold2);
			top: -1em;
			right: 0;
		}
		#mission div h3 {
			margin: 0;
			padding: 0;
			font-size: 4.8vw;
			line-height: 160%;
			color: rgba(255,255,255,0.3);
			font-weight: var(--weight-bold2);
			text-align: right;
		}
		#mission div h4 {
			margin: 1em 0 0;
			padding: 0;
			color: #fff;
			font-weight: var(--weight-nomal);
		}
			#mission div h4 p {
				margin: 0;
				padding: 0;
				font-size: 3.7vw;
				line-height: 180%;
			}

/* 事業概要 */
#business {
	margin: 0 auto;
	padding: 10% 0 15%;
}
	#business div.cont_ttl {
		margin: 0 auto;
	}
		#business div.cont_ttl h3.ttl_en {
			margin: 0 auto;
			left: 50%;
			transform: translateX(-50%);
			-webkit- transform: translateX(-50%);
		}
		#business div.cont_ttl h4 {
			margin: 1em auto 0;
			padding: 0;
			font-size: 3.8vw;
			line-height: 160%;
			font-weight: var(--weight-bold1);
			color: #16334f;
		}
	#business ul {
		margin: 0 auto;
		padding: 3% 0 0;
		list-style: none;
	}
		#business ul li {
			width: 100%;
			margin: 5% 0 0;
			padding: 0;
		}
			#business ul li div.txt {
				width: 100%;
				margin: 0;
				padding: 0.8em 0;
				background: #fff;
			}
				#business ul li div.txt h4 {
					margin: 0 auto;
					padding: 0;
					font-size: 5.0vw;
					line-height: 160%;
					font-weight: var(--weight-bold1);
					color: #16334f;
				}
					#business ul li div.txt h4 small {
						display: block;
						margin: 0 auto;
						padding: 0;
						font-size: 3.2vw;
						line-height: 160%;
						font-weight: var(--weight-nomal);
						color: #009e95;
						letter-spacing: 0.1em;
						font-family: "Roboto", sans-serif;
					}
				#business ul li div.txt p {
					margin: 0.5em 0 0;
					padding: 0 3%;
					text-align: left;
				}
			#business ul li div.img {
				width: 100%;
				margin: 0;
				padding: 0;
			}
				#business ul li div.img img {
					width: 100%;
					height: 14em;
					object-fit: cover;
				}

/* 会社概要 */
#company {
	margin: 0 auto;
	padding: 10% 0 5%;
	background: url(../images/contents/company_bg_sp.jpg) center / cover no-repeat;
}
	#company div.cont_ttl {
		margin: 0 auto;
		text-align: right;
	}
		#company div.cont_ttl h3.ttl_en {
			margin: 0;
			right: -0.5em;
		}
		#company div.cont_ttl h2.ttl_jp {
			padding-right: 1em;
		}
	#company div.contents_cont {
		margin: 5% auto 0;
		padding: 5% 3% 5%;
		background: rgba(255,255,255,0.67);
	}
		#company div.contents_cont dl {
			border-bottom: 1px solid #16334f;
			}
				#company div.contents_cont dl dt {
					width: 100%;
					margin: 0;
					padding: 0.5em 0 0;
					text-align: left;
					border-top: 1px solid #16334f;
				}
					#company div.contents_cont dl dt:first-of-type {
						padding-top: 0;
						border-top: none;
					}
				#company div.contents_cont dl dd {
					width: 100%;
					margin: 0;
					padding: 0 0 0.5em 0.5em;
					text-align: left;
				}
					#company div.contents_cont dl dd p {
						margin: 1em 0 0;
						padding: 0;
					}
						#company div.contents_cont dl dt:first-of-type, #company div.contents_cont dl dd p:first-of-type {
							margin-top: 0;
						}
						#company div.contents_cont dl dd p span {
							display: block;
							margin: 0.5em 0 0;
							font-weight: var(--weight-bold1);
							font-style: italic;
						}
						#company div.contents_cont dl dd p small {
							display: block;
							margin: 0.3em 0 0;
							font-size: 3.3vw;
							line-height: 160%;
						}
		#company div.contents_cont h5 {
			margin: 1.5em auto 0;
			padding: 0;
			font-weight: var(--weight-bold2);
		}
		#company div.contents_cont div.gmap {
			width: 100%;
			height: 25em;
			margin: 0.3em auto 0.5em;
			padding: 0;
			position: relative;
		}
			#company div.contents_cont div.gmap:last-of-type {
				margin-bottom: 0;
			}
			#company div.contents_cont div.gmap iframe {
				position: absolute;
				width: 100%;
				height: 100%;
				margin: 0;
				padding: 0;
				top: 0;
				left: 0;
			}

/* お問い合わせ */
#contact {
	margin: 0 auto;
	padding: 10% 0 2%;
}
	#contact div.cont_ttl {
		margin: 0 auto;
		text-align: left;
	}
		#contact div.cont_ttl h3.ttl_en {
			margin: 0;
			left: -0.5em;
		}
		#contact div.cont_ttl h2.ttl_jp {
			padding-left: 1em;
		}

	#contact div.contact_cont {
		margin: 5% auto 0;
		padding: 1em 5%;
		background: #fff;
	}
		#contact div.contact_cont h4 {
			margin: 0 auto;
			padding: 0;
			font-size: 4.2vw;
			line-height: 160%;
			font-weight: var(--weight-bold1);
		}
		#contact div.contact_cont div.contact_box {
			margin: 0 auto;
			padding: 3% 0 0;
		}
			#contact div.contact_cont div.contact_box div {
				margin: 5% auto 0;
				padding: 0;
			}
				#contact div.contact_cont div.contact_box div h5 {
					margin: 0 auto;
					padding: 0;
					font-size: 4.0vw;
					line-height: 160%;
					font-weight: var(--weight-bold1);
				}
				#contact div.contact_cont div.contact_box div h6 {
					margin: 0 auto;
					padding: 0;
					font-size: 6.2vw;
					line-height: 160%;
					font-weight: var(--weight-bold2);
				}
					#contact div.contact_cont div.contact_box div h6 a {
						margin: 0 auto;
						padding: 0;
						color: #16334f;
						text-decoration: none;
						font-family: "Roboto", sans-serif;
						display: flex;
						justify-content: center;
						align-items: center;
					}
						#contact div.contact_cont div.contact_box div h6 a img {
							display: inline-block;
							width: 1.1em;
							height: auto;
							margin: 0.1em 0.2em 0 0;
						}
				#contact div.contact_cont div.contact_box div p {
					margin: 0 auto;
					padding: 0;
					font-size: 3.4vw;
					line-height: 160%;
				}
	#contact #copy {
		width: 100%;
		margin: 8% auto 0;
		padding: 1.0em;
		font-size: 3.2vw;
		line-height: 180%;
		font-family: "Roboto", sans-serif;
		color: #fff;
		background: #16334f;
	}

