@charset "utf-8";
/* CSS Document */
@import url(http://fonts.googleapis.com/css?family=Libre+Baskerville:400italic);
* {
    margin: 0;
    }
html, body {
	height: 100%;
	margin: 0px;
	padding: 0px;
	font: 9pt/1.6 "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	color: #333;
	background: url(../img/bg_top.gif);
}

.wrapper {
	min-height: 100%;
    height: auto !important;
    height: 100%;
}

a{
	color:#333;
}

p{
	font-size:14px;
	text-align: justify;
	text-justify: distribute-all-lines;
	line-height: 180%;
	text-align:left;
}

img{
	max-width:100%;
	height:auto;
}

#infscr-loading {
  text-align: center;
  z-index: 100;
  position: fixed;
  left: 50%;
  bottom: 40px;
  margin-left:-100px;
  width: 200px;
  padding: 10px;
  background: #000;
  opacity: 0.8;
  color: #FFF;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}

header{
	width:100%;
	height:auto;
	padding-top:19px;
	float:left;
}

h1{
	width: 199px;
	height: 83px;
	margin: 5px auto 80px;
}

h1 a{
	width:199px;
	height:83px;
	float:left;
	background-image:url(../img/logo.png);
	font-size:0.1em;
	text-indent:-9999em;
}

.simple-menu{
	width: 50px;
	height: 50px;
	background-image: url(../img/sp_menu.png);
	position: absolute;
	font-size: 0.1em;
	text-indent: -9999em;
	cursor: pointer;
}

#tab {
	width: 50px;/* 最初に表示されるバナーの幅 */
	height: 100px;/* バナーの高さ */
	background: url(../img/tab.png) no-repeat;/* 画像のURL */
	position: fixed;/* バナーを固定します */
	right: 0;/* 右から0pxの位置に指定 */
	top: 20px;/* 下から50pxの位置に指定 */
	z-index: 99999;
}

#tab a {/* リンクするエリアをバナー全体に広げる設定 */
	display: block;
	width: 100%;
	height: 100%;
}

#tab:hover {/* カーソルが乗った時の動きを指定 */
	width: 300px;/* バナーが伸びた時の幅 */
	/* 以下アニメーションの設定 */
	-webkit-transition: width ease-in-out 0.5s;
	-moz-transition: width ease-in-out 0.5s;
	-ms-transition: width ease-in-out 0.5s;
	-o-transition: width ease-in-out 0.5s;
	transition: width ease-in-out 0.5s;
}

.push{
	height: 260px;
	clear:left;
}

.cycle-slideshow {
 width: 100%;
 float:left;
}
.cycle-slideshow img {
 width: 100%;
 height: auto
}
/* pager */
.cycle-pager {
 text-align: center;
 width: 100%;
 z-index: 500;
 position: relative;
 overflow: hidden;
}
.cycle-pager span {
 font-family: arial;
 font-size: 50px;
 width: 16px;
 height: 16px;
 display: inline-block;
 color: #ddd;
 cursor: pointer;
}
.cycle-pager span.cycle-pager-active {
 color: #000000;
}
.cycle-pager > * {
 cursor: pointer;
}

.BOXA a:hover img{
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha(opacity=60)";
}

.BOXB{
	float:left;
	width:768px;
	border:1px solid #CCC;
	background: url(../img/bg02.jpg);
	box-sizing: border-box;
	padding-top:20px;
	padding-right:2px;
	padding-left:2px;
	padding-bottom:0px;
	margin:30px 106px 30px 106px;
}

.column2 a:hover img{
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha(opacity=60)";
}

.column2-1 {
	float: left;
	width: 75%;
	height: auto;
	line-height: 180%;
	text-align:left;
}

.column2-2 {
	float: left;
	width: 75%;
	height: auto;
	line-height: 180%;
	text-align:left;
}

.box2{
	float: left;
	width: 100%;
	padding-top: 20px;
	padding-bottom: 20px;
}

.box:nth-child(2){
	display:none;
}

.box3{
	float: left;
	width: 30%;
	height: auto;
	line-height: 180%;
	text-align:left;
}

.box4{
	float: left;
	width: 30%;
	height: auto;
	line-height: 180%;
	text-align:left;
}

.box5{
	float: left;
	width: 30%;
	height: auto;
	line-height: 180%;
	text-align:left;
}

.flexbox_footer_box {
	float:left;
	width:100%;
	background: url(../img/bg02.jpg);
	box-sizing: border-box;
	padding: 30px;
	margin: 60px auto;
}
.box6 {
	width: 100%;
	text-align: center;
}

.flexbox_footer_contacr {
	display: flex;
	flex-flow: row wrap;
	width:100%;
}

.f_item_footer_contacr {
	width: 50%;
}
.f_item_footer_contacr a:hover {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
}
@media (max-width: 767px){
	.flexbox_footer_box {
		padding: 15px;
		margin: 15px auto;
	}
	.f_item_footer_contacr {
		width: 100%;
	}
	.f_item_footer_contacr:nth-child(1) {
		margin-bottom: 15px;
	}
}
/*
.box7{
	float: left;
}

.box8{
	float: left;
}
*/

.areamap {
	float:left;
}

.areamap P {
	text-align:center;
}

.contentsimg{
	float: left;
	width: 33.333%
}

.contents1 {
	float:left;
	width:50%;
}

.contents2 {
	float:left;
	width:50%;
}


table.type01 {
    border-collapse: separate;
    border-spacing: 1px;
    text-align: left;
    line-height: 2;
    border-top: 1px solid #ccc;
}

table.type01 th {
    width: 250px;
    padding: 20px;
	font-size:14px;
    font-weight: bold;
    vertical-align: top;
    border-bottom: 1px solid #ccc;
    background: #efefef;
}

table.type01 td {
    width: 730px;
    padding: 20px;
	font-size:14px;
    vertical-align: top;
    border-bottom: 1px solid #ccc;
}

table.type02 {
    border-collapse: separate;
    border-spacing: 1px;
    text-align: left;
    line-height: 2;
}

table.type02 th {
    width: 980px;
    padding: 20px;
	font-size:14px;
    font-weight: bold;
    vertical-align: top;
    color: #000;
    background: #eee;
}

table.type02 td {
    width: 980px;
    padding: 20px;
	font-size:14px;
    vertical-align: top;
    border-bottom: 1px solid #ccc;
}

.defaultlist,.defaultlist li{
	padding:0px;
	margin:0px;
}

.defaultlist li{
	list-style-type:none !important;
	list-style-image:none !important;
	margin: 10px 0px 15px 0px !important;
}

.list7 li{
	font-size:14px;
	font-weight:bold;
	position:relative;
		display: block;
	padding: 5px 0px 5px 30px;
	background: #eee;
	color: #444;
	border-radius:15px 0px 0px 15px;
}

.list7 li:after{
	content:'';
	display:block;
	position:absolute;
	width:14px;
	height: 14px;
	top:7px;
	left:5px;
	background: #fff;
	border-radius: 10px;
}

/* 施工実績 新レイアウト */
.flexbox_works {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	width: 100%;
	margin-bottom: 30px;
}
.f_item_works {
	width: 48%;
	border:1px solid #CCC;
	box-sizing: border-box;
	padding: 10px;
	margin-bottom: 30px;
}
/* 施工実績 新レイアウト */

.workleft {
	float:left;
	width:48%;
	height:auto;
	border:1px solid #CCC;
	box-sizing: border-box;
	padding-top:5px;
	padding-right:5px;
	padding-left:5px;
	padding-bottom:5px;
}

.workright {
	float:left;
	width:48%;
	height:auto;
	border:1px solid #CCC;
	box-sizing: border-box;
	padding-top:5px;
	padding-right:5px;
	padding-left:5px;
	padding-bottom:5px;
}

.workleft a:hover img{
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha(opacity=60)";
}

.workright a:hover img{
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha(opacity=60)";
}


.work-1 {
	float:left;
	width:50%;
	height:auto;
}

.work-2 {
	float:left;
	width:50%;
	height:auto;
}

footer{
    height: 260px;
	clear:left;
	background: URL(../img/bg02.jpg);
}

.to_top a{
	width:100%;
	background: url(../img/to_top.png) no-repeat center center;
	height:30px;
	display:block;
	font-size:0.1em;
	text-indent:-1000em;
}

footer .wrap ul{
	list-style-type: none;
	padding:0px;
	display: flex;
    justify-content: center;
	margin:20px 0px;
}

footer .wrap ul li{
	float: left;

	padding:0px 12px;
	font-size:12px;
}

footer .wrap h3{
	width:140px;
	height:88px;
	margin:0px auto;
}

footer .wrap h3 a{
	width:140px;
	height:88px;
	background-image:url(../img/footer_logo.png);
	display:block;
	font-size:0.1em;
	text-indent:-1000em;
}

.copy{
	text-align: center;
	margin:20px 0px;
	font-size:12px;
}

.contents{
	width:90%;
	float:left;
	margin:0px 5%;
	padding:20px 0px;
}

h2.ttl{
	width:100%;
	height:60px;
	background-image:url(../img/ttl.png);
	background-repeat:no-repeat;
	font-size:0.1em;
	text-indent:-1000em;
	margin-bottom:5px;
}

.top_info{
	background-position:center 0px;
}

.top_contents{
	background-position:center -60px;
}

.business{
	background-position:center -120px;
}

.area{
	background-position:center -180px;
}

.waterproof {
	background-position:center -240px;
}

.frp {
	background-position:center -300px;
}

.urethane {
	background-position:center -360px;
}

.rubber {
	background-position:center -420px;
}

.polyvinyl {
	background-position:center -480px;
}

.request {
	background-position:center -540px;
}

.paint {
	background-position:center -600px;
}

.role {
	background-position:center -660px;
}

.merit {
	background-position:center -720px;
}

.type {
	background-position:center -780px;
}

.timing {
	background-position:center -840px;
}

.works {
	background-position:center -900px;
}

.company {
	background-position:center -960px;
}

.contact {
	background-position:center -1020px;
}
.dpc {
	background-position:center -1080px;
}
.dyflex {
	background-position:center -1140px;
}

#feed_blog dl{
	width:90%;
	margin:0px 5%;
}

#feed_blog dl a{
	text-decoration:none;
}

#feed_blog dl dt{
	float:left;
	width:18%;
	margin:1%;
}

#feed_blog dl dd{
	float:left;
	width:78%;
	margin:1%;
}

.color{
	color:#690c3c;
}

.map{
	width:100%;
	height:400px;
	margin:20px 0px;
}

ul.select{
	list-style-type: none;
	padding:0px;
	display: flex;
    justify-content: center;
	margin:20px 0px;
}

ul.select li{
	margin:0px 5px;
	cursor:pointer;
}

.active{
	text-decoration:underline;
}
.menu dl{
	width:50%;
	float:left;
}
.menu dl dd.title{
	width:98%;
	color:#690c3c;
	font-weight:bold;
}
.menu dl dd{
	width:78%;
	padding:5px 1%;
	float:left;
}
.menu dl dt{
	width:18%;
	padding:5px 1%;
	float:left;
}
.menu p{
	color:#999;
	font-size:11px;
}
.menu strong{
	font-size:11px;
}
.menu img{
	width:40%;
	margin-left:10%;
}
.contents p{
	line-height:2.0em;
}

@media (max-width: 767px){
.wrapper{
    width: 98%;
	margin:0px 1% -260px;
}

ul.pc{
	display:none;
}

.simple-menu{
	top: 10px;
	left: 0px;
}

h1{
	width:199px;
	height: 83px;
	margin:30px auto 20px;
}

.BOXB{
	float:left;
	width:100%;
	height:auto;
	margin:20px 0px 20px 0px;
	border:1px solid #CCC;
	box-sizing: border-box;
}

.box3{
	clear:left;
	width:100%;
	height: auto;
	margin: 0px 0px 30px 0px;
	text-align:center;
}

.box4{
	clear:left;
	width:100%;
	height: auto;
	margin: 0px 0px 30px 0px;
	padding-left:0%;
	padding-right:0%;
	text-align:center;
}

.box5{
	clear:left;
	width:100%;
	height: auto;
	margin: 0px 0px 30px 0px;
	text-align:center;
}

.box6{
	clear:left;
	width:auto;
	height: auto;
	margin-bottom:30px;
}

.box7{
	clear:left;
	width:100%;
	height: auto;
	margin-bottom:30px;
}

.box8{
	clear:left;
	width:100%;
	height: auto;
	margin-bottom:30px;
}

.box9{
	clear:left;
	width:100%;
	height: auto;
	margin: -28px 0px 0px 30px;
	text-align:center;
}

.column2-1 {
	clear:left;
	width:100%;
	height: auto;
	margin: 0px 0px 30px 0px;
	text-align:center;
}

.column2-2 {
	clear:left;
	width:100%;
	height: auto;
	margin: 0px 0px 30px 0px;
	text-align:center;
}

.areamap {
	clear:left;
	width:100%;
	height:auto;
	text-align:center;
}

.contents1 {
	width:100%;
	clear:left;
}

.contents2 {
	width:100%;
	clear:left;
}

/* 施工実績 新レイアウト */
.f_item_works {
	width: 100%;
}
/* 施工実績 新レイアウト */

.workleft {
	clear::left;
	width:100%;
	margin:0px 0px 10px 0px;
}

.workright {
	clear::left;
	width:100%;
	margin:0px 0px 10px 0px;
}

#feed_blog dl dt{
	clear:both;
	width:98%;
	margin:1%;
}
#feed_blog dl dd{
	float:left;
	width:98%;
	margin:1%;
	border-bottom:1px solid #ccc;
}
.contents{
	width:100%;
	margin:0px;
}
.menu dl{
	width:100%;
	float:left;
}
.menu img{
	width:80%;
	margin:0px 10%;
}

#tab {
	display: none;
}

#tab a {
	display: none;
}

}

@media (min-width: 768px) and (max-width: 980px) {
.wrapper{
    width: 98%;
	margin:0px 1% -260px;
}
.simple-menu{
	top: 50px;
	left: 0px;
}

h1{
	width:199px;
	height: 83px;
	margin:20px auto 20px;
}
ul.pc{
	display:none;
}

.box3{
	width:33.3333%;
	height: auto;
	margin: 0px 0px 30px 0px;
	text-align:center;
}

.box4{
	width:33.3333%;
	height: auto;
	margin: 0px 0px 30px 0px;
	padding-left:0%;
	padding-right:0%;
	text-align:center;
}

.box5{
	width:33.3333%;
	height: auto;
	margin: 0px 0px 30px 0px;
	text-align:center;
}

.box6{
	width:100%;
	height: auto;
	margin-bottom:30px;
	text-align:center;
}

.box7{
	width:50%;
	height: auto;
	margin-bottom:30px;
}

.box8{
	width:50%;
	height: auto;
	margin-bottom:30px;
}

.column2-1 {
	width:45%;
	height: auto;
	margin: 0px 30px 30px 0px;
	text-align:left;
}

.column2-2 {
	width:45%;
	height: auto;
	margin: 0px 0px 30px 30px;
	text-align:left;
}

.areamap {
	clear:left;
	width:100%;
	height:auto;
	text-align:center;
}

.workleft {
	float:left;
	width:48%;
	height:auto;
	margin:0px 10px 20px 0px;
}

.workright {
	float:left;
	width:48%;
	height:auto;
	margin:0px 0px 20px 10px;
}

.contents{
	width:100%;
	margin:0px;
}

.contents1 {
	width:40%;
	height:auto;
	margin:0px 10px 0px 0px;
}

.contents2 {
	width:57%;
	height:auto;
	margin:0px 0px 0px 10px;
}

.menu dl{
	width:100%;
	float:left;
}

}
@media (min-width: 981px) {

.wrapper {
	width:980px;
    margin: 0 auto -260px;
}

.for_smart_menu{
	display:none;
}

header ul.pc{
	list-style: none;
	padding: 0px;
	width: 980px;
	height:50px;
	margin:-50px 0px 30px 0px;
}
header ul.pc li{
	float: left;
	display: block;
	height: 50px;
	width:196px;
}
header ul.pc li a{
	float: left;
	display: block;
	height: 50px;
	background-image: url(../img/global.png);
	font-size:0.1em;
	text-indent: -9999px;
	width:196px;
}

header ul.pc li:nth-child(1) a{
	background-position:-0px 0px;
}
header ul.pc li:nth-child(2) a{
	background-position:-196px 0px;
}
header ul.pc li:nth-child(3) a{
	background-position:-392px 0px;
}
header ul.pc li:nth-child(4) a{
	background-position:-588px 0px;
}
header ul.pc li:nth-child(5) a{
	background-position:-784px 0px;
}

.box4{
	padding-left: 5%;
	padding-right: 5%;
}

.box6{
	width:640px;
	height:25px;
	margin:0px 64px 20px 64px;
}

.box7{
	width: 50%;
	height: auto;
}

.box8{
	width: 50%;
	height: auto;
}

.column2-1 {
	width:320px;
	height: auto;
	margin: 0px 55px 30px 110px;
	text-align:left;
}

.column2-2 {
	width:320px;
	height: auto;
	margin: 0px 110px 30px 55px;
	text-align:left;
}

.areamap {
	clear:left;
	width:100%;
	height:auto;
	text-align:center;
}

.contents1 {
	width:40%;
	height:auto;
	margin:0px 10px 0px 0px;
}

.contents2 {
	width:57%;
	height:auto;
	margin:0px 0px 0px 10px;
}

.workleft {
	float:left;
	width:48%;
	height:auto;
	margin:0px 10px 20px 0px;
}

.workright {
	float:left;
	width:48%;
	height:auto;
	margin:0px 0px 20px 10px;
}

footer .wrap{
	width:980px;
	height:auto;
	margin:0px auto;
}

}
@media all and (-webkit-min-device-pixel-ratio: 1.5) {
h1 a{
	background-image:url(../img/logo@2x.png);
	background-size:199px 83px;
}

.to_top a{
	background-image: url(../img/to_top@2x.png);
	background-size:31px 22px;
	background-position:center center;
	background-repeat:no-repeat;
}
.simple-menu{
	background-image:url(../img/sp_menu@2x.png);
	background-size:50px 50px;
}
h2.ttl{
	background-image:url(../img/ttl@2x.png);
	background-size:320px auto;
}

.box6{
	clear:left;
	width:auto;
	height: auto;
}

.box7{
	clear:left;
	width:auto;
	height: auto;
}

.box8{
	clear:left;
	width:auto;
	height: auto;
}

}

/* MASCOT DOG */
.add-control {
    position: relative;
    opacity: 0;
    animation: late-open 0.5s ease-in 3s forwards;
    position: fixed;
    right: 60px;
    bottom: 60px;
    transition: 1s;
    z-index: 999999;
}
@keyframes late-open {
    to {
        opacity: 1;
    }
}
.add-control .box img {
    transform-origin: center top;
    animation: yurayura 2s ease-in-out infinite;
    width: 250px;
    height: 250px;
}
@keyframes yurayura {
    0% , 100% {
        transform: rotate(10deg);
    }
    50%{
        transform: rotate(-10deg);
    }
}
	@media (min-width: 768px) and (max-width: 980px) {
		.add-control {
		    right: 30px;
		    bottom: 30px;
		}
		.add-control .box img {
		    width: 150px;
		    height: 150px;
		}
	}
    @media (max-width: 767px){
		.add-control {
		    right: 15px;
		    bottom: 15px;
		}
		.add-control .box img {
		    width: 100px;
		    height: 100px;
		}
    }
