@charset "utf-8";

/**
 *
 *  Styles CSS
 *
 */


/* Google Fonts
------------------------------------------------------------*/
@import url(https://fonts.googleapis.com/css?family=Open+Sans+Condensed:300,700);

/* Reset / Common
------------------------------------------------------------*/
* {
	margin: 0;
  padding: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	 box-sizing: border-box;
	/*-webkit-appearance: none;
	-moz-appearance: none;	 */
}
html {
	font-size: 62.5%;
}
body {
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.5;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Helvetica, Arial, sans-serif;
	position: relative;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: #444;
	background-color: #FFFFFF;
	-webkit-text-size-adjust: 100%; /* 文字サイズの自動調整を無効化 */
}
a {
  overflow: hidden;
  outline: none;
}
a:link {
  color: #000;
  text-decoration: none;
}
a:visited {
  color: #000;
  text-decoration: none;
}
a:hover, a:active {
  color: #000;
  text-decoration: underline;
}
img {
	vertical-align: bottom;
	border: none;
}
ul {
	list-style: none;
}

.fl {float: left;}

.fr {float: right;}

/* Floart解除 */
.cf:before,
.cf:after {
	content: "";
	display: table;
}
.cf:after {
	clear: both;
}
.cf {
	*zoom: 1;
}

.clear {
	clear: both;
	display: block;
}
.clearfix:after{
	display: block;
	content: "";
	clear: both;
}

table {
	width: 100%;
	margin: 0 auto;
	border-collapse: collapse;
}
.agzeni_icon{
	display: block;
	margin-left: auto;
	margin-right: auto;
	object-fit: cover;
}
.hv-btn {
	width: 130px;
	font-size: 16px;
	font-size: 1.6rem;
	color: #fff;
	font-weight: bold;
	background-color: #011627;
	border: none;
	border-radius: 0;
	padding: 10px 0px;
	text-align: center;
	}
	.hv-btn:hover {
		background-color: #76D149;
		box-sizing: border-box;
		-webkit-transition: all .3s;
		transition: all .3s;
		cursor: pointer;
	}
	.hv-btn a {
		display: block;
		font-size: 16px;
		font-size: 1.6rem;
		color: #fff;
		font-weight: normal;
		text-decoration: none;
	}

/* Layout
------------------------------------------------------------*/
#wrap {
	font-size: 15px;
	font-size: 1.5rem;
	color: #333;
}
#js-message {
	display: none;
}


/* Header
------------------------------------------------------------*/
#header {
	width: 100%;
	background-color: #FFFFFF;
	position: fixed !important;
	padding: 10px 0px;
	z-index: 9999;
	border-bottom: 1px solid #ccc;
	}
	#header h1 {
		padding-bottom: 10px;
	}

/* Contents
------------------------------------------------------------*/
/* common */
#thanks .inner,
#contents .inner {
	padding-top: 80px;
}

h2 {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: normal;
	line-height: 1.0;
	text-align: center;
	padding-top: 40px;
	margin-bottom: 40px;
}
h2:before{
	display: block;
	font-family: 'Open Sans Condensed';
	font-size: 52px;
	font-size: 5.2rem;
	font-weight: bold;
	line-height: 1.3;
	color: #3D7E1F;
	}
	#mainvisual h2:before { content: 'NEWS'; }
	#service h2:before { content: 'SERVICE'; }
	#company h2:before { content: 'COMPANY'; }
	#contact h2:before { content: 'CONTACT'; }
	
		#contents #news h2:before { content: 'NEWS'; }
		#contents #privacy h2:before { content: 'PRIVACY POLICY'; }
		#contents #remote h2:before { content: 'REMOTE SUPPORT'; }

/* 吹き出し */
.balloon {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	padding: 12px 15px;
	position: relative;
	text-align: center;
	}
	.balloon:after {
		width: 0;
		height:0;
		content: "";
		border: 15px solid transparent;
		position: absolute;
		bottom: -26px;
		left: 45%;
	}


/* main-visual */
#mainvisual{
	width: 100%;
	height: 700px;
}

#mainvisual p img {
	display: block;
	margin: 0 auto;
	padding-top: 200px;
	margin-bottom: 30px;
	@media (max-width: 899px) {width: 300px;}
	@media (min-width: 900px) {width: 450px;}
}
.news {
	/*position: relative;*/
	}
	.news h2,
	.news h2:before {
		color: #fff;
		padding: 0;
		margin: 10px 0px;
	}
	.news dl {
		width: 80%;
		background-color: #fff;
		margin: 0 auto;
		margin-top: 25px;
		}
		.news dl dt img {
			display: inline-block;
			margin-right: 10px;
			margin-bottom: 5px;
		}
		.news dl dd a { text-decoration: underline; }
		.news p { padding: 5px; }


/* about */
#about .inner {
	margin-top: 80px;
	padding-bottom: 80px;
	border-bottom: 2px solid #E5E5E5;
}
#about img {
	display: block;
	margin:0 auto;
	padding-top: 10px;
}
#about p {
	margin-top: 40px;
}
/* omics */
#omics {
	margin-top: 60px;
	margin-bottom: 80px;
}
#omics img {
	display: block;
	margin: 0 auto;
}
#omics > img {
	margin-bottom: 40px;
}
#omics .circle {
	width: 40%;
	margin-top: -30px;
	margin-bottom: 30px;
}
#omics dl dt {
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	line-height: 1.2;
	margin-bottom: 20px;
}
#omics dl dt span {
	display: block;
	font-size: 18px;
}

/* service */
#service p{
	text-align: center;
	color: #3D7E1F;
	font-size: 18px;
	font-weight: bold;
}
#service .service-block p {
	background-color: #D9E7D1;
	padding: 10px 0;
	font-size: 18px;
	margin-top: 40px;
	margin-bottom: 20px;
}
#service h3 {
	color: #fff;
	font-size: 20px;
	font-size: 2.0rem;
	text-align: center;
	background-color: #3D7E1F;
	line-height: 2.4;
	}		
		[class^="service-box-0"] ul {
			height: 180px;
			background-color: rgba(255,255,255,0.7);
			padding: 20px;
			list-style-type:  disc;
			border: 2px solid #689A51;
			}
			[class^="service-box-0"] ul li {
				line-height: 2.2;
				margin-left: 1.1em;
			}
#service .service-block-bottom {
	background-color: #53A62B;
	padding: 40px;
	margin-bottom: 80px;
	border-radius: 10px;
}
#service .service-block-bottom ul{
	margin-bottom: 40px;
}
#service .service-block-bottom ul li{
	text-align: center;
	padding: 10px;
	background-color: #FFFFFF;
	border-radius: 5px;
	font-size: 20px;
	color: #3D7E1F;
	font-weight: bold;
}
#service .service-block-bottom p{
	color: #FFFFFF;
	font-size: 22px;
	line-height: 1.4;
}


#service .service-block-wide {
	background-color: #53A62B;
	padding: 20px;
	margin-bottom: 80px;
	border-radius: 10px;
}
#service .service-block-wide [class^="service-box-wide-0"] ul {
		height: 180px;
		background-color: rgba(255,255,255);
		padding: 2px;
		list-style-type:  none;
		border: 2px solid #689A51;
		}
		[class^="service-box-wide-0"] ul li {
			line-height: 2.2;
			margin-left: 1.1em;
			text-align: left;
		}

#service .service-block-wide ul{
	margin-bottom: 30px;
}
#service .service-block-wide ul li{
	text-align: left;
	padding: 5px;
	background-color: #FFFFFF;
	border-radius: 0px;
	font-size: 20px;
	color: #3D7E1F;
	font-weight: bold;
}
#service .service-block-wide ul li ul{
	text-align: left;
	padding: 2px;
	background-color: #FFFFFF;
	border-radius: 0px;
	font-size: 16px;
	color: #3D7E1F;
	font-weight: bold;
}
#service .service-block-wide ul li ul li{
	text-align: left;
	padding: 2px;
	background-color: #FFFFFF;
	border-radius: 0px;
	font-size: 14px;
	color: #3D7E1F;
	font-weight: bold;
	list-style-type:  none;
}

#service .service-block-wide p{
	color: #FFFFFF;
	font-size: 22px;
	line-height: 1.4;
	text-align: center;
}

#service .service-block-wide span{
	color: #FFFFFF;
	font-size: 12px;
	line-height: 1.4;
	color: #FFF;
}
.service-box-08 {
	background-color: #FF8C52;
	padding: 25px 30px;
	}
	
	.service-box-08 p {
		color: #333;
		background-color: #fff;
		}
		.service-box-08 p:after {
			border-top: 15px solid #fff;
		}
		
		.contact-link-btn {
			color: #fff;
			font-size: 18px;
			font-size: 1.8rem;
			font-weight: bold;
			border: 1px solid #fff;
			margin-top: 30px;
			text-align: center;
			position: relative;
			/*padding: 10px;*/
		}
		.contact-link-btn a {
			display: block;
			color: #fff;
			border: 10px solid #FF8C52;
			}				
			.contact-link-btn a:hover {
				border: 10px solid #fff;
				background-color: #fff;
				color: #FF8C52;
				box-sizing: border-box;
				-webkit-transition: all .5s;
				transition: all .5s;
			}
			.contact-link-btn a:hover:before {
				color: #FF8C52;
				box-sizing: border-box;
				-webkit-transition: all .5s;
				transition: all .5s;
			}
			
		.contact-link-btn a:before {
			font-family: 'Open Sans Condensed';
			font-size: 16px;
			font-size: 1.6rem;
			color: #fff;
			font-weight: bold;
			content: 'CONTACT';
			display: block;
		}
		.contact-link-btn a:after {
			content: '';
			display: block;
			width: 8px;
			height: 8px;
			border-top: 2px solid #fff;
			border-right: 2px solid #fff;
			-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
			position: absolute;
			top: 63%;
			right: 6%;
		}
/* company */
#company {
	height: 400px;
	}
	#company h2:before {
		color: #3D7E1F;
	}
	#company table {
		color: #333333;
		font-size: 16px;
		font-size: 1.6rem;
		margin: 0 auto;
		}
		
	#gmap {
		width: 100%;
		height: 700px;
	}
	.map-area span {
		display: block;
		width: 100%;
		}
		.map-area span a {
			width: 200px;
			color: #333;
			display: block;
			margin: 0 auto;
			text-align: center;
			margin-top: 20px;
			text-decoration: underline;
		}
	
	
/* contact */
#contact .info {
	position: relative;
	}
	#contact .info dt {
		color: #fff;
		background-color: #FF8C52;
		margin: 0 auto;
		}
		#contact .info dt:after {
			border-top: 15px solid #FF8C52;
		}
		#contact .info dd {
			margin: 0 auto;
		}
		#contact .tel {
			font-size: 22px;
			font-size: 2.2rem;
			font-weight: bold;
			padding-bottom: 50px;
		}

#contact #mailformpro dl dd span {
		display: inline-block;
		margin-left: 5px;
		color: #FF8C52;
}

#contact p {
	margin: 30px 0px;
	text-align: center;
	}
	#contact p a {
		text-decoration: underline;
	}

/* contact form */
.postcode {
	width: 100px;
}

.must {
	display: inline-block;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: normal;
	color: #fff;
	background-color: #D72007;
	padding: 2px 10px;
	margin-left: 10px;
}

.mfp_buttons {
		text-align: center;
		margin-bottom: 100px;
}
.mfp_buttons button {
	width: 130px;
	font-size: 16px;
	font-size: 1.6rem;
	color: #fff;
	font-weight: bold;
	background-color: #011627;
	border: none;
	border-radius: 0;
	padding: 10px 0px;
	}
	.mfp_buttons button:hover {
		background-color: #FF8C52;
		box-sizing: border-box;
		-webkit-transition: all .3s;
		transition: all .3s;
		cursor: pointer;
	}

input, textarea {
	font-size: 18px;
	font-size: 1.8rem;
}


/* Page-top
------------------------------------------------------------*/
#page-top {
	position: fixed;
	right: 50px;
	bottom: 10px;
}
.top {
	width: 80px;
	height: 80px;
	font-family: 'Open Sans Condensed';
	font-size: 18px;
	font-size: 1.8rem;
	color: #999;
	background-color: #011627;
	text-align: center;
	cursor: pointer;
	float: right;
	margin-right: 10px;
	padding: 20px 0px;
	border: 1px solid #333;
	}
	.top:before {
		width: 15px;
		height: 15px;
		content: "";
		display: block;
		margin: 0 auto;
		border-top: 1px solid #999;
		border-left: 1px solid #999;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	
/* Footer
------------------------------------------------------------*/
#footer .top {
	width: 80px;
	height: 60px;
	padding: 14px 0px;
	}
	#footer .top:before {
		width: 10px;
		height: 10px;
	}

#footer {
	background-color: #011627;
	color: #fff;
	}
	#footer > .inner {
		padding: 40px;
		}
		#footer .corp-name {
			font-size: 20px;
			font-size: 2.0rem;
			font-weight: bold;
		}
		#footer a, #footer a:hover { color: #fff; }
		
		.copyright {
			font-size: 12px;
			font-size: 1.2rem;
			text-align: center;
			padding: 25px;
			border-top: 1px solid #333;
		}



/* thanks Page
------------------------------------------------------------*/
#thanks dt, #thanks dd {
	display: block;
	margin: 0 auto;
	}
	#thanks dt {
		font-size: 20px;
		font-size: 2.0rem;
		color: #fff;
		font-weight: bold;
		background-color: #FF8C52;
		border-radius: 10px;
		text-align: center;
		padding: 15px 5px;
		margin-bottom: 40px;
	}
	#thanks dd span {
		display: block;
		margin-bottom: 30px;
	}
	
.return {
	width: 120px;
	margin: 0 auto;
	margin-top: 80px;
	margin-bottom: 100px;
	}
	.return a{
		display: block;
		font-size: 16px;
		font-size: 1.6rem;
		color: #fff;
		background-color: #011627;
		padding: 10px 10px 10px 48px;
		position: relative;
	}
	.return a:before {
		width: 10px;
		height: 10px;
		display: block;
		content: '';
		border-left: 1px solid #fff;
		border-bottom: 1px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		position: absolute;
		top: 15px;
		left: 25px;
	}
	.return a:hover {
		background-color: #76D149;
		text-decoration: none;
	}

/* news Page
------------------------------------------------------------*/
#news .news-block {
	background-color: #fff;
	margin-bottom: 100px;
	}
	.news-block p {
		font-size: 18px;
		font-size: 1.8rem;
		}
		.news-block p img{
			padding-right: 10px;
			padding-bottom: 5px;
		}
	.news-block dl dt {
		font-size: 22px;
		font-size: 2.2rem;
		color: #333;
		font-weight: bold;
		padding: 20px 10px 0px 10px;
		border-bottom: 1px solid #999999;
	}
	.news-block dl dd {
		line-height: 1.8;
		padding: 10px;
	}
	.news-strong {
		font-size: 18px;
		font-size: 1.8rem;
		color: #FF8C52;
		font-weight: bold;
	}

/* Privacy Page
------------------------------------------------------------*/
#privacy h3 {
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: bold;
	padding: 50px 0px 0px 10px;
	border-bottom: 1px solid #999;
}
#privacy ul {
	list-style: outside decimal;
	padding: 20px 20px 20px 50px;
	}
	#privacy ul li {
		line-height: 1.6;
		padding: 10px 0px;
	}
		#privacy p {
			line-height: 1.6;
			padding: 20px 20px 20px 30px;
		}

/* Remote Page
------------------------------------------------------------*/
#remote .hv-btn {
	margin: 55px auto 0 auto;
	width: 250px;
	line-height: 2;
	}
	#remote .hv-btn a {
		font-size: 1.3em;
		font-weight: bold;
	}
#remote h3 {
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: bold;
	padding: 50px 0px 0px 10px;
	border-bottom: 1px solid #999;
}
#remote ol {
	list-style: outside decimal;
	padding: 20px 20px 20px 50px;
	}
	#remote ol li {
		line-height: 1.6;
		padding: 10px 0px;
	}
#remote span,
#remote img {
	display: block;
}
#remote img {
	margin: 20px 0 10px 0;
}

/* 404 Not Found
------------------------------------------------------------*/
#error {
	text-align: center;
	}
	#error h2 {
		font-family: 'Open Sans Condensed';
		font-size: 52px;
		font-size: 5.2rem;
		font-weight: bold;
		color: #FF8D53;
		padding-top: 100px;
	}
	#error p {
		font-size: 14px;
		font-size: 1.4rem;
		margin-bottom: 300px;
	}
	

/* Button
------------------------------------------------------------*/
.button a {
    background: #FF8C52;
    border-radius: 9999px;
    position: relative;
    display: flex;
	font-weight: bold;
    justify-content: space-around;
    align-items: center;
    margin: 10px auto;
    max-width: 250px;
    padding: 10px 25px;
    font-family: "Noto Sans Japanese";
    color: #FFFFFF;
    line-height: 1.8;
    text-decoration: none;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}
.button a:hover {
    background: #1c120c;
    color: #FFF;
}
.button a:after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #333333;
    border-right: 3px solid #333333;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
	border-color: #FFFFFF;
}
.button a:hover:after {
    border-color: #FFF;
}