@import url("https://fonts.googleapis.com/css?family=Open+Sans");
/*color*/
/*other*/




  #sec01{
    position: relative;
  }
  #sec01 h2{
    margin: 80px 0 40px 0;
    text-align: center;
  }
  #sec01 h2 img{
    max-width:448px;
  }
  #sec01 h2 span{
    display: block;
    padding: 5px 0 0 0;
  }
  #sec01 figure{
    text-align: center;
    position: relative;
  }
  #sec01 figure .item{
    padding: 0 0 0 70px;
  }
  #sec01 figure .item_bg{
    position: absolute;
    z-index: -1;
    left: 50%;
    transform: translateX(-54%);
    top: 0;
  }
  #sec01 .back{
  bottom: 0%;
  }
  #sec01 .text{
    max-width: 500px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    top:-50px;
  }
  #sec01 .text h3{
    font-size: 2.0rem;
    padding: 0 0 10px 0;
  }
  #sec01 .btn a{
    padding: 4px 50px;
  }

  @media screen and (max-width: 767px) {
    #sec01 h2 img{
      width: 80%;
    }
    #sec01 figure {
      padding: 0 4%;
    }
    #sec01 figure .item{
      width: 100%;
      padding: 0;
    }
    #sec01 figure .item_bg{
      display: none;
    }
    #sec01 h2 {
      margin: 10% 0 4% 0;
    }
    #sec01 .text h3 {
      font-size: 1.6rem;
    }
    #sec01 .btn a {
      padding: 2% 14%;
    }
    #sec01 .back {
      bottom: 10%;
    }
  }










  #sec02{
    position: relative;
    margin: 70px 0 0 0;
  }
  #sec02 h2{
    font-size: 2.2rem;
    text-align: center;
    padding: 0 0 30px 0;
  }
  #sec02 .flex figure{
    padding: 0 50px 0 0;
  }
  #sec02 .flex figure img{
    width: 100%;
  }
  #sec02 .flex p{
    margin: 20px 0 0 0;
    white-space: nowrap;
  }
  #sec02 .box{
    width: 100%;
    max-width: 980px;
    height: 1190px;
    position: relative;
  }
  #sec02 .box figure{
    position: absolute;
    padding: 30px 0 0 0;
  }
  #sec02 .box figure:nth-of-type(1){
    left: 50px;
  }
  #sec02 .box figure:nth-of-type(2){
    right: 0;
    top:80px
  }
  #sec02 .box figure:nth-of-type(3){
    bottom: 330px;
  }#sec02 .box figure:nth-of-type(4){
    bottom: 0;
    right: -50px;
  }
  @media screen and (max-width: 970px) {
    #sec02 .box figure img{width: 80%;}
  }
  @media screen and (max-width: 865px) {
    #sec02 .box figure img{width: 75%;}
    #sec02 .box figure:nth-of-type(2) {top: 250px;}
  }

  
  @media screen and (max-width: 767px) {
    #sec02{
      margin: 0;
    }
    #sec02 h2{
      font-size: 1.6rem;
      text-align: left;
      padding: 0;
    }
    #sec02 .flex {
      display: block;
    }
    #sec02 .flex figure{
      padding: 0 0 0 0;
    }
    #sec02 .flex figure img{
      width: 120%;
      position: relative;
      left: -25%;
    }
    #sec02 .flex .text{
      padding: 0 10% 0 10%;
    }
    #sec02 .flex p{
      margin: 2% 0 0 0;
    }
    #sec02 .box{
      width: 100%;
      max-width: 980px;
      height: auto;
      position: relative;
      padding: 4% 8% 0 8%;
      margin-bottom: -40%;
    }
    #sec02 .box figure{
      position: relative;
      padding: 0;
    }
    #sec02 .box figure img{
      width: 100%;
    }
    #sec02 .box figure:nth-of-type(1){
      left: 0px;
    }
    #sec02 .box figure:nth-of-type(2){
      top:-40px
    }
    #sec02 .box figure:nth-of-type(3){
      bottom: 0px;
      top:-50px
    }
    #sec02 .box figure:nth-of-type(4){
      bottom: 0;
      right: 0px;
      top:-130px
    }
  }












  #sec03{
    background: #eaf8f1;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
    max-width: 980px;
    margin:0 auto;
    position: relative;
    border-radius: 4px;
  }
  #sec03 .inner{
    position: relative;
    z-index: 2;
  }
  #sec03 .box01{
    margin: 60px 90px 0 90px;
    padding: 60px 0 20px 0;
  }
  #sec03 .box01 h4{
    color: #358b5b;
    font-size: 1.8rem;
    text-align: center;
    padding: 0 0 40px 0;
  }
  #sec03 .box01 .flex{
    justify-content: space-between;
  }
  #sec03 .box01 .text{
    max-width: 490px;
    padding: 0 20px 0 0;
  }
  #sec03 .box01 .text span{
    font-size: 1.2rem;
  }
  #sec03 .box02 {
    border-top:1px solid #358b5b;
    margin: 0 90px 0 90px;
    padding: 40px 0 60px 0;
  }
  #sec03 .box02 ul{
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    margin: 20px 0 40px 0;
  }
  #sec03 .box02 h4{
    color: #358b5b;
    font-size: 1.8rem;
    text-align: center;
    padding: 0 0 20px 0;
  }
  #sec03 .box02 li{
    width: 30%;
    text-align: center;
  }
  #sec03 .box02 h5{
    background: #c8eddb;
    display: block;
    border-radius: 50px;
    text-align: center;
    margin: 0 0 20px 0;
  }
  #sec03 .box02 li p{
    font-size: 1.5rem;
    letter-spacing: 0;
    margin: 0 0 20px 0;
  }
  #sec03 .box02 li:nth-child(3) p{
    line-height: 54px;
  }
  #sec03 .box02 p.note{
    font-size: 1.3rem;
  }
  #sec03 .back{
    position: absolute;
    bottom: 0;
    z-index: 1;
  }
  #sec03 .back img{
    width: 100%;
    position: relative;
    bottom: -10px;
  }

  @media screen and (max-width: 767px) {
    #sec03 {
      margin: 10% 6% 0 6%;
    }
  #sec03 .box01 {
    width: 100%;
    padding: 6% 8% 4% 8%;
    margin: 0;
  }
  #sec03 .box01 .flex{
    display: block;
  }
  #sec03 .box01 h4 {
    font-size: 1.6rem;
    padding: 0 0 4% 0;
  }
  #sec03 .box01 .text {
    width: 100%;
    padding: 0;
  }
  #sec03 .box01 .text p {
   padding: 0; 
  }
  #sec03 .box01 figure {
    width: 85%;
    margin: 0 auto;
    text-align: center;
    max-width: initial;
    padding: 4% 0% 4% 0%;
  }
  #sec03 .box01 figure img{
    width: 100%;
  }
  #sec03 .box01 span.sp_only{
    font-size: 1.0rem;
    display: block;
    line-height: 1.2;
    margin: 2% 0;
  }
  #sec03 .box02 {
    padding: 6% 0 4% 0;
    margin: 0 8%;
  }
  #sec03 .box02 h4 {
    font-size: 1.6rem;
    padding: 0 0 4% 0;
  }
  #sec03 .box02 ul{
    display: block;
    margin: 20px 0 40px 0;
  }
  #sec03 .box02 li{
    width: 100%;
    margin: 0 0 10% 0;
  }
  #sec03 .box02 p.note{
    font-size: 1.2rem;
    text-indent: -15px;
    padding-left: 15px;
    text-align: justify;
  }
}










