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

.pagettl{
  position: relative;}


.pagettl h2{
  position: absolute;
  top: 45%;
  right: 8%;
  font-size: 8.5rem;
  color: #FFF;
  font-weight: 100;
  letter-spacing: 1px;
}


.sub_ttl{
  padding: 40px;
  border-bottom: 1px solid #CCC;
}

.sub_ttl h3{
  font-size: 4.2rem;
  padding-left: 50px;
  background: url("../images/ttl_icon.png") no-repeat 0 2.4rem;
  line-height: 1.5;
  background-size: 36px 12px;
}


.ttl_line{
  margin-bottom: 40px;
  display: inline-block;
  font-size: 3.2rem;
  line-height: 1.5;
  position: relative;
  padding-left: 60px;
}
.ttl_line:after{
  content: '';
  display: block;
  width: 40px;
  height: 2px;
  background: linear-gradient(90deg, rgba(240,150,15,1) 0%, rgba(255,225,1,1) 50%, rgba(150,210,50,1) 100%);
  position: absolute;
  top: 2rem;
  left: 0;
  
}
.ttl_bg{
  background:#FAD6AB;
  text-align: center;
  font-size: 2.8rem;
  color: #FFF;
  padding: 5px;
  margin-bottom: 30px;
  
}
.ttl_side_line{
  display: flex;
  align-items: center;
  text-align: center;
  font-size: 3.2rem;
  max-width: 80%;
  margin: 0 auto 30px auto;
}
.ttl_side_line:before, .ttl_side_line:after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #444;
	display: block;
}
.ttl_side_line:before {
	margin-right: 1em;
}
.ttl_side_line:after {
	margin-left: 1em;
}


.content-inner{max-width: 1000px; margin: 0 auto;}

@media screen and (max-width:1000px){
  .content-inner{
    max-width: 80%;
    
  }
}

.second_wrapper{
  padding-top: 100px;
}
.second_wrapper section p{
  line-height: 2.5;
  font-size: 1.7rem;
}

section + section{margin-top: 80px;}


.next_btn{
  text-align: center;
  margin: 100px 0;
}  

.next_btn .btn a{
  width: auto;
  min-width: 300px;
  position: relative;
  padding: 20px 50px;
}
.next_btn .btn a:after{
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  border-top: 2px solid #444;
  border-right: 2px solid #444;
  transform: rotate(45deg);
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  position: absolute;
  z-index: 10;
}
.next_btn .btn a:hover:after{border-color: #FFF}


.page_nav{text-align: center;}


.page_nav p{font-size: 2.4rem; margin-bottom: 20px;}

.page_nav ul li a{ padding-bottom: 10px;}
.page_nav ul li a.current{color: #EA5404; border-bottom: 2px solid #EA5404;}

section ol{
  margin-bottom: 30px;
  padding-left: 20px;
}
section ol li{margin-bottom: 10px;}
section p + ol{margin-top: 30px;}
section h5{
  font-weight: 700;
  margin-bottom: 20px;
}
  section h5.ttl_bg{font-weight: 400;}

.table_std{
  border-top: 1px solid #CCC
  }
.table_std th,
.table_std td{
  padding: 20px 30px; 
  vertical-align: middle;
  text-align: left;
  border-bottom: 1px solid #CCC
}
.table_std th{
  font-weight: 700;
  
}
.table_std th{white-space: nowrap;}


  @media screen and (min-width:768px){
    .second_container{
        padding-left: 5%;
        position: relative;}
    .Side_ttl{
      position: absolute;
      width: 5%;
      height: 100%;
      left: 0;
      background: #E4E0D6;
      -ms-writing-mode: tb-lr;
      writing-mode: vertical-lr;}

    .Side_ttl p{
      line-height: 1;
      color: #888888;
      font-size: 2.4rem;
      margin-top: 20px;
      font-weight: 300;
      margin-left: 1.25vw;
    }
    .Side_ttl p.fixed{
      position: fixed;
      top: 60px;
      left: 0;
    }
  
    .page_nav ul li,.page_nav p,.page_nav ul{display: inline-block; vertical-align: middle;}
    .page_nav ul li{margin-left: 20px; margin-bottom: 20px;}

  }

  @media screen and (max-width:1000px){
    .ttl_line{font-size: 3rem;}
    .Side_ttl p{font-size: 2rem;}
  }
  @media screen and (max-width:767px){
    .pagettl{overflow: hidden; background: #000;}
    .pagettl img{
     max-width: 150%;
     margin-left: -25%;
     opacity: 0.6;
    }
    .pagettl h2{
      right: 20px;
      letter-spacing: 0px;
      font-size: 4rem;}
      
    .sub_ttl{
      padding: 20px;
    }
    
    .sub_ttl h3{
      font-size: 2.8rem;
      letter-spacing: 1px;
      background-position: 0 1.4rem;
    }
    .second_wrapper{
      padding-top: 50px;
    }
    .second_wrapper section p{
      line-height: 1.8;
      font-size: 1.5rem;
    }
    .content-inner{max-width: 100%;}
    
    .ttl_line{font-size: 2rem; letter-spacing: 0px; padding-left: 20px;}
    .ttl_line:after{width: 2px; height: 100%; background: linear-gradient(180deg, rgba(240,150,15,1) 0%, rgba(255,225,1,1) 50%, rgba(150,210,50,1) 100%); top: 0;}
    .ttl_bg{font-size: 1.8rem;}
    .Side_ttl{display: none;}
    section + section{margin-top: 60px;}
    .next_btn .btn{display: block;}
    .next_btn .btn a{padding: 20px 40px 20px 20px;}
    
    .ttl_side_line{font-size: 2rem; max-width: 100%;}
    
    .table_std th,
    .table_std td{
      padding: 10px;}
    
    
    .page_nav ul{
      display: flex;
      flex-wrap: wrap;
    }
    .page_nav ul li{
      width: 50%;
      display: block;
      box-sizing: border-box;
      margin-bottom: 20px;
      font-size: 1.4rem;
    }
    .page_nav ul li a{padding-bottom: 5px;}
  }
  
  
/*about///////////////////////////////*/
.about_logo{
  text-align: center;
  margin: 30px 0 60px 0;
}  
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.yellow{background: #F6AB00;}
ul.about_logo_color li.orange{background: #EA5404;}
ul.about_logo_color li.green{background: #AACD04;}
  

.whatis_txt1{
  margin-bottom: 60px;
}

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;
}

.business_1{margin-bottom: 40px;}

section .technology_box h5{
  margin: 10px 0;
  font-size: 2rem;
}
section .technology_box p{line-height: 1.5;}

.history-list-box {
  width: 100%;
  display: flex;
  flex-direction: column; }

.history-list-box .year {
  color: #EA5404;
  font-size: 4rem;
  letter-spacing: 0.2em;
  font-weight:700;
  margin-bottom: 10px; }

.history-list-box .history-list-content {
  margin: 0 0 20px 60px;
  border-left: 1px solid #EA5404;
  padding: 20px 0 20px 30px;
  display: flex;
  justify-content: space-between; }

.history-list-box .history-list-content ul{width: 100%;}
.history-list-box .history-list-content ul li {
  display: flex;
  justify-content: space-between; }

.history-list-box .history-list-content ul li .month {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 40px;
  background: rgba(240, 150, 15, 0.4);
  color: #FFF;
  font-size: 2rem;
  line-height: 1;
  font-weight: bold; }

.history-list-box .history-list-content ul li .content-text {
  
  width: calc(100% - 140px);
  line-height: 1.6; }

.history-list-box .history-list-content ul li + li {
  margin-top: 20px; }


ul.awards{
  margin: 30px 0;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
ul.awards li{
  width: 30%;
  text-align: center;
}
ul.awards li span{
  display: block;
  line-height: 1.4;
  margin-top: 10px;
}

.greeting_txt h5{
  font-size: 2rem;
}
.greeting_txt p{
  margin-bottom: 40px;
}

.greeting_img p{
  margin-top: 10px;
  line-height: 1.6 !important;
}
.greeting_img p span{
  font-size: 2.2rem;
  font-weight: bold;
}

h5.ttl_compliance{font-size: 2rem;}
p.txt_compliance{margin-bottom: 60px;}

.guideline-content {
  width: 100%;
  background: url(../images/about/policy_bg.jpg) no-repeat center center;
  background-size: cover;
  padding: 50px 0;
  margin-top: -100px;
  margin-bottom: 80px;}
  


.guideline-list .guideline-list_item {
  background: #FFF;
  padding: 20px 20px 50px;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  margin-bottom: 2%; }

.guideline-list .guideline-list_item .list-title {
  min-height: 50px;
  display: flex;
  align-items: center;
  border-left: 3px solid #EA5404;
  font-size: 2rem;
  line-height: 1.4;
  padding-left: 20px;
  margin-bottom: 20px; }

.guideline-list .guideline-list_item .paragraph {
  position: relative;
  line-height: 1.8 !important;
  z-index: 2; }

.guideline-list .guideline-list_item::before {
  content: "";
  width: 160px;
  height: 110px;
  position: absolute;
  right: 20px;
  bottom: -15px; }

.guideline-list .guideline-list_item.list-01::before {
  background: url(../images/about/guideline_num01.png) no-repeat center bottom;
  background-size: contain; }

.guideline-list .guideline-list_item.list-02::before {
  background: url(../images/about/guideline_num02.png) no-repeat center bottom;
  background-size: contain; }


.guideline-list .guideline-list_item.list-03::before {
  background: url(../images/about/guideline_num03.png) no-repeat center bottom;
  background-size: contain; }

.guideline-list .guideline-list_item.list-04::before {
  background: url(../images/about/guideline_num04.png) no-repeat center bottom;
  background-size: contain; }

.guideline-list .guideline-list_item.list-05::before {
  background: url(../images/about/guideline_num05.png) no-repeat center bottom;
  background-size: contain; }

.guideline-list .guideline-list_item.list-06::before {
  background: url(../images/about/guideline_num06.png) no-repeat center bottom;
  background-size: contain; }

.guideline-list .guideline-list_item.list-07::before {
  background: url(../images/about/guideline_num07.png) no-repeat center bottom;
  background-size: cover; }


    @media screen and (min-width:768px){
      .flex_box{display: flex; justify-content: space-between;}
      
      .management_prof section:nth-of-type(even) .flex_box{ flex-direction:row-reverse;}
      .management_prof .flex_box{margin-bottom: 100px;}
      
      .flex_3col{
        width: 30%;
        box-sizing: border-box;
      }
      .flex_2col{
        width: 48%;
        box-sizing: border-box;
      }
      section.about_1{
        position: relative;
        margin-bottom: 150px;
    }
      .about_1_txt{
        width: 55%;
      }
      .about_1_img{
        position: absolute;
        width: 40vw;
        right: 0;
        margin-right: calc(50% - 50vw);
        top: 0;
        max-width: 540px;
      }
      .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;}
        
      .business_1_txt{
        width: 50%;
      }  
      .business_1_img{
        width: 45%;
      }
      .greeting_img{width: 30%;}
      .greeting_txt{width: 65%;}
      
      .guideline-list {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; } 
        
      .guideline-list .guideline-list_item{width: 32%;}  
      .guideline-list .guideline-list_item.list-02, 
      .guideline-list .guideline-list_item.list-03{width: 66%;}  
     
      }

   @media screen and (max-width:767px){
     .flex_3col,.flex_2col{margin-bottom: 30px;}
     section .technology_box h5{font-size: 1.6rem;}
     
     .guideline-content{margin-top: -50px;}
     
    .about_1_img{margin-top: 20px;}
    .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;}
    .whatis_txt1{margin-bottom: 50px;}
    .business_1_img{margin-top: 20px;}
    .history-list-box .year {
       font-size:3rem;
       letter-spacing: 0;}
    .history-list-box .history-list-content {
      margin: 0 0 20px 10px;
      padding: 10px 0 10px 20px; }
    .history-list-box .history-list-content ul li .month {
      width: 60px;
      font-size: 1.6rem;}  
      .history-list-box .history-list-content ul li .content-text {width: calc(100% - 80px);  }
      
    .greeting_img p span{font-size: 1.8rem;}  
    .greeting_img{margin-bottom: 20px}
    .greeting_txt h5{
      font-size: 1.6rem;
      line-height: 1.6;
    }
    h5.ttl_compliance{font-size: 1.6rem;}
    .guideline-list .guideline-list_item{margin-bottom: 20px;}
    .guideline-list .guideline-list_item .list-title{font-size: 1.8rem; min-height:auto;}
    }
    
/*development////////////////////////*/
.bio3d_movie{
  margin-top: 60px;
  margin-bottom: 20px;
}
.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;
  color: #FFF;
  background: #888;
}
.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;
}
.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;}


.img_randd{margin-top: 30px;}

.randd_detail_box{
  padding: 50px 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.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: #AACD04;}

  .randd_detail_txt1 span img{
    width: 30px;
    margin-right: 5px;
  }

.randd_detail_txt2{
  font-size: 3.4rem !important;
  margin-bottom: 30px;
}

.acc_trigger{
  position: relative;
  cursor: pointer;
}

.acc_wrap + .acc_wrap{margin-top: 50px;}
.trigger_1st h4{
  font-size: 4rem;
  color: #FFF;
  left: 70px;
  top: 50%;
  transform: translateY(-50%);
  line-height: 1;
  font-weight: 700;
  position: absolute;
}

.trigger_2nd h5{
  font-size: 3rem;
  font-weight: 300;
  padding: 40px 20px;
  margin-bottom: 0 !important;
  border-bottom: 1px solid #444;
}
.trigger_1st:after,
.trigger_2nd:after{
  content: '';
  display: block;
  position: absolute;
  right: 70px;
  top: 50%;
  transform:translateY(-50%) rotate(135deg);
  width: 36px;
  height: 36px;
  border-top: 2px solid #FFF;
  border-right: 2px solid #FFF;
  transition: 0.3s;
}

.trigger_2nd:after{border-color: #444; border-width: 1px;  width: 20px; height: 20px; right: 20px;}

.acc_trigger.open.trigger_1st:after,
.acc_trigger.open.trigger_2nd:after{
  transform:rotate(-45deg);
}

.acc_inner{
  display: none;
  padding: 20px 70px 70px 70px;;
  background: #eae7e0;}


.acc_inner_2nd{
  display: none;
  padding: 50px;
  background:#444;
  color: #FFF;
}
.acc_inner_block{
  
}
.acc_inner_block h6{
  font-weight: 700;
  font-size: 2rem;
  margin-bottom: 20px;
}
.acc_inner_block_btn{
  text-align: right;
  margin-top: 20px;
}
.acc_inner_block_btn .btn a{
   width: 150px;
   padding: 10px;
}
.acc_inner_block + .acc_inner_block{
  border-top: 1px solid #FFF;
  margin-top: 40px;
  padding-top: 40px;
}

     @media screen and (min-width:768px){
       .randd_detail{display: flex; flex-wrap: wrap;}
       .randd_detail_box{width: 50%;}
       .acc_trigger:hover{
          opacity: 0.6;
          transition: 0.3s;
        }
     }
     @media screen and (max-width:1200px){
     .bio3d_step_number{font-size: 4rem;}
     .bio3d_step_box h6{font-size: 1.8rem;}
}
     @media screen and (max-width:767px){
       .bio3d_step_number{font-size: 3rem;}
       .bio3d_step_box h6{margin: 5px 0;}
       .bio3d_step h5{font-size: 1.6rem;}
       
       .randd_detail_box .btn{display: block;}
       .randd_detail_box .btn a{width: 100%;}
       .randd_detail_box{ padding: 30px 20px;}
       .randd_detail_txt2{
          font-size: 3rem !important;
          margin-bottom: 20px;}
      
      .acc_wrap + .acc_wrap{margin-top: 30px;}
      .trigger_1st h4{
        font-size: 2.4rem;
        left: 20px;}
      
      .trigger_1st:after{
        right: 20px;
        width: 16px;
        height: 16px;}
        
      .trigger_2nd:after{width: 12px; height: 12px; right: 5px;}  
        
      .trigger_1st{overflow: hidden;}  
      .trigger_1st img{
        max-width: 200%;
        margin-left: -50%;
      }  
      .acc_inner{padding: 0 10px 20px 10px;}  
      .trigger_2nd h5{
        font-size: 1.8rem;
        padding: 20px 20px 20px 0;}
      
      .acc_inner_2nd{padding: 20px 10px;}
      .acc_inner_block{line-height: 1.5;}
      .acc_inner_block h6{font-size: 1.4rem;}
      .acc_inner_block p{font-size: 1.2rem !important;}
      .acc_inner_block_btn{text-align: center;}
      .acc_inner_block + .acc_inner_block{margin-top: 20px; padding-top: 20px;}
     }
     
     
/*modal*/
    .modal-bg,
    .modal,
    .modal-close{
      opacity: 0;
      visibility: hidden;
    }

    .modal-bg.open,
    .modal.open,
    .modal-close.open{opacity: 1; visibility: visible;}

    .modal-bg{
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transition: 0.3s;
        box-sizing:border-box;
        background: rgba(0, 0, 0, 0.9);
        z-index: 997;
    }

     .modal{
       position: fixed;
       top: 0;
       right: 0;
       bottom: 0;
       left: 0;
       height: 85%;
       margin: auto;
       max-width: 1000px;
       box-sizing: border-box;
       overflow-y:scroll;
       z-index: 998;}

    .modal_inner{
      
    }

    .modal-close{
      position: absolute;
      top:0;
      right: 20px;
      z-index: 999;
      font-weight: 100;
      font-size: 8rem;
      line-height: 1;
      color: #000;
      cursor: pointer;
    }  
    
  .randd_modal_ttl{
    padding: 30px 50px 0 50px;
    /*background-repeat: no-repeat;
    background-position: center;
    background-size: cover;*/
    box-sizing: border-box;
    background: #FFF;
  }  
  .randd_modal_ttl .randd_detail_txt2{
    margin-bottom: 0;
  }
  
  /*#modal01 .randd_modal_ttl{background-image: url("../images/development/randd_bg_1.jpg");}
  #modal02 .randd_modal_ttl{background-image: url("../images/development/randd_bg_2.jpg");}
  #modal03 .randd_modal_ttl{background-image: url("../images/development/randd_bg_3.jpg");}
  #modal04 .randd_modal_ttl{background-image: url("../images/development/randd_bg_4.jpg");}*/
  
  .randd_modal_detail{
    background: #FFF;
  }
  
  .randd_modal_txt p,.randd_modal_txt2 p{
    font-size: 1.6rem !important;
    line-height: 2 !important;
  }
  
      @media screen and (min-width:768px){
        .randd_modal_detail{
          padding: 0 50px 30px 50px;
          display: flex;
          justify-content: space-between;
        }

        .randd_modal_txt{
          width: 62%;
        }
         .randd_modal_txt2{
          width: 100%;
        }  
         .randd_modal_img{
            width: 35%;
          }
       }  
        
        
       @media screen and (max-width:1200px){
         .modal{margin: auto 20px;}
         .modal{height: 90%;}
       }
       @media screen and (max-width:767px){
         .modal{margin: auto 20px;}
         .randd_modal_detail{padding: 20px;}
         .randd_modal_ttl{padding: 20px;}
         
         .modal-close{
            position: fixed;
            top:20px;
            right: 30px;
            font-size: 6rem;
            
          }  
        }
     
/*product////////////////////////////*/
.product_box{
  text-align: center;
  padding: 40px;
}
.product_box_logo{
  
}
.product_box_logo img{
  max-width: 300px;
}

.product_box_img{margin-bottom: 20px;}
.product_box p.product_box_copy{
  font-size: 2rem;
  margin: 40px 0;
}
p.product_copy{font-size: 1.8rem !important;}

.Ex_box p{
line-height: 1.8 !important;
}
.Ex_box{
  padding: 20px 40px;
}
.Ex_box h5{
  font-size: 2rem;
}
.Ex_box_btn{
  margin-top: 20px;
  text-align: right;
}
.Ex_box_btn .btn a{
  width: auto;
  padding: 10px 40px;
}
.product_logo img{
  max-width: 200px;
  
}
.catalogue_img{ max-width: 1000px; margin: 0 auto; margin-top: 20px;}
.movie_wrap{
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  
}
.movie_wrap iframe{
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.ttl_catalog{text-align: center; margin-bottom: 30px;}
.ttl_catalog h5{
  font-size: 2rem;
  font-weight: 400;
  position: relative;
  display: inline-block;
  padding-right: 40px;
}
.ttl_catalog h5:after{
  content: '';
  display: block;
  background: url("../images/icon_pdf.svg") no-repeat 0 0;
  width: 30px;
  height: 36px;
  position: absolute;
  right: 0;
  top: 0;
  background-size: cover;
}
.catalog_list{
  display: flex;
  justify-content: space-around;
}
.catalog_img{
  width: 40%;
  border: 1px solid #CCC;
}

.catalog_caption{
  font-size: 1.4rem !important;
}
sup{
  font-size: 0.5em;
  vertical-align: top;
  display: inline;
}
     @media screen and (min-width:768px){
       .catalog_list{width: 80%; margin: 0 auto 60px auto;}
       .product_head{
        max-width: 1000px;
        margin: 0 auto;
          display: flex;
          justify-content: space-between;
          align-items: center;
        }
        .product_logo{margin-right: 40px;}
     }
     @media screen and (max-width:767px){
       .product_box{padding:20px 30px;}
       .product_box_logo img{
        max-width: 200px;
      }
       .product_box p.product_box_copy{
          font-size: 1.6rem;
          margin: 20px 0;
        }
       .product_box .btn{display: block;}
      .product_box .btn a{width: 100%;}
      .Ex_box{padding: 20px;}
      .Ex_box h5{font-size: 1.6rem;}
      
      .product_img{text-align: center;}
      .product_logo {text-align: center; margin-bottom: 20px;}
      p.product_copy{font-size: 1.6rem !important; margin-bottom: 40px;}
      .catalogue_img{display: none;}
      .ttl_catalog h5{font-size: 1.6rem; padding-right: 30px;}
      .ttl_catalog h5:after{width: 20px; height: 24px;}
      .catalog_list{justify-content: space-between; 
  margin-bottom: 40px;}
      .catalog_img{width: 45%;}
      .catalog_caption{font-size: 1.2rem !important;}
      }
      
/*News///////////////////*/      
.NewsList .News_box_img{
  border: 1px solid #CCC;
}

.Side h3{
  font-size: 2rem;
  line-height: 1;
  padding: 5px 10px;
  border-left: 3px solid #EA5404;
  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_box{
  margin: 60px 0 100px 0;
}
.Entry_box p{
  margin-bottom: 30px;
}
.Entry_box a{
  color: #EA5404;
  border-bottom: 1px solid #EA5404;
}

.prev_btn .btn a:after{
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  border-top: 2px solid #444;
  border-left: 2px solid #444;
  transform: rotate(-45deg);
  left: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  position: absolute;
  z-index: 10;
}
.prev_btn .btn a{
  position: relative;
  width: 150px;
  padding: 10px;
}
.prev_btn .btn a:hover:after{border-color: #FFF;}


.Entry_ttl{
  border-bottom: 1px solid #444;
  font-size: 2.8rem;
  padding-bottom: 10px;
  margin-bottom: 20px;
}

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

.Entry_head time{
  color:#EA5404;
  font-size: 1.8rem;
}

.Entry_head .ctg{
  
  padding: 3px 20px;
  background: #666666;
  color: #FFF;
}

     @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.prev a,
        .pagenation ul li.next a,
        .pagenation ul li.prev a:before,
        .pagenation ul li.next a:before{
          width: 12px;
          height:12px;}
          
       .Entry_ttl{font-size: 1.8rem;}
       .Entry_box{margin: 30px 0 50px 0;}
       
       
     }
     
/*recruit////////////////////////////*/
.recruit_img{
  margin-top: -100px;
  background: url("../images/recruit/recruit_img_1.jpg") no-repeat top center;
  background-size: cover;
  height: 0;
  padding-top: 43.859%;
  position: relative;
  margin-bottom: 100px;}
  
.recruit_img p{
  font-size: 4.8rem;
  color:#FFF;
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
  bottom: 10%;
}

.recruit_lead{
  text-align: center;
}
.recruit_lead_1{
  font-size: 3rem !important;
  line-height: 2 !important;
  margin-bottom:40px;
}
.recruit_lead_2{
  font-size: 1.8rem !important;}

.bg_gradient{
  background: linear-gradient(
-135deg
,rgba(255,225,0,.5) 50%,rgba(255,255,255,0)),linear-gradient(
-180deg
,rgba(255,255,255,0) 50%,rgba(143,195,31,.8)),linear-gradient(
-45deg
,rgba(255,255,255,0) 25%,rgba(243,152,0,.8));
 margin: 60px 0;
}
.recruit_entry{
  padding: 80px 30px;
  text-align: center;
}
.ttl_entry{
  font-size: 2rem;
  margin-bottom: 20px;letter-spacing: 1px;
}
.recruit_entry .btn{
  display: block;
  max-width: 600px;
  margin: 0 auto;
}
.recruit_entry .btn a{
  position: relative;
  font-size: 3.6rem;
  letter-spacing: 4px;
  width: 100%;
}

.recruit_entry .btn a:after{
   content: '';
  display: block;
  width: 16px;
  height: 16px;
  border-top: 3px solid #FFF;
  border-right: 3px solid #FFF;
  transform: rotate(45deg);
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  position: absolute;
  z-index: 10;
}
.recruit_entry .btn a:hover:after{
  border-color: #EA5404;
}

.recruit_entry .btn span{font-weight: 700;}



  @media screen and (min-width:768px){
    .bnr{
      display: flex;
      flex-wrap: wrap;
      justify-content: space-around;
    }
    .bnr li{
      display:block;
      margin-bottom: 40px;
      width: 46%;
    }
  }
     @media screen and (max-width:767px){
       .recruit_img{
          margin-top: -50px;
          padding-top: 75%;
          margin-bottom: 50px;
        }
        .recruit_img p{
          font-size: 2.2rem;
          line-height: 1.5;
          bottom: 20px;}
          
        .recruit_lead_1{
          font-size: 2rem !important;
          line-height: 2 !important;
          margin-bottom:40px;
        }
        .recruit_lead_2{
          font-size: 1.5rem !important;}  
          
          
        .ttl_entry{
          font-size: 1.8rem;}
        
        .recruit_entry{padding:40px 30px;}
        .recruit_entry .btn a{
          font-size: 2.4rem;}
          
        .bnr li{margin-bottom: 20px;}
     }
     
/*form/////////////////////////*/
.form_txt{
  margin-bottom: 30px;
  text-align: center;
}
.mw_wp_form_confirm .form_txt.form_txt_edit{display: none;}
.mw_wp_form_input .form_txt.form_txt_confirm{display: none;}

.form_caution{
  text-align: center;
  margin-bottom: 30px;
  line-height: 1.7 !important;
  font-size: 1.4rem !important;}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus,
select:focus{outline: none;}

table.table_std input[type="text"],
table.table_std textarea{
    border:none;
	background:#F6F5EF;
    box-sizing: border-box;
    width: 100%;
    padding: 10px;
    font-size: 1.6rem;
    border-radius: 5px;
}
table.table_std textarea{height: 200px;}
input[type="text"]::placeholder {color: #CCC;}
    
table.table_std input[type="text"]{
	height:45px;
  line-height:45px;}


/*ラジオボタン*/
.radio_custom input{
  display: none;
}
.radio_custom input + span.mwform-radio-field-text{
  padding-left: 25px;
  position:relative;
  margin-right: 25px;
}
.radio_custom input +span.mwform-radio-field-text::before{
  content: "";
  display: block;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 16px;
  height: 16px;
  border: 1px solid #CCC;
  border-radius: 50%;
}
.radio_custom input:checked + span.mwform-radio-field-text{
  color: #EA5404;
}
.radio_custom input:checked + span.mwform-radio-field-text::after{
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 4px;
  width: 10px;
  height: 10px;
  background:#EA5404;
  border-radius: 50%;
}

/*ファイル*/
 .form__file input[type=file] {
  display: none;
}
.form__file label {
  background: #666;
  color: #FFF;
  font-size: 1.6rem;
  padding: 8px 10px;
  border-radius: 4px;
  display: inline-block;
  position: relative;
  cursor: pointer;
  margin-right: 8px;
}
.form__file label:hover {
  opacity: 0.7;
  transition: 0.3s ease-out;
}

.form__file label.changed:after {
  content: "";
}

/*チェックボックス*/
.check-box input{
  display: none;
}
.mwform-checkbox-field-text{
  padding-left: 30px;
  font-size: 1.6rem;
  position:relative;
  display: inline-block;
  
}
.mwform-checkbox-field-text::before{
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 0;
  width: 18px;
  height: 18px;
  background: #FFF;
  border:2px solid #CCC;
}
.check-box input:checked + .mwform-checkbox-field-text{
  color:#EA5404;
}
.check-box input:checked + .mwform-checkbox-field-text::before{
	 background: #EA5404;
   border:2px solid #EA5404;
}
.check-box input:checked + .mwform-checkbox-field-text::after{
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 6px;
  width: 7px;
  height: 14px;
  transform: rotate(40deg);
  border-bottom: 3px solid #FFF;
  border-right: 3px solid #FFF;
 
}  
/*セレクトボックス*/
.select-wrap select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 5px;
    width: 60%;
    box-sizing: border-box;
   	padding: 15px 10px;
    font-size: 16px;
	border: none;
	background: url(../images/select.png) 98% 50% no-repeat #F6F5EF;
    background-size: 8px 20px;	
}
select::-ms-expand {
    display: none;
}

/*送信ボタン*/    
.form-btn{
  text-align: center;
  margin-top: 30px;
}    
.form-btn input[type="submit"]{
  position: relative;
  font-size: 2.4rem;
  letter-spacing: 1px;
  width: 100%;
  padding: 20px;
  border: none;
  max-width: 300px;
  margin: 0 auto;
  boder:none;
  background: #EA5404;
  color: #FFF;
  cursor: pointer;
}
.form-btn span{
  display: block;
  position: relative;
}
.form-btn input[type="submit"]:after{
   content: '';
  display: block;
  width: 16px;
  height: 16px;
  border-top: 3px solid #FFF;
  border-right: 3px solid #FFF;
  transform: rotate(45deg);
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  position: absolute;
  z-index: 10;
}
.form-btn input[type="submit"]:hover{
  opacity: 0.6;
  transition: 0.3s;  
}

.required{
  display: inline-block;
  background:#DB4245;
  color: #FFF;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 1.2rem;
  line-height: 1;
  vertical-align: 2px;
  margin-left: 10px;
}
.form_pp{
  background: #EFEFEF; padding:20px 40px; border-radius: 5px; margin: 20px auto;}
.form_pp p,
.form_pp{
  font-size: 1.4rem !important;
}
.form_pp p a{
  text-decoration: underline;
}

.form_pp p.pp_link{
  text-align: center;
  font-size: 1.6rem !important;
  margin-bottom: 20px;
}

.Agree{
  text-align: center;
}

     @media screen and (max-width:767px){
        .form-content-list table.table_std th,
        .form-content-list table.table_std td{
          padding-left: 0;
          padding-right: 0;
          display: block;
        }
        .form-content-list table.table_std th{border-bottom: none; padding-top: 20px; font-size: 1.6rem;}
        .form-content-list table.table_std td{padding-bottom: 20px;}
        .form-btn input[type="submit"]{font-size: 1.8rem;}
        .select-wrap select {width: 100%; padding-right: 20px;}
        .radio_custom .mwform-radio-field{display: inline-block;}
        .radio_custom .mwform-radio-field + .mwform-radio-field{margin-top: 10px;}
        .form__file label {font-size: 1.4rem;}
        .form_pp{padding: 20px;}
        .form_pp p,
        .form_pp{
          font-size: 1.2rem !important;
        }
      }
      
.container_404{
  padding-top: 100px;
}      
.Error{
  padding: 100px 0;
  text-align: center;
}      

/*15th//////////////////////////*/

.Box_15th_logo img{
  width: 245px;  
  margin:  0 auto;
  transform: translateY(-115px);
  background: #FFF;
  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: 300px;
  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){ 
    .no_img{
      background: #333;
      height: 55px;
      position: absolute;
      width: 100%;
      top: 0;
      left: 0;
    }
    .Wrap_15th{padding-top: 150px;}
    .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;}
  }