@charset "UTF-8";
.l-product01{
  padding:100px 0;
}
.l-product01.gray{
  background:#f9f9f9;
}
.l-product01-inner{
  max-width:1170px;
  width:100%;
  margin:0 auto;
  padding:0 10px;
}
.l-product01 h2{
  text-align: left;
  position:relative;
  padding-left:35px;
  padding-bottom:100px;
  
  font-size:4.1rem;
  font-weight:700;
  line-height:1;
  letter-spacing: 0.15em;
}
.l-product01 h2::before {
  -webkit-transform: translateY(-50%);
  background: -webkit-gradient(linear, left top, left bottom, from(#006AB8), to(#29aae1));
  background: -webkit-linear-gradient(top, #006AB8, #29aae1);
  background: linear-gradient(to bottom, #006AB8, #29aae1);
  content: "";
  height: 70px;
  left: 0;
  position: absolute;
  top: 25px;
  transform: translateY(-50%);
  width: 4px;
}
.l-product01 h3{
  padding:0 0 20px;
  border-bottom:4px solid #e5e5e5;
  text-align: left;
  
  font-size:3.1rem;
  font-weight:700;
  line-height:1;
  letter-spacing: 0.15em;
}
.l-product01 h4{
  padding:45px 0 0;
  text-align: left;
  color:#006ab8;
  
  font-size:2.5rem;
  font-weight:700;
  line-height:1;
  letter-spacing: 0.15em;  
}
.l-product01 h2 + h4{
  padding:0 0 0;
}
.l-product01 h4.-jirei{
  padding:90px 0 0;
}
.l-product01-table{
  width:100%;
  font-size:0;
  text-align: left;
}
.l-product01-block{
  width:33.3%;
  display:inline-block;
  vertical-align: top;
  padding-top:30px;
}
.l-product01-block:nth-of-type(3n+1){
  padding-right:16px;
}
.l-product01-block:nth-of-type(3n+2){
  padding-left:8px;
  padding-right:8px;
}
.l-product01-block:nth-of-type(3n){
  padding-left:16px;
}
.l-product01-block a{
  display:block;
}
.l-product01-block .-image{
  width:100%;
  line-height:0;
}
.l-product01-block .-image img{
  max-width:370px;
  width:100%;
  /*max-height:275px;*/
}
.l-product01-block .-ttl{
  margin-top:20px;
  padding-left: 20px;
  text-align: left;
  background: url("../images/common/icon-arrow04_pc.png") left top 4px no-repeat transparent;
  background-size:12px auto;
  
  font-size:1.6rem;
  font-weight:400;
  line-height:1.5;
  letter-spacing: 0.1em;  
}
.l-product01-message{
  padding-top:25px;
  text-align: left;
  
  font-size:1.6rem;
  font-weight:400;
  line-height:1.87;
  letter-spacing: 0.1em;
}
.l-product01-btn{
  padding-top:70px;
  text-align: center;
}
.l-product01-btn a{
  display:inline-block;
  width:520px;
  padding:25px 15px;
  background: #29aae1;
}
.l-product01-btn a span{
  display: block;
  background: url(../images/common/icon-arrow02_pc.png) right center no-repeat transparent;
  background-size: 8px auto;
  text-align: center;
  color: #FFFFFF;
  font-size: 2.7rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.15em;
}

@media all and (max-width: 767px) {
  .l-product01{
    padding:8vw 0;
  }
  .l-product01.gray{
    background:#f9f9f9;
  }
  .l-product01-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
    padding:0 4vw;
  }
  .l-product01 h2{
    text-align: left;
    position:relative;
    padding-left:4.66vw;
    padding-bottom:8vw;

    font-size:5.33vw;
    font-weight:700;
    line-height:1;
    letter-spacing: 0.15em;
  }
  .l-product01 h2::before {
    -webkit-transform: translateY(-50%);
    background: -webkit-gradient(linear, left top, left bottom, from(#006AB8), to(#29aae1));
    background: -webkit-linear-gradient(top, #006AB8, #29aae1);
    background: linear-gradient(to bottom, #006AB8, #29aae1);
    content: "";
    height: 11vw;
    left: 0;
    position: absolute;
    top: 3.06vw;
    transform: translateY(-50%);
    width: 4px;
  }
  .l-product01 h3{
    padding:0 0 2.13vw;
    border-bottom:4px solid #e5e5e5;
    text-align: left;

    font-size:4.8vw;
    font-weight:700;
    line-height:1;
    letter-spacing: 0.15em;
  }
  .l-product01 h4{
    padding:6vw 0 0;
    text-align: left;
    color:#006ab8;

    font-size:4.26vw;
    font-weight:700;
    line-height:1;
    letter-spacing: 0.15em;  
  }
  .l-product01 h2 + h4{
    padding:0 0 0;
  }
  .l-product01 h4.-jirei{
    padding:12vw 0 0;
  }
  .l-product01-table{
    width:100%;
    font-size:0;
    text-align: left;
  }
  .l-product01-block{
    width:50%;
    display:inline-block;
    vertical-align: top;
    padding-top:4vw;
  }
  .l-product01-block:nth-of-type(3n+1){
    padding-right:0;
  }
  .l-product01-block:nth-of-type(3n+2){
    padding-left:0;
    padding-right:0;
  }
  .l-product01-block:nth-of-type(3n){
    padding-left:0;
  }
  .l-product01-block:nth-of-type(2n+1){
    padding-right:2vw;
  }
  .l-product01-block:nth-of-type(2n){
    padding-left:2vw;
  }
  .l-product01-block a{
    display:block;
  }
  .l-product01-block .-image{
    width:100%;
    line-height:0;
  }
  .l-product01-block .-image img{
    max-width:100vw;
    width:100%;
    /*max-height:33.06vw;*/
  }
  .l-product01-block .-ttl{
    margin-top:2.66vw;
    background: url(../images/common/icon-arrow04_pc.png) left top 1.06vw no-repeat;
    background-size: 2vw auto;
    padding-left: 4vw;

    font-size:3.73vw;
    font-weight:400;
    line-height:1.5;
    letter-spacing: 0.1em;  
  }
  .l-product01-message{
    padding-top:3.33vw;
    text-align: left;

    font-size:3.73vw;
    font-weight:400;
    line-height:1.87;
    letter-spacing: 0.1em;
  }
  .l-product01-btn{
    padding-top:9.33vw;
    text-align: center;
  }
  .l-product01-btn a{
    display:inline-block;
    width:80vw;
    padding:4.66vw 2vw;
    background: #29aae1;
  }
  .l-product01-btn a span{
    display: block;
    background: url(../images/common/icon-arrow02_sp.png) right center no-repeat transparent;
    background-size: 2.13vw auto;
    text-align: center;
    color: #FFFFFF;
    font-size: 4.26vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.15em;
  }
}









