@charset "utf-8";
/* レイアウトのためのCSS */

body{
    font-family:"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	color: #333;
	font-size: 1.35rem;
	line-height:1.85;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%; 
	word-wrap: break-word;
}

@media screen and (max-width:768px) {
body{
	font-size:0.9rem;
	}
}

*{box-sizing: border-box;}

ul{
	margin:0;
	padding: 0;
	list-style: none;
}

a{
	color: #333;
	text-decoration: none;
    outline: none;
}

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

/* font-family */

#splash-logo,
.top-lead,
h1,
h2,
h3 span,
#g-nav,
#pc-nav,
.openbtn,
#footer{
    font-family: 'Lato', sans-serif;
    letter-spacing: 0.1em;
}

/* splash */

#splash-logo{
	width: 300px;
    font-size: 1.2rem;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: #0083d2;
}

/* g-nav */

#g-nav.panelactive li:last-child a{
    margin: 30px 0 0 0;
    padding: 10px 20px;
    border: 2px solid #fff;
    white-space: nowrap;
}

/*pc-nav*/


#pc-nav span.bgLRextend::before{
    background:#0083d2;
}


@media screen and (max-width:990px) {
    #pc-nav{
        display: none;
    }
}

/* heading */

h1{
    text-transform: uppercase;
    font-size: 1.5rem;
    position: absolute;
    top: 40%;
    left: 5%;
    line-height: 1;
    letter-spacing: 0.2em;
}

@media screen and (max-width:550px) {
    h1{
        font-size:1.2rem;
        top: 32%;
    }
}


h1 a{
    color:#0083d2;
}

h2{
    text-transform: uppercase;
    font-size: 3rem;
}

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

  h2{
      font-size:2rem;
    }
}

/* lead */

.top-lead {
    position: fixed;
    bottom: 10%;
    left: 5%;
    font-size: 3rem;
    text-transform: uppercase;
    font-weight: bold;
    line-height: 1.5;
    color: #0283d2;
    /* font-size: 36pt; */
    letter-spacing: 4px;
    text-shadow: 2px 2px 1px #ffffff, -2px 2px 1px #ffffff, 2px -2px 1px #ffffff, -2px -2px 1px #ffffff, 2px 0px 1px #ffffff, 0px 2px 1px #ffffff, -2px 0px 1px #ffffff, 0px -2px 1px #ffffff;
}


.top-lead span.bgLRextend::before{
    background:#333;
}

@media screen and (max-width:550px) {
.top-lead{
    font-size:2.2rem;
    }
}
@media screen and (max-width:380px) {
.top-lead{
    font-size:1.8rem;
    }
}

.top_sub-lead {
	/*position: relative;*/
    /*position: fixed;*/
    bottom: 70%;
    /*left: 40%;*/
	/*text-align: center;*/
    font-size: 5rem;
    text-transform: uppercase;
    font-weight: bold;
    line-height: 1.5;
    color: #0283d2;
    /* font-size: 36pt; */
    letter-spacing: 4px;
    text-shadow: 2px 2px 1px #ffffff, -2px 2px 1px #ffffff, 2px -2px 1px #ffffff, -2px -2px 1px #ffffff, 2px 0px 1px #ffffff, 0px 2px 1px #ffffff, -2px 0px 1px #ffffff, 0px -2px 1px #ffffff;
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
	
}

/*.top_sub-lead p {
  position: absolute;絶対配置
  color: white;文字は白に
  top: 0;
  left: 0;
  }*/

.top_sub-lead span.bgLRextend::before{
    background:#333;
	
}

@media screen and (max-width:550px) {
.top_sub-lead{
    font-size:2.2rem;
    }
}
@media screen and (max-width:380px) {
.top_sub-lead{
    font-size:1.8rem;
    }
}

/* main-area */

#main-area{
    width:90%;
    margin:0 auto;
    padding: 50px 0; 
}

/* topics */

#topics{
    border-left:3px solid #000;
    padding: 0 0 0 20px;
}

@media screen and (max-width:768px) {
    #topics{
        margin:0 0 100px 0;
}
}

#topics h2{
    font-size: 1.5rem;
}

#topics h2 span.bgLRextend::before{
    background:#333;
}

.bx-wrapper{
    box-shadow:none;
    border:none;
}

/* vision */

#vision{
    display: flex;
    justify-content:space-between;
    align-items: center;
    flex-wrap: wrap;
    margin:0 0 100px 0;
}

@media screen and (max-width:768px) {
    #vision{
        margin:0 0 50px 0;
    }
    
}

/*#vision .img{
    width:40%;
    min-height: 590px;
    background:url("../img/pict_01.jpg") no-repeat center;
    background-size: cover;
}*/
#vision .img {
    width: 40%;
    min-height: 650px;
    background: url(../img/pict_01.jpg) no-repeat center;
    background-size: cover;
}

#vision .content{
   width:50%; 
    text-align: right;
}

@media screen and (max-width:768px) {
  #vision .img{
    width:100%;
    min-height: 290px;
      margin:0 0 50px 0;
}

#vision .content{
   width:100%; 
    text-align: left;
}  
}

#vision h2{
    color:#0083d2;
    margin:0 0 30px 0;
}

#vision p {
    line-height: 2;
    margin: 0 0 50px 0;
    font-size: 1.1em;
}

#vision .vision-lead{
    position: relative;
    color:#0083d2;
    font-size: 1.5rem;
    font-weight: bold;
    margin: 0 0 90px 0;
}

@media screen and (max-width:768px) {
#vision .vision-lead{
    font-size:1rem;
    }
    
}

#vision .vision-lead::after{
     content:'';
    position: absolute;
    bottom:-30px;
    right:0;
    background:#0083d2;
    width:12em;
    height: 3px;
}

/* service */

#service h2{
    text-align: center;
    margin:0 0 100px 0;
	color: #0083d2;
}

@media screen and (max-width:550px) {
#service h2{
    margin:0 0 50px 0;
    }
}

#service h2 span.bgLRextend::before{
    background:#0083d2;
}


#service .service-area{
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin:0 0 300px 0;
}

@media screen and (max-width:768px) {
#service .service-area{
    margin:0 0 200px 0;   
}
}

@media screen and (max-width:590px) {
 #service .service-area{
    margin:0 0 50px 0;   
}
   
}

#service .service-area::after{
     content:'';
    position: absolute;
    width: 70%;
    height: 23em;
    background:#f3f3f3;
    right:10%;
    top:20%;
    z-index: -1;
}


#service .service-area:nth-of-type(2n+1){
     flex-direction: row-reverse;
}


#service .service-area .img{
    width:50%;
}

#service .service-area .content{
    width:40%;
    background:#fff;
    box-shadow: 0 0 20px #ccc;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    top:150px;
}

@media screen and (max-width:768px) {
#service .service-area .content{
    width:47%;
    top:100px;
    }  
}

@media screen and (max-width:590px) {
#service .service-area .img{
    width:100%;
    z-index: 2;
}
#service .service-area .content{
    width:100%;
    top:-10px;
    animation:none;
    opacity: 1;
    z-index: 1;
}
}

#service .service-area .content-area{
    padding:40px;   
}

#service .service-area .content-area h3{
     text-align: center;
    font-size: 1.3rem;
    margin: 0 0 30px 0;
	color:#0083d2;
}

#service .service-area .content-area h3 span{
    font-weight: bold;
    text-transform: uppercase;
    display: block;
    font-size: 1.8rem;
}

#service .service-area .content-area p {
    margin: 0 0 30px 0;
    font-size: 1.1em;
}

#service .btn{
    text-align: right;
}


/* history */

#history h2{
    text-align: center;
    margin:0 0 100px 0;
	color: #0083d2;
}

@media screen and (max-width:550px) {
#history h2{
    margin:0 0 50px 0;
    }
}

#history h2 span.bgLRextend::before{
    background:#0083d2;
}


#history .service-area{
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin:0 0 300px 0;
}

@media screen and (max-width:768px) {
#history .service-area{
    margin:0 0 200px 0;   
}
}

@media screen and (max-width:590px) {
 #history .service-area{
    margin:0 0 50px 0;   
}
   
}

#history .service-area::after{
     content:'';
    position: absolute;
    width: 70%;
    height: 23em;
    background:#f3f3f3;
    right:10%;
    top:20%;
    z-index: -1;
}


#history .service-area:nth-of-type(2n+1){
     flex-direction: row-reverse;
}


#history .service-area .img{
    width:50%;
}

#history .service-area .content{
    width:40%;
    background:#fff;
    box-shadow: 0 0 20px #ccc;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    top:150px;
}

@media screen and (max-width:768px) {
#history .service-area .content{
    width:47%;
    top:100px;
    }  
}

@media screen and (max-width:590px) {
#history .service-area .img{
    width:100%;
    z-index: 2;
}
#history .service-area .content{
    width:100%;
    top:-10px;
    animation:none;
    opacity: 1;
    z-index: 1;
}
}

#history .service-area .content-area{
    padding:40px;   
}

#history .service-area .content-area h3{
     text-align: center;
    font-size: 1.3rem;
    margin: 0 0 30px 0;
	color:#0083d2;
}

#history .service-area .content-area h3 span{
    font-weight: bold;
    text-transform: uppercase;
    display: block;
    font-size: 1.8rem;
}

#history .service-area .content-area p{
     margin:0 0 30px 0;   
}

#history .btn{
    text-align: right;
}




/* about */

#about{
    margin: 0 0 200px 0;
}

@media screen and (max-width:768px) {
#about{
    margin: 0 0 100px 0;
}
    
}

#about h2{
    text-align: center;
    color:#0083d2;
    margin:0 0 100px 0;
}

@media screen and (max-width:550px) {
#about h2{
    margin:0 0 50px 0;
    }
}

#about h3{
    text-align: center;
    /*color:#0083d2;*/
    margin:0 0 40px 0;
	font-size: 1.5em;
 }
#about h3 span{
    text-align: center;
color: #666666;
	/*margin:0 0 100px 0;
	font-size: 1.5em;*/
	background: linear-gradient(transparent 60%, #d0f3ff 60%);
 }

@media screen and (max-width:550px) {
#about h3{
    margin:0 0 50px 0;
    }
}

.text{
   width: 96%;
    max-width: 900px;
    margin: 0 auto;
	    margin-bottom: 100px;
}

#about .about-list{
   width: 96%;
    max-width: 900px;
    margin: 0 auto;
}

#about .about-list li{
    border-bottom: 1px solid #ccc;
    margin:0 0 15px 0;
    padding: 0 0 15px 0;
}

#about .about-list dl{
     display: flex;
    justify-content: space-between;
}

#about .about-list dt{
    width:30%;
    padding: 0 0 0 40px;
}

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

#about .about-list dt{
     padding:0 0 0 10px; 
    }
}

#about .about-list dd{
    width:65%;
}








/* product */

#product{
    margin: 0 0 200px 0;
}

@media screen and (max-width:768px) {
#product{
    margin: 0 0 100px 0;
}
    
}

#product h2{
    text-align: center;
    color:#0083d2;
    margin:0 0 100px 0;
}

@media screen and (max-width:550px) {
#product h2{
    margin:0 0 50px 0;
    }
}

#product h3{
    text-align: center;
    /*color:#0083d2;*/
    margin:0 0 40px 0;
	font-size: 1.5em;
 }
#product h3 span{
    text-align: center;
color: #666666;
	/*margin:0 0 100px 0;
	font-size: 1.5em;*/
	background: linear-gradient(transparent 60%, #d0f3ff 60%);
 }

@media screen and (max-width:550px) {
#product h3{
    margin:0 0 50px 0;
    }
}


#product .about-list{
   width: 96%;
    max-width: 900px;
    margin: 0 auto;
}

#product .about-list li{
    border-bottom: 1px solid #ccc;
    margin:0 0 15px 0;
    padding: 0 0 15px 0;
}

#product .about-list dl{
     display: flex;
    justify-content: space-between;
}

#product .about-list dt{
    width:30%;
    padding: 0 0 0 40px;
}

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

#product .about-list dt{
     padding:0 0 0 10px; 
    }
}

#product .about-list dd{
    width:65%;
}




/*アクセス*/
#access .about-list{
   width: 96%;
    max-width: 900px;
    margin: 0 auto;
}

#access .about-list li{
    border-bottom: 1px solid #ccc;
    margin:0 0 15px 0;
    padding: 0 0 15px 0;
}

#access .about-list dl{
     display: flex;
    justify-content: space-between;
}

#access .about-list dt{
    width:30%;
    padding: 0 0 0 40px;
}

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

#access .about-list dt{
     padding:0 0 0 10px; 
    }
}

#access .about-list dd{
    width:65%;
}

.map{
    max-width: 1200px;
    margin: 0 auto;
	    margin-bottom: 100px;
}

@media screen and (max-width:590px) {
.map{
    width: 100%;
    margin: 0 auto;
	    margin-bottom: 100px;
}
}




#access h2{
    text-align: center;
    color:#0083d2;
    margin:0 0 100px 0;
}

@media screen and (max-width:550px) {
#access h2{
    margin:0 0 50px 0;
    }
}



/* faq */

#faq{
    margin:0 0 200px 0;
}

#faq h2{
    text-align: center;
    margin:0 0 100px 0;
	color:#0083d2;
}


#faq h2 span.bgLRextend::before{
    background:#0083d2;
}

.faq-bg{
    position: relative;
    height: 55vh;
    background:url("../img/pict_05.jpg") no-repeat center;
    background-size:cover;
    margin: 0 0 200px 25%;
}

.faq-bg::after{
    content:'';
    position: absolute;
    top:20%;
    left:-32%;
    width:100%;
    height:55vh;
    background:#f3f3f3;
    z-index: -1;
}



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

.faq-bg,
.faq-bg::after{
    height:35vh;
}   
}

@media screen and (max-width:550px) {
#faq{
    margin:0 0 100px 0;
}
    
#faq h2{
 margin: 0 0 50px 0;   
}
    
.faq-bg{
    margin:0 0 100px 25%;
}

.faq-bg,
.faq-bg::after{
    height:20vh;
} 
}


/*ごあいさつ　message*/
#message h2{
    text-align: center;
    margin:0 0 100px 0;
	color: #0083d2;
}

@media screen and (max-width:550px) {
#message h2{
    margin:0 0 50px 0;
    }
}

#message h2 span.bgLRextend::before{
    background:#0083d2;
}


#message .service-area{
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin:0 0 300px 0;
}

@media screen and (max-width:768px) {
#message .service-area{
    margin:0 0 200px 0;   
}
}

@media screen and (max-width:590px) {
 #message .service-area{
    margin:0 0 50px 0;   
}
   
}

#message .service-area::after{
     content:'';
    position: absolute;
    width: 70%;
    height: 23em;
    background:#f3f3f3;
    right:10%;
    top:20%;
    z-index: -1;
}


#message .service-area:nth-of-type(2n+1){
     flex-direction: row-reverse;
}


#message .service-area .img{
    width:50%;
}

#message .service-area .content{
    width:40%;
    background:#fff;
    box-shadow: 0 0 20px #ccc;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    top:150px;
}

@media screen and (max-width:768px) {
#message .service-area .content{
    width:47%;
    top:100px;
    }  
}

@media screen and (max-width:590px) {
#message .service-area .img{
    width:100%;
    z-index: 2;
}
#message .service-area .content{
    width:100%;
    top:-10px;
    animation:none;
    opacity: 1;
    z-index: 1;
}
}

#message .service-area .content-area{
    padding:40px;   
}

#message .service-area .content-area h3{
     text-align: center;
    font-size: 1.3rem;
    margin: 0 0 30px 0;
	color:#0083d2;
}

#message .service-area .content-area h3 span{
    font-weight: bold;
    text-transform: uppercase;
    display: block;
    font-size: 1.8rem;
}

#message .service-area .content-area p{
     margin:0 0 30px 0;   
}

#message .btn{
    text-align: right;
}



/* mold */

#mold h2{
    text-align: center;
    margin:0 0 100px 0;
	color: #0083d2;
}

@media screen and (max-width:550px) {
#mold h2{
    margin:0 0 50px 0;
    }
}

#mold h2 span.bgLRextend::before{
    background:#0083d2;
}


#mold .service-area{
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin:0 0 300px 0;
}

@media screen and (max-width:768px) {
#mold .service-area{
    margin:0 0 200px 0;   
}
}

@media screen and (max-width:590px) {
 #mold .service-area{
    margin:0 0 50px 0;   
}
   
}

#mold .service-area::after{
     content:'';
    position: absolute;
    width: 70%;
    height: 23em;
    background:#f3f3f3;
    right:10%;
    top:20%;
    z-index: -1;
}


#mold .service-area:nth-of-type(2n+1){
     flex-direction: row-reverse;
}


#mold .service-area .img{
    width:50%;
}

#mold .service-area .content{
    width:40%;
    background:#fff;
    box-shadow: 0 0 20px #ccc;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    top:150px;
}

@media screen and (max-width:768px) {
#mold .service-area .content{
    width:47%;
    top:100px;
    }  
}

@media screen and (max-width:590px) {
#mold .service-area .img{
    width:100%;
    z-index: 2;
}
#mold .service-area .content{
    width:100%;
    top:-10px;
    animation:none;
    opacity: 1;
    z-index: 1;
}
}

#mold .service-area .content-area{
    padding:40px;   
}

#mold .service-area .content-area h3{
     text-align: center;
    font-size: 1.3rem;
    margin: 0 0 30px 0;
	color:#0083d2;
}

#mold .service-area .content-area h3 span{
    font-weight: bold;
    text-transform: uppercase;
    display: block;
    font-size: 1.8rem;
}

#mold .service-area .content-area p{
     margin:0 0 30px 0;   
}

#mold .btn{
    text-align: right;
}



/*ファシリティ*/
.facility-bg{
    position: relative;
    height: 55vh;
    background:url("../img/pict_06.jpg") no-repeat center;
    background-size:cover;
    margin: 0 0 200px 25%;
}

.facility-bg::after{
    content:'';
    position: absolute;
    top:20%;
    left:-32%;
    width:100%;
    height:55vh;
    background:#f3f3f3;
    z-index: -1;
}



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

.facility-bg,
.facility-bg::after{
    height:35vh;
}   
}

@media screen and (max-width:550px) {
    
.facility-bg{
    margin:0 0 100px 25%;
}

.facility-bg,
.facility-bg::after{
    height:20vh;
} 
}


/*金型設計*/

.facility-mold-bg{
    position: relative;
    height: 55vh;
    background:url("../img/pict_11.jpg") no-repeat center;
    background-size:cover;
    margin: 0 0 400px 25%;
}

.facility-mold-bg::after{
    content:'';
    position: absolute;
    top:20%;
    left:-32%;
    width:100%;
    height:55vh;
    background:#f3f3f3;
    z-index: -1;
}



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

.facility-mold-bg,
.facility-mold-bg::after{
    height:35vh;
}   
}

@media screen and (max-width:550px) {
    
.facility-mold-bg{
    margin:0 0 100px 25%;
}

.facility-mold-bg,
.facility-mold-bg::after{
    height:20vh;
} 
}



/*樹脂*/
.facility-resin-bg{
    position: relative;
    height: 55vh;
    background:url("../img/pict_03.jpg") no-repeat center;
    background-size:cover;
    margin: 0 0 200px 25%;
}

.facility-resin-bg::after{
    content:'';
    position: absolute;
    top:20%;
    left:-32%;
    width:100%;
    height:55vh;
    background:#f3f3f3;
    z-index: -1;
}



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

.facility-resin-bg,
.facility-resin-bg::after{
    height:35vh;
}   
}

@media screen and (max-width:550px) {
    
.facility-resin-bg{
    margin:0 0 100px 25%;
}

.facility-resin-bg,
.facility-resin-bg::after{
    height:20vh;
} 
}



/*プラスチック成形量産*/
.facility-pla-bg{
    position: relative;
    height: 55vh;
    background:url("../img/pict_20.jpg") no-repeat center;
    background-size:cover;
    margin: 0 0 200px 25%;
}

.facility-pla-bg::after{
    content:'';
    position: absolute;
    top:20%;
    left:-32%;
    width:100%;
    height:55vh;
    background:#f3f3f3;
    z-index: -1;
}



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

.facility-pla-bg,
.facility-pla-bg::after{
    height:35vh;
}   
}

@media screen and (max-width:550px) {
    
.facility-pla-bg{
    margin:0 0 100px 25%;
}

.facility-pla-bg,
.facility-pla-bg::after{
    height:20vh;
} 
}






/*製品実績*/
.facility-sp-bg{
    position: relative;
    height: 55vh;
    background:url("../img/pict_28.jpg") no-repeat center;
    background-size:cover;
    margin: 0 0 200px 25%;
}

.facility-sp-bg::after{
    content:'';
    position: absolute;
    top:20%;
    left:-32%;
    width:100%;
    height:55vh;
    background:#f3f3f3;
    z-index: -1;
}



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

.facility-sp-bg,
.facility-sp-bg::after{
    height:35vh;
}   
}

@media screen and (max-width:550px) {
    
.facility-sp-bg{
    margin:0 0 100px 25%;
}

.facility-sp-bg,
.facility-sp-bg::after{
    height:20vh;
} 
}







/* product インジェクション製品設計*/

#product{
    margin: 0 0 200px 0;
}

@media screen and (max-width:768px) {
#product{
    margin: 0 0 100px 0;
}
    
}

#product h2{
    text-align: center;
    color:#0083d2;
    margin:0 0 100px 0;
}

@media screen and (max-width:550px) {
#product h2{
    margin:0 0 50px 0;
    }
}

#product h3{
    text-align: center;
    /*color:#0083d2;*/
    margin:0 0 40px 0;
	font-size: 1.5em;
 }
#product h3 span{
    text-align: center;
color: #666666;
	/*margin:0 0 100px 0;
	font-size: 1.5em;*/
	background: linear-gradient(transparent 60%, #d0f3ff 60%);
 }

@media screen and (max-width:550px) {
#product h3{
    margin:0 0 50px 0;
    }
}

.text{
   width: 96%;
    max-width: 900px;
    margin: 0 auto;
	    margin-bottom: 100px;
}

#product .about-list{
   width: 96%;
    max-width: 900px;
    margin: 0 auto;
}

#product .about-list li{
    border-bottom: 1px solid #ccc;
    margin:0 0 15px 0;
    padding: 0 0 15px 0;
}

#product .about-list dl{
     display: flex;
    justify-content: space-between;
}

#product .about-list dt{
    width:30%;
    padding: 0 0 0 40px;
}

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

#product .about-list dt{
     padding:0 0 0 10px; 
    }
}

#product .about-list dd{
    width:65%;
}



/* plastic プラスチック*/

#plastic{
    margin: 0 0 200px 0;
}

@media screen and (max-width:768px) {
#plastic{
    margin: 0 0 100px 0;
}
    
}

#plastic h2{
    text-align: center;
    color:#0083d2;
    margin:0 0 100px 0;
}

@media screen and (max-width:550px) {
#plastic h2{
    margin:0 0 50px 0;
    }
}

#plastic h3{
    text-align: center;
    /*color:#0083d2;*/
    margin:0 0 40px 0;
	font-size: 1.5em;
 }
#plastic h3 span{
    text-align: center;
color: #666666;
	/*margin:0 0 100px 0;
	font-size: 1.5em;*/
	background: linear-gradient(transparent 60%, #d0f3ff 60%);
 }

@media screen and (max-width:550px) {
#plastic h3{
    margin:0 0 50px 0;
    }
}


#plastic .about-list{
   width: 96%;
    max-width: 900px;
    margin: 0 auto;
}

#plastic .about-list li{
    border-bottom: 1px solid #ccc;
    margin:0 0 15px 0;
    padding: 0 0 15px 0;
}

#plastic .about-list dl{
     display: flex;
    justify-content: space-between;
}

#plastic .about-list dt{
    width:30%;
    padding: 0 0 0 40px;
}

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

#plastic .about-list dt{
     padding:0 0 0 10px; 
    }
}

#plastic .about-list dd{
    width:65%;
}




/* resin 樹脂*/

#resin{
    margin: 0 0 200px 0;
}

@media screen and (max-width:768px) {
#resin{
    margin: 0 0 100px 0;
}
    
}

#resin h2{
    text-align: center;
    color:#0083d2;
    margin:0 0 100px 0;
}

@media screen and (max-width:550px) {
#resin h2{
    margin:0 0 50px 0;
    }
}

#resin h3{
    text-align: center;
    /*color:#0083d2;*/
    margin:0 0 40px 0;
	font-size: 1.5em;
 }
#resin h3 span{
    text-align: center;
color: #666666;
	/*margin:0 0 100px 0;
	font-size: 1.5em;*/
	background: linear-gradient(transparent 60%, #d0f3ff 60%);
 }

@media screen and (max-width:550px) {
#resin h3{
    margin:0 0 50px 0;
    }
}


#resin .about-list{
   width: 96%;
    max-width: 900px;
    margin: 0 auto;
}

#resin .about-list li{
    border-bottom: 1px solid #ccc;
    margin:0 0 15px 0;
    padding: 0 0 15px 0;
}

#resin .about-list dl{
     display: flex;
    justify-content: space-between;
}

#resin .about-list dt{
    width:30%;
    padding: 0 0 0 40px;
}

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

#resin .about-list dt{
     padding:0 0 0 10px; 
    }
}

#resin .about-list dd{
    width:65%;
}




/*囲み*/
.box-design8 {
  margin: 20px auto;
  padding: 20px;
  background-color: #e1eef5;
  box-shadow: 7px -7px #4c9ac0;
}

#box {
    display: flex;
    align-items: center;
    justify-content: center;
    /* width: 400px; */
    /* height: 200px; */
    color: #0283d2;
    /*font-family: 'Raleway';*/
    font-size: 2rem;
    font-weight: bold;
    padding: 15px;
    margin: 30px auto 80px;
    width: 80%;
}

@media screen and (max-width:768px) {
#box {
    display: flex;
    align-items: center;
    justify-content: center;
    /* width: 400px; */
    /* height: 200px; */
    color: #0283d2;
    /*font-family: 'Raleway';*/
    font-size: 1rem;
    font-weight: bold;
    padding: 15px;
    margin: 30px auto 180px;
    width: 100%;
}
}

#box01 {
    display: flex;
    align-items: center;
    justify-content: center;
    /* width: 400px; */
    /* height: 200px; */
    color: #0283d2;
    /*font-family: 'Raleway';*/
    font-size: 1.6rem;
    font-weight: bold;
    padding: 15px;
    margin: 30px auto 80px;
    width: 80%;
}

@media screen and (max-width:768px) {
#box01 {
    display: flex;
    align-items: center;
    justify-content: center;
    /* width: 400px; */
    /* height: 200px; */
    color: #0283d2;
    /*font-family: 'Raleway';*/
    font-size: 1rem;
    font-weight: bold;
    padding: 15px;
    margin: 30px auto 180px;
    width: 100%;
}
}

/*#box {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 200px;
  color: #333333;
  font-family: 'Raleway';
  font-size: 2.5rem;
}*/

.gradient-border {
  --borderWidth: 3px;
  background: #FFFFFF;
  position: relative;
  border-radius: var(--borderWidth);
}

.gradient-border:after {
    content: '';
    position: absolute;
    top: calc(-1 * var(--borderWidth));
    left: calc(-1 * var(--borderWidth));
    height: calc(100% + var(--borderWidth) * 2);
    width: calc(100% + var(--borderWidth) * 2);
    background: linear-gradient(60deg, #335ef7, #5592f3, #cce2f5, #0283d2, #5073b8, #0283d2a3, #badaf2, #0283d25e);
    border-radius: calc(2 * var(--borderWidth));
    z-index: -1;
    animation: animatedgradient 3s ease alternate infinite;
    background-size: 300% 300%;
}

/*.gradient-border:after {
  content: '';
  position: absolute;
  top: calc(-1 * var(--borderWidth));
  left: calc(-1 * var(--borderWidth));
  height: calc(100% + var(--borderWidth) * 2);
  width: calc(100% + var(--borderWidth) * 2);
  background: linear-gradient(60deg, #f79533, #f37055, #ef4e7b, #a166ab, #5073b8, #1098ad, #07b39b, #6fba82);
  border-radius: calc(2 * var(--borderWidth));
  z-index: -1;
  animation: animatedgradient 3s ease alternate infinite;
  background-size: 300% 300%;
}
*/

@keyframes animatedgradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}


/*工程*/

 ul.flow {
    list-style: none;
    border-left: 2px dashed;
    padding-left: 0;
    }
    .first #contents ul.flow > li {
      margin-left: 2em;
      position: relative;
      margin-bottom: 2.5em; }
      @media only screen and (max-width: 560px) {
      ul.flow > li {
          margin-left: 1.5em; } }
      ul.flow > li > h3 {
        margin-bottom: 0.5em;
        border: none;
        padding: 0;
        color: #db4476; }
      ul.flow > li > section {
        margin: 0 !important; }
      ul.flow > li h4 {
        margin-bottom: 1em; }
        ul.flow > li h4 span {
          display: inline-block;
          background: #db4476;
          color: #fff;
          border-radius: 50vh;
          padding: 2px 15px;
          font-weight: normal; }
   ul.flow > li ul {
        margin: 0;
        padding: 0; }
   ul.flow > li:after {
      content: "";
      width: 15px;
      height: 15px;
      border-radius: 50%;
      background: #db4476;
      position: absolute;
      left: calc(-2em - 6px);
      top: .2em; }
      @media only screen and (max-width: 560px) {
   ul.flow > li:after {
          left: calc(-1.5em - 6px); } }
  ul.flow > li:before {
      content: "";
      border-bottom: 1px solid;
      width: 1.5em;
      background: #000;
      position: absolute;
      top: 0.7em;
      left: -2em; }
      @media only screen and (max-width: 560px) {
  ul.flow > li:before {
          left: -1.5em; } }
  ul {
    margin-bottom: 40px; }
  @media only screen and (max-width: 560px) {
   h3 {
      font-size: 4.7vw; } }


/*インジェクション設計イメージ　*/
.facility-mold-d-bg{
    position: relative;
    height: 55vh;
    background:url("../img/pict_02.jpg") no-repeat center;
    background-size:cover;
    margin: 0 0 400px 25%;
}

.facility-mold-d-bg::after{
    content:'';
    position: absolute;
    top:20%;
    left:-32%;
    width:100%;
    height:55vh;
    background:#f3f3f3;
    z-index: -1;
}



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

.facility-mold-d-bg,
.facility-mold-d-bg::after{
    height:35vh;
}   
}

@media screen and (max-width:550px) {
    
.facility-mold-d-bg{
    margin:0 0 00px 25%;
}

.facility-mold-d-bg,
.facility-mold-d-bg::after{
    height:20vh;
} 
}

/*金型工場　未使用*/
.facility-mold-f-bg{
    position: relative;
    height: 55vh;
    background:url("../img/pict_15.jpg") no-repeat center;
    background-size:cover;
    margin: 0 0 400px 25%;
}

.facility-mold-f-bg::after{
    content:'';
    position: absolute;
    top:20%;
    left:-32%;
    width:100%;
    height:55vh;
    background:#f3f3f3;
    z-index: -1;
}



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

.facility-mold-f-bg,
.facility-mold-f-bg::after{
    height:35vh;
}   
}

@media screen and (max-width:550px) {
    
.facility-mold-f-bg{
    margin:0 0 100px 25%;
}

.facility-mold-f-bg,
.facility-mold-f-bg::after{
    height:20vh;
} 
}

/*外観*/

.facility-gaikan-bg{
    position: relative;
    height: 55vh;
    background:url("../img/pict_00.jpg") no-repeat center;
    background-size:cover;
    margin: 200px 0 200px 25%;
}

.facility-gaikan-bg::after{
    content:'';
    position: absolute;
    top:20%;
    left:-32%;
    width:100%;
    height:55vh;
    background:#f3f3f3;
    z-index: -1;
}



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

.facility-gaikan-bg,
.facility-gaikan-bg::after{
    height:35vh;
}   
}

@media screen and (max-width:550px) {
    
.facility-gaikan-bg{
    margin:0 0 100px 25%;
}

.facility-gaikan-bg,
.facility-gaikan-bg::after{
    height:20vh;
} 
}

/* contact */

#contact{
    margin:0 0 100px 0;
}

#contact h2{
    text-align: center;
    margin:0 0 100px 0;
    color: #eb6101;
}

@media screen and (max-width:550px) {
 #contact h2{
     margin:0 0 50px 0;
    }
}

#contact .form-list{
    width:100%;
    max-width: 700px;
    margin: 0 auto;
}

#contact input , button , textarea , select {
	margin:0;
	padding:0;
	border:none;
	outline:none;
	background:none;
    font-size: 16px;
}

#contact .form-list input[type='text'] , 
#contact .form-list input[type='email'] , 
#contact .form-list textarea{
	width:100%;
	border:1px solid #666;
	background:#fff;
	padding: 10px;
	-webkit-appearance:none;
	   -moz-appearance:none;
	        appearance:none;
}

#contact .form-list input[type='text'] , input[type='email'] {
	height:50px;
}

#contact .submit-btn{
    width:152px;
    margin: 0 auto;
}

#contact input[type='submit']{
   border:2px solid #333;
    color: #333;
    text-align: center;
    padding: 5px 20px;
    width:152px;
    margin: 0 auto;
    transition: all .3s;
}

#contact input[type='submit']:hover{
    background: #333;
    color: #fff;
} 

#contact .form-list dl{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	padding:0 0 20px 0;
}

#contact .form-list dt{
    width:30%;
}

#contact .form-list dd{
    width:66%;
}

#contact .form-list textarea {
	height:200px;
}

@media screen and (max-width:768px) {
#contact .form-list dt{
	margin:0 0 10px 0;
}
#contact .form-list dt,
#contact .form-list dd{
    width:100%;
}
	
}

/* footer */

#footer{
    padding: 100px 0;
    border-top:1px solid #333;
    text-align: center;
    background: #fff;
	background-image: linear-gradient(90deg, rgba(144, 245, 154, 0.24), rgba(188, 221, 217, 0.24) 0%, rgba(4, 202, 255, 0.24));
    position: relative;
    text-transform: uppercase;
}

/*#footer .footer-logo{
    font-weight: bold;
    letter-spacing: 0.3em;
    margin: 0 0 50px 0;
    color: #666;
}*/
#footer .footer-logo {
    font-weight: bold;
    letter-spacing: 0.3em;
    margin: 0 0 50px 0;
    color: #666;
    font-size: 0.8em;
}

#footer small{
     color:#888;
}


/* Image
--------------------------------------------------------------*/

.fix img {width: auto !important;}

.edge img,
.addImgCap img {
	border: 5px solid #ffffff;
	box-shadow: 1px 1px 7px #000;	
}

.addImgCap li img {
	margin: 0 auto;
}

.w10 {width: 10%;height: auto;}
.w15 {width: 15%;height: auto;}
.w20 {width: 20%;height: auto;}
.w25 {width: 25%;height: auto;}
.w30 {width: 30%;height: auto;}
.w35 {width: 35%;height: auto;}
.w40 {width: 40%;height: auto;}
.w45 {width: 45%;height: auto;}
.w50 {width: 50%;height: auto;}
.w55 {width: 55%;height: auto;}
.w60 {width: 60%;height: auto;}
.w65 {width: 65%;height: auto;}
.w70 {width: 70%;height: auto;}
.w75 {width: 75%;height: auto;}
.w80 {width: 80%;height: auto;}
.w85 {width: 85%;height: auto;}
.w90 {width: 90%;height: auto;}
.w100 {width: 100%;height: auto;}

.w31 img {max-width: 30px;}
.w81 img {max-width: 80px;}
.w101 img {max-width: 100px;}
.w130 img {max-width: 130px;}
.w120 img {max-width: 120px;}
.w150 img {max-width: 150px;}
.w160 img {max-width: 160px;}
.w180 img {max-width: 180px;}
.w200 img {max-width: 200px;}
.w220 img {max-width: 220px;}
.w230 img {max-width: 230px;}
.w240 img {max-width: 230px;}
.w250 img {max-width: 250px;}
.w260 img {max-width: 260px;}
.w280 img {max-width: 280px;}
.w300 img {max-width: 300px;}
.w320 img {max-width: 320px;}
.w330 img {max-width: 330px;}
.w360 img {max-width: 360px;}
.w370 img {max-width: 370px;}
.w380 img {max-width: 380px;}
.w400 img {max-width: 400px;}
.w410 img {max-width: 410px;}
.w420 img {max-width: 420px;}
.w430 img {max-width: 430px;}
.w440 img {max-width: 440px;}
.w450 img {max-width: 450px;}
.w470 img {max-width: 470px;}
.w480 img {max-width: 480px;}
.w500 img {max-width: 500px;}
.w530 img {max-width: 530px;}
.w550 img {max-width: 550px;}
.w560 img {max-width: 560px;}
.w570 img {max-width: 570px;}
.w580 img {max-width: 580px;}
.w600 img {max-width: 600px;}
.w620 img {max-width: 620px;}
.w630 img {max-width: 630px;}
.w640 img {max-width: 640px;}
.w650 img {max-width: 650px;}
.w680 img {max-width: 680px;}
.w700 img {max-width: 700px;}
.w720 img {max-width: 720px;}
.w750 img {max-width: 750px;}
.w780 img {max-width: 780px;}
.w800 img {max-width: 800px;}
.w840 img {max-width: 840px;}
.w960 img {max-width: 960px;}
.w1000 img {max-width: 1000px}
.h250 { max-height: 250px; width: auto;}



/* text
--------------------------------------------------------------*/
/*フォント装飾
-------------------------------------*/
.gray {
	color: #595757;
}

.size70 {font-size: 70%;}
.size80 {font-size: 80%;}
.size90 {font-size: 90%;}
.size110 {font-size: 110%;}
.size120 {font-size: 120%;}
.size130 {font-size: 130%;}
.size140 {font-size: 140%;}
.size150 {font-size: 150%;}
.size160 {font-size: 160%;}
.size170 {font-size: 170%;}
.size180 {font-size: 180%;}

@media screen and (max-width: 768px){
.size130 {font-size: 100%;}
}

.bold {font-weight: 800}

.mt20 {margin-top: 20px!important;}
.mt30 {margin-top: 30px!important;}
.mt40 {margin-top: 40px!important;}
.mt100 {margin-top: 100px!important;}

.mb-50 {margin-bottom: -50px!important;}
.mb20 {margin-bottom: 20px!important;}
.mb30 {margin-bottom: 30px!important;}
.mb40 {margin-bottom: 40px!important;}
.mb50 {margin-bottom: 50px!important;}
.mb80 {margin-bottom: 80px!important;}
.mb100 {margin-bottom: 100px!important;}


/*改行
-------------------------------------*/
/*PCでは無効（改行しない）*/
.sma{
    display: none;
}

/*スマートフォンでは有効（改行する）*/
@media screen and (max-width:880px) {
    .sma{
        display: block;
    }
}

/*スマホでは無効（改行しない）*/
.pc{
        display: block;
}

/*スマートフォンでは有効（改行する）*/
@media screen and (max-width:880px) {
    .pc{
   display: none;
    }
}

/*非表示
-------------------------------------*/
.display-none{
 display:none;
}


.right{text-align: right;}
.size120{font-size: 120%;}


.blue {
    color: #0083d2;
    background-image: linear-gradient(to top, #209cff 0%, #68e0cf 100%);
}
.blue-b {
    color: #0083d2;
	font-weight: bold;
}

table {
    width: 80%;
    border-collapse: collapse;
    /* text-align: center; */
    margin: 0 auto;
	margin-bottom: 60px;
}

table tr{
  border-bottom: solid 2px white;
}

table tr:last-child{
  border-bottom: none;
}

table th{
  position: relative;
  text-align: left;
  width: 30%;
  background-color: #0283d2;
  color: white;
  text-align: center;
  padding: 10px 0;
}

table th:after{
  display: block;
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  top:calc(50% - 10px);
  right:-10px;
  border-left: 10px solid #52c2d0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

table td {
    text-align: left;
    width: 60%;
    text-align: center;
    background-color: #eee;
    padding: 10px 0;
}

/*画像に重ねる*/
.pic_naname {
  position: relative;
}

.pic_naname img {
  display: block;
}

.pic_naname::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: repeating-linear-gradient(-45deg, rgba(201 72 31 / .6) 0px, rgba(201 72 31 / .6) 1px, rgba(0 0 0 / 0) 0%, rgba(0 0 0 / 0) 50%);
  background-size: 6px 6px;
}


/*サイトマップ*/
.list-013 {
    padding: 1em;
}

.list-013 li {
    list-style-type: none;
    position: relative;
    padding: 0.3em 0.3em 0.3em 1em;
    color: #333333;
    font-size: 1.2em;
	transition: color 1s;
}

.list-013 li :hover{
  color: #0283d2;
}

/*.list-013 li {
    list-style-type: none;
    position: relative;
    padding: .3em .3em .3em 1em;
    color: #333333;
}*/

.list-013 li::before,
.list-013 li::after {
    position: absolute;
    left: 0;
    background-color: #333333;
    content: '';
}

.list-013 li::before {
    top: 1em;
    width: 10px;
    height: 1px;
}

.list-013 li::after {
    top: 0;
    width: 1px;
    height: 100%;
}

.list-013 li:last-child::after {
    height: 1em;
}

.list-013 span {
    display: flex;
    align-items: center;
    font-size: 1.3em;
    font-weight: bold;
}
/*.list-013 span {
    display: flex;
    align-items: center;
}*/

.list-013 span::before {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: 5px;
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%232589d0%22%3E%3Cpath%20d%3D%22M21.8%206h-9l-3-3H2.2C1%203%200%204%200%205.2v13.5C0%2020%201%2021%202.2%2021h19.5c1.2%200%202.2-1%202.2-2.2V8.2C24%207%2023%206%2021.8%206z%22%2F%3E%3C%2Fsvg%3E');
    content: '';
}

/*マウスホバー時にラインマーカーを引くようなアニメーション*/
.marker{
  position: relative;
  z-index: 1;
  cursor: pointer;
}
.marker::after{
  content:"";
  width: 0%;    /*最初はwidth:0にする*/
  height: 18px;
 
	background-image: linear-gradient(-225deg, #a0f2f0 0%, #a1f2f136 100%);
  position: absolute;
  bottom: 4px;
  left: 0;
  z-index: -1;
  transition: all .3s;  /*アニメーションの長さ*/
}	
.marker:hover::after{
  width: 35%;    /*hover時に100%で広がる*/
}



/*工程*/
.list-006 {
    list-style-type: none;
}

.list-006 li {
    /* margin-bottom: 5px; */
    padding: 1.5em 0.7em;
    border-left: 2px solid #2589d0;
    /* background-color: #f2f2f2; */
    /* font-weight: 600; */
    font-size: 1.2em;
}

.list-006 li:before {
    left: 0.2em;
    width: 17px;
    height: 17px;
    background: rgb(254, 218, 229);
    top: 50%;
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}


/*　パンくずリスト　*/
.breadcrumb-001 {
    display: flex;
    gap: 0 22px;
    list-style: none;
    padding: 0;
    font-size: .9em;
	margin-bottom: 40px;
}

.breadcrumb-001 li {
    display: flex;
    align-items: center;
}

.breadcrumb-001 li:first-child::before {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: 4px;
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M11.7%207.5%204%2013.8v6.8c0%20.4.3.7.7.7h4.7c.4%200%20.7-.3.7-.7v-4c0-.4.3-.7.7-.7h2.7c.4%200%20.7.3.7.7v4c0%20.4.3.7.7.7h4.7c.4%200%20.7-.3.7-.7v-6.8l-7.7-6.3h-.9zm12.1%204.4L20.3%209V3.2c0-.3-.2-.5-.5-.5h-2.3c-.3%200-.5.2-.5.5v2.9L13.3%203c-.7-.6-1.8-.6-2.5%200L.2%2011.8c-.2.2-.3.5-.1.7l1.1%201.3c.2.2.5.2.7.1l9.8-8.1h.6l9.8%208.1c.2.2.5.1.7-.1l1.1-1.3c.2-.2.1-.5-.1-.6z%22%20style%3D%22fill%3A%23333333%22%2F%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat;
    content: '';
}

.breadcrumb-001 li:not(:last-child)::after {
    display: inline-block;
    transform: rotate(45deg);
    width: .3em;
    height: .3em;
    margin-left: 10px;
    border-top: 1px solid #333333;
    border-right: 1px solid #333333;
    content: '';
}

.breadcrumb-001 a {
    color: #333333;
    text-decoration: none;
}
