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

/* --------------------------------------------------------------


                      top


-----------------------------------------------------------------*/

.top-image {
  background-image: url("../img/top/yellow_back.png"), url("../img/top/yellow_back.png"),url("../img/top/yellow_b.png");
  background-position: top, bottom,center;
  background-size:100% 20%,100% 20%,cover;
  background-repeat: no-repeat, no-repeat,no-repeat;
  height: 100vh;
  background-color: transparent;

}

.top-image .top-text {
  position: absolute;
  width: 100%;
  height: auto;
  top: 75vh;
  left: 0;
  right: 0;
  margin: auto;
}

.top-image .top-text p {
  text-align:center;
  font-size: 2rem;
  font-weight: bold;
}

#top .inner .flex .contents-footer {
  position: absolute;
  bottom: 100px;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  margin: auto;
}

#top .inner .flex .contents-footer .btns{
}

#top .inner .flex .contents-footer .btns .btn{
}

/*20200303追加*/

.ri-grid-size-3{
  width: 100%;
  height: 100%;
  position:absolute;
  top:0;
   mix-blend-mode: darken;
}

.ri-grid ul {
  height: 100%;
  opacity: 0.2;
  overflow: hidden;
}

.ri-grid ul li {
  background: #fff;
  /*height: 12.5vh !important;*/
  height: calc(100%/8) !important;

}

.ri-grid ul li a{
  width: 100%;
  height: 100%;
  -webkit-background-size: contain;
  -moz-background-size: contain;
  background-size: contain;
  background-color: #fff;

}


/* --------------------------------------------------------------


                      works


-----------------------------------------------------------------*/

.left-box {
  overflow: hidden;
}

.left-box .inner{
}

.left-box .inner .flex{
   text-align: left;
   padding:100px;
}

.left-box .inner .flex .contents {
   height: 100%
}

.left-box .inner .flex .works-pickup {
   overflow-y: hidden;
}

.left-box .inner .flex .contents-title{
   font-size: 60px;
   font-weight: bold;
   letter-spacing: 5px;
   margin-top: 100px;
}

.left-box .inner .flex .contents-title-flex_box{
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-top: 50px;
}

.left-box .inner .flex .contents-title-flex_box .contents-title-img{
  width: 5%;
  margin-right:15px;
}


.left-box .inner .flex .contents-title-flex_box .contents-description{
  line-height:1.2rem;
}

.left-box .inner .flex .category{

}

.left-box .inner .flex .category .link{
   margin: 25px 0;
   text-align:left;
}

.left-box .inner .flex .category .is-active{
  color: #000;
  width: 30%;
  font-size: 24px;
  display: flex;
  align-items: center;
}

.left-box .inner .flex .category .is-active:before{
  content: "";
  flex-grow: 0.5;
  height: 2px;
  display: block;
  margin-right: .4em;
  background: #000;
}

.left-box .inner .flex .category .link a{
   font-size: 20px;
   color: #000;
   font-weight: bold;
}

  .right-box .inner {
    padding: 0 100px;
    text-align: left;
  }

   #works .inner {
    padding:0;
  }

  .right-box .inner .flex {
   width: 100%;
   margin: 180px 0 100px 0;

  }

  .works-regular-list, .works-special-list, .works-old-list {
    margin-bottom: 100px;
    text-align: left;
  }

  .right-box .inner .flex .contents{

  }

  #works .g-header .inner .flex .gloval-nav .menu .navigation{
    padding: 0 100px;
}

  .right-box .inner .flex .contents .contents-main{
      display: -webkit-flex;        /* safari用 */
      display: flex;
         -webkit-flex-wrap: wrap;    /* safari用 */
      justify-content: center;
      align-items: baseline;
      flex-wrap: wrap;
  }


  .right-box .inner .flex .contents .contents-main .contents-box{
     margin: 0 20px 20px 20px;
     width: 35%;
  }


/*_________________________________________________________________*/
  .right-box .inner .flex .works-old-list .contents-main .contents-box{
     display: block;
     width: 100%;
     padding: 0 100px;
  }


@media screen and (max-width: 1100px){
  .right-box .inner .flex .works-old-list .contents-main .contents-box{
     display: block;
     width: 100%;
     padding: 0 30px;
  }
  }

@media screen and (max-width: 768px){
  .right-box .inner .flex .works-old-list .contents-main .contents-box{
     display: block;
     width: 100%;
     padding: 0 30px;
  }
  }




/*_________________________________________________________________*/
   .right-box .inner .flex .works-old-list .contents-main .contents-box li{
    margin:10px;
  }

  .right-box .inner .flex .works-old-list .contents-main .contents-box .sec1{
    font-weight: bold;
    margin: 50px 0 20px 0;
    font-size: 16px;
  }

  .right-box .inner .flex .works-old-list .contents-main .contents-box .sec2,
  .right-box .inner .flex .works-old-list .contents-main .contents-box .sec3{
    font-weight: bold;
    margin-top: 20px;
    font-size: 14px;
  }

  .right-box .inner .flex .contents .contents-main .contents-box img{
     width: 100% !important;
     height: auto;
     margin: 0 auto;
  }

  .right-box .inner .flex .contents .contents-main .contents-box .contents-description{
     color: #000;
     padding: 0;
  }

  .right-box .inner .flex .contents .contents-main .contents-box .contents-description .works-category{
     font-size: 0.8rem;
     text-align: left;
     font-weight: bold;

  }

  .right-box .inner .flex .contents .contents-main .contents-box .contents-description .contents-sub-title{
     font-size: 14px;
     line-height:1.2rem;
     font-weight: bold;
     margin-top:0px;
     color: #000;
    font-family: 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  }

  .right-box .inner .flex .contents .contents-main .contents-box .contents-description .channel{
     font-size: 12px;
     color: #000;
    font-family: 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  }


  .right-box .inner .flex .contents .slider {
     max-width: 100%;

  }
  .right-box .inner .flex .contents .contents-main .slider-item {

  }

  .right-box .slider-item {
     display: flex;
     justify-content: space-between;
     margin: 50px;
  }

  .right-box .contents-header {
     /*padding: 0 50px;*/
  }

  .right-box .contents-navi ul{
     display: flex;
     justify-content: center;
     align-items: center;
  }

  .right-box .contents-navi li{
     margin-left: 100px;
  }

  .right-box .contents-navi li a{
     font-size: 16px;
     font-weight: bold;
     color: #000;
     letter-spacing: 2px;
  }

  .right-box .contents-main .right-box .slider-item {
     width: 100%;
  }

  .right-box .contents-item{
     justify-content: space-between;
     text-align:left;
     width: 100%;
     padding: 0 100px;
  }

  .right-box .contents-left, .right-box .contents-right{
     display: block;
     width: 100%;
  }

  .right-box .contents-right img{
     width: 100%;
  }

  .right-box .contents-title{
     font-size: 60px;
     font-weight: bold;
     letter-spacing: 5px;
  }

  .right-box .contents-sub-title,.channel,.contents-number {
     font-family:"Josefin Sans";
     color: #fbe800;
     font-size: 2.5vw;
     line-height: 2.5rem;
     font-weight: bold;
     width: 100%;
  }

  .right-box .contents-image {
    width: 100%;
    text-align:center;
    z-index: 0;
  }

  .right-box .contents-image img{
    max-width: 100%;
    box-shadow: 5px 5px 20px lightgray;
  }

  .right-box .slider-image img{
    max-width: 80%;
    box-shadow: 5px 5px 20px lightgray;
  }

  .right-box .contents-number {
     position:relative;
     right: -55%;
     top: 25%;
  }

  .right-box .contents-number p {
     font-size: 9vw;
     color: #fbe800;
  }

  .right-box .channel{
     font-size: 2vw;
     margin-bottom: 0px;
  }

.contents-main .slide1,
.contents-main .slide2,
.contents-main .slide3,
.contents-main .slide4{
   display: flex;
   justify-content:space-between;
   align-items: flex-start;
   text-align: left;
}



/* 20200221Arrows */
.slick-prev,
.slick-next
{
   position: absolute;
   top: 90%;
   display: inline-block;
   padding-left: 20px;
   z-index: 1;
}

.slick-prev
{
    left: 75%;
    right: 120px;
}
[dir='rtl'] .slick-prev
{
    right: 120px;
    left: auto;
}

.slick-next
{
    right: 100px;
}
[dir='rtl'] .slick-next
{
    right: auto;
    left: 100px;
}


.slick-prev:before,
.slick-next:before
{
  content: '';
  width: 20px;
  height: 20px;
  border: 0px;
  border-top: solid 2px #000;
  border-right: solid 2px #000;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -4px;
}

.slick-prev:before{
   -ms-transform: rotate(-135deg);
   -webkit-transform: rotate(-135deg);
   transform: rotate(-135deg);

}

/* --------------------------------------------------------------


                      recruit


-----------------------------------------------------------------*/

#recruit .inner .flex .contents .contents-main{

}

#recruit .inner .flex .contents .contents-main .contents-box{
  display: block;
  width: 100%;
  margin-bottom: 50px;
}

#recruit .inner .flex .contents .contents-main .contents-box .br-1800px{
  display: block;
  text-align: center;
}

#recruit .inner .flex .contents .contents-main .contents-box .contents-left .br-1801px{
  display: none;
}

#recruit .inner .flex .contents .contents-main .contents-box .contents-left{
  display: block;
  width: 100%;
}

#recruit .inner .flex .contents .contents-main .contents-box .contents-left .recruit-text img{
  width: 100%;
}

#recruit .inner .flex .contents .contents-main .contents-box .contents-left .contents-sub-title{
   font-weight: bold;
   font-size: 20px;
   color: #000;
   position:relative;
   text-align: left;
  font-family: 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

#recruit .inner .flex .contents .contents-main .contents-box .contents-left .recruit-number {
  text-align: left;
  position: relative;
  top: -20%;
  z-index: -1;
}

 #recruit .inner .flex .contents .contents-main .contents-box .contents-left .recruit-number p{
  font-size: 8rem;
  color: #fbe800;
}

#recruit .inner .flex .contents .contents-main .contents-box .contents-image {
   width: 100%;
   margin-bottom: 20px;
}

#recruit .inner .flex .contents .contents-main .contents-box .contents-image img{
   width: 100%;
}

#recruit .inner .flex .contents .contents-main .contents-box .recruit-text{
  line-height: 1.5rem;
  text-align: center;
}

.recruit_btn{
  width: 100%;
}

.recruit_btn img{
  width: 100%;
}

/* --------------------------------------------------------------


                      company


-----------------------------------------------------------------*/

#company .inner .flex .contents .contents-main{

}

#company .inner .flex .contents .contents-main{
  display:block;
  width: 100%;
  margin-bottom: 140px;
}

#company .inner .flex .contents .contents-main .contents-box{
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin-left: 0;
  width: 100%;
}

#company .inner .flex .companyinfo .contents-main .contents-box{
  display: flex;
  width: 100%;
}

#company .inner .flex .contents .contents-main h2{
  font-weight: bold;
  font-size: 20px;
  color: #000;
  position: relative;
  display: inline-block;
  padding: 0 55px;
  margin-bottom:20px;
}

#company .inner .flex .contents .contents-main  h2:before{
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 40px;
  height: 2px;
  background-color: black;
  left:0;
}

#company .inner .flex .contents .contents-main .contents-box .companyinfo-box{
  width: 100%;
}

#company .inner .flex .contents .contents-main .contents-box .companyinfo-box li{
  margin-bottom: 20px;
}

#company .inner .flex .contents .contents-main .contents-box .companyinfo-box .bold{
  font-weight: bold;
  margin-bottom: 5px;
  font-size: 16px;
}

#company .inner .flex .contents .contents-main .contents-box .contents-map{
  margin-top: 20px;
}

#company .inner .flex .contents .contents-main .contents-box .contents-title{
   margin-bottom: 50px;
}

/* --------------------------------------------------------------


                      contact


-----------------------------------------------------------------*/
#contact .inner .flex .contents .contents-main .contents-box {
  width: 100%;
  background-color: #efefef;
  padding: 50px;
  margin:0;
  text-align:left;
}

#contact .inner .flex .contents .contents-main .contents-box .form_area {
   width: 100%;
}

#contact .inner .flex .contents .contents-main .contents-box .form_area .item {
   display:block;
   margin:20px 0;
}

#contact .inner .flex .contents .contents-main .contents-box .form_area .item .form-text{
   box-sizing:border-box;
   width: 100%;
   height: 200px;
}

#contact .inner .flex .contents .contents-main .contents-box .form_area .item .form-text-middle{
   box-sizing:border-box;
   width: 50%;
   height: 30px;
}

#contact .inner .flex .contents .contents-main .contents-box .form_area .item .form-text-small{
   box-sizing:border-box;
   width: 30%;
   height: 30px;
}

.wpcf7-text{
  width: 70%;
  height: 40px;
  padding-left: 10px;
}

.wpcf7-textarea {
  width: 100%;
}


/* --------------------------------------------------------------


                      works-detil


-----------------------------------------------------------------*/

#works-detil .inner {
  padding:0;
}

/*_______________________________________________________*/
#works-detil .inner .flex .contents .contents-main{
  display:block; 
  width: 100%;
  padding:0 100px;
 }

@media screen and (max-width: 1100px){
#works-detil .inner .flex .contents .contents-main{
  display:block; 
  width: 100%;
  padding:0 45px;
 }
  }

@media screen and (max-width: 768px){
#works-detil .inner .flex .contents .contents-main{
  display:block; 
  width: 100%;
  padding:0 20px;
 }
  }

/*_______________________________________________________*/







 #works-detil .inner .flex .contents .contents-main .contents-box{
  width: 100%;
  margin: 0;
 }

#works-detil .inner .flex .contents .contents-main .contents-box .contents-description .contents-sub-title{
  font-size: 1.2rem;
  line-height: 1.5rem;
  margin-top: 0px;
}

#works-detil .inner .flex .contents .contents-main .contents-box .channel-description {
  margin-bottom: 50px;
  box-sizing: border-box;
}

#works-detil .inner .flex .contents .contents-main .contents-box .channel-description li{
  padding: 10px;
}

#works-detil .inner .flex .contents .contents-main .contents-box .channel-description .channel-item{
  font-weight: bold;
  background-color: #efefef;
}

#works-detil .inner .flex .contents .contents-footer  {
 display: flex;
 align-items: center;
 justify-content: flex-start;
 width: 100%;
 margin-bottom:100px;
}

#works-detil .inner .flex .contents .contents-footer .back-btn{
 font-size: 16px;
 font-weight: bold;
}

#works-detil .inner .flex .contents .back-btn .arrow {
   display: inline-block;
   padding: 0 50px;
   color: #000;
   text-decoration: none;
   transform: rotate( 180deg );
}

#works-detil .inner .flex .contents .back-btn .arrow::after {
   content: "";
   display: block;
   position: absolute;
   top: 0;
   bottom: 0;
   right: 10%;
   margin: auto;
   width: 80px;
   height: 10px;
   border-bottom: 1px solid #000;
}
#works-detil .inner .flex .contents .back-btn .arrow::before {
   content: "";
   display: block;
   position: absolute;
   top: 0;
   bottom: -28px;
   right: 10%;
   margin: auto;
   width: 20px;
   height: 10px;
   border-top: 1px solid #000;
   -webkit-transform: rotate(-20deg);
   transform: rotate(-20deg);
}

.btn-box {
   width: 50%;
   margin: 0 auto;
}


.btns{
  width:300px;
  height:72px;
  border:2px solid #000;
  float:left;
  text-align:center;
  cursor:pointer;
  position:relative;
  box-sizing:border-box;
  overflow:hidden;
  left: 0;
  right: 0;
  margin: auto;
}

.btns a{
   font-size:16px;
   color:#000;
   text-decoration:none;
   line-height:72px;
   transition:all .5s ease;
   z-index:2;
   position:relative;
}

.btneff{
   width:300px;
   height:72px;
   left:-300px;
   background:#000;
   position:absolute;
   transition:all .5s ease;
   z-index:1;
}

.btns:hover .btneff{
   left:0;
}

.btns:hover a{
   color: #fbe800;
}



.wpcf7-submit {
  display: inline-block;
  width: 200px;
  height: 54px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
}
.wpcf7-submit::before,
.wpcf7-submit::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.wpcf7-submit,
.wpcf7-submit::before,
.wpcf7-submit::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.wpcf7-submit {
  position: relative;
  z-index: 2;
  background-color: #fff;
  border: 2px solid #333;
  color: #333;
  line-height: 50px;
  overflow: hidden;
}
.wpcf7-submit:hover {
  color: #fbe800;
  background-color:#000;
}

.read-text {
  font-weight: bold;
  font-size: 1.2rem;
  padding-left: 15px;
  margin-bottom: 50px;
  text-align: center;
}

@media screen and (min-width: 1801px){

  .left-box .inner .flex .contents-title-flex_box .contents-title-img{
    width: 3%;
    margin-right:15px;
  }

/* --------------------------------------------------------------


                      recruit


-----------------------------------------------------------------*/

   #recruit .inner .flex .contents .contents-main{
   }

   #recruit .inner .flex .contents .contents-main .contents-box{
    display: -webkit-flex;        /* safari用 */
    display: flex;
       -webkit-flex-wrap: wrap;    /* safari用 */
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: row-reverse;

   }

   #recruit .inner .flex .contents .contents-main .contents-box .br-1800px{
     display: none;
   }

   #recruit .inner .flex .contents .contents-main .contents-box .contents-left .br-1801px{
     display: block;
     text-align: center;
   }

   #recruit .inner {
    padding:0 20px;
  }

   #recruit .inner .flex .works-old-list .contents-main .contents-box li{
    margin:10px;
  }

    #recruit .inner .flex .contents .contents-main .contents-box .contents-left{
    width: 60%;
    padding-right: 20px;
  }

  #recruit .inner .flex .contents .contents-main .contents-box .contents-image {
     width: 40%;
  }

  .recruit_btn {
    width: 80%;
    margin: 0px 30px 0px 40px;
  }






}

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

   /* --------------------------------------------------------------


                      top


-----------------------------------------------------------------*/

.top-image {
 position:absolute;
 top: 0;
 left:0;

}

.top-image .top-text-img {
  width: 70%;
  top: 70%;
}

#top .inner .flex .contents-footer {
  position: absolute;
  top: 155%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  margin: auto;
}

#top .inner .flex .contents-footer .btns{
  position: relative;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  
  margin: auto;
}

#top .inner .flex .contents-footer .btns .btn{
}

.ri-grid ul li {
  background: #fff;
  /*height: 11vh !important;*/
}

/* --------------------------------------------------------------


                      works


-----------------------------------------------------------------*/

.left-box {

}

.contents-top {
  height: 20%;
  margin-top: -48px;
}

.left-box .inner{
}

.left-box .inner .flex{
   text-align: left;
   padding:50px;
}

.left-box .inner .flex .contents {
   height: 100%
}

.left-box .inner .flex .works-pickup {
   overflow-y: hidden;
}

.left-box .inner .flex .contents-title{
}

.left-box .inner .flex .contents-description{
   margin: 50px 0;
}

.left-box .inner .flex .category{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 80%;
}

.left-box .inner .flex .category .link{
   margin: 25px 0;
}

.left-box .inner .flex .category .link a{
   font-size: 20px;
   color: #000;
   font-weight: bold;

}

  .right-box .inner {
    padding: 0 50px;
  }

   #works .inner {
    padding:0;
  }

  .right-box .inner .flex {
   margin: 50px 0 100px 0;

  }

  .works-regular-list, .works-special-list, .works-old-list {
    margin-bottom: 100px;
    text-align: left;
  }

  .right-box .inner .flex .contents{

  }

  #works .g-header .inner .flex .gloval-nav .menu .navigation{
    padding: 0 100px;
}

  .right-box .inner .flex .contents .contents-main{
     align-items: baseline;
     justify-content: space-around;
  }

  .right-box .inner .flex .contents .contents-main .contents-box{
    margin: 10px 0 ;
     width: 40%;
     box-sizing: border-box;
  }

  .right-box .inner .flex .works-old-list .contents-main .contents-box{
     display: block;
     width: 100%;
     padding: 0 50px;
  }

   .right-box .inner .flex .works-old-list .contents-main .contents-box li{
    margin:10px;
  }

  .right-box .inner .flex .works-old-list .contents-main .contents-box .bold{
    font-weight: bold;
    margin-bottom: 5px;
    font-size: 16px;
  }

  .right-box .inner .flex .contents .contents-main .contents-box img{
     width: 100%;
     height: 90%;
  }

  .right-box .inner .flex .contents .contents-main .contents-box .contents-description{
     color: #000;
     padding-top: 10px;
     margin-top: 0;
     padding: 15px;
  }

  .right-box .inner .flex .contents .contents-main .contents-box .contents-description .works-category{
    font-size: 0.5rem;
    height: 25px;
    width: 55%;
    line-height: 25px;
  }

  .right-box .inner .flex .contents .contents-main .contents-box .contents-description .contents-sub-title{
    line-height: 1.2rem;
    margin-top: 10px;
    color: #000;
  }

  .right-box .inner .flex .contents .contents-main .contents-box .contents-description .channel{
    font-size: 11px;
    color: #000;
    font-weight: normal;
    margin-bottom:0;
  }


  .right-box .inner .flex .contents .slider {
     max-width: 100%;

  }
  .right-box .inner .flex .contents .contents-main .slider-item {
     margin: 40px 60px;

  }

  .right-box .slider-item {
     display: flex;
     justify-content: space-between;
     margin: 50px;
  }

  .right-box .contents-header {
     /*padding: 0 50px;*/
  }

  .right-box .contents-navi ul{
     display: flex;
     justify-content: center;
     align-items: center;
  }

  .right-box .contents-navi li{
     margin-left: 100px;
  }

  .right-box .contents-navi li a{
     font-size: 16px;
     font-weight: bold;
     color: #000;
     letter-spacing: 2px;
  }

  .right-box .contents-main .right-box .slider-item {
     width: 100%;
  }

  .right-box .contents-item{
     justify-content: space-between;
     text-align:left;
     width: 100%;
     padding: 0 100px;
  }

  .right-box .contents-left, .right-box .contents-right{
     display: block;
     width: 40%;
    margin: 0 auto;
  }

  .right-box .contents-right img{
     width: 100%;
  }

  .right-box .contents-title{
     font-size: 60px;
     font-weight: bold;
     letter-spacing: 5px;
  }

  .right-box .slider-item .contents-sub-title,.slider-item .channel,.slider-item .contents-number {
     font-family:"Josefin Sans";
     color: #fbe800;
     font-size: 6vw;
     line-height: 4rem;
     font-weight: bold;
     width: 100%;
  }

  .right-box .slider-item .contents-image {
    width: 100%;
    text-align:center;
    z-index: -1;
  }

  .right-box .slider-item .contents-image img{
    width: 100%;
    height: auto;
    box-shadow: 5px 5px 20px lightgray;
  }

  .right-box .slider-item .contents-number {
     position:relative;
     right: -59%;
     top: 25%;
  }

  .right-box .slider-item .contents-number p {
     font-size: 20vw;
  }

  .right-box .slider-item .channel{
     font-size: 4vw;
     line-height:2rem;
     margin-bottom: 20px;
  }

  .right-box .slider-item .contents-description{
     margin-top: 50px;
     line-height: 1.5rem;
     font-size: 14px;
  }

  .contents-main .slide1,
  .contents-main .slide2,
  .contents-main .slide3,
  .contents-main .slide4{
     display: flex;
     justify-content:space-between;
     align-items: flex-start;
     text-align: left;
}


.slick-initialized .slick-slide {

}

.slick-slider .slick-list {
}

.slick-next
{
  right: 10%;
}

.slider {
  width: auto;
  margin: 0 auto;
}

* {
min-height:0;
min-width : 0;
}

.slick-prev,
.slick-next
{
   top: 100%;
}


/* --------------------------------------------------------------


                      recruit


-----------------------------------------------------------------*/

#recruit .inner .flex .contents .contents-main{

}

#recruit .inner .flex .contents .contents-main .contents-box{
  display:block;
  margin-bottom:100px;
}

#recruit .inner .flex .contents .contents-main .contents-box .contents-left{
  width: 100%;
  padding-right: 0;
}

#recruit .inner .contents .contents-main .contents-box .contents-left .flex .contents-title{
   margin-bottom: 50px;
}

#recruit .inner .flex .contents .contents-main .contents-box .contents-left .contents-sub-title{
   font-weight: bold;
   font-size: 20px;
   color: #000;
   position:relative;
   top: 10px;
   text-align: left;
}

#recruit .inner .flex .contents .contents-main .contents-box .contents-left .recruit-number {
  position: unset;
  margin-top: -20px;
}

 #recruit .inner .flex .contents .contents-main .contents-box .contents-left .recruit-number p{
  font-size: 6rem;
  color: #fbe800;
}

#recruit .inner .flex .contents .contents-main .contents-box .contents-image {
   width: 100%;
   margin-bottom: 20px;
}

#recruit .inner .flex .contents .contents-main .contents-box .contents-image img{
   width: 100%;
}

#recruit .inner .flex .contents .contents-main .contents-box .recruit-text{
  line-height: 1.5rem;
}

/* --------------------------------------------------------------


                      company


-----------------------------------------------------------------*/

#company .inner .flex .contents .contents-main{

}

#company .inner .flex .contents .contents-main{
  display:block;
  width: 100%;
  margin-bottom: 100px;
}

#company .inner .flex .contents .contents-main .contents-box{
  width: 100%;
  margin: 0 auto;
}

#company .inner .flex .companyinfo .contents-main .contents-box{
  display: flex;
  width: 100%;
}

#company .inner .flex .contents .contents-main h2{
  font-weight: bold;
  font-size: 20px;
  color: #000;
  position: relative;
  display: inline-block;
  padding: 0 55px;
  margin-bottom:20px;
}

#company .inner .flex .contents .contents-main  h2:before{
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 40px;
  height: 2px;
  background-color: black;
  left:0;
}

#company .inner .flex .contents .contents-main .contents-box .companyinfo-box{
  width: 100%;
}

#company .inner .flex .contents .contents-main .contents-box .companyinfo-box li{
  margin-bottom: 20px;
}

#company .inner .flex .contents .contents-main .contents-box .companyinfo-box .bold{
  font-weight: bold;
  margin-bottom: 5px;
  font-size: 16px;
}

#company .inner .flex .contents .contents-main .contents-box .contents-map{
  margin-top: 20px;
}

#company .inner .flex .contents .contents-main .contents-box .contents-title{
   margin-bottom: 50px;
}

/* --------------------------------------------------------------


                      contact


-----------------------------------------------------------------*/
#contact .inner .flex .contents .contents-main .contents-box {
  width: 100%;
  background-color: #eeeeee;
  padding: 50px;
  text-align:left;
  margin:0;
}

#contact .inner .flex .contents .contents-main .contents-box .form_area {
   width: 100%;
}

#contact .inner .flex .contents .contents-main .contents-box .form_area .item {
   display:block;
   margin:20px 0;
}

#contact .inner .flex .contents .contents-main .contents-box .form_area .item .form-text{
   box-sizing:border-box;
   width: 100%;
   height: 200px;
}

#contact .inner .flex .contents .contents-main .contents-box .form_area .item .form-text-middle{
   box-sizing:border-box;
   width: 100%;
   height: 30px;
}

#contact .inner .flex .contents .contents-main .contents-box .form_area .item .form-text-small{
   box-sizing:border-box;
   width: 100%;
   height: 30px;
}


/* --------------------------------------------------------------


                      works-detil


-----------------------------------------------------------------*/



#works-detil .inner .flex .contents .contents-main .contents-box .contents-description .contents-sub-title{
  font-size: 20px;
  margin-top: 15px;
}

#works-detil .inner .flex .contents .contents-main .contents-box .channel-description {
  margin-bottom: 50px;
  box-sizing: border-box;
}

#works-detil .inner .flex .contents .contents-main .contents-box .channel-description li{
  padding: 10px;
}

#works-detil .inner .flex .contents .contents-main .contents-box .channel-description .channel-item{
  font-weight: bold;
  background-color: #efefef;
}

#works-detil .inner .flex .contents .contents-footer  {
 display: flex;
 align-items: center;
 justify-content: flex-start;
 width: 100%;
 margin-bottom:100px;
}

#works-detil .inner .flex .contents .contents-footer .back-btn{
 font-size: 16px;
 font-weight: bold;
}

#works-detil .inner .flex .contents .back-btn .arrow {
   display: inline-block;
   padding: 0 50px;
   color: #000;
   text-decoration: none;
   transform: rotate( 180deg );
}

#works-detil .inner .flex .contents .back-btn .arrow::after {
   content: "";
   display: block;
   position: absolute;
   top: 0;
   bottom: 0;
   right: 10%;
   margin: auto;
   width: 80px;
   height: 10px;
   border-bottom: 1px solid #000;
}
#works-detil .inner .flex .contents .back-btn .arrow::before {
   content: "";
   display: block;
   position: absolute;
   top: 0;
   bottom: -28px;
   right: 10%;
   margin: auto;
   width: 20px;
   height: 10px;
   border-top: 1px solid #000;
   -webkit-transform: rotate(-20deg);
   transform: rotate(-20deg);
}

.btn-box {
   width: 40%;
   margin: 0 auto;
}

}



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

  .top-image {
    background-size:100% 21%,100% 21%,100%;

  }

}


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

  /* --------------------------------------------------------------


                      top


-----------------------------------------------------------------*/

.top-image{
  background-image: url("../img/top/yellow_back.png"), url("../img/top/yellow_back.png"),url("../img/top/yellow_b-sp.png");
  background-size:100% 30%,100% 30%,100%;
}

.top-image .top-text-img {
  width: 100%;
  top: 70%;
  left: 0;
}

#top .inner .flex .contents-footer {
  position: relative;
  bottom: 0;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  margin: auto;
}

#top .inner .flex .contents-footer .btns{
}

#top .inner .flex .contents-footer .btns .btn{
}

.ri-grid ul li {
  background: #fff;;
}

.left-box .inner .flex .contents-title-flex_box{
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.left-box .inner .flex .contents-title-flex_box .contents-title-img{
  width: 7%;
  margin-right:15px;
}


.left-box .inner .flex .contents-title-flex_box .contents-description{
  line-height:1.2rem;
}


/* --------------------------------------------------------------


                      works


-----------------------------------------------------------------*/

.left-box {

}

.contents-top {
  height: 20%;
  margin-top: -48px;
}

.left-box .inner{
}

.left-box .inner .flex{
   text-align: left;
   padding:50px 10px;
}

.left-box .inner .flex .contents {
   height: 100%
}

.left-box .inner .flex .works-pickup {
   overflow-y: hidden;
}

.left-box .inner .flex .contents-title{
}

.left-box .inner .flex .contents-description{
   margin: 50px 0;
}

.left-box .inner .flex .category{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;

}

.left-box .inner .flex .category .link{
   margin: 25px 0;
    text-align: center;
    line-height: 1.5rem;
}

.left-box .inner .flex .category .link a{
   font-size: 1.2rem;
   color: #000;
   font-weight: bold;

}

  .right-box .inner {
    padding: 0 0px;
  }

   #works .inner {
    padding:0;
  }

  .right-box .inner .flex {
   margin: 60px 0 100px 0;

  }

  .works-regular-list, .works-special-list, .works-old-list {
    margin-bottom: 100px;
    text-align: left;
  }

  .right-box .inner .flex .contents{

  }

  #works .g-header .inner .flex .gloval-nav .menu .navigation{
    padding: 0 100px;
}

  .right-box .inner .flex .contents .contents-main{
     align-items: baseline;
     justify-content: space-between;
  }

  .right-box .inner .flex .contents .contents-main .contents-box{
    margin: 10px 0 ;
     width: 49%;
     box-sizing: border-box;
  }

  .right-box .inner .flex .works-old-list .contents-main .contents-box{
     display: block;
     width: 100%;
     padding: 0px;
  }

   .right-box .inner .flex .works-old-list .contents-main .contents-box li{
    margin:10px;
  }

  .right-box .inner .flex .works-old-list .contents-main .contents-box .bold{
    font-weight: bold;
    margin-bottom: 5px;
    font-size: 16px;
  }

  .right-box .inner .flex .contents .contents-main .contents-box img{
     width: 100%;
     height: 90%;
  }

  .right-box .inner .flex .contents .contents-main .contents-box .contents-description{
     color: #000;
     padding-top: 10px;
     margin-top: 0;
     padding: 0;
  }

  .right-box .inner .flex .contents .contents-main .contents-box .contents-description .works-category{
    font-size: 0.5rem;
    height: 25px;
    width: 55%;
    line-height: 25px;
  }

  .right-box .inner .flex .contents .contents-main .contents-box .contents-description .contents-sub-title{
    line-height: 1.2rem;
    margin-top: 0px;
    color: #000;
  }

  .right-box .inner .flex .contents .contents-main .contents-box .contents-description .channel{
    font-size: 11px;
    color: #000;
    font-weight: normal;
    margin-bottom:0;
  }


  .right-box .inner .flex .contents .slider {
     max-width: 100%;

  }
  .right-box .inner .flex .contents .contents-main .slider-item {
     margin: 20px 35px;

  }

  .right-box .slider-item {
     display: flex;
     justify-content: space-between;
     margin: 50px;
  }

  .right-box .contents-header {
     /*padding: 0 50px;*/
  }

  .right-box .contents-navi ul{
     display: flex;
     justify-content: center;
     align-items: center;
  }

  .right-box .contents-navi li{
     margin-left: 100px;
  }

  .right-box .contents-navi li a{
     font-size: 16px;
     font-weight: bold;
     color: #000;
     letter-spacing: 2px;
  }

  .right-box .contents-main .right-box .slider-item {
     width: 100%;
  }

  .right-box .contents-item{
     justify-content: space-between;
     text-align:left;
     width: 100%;
     padding: 0 100px;
  }

  .right-box .contents-left, .right-box .contents-right{
     display: block;
     width: 100%;
    margin: 0 auto;
    margin-bottom: 20px;
  }

  .right-box .contents-right img{
     width: 100%;
  }

  .right-box .contents-title{
     font-size: 60px;
     font-weight: bold;
     letter-spacing: 5px;
  }

  .right-box .slider-item .contents-sub-title,.slider-item .channel,.slider-item .contents-number {
     font-family:"Josefin Sans";
     color: #fbe800;
     font-size: 6vw;
     line-height: 1.5rem;
     font-weight: bold;
     width: 100%;
  }

  .right-box .slider-item .contents-image {
    width: 100%;
    text-align:center;
    z-index: -1;
  }

  .right-box .slider-item .contents-image img{
    width: 100%;
    height: auto;
    box-shadow: 5px 5px 20px lightgray;
  }

  .right-box .slider-item .contents-number {
     position:relative;
     right: -59%;
     top: 25%;
  }

  .right-box .slider-item .contents-number p {
     font-size: 5rem;
  }

  .right-box .slider-item .channel{
     font-size: 1.2rem;
     margin-bottom: 20px;
  }

  .right-box .slider-item .contents-description{
     margin-top: 50px;
     line-height: 1.5rem;
     font-size: 14px;
  }

  .contents-main .slide1,
  .contents-main .slide2,
  .contents-main .slide3,
  .contents-main .slide4{
     display: flex;
     justify-content:space-between;
     align-items: flex-start;
     text-align: left;
}


.slick-initialized .slick-slide {

}

.slick-slider .slick-list {
}

.slick-next
{
  right: 30px;
}

.slider {
  width: auto;
  margin: 0 auto;
}

* {
min-height:0;
min-width : 0;
}

.left-box .inner .flex .category .is-active{
  width: auto;
  text-align: center;
  margin: 0;
  display: inline-block;
  border-bottom: solid 2px #000;
}

.left-box .inner .flex .category .is-active:before{
  display: none;
}

/* --------------------------------------------------------------


                      recruit


-----------------------------------------------------------------*/

#recruit .inner .flex .contents .contents-main{

}

#recruit .inner .flex .contents .contents-main .contents-box{
  display:block;
  margin-bottom:20px;
}

#recruit .inner .flex .contents .contents-main .contents-box .contents-left{
  width: 100%;
  padding-right: 0;
}

#recruit .inner .contents .contents-main .contents-box .contents-left .flex .contents-title{
   margin-bottom: 50px;
}

#recruit .inner .flex .contents .contents-main .contents-box .contents-left .contents-sub-title{
   font-weight: bold;
   font-size: 20px;
   color: #000;
   position:relative;
   top: 10px;
   text-align: left;
}

#recruit .inner .flex .contents .contents-main .contents-box .contents-left .recruit-number {
  position: unset;
  margin-top: -20px;
}

 #recruit .inner .flex .contents .contents-main .contents-box .contents-left .recruit-number p{
  font-size: 6rem;
  color: #fbe800;
}

#recruit .inner .flex .contents .contents-main .contents-box .contents-image {
   width: 100%;
   margin-bottom: 20px;
}

#recruit .inner .flex .contents .contents-main .contents-box .contents-image img{
   width: 100%;
}

#recruit .inner .flex .contents .contents-main .contents-box .recruit-text{
  line-height: 1.5rem;
}

/* --------------------------------------------------------------


                      company


-----------------------------------------------------------------*/

#company .inner .flex .contents .contents-main{

}

#company .inner .flex .contents .contents-main{
  display:block;
  width: 100%;
  margin-bottom: 100px;
}

#company .inner .flex .contents .contents-main .contents-box{
  width: 100%;
  display: block;
  margin: 0 auto;
}

#company .inner .flex .companyinfo .contents-main .contents-box{
  display: flex;
  width: 100%;
}

#company .inner .flex .contents .contents-main h2{
  font-weight: bold;
  font-size: 20px;
  color: #000;
  position: relative;
  display: inline-block;
  padding: 0 55px;
  margin-bottom:20px;
}

#company .inner .flex .contents .contents-main  h2:before{
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 40px;
  height: 2px;
  background-color: black;
  left:0;
}

#company .inner .flex .contents .contents-main .contents-box .companyinfo-box{
  width: 100%;
}

#company .inner .flex .contents .contents-main .contents-box .companyinfo-box li{
  margin-bottom: 20px;
}

#company .inner .flex .contents .contents-main .contents-box .companyinfo-box .bold{
  font-weight: bold;
  margin-bottom: 5px;
  font-size: 16px;
}

#company .inner .flex .contents .contents-main .contents-box .contents-map{
  margin-top: 20px;
}

#company .inner .flex .contents .contents-main .contents-box .contents-title{
   margin-bottom: 50px;
}

#company .inner .flex .contents .contents-image {
  margin-bottom: 20px;

}

/* --------------------------------------------------------------


                      contact


-----------------------------------------------------------------*/
#contact .inner .flex .contents .contents-main .contents-box {
  width: 100%;
  background-color: #eeeeee;
  padding: 50px 20px;
  text-align:left;
  margin:0;
}

#contact .inner .flex .contents .contents-main .contents-box .form_area {
   width: 100%;
}

#contact .inner .flex .contents .contents-main .contents-box .form_area .item {
   display:block;
   margin:20px 0;
}

#contact .inner .flex .contents .contents-main .contents-box .form_area .item .form-text{
   box-sizing:border-box;
   width: 100%;
   height: 200px;
}

#contact .inner .flex .contents .contents-main .contents-box .form_area .item .form-text-middle{
   box-sizing:border-box;
   width: 100%;
   height: 30px;
}

#contact .inner .flex .contents .contents-main .contents-box .form_area .item .form-text-small{
   box-sizing:border-box;
   width: 100%;
   height: 30px;
}


/* --------------------------------------------------------------


                      works-detil


-----------------------------------------------------------------*/

#works-detil .inner .flex .contents .contents-main .contents-box .contents-description .contents-sub-title{
  font-size: 0.9rem;
  margin-top: 0;
  line-height: 1.5rem;
}

#works-detil .inner .flex .contents .contents-main .contents-box .channel-description {
  margin-bottom: 50px;
  box-sizing: border-box;
}

#works-detil .inner .flex .contents .contents-main .contents-box .channel-description li{
  padding: 10px;
}

#works-detil .inner .flex .contents .contents-main .contents-box .channel-description .channel-item{
  font-weight: bold;
  background-color: #efefef;
}

#works-detil .inner .flex .contents .contents-footer  {
 display: flex;
 align-items: center;
 justify-content: flex-start;
 width: 100%;
 margin-bottom:100px;
}

#works-detil .inner .flex .contents .contents-footer .back-btn{
 font-size: 16px;
 font-weight: bold;
}

#works-detil .inner .flex .contents .back-btn .arrow {
   display: inline-block;
   padding: 0 50px;
   color: #000;
   text-decoration: none;
   transform: rotate( 180deg );
}

#works-detil .inner .flex .contents .back-btn .arrow::after {
   content: "";
   display: block;
   position: absolute;
   top: 0;
   bottom: 0;
   right: 10%;
   margin: auto;
   width: 80px;
   height: 10px;
   border-bottom: 1px solid #000;
}
#works-detil .inner .flex .contents .back-btn .arrow::before {
   content: "";
   display: block;
   position: absolute;
   top: 0;
   bottom: -28px;
   right: 10%;
   margin: auto;
   width: 20px;
   height: 10px;
   border-top: 1px solid #000;
   -webkit-transform: rotate(-20deg);
   transform: rotate(-20deg);
}

.btn-box {
   width: 90%;
   margin: 0 auto;
}

.read-text {
  font-weight: bold;
  font-size: 1.2rem;
  padding-left: 15px;
  margin-bottom: 20px;
}

}

#wpcf7-f110-o1 img{width:30% !important;}
.wpcf7-captchar{height:30px; width:100px; margin-bottom:15px;}

.pnf{
	width:50%;
	margin:200px auto;
}

.size_big{
	font-size:350%;
	font-weight: bold;
	color:#fff100;
	line-height:130%;
}

.size_read{
	font-weight: bold;
	color:#000000;
	padding:50px 0px;
	font-size:80%;
}



