
/*  共通  */
.center_wraper{
  width:100%;
  /* 子要素を水平方向の中央に配置する */
  display: flex;
  justify-content:space-around;
}

.center{
  width: clamp(780px,75vw,1250px);
 }

 .top_center{
  width: clamp(780px,75vw,1250px);

 }
 @media screen and (max-width: 780px){
  .center{
    width:100%;
   }
   
  }
 
 .ttl_line {
	border-bottom: 1px solid #A3A3A3;
	padding: 0.2em 0.5em;
	border-left: solid 5px steelblue;
  font-size:clamp(16px, 2vw, 38px);;
  font-weight:700;
	}
  
/*  パーパス  */
.purbg_wrap{
  /* 子要素を水平方向の中央に配置する */
 
  display: flex;
  justify-content: center; 

 background-image: url(../img/purpose/purpose.jpg); 
 background-size:cover;

 width:100%;
/*height:680px;*/
height:45vw;
margin-top: 50px;
} 

.box_wrap{
 display: flex;  /*横並び*/
 /*display: block;  縦並び*/
 justify-content: space-between;
 width:100%;
 /*background-color: azure;*/

}  
.box{
 width:23vw;
 width:clamp(250px,23vw,400px);
 border: 2px solid steelblue;
 border-radius: 10px;
 background-color: rgba(255,255,255,0.6);
 margin: 0;

}
.box h3{
 background: steelblue;
 color: #FFF;
 text-align: center;
 font-size: clamp(14px, 2.3vw, 24px);
 padding-top: 5px;
 padding-bottom: 5px;
}
.box .inner{
 padding: .5em;
 font-size: clamp(14px, 1.8vw, 20px);
 line-height: 1.3em;
}
.pur_zenbun{
 margin-top: calc(1vw * 5);
 margin-bottom: 2.5vw;
 font-size: clamp(14px, 1.8vw, 22px);
 line-height: 1.5em;
}

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

   .purbg_wrap{
     height:500px;
   }
 
   .box_wrap{
      display: block;  /*縦並び*/
   }
   .box{
     width:97%;
     margin-bottom: 15px;
     margin-left: 3px;
   }
   .box h3{
     text-align: left;
     padding-left: 5px;
     
   }
   .box .inner{
    font-size:14px;
      }
   .pur_zenbun{
     margin-top: 10px;
     margin-left: 3px;
   }
 
 }

 /*  FSEの強み　*/
 .strong_wrap{
  width:100%;
  /* 子要素を水平方向の中央に配置する */
  display: flex;
  justify-content: center; 
  margin-bottom: 25px;
} 

.strong_note{
  margin-top: clamp(15px,2.5vw,28px)
}
.strong_p1{
  font-size: clamp(15px,1.8vw,24px);
  font-weight: 600;
  margin-bottom: 1vw;
}
.strong_p2{
  font-size: clamp(14px,1.8vw,20px);
  margin-left: 15px;
  margin-bottom: clamp(10px,1.8vw,20px);
  line-height: 1.2em;
}

.strong_main{
  position: relative;
  width: clamp(750px,75vw,1250px);
  z-index: -1;
}

.strong_img{
width:100%;

}

.strong_main p1 {
position: absolute;

/*font-size: 2.2vw;*/
font-size: clamp(17px,2.7vw,40px);
line-height: 1.6em;
top:7%;
left: 28%;
transform: translate(-50%,-40%);

padding: 1rem;/*文字の周りに余白*/
margin: 1rem;
text-shadow:#333 -1px -1px 1px,#fff 1px 1px 1px;

}

.strong_under{
padding: 0 auto;
font-size: clamp(12px,2vw,32px);
text-shadow:#333 -1px -1px 1px,#fff 1px 1px 1px;

}
@media screen and (max-width: 1000px) {
  .strong_main p1{
    left: 18%;
    transform: translate(-35%,-45%);
    font-size: clamp(16px,3vw,40px);
  }
  .strong_under{
    font-size: clamp(12px,2.5vw,22px);
  }
}

@media screen and (max-width: 430px) {
  .strong_main p1 {
    font-size:14px;
    left: 22%;
    transform: translate(-40%,-50%);
  }
  .strong_under{
    font-size: 10px;
  }

}


/*  アクセス  */

.access_ttl_wrap{
  width:100%;
  /* 子要素を水平方向の中央に配置する */
  display: flex;
  justify-content: center; 
  margin-bottom: 15px;
} 

.access_wrap{
  width:100%;
  height:700px;
  /* 子要素を水平方向の中央に配置する */
  display: flex;
  justify-content: center; 
  /*background-color: ghostwhite;*/
} 

.parent{
  position:relative;
  width:clamp(750px,75vw,1250px);
  height:500px;
  /*background:#9e9e9e;*/
  z-index:-1;
}

.mapdiv{
  position:absolute;
  top:30px;
  left:15px;
 
  
  background:steelblue;
  width:clamp(400px,75vw,680px);
  /*height:clamp(400px,65vw,500px);*/
  border: 1px solid gray;
  z-index: -2;
}

.childcomm{
  position:absolute;
  top:100px;
  right:15px;
 
  width:clamp(400px,75vw,680px);
  height:clamp(250px,55vw,550px);
  /*height:100px;*/
   background-image:url(../img/map/mapcomm.jpg); 
  background-size:cover;
  /*border: 1px solid gray;*/
 
  /* 子要素を水平方向の中央に配置する */
  display: flex;
  justify-content:flex-end; 
  align-items:flex-start;
  z-index: -3;
}

.childcomm P{
/*  background-color: rgba(255,255,255,0.7);*/
  font-weight: bold;
  padding-right: 2.8vw;
  font-size: clamp(12px,1.2vw,25px);
  margin-top: 25px;
}
.mapdiv img{
  vertical-align: middle;    /* img を上下中央に配置 */
	max-width: 100%;           /* div3 width と同じ幅 */
	max-height: 100%;          /* div3 height と同じ高さ */

}

@media screen and (max-width: 1450px) {
  .access_wrap{
   height:clamp(460px,90vw,780px);
   
  }
  
  .childcomm{
     /* 子要素を水平方向の中央に配置する */
  display: flex;
  justify-content:flex-start;
  align-items:flex-end;

  top:165px;
  }
  .childcomm P{
  padding-left: 12px;
  font-size: clamp(12px,1.8vw,18px);
  line-height: 1.5em;
  margin-bottom: 12px;

}
}
@media screen and (max-width: 430px) {
  .mapdiv{
    width:300px;
  }
  .childcomm{
    width:300px;
    top:145px;
  }
  .childcomm P{
    margin-bottom: 20px;
  }
}

/*  会社概要　*/

.company_wrap{
   width:clamp(750px,75vw,1250px);
 /* height:clamp(260px,25vw,500px);*/
  margin-top: 20px;
  margin-bottom: clamp(20px,30vw,60px);
}

.companytbl {
  width:95%;
 /* border-spacing:0;*/
  border-collapse:collapse;
  margin-top:15px;
}
.companytbl th{
  background-color:aliceblue;
  padding: 8px;
  width :20%;
  height :25px;
  border-width:thin;
  border-style: solid;
  border-color :darkgray;
  font-size: clamp(15px, 1.1vw, 18px);

}
.companytbl td{
  padding : 8px ;
  width:80%;
  border-width:thin;
  border-style: solid;
  border-color :darkgrey;
  /*font-size:14px;*/
  font-size: clamp(15px, 1.1vw, 18px);
  line-height: 1.2em;
}

.companytbl02{
  width:95%;
  margin: 0 auto;
  margin-top: 10px;

}
.companytbl02 td {
  width:95%;
 }
.company_pdfdiv{
  float: left;
  padding-right: 14px;
  margin:5px;
  font-size:14px;
/*
  border-width:thin;
  border-style: solid;
  border-color :darkgrey;
  */
}
.pdflink{
 /* text-decoration: none;*/
  color:black;
}

.companytbl02 div{ 
 
  font-size: clamp(12px, 1.5vw, 16px);
  margin-bottom: 12px;
}
.pdficon{
  background-color: #dc143c;
  font-size: clamp(10px, 1.2vw, 12px);
  color:white;
  font-weight: bold;
  margin-left: 7px;
  margin-right: 7px;
  margin-top: 17px;
  padding: 2px;
}

@media screen and (max-width: 650px) {
  .company_wrap{
   width:100%;
   display: block;
  }

  .companytbl th {
    display: block;
    width: 100%;
    font-size: 12px;
    height :20px;
    text-align: left;
  } 
  .companytbl td {
    display: block;
    width: 100%;
    font-size: 12px;
   
  } 

}

/*  フジワークグループへのリンクボタン　*/
.company_grwrap{
 display: flex;
 justify-content:center;
 margin: 30px;
}

.groupbtn_div{
 border-radius: 10px; 
 background-color:aliceblue;
 width:clamp(450px,12vw,850px);
 text-align: center;
 padding-top:clamp(15px,1.8vw,30px);
 padding-bottom: clamp(15px,1.8vw,30px);
}

.company_grLink{
  color: gray;
  text-decoration: none;
  font-size:clamp(14px,1.5vw,22px);
  font-weight: bold;
}



/*  ご挨拶  */


.greeting_wrap{
  width:clamp(750px,75vw,1250px);
 /* height:clamp(260px,25vw,500px);*/
  display: flex;
  justify-content: space-between;
  margin-top: clamp(5px,1vw,50px);
  margin-bottom: clamp(20px,75vw,50px);
}
.greet_left{
  width:clamp(450px,50vw,700px);
  padding-left: 5px;
  padding-top: 10px;
  font-size:clamp(14px,1.5vw,18px);
  line-height: 1.3em;
}


.greet_right{
  width:clamp(250px,23vw,350px);
  height:auto;

  text-align: center;
  margin-left: 10px;
}

.greetimg1{
  margin-top: 15px;
  width:100%;
}
.greetimg2{
  width:100%;

}
@media screen and (max-width: 800px) {
  .greeting_wrap{
   width:100%;
   display: block;
  }
  .greet_left{
    width: 90%;
    margin-left: 2px;
  }
  .greet_right{
    margin: 0 auto; /*画像を中央寄*/
  }
}

/*  問い合わせ  */
.contact_center{
  width:100%;
  height:40vw;
  /* 子要素を水平方向の中央に配置する */
  background-image: url(../img/contact/contact.jpg); 
  background-size: cover;
  display: flex;
  justify-content: center; 
} 

.contact_wrap{
  width:clamp(750px,75vw,1250px);
  height:clamp(160px,25vw,500px);

}
.contact_inner {
    width:100%;
    height:100%;
   
  }
.contact_inner P{
  font-size:clamp(12px,2vw,20px);
  margin-left: 1em;
  margin-top: 1em;
}
.contact_inner span{
  font-size:clamp(15px,3vw,27px);
}



/*  NEWS */
.news_wrap{
  display: flex;
  justify-content: center;
  width:100%;
  margin-top: 5.5vw;
  /*margin-bottom: 10vw;*/
  margin-bottom: 3vw;
  font-size: clamp(14px,1.8vw,20px);
}
.topics_day{
  font-size: clamp(12px,1.8vw,19px);
  color:steelblue;
  /*margin-top: 8px;
  margin-left: 5px;*/
  background-color: aliceblue;
  width:clamp(110px,20vw,200px);
  border-radius: 30px;
  text-align: center;
  border: 1px solid steelblue;
}
.topics_wrap{
  line-height: 1.5;
   border-bottom: 1px solid gray;
   padding-bottom: 22px;
   padding-top: 18px;
   margin-right: 8px;
   margin-left: 8px;
}
.pdflink2{
  text-decoration: none;
  color:black;
  margin-left: 10px;
}
