@charset "UTF-8";
/* CSS Document */


/*基本のCSS-----------------------------------------------------*/

a{
  text-decoration: none;
  color: #000000;
  transition-property: opacity;
  transition-duration: 0.5s;
}

a:hover{
	opacity: 0.7;
}

a:visited{
    color: #000000;
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 300;
  font-style: normal;
}


h1{
  font-weight: 400;
  font-size: 36px;
  margin-top:10px;
  margin-bottom: 10px;
  letter-spacing: 0.08em;
}

.h1{
  font-weight: 300;
  font-size: 26px;
  margin-top:10px;
  margin-bottom: 10px;	
}

h2{
  font-weight: 300;
  font-size: 26px;
  margin-top:10px;
  margin-bottom: 10px;
}

h3{
  font-weight: 300;
  font-size: 21px;
  margin-top:10px;
  margin-bottom: 10px;
}

table{
	border-collapse: separate;
}

th{
  font-weight: 300;
  width: 70px;
}

.th2{
  font-weight: 300;
  width: 150px;
}

.th3{
  font-weight: 300;
  width: 150px;
}


/*ここからクラス別-----------------------------------------------------*/

.b{
  font-weight: 400;
}

.brmb {
    display: none;
}

.brpc {
    display: block;
}

.tr2{
	padding-bottom: 20px;
}

.down80 {
	padding-bottom: 80px;
}
.down40 {
	padding-bottom: 40px;
}
.down20 {
	padding-bottom: 20px;
}

.plhtbig{
	line-height: 1.7;
}

.pright{
  text-align: right;
  margin-top:10px;
  margin-bottom: 10px;	
}

.pleft{
  text-align: left;
  margin-top:10px;
  margin-bottom: 10px;	
}

.pcenter{
	text-align: center;
	margin-top:10px;
  margin-bottom: 10px;
}

.center{
	margin-left:auto;
	margin-right:auto;
}

.big150{
	
	font-size: 150%;
	margin-top: 10px;
}

.lineheight150{
	line-height: 200%;
}



.toprogo{
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 26px;
  width: 300px;
}

.rogoeng{
	font-size: 16px;
	margin-bottom: 20px;
}

.works{
	width: 100%;
	height: auto;
	margin-bottom: 80px;
}

.worksp{
	font-size: 20px;
	margin-top: 10px;
	margin-bottom: 20px;
	text-align: right;
}

.workspleft{
	font-size: 20px;
	margin-top: 20px;
	margin-bottom: 40px;
	text-align: left;
	line-height: 150%;
}


.worksimg{
	margin-bottom: 20px;
}

.suppressor, .suplist ,.suppressor80, .supworks{
	width:90%;
	height: auto;
	margin-left:auto;
	margin-right:auto;
	padding: 0px;
	margin-top: 0px;
	margin-bottom: 0px;
}

.suppressor80{
	max-width: 1200px;
}

.supworks{
	max-width: 1200px;
	margin-left:auto;
	margin-right:auto;
}

.menuindex{
	width: 300px;
	height: auto;
	flex-shrink: 0;
}

.menuh2{
	height: auto;
	margin-right: 20px;
}

.nameeng{
  font-size: 16px;
  margin-top:10px;
  margin-bottom: 10px;	
}

.topname{
	display: flex;
	width: 300px;
	flex-shrink: 0;
}

.worksbox{
	display: flex;
	margin-top: 10px;
	margin-bottom: 80px;
}

.worksbox_child{
	width: 300px;
	height: auto;
    padding: 5px;
}


.worksbox2{
	display: flex;
	margin-top: 10px;
	margin-bottom: 80px;
	flex-wrap: wrap;
}

.worksbox_child2{
	width: 300px;
	height: auto;
    padding: 5px;
	margin-bottom: 60px;
}

.twoflexbox{
	width: 100%;
	height: auto;
	display: flex;
	margin-bottom: 80px;
}

.toppbox{
	width: 100%;
	height: auto;
	margin-left: 40px;
	padding-left: 30px;
	  float: left;
}

.btn{
	text-align: center;
	width: 200px;
	height: auto;
	padding: 10px;
	border: solid 1px #4C4C4C;
}

.map{
	width: 650px;
	height: 400px;
}

/*ここからフッター----------------------------------------------------------------------------------------------------------*/

.pagefooter{
	margin-top: 80px;
}


.footerflex1{
	width: 100%;
	height: auto;
	display: flex;
	justify-content: space-between; 
	margin-top: 30px;
}

.footerflex2{
	width: 100%;
	height: auto;
	display: flex;
	margin-top: 20px;
}


.footerp{
	text-align: left;
}


.footerp2{
	text-align: right;
}


.footer1{
	widows: 500px;
	height: 70px;
}

.footer2{
	widows: 500px;
	height: 70px;
}

.footermenu{
	padding-right: 30px;
	font-size: 16px;
}

.pagefooter{
	margin-bottom: 50px;
}

.maintitle{
	display: flex;
	justify-content: space-between;
	padding-top: 20px;
	padding-bottom: 20px;
　　position: sticky;
  　top: 0;
	background-color: #FFFFFF;
}

.aboutflex{
	display: flex;
	justify-content: space-between;
}

.aboutimg{
	width: 30%;
	height: auto;
	padding-left: 20px;
}

.aboutimg_mb{
	display: none;
}


.contactbtn{
  text-align: right;
  margin-top:10px;
  margin-bottom: 10px;	
}

/* page-top ボタン----------------------------------------------------------------------------------------------------------*/

#page-top {
	position: fixed;
	bottom: 80px;
	right: 20px;
	margin: 0px;
	padding: 0px;
	width: 60px;
}




/*ここからレスポンシブ対応----------------------------------------------------------------------------------------------------------*/
@media(max-width : 1000px ){
   .footerflex1{
	width: 100%;
	height: auto;
	display: block;
	justify-content: space-between; 
	margin-top: 30px;
}
	
	
	.footerp2{
	text-align: left;
	}
	
.twoflexbox{
	width: 100%;
	height: auto;
	display: block;
	margin-bottom: 80px;
}
	
.toppbox{
	width: 100%;
	height: auto;
	margin-top: 20px;
	margin-left: 0px;
	padding-left: 0px;
}
	
.toprogo{
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  margin-bottom: 10px;
  width: 200px;
  height: auto;
}

	
.suppressor, .suplist ,.suppressor80, .supworks{
	width:92%;
	height: auto;
	margin-left:auto;
	margin-right:auto;
	padding: 0px;
	margin-top: 0px;
	margin-bottom: 0px;
}

.suppressor80{
	max-width: 100%;
}
	
.supworks{
	max-width: 100%;
	
}
	
.map{
	width: 100%;
	height: 300px;
}
	
.footermenu{
	padding-right: 10px;
	font-size: 15px;
}
	
.aboutimg{
	display: none;
}
	
.worksbox_child{
	width:  50%;
	height: auto;
    padding: 5px;
}

	
.worksbox_child2{
	width: 50%;
	height: auto;
    padding: 5px;
	margin-bottom: 60px;
}
	
.worksbox{
	display: flex;
	margin-top: 10px;
	margin-bottom: 80px;
	flex-wrap: wrap;
}
	
.worksbox2{
	display: flex;
	margin-top: 10px;
	margin-bottom: 60px;
	flex-wrap: wrap;
}
	
.aboutflex{
	display: block;
}
	
.aboutimg_mb{
	width: 100%;
	display: block;
	margin-top: 30px;
}
	
.brmb {
        display: block;
    }
	
.brpc {
    display: none;
}

	
.workspleft{
	font-size: 16px;
	margin-top: 20px;
	margin-bottom: 40px;
	text-align: left;
	line-height: 150%;
}
	

	
.th2{
  font-weight: 300;
  width: 100px;
}
	
.th3{
  font-weight: 300;
  width: 100%;
  margin-left: 10px;
}
	
	
.mbsmall{
	
	font-size: 26px;
		
	}
	
.psmall{
	font-size:15px;
		
	}
	
.contactbtn{
  justify-content: center;
  text-align: center;
  margin-top:10px;
  margin-bottom: 10px;	
}
	
}
