@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap");

/****************************************************************************
	body設定
*****************************************************************************/
body {
	color: #4D4D4D;
	font-size: 14px;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 24px;
	text-align: center;
	overflow-wrap : break-word;
}
body.top {
	color: #000000;
	font-size: 16px;
	text-align: left;
	line-height: 1.75;
}

a {
	color: #4D4D4D;
	text-decoration:none;
}
a:hover {
	color: #4D4D4D;
	text-decoration: underline;
}
header a,
footer a,
.top a {
	color: #000000;
}
header a:hover,
footer a:hover,
.top a:hover {
	color: inherit;
	text-decoration: none;
}

img {
	margin: 0;
	padding: 0;
}

#container{
	width:100%;
	min-width: 1200px;
	margin: 0;
	text-align: center;
}

.flex {
	display: flex;
	flex-wrap: wrap;
}

#wrapper {
	min-width: 1200px;
}

header,
footer,
.top {
	font-family: 'Noto Sans JP', sans-serif;
	color: #000000;
}

header img,
footer img,
.top img {
	max-width: 100%;
	height: auto;
}
.top * {
	box-sizing: border-box;
}

/****************************************************************************
	コンテンツ設定
*****************************************************************************/

/*	ヘッダー
----------------------------------------------------------------------------*/
header {
	height: 115px;
}
header .inner {
	height: 100%;
	padding-left: 1.8%;
	align-items: center;
}
header .logo img {
	height: 52px;
}
header .tel {
	width: 270px;
	height: 100%;
	background-color: #00b3ff;
/*	margin-left: 20px;*/
	display: flex;
	justify-content: center;
	align-items: center;
}
header .tel img {
	height: 69px;
}


/*	グローバルナビ
----------------------------------------------------------------------------*/
nav {
	margin-left: auto;
}
nav ul li {
	position: relative;
}
nav ul li:not(:last-child):after {
	content: '/';
}
nav ul li a,
nav ul li span {
	font-weight: 500;
	margin: 0 30px;
}
nav ul li span {
	position: relative;
	z-index: 99;
}
header nav ul li a:hover,
.top nav ul li a:hover {
	color: #00b3ff;
}

nav ul li .sub_nav {
	display: none;
	width: 160px;
	background-color: #ffffff;
	padding-top: 20px;
	position: absolute;
	left: -15px;
	top: 15px;
	z-index: 9;
}
nav ul li:hover .sub_nav {
	display: block;
}
nav ul li .sub_nav .nav a {
	display: block;
	width: 100%;
	height: 40px;
	background-color: #1da1f2;
	text-align: center;
	line-height: 40px;
	color: #ffffff;
	margin: 0;
}
nav ul li .sub_nav .nav:nth-child(even) a {
	background-color: #4ab4f5;	
}


/*	フッター
----------------------------------------------------------------------------*/
footer {
	border-top: 1px solid #eaeff3;
	text-align: left;
}
footer .inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 80px 10px 40px 45px;
	justify-content: space-between;
}
.top footer a:hover,
footer a:hover {
	color: #00b3ff;
}

#f_info .logo img {
	height: 52px;
}
#f_info .addr {
	font-size: 14px;
	margin: 40px 0 10px;
}
#f_info  .tel img {
	height: 67px;
}

#f_nav .cont {
	margin-left: 30px;
}
#f_nav .link {
	background-image: url(../img/common/f_sign.svg);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 14.5px auto;
	padding-left: 23px;
}
#f_nav .link:not(:first-child) {
	margin-top: 5px;
}
#f_nav ul {
	margin-top: 5px;
	padding-left: 20px;
}

#copyright {
	width: 100%;
	height: 50px;
	background-color: #eaeff3;
	color: rgba(0, 0, 0, 0.5);
	font-size: 14px;
	font-weight: 500;
	display: flex;
	justify-content: center;
	align-items: center;
}

.page_top {
	width: 95px;
	position: fixed;
	right: 0;
	bottom: 50px;
	z-index: 100;
}


/*	共通
----------------------------------------------------------------------------*/

.center{text-align: center;}
.clear{clear: both; overflow: hidden; margin:  auto;}
.int10 {
	text-indent:-1em;
	padding-left:1em;
}
.clearfix:after { content:"."; display:block; clear:both; height:0; visibility:hidden; }
.clearfix { display:inline-block; }

/*	共通
----------------------------------------------------------------------------*/

#contents{
	width:1100px;
	margin:  0 auto;
}
.title {
	background-image:url(../img/common/title.png);
	background-repeat:no-repeat;
	width:947px;
	margin:10px auto 30px auto;
	padding: 0 0 0 35px;
	font-size:25px;
	line-height:68px;
	font-weight:bold;
	text-align:left;
	height:68px;
	}
.style_red {
	color:#e00012;
	}
/*　TOP
----------------------------------------------------------*/
.top .bg {
	background-color: #eaeff3;
}
.top section {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 80px 45px;
}

.top .section_ttl .ttl_en {
	display: inline-block;
	background-color: #00b3ff;
	color: #ffffff;
	line-height: 1;
	margin-bottom: 15px;
	padding: 3px 5px;
}
.top .section_ttl .ttl_ja {
	font-size: 28px;
	font-weight: 500;
	line-height: 1.4;
	margin-bottom: 60px;
	position: relative;
}
.top .section_ttl .ttl_ja:after {
	content: '';
	width: 70px;
	height: 3px;
	background-color: #00b3ff;
	position: absolute;
	left: 0;
	bottom: -20px;
}

.top .section_cont ul {
	justify-content: space-between;
}

#main_img {
	height: 750px;
	position: relative;
}
#main_img .main_txt {
	position: absolute;
	left: 5%;
	bottom: 130px;
	z-index: 3;
}
#main_img .main_img {
	width: 56%;
	position: absolute;
	right: 0;
	bottom: -60px;
}
@media screen and (max-width: 1480px) {
	#main_img .main_txt {
		left: 3%;
		top: 60px;
		bottom: auto;
	}
}

#top01 section {
	padding-top: 160px;
}

#top02 ul li .img,
#top04 ul li .img {
	position: relative;
}
#top02 ul li .img:before,
#top04 ul li .img:before {
	content: '';
	width: 40px;
	height: 40px;
	background-color: #00b3ff;
	background-image: url(../img/top/top_sign.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 12px auto;
	position: absolute;
	right: 0;
	bottom: 0;
}

#top01 {
	background-image: url(../img/top/top01_bg.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	color: #ffffff;
}
#top01 .section_ttl {
	text-align: center;
}
#top01 .section_ttl .ttl_en {
	background-color: #ffffff;
	color: #00b3ff;
}
#top01 .section_ttl .ttl_ja:after {
	background-color: #ffffff;
	right: 0;
	margin: auto;
}
#top01 .section_ttl .txt {
	max-width: 586px;
	font-size: 20px;
	margin: 0 auto;
	text-align: left;
}

#top02 ul {
	margin-top: 60px;
}
#top02 ul li {
	width: 31.53%;
}
#top02 ul li .ttl {
	font-size: 25px;
	line-height: 1;
	padding-bottom: 10px;
}
#top02 ul li .ttl span {
	display: inline-block;
	color: #00b3ff;
	font-size: 15px;
	font-weight: 500;
	line-height: 25px;
	margin-right: 20px;
	position: relative;
}
#top02 ul li .ttl span:after {
	content: '';
	width: 1px;
	height: 25px;
	background-color: #00b3ff;
	position: absolute;
	right: -10px;
	top: -3px;
}

#top03 section {
	padding: 60px 5px;
}
#top03 ul li {
	width: 32.1%;
}

#top04 ul li {
	width: 29.72%;
	margin-top: 40px;
}
#top04 ul li .ttl {
	border-left: 4px solid #00b3ff;
	font-size: 18px;
	font-weight: 500;
	line-height: 21px;
	margin: 10px 0;
	padding-left: 15px;
}
#top04 ul li .txt {
	color: #808080;
}
#top04 ul li:last-child {
	padding-bottom: 70px;
	display: flex;
	justify-content: center;
	position: relative;
} 
#top04 ul li .top04_txt {
	font-size: 18px;
	padding-top: 45px;
}
#top04 ul li .top04_btn {
	width: 100%;
	height: 50px;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 70px;
}
#top04 ul li .top04_btn a {
	width: 100%;
	height: 100%;
	background-color: #00b3ff;
	background-image: url(../img/top/top_sign.svg);
	background-position: right 50px center;
	background-repeat: no-repeat;
	background-size: 12px auto;
	border-radius: 5px;
	color: #ffffff;
	display: flex;
	justify-content: center;
	align-items: center;
}

#top05 .section_ttl .ttl_ja {
	margin-bottom: 40px;
}
#top05 ul {
	width: 100%;
	background-color: #ffffff;
	border-radius: 10px;
	margin-top: 30px;
	padding: 20px;
}
#top05 ul li {
	width: 50%;
	min-height: 110px;
	display: flex;
	justify-content: center;
	align-items: center;
}
#top05 ul li:first-child {
	border-right: 1px solid #00b3ff;
}
#top05 ul li img {
	height: 67px;
}
#top05 ul li .twitter {
	margin-right: 50px;
}

#top06 {
	width: 100%;
	height: 400px;
	background-image: url(../img/top/top06_bg.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	align-items: center;
}
#top06 .link {
	text-align: center;
}
#top06 .link a {
	padding: 60px;
}
#top06 .link a img {
	height: 24px;
}

	
/*　浄化槽点検・保守
----------------------------------------------------------*/

.mainte_head {
	width:1100px;
	margin:auto;
	position:relative;
}
.mainte_bread {
	width:980px;
	text-align:left;
	font-size:17px;
	position:absolute;
	top:25px;
	left:60px;
	color:#fff;
	}
.mainte_bread a {
	color:#fff;
	text-decoration:none;
	}
.mainte_bread a:hover {
	text-decoration:underline;
	}
.mainte_comm1 {
	margin:18px auto 5px auto;
	text-align:center;
	font-size:16px;
	line-height:28px;
	}

.mainte_point {
	background-color:#fcfbe8;
	width:1100px;
	text-align:center;
	margin:0 auto 45px auto;
	padding:5px 0 30px 0;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	behavior: url(../css/PIE.htc);
	}	
.mainte_img {
	text-align:center;
	margin:auto;
	position:relative;
}
.mainte_img2_text1a {
	width: 620px;
	font-size: 32px;
	font-weight: bold;
	line-height: 37px;
	text-align: left;
	position: absolute;
	left: 128px;
	top: 30px;
	}
.mainte_img2_text1b {
	width: 620px;
	font-size: 32px;
	font-weight: bold;
	line-height: 37px;
	text-align: left;
	position: absolute;
	left: 160px;
	top: 110px;
	}
.mainte_img2_text2a {
	width: 360px;
	font-size: 25px;
	font-weight:bold;
	line-height: 37px;
	text-align: left;
	position: absolute;
	left: 250px;
	top: 319px;
	}
.mainte_img2_text2b {
	width: 360px;
	font-size: 25px;
	font-weight:bold;
	line-height: 37px;
	text-align: left;
	position: absolute;
	left: 250px;
	top: 435px;
	}
.mainte_img2_text2c {
	width: 360px;
	font-size: 25px;
	font-weight:bold;
	line-height: 37px;
	text-align: left;
	position: absolute;
	left: 254px;
	top: 570px;
	}
.mainte_img4_img {
	width:400px;
	float:left;
	margin:20px 20px 20px 100px;
	 }
.mainte_img4_map {
	width:400px;
	height:286px;
	float:left;
	margin:20px 20px 20px 100px;
	 }
.mainte_img4_text{
	width: 520px;
	margin:40px 0 20px 0;
	font-size: 33px;
	font-weight:bold;
	line-height: 44px;
	text-align: left;
	float:left;
	}
.mainte_img4_text p {
	font-size:22px;
	margin:0 0 35px 0;
	}
.mainte_img5_text1 {
	width: 420px;
	font-size: 16px;
	line-height: 24px;
	text-align: center;
	color: #ff801e;
	position: absolute;
	left: 177px;
	top: 254px;
	}
.bt_contact {
	width:466px;
	margin:20px auto;
	}
.mainte_flow {
	background-color:#e8f9f9;
	width:980px;
	text-align:center;
	margin:0 auto 45px auto;
	padding:5px 60px 30px 60px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	behavior: url(../css/PIE.htc);
	}	
.mainte_flow_title {
	width:980px;
	margin:30px auto;
	text-align:left;
	font-size:16px;
	line-height:28px;
	}
.mainte_flow_title img {
	float:left;
	}
.mainte_flow_step {
	margin:25px auto 0 auto;
	}
.mainte_flow_img1 {
	width:286px;
	margin:43px 14px 25px 35px;
	float:left;
	}
.mainte_flow_img2 {
	width:286px;
	margin:43px 14px 25px 0;
	float:left;
	}
.mainte_flow_text {
	width:330px;
	margin:43px 0 25px 0;
	text-align:left;
	font-size:16px;
	line-height:28px;
	float:left;
	}

.mainte_area_text {
	width: 400px;
	font-size: 16px;
	line-height: 24px;
	text-align: left;
	position: absolute;
	left: 155px;
	top: 110px;
	}
.mainte_area_text2 {
	width: 400px;
	font-size: 16px;
	line-height: 24px;
	text-align: left;
	position: absolute;
	left: 155px;
	top: 270px;
	}
/*　浄化槽修繕
----------------------------------------------------------*/
/*共通*/
.head_img {
	width:100%;
	background-image:url(../img/common/head_img.jpg);
	background-repeat:no-repeat;
	background-position:center;
	overflow:hidden;
	text-align:center;
	margin:0;
	padding:0;
}
.bread {
	width:980px;
	margin:25px auto;
	text-align:left;
	font-size:17px;
	color:#303c80;
	}
.bread a {
	color:#303c80;
	text-decoration:none;
	}
.bread a:hover {
	text-decoration:underline;
	}
.case_img {
	width:730px;
	margin:30px auto;
	}
.case_img img {
	margin-bottom:20px;
	}
.case_img_l {
	width:328px;
	font-size:26px;
	text-align:center;
	margin:15px 74px 15px 0;
	float:left;
	}
.case_img_r {
	width:328px;
	font-size:26px;
	text-align:center;
	margin:15px 0 15px 0;
	float:left;
	}
/*共通*/	
.repair_comm1 {
	width:880px;
	padding:80px 50px 35px 50px;
	margin:30px auto 50px auto;
	background-image:url(../img/repair/img_01_comm.png);
	background-repeat:no-repeat;
	background-position:center;
	font-size:16px;
	line-height:28px;
	text-align:left;
	}
.repair_comm2 {
	font-size:43px;
	line-height:1em;
	font-weight:bold;
	text-align:center;
	margin:50px auto 30px auto;
	color:#e10012;
	}
.repair_comm3 {
	width:800px;
	font-size:16px;
	line-height:27px;
	text-align:left;
	margin:30px auto;
	}
.repair_title {
	width:980px;
	margin:60px auto 0 auto;
	}
.repair_img {
	width:980px;
	margin:20px auto 30px auto;
	}
.repair_img img {
	margin-bottom:20px;
	}
.repair_img_l {
	width:478px;
	font-size:26px;
	text-align:center;
	margin:0 24px 30px 0;
	float:left;
	}
.repair_img_r {
	width:478px;
	font-size:26px;
	text-align:center;
	margin:0 0 30px 0;
	float:left;
	}
.repair_comm4 {
	font-size:43px;
	line-height:1em;
	font-weight:bold;
	text-align:center;
	margin:30px auto;
	color:#ee9200;
	}
.repair_flow_step {
	width:980px;
	margin:25px auto 0 auto;
	}
.repair_flow_text {
	width:780px;
	margin:43px auto 25px auto;
	text-align:left;
	font-size:16px;
	line-height:28px;
	}
.repair_flow_text_s {
	width:370px;
	margin:43px 60px 0 100px;
	text-align:left;
	font-size:16px;
	line-height:28px;
	float:left;
	}
.repair_flow_text_arrow {
	width:370px;
	margin:0 60px 25px 100px;
	float:left;
	}
	
.case_box01{
	width:980px;
	margin:0 auto;
}
.case_box01 img{
	margin:5px 0;
}
.case_box02{
	width:460px;
	float:left;
	text-align:center;
	margin:20px 0;
}
.case_txt01{
	color:#303c80;
	font-size:25px;
	font-weight:bold;
	margin:10px 0 15px;
}
.case_txt02{
	color:#4d4d4d;
	font-size:22px;
	margin:8px 0;
}
.mr_60{
	margin-right:60px;
}
	
	
/*　排水管洗浄
----------------------------------------------------------*/
.drainpipe_img {
	width:980px;
	margin:20px auto 30px auto;
	}
.drainpipe_img_l {
	width:300px;
	margin:0 40px 0 0;
	float:left;
	}
.drainpipe_img_r {
	width:300px;
	margin:0 0 0 0;
	float:left;
	}
.drainpipe_comm1 {
	width:980px;
	font-size:16px;
	line-height:27px;
	text-align:left;
	margin:30px auto;
	}
.drainpipe_flow_step {
	width:980px;
	margin:25px auto 0 auto;
	}
.drainpipe_flow_text {
	width:416px;
	margin:55px auto 25px auto;
	text-align:left;
	font-size:16px;
	line-height:28px;
	float:left;
	}
.drainpipe_flow_img {
	width:328px;
	margin:43px 60px 25px 185px;
	float:left;
	}
/*　貯水槽清掃
----------------------------------------------------------*/
/*　つまり・水漏れ
----------------------------------------------------------*/
.leak_type {
	width:1040px;
	margin:20px auto 30px auto;
	}
.leak_type_in {
	width:510px;
	margin:5px;
	float:left;
	position:relative;
	}
.leak_type_text {
	width:218px;
	position:absolute;
	font-size:16px;
	line-height:23px;
	text-align:left;
	left:280px;
	top:120px;
	}
.leak_type_text span {
	color:#20349b;
	}
.leak_tel {
	width:971px;
	margin:20px auto 60px auto;
	}
.leak_tel img {
	float:left;
	}
/*　会社概要
----------------------------------------------------------*/

.comp_greeting {
	width:914px;
	margin:0 auto 60px auto;
	font-size:16px;
	line-height:28px;
	text-align:left;
	}
.comp_greeting img {
	float:right;
	}
.comp_rinen {
	width:756px;
	margin:20px auto 40px auto;
	}

.comp_table {
	width:800px;
	margin:40px auto 50px auto;
	text-align:left;
	}
.comp_table table {
	margin: 0;
	border-top:1px solid #808080;
	}
.comp_table th {
	width:180px;
	font-size:16px;
	line-height:1em;
	text-align:left;
	padding:15px 15px;
	border-right:1px solid #808080;
	border-bottom:1px solid #808080;
	border-left:1px solid #808080;
	vertical-align:top;
	background-color:#deeaff;
	}	
.comp_table td {
	padding:15px 15px;
	font-size:16px;
	line-height:28px;
	text-align:left;
	border-right:1px solid #808080;
	border-bottom:1px solid #808080;
	}
.comp_access {
	width:912px;
	margin:20px auto 60px auto;
	}
.comp_access_title {
	width:912px;
	font-size:23px;
	line-height:28px;
	text-align:left;
	margin:0 auto 30px auto;
	}
.comp_access_img {
	width:415px;
	margin:0 0 50px 0;
	font-size:16px;
	line-height:28px;
	text-align:left;
	float:left;
	}
.comp_access_img img {
	margin-bottom:20px;
	}
.comp_access_map {
	width:430px;
	margin:0 0 50px 0;
	font-size:16px;
	line-height:28px;
	text-align:left;
	float:right;
	}
.comp_access_map iframe {
	width:430px;
	height:308px;
	}
/*　お問い合わせ
----------------------------------------------------------*/

.contact_comm {
	font-size:26px;
	font-weight:bold;
	line-height:39px;
	text-align:center;
	margin:20px auto 20px auto;
	color:#20349b;
	}
.contact_tel {
	width:712px;
	margin:40px auto 40px auto;
	font-size:29px;
	line-height:36px;
	text-align:center;
	}
.contact_tel img {
	margin-bottom:25px;
	}
.contact_comm2 {
	width:800px;
	margin:0 auto 30px auto;
	font-size:16px;
	line-height:22px;
	text-align:left;
	}
.contact_red {
	width:3em;
	padding:1px 3px;
	background-color:#d41133;
	font-size:16px;
	text-align:center;
	color:#fff;
	}

.contact_table {
	width:800px;
	margin:40px auto 50px auto;
	text-align:left;
	}
.contact_table table {
	margin: 0;
	border-top:1px solid #808080;
	}
.contact_table th {
	width:180px;
	font-size:16px;
	line-height:1em;
	text-align:left;
	padding:15px 15px;
	border-right:1px solid #808080;
	border-bottom:1px solid #808080;
	border-left:1px solid #808080;
	vertical-align:top;
	background-color:#deeaff;
	}	
.contact_table td {
	padding:3px 3px;
	text-align:left;
	border-right:1px solid #808080;
	border-bottom:1px solid #808080;
	}
 .submit_btn {
	border: none;
	margin:30px auto ;
    	width: 164px;
    	height: 44px;
	background: url(../img/common/send.png) no-repeat;
	cursor:pointer;
	cursor:hand;
	}
 .submit_btn:hover{
	filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
	}
.form_style {
	width:96%; 
	height:30px;
	padding:0  5px;
	margin:0 2%;
	vertical-align:middle; 
	font-size:16px; 
	border:1px solid #b5b5b6;
	box-sizing:border-box;
	}
.form_style_s {
	width:60%; 
	height:30px;
	padding:5px  ;
	margin:0 2%;
	vertical-align:middle; 
	font-size:16px; 
	border:1px solid #b5b5b6;
	box-sizing:border-box;
	}
.form_style_tarea{
	width:96%; 
	height:220px; 
	padding:5px ;
	margin:0 2%;
	vertical-align:middle; 
	font-size:16px; 
	border:1px solid #b5b5b6;
	box-sizing:border-box;
	}