/* ==================== リセット ==================== */

header,
footer,
article,
section,
nav{
	display:block;
	width:auto;
	height:auto;
}

label{
	display:inline;
}

header,
footer,
article,
section,
nav,
h1, h2, h3, h4, h5, h6, p, address,
a,
ul, ol, li, dl, dt, dd,
label,
table, caption, th, td, img, form, hr,body{
	margin: 0;
	padding: 0;
}

h1, h2, h3, h4, h5, h6{
	font-size:14px;
	font-weight:normal;
}

h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd
th, td, hr{
	line-height:160%;
}

table{
	border-collapse: collapse;
}

td, th{
	text-align:left;
	font-weight:normal;
	vertical-align:top;
}
th{
	white-space:nowrap;
}

/* テキストエリア内文字サイズのブラウザ間での差異をなくす */
textarea { font-size: 100%; }


img{
	/* width:100%;（TinyMCEの編集画面でサイズが反映されなくなるのでここでは指定しない）*/
	height:auto;
	vertical-align: bottom; /* 画像の下にできる隙間をなくす */
}

a img	{border: none;}

img.heimax{
	height:100%;
	width:auto;
}

ul{
	list-style:none;
}


/* hr 要素は不可視で使う */
hr{
	border-width:1px 0 0 0; /* 太さ */
	border-style:solid; /* 線種 */
	height: 1px;
	line-height:1px;
	font-size:1px;
	display:block;
	padding:0;
	margin:0;
}

html {
	margin-top: 0px !important;
}
body.mceContentBody,
body {
	font-family:'Noto Sans JP', "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-size: 14px;
	font-weight:400;
}

a{
	text-decoration:none;
	color:#0017FF;
	transition: .3s;
}

a:hover{
	text-decoration:underline;
	color:#0080FF;
}

a img{
	transition: .3s;
}

a:hover img{
	opacity:0.7;
}

#wrap{
	overflow: hidden;
	position: relative;
	width: 100%;
	background:url(images/back.jpg) center top repeat;
}


section,
article{
	margin:0 auto;
	position:relative;
}

section{
	width:960px;
}

/*ヘッダー*/
header{
	background:url(images/back.jpg) center top repeat;
	height:140px;
	width:100%;
	position:fixed;
	top:0;
	z-index:100;
	border-bottom:solid 1px #FFF;
}

header section{
	height:100%;
	display:flex;
	align-items: center;
	align-content: center;
	flex-wrap: wrap;
	color:#FFF;
}

#header_txt,
#h1_nav{
	display:flex;
	width:100%;
}

#h1_nav{
	justify-content: space-between;
	align-content: flex-end;
	align-items: flex-end;
}

header h1{
	width:224px;
}

header h1 img{
	width:100%;
}

#nav_tel{
	text-align:right;
}

#hed_tel{
	font-size:33px;
	font-weight:bold;
	color:#E71F19;
	display:flex;
	justify-content: flex-end;
	align-items: center;
	margin-bottom:15px;
	line-height:100%;
}

#hed_tel img{
	width:23px;
}


#global ul{
	display:flex;
}

#global ul li{
	border-right:solid 1px #000;
	padding:0 0.5em;
	line-height:100%;
}

#global ul li:first-child{
	border-left:solid 1px #000;
}

#global ul li a{
	color:#000;
}


#header_txt{
	font-size:31px;
	font-weight:bold;
	letter-spacing:1.05em;
	white-space: nowrap;
	position:absolute;
	bottom:-2px;
	left:0px;
	line-height:100%;
}

/*フッタ*/
footer{
	background:url(images/footer_back.jpg) no-repeat center top;
	background-size:100% auto;
	color:#FFF;
	height:292px;
}

footer section{
	padding-top:85px;
}

footer .add strong{
	display:block;
}

footer nav ul{
	display:flex;
	justify-content: flex-end;
}

footer nav ul li{
	border-right:solid 1px #FFF;
	padding:0 0.5em;
	line-height:100%;
}

footer nav ul li:first-child{
	border-left:solid 1px #FFF;
}

footer nav ul li a,
footer nav ul li a:hover{
	color:#FFF;
}

footer .copy{
	line-height:18px;
	margin-top:10px;
	font-size:12px;
	font-family:Arial, Helvetica, sans-serif;
	word-break:keep-all;
	text-align:right;
}

#content{
	padding-top:140px;
	position:relative;
}

footer section,
#content section{
	word-break:break-all;
}

footer .add{
	display:flex;
}

footer .add p{
	padding-right:3em;
}

footer h2{
	width:207px;
}


/*コンテンツ*/
article{
	z-index:10;
}

#hedimag{
	background:url(images/hedimag.svg) no-repeat center bottom;
	background-size:1200px 1026px;
}

#hedimag section{
	height:900px;
}

#hedimag img{
	width:auto;
}

#top_txt,
#top_txt02,
#top_txt03{
	text-align:center;
	color:#FFF;
	font-weight:bold;
	position:absolute;
	width:100%;
	line-height:100%;
}

#top_txt{
	font-size:54px;
	line-height:170%;
	top:210px;
}

#top_txt03{
	top:510px;
}

#top_txt03 a{
	display:block;
	width:93px;
	margin:0 auto;
}

#top_txt03 img{
	width:100%;
	height:auto;
}

.ancer_pos{
	position:absolute;
	top:-140px;
	height:0;
}

#hedimag02{
	position:relative;
}

#hedimag02 .flex{
	display:flex;
	flex-wrap: nowrap;
	justify-content: center;
}

#hedimag02 section{
	display:flex;
	justify-content: flex-end;
	background-color:#F7651E;
	height:508px;
	width:50%;
}

#hedimag02 section:nth-child(2){
	background:#F7801E;
	justify-content: flex-start;
}

#hedimag02 section div{
	width:350px;
	text-align:center;
	color:#FFF;
	font-size:18px;
	font-weight:bold;
	background:url(images/hedimag02_01.svg) no-repeat center 90px;
	background-size:152px auto;
	padding:320px 40px 0;
	
}

#hedimag02 section:nth-child(2) div{
	background-image:url(images/hedimag02_02.svg);
	background-size:194px auto;
}

#hedimag02 section div h2{
	font-size:33px;
	font-weight:bold;
	margin-bottom:10px;
}

#hedimag02 .click_link{
	width:100%;
	position:absolute;
	top:480px;
	z-index:20;
}

.click_link a{
	display:block;
	width:93px;
	margin:0 auto;
}

.click_link img{
	width:93px;
	height:auto;
}

#hedimag03,
#hedimag04{
	background:url(images/hedimag03.jpg) no-repeat center center;
	background-size:100% auto;
	height:500px;
	font-size:34px;
	font-weight:bold;
	color:#FFF;
	position:relative;
}

#hedimag03 section,
#hedimag04 section{
	display:flex;
	align-items: center;
	justify-content: center;
	height:100%;
}

#hedimag03 p.link a,
#hedimag04 p.link a{
	display:flex;
	align-items: center;
	color:#FFF;
	transition: .3s;
}

#hedimag03 p.link a:hover,
#hedimag04 p.link a:hover{
	text-decoration:none;
	opacity:0.8;
}


#hedimag03 img,
#hedimag04 img{
	padding:0 10px;
}

#hedimag03 img{ width:217px;}
#hedimag04 img{ width:171px;}

#hedimag04{
	background-image:url(images/hedimag04.jpg);
	margin-bottom:294px;
}

#hedimag03 .click_link{
	width:100%;
	position:absolute;
	top:470px;
	z-index:20;
}

#hedimag03 .click_link img{
	width:100%;
}

#hedimag05{
	background:#FFF;
	padding-top:200px;
}


#hedimag05 .flex{
	margin-top:-400px;
	display:flex;
	justify-content: space-between;
	align-items: stretch;
}

#hedimag05 .flex div{
	background-color:#FFF;
	width:306px;
	box-shadow: 0px 0px 11px 8px rgba(0,0,0,0.12);
	padding:30px 0;
	display:flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: center;
	align-content: space-between;
}

#hedimag05 .flex div.top_rec{
	align-items: center;
	align-content: center;
}

#hedimag05 .flex div h2 a{
	display:block;
	color:#F7801E;
	padding:2em 0;
}


#hedimag05 .flex div h2{
	width:100%;
	color:#F7801E;
	font-size:34px;
	font-weight:bold;
	text-align:center;
	line-height:100%;
	margin-bottom:15px;
}

#top_news ul{
	width:253px;
	margin:0 auto;
}

#top_news li{
	border-bottom:solid 1px #000;
	padding-bottom:0.5em;
	margin-bottom:0.5em;
}

#top_news strong{
	display:block;
	font-size:16px;
}

#top_news .link_btn a{
	width:248px;
	height:39px;
}

.link_btn a{
	display:flex;
	background-color:#F7801E;
	color:#FFF;
	font-size:18px;
	font-weight:bold;
	align-items: center;
	justify-content: center;
	border-radius:20px;
	border:solid 2px #F7801E;
}

.link_btn a:hover{
	text-decoration:none;
	color:#F7801E;
	background-color:#FFF;
}

#hedimag05 .flex div img{
	width:auto;
}


#hedimag06{
	padding-top:30px;
	background-color:#FFF;
}

#hedimag06 h2{
	color:#F7801E;
	font-weight:bold;
	font-size:34px;
	display:flex;
	justify-content: center;
	align-items: center;
	border-bottom:solid 1px #F7801E;
	padding-bottom:25px;
	margin-bottom:25px;
}

#hedimag06 h2 img{
	width:173px;
	padding-right:25px;
}

#hedimag06 .flex{
	font-size:16px;
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#hedimag06 .flex div{
	margin-bottom:50px;
}

#hedimag06 .flex iframe{
	box-shadow: 0px 0px 11px 8px rgba(0,0,0,0.12);
	margin-bottom:15px;
}

#hedimag07{
	background:url(images/top_footer_back01.jpg) no-repeat center top;
	background-size:100% auto;
}

#hedimag07 section{
	height:413px;
}

#hedimag07 .flex{
	height:100%;
	display:flex;
	justify-content: center;
	align-items: center;
	font-size:68px;
	font-weight:bold;
	color:#F7801E;
}


/*通常ページ*/
#content,
body.mceContentBody{
	font-size:16px;
}


article{
	padding:50px 0;
	width:100%;
}

article:nth-child(2),
article:nth-child(5),
article:nth-child(8){
	background-color:#FFF;
}

article:nth-child(3),
article:nth-child(6),
article:nth-child(9){
	background-color:#F2F2F2;
}

body.mceContentBody{
	min-width:960px;
	margin:0 auto;
	background:url(images/back.jpg) center top repeat;
	padding:10px;
	word-break: break-all;
}

body.mceContentBody img,
#content img{
	max-width:100%;
}

body.mceContentBody h1,
#content h1{
	font-size:34px;
	color:#FFF;
	font-weight:bold;
	text-align:center;
	border-bottom:solid 1px #FFF;
	margin-bottom:40px;
	letter-spacing:0.2em;
	display:flex;
	justify-content: center;
	align-items: center;
}

body.mceContentBody h1:before,
#content h1:before{
	content:"";
	display:block;
	background:url(images/about_ico.svg) no-repeat center center;
	background-size:100% auto;
	width:176px;
	height:175px;
	margin-right:40px;
	margin-bottom:40px;
}

body.mceContentBody h2,
#content h2{
	font-size:34px;
	font-weight:bold;
	color:#F7801E;
	margin-bottom:20px;
	letter-spacing:0.2em;
}

article:nth-child(1),
article:nth-child(4),
article:nth-child(7),
#content article:nth-child(1),
#content article:nth-child(4),
#content article:nth-child(7),
article:nth-child(1) h2,
article:nth-child(4) h2,
article:nth-child(7) h2,
#content article:nth-child(1) h2,
#content article:nth-child(4) h2,
#content article:nth-child(7) h2{
	color:#FFF;
}


body.mceContentBody h3,
#content h3{
	font-size:18px;
	font-weight:bold;
	color:#F7801E;
	margin-top:1em;
}

body.mceContentBody h3.mb0,
#content h3.mb0{
	margin-bottom:0;
}

body.mceContentBody h4,
#content h4{
	font-size:18px;
	margin:0.5em 0;
	text-decoration:underline;
}

ul.btn{
	display:flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
}

.btn{
	text-align:center;
	margin-top:1em;
	font-size:16px;
}

.btn a{
	display:inline-block;
	color:#FFF;
	border-radius: 5px;
	background-color:#C80000;
	border:solid 2px #C80000;
	padding:0.5em 1em;
	text-decoration:none;
}

.btn a:hover{
	background-color:#FFF;
	color:#C80000;
}

ul.btn li{
	margin-left:0.5em;
	margin-right:0.5em;
}

ul.tate li{
	width:100%;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:10px;
}

ul.tate a{
	width:50%;
}

body.mceContentBody table,
#content table{
	margin-top:10px;
}

body.mceContentBody td,
#content td,
body.mceContentBody th,
#content th{
	border:solid 1px #F7801E;
	padding:0.25em 1em;
	background-color:#FFFFFF;
	min-width:0.5em;
}

body.mceContentBody th,
#content th{
	background-color:#F7801E;
	border-bottom-color:#FFF;
	color:#FFF;
	text-align:center;
	white-space:nowrap;
}

body.mceContentBody tr:last-child th,
#content table tr:last-child th{
	border-bottom-color:#F7801E;
}

#content .iframe-content{
	position: relative;
	width: 100%;
	padding: 75% 0 0 0;
}

#content .iframe-content iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

body.mceContentBody ul,
#content ul{
	list-style:outside circle;
	padding-left:1.25em;
}


p.mt05em{
	margin-top:0.5em;
}

#content .flex,
body.mceContentBody .flex{
	display:flex;
	justify-content: space-between;
}

.flex .wright{
	width:684px;
}

.flex .wleft_eco{
	width:230px;
	text-align:right;
}


/*投稿関係*/
#archive_news li{
	border-bottom: solid 1px #000;
	padding-bottom:5px;
	margin-bottom:10px;
}

#archive_news strong{
	margin-right:1em;
}

.tablenav{
	display:flex;
	margin-top:40px;
	color:#F7801E;
}

.tablenav a,
.tablenav span{
	border: solid 1px #F7801E;
	min-width: 2em;
	min-height: 2em;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right:1em;
}

.tablenav a{
	background-color:#F7801E;
	color:#FFF;
}

.tablenav a:hover{
	background-color:#FFF;
	color:#F7801E;
}

/*ビジュアルエディター用に調整*/
body.newsbody{
	background:#FFF;
	max-width:960px;
}

#content .newsbody h2{
	margin-bottom:0;
}

#content .newsbody .day{
	text-align:right;
	border-bottom:1px #000 solid;
	padding-bottom:10px;
	margin-bottom:10px;
}

#content .link_btn{
	margin-top:30px;
	display:flex;
	 justify-content: center;
}

#content .link_btn a {
	width:248px;
	height:39px;
}

/*業務案内*/
/*管工事業*/
body.mceContentBody .kankoujigyou h2,
#content .kankoujigyou h2,
body.mceContentBody .kankoujigyou h3,
#content .kankoujigyou h3{
	color:#29BEE2;
}


/*お問い合わせ*/

.asterisk {
	margin: 0 0 0 0.2em;
	color: #C80000;
	font-weight:700;
}
.mini{
	font-size:80%;
}
p.indet{
	text-indent:-1em;
	padding-left:1em;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 textarea {
	background-color: #fff;
	color: #333;
	width: 95%;
	border: 1px solid #BBB;
	font-size: 100%;
	padding: 0.5em;
	border-radius: 4px;
	box-shadow: 1px 1px 3px rgba(0,0,0,.1) inset;
}

.wpcf7 input:placeholder-shown,
.wpcf7 textarea:placeholder-shown{
	color:#AAA;
	opacity: 1;
}
.wpcf7 input::-webkit-input-placeholder,
.wpcf7 textarea::-webkit-input-placeholder{
	color:#AAA;
	opacity: 1;
}
.wpcf7 input:-ms-input-placeholder,
.wpcf7 textarea:-ms-input-placeholder{
	color:#AAA;
	opacity: 1;
}

.wpcf7 input[readonly="readonly"],
.wpcf7 textarea[readonly="readonly"]{
	background-color:#EFEFEF;
	box-shadow:none;
}

.submit_btn{
	display:flex;
	justify-content: center;
}

.wpcf7 input[type="button"],
.wpcf7 input[type="submit"]{
	font-size: 16px;
	font-weight:700;
	letter-spacing:0.1em;
	padding: 0.5em 2em;
	margin:0 1em;
	background: #C80000;
	color: #FFF;
	border-radius: 4px;
	cursor: pointer;
	border: 2px solid #C80000;
	transition: .3s;
}
.wpcf7 input[type="button"]:hover,
.wpcf7 input[type="submit"]:hover {
	background-color:#FFF;
	color: #C80000;
}
.wpcf7 span.wpcf7-not-valid-tip {
	font-size: 80%;
}

span.wpcf7-list-item-label::before, span.wpcf7-list-item-label::after {
	display:none;
}

.wpcf7-radio{
	display:flex;
	flex-wrap: wrap;
}
span.wpcf7-list-item {
	margin:0 0.5em 0.5em 0;
	display:block;
}



/* スマホだけに適用するCSS */
@media only screen and (max-width:640px){

section{
	width:auto;
}

header h1 {
	width: 272px;
}

#hed_tel{
	display:none;
}


#sp_hed_tel a{
	font-size:24px;
	font-weight:bold;
	display:flex;
	justify-content: center;
	align-items: center;
	line-height:100%;
	padding:10px 0;
	border-bottom:solid 1px #FFF;
	color:#E71F19;
}

#sp_hed_tel img{
	width:18px;
}


#header_txt{
	font-size:15px;
	letter-spacing:6px;
}

footer section {
	padding-top:10px;
}

footer{
	background-image: url(images/sp_footer_back.jpg);
	background-size: cover;
	height:auto;
}

footer .add {
	flex-wrap: wrap;
}

footer .add h2 {
	height:30px;
}

footer .add p {
	padding-left:0;
	margin-bottom:20px;
}

footer .copy {
	font-size:12px;
	text-align:center;
	padding-bottom:20px;
}

footer nav{
	display:none;
}

#hedimag{
	position:relative;
	top:0;
	background-size:490px auto;
	height:340px;
	margin-top:60px;
}

#hedimag section{
	width:100%;
}

#hedimag img{
	width:100%;
}

#top_txt {
	font-size: 24px;
	top: 30px;
}

#top_txt02{
	font-size: 36px;
	line-height: 42px;
	top: 60px;
}

#top_txt03 {
	top:180px;
}

#top_txt03 a{
	width:80px;
}

.ancer_pos {
	top:-60px;
}

#hedimag02 section{
	height:400px;
}

#hedimag02 section div h2{
	font-size:20px;
}

#hedimag02 section div{
	width:auto;
	background-position:center 40px;
	background-size: 120px auto;
	padding: 220px 10px 0;
	font-size:14px;
}

#hedimag02 section:nth-child(2) div{
	background-size: 155px auto;
}

.click_link a {
	width:80px;
}

#hedimag03, #hedimag04{
	height: 158px;
	font-size:24px;
}

#hedimag02 .click_link {
	top: 375px;
}

#hedimag03 img {
	width: 90px;
}
#hedimag04 img {
	width: 80px;
}

#hedimag03 .click_link {
	display:none;
}

#hedimag04{
	margin-bottom:0px;
}

#hedimag05 .flex{
	margin-top:0;
	flex-wrap: wrap;
	justify-content: center;
}

#hedimag05 {
	padding-top:40px;
	padding-bottom:40px;
}

#hedimag05 .flex div{
	margin-bottom:20px;
}

#hedimag06 {
	padding:0 20px 1px;
}

#hedimag06 h2 img {
	width:90px;
}

#hedimag06 .flex{
	display:block;
}

#hedimag06 .flex iframe {
	width:100%;
}

#hedimag07{
	background-image:url(images/sp_top_footer_back01.jpg);
}

#hedimag07 section {
	height:145px;
}

#hedimag07 .flex {
	font-size: 30px;
}

#content h1::before {
	width: 50px;
	height:50px;
	margin-bottom:10px;
}

#content .flex{
	flex-wrap: wrap;
	justify-content: center;
}

.flex .wright {
	width:100%;
	margin-top:20px;
}

#content td,
#content th{
	display:flex;
	flex-wrap: wrap;
}

#content th{
	border-bottom-color:#F7801E;
}

}