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

.Second_kv{
  margin-right: 50px;
  height: 340px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  z-index: 1;
}
.Wrapper_second{
  position: relative;
}
.Wrapper_second:before{
  content: '';
  display: block;
  width: 40vw;
  position: absolute;
  top: 125px;
  right: 0;
  background: #FFF;
  height: 370px;
  z-index: 0;
  
}
  .kv_company{background-image: url("../images/about/kv-about.jpg")}
  .kv_product{background-image: url("../images/product/kv-product.jpg")}
  .kv_develop{background-image: url("../images/development/kv-develop.jpg")}
  .kv_contact{background-image: url("../images/kv-contact.jpg");}
  .kv_news{background-image: url("../images/kv-news.jpg");}
  .kv_access{background-image: url("../images/kv-access.jpg");}
  .kv_recruit{background-image: url("../images/recruit/kv-recruit.jpg");}


.Pagettl{
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 50px 70px 50px;
}

 .Pagettl .ttl_icon{font-size: 4.4rem;}

.page_wrap{
  position: relative;
}
.bg_object{
  background: #e6ecf0;
  position: absolute;
  z-index: 0;
}
section + section{margin-top: 100px;}
  section section + section{margin-top: 60px;}

.ttl_line{
  font-size: 2.8rem;
  font-weight: 500;
  font-family: "Montserrat", 'Noto Sans JP', "メイリオ", Meiryo, sans-serif;
  border-bottom: 2px solid #121f4e;
  display: inline-block;
  margin-bottom: 30px;
}
  .ttl_line.en{font-size: 3.6rem;}
  .ttl_box{
    border: 1px solid #121f4e;
    font-size: 1.4rem;
    vertical-align: middle;
    padding: 3px 10px;
    display: inline-block;
    }

.ttl_u-line{
  position: relative;
  font-size: 3.2rem;
  margin-bottom: 40px;
  padding-bottom: 10px;
  font-weight: 500;
}
.ttl_u-line:before{
  content: '';
  display: block;
  background: #CCC;
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.ttl_u-line:after{
  content: '';
  display: block;
  background: #ea5404;
  width: 100px;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}

.ttl_bold{
  font-size: 2.8rem;
  font-weight: 700;
  margin-bottom: 30px;
}
.ttl_bold-m{
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 20px;
}
.ttl_bold-s{
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 10px;
}

.lead{
  font-size: 1.8rem;
  line-height: 2.5;
  font-weight: 500;
}

.Message{
  text-align: center;
  font-size: 1.8rem;
  padding: 50px 0 100px 0;
  line-height: 2;
}

  @media screen and (min-width:768px){
    .flex{display: flex; justify-content: space-between;}
    .flex_3col{
      width: 31%;
    }
    .Second_kv_ttl{
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
      position: absolute;
      bottom: -20px;
      right: -40px;
    }
    .Second_kv_ttl:before{
      content: '';
      width: 1px;
      height: 50px;
      display: block;
      background: #CCC;
      position: absolute;
      top: -60px;
      left: 12px;
    }
  }
  @media screen and (max-width:1024px){
    .Second_kv{
      margin-right: 0;
      height: 250px;
    }
    .Second_kv_ttl{
      display: none;
    }
    .Pagettl .ttl_icon{font-size: 4rem;}
    .ttl_line{font-size: 2.4rem;}
    .ttl_line.en{font-size: 3rem;}
    .ttl_u-line{font-size: 2.8rem;}
    .ttl_bold{font-size: 2.4rem;}
  }

  @media screen and (max-width:767px){
    .Second_kv{
      height: 180px;
    }
    
    .Wrapper_second:before{
      height: 100px;}
    .Pagettl{padding: 20px 20px 40px 20px;}
    .Pagettl .ttl_icon{font-size: 2.8rem;}
    .ttl_line{font-size: 1.8rem; line-height: 1.4;}
    .ttl_line.en{font-size: 2.6rem;}
    .ttl_u-line{font-size: 2rem; line-height: 1.4;}
    .ttl_bold{font-size: 2rem;}
    .ttl_bold-m{font-size: 1.8rem;}
    .ttl_bold-s{font-size: 1.6rem;}
    
    .lead{
      font-size: 1.6rem;
      line-height: 2;
    }
    .flex_3col{
      margin-bottom: 20px;
    }
    section + section{margin-top: 50px;}
      section section + section{margin-top: 40px;}
      
    .Message{font-size: 1.6rem;}  
  }

/*Pagemenu*/
.Pagemenu{
  background: #FFF;;
}
.Pagemenu_inner{
  max-width: 1100px;
  margin: 0 auto;
  padding: 30px 20px;
}
.Pagemenu_ttl{
  font-size: 2rem;
  line-height: 1.2;
}
.Pagemenu_ttl span{
  font-size: 1.2rem;
  font-weight: 600;
  color: #ea5404;
  font-family: "Montserrat", 'Noto Sans JP', "メイリオ", Meiryo, sans-serif;
  display: block;
}
.Pagemenu_nav{
  display: flex;
  flex-wrap: wrap;
}
.Pagemenu_nav li{
  margin: 0 1vw;
}
.Pagemenu_nav a.current{
  color: #ea5404;
  border-bottom: 1px solid #ea5404;
}

  @media screen and (min-width:768px){
    .Pagemenu_inner{
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .Pagemenu_ttl{
      padding-right: 2vw;
      margin-right: 2vw;
      border-right: 1px solid #CCC;
    }
  }
  
  @media screen and (max-width:1024px){
    .Pagemenu_ttl{font-size: 2rem;}
    .Pagemenu_ttl span{font-size: 1.2rem;}
  }
  
  @media screen and (max-width:767px){
    .Pagemenu_ttl{font-size: 2rem; margin-bottom: 10px;}
    .Pagemenu_nav{
      
    }
    .Pagemenu_nav li{
      margin: 0.5em 2em 0.5em 0;
    }
  }

/*会社情報//////////////////////////////*/
/*サイフューズとは*/
.about_logo{
  max-width: 400px;
  margin: 0 auto 40px auto;
}
ul.about_logo_color{
  display: flex;
  margin: 20px 0;
  justify-content: space-between;
}
ul.about_logo_color li{
  width: 32%;
  display: block;
  border-radius: 10px;
  padding: 10px;
  box-sizing: border-box;
  text-align: center;
}
ul.about_logo_color li.label_yellow{background: #f6ab00;}
ul.about_logo_color li.label_orange{background: #ea5404;}
ul.about_logo_color li.label_green{background: #aacd06;}

.about_txt ol{
  margin: 30px 0;
  padding-left: 20px;
}
.about_txt ol li{
  margin-bottom: 10px;
}
.business_img h3{
  font-weight: 500;
  margin-top: 10px;
  font-size: 2rem;
}

.business_img_1 img{
  mix-blend-mode: multiply;
}
  @media screen and (min-width:768px){
    .about_txt{
      width: 55%;
    }
    .about_img{
      width: 40%;
    }
    .about_logo_2{
        display: flex;
        justify-content: space-between;
      }
    .about_logo_2_img{
        width:30%;
        text-align: center;}
    .about_logo_2_txt{
        width: 60%;
        padding-top: 30px;}
  }
  
  @media screen and (max-width:767px){
    .about_logo{
      max-width: 200px;}
    .about_logo_2_img{padding: 20px;}
    ul.about_logo_color li{width: 80%; margin-bottom: 10px;}
    ul.about_logo_color{flex-wrap: wrap; justify-content: center;}
    
    .business_img h3{font-size: 1.8rem;}
  }  
  
/*再生医療*/
dl.Point{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 30px;
  align-items:center;
  }

dl.Point dt{
  width: 80px;
}

dl.Point dd{
  flex: 1;
}
  
.Point_number{
  width: 60px;
  height: 60px;
  box-sizing: border-box;
  padding-top: 15px;
  background: #ea5404;
  color: #FFF;
  border-radius: 60px;
  text-align: center;
  line-height: 1.2 !important;
  font-size: 2rem;}
  
.Point_number span{
  font-size: 1rem;
  display: block;
}
/*わたしたちの想い*/

.About_mark_logo{
  margin-bottom: 40px;
}
.About_mark_logo img{
  max-width: 250px;
}
  @media screen and (min-width:768px){
    .About_mark{
      display: flex;
      justify-content: space-between;
    }
    .About_mark_img{
      width: 41.36%;
      margin: 0 3.6%;
    }
    .About_mark_txt{
      width: 51%;
    }
    
    .pm_ttl{
      width: 27%;
    }
    .pm_txt{
      width: 71.8%;
    }
    
    .pm_txt p{
      font-size: 1.8rem;
      line-height: 2;
    }
    .pm_txt span{font-size: 1.4rem; vertical-align: middle;}
    
  }

  @media screen and (max-width:767px){
    .About_mark_logo img{max-width: 200px;}
    .About_mark_txt{
      margin-bottom: 30px;
    }
    .About_mark_img{
      padding: 0 5vw;
    }
  }

/*会社概要*/
.page_company .bg_object{
  width: 20%;
  left: 0;
  height: 520px;
  top: 20px;
}

.page_prof .bg_object.bg_object-2{
  width: 80%;
  right: 0;
  left: auto;
  height: 520px;
  top:auto;
  bottom: 5%;
}

table.List{
  border-top: 1px solid #CCC;
}

table.List th,
table.List td{
  padding: 30px;
  border-bottom: 1px solid #CCC;
  vertical-align: top;
}
table.List th{
  font-weight: 700;
  white-space:nowrap; 
  }
.History_year{
  color: #ea5404;
  padding-left: 30px;
  font-size: 3rem;
  margin: 10px 0;
  font-family: "Montserrat", 'Noto Sans JP', "メイリオ", Meiryo, sans-serif;
  line-height: 1;
  position: relative;
}
.History_year:before{
  width: 14px;
  height: 14px;
  border-radius: 14px;
  box-sizing: border-box;
  display: block;
  content: '';
  border: 4px solid #ea5404;
  position: absolute;
  left: 0;
  top: 8px;
}


.History_list{
  display: flex;
  padding: 20px 0 0 20px;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
}
.History_list:before{
  content: '';
  display: block;
  width: 2px;
  background: #ea5404;
  height: 100%;
  left: 6px;
  position: absolute;
  top: 0;
  transform: scale(1, 0);
}
  .History_list.scrollin:before{
    animation: lineAnime 1s ease 3s 1 normal;
    transform-origin: left top;
    animation-fill-mode: forwards;
    animation-delay: 0.3s;
  }
  @keyframes lineAnime {
    0% {transform: scale(1, 0);}
    100% {transform: scale(1, 1);}
    }
.History_list dt span{
  background: #d3e0e9;
  width: 80px;
  display: inline-block;
  text-align: center;
  border-radius: 30px;
  margin-bottom: 20px;
}
.History_list dd{
  width: calc(100% - 100px);
  margin-bottom: 20px;
}
.item_list{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
}
.item_list:after{
  content: '';
  display: block;
}
.item_list_box{
  margin-bottom: 30px;
}
.item_list_box img{
  box-shadow: 0px 0px 15px -5px rgba(0,0,0,0.2);}

.item_list_box p{
  margin-top: 10px;
}

  @media screen and (min-width:768px){
    .prof_ttl{
      width: 14.5%;
    }
    .prof_txt{
      width: 84.5%;
    }
    .item_list{
      margin-left: 30px;
    }
    .item_list_box{
      width: 21.49%;
      text-align: center;
    }
    
  }
  @media screen and (max-width:767px){
    table.List th,
    table.List td{
      padding: 20px 0;
    }
    table.List th{
     padding-right: 20px;
   }
   .History_year{
     font-size: 2.4rem;}
    .item_list_box{
      width: 48%;}
  
  .History_list dt span{
     width: 60px;
}
  .History_list dd{
    width: calc(100% - 70px);
  }
  .item_list_box{
    font-size: 1.2rem;
  }
    
  }
  
/*役員紹介*/
.page_manage .bg_object{
  width: 40%;
  left: 0;
  height: 600px;
  top: 180px;
}
.name{
  text-align: right;
  margin-top: 30px;
}
.name span{
  font-size: 2rem;
  font-weight: 700;
  vertical-align: 0;
}

.prof_name{
  font-weight: 700;
  font-size: 2.8rem;
  margin-bottom: 20px;
}
.prof_name span{
  font-size: 1.6rem;
  font-family: "Montserrat", 'Noto Sans JP', "メイリオ", Meiryo, sans-serif;
  color: #ea5404;
  margin-left: 20px;
  vertical-align: middle;
}
.prof_box + .prof_box{
  margin-top: 100px;
}
.prof_contents{
  padding-top: 20px;
}
.prof_sttl{
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 20px;
}
  @media screen and (min-width:768px){
    .message_ttl{
      white-space: nowrap;
    }
    .message_txt{
      padding-left: 5%;
    }
    .prof_box{
      display: flex;
      justify-content: space-between;
    }
    .prof_box:nth-of-type(odd){
      flex-direction: row-reverse;
    }
    .prof_img{
      width: 31.8%;
    }
    .prof_contents{
      width: 65%;
    }
  }
  @media screen and (max-width:1024px){
    .prof_name{font-size: 2.4rem;}
    .prof_name span{font-size: 1.4rem;}
    .prof_sttl{font-size: 2rem;}
  }  
  @media screen and (max-width:767px){
    .prof_name{font-size: 2rem;}
    .prof_sttl{font-size: 1.8rem;}
  }  
  
/*ポリシー*/
.page_policy{

}
.Policy dt{
  display: flex;
  align-items: center;
  padding-bottom: 20px;
}
.Policy dt p{
  line-height: 1.4;
  flex: 1;
  font-size: 2.8rem;
  font-weight: 500;
}
.Policy_numer{
  font-family: "Montserrat", 'Noto Sans JP', "メイリオ", Meiryo, sans-serif;
  color: #FFF;
  background: #ea5404;
  width: 80px;
  height: 80px;
  border-radius: 40px;
  font-size: 3.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 10px;
  
  }
  
.Policy dd{
  padding-left: 100px;
  padding-bottom: 50px;
}  
  @media screen and (max-width:767px){
    .Policy_numer{
      font-size: 2rem;
      width: 50px;
      height: 50px;}
    .Policy dt{padding-bottom: 10px;}
    .Policy dt p{font-size: 2rem;}
    
    .Policy dd{
      padding-left: 60px;
      padding-bottom: 30px;}
  }
  
/*開発//////////////////////////////*/
/*プラットフォーム技術/*/
.bio3d_movie{
  margin-top: 60px;
  margin-bottom: 20px;
}
.bio3d_ttl{
  text-align: center;
  margin-bottom: 20px;
  font-size: 2.4rem;
  
}
.bio3d_ttl h4{
  border-bottom: 2px solid #121f4e;
  display: inline-block;
}

.bio3d_movie_wrap{
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 100%;
}

.bio3d_step_movie_box{
  max-width: 800px;
  margin: 0 auto;
}

.bio3d_step_movie_wrap{
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 60%;
}
.bio3d_movie_wrap video,
.bio3d_step_movie_wrap video{
  position: absolute;
  top: 0;left: 0;
  width: 100%;}

.bio3d_step{
  padding: 60px 0;
  margin: 80px auto;
  background: #e6ecf0;
}
.bio3d_step .ttl_line{border-color: #FFF;}
.bio3d_step h5{font-size:2rem;}

.bio3d_step_wrap{
  margin: 60px 0;
}
.bio3d_step_number{
  text-align: center;
  font-size: 3rem;
  font-weight: 100;
  line-height: 1.1;color: #ea5404;
}
.bio3d_step_number span{
  display: block;
  font-size: 6rem;
  
  font-weight: 700;;
}
.bio3d_step_box h6{
  font-weight: 700;
  margin: 20px 0;
  text-align: center;
  font-size: 2.4rem;
}
.bio3d_step_box p{line-height: 1.8 !important;}

    @media screen and (max-width:1200px){
         .bio3d_step_number span{font-size: 4rem;}
         .bio3d_step_box h6{font-size: 1.8rem;}
    }
     @media screen and (max-width:767px){
       .bio3d_step_number span{font-size: 3rem;}
       .bio3d_step_box{margin-bottom: 30px;}
       .bio3d_step_box h6{margin: 5px 0;}
       .bio3d_step h5{font-size: 1.6rem;}
      }
      
/*研究開発*/
.randd_detail_box{
  padding: 90px 0;
  text-align: center;
  color: #FFF;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  box-sizing: border-box;
  border: 1px solid #FFF;
  position: relative;
}
  .randd_detail_box .link_arrow a{color: #FFF; font-size: 1.8rem; font-family: "Montserrat", 'Noto Sans JP', "メイリオ", Meiryo, sans-serif;}
  
  .randd_detail_box.randd_1{background-image: url("../images/development/randd_bg_1.jpg");}
  .randd_detail_box.randd_2{background-image: url("../images/development/randd_bg_2.jpg");}
  .randd_detail_box.randd_3{background-image: url("../images/development/randd_bg_3.jpg");}
  .randd_detail_box.randd_4{background-image: url("../images/development/randd_bg_4.jpg");}

.randd_detail_txt1{
  position: absolute;
  top: 0;
  left: 0;
  line-height: 1 !important;
  padding: 8px 10px; 
  background: #ea5404;
  color: #FFF;
}
  .randd_detail_box.randd_4 .randd_detail_txt1,
  #modal04 .randd_detail_txt1{background: #aacd06;}
  
  .randd_detail_txt1 span img{
    width: 30px;
    margin-right: 5px;
  }

.randd_detail_txt2{
  font-size: 3.4rem !important;
  margin-bottom: 30px;
  margin-top: 20px;
}
     @media screen and (min-width:768px){
       .randd_detail{display: flex; flex-wrap: wrap;}
       .randd_detail_box{width: 33.3333%;}
     }
     
     @media screen and (max-width:767px){
       .randd_detail_box .btn{display: block;}
       .randd_detail_box .btn a{width: 100%;}
       .randd_detail_box{ padding: 40px 20px;}
       .randd_detail_txt2{
          font-size: 2.4rem !important;
          margin-bottom: 20px;}
      }
/*論文*/
.acc_inner,
.acc_inner_2nd{
  display: none;
}

.acc_wrap{
  background: #FFF;
  padding: 0px 50px;
  font-family: "Montserrat", 'Noto Sans JP', "メイリオ", Meiryo, sans-serif;
}
.acc_wrap + .acc_wrap{
  margin-top: 80px;
}

.trigger_1st{
  cursor: pointer;
  font-size: 4.4rem;
  padding: 40px 0;
  position: relative;
}

.trigger_1st:after{
  content: '';
  display: block;
  width: 50px;
  height: 50px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  background: url("../images/development/icon_open.png") no-repeat 0 0;
  background-size: 100%;
}
.trigger_1st.open:after{
  background-image: url("../images/development/icon_close.png");
}
.trigger_2nd{
  border-top: 1px solid #CCC;
  cursor: pointer;
  font-size: 3.4rem;
  padding: 30px 20px;
  position: relative;
}
.trigger_2nd:after{
  content: '';
  display: block;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  background: url("../images/development/icon_open.png") no-repeat 0 0;
  background-size: 100%;
}
.trigger_2nd.open:after{
  background-image: url("../images/development/icon_close.png");
}

.acc_inner_2nd{
  background: #e6ecf0;
  padding: 20px 50px;
}
.acc_inner_block{
  padding: 30px 0;
}
.acc_inner_block + .acc_inner_block{
  border-top: 1px solid #CCC;
}
.acc_inner_block h5{
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 30px;

}
.acc_inner_block_btn{
  text-align: right;
  margin-top: 20px;
}

.acc_inner_block_btn .link_arrow a{
  font-size: 1.6rem; 
}
.acc_inner_2nd{
  border-bottom: 50px solid #FFF;
}

  @media screen and (max-width:1024px){
    .trigger_1st{font-size: 3.6rem; padding: 20px 0;}
    .acc_wrap{padding: 0 20px;}
    .trigger_2nd{font-size: 2.6rem;}
    .acc_inner_2nd{padding: 20px;}
    .acc_inner_block{padding: 20px 0;}
    .acc_inner_block h5{font-size: 2rem;}
    .acc_inner_2nd{
      border-bottom: 20px solid #FFF;
    }
  }
  @media screen and (max-width:767px){
    .trigger_1st{font-size: 2.4rem; padding: 10px 0;}
    .trigger_1st:after{
      width: 30px;
      height: 30px;
    }
    .acc_wrap{padding: 0 20px;}
    .trigger_2nd{font-size: 2rem; padding: 20px 20px 20px 5px;}
    .trigger_2nd:after{
      width: 20px;
      height: 20px;
    }
    .acc_inner_2nd{padding: 10px 20px;}
    .acc_inner_block{padding: 20px 0;}
    .acc_inner_block h5{font-size: 1.6rem; margin-bottom: 15px;}
    .acc_wrap + .acc_wrap{
      margin-top: 30px;
    }
    .acc_inner_block_btn .link_arrow a{font-size: 1.4rem;}
  }  

/*製品情報//////////////////////////*/
/*バイオ3Dプリンタ*/
.page_3d .bg_object{
  width: 45%;
  left: 0;
  height: 700px;
  top: 30px;
}
.about_3dprinter_txt{
  margin-bottom: 60px;
}
.product_link_box{
  background: #FFF;
  box-shadow: 0px 0px 15px -5px rgba(0,0,0,0.2);
}



.product_link_box a{
  display: block;
  padding: 30px 20px;
}
.product_link_btn{
  font-weight: 700;
  font-size: 1.8rem;
  padding: 5px 50px 0 20px;
  position: relative;
}

.product_link_btn:after{
  content: '';
  display: block;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  transition: 0.4s;
  background: url("../images/arrow_or-wh.png") no-repeat 0 0;
  background-size: 100%;
}

.product_head{
  margin-bottom: 40px;
}

.logo_regenova img{max-width: 269px;}
.logo_spike {
  padding-left:5vw;
}
.logo_spike img{max-width: 123px;}

.product_head_txt{
  font-size: 1.8rem;
  font-weight: 700;
}
.Movie_wrap{
  max-width: 1000px;
  margin: 0 auto;
}
.Movie_inner{
  width: 100%;
  position: relative;
  padding-top: 56.25%;
  height: 0;
}
.Movie_inner iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.page_bottom_bg{
  background: #e6ecf0;
  padding: 40px 0 100px 0;
  margin-top: 100px;
  margin-bottom: -150px;
}
.bg_blue{
  background: #e6ecf0;
  padding: 40px 0 100px 0;
  margin-top: 100px;
}
.catalog_list{
  padding: 30px 0 60px 0;
}


  @media screen and (min-width:768px){
    
    .product_link{
      display: flex;
      justify-content: space-between;
      padding: 0 2%;
    }
    .product_link_box{
      width: 47%;
    }
    .product_link_box a:hover{opacity: 1; color: #ea5404;}
    .product_link_box a:hover img{opacity: 0.8;}
    .product_link_box a:hover .product_link_btn:after{
      background-image: url("../images/arrow_or-line.png");
    }
    .product_head{
      display: flex;
      align-items: center;
    }
    .product_logo{
      margin-right: 5vw;
    }
    .catalog_list{
      display: flex;
      justify-content: center;
    }
    .catalog{
      width: 31.8%;
    }
    .catalog + .catalog{
      margin-left: 7%;
    }
  }
  
  @media screen and (max-width:1024px){
    
    .product_head_txt{
      font-size: 1.6rem;}
  }
  @media screen and (max-width:767px){
    .about_3dprinter_txt{
      margin-bottom: 30px;
    }
    .product_logo{margin-bottom: 20px; text-align: center;}
    .logo_regenova img{max-width: 200px;}
    .logo_spike img{max-width: 80px;}
    
    .catalog + .catalog{
      margin-top: 30px;
    }
    .product_link_box + .product_link_box{
      margin-top: 30px;
    }
    .product_link_box a{
      padding: 20px;
    }
    
    .product_link_btn{
      font-size: 1.5rem;
      padding: 5px 40px 0 0;
    }
    .product_link_btn:after{
      width: 30px;
      height: 30px;}
  }  
  

.miniliver_img{
  margin-bottom: 60px;
}

.miniliver_movie{
  max-width: 900px;
  margin: 0 auto;
}
.anchor_link{
  max-width: 940px;
  margin: 50px auto;
  
}
.anchor_link_btn a{
  line-height: 1;
  display: block;
  text-align: center;
  padding: 20px;
  position: relative;
  background: #FFF;
  border: 1px solid #444;
  border-radius: 50px;
  box-sizing: border-box;
}
.anchor_link_btn.btn_or a{  
  background: #eb5405;
  border: none;
  color: #FFF;
}
.anchor_link_btn a:after{
  display: block;
  content: '';
  width: 8px;
  height: 8px;
  border-bottom: 2px solid #444;
  border-right: 2px solid #444;
  transform: rotate(45deg);
  position: absolute;
  top: 40%;
  right: 20px;
}
  .anchor_link_btn.btn_or a:after{
    border-color: #FFF;
  }

.pdf_list{
  margin-left: 100px;
  border-top: 1px solid #CCC;
}
.pdf_list li{
  padding: 20px;
  border-bottom: 1px solid #CCC;
  font-size: 1.8rem;
}
a.icon_pdf{
  position: relative;
  padding-right: 30px;
  display: block;
}
.pdf_list li a.icon_pdf{
  display: inline-block;
}

a.icon_pdf:after{
  content: '';
  display: block;
  background:url("../images/icon_pdf.png") no-repeat 0 0;
  background-size: 100%;
  width: 18px;
  height: 23px;
  position: absolute;
  top: 10px;
  right: 0;
}
.agency{
  background: #e6ecf0;
  margin-top: 100px;
  padding-bottom: 60px;
}
.ttl_agency{
  font-size: 3rem;
  position: relative;
  text-align: center;
 transform: translateY(-50%);
}
.txt_agency{
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 40px;
}
.list_agency{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.list_agency li{
  border: 1px solid #CCC;
  margin-bottom: 30px;
}    
     @media screen and (min-width:768px){
       
        .anchor_link{
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap;
        }
        .anchor_link_btn{
          width: 32%;
        }
        .list_agency li{width: 22.5%;}
        
     }
     @media screen and (max-width:1024px){
       .anchor_link_btn a{font-size: 1.4rem; padding-right: 30px;}
     }
     @media screen and (max-width:767px){
       
      
      .anchor_link_btn{margin-bottom: 10px;}
      .pdf_list{margin: 0;}
      .pdf_list li{
        padding: 10px 0;
        font-size: 1.4rem;
      } 
      
      .ttl_agency{
        font-size: 2.4rem;}
      .txt_agency{font-size: 1.6rem;}
      .list_agency li{margin-bottom: 10px;}
       
      }  
      
/*recruit*/
.ttl_recruit{
  text-align: center;
  font-size: 3.6rem;
  color:#ea5404;
}
.copy_recruit{
  text-align: center;
  margin: 60px 0;
  font-size: 2.4rem;
}
.bnr_recruit{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.bnr_recruit li{
  margin-bottom: 20px;
  width: 48%;
}

     @media screen and (max-width:767px){
       .ttl_recruit{font-size: 2rem;}
       .copy_recruit{font-size: 1.8rem;}
       .bnr_recruit li{width: 100%;}
     }
  

/*Form*/
.ir_contact_link{
  text-align: center;
  border: 2px solid #ea5404;
  padding: 20px;
  margin: 30px 0;
  background: #FFF;
}
.ir_contact_link a{
  color: #ea5404;
  text-decoration: underline;
}


.Caution{
  font-size: 1.4rem;
  margin-bottom: 40px;
  padding-left: 1em;
}
.Caution span{
  margin-left: -1em;
}
.require{
  background:#DB4145;
  color: #FFF;
  vertical-align: middle;
  font-size: 1.2rem;
  line-height: 1;
  padding: 2px 10px;
  margin-left: 10px;
  border-radius: 30px;
}
table.FormList{
  border-top: 1px solid #CCC;
  margin-bottom: 30px;
}

table.FormList th,
table.FormList td{
  text-align: left;
  font-size: 1.8rem;
  padding: 20px;
  border-bottom: 1px solid #CCC;
  vertical-align: middle;
}
table.FormList td span.note{
  font-size: 1.2rem;
  display: block;
  margin-top: 10px;
}
table.FormList th {
  white-space: nowrap;
}

.Form_caution{
  background:#FFECEC;
  font-size: 1.4rem;
  margin-top: 20px;
  padding: 10px;
  color:#E92B2E;
}



input.wpcf7-text{
	height:50px;
  border-radius: 5px;
	padding:10px;
	border:none;
  background: #FFF;
  font-size: 1.6rem;
  display: inline-block;
  width: 100%;
  box-sizing: border-box;
	}			

	
textarea{
  font-size: 1.6rem;
	border-radius: 5px;
	padding:10px;
	border:none;
  background: #FFF;
  width: 100%;
  box-sizing: border-box;
  min-height: 200px;}

/*セレクトボックス*/
select::-ms-expand {
  display: none !important;
}
.select{
  position: relative;
}
.select .wpcf7-form-control {
   background: #FFF;
   -webkit-appearance: none;
	-moz-appearance: none;
   border: none;
   width: 100%;
   height: 50px;
   padding: 10px 40px 10px 10px;
   font-size: 1.6rem;
   box-sizing: border-box;
	border-radius: 5px;
  color: #000;
  
}
.select:after{
  content: '';
  display: block;
  background: url("../images/select.png") no-repeat 0 0;
  width: 10px;
  height: 27px;
  background-size: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
}

/*ラジオボタン*/
.wpcf7-radio{
  display: flex;
}
.wpcf7-list-item + .wpcf7-list-item{
  margin-left: 30px;}
  
.custom_radio input[type="radio"] {
  opacity: 0;
  visibility: hidden;
  position: absolute;
}

.custom_radio .wpcf7-list-item.first {
  margin-left: 0;
}

.custom_radio span.wpcf7-list-item-label {
  position: relative;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.custom_radio span.wpcf7-list-item-label::before {
  display: block;
  content: "";
  border-radius: 50%;
  border: 2px solid #CCC;
  width: 20px;
  height: 20px;
  margin-right: 10px;
}

.custom_radio span.wpcf7-list-item-label::after {
  display: block;
  position: absolute;
  content: "";
  border-radius: 50%;
  width: 12px;
  height: 12px;
  background-color: #00A9E7;
  left: 6px;
  top: 50%;
  transform: translateY(-50%);
  display: none;
}

.custom_radio input[type="radio"]:checked + span.wpcf7-list-item-label::after {
  display: block;
}
/*チェックボックス*/
.agree .check-box{
  margin-top: 20px;
}
.check-box input{
  display: none;
}
.wpcf7-list-item-label{
  padding-left: 30px;
  font-size: 1.6rem;
  position:relative;
  display: inline-block;
  
}
.wpcf7-list-item-label::before{
  content: "";
  display: block;
  position: absolute;
  top: 5px;
  left: 0;
  width: 18px;
  height: 18px;
  background: #FFF;
  border:2px solid #CCC;
}
.check-box input:checked + .wpcf7-list-item-label{
  color:#ea5404;
}
.check-box input:checked + .wpcf7-list-item-label::before{
	 background: #ea5404;
   border:2px solid #ea5404;
}
.check-box input:checked + .wpcf7-list-item-label::after{
  content: "";
  display: block;
  position: absolute;
  top: 5px;
  left: 6px;
  width: 7px;
  height: 14px;
  transform: rotate(40deg);
  border-bottom: 3px solid #FFF;
  border-right: 3px solid #FFF;
 
}  

.wpcf7 span.wpcf7-not-valid-tip{
	display:inline;
	color:#F05673;
	padding-left:5px;
	font-size:79%;}
  
.wpcf7 .wpcf7-not-valid{
	border:1px solid #F05673;}
	



.wpcf7 form .wpcf7-response-output {
	margin: 20px 0 40px 0;
	padding: 20px;
	border: none;
  font-size: 1.8rem;
  color: #DB4145;
  background: #FFF;
  text-align: center;}

.wpcf7 form.sent .wpcf7-response-output {
	border: none;
}

/*送信ローディング*/	
.wpcf7-spinner {
	visibility: hidden;
	display: block;
	background-color: #23282d; /* Dark Gray 800 */
	opacity: 0.75;
	width: 24px;
	height: 24px;
	border: none;
	border-radius: 100%;
	padding: 0;
	margin: 50px auto;
	position: relative;
}  

.agree{
	text-align:center;
	background-color:#e6ecf0;
	padding:20px;
	margin:20px auto 40px auto;}

.agree a{
  text-decoration: underline;
}

.form_btn input{
  display: block;
  position: relative;
  color: #FFF;
  font-weight: 700;
  text-align: center;
  padding: 20px;
  background-color: #ea5404;
  min-width: 300px;
  margin: 0 auto;
  border-radius: 100px;
  overflow: hidden;
  border: none;
  transition: 0.3s;
  font-size: 1.8rem;
  cursor: pointer;
}
.form_btn input:hover{
  opacity: 0.8;
}


.btn_return input{
  background-color: #999;
}
.btn_2col .form_btn input{
  min-width: 240px;}
 
.form_2col{
  display: flex;
  justify-content: space-between;
}
.form_4col{
  display: flex;
  justify-content: space-between;
}
    .form_2col div{
      width: 48%;
    }
    .form_4col div{
      width: 24%;
    }
    .form_4col div input{
      width: 75%;
    }

	
	@media screen and (min-width:768px) {
      .btn_2col{
        display: flex;
        justify-content: center;
        flex-direction: row-reverse;
      }
      .btn_2col .form_btn{margin: 0 10px;}
  }

	
	@media screen and (max-width:767px) {
    .Caution{
      font-size: 1.2rem;}
    
    .form_btn input{
      padding: 10px;
    }
    
    .form_btn + .form_btn{margin-top: 20px;}
    
    input.wpcf7-text,
    textarea,
    .select .wpcf7-form-control{font-size: 1.4rem;}
    
    table.FormList th,
    table.FormList td{
      display: block;
      padding: 0;
      font-size: 1.4rem;
    }
     table.FormList th{
       padding-top: 10px;
       border-bottom: none;
       padding-bottom: 10px;
     }
     table.FormList td{padding-bottom: 10px;}
     
     
     
}

/*Cychannel////////////////////*/

.Cychannel_page_ttl{
  text-align: center;
}
.Cychannel_page_ttl img{
  max-width: 650px;
}
.Cychannel_lead{
  text-align: center;
  margin: 100px 0;
}
.cychannel_box_ttl{
  font-size: 1.8rem;
  margin: 10px 0;
}
.cychannel_box a{display: block;}

     @media screen and (min-width:768px){
      .cychannel_list{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;

      }
      .cychannel_box{
        width: 47%;
        margin-bottom: 80px;
      }
    }

     @media screen and (max-width:767px){
       .Cychannel_page_ttl{padding: 0 30px;}
       .Cychannel_lead{margin: 50px 0;}
       .cychannel_box{margin-bottom: 40px;}
       .cychannel_wrapper:before{height: 100vh; width: 160vh; right: -100vh;}
     }
     
/*News////////////////////////////*/
.Side h3{
  font-size: 2rem;
  line-height: 1;
  font-weight: 500;
  border-bottom: 2px solid #121f4e;
  display: inline-block;
  margin-bottom: 20px;
}

.side_menu{
  margin-bottom: 60px;
  }
.side_menu li{
  margin-bottom: 5px;
}
.side_menu li:before{
  content: '- ';
}




.pagenation{
  margin-top: 100px;
  position: relative;
  text-align: center;
}
.pagenation ul li{
   display: inline-block;
}
.pagenation ul li a,
.pagenation ul li span{
   display: block;
  font-size: 1.8rem;
  font-style: normal;
  border: 1px solid #CCC;
  border-radius: 40px;
  width: 40px;
  height: 40px;
  text-align: center;
  line-height: 40px;
  margin: 0 3px;
  
}
.pagenation ul li span.current{
  border-color: #ea5404; background: #ea5404; color: #FFF;}

.pagenation ul li a.prev,
.pagenation ul li a.next{
	border: none;
  position:absolute;
  top: 10px;
  border-radius: 0;
  line-height: 0;
  width: 20px;
  height:20px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  content: '';
  
  text-indent: -99999px;
}
.pagenation ul li a.prev{left: 0;}
.pagenation ul li a.next{right: 0;}


.pagenation ul li a.prev{
  transform: rotate(-135deg);
}  

.pagenation ul li a.next{
  transform: rotate(45deg);
}  
.Entry_ttl{
  font-size: 2.4rem;
  border-bottom: 2px solid #121f4e;
  padding-bottom: 20px;
  font-weight: 500;
  margin-bottom: 30px;
}
.Entry_head{
  display: flex;
  justify-content: space-between;
  
  align-items: center;
}

.Entry_box{
  margin: 60px 0 100px 0;
}
.Entry_box p{
  margin-bottom: 30px;
}
.Entry_box a{
  color: #ea5404;
  border-bottom: 1px solid #ea5404;
}

  @media screen and (min-width:768px){
    .Main{width: 72%;}
    .Side{width: 20%;}
 
    }
    
  @media screen and (max-width:767px){
       .Main{margin-bottom: 60px;}
       .pagenation{margin-top: 50px;}
       
       .pagenation ul li a,
       .pagenation ul li span{
          font-size: 1.4rem;
          width: 30px;
          height: 30px;
          line-height: 30px;

        }
       
       .pagenation ul li a.prev,
       .pagenation ul li a.next{
         width: 12px;
         height:12px;
       }
          
       .Entry_ttl{font-size: 1.8rem;}
       .Entry_box{margin: 30px 0 50px 0;}
     }
     
/*Access////////////////////////////*/
.map{
  width: 100%;
  height: 0;
  padding-top: 60%;
  position: relative;
}
.map iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
  @media screen and (min-width:768px){
    .Access_wrap{
      display: flex;
      justify-content: space-between;}
  
    .Access_l{
      width: 30%;
    }
    .Access_r{
      width: 65%;
    }
}

  @media screen and (max-width:767px){
    .Access_l{margin-bottom: 20px;}
    .map{padding-top: 70%;}
  }
     
/*15周年//////////////////////////*/
.Box_15th_logo img{
  width: 245px;  
  margin:  0 auto;
  transform: translateY(-115px);
  background: #F3F4F5;
  padding: 0 40px;
  display: block;
  margin-bottom: -55px;
}

.ttl_15th{
  font-size: 3.2rem;
  text-align: center;
  margin-bottom: 40px;
  font-weight: 700;
}

.Wrap_15th{
  color: #000;
  padding-top: 190px;
  position: relative;
}
.Wrap_15th .Second_kv_ttl{
  top:150px;
  right: 10px;
}
.gold{
  color: #c18d65;
}
.name_Box_15th{
  text-align: right;
  font-size: 2rem;
  margin-top:40px;
}

.name_Box_15th span{
  font-size: 1.4rem;}

.Box_15th_top{
  background: url("../images/15th/15th_box_top.png") no-repeat 0 0;
  background-size: 100%;
}
.Box_15th{
  font-size: 1.8rem;
  padding: 0 10vw 30px 10vw;
  background: url("../images/15th/15th_box.png") repeat-y 0 0;
  background-size: 100%;
}
.Box_15th_bottom{
  background: url("../images/15th/15th_box_bottom.png") no-repeat 0 0;
  height: 0;
  padding-top: 4.9%;
  background-size: 100%;
}
  @media screen and (max-width:1024px){  
    .Box_15th_logo img{
      width: 150px;
      transform: translateY(-75px);
       margin-bottom: -25px;}
    .ttl_15th{font-size: 2.8rem;}
    .Box_15th{
      padding: 0 40px 30px 40px;}
  }
  @media screen and (max-width:767px){
    .Box_15th_logo img{
      width: 100px;
      padding: 0 20px;
      transform: translateY(-50px);
       margin-bottom: -25px;}
       
    .ttl_15th{font-size: 2rem; margin-bottom: 20px;}
    .Box_15th{
      font-size: 1.4rem;
      padding: 0 20px 30px 20px;}
    
    .name_Box_15th{font-size: 1.6rem;}
  }
  