@charset "utf-8";


/* ===========================================================================================================================
	見出し
=========================================================================================================================== */
.headline_top_contents {
	font-size:3rem;
	font-weight:bold;
	font-family: 'Lato', sans-serif;
	color:#006699;
	text-align:center;
	line-height:1.1;
}

.headline_top_contents .japanese {
	font-size:1.6rem;
	color:#737373;
}

.headline_top_contents .snsicon {
	text-align: left;
	line-height: 90px;
}

.headline_top_subcontents {
	font-size:1.4rem;
	font-weight:bold;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color:#00509f;
	text-align:center;
}

.headline_top_trouble {
	font-size:2.4rem;
	font-weight:bold;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	text-align:center;
	color:#333;
}

.subheadline_top_trouble {
	font-weight:bold;
	font-size:1.8rem;
}

/* ===========================================================================================================================
	main-image
=========================================================================================================================== */

.main_image {
	background-image:url(../img/top_main_water.png), url(../img/top_main_pool.png);
	background-position:center center;
	background-repeat:no-repeat, no-repeat;
	background-size:cover;
	border-bottom:10px solid #004d9f;
}

.title_main {
	margin-bottom:45px;
}

.title_main h2 {
	padding-top:45px;
	padding-bottom:15px;
}

.main_image .container {
	position:relative;
}

.main_image_machine {
	position:absolute;
	right:0;
	bottom:0;
}

.main_image_people {
	vertical-align:bottom;
}

.main_image_machine {

}

@media screen and (max-width: 979px) {
	.main_image_people {
		width:45%;
	}

	.main_image_machine {
		width:35%;
	}
}

@media screen and (max-width: 767px) {
	.main_image .container {
		padding-top:20px;
	}

	.title_main h2 {
		padding-top:10px;
		padding-bottom:5px;
	}

	.main_image_people {
		width:55%;
	}

	.main_image {
		border-top:5px solid #004d9f;
		border-bottom:5px solid #004d9f;
	}
}
/* ===========================================================================================================================
	About-MCE
=========================================================================================================================== */
.top_about {
	padding-top: 50px;
	padding-bottom:30px;
}

.top_about .col_4 {
	text-align:center;
	font-weight:bold;
}

.top_about_box_img {
	padding-bottom:15px;
}

.top_about_box_txt span:nth-of-type(1) {
	font-weight:bold;
	font-size:1.6rem;
	padding-bottom:15px;
	color: #00509f;
}

.top_about_box_txt span:nth-of-type(2) {
	font-weight:bold;
	font-size:2.4rem;
	color: #00509f;
}

.top_about .gutters {
	margin-top:60px;
	margin-bottom:60px;
}



@media screen and (max-width: 767px) {
	.top_about {
		/* padding-bottom:30px; */
	}

	.top_about .gutters {
		margin-top:30px;
		margin-bottom:30px;
	}

	.top_about .col_4 {
		margin-bottom:20px;
		float:left;
		width: 33.3333333333%;
	}

	.top_about_box_txt span:nth-of-type(1) {
		font-size:1.3rem;
	}

	.top_about_box_txt span:nth-of-type(2) {
		font-size:2rem;
	}
}

@media screen and (max-width: 479px) {
	.top_about .col_4 {
		    float: none;
			width: 220px;
			padding: 20px;
			background-color: #f6f6f6;
			border-radius: 130px;
			margin-left: auto;
			margin-right: auto;
			border: 3px solid #00509f;
	}
}

@media screen and (max-width: 479px) {
	.box_top_products {
		margin-left:auto;
		margin-right:auto;
	}

}
/* ===========================================================================================================================
	事業紹介
=========================================================================================================================== */
.container_type2 {
  max-width: 1200px;
  margin: auto;
}
@media screen and (max-width: 1019px) {

	.container_type2 {
		width:100%;
		padding-left:1.96078431372549%;
		padding-right:1.96078431372549%;
	}

}
.products {
	background-color:#e2f0fa;
	padding-top:70px;
	padding-bottom:70px;
}

.topic_products {
	margin-top:60px;
	margin-bottom:60px;
}

.box_top_products {
	background-color:#FFF;
	cursor:pointer;
	text-decoration:none;
	color:#333;
	-webkit-transition:all 0.2s linear;
	-moz-transition:all 0.2s linear;
	-ms-transition:all 0.2s linear;
	-o-transition:all 0.2s linear;
	transition:all 0.2s linear;
}

.box_top_products:hover {
	background-color:#0468b2;
}

.box_top_products.tb_cell {
  width: 20%;
}
@media screen and (max-width: 1099px) {
  .box_top_products.tb_cell {
    width: 33.33333%;
    display: block;
    float:left;
  }
}
@media screen and (max-width: 767px) {
  .box_top_products.tb_cell {
    width: 50%;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 479px) {
  .box_top_products.tb_cell {
    width: 100%;
    margin: auto;
    float: none;
    margin-bottom: 40px;
  }
}
.products .headline_top_subcontents {
	margin-bottom:20px;
}
.top_pro_box_img img {
  width: 100%;
}
.top_pro_box_txt {
	padding:10px;
	position:relative;
}

.box_top_products:hover .headline_top_subcontents,
.box_top_products:hover .top_pro_box_txt p {
	color:#FFF;
}

.top_pro_box_txt i {
	font-size:3rem;
	vertical-align:middle;
	margin-left:-1.3rem;
}
.top_pro_box_txt .icon-uv {
  font-size: 1.6rem;
  margin-right: 10px;
  vertical-align: -0.2rem;
}
.top_pro_box_txt p {
	font-size:1.4rem;
}

.btn_lower_right {
	width: 0;
	height: 0;
	position:absolute;
	bottom:0;
	right:0;
	border-style: solid;
	border-width: 0 0 20px 20px;
	border-color: transparent transparent #00509f transparent;
}

.box_top_products:hover .btn_lower_right {
	border-color: transparent transparent #FFFFFF transparent;
}

@media screen and (max-width: 979px) {
	.topic_products div:nth-of-type(1) .headline_top_subcontents {
		line-height:54px;
		width:100%;
	}

	.products .headline_top_subcontents {
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}
}

@media screen and (max-width: 767px) {
	.products {
		padding-top:30px;
		padding-bottom:30px;
	}

	.products .headline_top_subcontents {
		width: 100%;
	}

	.topic_products {
		margin-top:30px;
		margin-bottom:30px;
	}

	.box_top_products {
		width:50%;
		display:block;
		float:left;
	}

	.topic_products div:nth-of-type(1) .headline_top_subcontents {
		line-height:normal;
	}
}

@media screen and (max-width: 479px) {
	.box_top_products {
		float:none;
		margin-bottom:20px;
		width:100%;
	}

	.top_pro_box_img {
		text-align:center;
	}

	.headline_top_subcontents {
		font-size:1.8rem;
	}
}

/* ===========================================================================================================================
	導入事例
=========================================================================================================================== */
.reference {
	padding-top:70px;
	padding-bottom:70px;
}

.topic_reference {
	margin-top:60px;
	margin-bottom:60px;

}

.box_top_ref_inner {
	cursor:pointer;
	max-width:300px;
	margin-left:auto;
	margin-right:auto;
	color:#333;
	text-decoration:none;
	display:block;
}

.box_top_ref_inner:hover {
	background-color:#0468b2;
}

.box_top_ref_inner:hover .headline_top_subcontents,
.box_top_ref_inner:hover .top_ref_box_txt p,
.box_top_ref_inner:hover .top_ref_box_txt a {
	color:#FFF;
}

.top_ref_box_img {
	text-align:center;
	max-height:200px;
	overflow:hidden;
}

.top_ref_box_img img {
	width:100%;
}

.top_ref_box_txt {
	padding:10px;
	margin-bottom: 55px;
}

.top_ref_box_txt i {
	font-size:3rem;
	vertical-align:middle;
	margin-left:-1rem;
}

.top_ref_box_txt  .headline_top_subcontents {
	text-align:left;
	margin-bottom:15px;
	overflow:hidden;
}

.top_ref_box_txt  .headline_top_subcontents span:nth-of-type(1) {
	font-size: 1.3rem;
}

.top_ref_box_txt  .headline_top_subcontents span:nth-of-type(2) {
	font-size:1.6rem;
	font-weight:bold;
	white-space:nowrap;
}

.top_ref_box_txt p {
	font-size:1.4rem;
	display:block;
}

.top_ref_box_txt a {
	color:#00509f;
	text-decoration:none;
}

.slider_controler {
	text-align:center;
	margin-top:40px;
	margin-bottom:10px;
	font-size:0px;
}

#slider_pager div {
	display:inline-block;
}

#slider_pager a {
	text-decoration:none;
}

#slider_pager a::before {
	content: "●";
	font-size:2rem;
	margin-right:10px;
	margin-left:10px;
	text-decoration:none;
	color:#0468b2;
}

#slider_next *,
#slider_prev * {
	text-decoration:none;
	font-size:4rem;
	color:#dfdfdf;
	line-height:0px;
	margin-right:30px;
	margin-left:30px;
}

#slider_next *:hover,
#slider_prev *:hover {
	color:#bdbdbd;
}

#slider_pager a.active::before {
	color: #333;
}

@media screen and (max-width: 979px) {

	.top_ref_box_txt {
		max-width:320px;
		margin-left:auto;
		margin-right:auto;
	}
}

@media screen and (max-width: 767px) {
	.reference {
		padding-top:30px;
		padding-bottom:30px;
	}

	.top_ref_box_img {
		text-align: center;
	}

	.top_ref_box_txt .headline_top_subcontents span:nth-of-type(1) {
		font-size:1.2rem;
	}

	.top_ref_box_txt .headline_top_subcontents span:nth-of-type(2) {
		font-size:1.3rem;
	}

}

@media screen and (max-width: 479px) {
	#slider_pager {
		display:none;
	}
}


/* ===========================================================================================================================
	trouble
=========================================================================================================================== */
.trouble {
	background-color:#e2f0fa;
	padding-top:70px;
	padding-bottom:70px;
}

.subheadline_top_trouble i {
	font-size:4.5rem;
	color:#00509f;
	vertical-align:middle;
}

.box_top_trouble_topic {
	background-color:#FFF;
	margin-top:40px;
	padding:35px;
}

.box_top_trouble_topic p {
	padding:13px;
	padding-left: 0.1rem;
    text-indent: -4.7rem;
    margin-left: 3rem;
}

.box_top_trouble_topic p::before {
	content:url(../img/top_qa_checkbox.png);
	margin-right:15px;
	padding-left:15px;
}

.box_top_trouble_topic p:hover::before {
	content:url(../img/top_qa_checkbox_hover.png);
	display:inline;
}

.box_top_trouble_topic img {
	margin-right:10px;
	margin-top:-3px;
}

.box_top_trouble_topic .odd {
	background-color:#f6f6f6;
}

.box_top_trouble_topic .gutters:nth-of-type(1) {
	padding-bottom:25px;
}

.box_top_trouble_topic .gutters:nth-of-type(2) {
	padding-top:25px;
}

.box_top_trouble_topic a {
	text-decoration: none;
	color:#333;
	display:block;
	padding-left:13px;
}

.box_top_trouble_topic a:hover,
.box_top_trouble_topic p:hover {
	background-color:#0468b2;
	color:#FFF;
}

@media screen and (max-width: 767px) {

	.headline_top_trouble {
		font-size:2rem;
	}

	.headline_top_trouble span {
		display:block;
	}

	.box_top_trouble_topic .gutters:nth-of-type(1) {
		padding-bottom:0px;
	}

	.box_top_trouble_topic .gutters:nth-of-type(2) {
		padding-top:0px;
	}

	.box_top_trouble_topic .gutters .col_6 {
		padding-bottom:10px;
	}
}

@media screen and (max-width: 479px) {
	.box_top_trouble_topic {
		margin-left:auto;
		margin-right:auto;
		padding:20px;
	}
}
/* ===========================================================================================================================
	uv
=========================================================================================================================== */
.top_uv {
  padding-top: 70px;
  padding-bottom: 70px;
}
.top_uv .headline_top_contents {
  margin-bottom: 50px;
}
.top_uv .headline_sub {
  padding-top: 0;
  padding-bottom: 10px;
  text-align: center;
}
.top_uv .headline_top_contents .snsicon {
	margin-bottom: 0;
}
/* ===========================================================================================================================
	careers
=========================================================================================================================== */
.careers {
	padding-top:70px;
	padding-bottom:70px;
    background-color:#e2f0fa;
}

@media screen and (max-width: 767px) {
	.careers {
		padding-top:30px;
		padding-bottom:30px;
	}
}

/* ===========================================================================================================================
	SNS
=========================================================================================================================== */
.sns {
	padding: 70px 30px;

	background-color: #0468b2;
	border-bottom: 1px solid #ccc;
}

.sns .content_wrapper {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}
.sns .sns_twitter,
.sns .sns_facebook {
	width: calc(50% - 20px);
}

.bnr_sns {
	margin-top: 80px;
	margin-bottom: 80px;

	display: flex;
	justify-content: space-between;
}
.bnr_sns .item {
	width: 48%;

	border: 1px solid #707070;
}

@media screen and (max-width: 479px) {
	.sns .sns_twitter,
	.sns .sns_facebook {
		width: 100%;
	}
	.sns .sns_facebook {
		margin-bottom: 30px;
	}
	.sns .sns_youtube {
		margin-bottom: 30px;
	}

	.bnr_sns {
		display: block;

		padding: 0px 30px;
		margin-top: 40px;
		margin-bottom: 40px;
	}
	.bnr_sns .item {
		width: 100%;
	}
	.bnr_sns .item:not(:first-child) {
		margin-top: 40px;
	}
}
/* ===========================================================================================================================
	公式SNSアカウント
=========================================================================================================================== */
.snsaccount {
	margin-top: 70px;
	vertical-align: middle;
}
.sns_container {
	display: flex;
}
.flex {
	display: flex;
	justify-content: end;
	align-items: center;
}
.snsicon {
	margin-right: auto;
}
.iconsize {
	width: 17%;
	margin-left: 30px;
}
@media screen and (max-width: 767px) {
	.sns_container {
			display: block;
		}
	.flex {
		justify-content: center;
		}
	.iconsize {
			margin: 10px;
		}
}
@media screen and (max-width: 479px) {
	.snsaccount {
			margin-top: 20px;
		}
}
