@charset "utf-8";
/* CSS Document */

html{font-size:62.5%;}
body{
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "游ゴシック", YuGothic, sans-serif;
	font-size:1.38em;
	line-height:2;
	color:#333333;
}

.onlyPC { display:block !important; }
.onlySP { display:none !important; }
@media screen and (max-width: 750px){
	.onlyPC { display:none !important; }
	.onlySP { display:block !important; }
}


/* ============================================ */
/*
==		共通部分（ヘッダメニュー）
*/
/* ============================================ */
header {
	position:relative;
	position:fixed;
	display:block;
	width:100%;
	margin:0 auto;
	background:#ffffff;
	box-shadow:2px 2px 4px grey;
	z-index:100;
}
body#home header {
	position:fixed;
	display:block;
	width:100%;
	margin:0 auto;
	background:none;
	box-shadow:0 0 0;
	z-index:100;
}
body#home header.hbl { background:rgba(0,0,0,0.8); }
body#home header.hba { background:none; }
	header nav {
		position:relative;
		display:block;
		width:90%;
		max-width:880px;
		margin:0 auto;
		padding:28px 0;
		top:0;
		right:0;
	}
		header nav h1 {
			position:absolute;
			display:block;
			top:20px;
			left:0;
			z-index:10;
		}
		header nav ul {
			position:relative;
			display:flex;
			justify-content:flex-end;
			padding:0;
		}
			body header nav ul li {
				padding:0 1.8rem;
				border-right:solid 1px #333333; 
				color:#333333;
				font-size:1.4rem;
				line-height:1.0;
			}
			body#home header nav ul li {
				padding:0 1.8rem;
				border-right:solid 1px #ffffff; 
				color:#ffffff;
				font-size:1.4rem;
				line-height:1.0;
			}
			header nav ul li:last-of-type { border-right:none; }
				header nav ul li a {
					color:#333333;
					text-decoration:none;
					border-bottom:none;
				}
				header nav ul li a:hover {
					color:#333333;
					text-decoration:none;
					border-bottom:solid 1px #87bc1f;
				}
				body#home header nav ul li a {
					color:#ffffff;
					text-decoration:none;
					border-bottom:none;
				}
				body#home header nav ul li a:hover {
					color:#ffffff;
					text-decoration:none;
					border-bottom:solid 1px #87bc1f;
				}
	#navToggle { display:none; }

/* タブレットサイズ */
@media screen and (max-width: 1000px){
		header h1 { top:2.0vw 0; }
		header nav { padding:2.8vw 0; }
}

/* モバイルサイズ */
@media screen and (max-width: 750px){
	header nav {
		position:fixed;
		width:100%;
		height:100%;
		margin:0 auto;
		padding:0;
		top:0;
		left:0;
		background-image:none;
		background-color:rgba(145,145,145,0.6);
		background-size:100% auto;
		-moz-transform: translateY(-2000px);
		-webkit-transform: translateY(-2000px);
		transform: translateY(-2000px);
		z-index:100;
	}
		header nav h1 {
			position:relative;
			display:block;
			width:100%;
			padding:15px 0 20px;
			top:0;
			left:0;
			background-color:rgba(255,255,255,1.0);
			text-align:center;
		}
			header nav h1 img { width:50% !important; }
		header nav ul {
			position:relative;
			display:block;
			width:100%;
			background-color:rgba(145,145,145,1.0);
		}
			body header nav ul li,
			body#home header nav ul li {
				width:100%;
				height:auto;
				margin:0 auto;
				padding:20px 0;
				border-top:solid 1px #333333;
				text-align:center;
				line-height:1.5;
				box-sizing:border-box;
			}
			header nav ul li:last-of-type { border-bottom:solid 1px #333333; }
				header nav ul li a { font-weight:bold; }
		header nav div#navClose {
			width:100%;
			padding:2rem 0;
			border-bottom:solid 1px #000000;
			box-shadow: 0px 4px 3px -3px rgba(0,0,0,0.6);
			-webkit-box-shadow: 0px 4px 3px -3px rgba(0,0,0,0.6);
			-moz-box-shadow: 0px 4px 3px -3px rgba(0,0,0,0.6);
			font-size:1.4rem;
			color:#333333;
			text-align:center;
			box-sizing:border-box;
		}

		#navToggle {
			display:block !important;
			z-index:200;
		}
}


/* ============================================ */
/*
==		共通部分（スクロール）
*/
/* ============================================ */
.scroll {
	position:absolute;
	width:54px;
	height:46px;
	bottom:3%;
	left:calc(50% - 27px);
	z-index:50;
	animation:sc 2s ease-out infinite;
	animation-fill-mode:forwards;
	animation-delay:3s;
}
#service .scroll { bottom:calc(50% - 23px); }
#vision .scroll { bottom:calc(50% - 23px); }
	.scroll.wh {
		background:url("../img/bt_scroll_w.png") center top no-repeat;
		background-size:contain;
	}
	.scroll.bl {
		background:url("../img/bt_scroll_b.png") center top no-repeat;
		background-size:contain;
	}
	.scroll.none {
		background:none;
	}
		.scroll span { display:none; }

		@keyframes sc {
			0% { transform:translateY(0); }
			12% { transform:translateY(-10px); }
			25% { transform:translateY(0px); }
			33% { transform:translateY(-5px); }
			50% { transform:translateY(0px); }
			66% { transform:translateY(-2px); }
			75% { transform:translateY(0px); }
			87% { transform:translateY(-1px); }
			90% { transform:translateY(0px); }
			100% { transform:translateY(0px); }
		}

/* タブレットサイズ */
@media screen and (max-width: 1000px){
}
/* モバイルサイズ */
@media screen and (max-width: 750px){
	.scroll { display:none; }
}


/* ============================================ */
/*
==		共通部分（フッタ）
*/
/* ============================================ */
footer {
	width:100%;
	padding:30px 0 100px;
	background:url("../img/bg_grad.png") center top no-repeat;
	background-size:cover;
}
	footer #footer {
		width:90%;
		max-width:980px;
		margin:0 auto;
	}
		footer #footer h2 {
			display:block;
			width:90%;
			max-width:880px;
			margin:0 auto 65px;
			text-align:left;
		}
			footer #footer h2 img { width:15.34%; }
		footer #footer ul {
			display:flex;
			width:90%;
			max-width:880px;
			margin:0 auto 2rem;
		}
			footer #footer ul li:nth-of-type(1) {
				position:relative;
				width:23.6%;
			}
			footer #footer ul li:nth-of-type(2) {
				position:relative;
				width:15.5%;
			}
			footer #footer ul li:nth-of-type(3) {
				position:relative;
				width:13.4%;
			}
			footer #footer ul li:nth-of-type(4) {
				position:relative;
				width:20%;
			}
			footer #footer ul li:nth-of-type(5) {
				position:relative;
				width:27.5%;
			}
				footer #footer ul li:nth-of-type(1):after,
				footer #footer ul li:nth-of-type(2):after,
				footer #footer ul li:nth-of-type(3):after {
					content:"";
					position:absolute;
					display:block;
					width:1px;
					height:100%;
					background:#000000;
					top:0;
					right:10%;
				}
					footer #footer ul li dl {
						width:76.2%;
					}
						footer #footer ul li dl dt {
							width:100%;
							margin-bottom:2rem;
							color:#333333;
							font-size:1.3rem;
							font-weight:bold;
							line-height:1.0;
						}
						footer #footer ul li dl dd {
							width:100%;
							color:#333333;
							font-size:1.2rem;
							font-weight:bold;
							line-height:2.0;
						}
							footer #footer ul li dl dd a {
								display:block;
								color:#333333;
								text-decoration:none;
								cursor:pointer;
							}
							footer #footer ul li dl dd a:hover {
								color:#333333;
								text-decoration:none;
								opacity:0.6;
								cursor:pointer;
							}
				footer #footer ul li:nth-of-type(5) p {
					width:100%;
					text-align:left;
				}
					footer #footer ul li:nth-of-type(5) p span {
						display:block;
						color:#333333;
						font-size:1.0rem;
						line-height:1.0;
						font-weight:bold;
					}
					footer #footer ul li:nth-of-type(5) p strong {
						display:block;
						color:#333333;
						font-size:1.5rem;
						line-height:1.75;
						font-weight:bold;
					}
					footer #footer ul li:nth-of-type(5) p b {
						display:block;
						margin-top:1rem;
						color:#333333;
						font-size:1.2rem;
						line-height:1.5;
						font-weight:normal;
					}
			footer #footer em {
				display:block;
				width:100%;
				color:#333333;
				font-size:1.0rem;
				text-align:right;
			}

/* タブレットサイズ */
@media screen and (max-width: 1000px){
	footer { padding: 2.2vw 0 15.37vw; }
}
/* モバイルサイズ */
@media screen and (max-width: 750px){
		footer #footer h2 { display:none; }
		footer #footer ul { display:none; }
			footer #footer em { color:#ffffff; }
}


/* ============================================ */
/*
==		トップページ
*/
/* ============================================ */
main#top {
	display:block;
	width:100%;
	margin:0 auto;
}

/* ------------------------------------------------------------------------------ */
/* MV */
/* ------------------------------------------------------------------------------ */
	main#top section#mv {
		position:relative;
		display:block;
		width:100%;
		height:100vh;
		padding:0;
		background:url("../../index/img/main.png") center top no-repeat;
		background-size:cover;
		overflow-x:hidden;
	}
		main#top section#mv div { display:none; }
		main#top section#mv h2 {
			position:relative;
			display: block;
			width:90%;
			max-width:980px;
			height:40vh;
			margin:30vh auto;
		}
			main#top section#mv h2 strong {
				position:absolute;
				display:block;
				padding-top:5.5vw;
			}
				main#top section#mv h2 span { display:none; }
			main#top section#mv h2 strong.c1 {
				width:41%;
				top:0;
				left:110vw;
				background:url(../../index/img/mv-text1.png) top left no-repeat;
				background-size:contain;
				animation:c1 2s ease-out 1;
				animation-fill-mode: forwards;
				animation-delay:3s;
				opacity:0;
			}
			main#top section#mv h2 strong.c2 {
				width:90%;
				top:calc(50% - 2.635vw);
				left:110vw;
				background:url(../../index/img/mv-text2.png) top left no-repeat;
				background-size:contain;
				animation:c2 2s ease-out 1;
				animation-fill-mode: forwards;
				animation-delay:3s;
				opacity:0;
			}
			main#top section#mv h2 strong.c3 {
				width:64%;
				bottom:0;
				left:110vw;
				background:url(../../index/img/mv-text3.png) top left no-repeat;
				background-size:contain;
				animation:c3 2s ease-out 1;
				animation-fill-mode:forwards;
				animation-delay:3s;
				opacity:0;
			}
				@keyframes c1 {
					0% { left:110vw; opacity:0; }
					33% { left:0; opacity:1; }
					66% { left:0; opacity:1; }
					100% { left:0; opacity:1; }
				}
				@keyframes c2 {
					0% { left:110vw; opacity:0; }
					33% { left:110vw; opacity:0; }
					66% { left:0; opacity:1; }
					100% { left:0; opacity:1; }
				}
				@keyframes c3 {
					0% { left:110vw; opacity:0; }
					33% { left:110vw; opacity:0; }
					66% { left:110vw; opacity:0; }
					100% { left:0; opacity:1; }
				}

/* モバイルサイズ */
@media screen and (max-width: 750px){
	main#top section#mv {
		position:relative;
		display:block;
		width:100%;
		height:auto;
		padding:14.8475vw 0 15.625vw;
		background:url("../../index/img/main.png") center top no-repeat;
		background-size:cover;
	}
		main#top section#mv div {
			position:absolute;
			display:block;
			width:22.8125%;
			top:4.6875vw;
			left:6.25%;
		}
			main#top section#mv div img { width:100%; }
		main#top section#mv h2 {
			position:relative;
			display: block;
			width:72%;
			height:auto;
			margin:0 auto;
		}
			main#top section#mv h2 strong {
				position:relative;
				display:block;
				padding-top:5.5vw;
			}
			main#top section#mv h2 strong.c1 {
				background-size:contain;
			}
			main#top section#mv h2 strong.c2 {
				margin:6vw 0;
				background-size:contain;
			}
			main#top section#mv h2 strong.c3 {
				background-size:contain;
			}
}


/* ------------------------------------------------------------------------------ */
/* メッセージ */
/* ------------------------------------------------------------------------------ */
	main#top section#message {
		position:relative;
		display:block;
		width:100%;
		height:100vh;
		background:#ffffff url("../img/bg_dot.gif") center top repeat;
		overflow-x:hidden;
	}
		main#top section#message article {
			position:absolute;
			width:80%;
			top:50%;
			left:50%;
			transform:translate(-50%, -50%);
		}
			main#top section#message article h2 {
				text-align:center;
				opacity:0;
			}
			main#top section#message article p {
				margin-top:3vw;
				color:#333333;
				font-size:1.8rem;
				line-height:2.0;
				text-align:center;
				opacity:0;
			}
			main#top section#message article h2.ms,
			main#top section#message article p.ms {
				animation:ms 3s ease-out 1;
				animation-fill-mode:forwards;
				animation-delay:0s;
			}
				@keyframes ms {
					0% { opacity:0; }
					33% { opacity:0; }
					66% { opacity:1; }
					100% { opacity:1; }
				}

/* タブレットサイズ */
@media screen and (max-width: 1000px){
}
/* モバイルサイズ */
@media screen and (max-width: 750px){
	main#top section#message {
		width:100%;
		height:auto;
		padding:7.8125vw 0;
	}
		main#top section#message article {
			position:relative;
			width:100%;
			top:0;
			left:0;
			transform:translate(0%, 0%);
		}
			main#top section#message article h2 {
				display:block;
				width:53.75%;
				margin:0 auto;
			}
				main#top section#message article h2 img { width:100%; }
			main#top section#message article p {
				margin-top:7.8125vw;
				color:#000000;
				font-size:3.0vw;
				line-height:2.0;
				text-align:center;
				opacity:0;
			}
}


/* ------------------------------------------------------------------------------ */
/* サービス紹介 */
/* ------------------------------------------------------------------------------ */
	main#top section#service {
		position:relative;
		display:block;
		width:100%;
		background:#ffffff url("../../index/img/sec1-bg.jpg") center top repeat;
		background-size:cover;
		overflow:hidden;
	}
		main#top section#service .scr {
			position:relative;
			display:block;
			width:100%;
			padding-bottom:150px;
			background:#ffffff;
		}
		main#top section#service h2 {
			display:block;
			width:100%;
			padding:25px 0 15px;
			background:url("../img/bg_grad.png") center top no-repeat;
			background-size:cover;
			text-align:center;
		}
		main#top section#service article {
			width:100%;
			margin:0 auto;
		}
			main#top section#service article div.sp1,
			main#top section#service article div.sp2,
			main#top section#service article div.sp3,
			main#top section#service article div.sp4 { display:none; }
			main#top section#service article dl {
				position:relative;
				display:flex;
				width:90%;
				max-width:980px;
				margin:0 auto;
			}
				main#top section#service article dl dt {
					width:33%;
					padding:3.5vw 5%;
					background:#ffffff;
					box-sizing:border-box;
				}
					main#top section#service article dl dt h3 {
						position:relative;
						display:block;
						color:#333333;
						font-size:2.2rem;
						font-weight:bold;
						line-height:1.5;
						text-align:center;
					}
						main#top section#service article dl dt h3:after {
							content:"";
							position:absolute;
							display:block;
							width:30%;
							height:2px;
							background:#0099e2;
							bottom:-5px;
							left:35%;
						}
					main#top section#service article dl dt p {
						padding:2.0rem 0 3.0rem;
						color:#333333;
						font-size:1.4rem;
						line-height:1.75;
						text-align:left;
					}
					main#top section#service article dl dt a {
						display:block;
						width:100%;
						padding:1.0rem 0;
						border:solid 1px #0099e2;
						background:#ffffff;
						text-align:center;
						text-decoration:none;
						box-sizing:border-box;
					}
					main#top section#service article dl dt a:hover {
						background:#0099e2;
						border:solid 1px #0099e2;
						color:#ffffff;
						text-decoration:none;
						opacity:0.6;
					}
						main#top section#service article dl dt a span {
							font-size:1.4rem;
							color:#0099e2;
						}
						main#top section#service article dl dt a:hover span {
							font-size:1.4rem;
							color:#ffffff;
						}
				main#top section#service article dl dd {
					position:relative;
					width:67%;
					overflow-x:visible;
					overflow-y:none;
				}
					main#top section#service article dl dd div {
						position:absolute;
						height:100%;
						opacity:0;
						overflow-x:visible;
						overflow-y:none;
					}
					main#top section#service article.s1 dl dd div {
						background:url(../../index/img/sec1-image1.jpg) center top no-repeat;
						background-size:100% 100%;
					}
					main#top section#service article.s2 dl dd div {
						background:url(../../index/img/sec1-image2.jpg) center top no-repeat;
						background-size:100% 100%;
					}
					main#top section#service article.s3 dl dd div {
						background:url(../../index/img/sec1-image3.jpg) center top no-repeat;
						background-size:100% 100%;
					}
					main#top section#service article.s4 dl dd div {
						background:url(../../index/img/sec1-image4.jpg) center top no-repeat;
						background-size:100% 100%;
					}
				main#top section#service article.s1 dl dt { order:2; }
				main#top section#service article.s1 dl dd { order:1; }
				main#top section#service article.s2 dl dt { order:1; }
				main#top section#service article.s2 dl dd { order:2; }
				main#top section#service article.s3 dl dt { order:2; }
				main#top section#service article.s3 dl dd { order:1; }
				main#top section#service article.s4 dl dt { order:1; }
				main#top section#service article.s4 dl dd { order:2; }

					main#top section#service article dl dd div.se {
						animation:se 3s ease-out 1;
						animation-fill-mode:forwards;
						animation-delay:0s;
					}
						@keyframes se {
							0% { opacity:0; top:50px; }
							33% { opacity:0; top:50px; }
							66% { opacity:1; top:0; }
							100% { opacity:1; top:0; }
						}

@media screen and (min-width: 1500px){
					main#top section#service article dl dt p {
						padding:1.5rem 0 2.5rem;
					}
					main#top section#service article dl dt a {
						padding:0.8rem 0;
					}
					main#top section#service article.s1 dl dd div {
						background:url(../../index/img/sec1-image1.jpg) center right no-repeat;
						background-size:contain;
					}
					main#top section#service article.s2 dl dd div {
						background:url(../../index/img/sec1-image2.jpg) center left no-repeat;
						background-size:contain;
					}
					main#top section#service article.s3 dl dd div {
						background:url(../../index/img/sec1-image3.jpg) center right no-repeat;
						background-size:contain;
					}
					main#top section#service article.s4 dl dd div {
						background:url(../../index/img/sec1-image4.jpg) center left no-repeat;
						background-size:contain;
					}
}

/* タブレットサイズ */
@media screen and (max-width: 1100px){
	main#top section#service .scr { padding-bottom:11vw; }
					main#top section#service article dl dt h3 {
						font-size:1.8vw;
					}
					main#top section#service article dl dt p {
						font-size:1.2vw;
					}
						main#top section#service article dl dt a span {
							font-size:1.2vw;
						}
}
/* モバイルサイズ */
@media screen and (max-width: 750px){
	main#top section#service { background:#ffffff; }
	main#top section#service .scr { display:none; }
		main#top section#service h2 { padding:1.875vw 0; }
			main#top section#service h2 img { width:44.375%; }
			main#top section#service article {
				width:100%;
				margin:0 auto;
			}
				main#top section#service article div.sp1 {
					display:block;
					width:100%;
					padding-top:45.3125vw;
					background:url(../../index/img/sec1-image1.jpg) center top no-repeat;
					background-size:cover;
				}
				main#top section#service article div.sp2 {
					display:block;
					width:100%;
					padding-top:45.3125vw;
					background:url(../../index/img/sec1-image2.jpg) center top no-repeat;
					background-size:cover;
				}
				main#top section#service article div.sp3 {
					display:block;
					width:100%;
					padding-top:45.3125vw;
					background:url(../../index/img/sec1-image3.jpg) center top no-repeat;
					background-size:cover;
				}
				main#top section#service article div.sp4 {
					display:block;
					width:100%;
					padding-top:45.3125vw;
					background:url(../../index/img/sec1-image4.jpg) center top no-repeat;
					background-size:cover;
				}
				main#top section#service article dl {
					display:block;
					width:100%;
				}
					main#top section#service article dl dt {
						width:100%;
						padding:4.6875vw 0 12.5vw;
					}
						main#top section#service article dl dt h3 { font-size:1.8rem; }
							main#top section#service article dl dt h3:after {
								width:20%;
								left:40%;
							}
						main#top section#service article dl dt p {
							width:78.125%;
							margin:0 auto;
							padding:2.0rem 0 3.0rem;
							color:#333333;
							font-size:1.2rem;
							line-height:1.5;
							text-align:left;
						}
						main#top section#service article dl dt a {
							width:47.5%;
							margin:0 auto;
							padding:0.5rem 0;
						}
							main#top section#service article dl dt a span { font-size:1.2rem; }
					main#top section#service article dl dd { display:none; }
}


/* ------------------------------------------------------------------------------ */
/* ビジョン */
/* ------------------------------------------------------------------------------ */
	main#top section#vision {
		position:relative;
		display:block;
		width:100%;
		background:#ffffff;
		overflow:hidden;
	}
		main#top section#vision .scr {
			position:relative;
			display:block;
			width:100%;
			padding-bottom:150px;
			background:#ffffff;
		}
		main#top section#vision h2 {
			display:block;
			width:100%;
			padding:25px 0 15px;
			background:url("../img/bg_grad.png") center top no-repeat;
			background-size:cover;
			text-align:center;
		}
		main#top section#vision article {
			width:100%;
			margin:0 auto;
		}
			main#top section#vision article div.vp { display:none; }
			main#top section#vision article dl {
				position:relative;
				display:flex;
				width:90%;
				max-width:980px;
				margin:0 auto;
			}
				main#top section#vision article dl dt {
					position:relative;
					width:36.7%;
					padding:3.5vw 3.0rem;
					background:#ffffff;
					box-sizing:border-box;
					z-index:10;
				}
					main#top section#vision article dl dt h3 {
						color:#333333;
						font-size:2.2rem;
						font-weight:bold;
						line-height:1.5;
						text-align:left;
					}
					main#top section#vision article dl dt p {
						padding:2.0rem 0;
						color:#333333;
						font-size:1.4rem;
						line-height:1.75;
						text-align:left;
					}
					main#top section#vision article dl dt a {
						display:block;
						width:100%;
						padding:1.0rem 0;
						border:solid 1px #0099e2;
						background:#ffffff;
						text-align:center;
						text-decoration:none;
						box-sizing:border-box;
					}
					main#top section#vision article dl dt a:hover {
						background:#0099e2;
						border:solid 1px #0099e2;
						color:#ffffff;
						text-decoration:none;
						opacity:0.6;
					}
						main#top section#vision article dl dt a span {
							font-size:1.4rem;
							color:#0099e2;
						}
						main#top section#vision article dl dt a:hover span {
							font-size:1.4rem;
							color:#ffffff;
						}
				main#top section#vision article dl dd {
					position:relative;
					width:63.3%;
					overflow-x:visible;
					overflow-y:none;
					z-index:1;
				}
					main#top section#vision article dl dd div {
						position:absolute;
						height:100%;
						right:0;
						background:url("../../index/img/sec2-image_pc.jpg") center left no-repeat;
						background-size: cover;
						opacity:0;
						overflow-x:visible;
						overflow-y:none;
					}
				main#top section#vision article dl dt { order:2; }
				main#top section#vision article dl dd { order:1; }
					main#top section#vision article dl dd div.vi {
						animation:vi 3s ease-out 1;
						animation-fill-mode:forwards;
						animation-delay:0s;
					}
						@keyframes vi {
							0% { opacity:0; top:0; }
							33% { opacity:0; top:0; }
							66% { opacity:1; top:0; }
							100% { opacity:1; top:0; }
						}

/* タブレットサイズ */
@media screen and (max-width: 1000px){
	main#top section#vision .scr { margin-bottom:11vw; }
					main#top section#vision article dl dt h3 {
						font-size:1.8vw;
					}
					main#top section#vision article dl dt p {
						font-size:1.2vw;
					}
						main#top section#vision article dl dt a span {
							font-size:1.2vw;
						}
}
/* モバイルサイズ */
@media screen and (max-width: 750px){
	main#top section#vision .scr { display:none; }
	main#top section#vision h2 { padding:1.875vw 0; }
		main#top section#vision h2 img { width:44.375%; }
		main#top section#vision article {
			width:100%;
			margin:0 auto;
		}
			main#top section#vision article div.vp {
				display:block;
				width:100%;
				padding-top:45.3125vw;
				background:url(../../index/img/sec2-image_sp.jpg) center top no-repeat;
				background-size:cover;
			}
			main#top section#vision article dl {
				display:block;
				width:100%;
			}
				main#top section#vision article dl dt {
					width:100%;
					padding:4.6875vw 0 12.5vw;
				}
					main#top section#vision article dl dt h3 {
						font-size:1.8rem;
						text-align:center;
					}
						main#top section#vision article dl dt h3:after {
							width:20%;
							left:40%;
						}
					main#top section#vision article dl dt p {
						width:78.125%;
						margin:0 auto;
						padding:2.0rem 0 3.0rem;
						color:#333333;
						font-size:1.2rem;
						line-height:1.5;
						text-align:left;
					}
					main#top section#vision article dl dt a {
						width:47.5%;
						margin:0 auto;
						padding:0.5rem 0;
					}
						main#top section#vision article dl dt a span { font-size:1.2rem; }
				main#top section#vision article dl dd { display:none; }
}


/* ------------------------------------------------------------------------------ */
/* コンタクト */
/* ------------------------------------------------------------------------------ */
	main#top section#contact {
		position:relative;
		display:block;
		width:100%;
		margin-bottom:150px;
		background:#ffffff;
		overflow:hidden;
	}
		main#top section#contact h2 {
			display:block;
			width:100%;
			padding:25px 0 15px;
			background:url("../img/bg_grad.png") center top no-repeat;
			background-size:cover;
			text-align:center;
		}
		main#top section#contact article {
			width:90%;
			max-width:980px;
			margin:0 auto;
		}
			main#top section#contact article dl {
				position:relative;
				display:flex;
				width:90%;
				max-width:880px;
				margin:60px auto;
			}
				main#top section#contact article dl dt {
					position:relative;
					width:60%;
				}
					main#top section#contact article dl dt h3 {
						color:#333333;
						font-size:2.0rem;
						font-weight:bold;
						line-height:1.5;
						text-align:left;
					}
						main#top section#contact article dl dt h3 span {
							font-size:1.4rem;
							font-weight:bold;
						}
					main#top section#contact article dl dt p {
						padding:2.0rem 0 0;
						color:#333333;
						font-size:1.8rem;
						line-height:1.75;
						text-align:left;
					}
				main#top section#contact article dl dd {
					position:relative;
					display:flex;
					flex-direction:column;
					width:40%;
				}
					main#top section#contact article dl dd a {
						display:block;
						width:64%;
						padding:1.0rem 0;
						border:solid 1px #0099e2;
						text-align:center;
						text-decoration:none;
						box-sizing:border-box;
					}
					main#top section#contact article dl dd a:hover {
						background:#0099e2;
						border:solid 1px #0099e2;
						color:#ffffff;
						text-decoration:none;
						opacity:0.6;
					}
						main#top section#contact article dl dd a span {
							font-size:1.4rem;
							color:#0099e2;
						}
						main#top section#contact article dl dd a:hover span {
							font-size:1.4rem;
							color:#ffffff;
						}
					main#top section#contact article dl dd a:last-of-type { margin-top:auto; }
			main#top section#contact article div {
				position:relative;
				width:90%;
				max-width:880px;
				margin:0 auto;
			}
				main#top section#contact article div iframe {
					width:100% !important;
					height:360px;
				}

/* タブレットサイズ */
@media screen and (max-width: 1000px){
	main#top section#contact { margin-bottom:11vw; }
}
/* モバイルサイズ */
@media screen and (max-width: 750px){
	main#top section#contact { margin-bottom:12.5vw; }
		main#top section#contact h2 { padding:1.875vw 0; }
			main#top section#contact h2 img { width:44.375%; }
			main#top section#contact article {
				width:100%;
				margin:0 auto;
			}
				main#top section#contact article dl {
					display:block;
					width:78.125%;
					margin:7.8125vw auto;
				}
					main#top section#contact article dl dt { width:100%; }
						main#top section#contact article dl dt h3 {
							color:#333333;
							font-size:1.6rem;
							font-weight:bold;
							line-height:1.5;
							text-align:left;
						}
							main#top section#contact article dl dt h3 span {
								font-size:1.2rem;
								font-weight:bold;
							}
						main#top section#contact article dl dt p {
							padding:2.0rem 0;
							color:#333333;
							font-size:1.2rem;
							line-height:1.75;
							text-align:left;
							white-space:nowrap;
						}
					main#top section#contact article dl dd {
						display:block;
						width:60.8%;
						margin:0 auto;
					}
						main#top section#contact article dl dd a {
							display:block;
							width:100%;
							padding:0.5rem 0;
						}
							main#top section#contact article dl dd a span {
								font-size:1.2rem;
							}
						main#top section#contact article dl dd a:last-of-type { margin-top:7.8125vw; }
				main#top section#contact article div {
					width:78.125%;
				}
					main#top section#contact article div iframe {
						width:100% !important;
						height:60vw;
					}
}


/* ============================================ */
/*
==		お問い合わせ
*/
/* ============================================ */
main#contact {
	display:block;
	width:100%;
	margin:0 auto;
}
	main#contact h2 {
		position:relative;
		display:block;
		width:100%;
		padding:25px 0 15px;
		background:url("../img/bg_grad.png") center top no-repeat;
		background-size:cover;
		text-align:center;
	}
	main#contact h2 img { width:auto; }

	main#contact h3 {
		display:block;
		width:100%;
		padding:100px 0 80px;
		color:#333333;
		font-size:3rem;
		font-weight:bold;
		text-align:center;
	}
	main#contact section {
		width:90%;
		max-width:980px;
		margin:0 auto 100px;
	}

/* タブレットサイズ */
@media screen and (max-width: 1000px){
}
/* モバイルサイズ */
@media screen and (max-width: 750px){
		main#contact h2 { padding:2.1875vw 0; }
			main#contact h2 img { width:48.4375%; }
		main#contact h3 {
			padding:9.375vw 0;
			font-size:2.0rem;
		}
		main#contact section { width:87.5%; }
}



/* ============================================ */
/*
==		会社概要
*/
/* ============================================ */

main#company h2 {
	position:relative;
	display:block;
	width:100%;
	padding:25px 0 15px;
	background:url("../img/bg_grad.png") center top no-repeat;
	background-size:cover;
	text-align:center;
	padding:2.1875vw 0;
}


.company {
	width: 95%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 160px 0 120px 0;
}

.company__tbl {
	width: 100%;
	border-top: 1px solid #333;
	font-size: 18px;
	margin-bottom: 100px;
}

.company__tbl tr th {
	width: 25%;
	border-bottom: 1px solid #333;
	border-right: 1px solid #333;
	padding: 20px;
}

.company__tbl tr td {
	width: 75%;
	border-bottom: 1px solid #333;
	padding: 20px;
}

.tbl__ttl {
	font-weight: bold;
}

.tbl__txt {
	margin-bottom: 20px;
	padding-left: 20px;
}

.tbl__txt:last-child {
	margin-bottom: 0;
}

.company a {
		display:block;
		width: 300px;
		padding:1.0rem 0;
		border:solid 1px #0099e2;
		text-align:center;
		text-decoration:none;
		box-sizing:border-box;
	margin: 0 auto;
	}
	.company a:hover {
		background:#0099e2;
		border:solid 1px #0099e2;
		color:#ffffff;
		text-decoration:none;
		opacity:0.6;
	}
		.company a span {
			font-size:1.4rem;
			color:#0099e2;
		}
		.company a:hover span {
			font-size:1.4rem;
			color:#ffffff;
		}
	
.map__wrapper {
position:relative;
width:90%;
max-width:880px;
margin:0 auto 70px auto;
}
.map__wrapper iframe {
	width:100% !important;
	height:360px;
}



/* タブレットサイズ */
@media screen and (max-width: 1000px){
}
/* モバイルサイズ */
@media screen and (max-width: 750px){
	main#company h2 { padding:2.1875vw 0; }
		main#company h2 img { width:48.4375%; }

.company {
	width: calc(100% - 40px);
	padding: 50px 0;
}

.company__tbl {
	width: 100%;
	border-top: none;
	font-size: 14px;
	margin-bottom: 50px;
}

.company__tbl tr th {
	display: block;
	width: 100%;
	color: #FFF;
	background-color: #0099e2;
	border-bottom: none;
	border-right: none;
	padding: 12px 10px;
	box-sizing: border-box;
}

.company__tbl tr td {
	display: block;
	width: 100%;
	border-bottom: none;
	padding: 12px 10px;
	box-sizing: border-box;
}

.tbl__ttl {
	font-weight: bold;
}

.tbl__txt {
	margin-bottom: 10px;
	padding-left: 10px;
}

.tbl__txt:last-child {
	margin-bottom: 10px;
}
	
	
.company a {
		display:block;
		width: 300px;
		padding:1.0rem 0;
		border:solid 1px #0099e2;
		text-align:center;
		text-decoration:none;
		box-sizing:border-box;
	margin: 0 auto;
	}
	.company a:hover {
		background:#0099e2;
		border:solid 1px #0099e2;
		color:#ffffff;
		text-decoration:none;
		opacity:0.6;
	}
		.company a span {
			font-size:1.4rem;
			color:#0099e2;
		}
		.company a:hover span {
			font-size:1.4rem;
			color:#ffffff;
		}
	
.map__wrapper {
position:relative;
width:90%;
max-width:880px;
margin:0 auto 70px auto;
}
.map__wrapper iframe {
	width:100% !important;
	height:360px;
}
	
.company a {
	display:block;
	width:100%;
	padding:0.5rem 0;
}
.company span {
	font-size:1.2rem;
}
.map__wrapper iframe {
		width:100% !important;
		height:60vw;
	}
	
	
}


